From ebabb1830308d78d17967933b73008a3f743095c Mon Sep 17 00:00:00 2001 From: Eric Martinez Date: Sat, 1 Aug 2026 14:35:24 -0500 Subject: [PATCH] Complete Wave 2 handshake and Windows CI fixes --- packages/projects-db/src/migrate.test.ts | 168 +- .../projects-db/src/resident-repo.test.ts | 23 +- .../canonical/gui-v1.schema.json | 2313 ++++- .../omniagents-gui-v1/canonical/manifest.json | 2 +- .../canonical/omniagents-gui-v1.json | 9127 +++++++++++++++-- src/generated/omniagents-gui-v1/gui-v1.ts | 558 +- .../omniagents-gui-v1/provenance.json | 12 +- src/renderer/omniagents-ui/rpc/client.test.ts | 171 +- src/renderer/omniagents-ui/rpc/client.ts | 170 +- src/shared/machines/rpc-client.machine.ts | 4 + 10 files changed, 11185 insertions(+), 1363 deletions(-) diff --git a/packages/projects-db/src/migrate.test.ts b/packages/projects-db/src/migrate.test.ts index efdc73a8..b5fac913 100644 --- a/packages/projects-db/src/migrate.test.ts +++ b/packages/projects-db/src/migrate.test.ts @@ -4,32 +4,15 @@ * page_content rows to the implicit cascade-delete that DROP TABLE performs * when foreign keys are enabled. */ -import { mkdtempSync, rmSync } from 'node:fs'; -import { tmpdir } from 'node:os'; -import { join } from 'node:path'; import { DatabaseSync } from 'node:sqlite'; -import { afterEach, beforeEach, describe, expect, it } from 'vitest'; +import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it } from 'vitest'; import { runMigrations } from './migrate.js'; import { migrations } from './schema.js'; -let tmpDir: string; -let db: DatabaseSync; - -beforeEach(() => { - tmpDir = mkdtempSync(join(tmpdir(), 'projects-db-migrate-test-')); - db = new DatabaseSync(join(tmpDir, 'test.db')); - db.exec('PRAGMA foreign_keys = ON'); -}); - -afterEach(() => { - db.close(); - rmSync(tmpDir, { recursive: true, force: true }); -}); - /** Apply every migration strictly below `version`, simulating an older DB. */ -const migrateTo = (version: number): void => { +const migrateTo = (db: DatabaseSync, version: number): void => { db.exec( `CREATE TABLE IF NOT EXISTS _migrations (version INTEGER PRIMARY KEY, applied_at TEXT NOT NULL DEFAULT (datetime('now')))` ); @@ -41,9 +24,41 @@ const migrateTo = (version: number): void => { } }; +/** + * Build one migrated database per migration scenario, then isolate each + * assertion with a savepoint. Replaying the full migration history for every + * test is particularly expensive on Windows runners and is not part of the + * behavior these assertions exercise. + */ +const useMigrationFixture = (version: number, seed: (db: DatabaseSync) => void): (() => DatabaseSync) => { + let db: DatabaseSync | undefined; + + beforeAll(() => { + db = new DatabaseSync(':memory:'); + db.exec('PRAGMA foreign_keys = ON'); + migrateTo(db, version); + seed(db); + runMigrations(db); + }); + + beforeEach(() => { + db!.exec('SAVEPOINT test_case'); + }); + + afterEach(() => { + db!.exec('ROLLBACK TO test_case'); + db!.exec('RELEASE test_case'); + }); + + afterAll(() => { + db!.close(); + }); + + return () => db!; +}; + describe('v10 pages rebuild', () => { - it('preserves page_content rows across the rebuild', () => { - migrateTo(10); + const getDb = useMigrationFixture(10, (db) => { db.prepare("INSERT INTO projects (id, label, slug) VALUES ('proj_1', 'P', 'p')").run(); db.prepare( "INSERT INTO pages (id, project_id, parent_id, title, kind) VALUES ('pg_1', 'proj_1', NULL, 'Root', 'doc')" @@ -53,8 +68,10 @@ describe('v10 pages rebuild', () => { ).run(); db.prepare("INSERT INTO page_content (page_id, body) VALUES ('pg_1', '# hello')").run(); db.prepare("INSERT INTO page_content (page_id, body) VALUES ('pg_2', '# child')").run(); + }); - runMigrations(db); // applies v10 + it('preserves page_content rows across the rebuild', () => { + const db = getDb(); const content = db.prepare('SELECT page_id, body FROM page_content ORDER BY page_id').all(); expect(content).toEqual([ @@ -70,10 +87,9 @@ describe('v10 pages rebuild', () => { }); it('keeps the kind CHECK: notebook allowed, unknown kinds rejected', () => { + const db = getDb(); // 'drawing' was a planned kind that never shipped — PageKind is // 'doc' | 'notebook' and the schema CHECK must match it. - runMigrations(db); - db.prepare("INSERT INTO projects (id, label, slug) VALUES ('proj_1', 'P', 'p')").run(); expect(() => db.prepare("INSERT INTO pages (id, project_id, title, kind) VALUES ('pg_n', 'proj_1', 'NB', 'notebook')").run() ).not.toThrow(); @@ -83,28 +99,25 @@ describe('v10 pages rebuild', () => { }); it('cascade-deletes page_content when its page is removed (FK intact)', () => { - runMigrations(db); - db.prepare("INSERT INTO projects (id, label, slug) VALUES ('proj_1', 'P', 'p')").run(); - db.prepare("INSERT INTO pages (id, project_id, title, kind) VALUES ('pg_1', 'proj_1', 'Root', 'doc')").run(); - db.prepare("INSERT INTO page_content (page_id, body) VALUES ('pg_1', 'x')").run(); - db.prepare("DELETE FROM pages WHERE id = 'pg_1'").run(); - const count = db.prepare('SELECT COUNT(*) AS n FROM page_content').get() as { n: number }; + const db = getDb(); + db.prepare( + "INSERT INTO pages (id, project_id, title, kind) VALUES ('pg_cascade', 'proj_1', 'Cascade', 'doc')" + ).run(); + db.prepare("INSERT INTO page_content (page_id, body) VALUES ('pg_cascade', 'x')").run(); + db.prepare("DELETE FROM pages WHERE id = 'pg_cascade'").run(); + const count = db.prepare("SELECT COUNT(*) AS n FROM page_content WHERE page_id = 'pg_cascade'").get() as { + n: number; + }; expect(count.n).toBe(0); }); }); describe('v12 shaping removal', () => { - /** Seed a pre-v12 DB with one project/column and return helpers. */ - const seedPreV12 = (): void => { - migrateTo(12); + const getDb = useMigrationFixture(12, (db) => { db.prepare("INSERT INTO projects (id, label, slug) VALUES ('proj_1', 'P', 'p')").run(); db.prepare( "INSERT INTO pipeline_columns (id, project_id, label, sort_order) VALUES ('col_1', 'proj_1', 'Backlog', 0)" ).run(); - }; - - it('folds ticket shaping into the description and drops the column', () => { - seedPreV12(); db.prepare( `INSERT INTO tickets (id, project_id, column_id, title, description, shaping) VALUES ('tkt_1', 'proj_1', 'col_1', 'T', 'Existing body.', @@ -114,8 +127,16 @@ describe('v12 shaping removal', () => { `INSERT INTO tickets (id, project_id, column_id, title, description, shaping) VALUES ('tkt_2', 'proj_1', 'col_1', 'T2', '', '{"doneLooksLike":" ","appetite":"small","outOfScope":""}')` ).run(); + db.prepare( + `INSERT INTO inbox_items (id, title, note, status, shaping, created_at) + VALUES ('inb_1', 'I', NULL, 'shaped', + '{"outcome":"Demo booked","appetite":"small","notDoing":"No counter-offer"}', + '2020-01-01 00:00:00.000')` + ).run(); + }); - runMigrations(db); // applies v12 + it('folds ticket shaping into the description and drops the column', () => { + const db = getDb(); const t1 = db.prepare("SELECT description FROM tickets WHERE id = 'tkt_1'").get() as { description: string }; expect(t1.description).toBe('Existing body.\n\n**Done when:** redirect works\n\n**Out of scope:** password reset'); @@ -128,15 +149,7 @@ describe('v12 shaping removal', () => { }); it("folds inbox shaping into the note and collapses 'shaped' to 'new' with a fresh createdAt", () => { - seedPreV12(); - db.prepare( - `INSERT INTO inbox_items (id, title, note, status, shaping, created_at) - VALUES ('inb_1', 'I', NULL, 'shaped', - '{"outcome":"Demo booked","appetite":"small","notDoing":"No counter-offer"}', - '2020-01-01 00:00:00.000')` - ).run(); - - runMigrations(db); + const db = getDb(); const row = db.prepare("SELECT note, status, created_at FROM inbox_items WHERE id = 'inb_1'").get() as { note: string; @@ -153,13 +166,14 @@ describe('v12 shaping removal', () => { }); describe('v13 source cutover', () => { - it('moves workspace_dir into sources and drops workspace_dir', () => { - migrateTo(13); + const getDb = useMigrationFixture(13, (db) => { db.prepare( "INSERT INTO projects (id, label, slug, workspace_dir) VALUES ('proj_1', 'P', 'p', '/tmp/project')" ).run(); + }); - runMigrations(db); + it('moves workspace_dir into sources and drops workspace_dir', () => { + const db = getDb(); const row = db.prepare("SELECT sources FROM projects WHERE id = 'proj_1'").get() as { sources: string }; expect(JSON.parse(row.sources)).toEqual([ @@ -171,11 +185,12 @@ describe('v13 source cutover', () => { }); describe('v14 inbox status tightening', () => { - it('removes shaped from the inbox status check', () => { - migrateTo(14); + const getDb = useMigrationFixture(14, (db) => { db.prepare("INSERT INTO inbox_items (id, title, status) VALUES ('inb_1', 'I', 'shaped')").run(); + }); - runMigrations(db); + it('removes shaped from the inbox status check', () => { + const db = getDb(); const row = db.prepare("SELECT status FROM inbox_items WHERE id = 'inb_1'").get() as { status: string }; expect(row.status).toBe('new'); @@ -186,7 +201,7 @@ describe('v14 inbox status tightening', () => { }); describe('v15 pipeline column categories', () => { - const insertColumn = (id: string, projectId: string, label: string, sortOrder: number): void => { + const insertColumn = (db: DatabaseSync, id: string, projectId: string, label: string, sortOrder: number): void => { db.prepare('INSERT INTO pipeline_columns (id, project_id, label, sort_order) VALUES (?, ?, ?, ?)').run( id, projectId, @@ -195,50 +210,41 @@ describe('v15 pipeline column categories', () => { ); }; - const categoriesOf = (projectId: string): string[] => + const categoriesOf = (db: DatabaseSync, projectId: string): string[] => ( db .prepare('SELECT category FROM pipeline_columns WHERE project_id = ? ORDER BY sort_order') .all(projectId) as Array<{ category: string }> ).map((r) => r.category); - it('backfills first → todo, last → done, middle → doing', () => { - migrateTo(15); + const getDb = useMigrationFixture(15, (db) => { db.prepare("INSERT INTO projects (id, label, slug) VALUES ('proj_1', 'P', 'p')").run(); - insertColumn('proj_1__backlog', 'proj_1', 'Backlog', 0); - insertColumn('proj_1__spec', 'proj_1', 'Spec', 1); - insertColumn('proj_1__impl', 'proj_1', 'Implementation', 2); - insertColumn('proj_1__review', 'proj_1', 'Review', 3); - insertColumn('proj_1__done', 'proj_1', 'Completed', 4); - - runMigrations(db); + insertColumn(db, 'proj_1__backlog', 'proj_1', 'Backlog', 0); + insertColumn(db, 'proj_1__spec', 'proj_1', 'Spec', 1); + insertColumn(db, 'proj_1__impl', 'proj_1', 'Implementation', 2); + insertColumn(db, 'proj_1__review', 'proj_1', 'Review', 3); + insertColumn(db, 'proj_1__done', 'proj_1', 'Completed', 4); + db.prepare("INSERT INTO projects (id, label, slug) VALUES ('proj_2', 'P2', 'p2')").run(); + insertColumn(db, 'proj_2__a', 'proj_2', 'A', 0); + insertColumn(db, 'proj_2__b', 'proj_2', 'B', 1); + db.prepare("INSERT INTO projects (id, label, slug) VALUES ('proj_3', 'P3', 'p3')").run(); + insertColumn(db, 'proj_3__only', 'proj_3', 'Only', 0); + }); - expect(categoriesOf('proj_1')).toEqual(['todo', 'doing', 'doing', 'doing', 'done']); + it('backfills first → todo, last → done, middle → doing', () => { + expect(categoriesOf(getDb(), 'proj_1')).toEqual(['todo', 'doing', 'doing', 'doing', 'done']); }); it('backfills a two-column pipeline as todo → done', () => { - migrateTo(15); - db.prepare("INSERT INTO projects (id, label, slug) VALUES ('proj_2', 'P2', 'p2')").run(); - insertColumn('proj_2__a', 'proj_2', 'A', 0); - insertColumn('proj_2__b', 'proj_2', 'B', 1); - - runMigrations(db); - - expect(categoriesOf('proj_2')).toEqual(['todo', 'done']); + expect(categoriesOf(getDb(), 'proj_2')).toEqual(['todo', 'done']); }); it('backfills a single-column pipeline as done (last wins)', () => { - migrateTo(15); - db.prepare("INSERT INTO projects (id, label, slug) VALUES ('proj_3', 'P3', 'p3')").run(); - insertColumn('proj_3__only', 'proj_3', 'Only', 0); - - runMigrations(db); - - expect(categoriesOf('proj_3')).toEqual(['done']); + expect(categoriesOf(getDb(), 'proj_3')).toEqual(['done']); }); it('rejects invalid categories after the migration', () => { - runMigrations(db); + const db = getDb(); db.prepare("INSERT INTO projects (id, label, slug) VALUES ('proj_4', 'P4', 'p4')").run(); expect(() => db diff --git a/packages/projects-db/src/resident-repo.test.ts b/packages/projects-db/src/resident-repo.test.ts index 7533092d..98ccc177 100644 --- a/packages/projects-db/src/resident-repo.test.ts +++ b/packages/projects-db/src/resident-repo.test.ts @@ -3,18 +3,14 @@ * messages/alarms round-trips, the delete cascades, and the log bound * (docs/residents-in-projects-db-plan.md). */ -import { mkdtempSync, rmSync } from 'node:fs'; -import { tmpdir } from 'node:os'; -import { join } from 'node:path'; import { DatabaseSync } from 'node:sqlite'; -import { afterEach, beforeEach, describe, expect, it } from 'vitest'; +import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it } from 'vitest'; import { runMigrations } from './migrate.js'; import { ProjectsRepo } from './repo.js'; import type { ResidentMessageRow, ResidentRow } from './types.js'; -let tmpDir: string; let db: DatabaseSync; let repo: ProjectsRepo; @@ -43,17 +39,26 @@ const messageRow = (id: number, overrides: Partial = {}): Re ...overrides, }); -beforeEach(() => { - tmpDir = mkdtempSync(join(tmpdir(), 'projects-db-resident-test-')); - db = new DatabaseSync(join(tmpDir, 'test.db')); +beforeAll(() => { + db = new DatabaseSync(':memory:'); db.exec('PRAGMA foreign_keys = ON'); runMigrations(db); repo = new ProjectsRepo(db); }); afterEach(() => { + db.exec(` + DELETE FROM resident_messages; + DELETE FROM resident_channels; + DELETE FROM resident_memories; + DELETE FROM resident_alarms; + DELETE FROM resident_agents; + DELETE FROM team_handbook; + `); +}); + +afterAll(() => { db.close(); - rmSync(tmpDir, { recursive: true, force: true }); }); describe('resident roster', () => { diff --git a/src/generated/omniagents-gui-v1/canonical/gui-v1.schema.json b/src/generated/omniagents-gui-v1/canonical/gui-v1.schema.json index 1eda5334..e8fe9b0a 100644 --- a/src/generated/omniagents-gui-v1/canonical/gui-v1.schema.json +++ b/src/generated/omniagents-gui-v1/canonical/gui-v1.schema.json @@ -1,5 +1,138 @@ { "$defs": { + "account_changed": { + "additionalProperties": false, + "properties": { + "account": { + "type": "object" + }, + "provider": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "seq": { + "type": "integer" + }, + "stream_id": { + "type": "string" + } + }, + "required": [ + "provider", + "reason" + ], + "type": "object", + "x-omni-stability": "stable" + }, + "account_login_cancel": { + "additionalProperties": false, + "properties": { + "login_id": { + "type": "string" + } + }, + "required": [ + "login_id" + ], + "type": "object", + "x-omni-stability": "stable" + }, + "account_login_complete": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "login_id": { + "type": "string" + } + }, + "required": [ + "login_id" + ], + "type": "object", + "x-omni-stability": "stable" + }, + "account_login_start": { + "additionalProperties": false, + "properties": { + "api_key": { + "type": "string" + }, + "mode": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "redirect_uri": { + "type": "string" + } + }, + "required": [ + "provider", + "mode" + ], + "type": "object", + "x-omni-stability": "stable" + }, + "account_logout": { + "additionalProperties": false, + "properties": { + "provider": { + "type": "string" + } + }, + "required": [ + "provider" + ], + "type": "object", + "x-omni-stability": "stable" + }, + "account_refresh": { + "additionalProperties": false, + "properties": { + "provider": { + "type": "string" + } + }, + "required": [ + "provider" + ], + "type": "object", + "x-omni-stability": "stable" + }, + "account_select": { + "additionalProperties": false, + "properties": { + "provider": { + "type": "string" + } + }, + "required": [ + "provider" + ], + "type": "object", + "x-omni-stability": "stable" + }, + "account_status": { + "additionalProperties": false, + "properties": {}, + "type": "object", + "x-omni-stability": "stable" + }, + "account_usage": { + "additionalProperties": false, + "properties": { + "provider": { + "type": "string" + } + }, + "type": "object", + "x-omni-stability": "stable" + }, "ack_events": { "additionalProperties": false, "properties": { @@ -207,6 +340,9 @@ "delete_session": { "additionalProperties": false, "properties": { + "cascade": { + "type": "boolean" + }, "session_id": { "type": "string" } @@ -243,6 +379,131 @@ "type": "object", "x-omni-stability": "experimental" }, + "elicitation_requested": { + "additionalProperties": false, + "properties": { + "elicitation_id": { + "type": "string" + }, + "expires_at": { + "type": "string" + }, + "input_schema": { + "type": "object" + }, + "item_id": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "message": { + "type": "string" + }, + "options": { + "items": {}, + "type": "array" + }, + "persist_response": { + "type": "boolean" + }, + "run_id": { + "type": "string" + }, + "seq": { + "type": "integer" + }, + "session_id": { + "type": "string" + }, + "source": { + "type": "string" + }, + "stream_id": { + "type": "string" + }, + "timeout_ms": { + "type": "integer" + }, + "title": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "elicitation_id", + "kind", + "message" + ], + "type": "object", + "x-omni-stability": "stable" + }, + "elicitation_resolved": { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "elicitation_id": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "run_id": { + "type": "string" + }, + "seq": { + "type": "integer" + }, + "session_id": { + "type": "string" + }, + "status": { + "type": "string" + }, + "stream_id": { + "type": "string" + }, + "value": { + "type": "object" + } + }, + "required": [ + "elicitation_id", + "status" + ], + "type": "object", + "x-omni-stability": "stable" + }, + "elicitation_response": { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "elicitation_id": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "value": { + "type": "object" + } + }, + "required": [ + "elicitation_id", + "action" + ], + "type": "object", + "x-omni-stability": "stable" + }, "enqueue_message": { "additionalProperties": false, "properties": { @@ -314,9 +575,37 @@ "type": "object", "x-omni-stability": "experimental" }, + "export_thread": { + "additionalProperties": false, + "properties": { + "cursor": { + "type": "string" + }, + "include_descendants": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "thread_id": { + "type": "string" + } + }, + "required": [ + "thread_id" + ], + "type": "object", + "x-omni-stability": "experimental" + }, "fork_session": { "additionalProperties": false, "properties": { + "from_item_id": { + "type": "string" + }, + "from_turn_id": { + "type": "string" + }, "new_session_id": { "type": "string" }, @@ -330,212 +619,1523 @@ "type": "object", "x-omni-stability": "experimental" }, - "get_agent_info": { - "additionalProperties": false, - "properties": {}, - "type": "object", - "x-omni-stability": "stable" - }, - "get_session_history": { + "fs_download_close": { "additionalProperties": false, "properties": { "session_id": { "type": "string" + }, + "transfer_id": { + "type": "string" } }, "required": [ - "session_id" + "session_id", + "transfer_id" ], "type": "object", - "x-omni-stability": "stable" + "x-omni-stability": "experimental" }, - "get_user_history": { + "fs_download_open": { "additionalProperties": false, "properties": { - "include_archived": { - "type": "boolean" + "path": { + "type": "string" }, - "limit": { - "type": "integer" + "session_id": { + "type": "string" } }, + "required": [ + "session_id", + "path" + ], "type": "object", - "x-omni-stability": "stable" + "x-omni-stability": "experimental" }, - "identity": { + "fs_download_read": { "additionalProperties": false, "properties": { - "name": { + "length": { + "type": "integer" + }, + "offset": { + "type": "integer" + }, + "session_id": { + "type": "string" + }, + "transfer_id": { + "type": "string" + } + }, + "required": [ + "session_id", + "transfer_id" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "fs_events": { + "additionalProperties": false, + "properties": { + "events": { + "items": {}, + "type": "array" + }, + "seq": { + "type": "integer" + }, + "session_id": { + "type": "string" + }, + "stream_id": { + "type": "string" + }, + "watch_id": { + "type": "string" + } + }, + "required": [ + "session_id", + "watch_id", + "events" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "fs_list": { + "additionalProperties": false, + "properties": { + "path": { + "type": "string" + }, + "recursive": { + "type": "boolean" + }, + "session_id": { + "type": "string" + } + }, + "required": [ + "session_id", + "path" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "fs_rescan_required": { + "additionalProperties": false, + "properties": { + "reason": { + "type": "string" + }, + "seq": { + "type": "integer" + }, + "session_id": { + "type": "string" + }, + "stream_id": { + "type": "string" + }, + "watch_id": { + "type": "string" + } + }, + "required": [ + "session_id", + "watch_id", + "reason" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "fs_stat": { + "additionalProperties": false, + "properties": { + "path": { + "type": "string" + }, + "session_id": { + "type": "string" + } + }, + "required": [ + "session_id", + "path" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "fs_transfer_progress": { + "additionalProperties": false, + "properties": { + "direction": { + "type": "string" + }, + "seq": { + "type": "integer" + }, + "session_id": { + "type": "string" + }, + "stream_id": { + "type": "string" + }, + "total": { + "type": "integer" + }, + "transfer_id": { + "type": "string" + }, + "transferred": { + "type": "integer" + } + }, + "required": [ + "session_id", + "transfer_id", + "direction", + "transferred", + "total" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "fs_unwatch": { + "additionalProperties": false, + "properties": { + "session_id": { + "type": "string" + }, + "watch_id": { + "type": "string" + } + }, + "required": [ + "session_id", + "watch_id" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "fs_upload_abort": { + "additionalProperties": false, + "properties": { + "session_id": { + "type": "string" + }, + "transfer_id": { + "type": "string" + } + }, + "required": [ + "session_id", + "transfer_id" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "fs_upload_chunk": { + "additionalProperties": false, + "properties": { + "data": { + "type": "string" + }, + "offset": { + "type": "integer" + }, + "session_id": { + "type": "string" + }, + "transfer_id": { + "type": "string" + } + }, + "required": [ + "session_id", + "transfer_id", + "offset", + "data" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "fs_upload_commit": { + "additionalProperties": false, + "properties": { + "session_id": { + "type": "string" + }, + "transfer_id": { + "type": "string" + } + }, + "required": [ + "session_id", + "transfer_id" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "fs_upload_open": { + "additionalProperties": false, + "properties": { + "expected_sha256": { + "pattern": "^[0-9a-fA-F]{64}$", + "type": "string" + }, + "overwrite": { + "type": "boolean" + }, + "path": { + "type": "string" + }, + "session_id": { + "type": "string" + }, + "sha256": { + "pattern": "^[0-9a-fA-F]{64}$", + "type": "string" + }, + "size": { + "type": "integer" + } + }, + "required": [ + "session_id", + "path", + "size" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "fs_watch": { + "additionalProperties": false, + "properties": { + "path": { + "type": "string" + }, + "poll_interval_ms": { + "type": "integer" + }, + "recursive": { + "type": "boolean" + }, + "session_id": { + "type": "string" + } + }, + "required": [ + "session_id", + "path" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "get_agent_info": { + "additionalProperties": false, + "properties": {}, + "type": "object", + "x-omni-stability": "stable" + }, + "get_config": { + "additionalProperties": false, + "properties": {}, + "type": "object", + "x-omni-stability": "experimental" + }, + "get_item": { + "additionalProperties": false, + "properties": { + "item_id": { + "type": "string" + }, + "thread_id": { + "type": "string" + } + }, + "required": [ + "thread_id", + "item_id" + ], + "type": "object", + "x-omni-stability": "stable" + }, + "get_model": { + "additionalProperties": false, + "properties": { + "model": { + "type": "string" + } + }, + "required": [ + "model" + ], + "type": "object", + "x-omni-stability": "stable" + }, + "get_plan": { + "additionalProperties": false, + "properties": { + "scope": { + "type": "string" + }, + "thread_id": { + "type": "string" + } + }, + "required": [ + "thread_id" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "get_run_diff": { + "additionalProperties": false, + "properties": { + "thread_id": { + "type": "string" + }, + "turn_id": { + "type": "string" + } + }, + "required": [ + "thread_id" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "get_session_history": { + "additionalProperties": false, + "properties": { + "session_id": { + "type": "string" + } + }, + "required": [ + "session_id" + ], + "type": "object", + "x-omni-stability": "stable" + }, + "get_thread": { + "additionalProperties": false, + "properties": { + "thread_id": { + "type": "string" + } + }, + "required": [ + "thread_id" + ], + "type": "object", + "x-omni-stability": "stable" + }, + "get_user_history": { + "additionalProperties": false, + "properties": { + "include_archived": { + "type": "boolean" + }, + "limit": { + "type": "integer" + } + }, + "type": "object", + "x-omni-stability": "stable" + }, + "git_checkout": { + "additionalProperties": false, + "properties": { + "branch": { + "type": "string" + }, + "confirmation_token": { + "type": "string" + }, + "create": { + "type": "boolean" + }, + "detach": { + "type": "boolean" + }, + "discard_changes": { + "type": "boolean" + }, + "repo": { + "type": "string" + }, + "session_id": { + "type": "string" + }, + "start_point": { + "type": "string" + } + }, + "required": [ + "session_id", + "repo", + "branch" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "git_commit": { + "additionalProperties": false, + "properties": { + "allow_empty": { + "type": "boolean" + }, + "amend": { + "type": "boolean" + }, + "author": { + "type": "string" + }, + "confirmation_token": { + "type": "string" + }, + "message": { + "type": "string" + }, + "repo": { + "type": "string" + }, + "session_id": { + "type": "string" + } + }, + "required": [ + "session_id", + "repo", + "message" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "git_conflicts": { + "additionalProperties": false, + "properties": { + "paths": { + "items": {}, + "type": "array" + }, + "repo": { + "type": "string" + }, + "session_id": { + "type": "string" + } + }, + "required": [ + "session_id", + "repo" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "git_diff": { + "additionalProperties": false, + "properties": { + "context_lines": { + "type": "integer" + }, + "from_rev": { + "type": "string" + }, + "mode": { + "type": "string" + }, + "paths": { + "items": {}, + "type": "array" + }, + "repo": { + "type": "string" + }, + "session_id": { + "type": "string" + }, + "to_rev": { + "type": "string" + } + }, + "required": [ + "session_id", + "repo" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "git_discard": { + "additionalProperties": false, + "properties": { + "confirmation_token": { + "type": "string" + }, + "context_lines": { + "type": "integer" + }, + "hunks": { + "items": {}, + "type": "array" + }, + "paths": { + "items": {}, + "type": "array" + }, + "repo": { + "type": "string" + }, + "session_id": { + "type": "string" + } + }, + "required": [ + "session_id", + "repo" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "git_fetch": { + "additionalProperties": false, + "properties": { + "prune": { + "type": "boolean" + }, + "refspec": { + "type": "string" + }, + "remote": { + "type": "string" + }, + "repo": { + "type": "string" + }, + "session_id": { + "type": "string" + } + }, + "required": [ + "session_id", + "repo" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "git_list_branches": { + "additionalProperties": false, + "properties": { + "include_remote": { + "type": "boolean" + }, + "repo": { + "type": "string" + }, + "session_id": { + "type": "string" + } + }, + "required": [ + "session_id", + "repo" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "git_list_repositories": { + "additionalProperties": false, + "properties": { + "max_depth": { + "type": "integer" + }, + "path": { + "type": "string" + }, + "session_id": { + "type": "string" + } + }, + "required": [ + "session_id" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "git_list_worktrees": { + "additionalProperties": false, + "properties": { + "repo": { + "type": "string" + }, + "session_id": { + "type": "string" + } + }, + "required": [ + "session_id", + "repo" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "git_log": { + "additionalProperties": false, + "properties": { + "max_count": { + "type": "integer" + }, + "paths": { + "items": {}, + "type": "array" + }, + "repo": { + "type": "string" + }, + "rev": { + "type": "string" + }, + "session_id": { + "type": "string" + }, + "skip": { + "type": "integer" + } + }, + "required": [ + "session_id", + "repo" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "git_operation_progress": { + "additionalProperties": false, + "properties": { + "detail": { + "type": "object" + }, + "operation": { + "type": "string" + }, + "operation_id": { + "type": "string" + }, + "phase": { + "type": "string" + }, + "repo": { + "type": "string" + }, + "seq": { + "type": "integer" + }, + "session_id": { + "type": "string" + }, + "stream_id": { + "type": "string" + } + }, + "required": [ + "session_id", + "operation_id", + "repo", + "operation", + "phase" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "git_pull": { + "additionalProperties": false, + "properties": { + "rebase": { + "type": "boolean" + }, + "refspec": { + "type": "string" + }, + "remote": { + "type": "string" + }, + "repo": { + "type": "string" + }, + "session_id": { + "type": "string" + } + }, + "required": [ + "session_id", + "repo" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "git_push": { + "additionalProperties": false, + "properties": { + "confirmation_token": { + "type": "string" + }, + "force": { + "type": "boolean" + }, + "force_with_lease": { + "type": "boolean" + }, + "refspec": { + "type": "string" + }, + "remote": { + "type": "string" + }, + "repo": { + "type": "string" + }, + "session_id": { + "type": "string" + }, + "set_upstream": { + "type": "boolean" + } + }, + "required": [ + "session_id", + "repo" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "git_reset": { + "additionalProperties": false, + "properties": { + "confirmation_token": { + "type": "string" + }, + "mode": { + "type": "string" + }, + "paths": { + "items": {}, + "type": "array" + }, + "repo": { + "type": "string" + }, + "rev": { + "type": "string" + }, + "session_id": { + "type": "string" + } + }, + "required": [ + "session_id", + "repo" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "git_stage": { + "additionalProperties": false, + "properties": { + "context_lines": { + "type": "integer" + }, + "hunks": { + "items": {}, + "type": "array" + }, + "mode": { + "type": "string" + }, + "paths": { + "items": {}, + "type": "array" + }, + "repo": { + "type": "string" + }, + "session_id": { + "type": "string" + } + }, + "required": [ + "session_id", + "repo" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "git_status": { + "additionalProperties": false, + "properties": { + "include_ignored": { + "type": "boolean" + }, + "include_untracked": { + "type": "boolean" + }, + "paths": { + "items": {}, + "type": "array" + }, + "repo": { + "type": "string" + }, + "session_id": { + "type": "string" + } + }, + "required": [ + "session_id", + "repo" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "git_unstage": { + "additionalProperties": false, + "properties": { + "context_lines": { + "type": "integer" + }, + "hunks": { + "items": {}, + "type": "array" + }, + "paths": { + "items": {}, + "type": "array" + }, + "repo": { + "type": "string" + }, + "session_id": { + "type": "string" + } + }, + "required": [ + "session_id", + "repo" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "identity": { + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "required": [ + "name", + "version" + ], + "type": "object" + }, + "initialize": { + "additionalProperties": false, + "properties": { + "capabilities": { + "$ref": "#/$defs/capabilities" + }, + "identity": { + "$ref": "#/$defs/identity" + }, + "platform": { + "$ref": "#/$defs/platform" + }, + "protocol_version": { + "type": "string" + } + }, + "required": [ + "protocol_version", + "identity", + "platform", + "capabilities" + ], + "type": "object", + "x-omni-stability": "stable" + }, + "initializeResult": { + "additionalProperties": false, + "properties": { + "capabilities": { + "$ref": "#/$defs/capabilities" + }, + "identity": { + "$ref": "#/$defs/identity" + }, + "platform": { + "$ref": "#/$defs/platform" + }, + "protocol_version": { + "type": "string" + } + }, + "required": [ + "protocol_version", + "identity", + "platform", + "capabilities" + ], + "type": "object" + }, + "initialized": { + "additionalProperties": false, + "properties": {}, + "type": "object", + "x-omni-stability": "stable" + }, + "item_updated": { + "additionalProperties": false, + "properties": { + "content": { + "type": "object" + }, + "item_id": { + "type": "string" + }, + "item_seq": { + "type": "integer" + }, + "kind": { + "type": "string" + }, + "revision": { + "type": "integer" + }, + "seq": { + "type": "integer" + }, + "session_id": { + "type": "string" + }, + "status": { + "type": "string" + }, + "stream_id": { + "type": "string" + }, + "thread_id": { + "type": "string" + }, + "turn_id": { + "type": "string" + }, + "updated_at": { + "type": "number" + } + }, + "required": [ + "session_id", + "thread_id", + "item_id", + "kind", + "status", + "revision", + "item_seq", + "content" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "jsonRpcError": { + "additionalProperties": false, + "properties": { + "code": { + "type": "integer" + }, + "data": {}, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "list_items": { + "additionalProperties": false, + "properties": { + "cursor": { + "type": "string" + }, + "kinds": { + "items": {}, + "type": "array" + }, + "limit": { + "type": "integer" + }, + "order": { + "type": "string" + }, + "thread_id": { + "type": "string" + }, + "turn_id": { + "type": "string" + } + }, + "required": [ + "thread_id" + ], + "type": "object", + "x-omni-stability": "stable" + }, + "list_models": { + "additionalProperties": false, + "properties": { + "include_hidden": { + "type": "boolean" + }, + "modality": { + "type": "string" + }, + "session_id": { + "type": "string" + } + }, + "type": "object", + "x-omni-stability": "stable" + }, + "list_providers": { + "additionalProperties": false, + "properties": {}, + "type": "object", + "x-omni-stability": "stable" + }, + "list_queue": { + "additionalProperties": false, + "properties": { + "session_id": { + "type": "string" + } + }, + "required": [ + "session_id" + ], + "type": "object", + "x-omni-stability": "stable" + }, + "list_server_functions": { + "additionalProperties": false, + "properties": {}, + "type": "object", + "x-omni-stability": "stable" + }, + "list_sessions": { + "additionalProperties": false, + "properties": { + "limit": { + "type": "integer" + }, + "offset": { + "type": "integer" + } + }, + "type": "object", + "x-omni-stability": "stable" + }, + "list_thread_descendants": { + "additionalProperties": false, + "properties": { + "limit": { + "type": "integer" + }, + "max_depth": { + "type": "integer" + }, + "thread_id": { + "type": "string" + } + }, + "required": [ + "thread_id" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "list_threads": { + "additionalProperties": false, + "properties": { + "created_after": { + "type": "number" + }, + "created_before": { + "type": "number" + }, + "cursor": { + "type": "string" + }, + "limit": { + "type": "integer" + }, + "model": { + "type": "string" + }, + "order": { + "type": "string" + }, + "parent_thread_id": { + "type": "string" + }, + "pinned": { + "type": "boolean" + }, + "source": { + "type": "string" + }, + "status": { + "type": "string" + }, + "updated_after": { + "type": "number" + }, + "updated_before": { + "type": "number" + } + }, + "type": "object", + "x-omni-stability": "experimental" + }, + "list_turns": { + "additionalProperties": false, + "properties": { + "cursor": { + "type": "string" + }, + "limit": { + "type": "integer" + }, + "order": { + "type": "string" + }, + "thread_id": { + "type": "string" + } + }, + "required": [ + "thread_id" + ], + "type": "object", + "x-omni-stability": "stable" + }, + "mcp_approval_requested": { + "additionalProperties": false, + "properties": { + "arguments": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "run_id": { + "type": "string" + }, + "seq": { + "type": "integer" + }, + "server_label": { + "type": "string" + }, + "session_id": { + "type": "string" + }, + "stream_id": { + "type": "string" + }, + "tool_name": { + "type": "string" + } + }, + "required": [ + "kind", + "request_id", + "server_label", + "tool_name", + "arguments" + ], + "type": "object", + "x-omni-stability": "stable" + }, + "mcp_approval_resolved": { + "additionalProperties": false, + "properties": { + "reason": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "seq": { + "type": "integer" + }, + "session_id": { + "type": "string" + }, + "stream_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object", + "x-omni-stability": "stable" + }, + "mcp_approval_response": { + "additionalProperties": false, + "properties": { + "decision": { + "type": "string" + }, + "rejection_message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id", + "decision" + ], + "type": "object", + "x-omni-stability": "stable" + }, + "mcp_auth_cancel": { + "additionalProperties": false, + "properties": { + "auth_id": { + "type": "string" + } + }, + "required": [ + "auth_id" + ], + "type": "object", + "x-omni-stability": "stable" + }, + "mcp_auth_complete": { + "additionalProperties": false, + "properties": { + "auth_id": { + "type": "string" + }, + "code": { + "type": "string" + } + }, + "required": [ + "auth_id", + "code" + ], + "type": "object", + "x-omni-stability": "stable" + }, + "mcp_auth_start": { + "additionalProperties": false, + "properties": { + "redirect_uri": { + "type": "string" + }, + "server_name": { + "type": "string" + }, + "session_id": { + "type": "string" + } + }, + "required": [ + "server_name" + ], + "type": "object", + "x-omni-stability": "stable" + }, + "mcp_call_tool": { + "additionalProperties": false, + "properties": { + "args": { + "type": "object" + }, + "server_name": { "type": "string" }, - "version": { + "session_id": { + "type": "string" + }, + "tool_name": { "type": "string" } }, "required": [ - "name", - "version" + "server_name", + "tool_name", + "session_id" ], - "type": "object" + "type": "object", + "x-omni-stability": "experimental" }, - "initialize": { + "mcp_create_server": { "additionalProperties": false, "properties": { - "capabilities": { - "$ref": "#/$defs/capabilities" + "params": { + "type": "object" }, - "identity": { - "$ref": "#/$defs/identity" + "server_name": { + "type": "string" }, - "platform": { - "$ref": "#/$defs/platform" + "server_options": { + "type": "object" }, - "protocol_version": { + "type": { "type": "string" } }, "required": [ - "protocol_version", - "identity", - "platform", - "capabilities" + "server_name", + "type", + "params" ], "type": "object", "x-omni-stability": "stable" }, - "initializeResult": { + "mcp_delete_server": { "additionalProperties": false, "properties": { - "capabilities": { - "$ref": "#/$defs/capabilities" - }, - "identity": { - "$ref": "#/$defs/identity" - }, - "platform": { - "$ref": "#/$defs/platform" - }, - "protocol_version": { + "server_name": { "type": "string" } }, "required": [ - "protocol_version", - "identity", - "platform", - "capabilities" + "server_name" ], - "type": "object" - }, - "initialized": { - "additionalProperties": false, - "properties": {}, "type": "object", "x-omni-stability": "stable" }, - "jsonRpcError": { + "mcp_get_prompt": { "additionalProperties": false, "properties": { - "code": { - "type": "integer" + "args": { + "type": "object" }, - "data": {}, - "message": { + "prompt_name": { + "type": "string" + }, + "server_name": { + "type": "string" + }, + "session_id": { "type": "string" } }, "required": [ - "code", - "message" + "server_name", + "prompt_name" ], - "type": "object" + "type": "object", + "x-omni-stability": "experimental" }, - "list_queue": { + "mcp_get_server": { "additionalProperties": false, "properties": { - "session_id": { + "refresh": { + "type": "boolean" + }, + "server_name": { "type": "string" } }, "required": [ - "session_id" + "server_name" ], "type": "object", "x-omni-stability": "stable" }, - "list_server_functions": { - "additionalProperties": false, - "properties": {}, - "type": "object", - "x-omni-stability": "stable" - }, - "list_sessions": { + "mcp_list_servers": { "additionalProperties": false, "properties": { - "limit": { - "type": "integer" - }, - "offset": { - "type": "integer" + "session_id": { + "type": "string" } }, "type": "object", "x-omni-stability": "stable" }, - "mcp_approval_requested": { + "mcp_read_resource": { "additionalProperties": false, "properties": { - "arguments": { - "type": "string" - }, - "kind": { - "type": "string" - }, - "request_id": { - "type": "string" - }, - "run_id": { - "type": "string" - }, - "seq": { - "type": "integer" - }, - "server_label": { + "server_name": { "type": "string" }, "session_id": { "type": "string" }, - "stream_id": { - "type": "string" - }, - "tool_name": { + "uri": { "type": "string" } }, "required": [ - "kind", - "request_id", - "server_label", - "tool_name", - "arguments" + "server_name", + "uri" ], "type": "object", + "x-omni-stability": "experimental" + }, + "mcp_reload_server": { + "additionalProperties": false, + "properties": { + "server_name": { + "type": "string" + } + }, + "type": "object", "x-omni-stability": "stable" }, - "mcp_approval_resolved": { + "mcp_server_status_changed": { "additionalProperties": false, "properties": { + "at": { + "type": "string" + }, + "auth_state": { + "type": "string" + }, + "previous_status": { + "type": "string" + }, "reason": { "type": "string" }, - "request_id": { + "reason_code": { "type": "string" }, "seq": { "type": "integer" }, - "session_id": { + "server_name": { + "type": "string" + }, + "status": { "type": "string" }, "stream_id": { @@ -543,27 +2143,30 @@ } }, "required": [ - "request_id" + "server_name", + "status" ], "type": "object", "x-omni-stability": "stable" }, - "mcp_approval_response": { + "mcp_update_server": { "additionalProperties": false, "properties": { - "decision": { - "type": "string" + "params": { + "type": "object" }, - "rejection_message": { + "server_name": { "type": "string" }, - "request_id": { + "server_options": { + "type": "object" + }, + "type": { "type": "string" } }, "required": [ - "request_id", - "decision" + "server_name" ], "type": "object", "x-omni-stability": "stable" @@ -574,6 +2177,12 @@ "content": { "type": "string" }, + "is_final": { + "type": "boolean" + }, + "message_id": { + "type": "string" + }, "run_id": { "type": "string" }, @@ -611,6 +2220,22 @@ ], "type": "object" }, + "purge_threads": { + "additionalProperties": false, + "properties": { + "dry_run": { + "type": "boolean" + }, + "retention_days": { + "type": "integer" + } + }, + "required": [ + "retention_days" + ], + "type": "object", + "x-omni-stability": "experimental" + }, "queue_changed": { "additionalProperties": false, "properties": { @@ -715,6 +2340,9 @@ "model": { "type": "string" }, + "model_ref": { + "type": "string" + }, "run_id": { "type": "string" }, @@ -811,6 +2439,52 @@ "type": "object", "x-omni-stability": "stable" }, + "search_threads": { + "additionalProperties": false, + "properties": { + "created_after": { + "type": "number" + }, + "created_before": { + "type": "number" + }, + "cursor": { + "type": "string" + }, + "limit": { + "type": "integer" + }, + "model": { + "type": "string" + }, + "parent_thread_id": { + "type": "string" + }, + "pinned": { + "type": "boolean" + }, + "query": { + "type": "string" + }, + "source": { + "type": "string" + }, + "status": { + "type": "string" + }, + "updated_after": { + "type": "number" + }, + "updated_before": { + "type": "number" + } + }, + "required": [ + "query" + ], + "type": "object", + "x-omni-stability": "experimental" + }, "send_user_message": { "additionalProperties": false, "properties": { @@ -850,6 +2524,9 @@ "session_forked": { "additionalProperties": false, "properties": { + "from_item_id": { + "type": "string" + }, "new_session_id": { "type": "string" }, @@ -874,7 +2551,8 @@ "additionalProperties": false, "properties": { "changed": { - "type": "object" + "items": {}, + "type": "array" }, "seq": { "type": "integer" @@ -885,47 +2563,94 @@ "stream_id": { "type": "string" }, - "variables": { - "type": "object" + "variables": { + "type": "object" + } + }, + "required": [ + "session_id", + "changed", + "variables" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "set_client_status": { + "additionalProperties": false, + "properties": { + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "set_session_hold": { + "additionalProperties": false, + "properties": { + "hold": { + "type": "boolean" + }, + "session_id": { + "type": "string" + } + }, + "required": [ + "session_id", + "hold" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "set_session_model": { + "additionalProperties": false, + "properties": { + "model": { + "type": "string" + }, + "session_id": { + "type": "string" } }, "required": [ "session_id", - "changed", - "variables" + "model" ], "type": "object", - "x-omni-stability": "experimental" + "x-omni-stability": "stable" }, - "set_client_status": { + "set_session_reasoning": { "additionalProperties": false, "properties": { - "text": { + "effort": { + "type": "string" + }, + "session_id": { "type": "string" } }, "required": [ - "text" + "session_id", + "effort" ], "type": "object", - "x-omni-stability": "experimental" + "x-omni-stability": "stable" }, - "set_session_hold": { + "set_voice_model": { "additionalProperties": false, "properties": { - "hold": { - "type": "boolean" - }, - "session_id": { + "model": { "type": "string" } }, "required": [ - "session_id", - "hold" + "model" ], "type": "object", - "x-omni-stability": "experimental" + "x-omni-stability": "stable" }, "start_run": { "additionalProperties": false, @@ -977,6 +2702,38 @@ "type": "object", "x-omni-stability": "stable" }, + "thread_updated": { + "additionalProperties": false, + "properties": { + "cascaded_thread_ids": { + "items": {}, + "type": "array" + }, + "changed": { + "items": {}, + "type": "array" + }, + "seq": { + "type": "integer" + }, + "stream_id": { + "type": "string" + }, + "thread": { + "type": "object" + }, + "thread_id": { + "type": "string" + } + }, + "required": [ + "thread_id", + "changed", + "thread" + ], + "type": "object", + "x-omni-stability": "experimental" + }, "token": { "additionalProperties": false, "properties": { @@ -992,6 +2749,9 @@ "model": { "type": "string" }, + "model_ref": { + "type": "string" + }, "response_id": { "type": "string" }, @@ -1199,6 +2959,60 @@ ], "type": "object", "x-omni-stability": "experimental" + }, + "update_thread": { + "additionalProperties": false, + "properties": { + "metadata": { + "type": "object" + }, + "pinned": { + "type": "boolean" + }, + "status": { + "type": "string" + }, + "thread_id": { + "type": "string" + }, + "title": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "thread_id" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "validate_config": { + "additionalProperties": false, + "properties": { + "updates": { + "type": "object" + } + }, + "required": [ + "updates" + ], + "type": "object", + "x-omni-stability": "experimental" + }, + "write_config": { + "additionalProperties": false, + "properties": { + "updates": { + "type": "object" + } + }, + "required": [ + "updates" + ], + "type": "object", + "x-omni-stability": "experimental" } }, "$id": "https://omniagents.dev/protocol/gui/v1/schema.json", @@ -1267,6 +3081,90 @@ { "$ref": "#/$defs/ack_events" }, + { + "$ref": "#/$defs/list_models" + }, + { + "$ref": "#/$defs/get_model" + }, + { + "$ref": "#/$defs/list_providers" + }, + { + "$ref": "#/$defs/set_session_model" + }, + { + "$ref": "#/$defs/set_session_reasoning" + }, + { + "$ref": "#/$defs/set_voice_model" + }, + { + "$ref": "#/$defs/account_status" + }, + { + "$ref": "#/$defs/account_login_start" + }, + { + "$ref": "#/$defs/account_login_complete" + }, + { + "$ref": "#/$defs/account_login_cancel" + }, + { + "$ref": "#/$defs/account_logout" + }, + { + "$ref": "#/$defs/account_refresh" + }, + { + "$ref": "#/$defs/account_usage" + }, + { + "$ref": "#/$defs/account_select" + }, + { + "$ref": "#/$defs/elicitation_response" + }, + { + "$ref": "#/$defs/mcp_list_servers" + }, + { + "$ref": "#/$defs/mcp_get_server" + }, + { + "$ref": "#/$defs/mcp_create_server" + }, + { + "$ref": "#/$defs/mcp_update_server" + }, + { + "$ref": "#/$defs/mcp_delete_server" + }, + { + "$ref": "#/$defs/mcp_reload_server" + }, + { + "$ref": "#/$defs/mcp_auth_start" + }, + { + "$ref": "#/$defs/mcp_auth_complete" + }, + { + "$ref": "#/$defs/mcp_auth_cancel" + }, + { + "$ref": "#/$defs/get_thread" + }, + { + "$ref": "#/$defs/list_turns" + }, + { + "$ref": "#/$defs/list_items" + }, + { + "$ref": "#/$defs/get_item" + }, { "$ref": "#/$defs/fork_session" }, @@ -1297,6 +3195,129 @@ { "$ref": "#/$defs/export_session" }, + { + "$ref": "#/$defs/get_config" + }, + { + "$ref": "#/$defs/validate_config" + }, + { + "$ref": "#/$defs/write_config" + }, + { + "$ref": "#/$defs/mcp_read_resource" + }, + { + "$ref": "#/$defs/mcp_call_tool" + }, + { + "$ref": "#/$defs/mcp_get_prompt" + }, + { + "$ref": "#/$defs/fs_watch" + }, + { + "$ref": "#/$defs/fs_unwatch" + }, + { + "$ref": "#/$defs/fs_list" + }, + { + "$ref": "#/$defs/fs_stat" + }, + { + "$ref": "#/$defs/fs_download_open" + }, + { + "$ref": "#/$defs/fs_download_read" + }, + { + "$ref": "#/$defs/fs_download_close" + }, + { + "$ref": "#/$defs/fs_upload_open" + }, + { + "$ref": "#/$defs/fs_upload_chunk" + }, + { + "$ref": "#/$defs/fs_upload_commit" + }, + { + "$ref": "#/$defs/fs_upload_abort" + }, + { + "$ref": "#/$defs/git_list_repositories" + }, + { + "$ref": "#/$defs/git_status" + }, + { + "$ref": "#/$defs/git_diff" + }, + { + "$ref": "#/$defs/git_log" + }, + { + "$ref": "#/$defs/git_list_branches" + }, + { + "$ref": "#/$defs/git_list_worktrees" + }, + { + "$ref": "#/$defs/git_conflicts" + }, + { + "$ref": "#/$defs/git_stage" + }, + { + "$ref": "#/$defs/git_unstage" + }, + { + "$ref": "#/$defs/git_discard" + }, + { + "$ref": "#/$defs/git_commit" + }, + { + "$ref": "#/$defs/git_checkout" + }, + { + "$ref": "#/$defs/git_reset" + }, + { + "$ref": "#/$defs/git_fetch" + }, + { + "$ref": "#/$defs/git_pull" + }, + { + "$ref": "#/$defs/git_push" + }, + { + "$ref": "#/$defs/list_threads" + }, + { + "$ref": "#/$defs/search_threads" + }, + { + "$ref": "#/$defs/update_thread" + }, + { + "$ref": "#/$defs/list_thread_descendants" + }, + { + "$ref": "#/$defs/export_thread" + }, + { + "$ref": "#/$defs/purge_threads" + }, + { + "$ref": "#/$defs/get_plan" + }, + { + "$ref": "#/$defs/get_run_diff" + }, { "$ref": "#/$defs/initialized" }, @@ -1342,11 +3363,41 @@ { "$ref": "#/$defs/queue_changed" }, + { + "$ref": "#/$defs/account_changed" + }, + { + "$ref": "#/$defs/elicitation_requested" + }, + { + "$ref": "#/$defs/elicitation_resolved" + }, + { + "$ref": "#/$defs/mcp_server_status_changed" + }, { "$ref": "#/$defs/session_forked" }, { "$ref": "#/$defs/session_variables_changed" + }, + { + "$ref": "#/$defs/fs_events" + }, + { + "$ref": "#/$defs/fs_rescan_required" + }, + { + "$ref": "#/$defs/fs_transfer_progress" + }, + { + "$ref": "#/$defs/git_operation_progress" + }, + { + "$ref": "#/$defs/thread_updated" + }, + { + "$ref": "#/$defs/item_updated" } ] } diff --git a/src/generated/omniagents-gui-v1/canonical/manifest.json b/src/generated/omniagents-gui-v1/canonical/manifest.json index 77a0c09e..58b29362 100644 --- a/src/generated/omniagents-gui-v1/canonical/manifest.json +++ b/src/generated/omniagents-gui-v1/canonical/manifest.json @@ -6,7 +6,7 @@ "omniagents/backends/ink/tui/src/protocol/generated/gui-v1.ts", "omniagents/backends/web/ui/src/protocol/generated/schema-types.ts" ], - "canonical_sha256": "34619763ba9645b309789144dbb72a2aac918f6de0462c347ecc3d1dc1786b1d", + "canonical_sha256": "efc199c93a5a739e2c9d34d43aa1a8f7441312b06075d023bcf5ce20e4c2e856", "generator": "scripts.protocol.generate_gui_protocol", "generator_version": "1", "protocol_version": "1.0.0", diff --git a/src/generated/omniagents-gui-v1/canonical/omniagents-gui-v1.json b/src/generated/omniagents-gui-v1/canonical/omniagents-gui-v1.json index 9d28fdb4..ed6e9ac2 100644 --- a/src/generated/omniagents-gui-v1/canonical/omniagents-gui-v1.json +++ b/src/generated/omniagents-gui-v1/canonical/omniagents-gui-v1.json @@ -1,6 +1,85 @@ { "components": { "errors": { + "AccountAuthFailed": { + "code": -32042, + "data": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "account_auth_failed" + }, + "provider": { + "type": "string" + }, + "status": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "kind", + "provider" + ], + "type": "object" + }, + "message": "Account authentication failed" + }, + "AccountCapabilityUnsupported": { + "code": -32040, + "data": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "account_capability_unsupported" + }, + "operation": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "supported": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "kind", + "provider", + "operation" + ], + "type": "object" + }, + "message": "Account capability unsupported" + }, + "AccountStateInvalid": { + "code": -32041, + "data": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "account_state_invalid" + }, + "provider": { + "type": "string" + }, + "reason": { + "type": "string" + } + }, + "required": [ + "kind", + "reason" + ], + "type": "object" + }, + "message": "Account state invalid" + }, "AlreadyInitialized": { "code": -32011, "data": { @@ -95,151 +174,6260 @@ }, "message": "Capability mismatch" }, - "InitializationRequired": { - "code": -32010, + "ConversationCursorInvalid": { + "code": -32082, "data": { "additionalProperties": false, "properties": { - "kind": { - "const": "initialization_required" - }, - "state": { + "cursor": { "type": "string" + }, + "kind": { + "const": "cursor_invalid" } }, "required": [ "kind", - "state" + "cursor" ], "type": "object" }, - "message": "Initialization required" + "message": "Malformed pagination cursor" }, - "InternalError": { - "code": -32603, - "message": "Internal error" + "ConversationForkPointInvalid": { + "code": -32112, + "data": { + "additionalProperties": false, + "properties": { + "item_id": { + "type": "string" + }, + "kind": { + "const": "fork_point_invalid" + }, + "next_item_id": { + "type": "string" + }, + "next_item_kind": { + "type": "string" + }, + "status": { + "type": "string" + }, + "thread_id": { + "type": "string" + }, + "turn_id": { + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + "message": "Invalid fork point" }, - "InvalidParams": { - "code": -32602, - "message": "Invalid params" + "ConversationItemNotFound": { + "code": -32081, + "data": { + "additionalProperties": false, + "properties": { + "item_id": { + "type": "string" + }, + "kind": { + "const": "item_not_found" + }, + "thread_id": { + "type": "string" + } + }, + "required": [ + "kind", + "thread_id", + "item_id" + ], + "type": "object" + }, + "message": "Unknown conversation item" }, - "InvalidRequest": { - "code": -32600, - "message": "Invalid Request" + "ConversationSearchUnavailable": { + "code": -32110, + "data": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "search_unavailable" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + "message": "Conversation search is unavailable" }, - "MethodNotFound": { - "code": -32601, - "message": "Method not found" + "ConversationTurnNotFound": { + "code": -32100, + "data": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "turn_not_found" + }, + "thread_id": { + "type": "string" + }, + "turn_id": { + "type": "string" + } + }, + "required": [ + "kind", + "thread_id", + "turn_id" + ], + "type": "object" + }, + "message": "Unknown turn" }, - "ProtocolVersionMismatch": { - "code": -32012, + "ElicitationAlreadyResolved": { + "code": -32051, "data": { "additionalProperties": false, "properties": { - "client_version": { + "elicitation_id": { "type": "string" }, "kind": { - "const": "protocol_version_mismatch" + "const": "elicitation_already_resolved" }, - "server_version": { + "status": { "type": "string" } }, "required": [ "kind", - "client_version", - "server_version" + "elicitation_id", + "status" ], "type": "object" }, - "message": "Protocol version mismatch" + "message": "Elicitation already resolved" }, - "ResyncRequired": { - "code": -32030, + "ElicitationInvalidResponse": { + "code": -32052, "data": { "additionalProperties": false, "properties": { + "elicitation_id": { + "type": "string" + }, + "errors": { + "items": { + "type": "string" + }, + "type": "array" + }, "kind": { - "const": "resync_required" + "const": "elicitation_invalid_response" + } + }, + "required": [ + "kind", + "elicitation_id", + "errors" + ], + "type": "object" + }, + "message": "Elicitation response invalid" + }, + "ElicitationNotFound": { + "code": -32050, + "data": { + "additionalProperties": false, + "properties": { + "elicitation_id": { + "type": "string" }, - "retained_first_seq": { - "minimum": 0, - "type": "integer" + "kind": { + "const": "elicitation_not_found" + } + }, + "required": [ + "kind", + "elicitation_id" + ], + "type": "object" + }, + "message": "Elicitation not found" + }, + "FsNotFound": { + "code": -32061, + "data": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "fs_not_found" }, - "retained_last_seq": { - "minimum": 0, - "type": "integer" + "path": { + "type": "string" + }, + "reason": { + "type": "string" }, "session_id": { "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + "message": "File or directory not found" + }, + "FsPathInvalid": { + "code": -32060, + "data": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "fs_path_invalid" + }, + "path": { + "type": "string" }, - "stream_id": { + "reason": { "type": "string" } }, "required": [ - "kind", - "session_id", - "stream_id", - "retained_first_seq", - "retained_last_seq" + "kind" ], "type": "object" }, - "message": "Resync required" + "message": "Filesystem path invalid" }, - "TransportOverloaded": { - "code": -32020, + "FsReadOnly": { + "code": -32064, "data": { "additionalProperties": false, "properties": { - "limit": { - "minimum": 1, - "type": "integer" + "kind": { + "const": "fs_read_only" }, - "resource": { + "path": { "type": "string" }, - "retry_after_ms": { - "minimum": 0, - "type": [ - "integer", - "null" + "reason": { + "enum": [ + "source_read_only", + "backend_not_writable" ] + } + }, + "required": [ + "kind", + "reason" + ], + "type": "object" + }, + "message": "Filesystem target is read-only" + }, + "FsTransferInvalid": { + "code": -32062, + "data": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "fs_transfer_invalid" }, - "retryable": { - "type": "boolean" + "reason": { + "type": "string" }, - "unit": { - "enum": [ - "messages", - "bytes" - ], + "transfer_id": { "type": "string" } }, "required": [ - "resource", - "unit", - "limit", - "retryable", - "retry_after_ms" + "kind" ], "type": "object" }, - "message": "Transport overloaded" - } - } - }, - "info": { - "description": "JSON-RPC 2.0 protocol for the main OmniAgents /ws endpoint.", - "title": "OmniAgents GUI Protocol", - "version": "1.0.0", - "x-omni-compatibility": "additive-only-v1" - }, - "methods": [ - { + "message": "Filesystem transfer invalid" + }, + "FsWatchInvalid": { + "code": -32063, + "data": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "fs_watch_invalid" + }, + "reason": { + "type": "string" + }, + "watch_id": { + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + "message": "Filesystem watch invalid" + }, + "GitCapabilityUnavailable": { + "code": -32095, + "data": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "git_capability_unavailable" + }, + "operation": { + "type": "string" + }, + "reason": { + "type": "string" + } + }, + "required": [ + "kind", + "reason" + ], + "type": "object" + }, + "message": "Git capability unavailable on this substrate" + }, + "GitConfirmationRequired": { + "code": -32093, + "data": { + "additionalProperties": false, + "properties": { + "confirmation_token": { + "type": "string" + }, + "impact": { + "type": "object" + }, + "kind": { + "const": "git_confirmation_required" + }, + "operation": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "repo": { + "type": "string" + } + }, + "required": [ + "kind", + "operation", + "confirmation_token", + "impact" + ], + "type": "object" + }, + "message": "Git operation requires explicit confirmation" + }, + "GitOperationFailed": { + "code": -32092, + "data": { + "additionalProperties": false, + "properties": { + "command": { + "type": "string" + }, + "exit_code": { + "type": "integer" + }, + "kind": { + "const": "git_operation_failed" + }, + "operation": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "repo": { + "type": "string" + }, + "rolled_back": { + "type": "boolean" + }, + "stderr": { + "type": "string" + } + }, + "required": [ + "kind", + "operation" + ], + "type": "object" + }, + "message": "Git operation failed" + }, + "GitPathInvalid": { + "code": -32091, + "data": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "git_path_invalid" + }, + "path": { + "type": "string" + }, + "reason": { + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + "message": "Git path invalid" + }, + "GitRepositoryNotFound": { + "code": -32090, + "data": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "git_repository_not_found" + }, + "path": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "repo": { + "type": "string" + }, + "toplevel": { + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + "message": "Git repository not found" + }, + "GitStateInvalid": { + "code": -32094, + "data": { + "additionalProperties": false, + "properties": { + "change": { + "type": "string" + }, + "kind": { + "const": "git_state_invalid" + }, + "mode": { + "type": "string" + }, + "operation": { + "type": "string" + }, + "path": { + "type": "string" + }, + "paths": { + "items": { + "type": "string" + }, + "type": "array" + }, + "reason": { + "type": "string" + }, + "repo": { + "type": "string" + }, + "scope": { + "type": "string" + }, + "stale": { + "items": { + "additionalProperties": false, + "properties": { + "hunk_id": { + "type": "string" + }, + "path": { + "type": "string" + } + }, + "required": [ + "path", + "hunk_id" + ], + "type": "object" + }, + "type": "array" + }, + "supported": { + "items": { + "type": "string" + }, + "type": "array" + }, + "value": { + "type": "string" + } + }, + "required": [ + "kind", + "reason" + ], + "type": "object" + }, + "message": "Git repository state invalid for this operation" + }, + "InitializationRequired": { + "code": -32010, + "data": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "initialization_required" + }, + "state": { + "type": "string" + } + }, + "required": [ + "kind", + "state" + ], + "type": "object" + }, + "message": "Initialization required" + }, + "InternalError": { + "code": -32603, + "message": "Internal error" + }, + "InvalidParams": { + "code": -32602, + "message": "Invalid params" + }, + "InvalidRequest": { + "code": -32600, + "message": "Invalid Request" + }, + "McpAuthFailed": { + "code": -32076, + "data": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "mcp_auth_failed" + }, + "server_name": { + "type": "string" + }, + "status": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "kind", + "server_name" + ], + "type": "object" + }, + "message": "MCP authorization failed" + }, + "McpAuthStateInvalid": { + "code": -32075, + "data": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "mcp_auth_state_invalid" + }, + "reason": { + "type": "string" + }, + "server_name": { + "type": "string" + } + }, + "required": [ + "kind", + "reason" + ], + "type": "object" + }, + "message": "MCP auth state invalid" + }, + "McpConfigInvalid": { + "code": -32071, + "data": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "field": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "type": "array" + }, + "kind": { + "const": "mcp_config_invalid" + }, + "server_name": { + "type": "string" + } + }, + "required": [ + "kind", + "errors" + ], + "type": "object" + }, + "message": "MCP server configuration is invalid" + }, + "McpOperationUnsupported": { + "code": -32073, + "data": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "mcp_operation_unsupported" + }, + "operation": { + "type": "string" + }, + "server_name": { + "type": "string" + } + }, + "required": [ + "kind", + "server_name", + "operation" + ], + "type": "object" + }, + "message": "MCP operation unsupported" + }, + "McpServerNotFound": { + "code": -32070, + "data": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "mcp_server_not_found" + }, + "server_name": { + "type": "string" + } + }, + "required": [ + "kind", + "server_name" + ], + "type": "object" + }, + "message": "MCP server not found" + }, + "McpServerReadOnly": { + "code": -32072, + "data": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "mcp_server_read_only" + }, + "reason": { + "type": "string" + }, + "server_name": { + "type": "string" + } + }, + "required": [ + "kind", + "server_name", + "reason" + ], + "type": "object" + }, + "message": "MCP server is read-only" + }, + "McpServerUnavailable": { + "code": -32074, + "data": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "mcp_server_unavailable" + }, + "reason_code": { + "type": "string" + }, + "server_name": { + "type": "string" + } + }, + "required": [ + "kind", + "server_name", + "reason_code" + ], + "type": "object" + }, + "message": "MCP server unavailable" + }, + "MethodNotFound": { + "code": -32601, + "message": "Method not found" + }, + "ProtocolVersionMismatch": { + "code": -32012, + "data": { + "additionalProperties": false, + "properties": { + "client_version": { + "type": "string" + }, + "kind": { + "const": "protocol_version_mismatch" + }, + "server_version": { + "type": "string" + } + }, + "required": [ + "kind", + "client_version", + "server_version" + ], + "type": "object" + }, + "message": "Protocol version mismatch" + }, + "ResyncRequired": { + "code": -32030, + "data": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "resync_required" + }, + "retained_first_seq": { + "minimum": 0, + "type": "integer" + }, + "retained_last_seq": { + "minimum": 0, + "type": "integer" + }, + "session_id": { + "type": "string" + }, + "stream_id": { + "type": "string" + } + }, + "required": [ + "kind", + "session_id", + "stream_id", + "retained_first_seq", + "retained_last_seq" + ], + "type": "object" + }, + "message": "Resync required" + }, + "ThreadHasDescendants": { + "code": -32111, + "data": { + "additionalProperties": false, + "properties": { + "descendant_count": { + "type": "integer" + }, + "descendant_thread_ids": { + "items": { + "type": "string" + }, + "type": "array" + }, + "kind": { + "const": "thread_has_descendants" + }, + "thread_id": { + "type": "string" + }, + "truncated": { + "type": "boolean" + } + }, + "required": [ + "kind", + "thread_id", + "descendant_thread_ids", + "descendant_count", + "truncated" + ], + "type": "object" + }, + "message": "Thread has descendant threads" + }, + "ThreadMetadataInvalid": { + "code": -32114, + "data": { + "additionalProperties": false, + "properties": { + "keys": { + "type": "integer" + }, + "kind": { + "const": "thread_metadata_invalid" + }, + "max_keys": { + "type": "integer" + }, + "max_size": { + "type": "integer" + }, + "size": { + "type": "integer" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + "message": "Thread metadata exceeds the permitted size" + }, + "ThreadNotFound": { + "code": -32080, + "data": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "thread_not_found" + }, + "thread_id": { + "type": "string" + } + }, + "required": [ + "kind", + "thread_id" + ], + "type": "object" + }, + "message": "Unknown thread" + }, + "ThreadOnLegalHold": { + "code": -32113, + "data": { + "additionalProperties": false, + "properties": { + "held_count": { + "type": "integer" + }, + "held_thread_ids": { + "items": { + "type": "string" + }, + "type": "array" + }, + "kind": { + "const": "thread_on_legal_hold" + }, + "thread_id": { + "type": "string" + } + }, + "required": [ + "kind", + "thread_id", + "held_thread_ids", + "held_count" + ], + "type": "object" + }, + "message": "Session is under legal hold" + }, + "TransportOverloaded": { + "code": -32020, + "data": { + "additionalProperties": false, + "properties": { + "limit": { + "minimum": 1, + "type": "integer" + }, + "resource": { + "type": "string" + }, + "retry_after_ms": { + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "retryable": { + "type": "boolean" + }, + "unit": { + "enum": [ + "messages", + "bytes" + ], + "type": "string" + } + }, + "required": [ + "resource", + "unit", + "limit", + "retryable", + "retry_after_ms" + ], + "type": "object" + }, + "message": "Transport overloaded" + } + } + }, + "info": { + "description": "JSON-RPC 2.0 protocol for the main OmniAgents /ws endpoint.", + "title": "OmniAgents GUI Protocol", + "version": "1.0.0", + "x-omni-compatibility": "additive-only-v1" + }, + "methods": [ + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/AlreadyInitialized" + }, + { + "$ref": "#/components/errors/ProtocolVersionMismatch" + }, + { + "$ref": "#/components/errors/CapabilityMismatch" + } + ], + "name": "initialize", + "paramStructure": "by-name", + "params": [ + { + "name": "protocol_version", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/initialize/properties/protocol_version" + } + }, + { + "name": "identity", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/initialize/properties/identity" + } + }, + { + "name": "platform", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/initialize/properties/platform" + } + }, + { + "name": "capabilities", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/initialize/properties/capabilities" + } + } + ], + "result": { + "name": "initialize_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/initializeResult" + } + }, + "summary": "OmniAgents GUI protocol operation initialize", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/initialize" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "start_run", + "paramStructure": "by-name", + "params": [ + { + "name": "prompt", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/start_run/properties/prompt" + } + }, + { + "name": "session_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/start_run/properties/session_id" + } + }, + { + "name": "variables", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/start_run/properties/variables" + } + }, + { + "name": "context", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/start_run/properties/context" + } + }, + { + "name": "content", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/start_run/properties/content" + } + }, + { + "name": "workflow_name", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/start_run/properties/workflow_name" + } + }, + { + "name": "group_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/start_run/properties/group_id" + } + }, + { + "name": "safe_tool_overrides", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/start_run/properties/safe_tool_overrides" + } + }, + { + "name": "prompt_role", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/start_run/properties/prompt_role" + } + } + ], + "result": { + "name": "start_run_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation start_run", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/start_run" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "stop_run", + "paramStructure": "by-name", + "params": [ + { + "name": "run_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/stop_run/properties/run_id" + } + } + ], + "result": { + "name": "stop_run_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation stop_run", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/stop_run" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "send_user_message", + "paramStructure": "by-name", + "params": [ + { + "name": "run_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/send_user_message/properties/run_id" + } + }, + { + "name": "content", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/send_user_message/properties/content" + } + } + ], + "result": { + "name": "send_user_message_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation send_user_message", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/send_user_message" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "get_session_history", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/get_session_history/properties/session_id" + } + } + ], + "result": { + "name": "get_session_history_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation get_session_history", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/get_session_history" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "list_sessions", + "paramStructure": "by-name", + "params": [ + { + "name": "limit", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_sessions/properties/limit" + } + }, + { + "name": "offset", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_sessions/properties/offset" + } + } + ], + "result": { + "name": "list_sessions_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation list_sessions", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_sessions" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "archive_session", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/archive_session/properties/session_id" + } + } + ], + "result": { + "name": "archive_session_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation archive_session", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/archive_session" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/ThreadHasDescendants" + }, + { + "$ref": "#/components/errors/ThreadOnLegalHold" + } + ], + "name": "delete_session", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/delete_session/properties/session_id" + } + }, + { + "name": "cascade", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/delete_session/properties/cascade" + } + } + ], + "result": { + "name": "delete_session_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation delete_session", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/delete_session" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "get_user_history", + "paramStructure": "by-name", + "params": [ + { + "name": "limit", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/get_user_history/properties/limit" + } + }, + { + "name": "include_archived", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/get_user_history/properties/include_archived" + } + } + ], + "result": { + "name": "get_user_history_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation get_user_history", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/get_user_history" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "get_agent_info", + "paramStructure": "by-name", + "params": [], + "result": { + "name": "get_agent_info_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation get_agent_info", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/get_agent_info" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "tool_approval_response", + "paramStructure": "by-name", + "params": [ + { + "name": "call_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_response/properties/call_id" + } + }, + { + "name": "decision", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_response/properties/decision" + } + }, + { + "name": "always_approve", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_response/properties/always_approve" + } + }, + { + "name": "rejection_message", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_response/properties/rejection_message" + } + } + ], + "result": { + "name": "tool_approval_response_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation tool_approval_response", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_response" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "mcp_approval_response", + "paramStructure": "by-name", + "params": [ + { + "name": "request_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_response/properties/request_id" + } + }, + { + "name": "decision", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_response/properties/decision" + } + }, + { + "name": "rejection_message", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_response/properties/rejection_message" + } + } + ], + "result": { + "name": "mcp_approval_response_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation mcp_approval_response", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_response" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "client_functions", + "paramStructure": "by-name", + "params": [ + { + "name": "functions", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/client_functions/properties/functions" + } + }, + { + "name": "version", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/client_functions/properties/version" + } + } + ], + "result": { + "name": "client_functions_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation client_functions", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/client_functions" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "client_response", + "paramStructure": "by-name", + "params": [ + { + "name": "request_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/client_response/properties/request_id" + } + }, + { + "name": "ok", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/client_response/properties/ok" + } + }, + { + "name": "result", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/client_response/properties/result" + } + }, + { + "name": "error", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/client_response/properties/error" + } + } + ], + "result": { + "name": "client_response_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation client_response", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/client_response" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "list_server_functions", + "paramStructure": "by-name", + "params": [], + "result": { + "name": "list_server_functions_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation list_server_functions", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_server_functions" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "server_call", + "paramStructure": "by-name", + "params": [ + { + "name": "function", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/server_call/properties/function" + } + }, + { + "name": "args", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/server_call/properties/args" + } + }, + { + "name": "session_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/server_call/properties/session_id" + } + } + ], + "result": { + "name": "server_call_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation server_call", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/server_call" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "enqueue_message", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/enqueue_message/properties/session_id" + } + }, + { + "name": "content", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/enqueue_message/properties/content" + } + }, + { + "name": "role", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/enqueue_message/properties/role" + } + }, + { + "name": "trigger_run", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/enqueue_message/properties/trigger_run" + } + }, + { + "name": "variables", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/enqueue_message/properties/variables" + } + }, + { + "name": "safe_tool_overrides", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/enqueue_message/properties/safe_tool_overrides" + } + }, + { + "name": "source", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/enqueue_message/properties/source" + } + } + ], + "result": { + "name": "enqueue_message_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation enqueue_message", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/enqueue_message" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "list_queue", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_queue/properties/session_id" + } + } + ], + "result": { + "name": "list_queue_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation list_queue", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_queue" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "cancel_queued_message", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/cancel_queued_message/properties/session_id" + } + }, + { + "name": "item_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/cancel_queued_message/properties/item_id" + } + } + ], + "result": { + "name": "cancel_queued_message_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation cancel_queued_message", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/cancel_queued_message" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/ResyncRequired" + } + ], + "name": "resume_session", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/resume_session/properties/session_id" + } + }, + { + "name": "stream_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/resume_session/properties/stream_id" + } + }, + { + "name": "after_seq", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/resume_session/properties/after_seq" + } + } + ], + "result": { + "name": "resume_session_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation resume_session", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/resume_session" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/ResyncRequired" + } + ], + "name": "ack_events", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/ack_events/properties/session_id" + } + }, + { + "name": "stream_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/ack_events/properties/stream_id" + } + }, + { + "name": "seq", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/ack_events/properties/seq" + } + } + ], + "result": { + "name": "ack_events_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation ack_events", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/ack_events" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "list_models", + "paramStructure": "by-name", + "params": [ + { + "name": "include_hidden", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_models/properties/include_hidden" + } + }, + { + "name": "modality", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_models/properties/modality" + } + }, + { + "name": "session_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_models/properties/session_id" + } + } + ], + "result": { + "name": "list_models_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation list_models", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_models" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "get_model", + "paramStructure": "by-name", + "params": [ + { + "name": "model", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/get_model/properties/model" + } + } + ], + "result": { + "name": "get_model_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation get_model", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/get_model" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "list_providers", + "paramStructure": "by-name", + "params": [], + "result": { + "name": "list_providers_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation list_providers", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_providers" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "set_session_model", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/set_session_model/properties/session_id" + } + }, + { + "name": "model", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/set_session_model/properties/model" + } + } + ], + "result": { + "name": "set_session_model_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation set_session_model", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/set_session_model" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "set_session_reasoning", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/set_session_reasoning/properties/session_id" + } + }, + { + "name": "effort", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/set_session_reasoning/properties/effort" + } + } + ], + "result": { + "name": "set_session_reasoning_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation set_session_reasoning", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/set_session_reasoning" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "set_voice_model", + "paramStructure": "by-name", + "params": [ + { + "name": "model", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/set_voice_model/properties/model" + } + } + ], + "result": { + "name": "set_voice_model_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation set_voice_model", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/set_voice_model" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/AccountCapabilityUnsupported" + }, + { + "$ref": "#/components/errors/AccountStateInvalid" + }, + { + "$ref": "#/components/errors/AccountAuthFailed" + } + ], + "name": "account_status", + "paramStructure": "by-name", + "params": [], + "result": { + "name": "account_status_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation account_status", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/account_status" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/AccountCapabilityUnsupported" + }, + { + "$ref": "#/components/errors/AccountStateInvalid" + }, + { + "$ref": "#/components/errors/AccountAuthFailed" + } + ], + "name": "account_login_start", + "paramStructure": "by-name", + "params": [ + { + "name": "provider", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/account_login_start/properties/provider" + } + }, + { + "name": "mode", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/account_login_start/properties/mode" + } + }, + { + "name": "api_key", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/account_login_start/properties/api_key" + } + }, + { + "name": "redirect_uri", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/account_login_start/properties/redirect_uri" + } + } + ], + "result": { + "name": "account_login_start_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation account_login_start", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/account_login_start" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/AccountCapabilityUnsupported" + }, + { + "$ref": "#/components/errors/AccountStateInvalid" + }, + { + "$ref": "#/components/errors/AccountAuthFailed" + } + ], + "name": "account_login_complete", + "paramStructure": "by-name", + "params": [ + { + "name": "login_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/account_login_complete/properties/login_id" + } + }, + { + "name": "code", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/account_login_complete/properties/code" + } + } + ], + "result": { + "name": "account_login_complete_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation account_login_complete", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/account_login_complete" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/AccountCapabilityUnsupported" + }, + { + "$ref": "#/components/errors/AccountStateInvalid" + }, + { + "$ref": "#/components/errors/AccountAuthFailed" + } + ], + "name": "account_login_cancel", + "paramStructure": "by-name", + "params": [ + { + "name": "login_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/account_login_cancel/properties/login_id" + } + } + ], + "result": { + "name": "account_login_cancel_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation account_login_cancel", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/account_login_cancel" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/AccountCapabilityUnsupported" + }, + { + "$ref": "#/components/errors/AccountStateInvalid" + }, + { + "$ref": "#/components/errors/AccountAuthFailed" + } + ], + "name": "account_logout", + "paramStructure": "by-name", + "params": [ + { + "name": "provider", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/account_logout/properties/provider" + } + } + ], + "result": { + "name": "account_logout_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation account_logout", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/account_logout" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/AccountCapabilityUnsupported" + }, + { + "$ref": "#/components/errors/AccountStateInvalid" + }, + { + "$ref": "#/components/errors/AccountAuthFailed" + } + ], + "name": "account_refresh", + "paramStructure": "by-name", + "params": [ + { + "name": "provider", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/account_refresh/properties/provider" + } + } + ], + "result": { + "name": "account_refresh_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation account_refresh", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/account_refresh" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/AccountCapabilityUnsupported" + }, + { + "$ref": "#/components/errors/AccountStateInvalid" + }, + { + "$ref": "#/components/errors/AccountAuthFailed" + } + ], + "name": "account_usage", + "paramStructure": "by-name", + "params": [ + { + "name": "provider", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/account_usage/properties/provider" + } + } + ], + "result": { + "name": "account_usage_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation account_usage", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/account_usage" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/AccountCapabilityUnsupported" + }, + { + "$ref": "#/components/errors/AccountStateInvalid" + }, + { + "$ref": "#/components/errors/AccountAuthFailed" + } + ], + "name": "account_select", + "paramStructure": "by-name", + "params": [ + { + "name": "provider", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/account_select/properties/provider" + } + } + ], + "result": { + "name": "account_select_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation account_select", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/account_select" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/ElicitationNotFound" + }, + { + "$ref": "#/components/errors/ElicitationAlreadyResolved" + }, + { + "$ref": "#/components/errors/ElicitationInvalidResponse" + } + ], + "name": "elicitation_response", + "paramStructure": "by-name", + "params": [ + { + "name": "elicitation_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_response/properties/elicitation_id" + } + }, + { + "name": "action", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_response/properties/action" + } + }, + { + "name": "value", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_response/properties/value" + } + }, + { + "name": "reason", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_response/properties/reason" + } + } + ], + "result": { + "name": "elicitation_response_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation elicitation_response", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_response" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/McpServerNotFound" + }, + { + "$ref": "#/components/errors/McpConfigInvalid" + }, + { + "$ref": "#/components/errors/McpServerReadOnly" + }, + { + "$ref": "#/components/errors/McpOperationUnsupported" + }, + { + "$ref": "#/components/errors/McpServerUnavailable" + }, + { + "$ref": "#/components/errors/McpAuthStateInvalid" + }, + { + "$ref": "#/components/errors/McpAuthFailed" + } + ], + "name": "mcp_list_servers", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_list_servers/properties/session_id" + } + } + ], + "result": { + "name": "mcp_list_servers_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation mcp_list_servers", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_list_servers" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/McpServerNotFound" + }, + { + "$ref": "#/components/errors/McpConfigInvalid" + }, + { + "$ref": "#/components/errors/McpServerReadOnly" + }, + { + "$ref": "#/components/errors/McpOperationUnsupported" + }, + { + "$ref": "#/components/errors/McpServerUnavailable" + }, + { + "$ref": "#/components/errors/McpAuthStateInvalid" + }, + { + "$ref": "#/components/errors/McpAuthFailed" + } + ], + "name": "mcp_get_server", + "paramStructure": "by-name", + "params": [ + { + "name": "server_name", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_get_server/properties/server_name" + } + }, + { + "name": "refresh", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_get_server/properties/refresh" + } + } + ], + "result": { + "name": "mcp_get_server_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation mcp_get_server", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_get_server" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/McpServerNotFound" + }, + { + "$ref": "#/components/errors/McpConfigInvalid" + }, + { + "$ref": "#/components/errors/McpServerReadOnly" + }, + { + "$ref": "#/components/errors/McpOperationUnsupported" + }, + { + "$ref": "#/components/errors/McpServerUnavailable" + }, + { + "$ref": "#/components/errors/McpAuthStateInvalid" + }, + { + "$ref": "#/components/errors/McpAuthFailed" + } + ], + "name": "mcp_create_server", + "paramStructure": "by-name", + "params": [ + { + "name": "server_name", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_create_server/properties/server_name" + } + }, + { + "name": "type", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_create_server/properties/type" + } + }, + { + "name": "params", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_create_server/properties/params" + } + }, + { + "name": "server_options", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_create_server/properties/server_options" + } + } + ], + "result": { + "name": "mcp_create_server_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation mcp_create_server", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_create_server" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/McpServerNotFound" + }, + { + "$ref": "#/components/errors/McpConfigInvalid" + }, + { + "$ref": "#/components/errors/McpServerReadOnly" + }, + { + "$ref": "#/components/errors/McpOperationUnsupported" + }, + { + "$ref": "#/components/errors/McpServerUnavailable" + }, + { + "$ref": "#/components/errors/McpAuthStateInvalid" + }, + { + "$ref": "#/components/errors/McpAuthFailed" + } + ], + "name": "mcp_update_server", + "paramStructure": "by-name", + "params": [ + { + "name": "server_name", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_update_server/properties/server_name" + } + }, + { + "name": "type", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_update_server/properties/type" + } + }, + { + "name": "params", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_update_server/properties/params" + } + }, + { + "name": "server_options", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_update_server/properties/server_options" + } + } + ], + "result": { + "name": "mcp_update_server_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation mcp_update_server", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_update_server" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/McpServerNotFound" + }, + { + "$ref": "#/components/errors/McpConfigInvalid" + }, + { + "$ref": "#/components/errors/McpServerReadOnly" + }, + { + "$ref": "#/components/errors/McpOperationUnsupported" + }, + { + "$ref": "#/components/errors/McpServerUnavailable" + }, + { + "$ref": "#/components/errors/McpAuthStateInvalid" + }, + { + "$ref": "#/components/errors/McpAuthFailed" + } + ], + "name": "mcp_delete_server", + "paramStructure": "by-name", + "params": [ + { + "name": "server_name", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_delete_server/properties/server_name" + } + } + ], + "result": { + "name": "mcp_delete_server_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation mcp_delete_server", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_delete_server" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/McpServerNotFound" + }, + { + "$ref": "#/components/errors/McpConfigInvalid" + }, + { + "$ref": "#/components/errors/McpServerReadOnly" + }, + { + "$ref": "#/components/errors/McpOperationUnsupported" + }, + { + "$ref": "#/components/errors/McpServerUnavailable" + }, + { + "$ref": "#/components/errors/McpAuthStateInvalid" + }, + { + "$ref": "#/components/errors/McpAuthFailed" + } + ], + "name": "mcp_reload_server", + "paramStructure": "by-name", + "params": [ + { + "name": "server_name", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_reload_server/properties/server_name" + } + } + ], + "result": { + "name": "mcp_reload_server_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation mcp_reload_server", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_reload_server" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/McpServerNotFound" + }, + { + "$ref": "#/components/errors/McpConfigInvalid" + }, + { + "$ref": "#/components/errors/McpServerReadOnly" + }, + { + "$ref": "#/components/errors/McpOperationUnsupported" + }, + { + "$ref": "#/components/errors/McpServerUnavailable" + }, + { + "$ref": "#/components/errors/McpAuthStateInvalid" + }, + { + "$ref": "#/components/errors/McpAuthFailed" + } + ], + "name": "mcp_auth_start", + "paramStructure": "by-name", + "params": [ + { + "name": "server_name", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_auth_start/properties/server_name" + } + }, + { + "name": "redirect_uri", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_auth_start/properties/redirect_uri" + } + }, + { + "name": "session_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_auth_start/properties/session_id" + } + } + ], + "result": { + "name": "mcp_auth_start_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation mcp_auth_start", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_auth_start" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/McpServerNotFound" + }, + { + "$ref": "#/components/errors/McpConfigInvalid" + }, + { + "$ref": "#/components/errors/McpServerReadOnly" + }, + { + "$ref": "#/components/errors/McpOperationUnsupported" + }, + { + "$ref": "#/components/errors/McpServerUnavailable" + }, + { + "$ref": "#/components/errors/McpAuthStateInvalid" + }, + { + "$ref": "#/components/errors/McpAuthFailed" + } + ], + "name": "mcp_auth_complete", + "paramStructure": "by-name", + "params": [ + { + "name": "auth_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_auth_complete/properties/auth_id" + } + }, + { + "name": "code", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_auth_complete/properties/code" + } + } + ], + "result": { + "name": "mcp_auth_complete_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation mcp_auth_complete", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_auth_complete" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/McpServerNotFound" + }, + { + "$ref": "#/components/errors/McpConfigInvalid" + }, + { + "$ref": "#/components/errors/McpServerReadOnly" + }, + { + "$ref": "#/components/errors/McpOperationUnsupported" + }, + { + "$ref": "#/components/errors/McpServerUnavailable" + }, + { + "$ref": "#/components/errors/McpAuthStateInvalid" + }, + { + "$ref": "#/components/errors/McpAuthFailed" + } + ], + "name": "mcp_auth_cancel", + "paramStructure": "by-name", + "params": [ + { + "name": "auth_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_auth_cancel/properties/auth_id" + } + } + ], + "result": { + "name": "mcp_auth_cancel_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation mcp_auth_cancel", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_auth_cancel" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/ThreadNotFound" + } + ], + "name": "get_thread", + "paramStructure": "by-name", + "params": [ + { + "name": "thread_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/get_thread/properties/thread_id" + } + } + ], + "result": { + "name": "get_thread_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation get_thread", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/get_thread" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/ThreadNotFound" + }, + { + "$ref": "#/components/errors/ConversationCursorInvalid" + } + ], + "name": "list_turns", + "paramStructure": "by-name", + "params": [ + { + "name": "thread_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_turns/properties/thread_id" + } + }, + { + "name": "limit", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_turns/properties/limit" + } + }, + { + "name": "cursor", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_turns/properties/cursor" + } + }, + { + "name": "order", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_turns/properties/order" + } + } + ], + "result": { + "name": "list_turns_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation list_turns", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_turns" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/ThreadNotFound" + }, + { + "$ref": "#/components/errors/ConversationCursorInvalid" + } + ], + "name": "list_items", + "paramStructure": "by-name", + "params": [ + { + "name": "thread_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_items/properties/thread_id" + } + }, + { + "name": "turn_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_items/properties/turn_id" + } + }, + { + "name": "kinds", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_items/properties/kinds" + } + }, + { + "name": "limit", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_items/properties/limit" + } + }, + { + "name": "cursor", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_items/properties/cursor" + } + }, + { + "name": "order", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_items/properties/order" + } + } + ], + "result": { + "name": "list_items_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation list_items", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_items" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/ThreadNotFound" + }, + { + "$ref": "#/components/errors/ConversationItemNotFound" + } + ], + "name": "get_item", + "paramStructure": "by-name", + "params": [ + { + "name": "thread_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/get_item/properties/thread_id" + } + }, + { + "name": "item_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/get_item/properties/item_id" + } + } + ], + "result": { + "name": "get_item_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation get_item", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/get_item" + }, + "x-omni-stability": "stable" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/ThreadNotFound" + }, + { + "$ref": "#/components/errors/ConversationItemNotFound" + }, + { + "$ref": "#/components/errors/ConversationForkPointInvalid" + } + ], + "name": "fork_session", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fork_session/properties/session_id" + } + }, + { + "name": "new_session_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fork_session/properties/new_session_id" + } + }, + { + "name": "from_item_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fork_session/properties/from_item_id" + } + }, + { + "name": "from_turn_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fork_session/properties/from_turn_id" + } + } + ], + "result": { + "name": "fork_session_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation fork_session", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fork_session" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "set_session_hold", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/set_session_hold/properties/session_id" + } + }, + { + "name": "hold", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/set_session_hold/properties/hold" + } + } + ], + "result": { + "name": "set_session_hold_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation set_session_hold", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/set_session_hold" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "queue_status", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/queue_status/properties/session_id" + } + } + ], + "result": { + "name": "queue_status_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation queue_status", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/queue_status" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "enqueue_notification", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/enqueue_notification/properties/session_id" + } + }, + { + "name": "content", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/enqueue_notification/properties/content" + } + }, + { + "name": "source", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/enqueue_notification/properties/source" + } + }, + { + "name": "safe_tool_overrides", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/enqueue_notification/properties/safe_tool_overrides" + } + } + ], + "result": { + "name": "enqueue_notification_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation enqueue_notification", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/enqueue_notification" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "update_session_variables", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/update_session_variables/properties/session_id" + } + }, + { + "name": "updates", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/update_session_variables/properties/updates" + } + } + ], + "result": { + "name": "update_session_variables_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation update_session_variables", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/update_session_variables" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "set_client_status", + "paramStructure": "by-name", + "params": [ + { + "name": "text", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/set_client_status/properties/text" + } + } + ], + "result": { + "name": "set_client_status_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation set_client_status", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/set_client_status" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "disable_tool", + "paramStructure": "by-name", + "params": [ + { + "name": "tool_name", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/disable_tool/properties/tool_name" + } + } + ], + "result": { + "name": "disable_tool_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation disable_tool", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/disable_tool" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "disable_mcp_server", + "paramStructure": "by-name", + "params": [ + { + "name": "server_name", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/disable_mcp_server/properties/server_name" + } + } + ], + "result": { + "name": "disable_mcp_server_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation disable_mcp_server", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/disable_mcp_server" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "report_incident", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/report_incident/properties/session_id" + } + }, + { + "name": "description", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/report_incident/properties/description" + } + }, + { + "name": "disable_tools", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/report_incident/properties/disable_tools" + } + }, + { + "name": "disable_mcp_servers", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/report_incident/properties/disable_mcp_servers" + } + } + ], + "result": { + "name": "report_incident_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation report_incident", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/report_incident" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "export_session", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/export_session/properties/session_id" + } + }, + { + "name": "redact", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/export_session/properties/redact" + } + } + ], + "result": { + "name": "export_session_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation export_session", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/export_session" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "get_config", + "paramStructure": "by-name", + "params": [], + "result": { + "name": "get_config_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation get_config", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/get_config" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "validate_config", + "paramStructure": "by-name", + "params": [ + { + "name": "updates", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/validate_config/properties/updates" + } + } + ], + "result": { + "name": "validate_config_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation validate_config", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/validate_config" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + } + ], + "name": "write_config", + "paramStructure": "by-name", + "params": [ + { + "name": "updates", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/write_config/properties/updates" + } + } + ], + "result": { + "name": "write_config_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation write_config", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/write_config" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/McpServerNotFound" + }, + { + "$ref": "#/components/errors/McpConfigInvalid" + }, + { + "$ref": "#/components/errors/McpServerReadOnly" + }, + { + "$ref": "#/components/errors/McpOperationUnsupported" + }, + { + "$ref": "#/components/errors/McpServerUnavailable" + }, + { + "$ref": "#/components/errors/McpAuthStateInvalid" + }, + { + "$ref": "#/components/errors/McpAuthFailed" + } + ], + "name": "mcp_read_resource", + "paramStructure": "by-name", + "params": [ + { + "name": "server_name", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_read_resource/properties/server_name" + } + }, + { + "name": "uri", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_read_resource/properties/uri" + } + }, + { + "name": "session_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_read_resource/properties/session_id" + } + } + ], + "result": { + "name": "mcp_read_resource_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation mcp_read_resource", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_read_resource" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/McpServerNotFound" + }, + { + "$ref": "#/components/errors/McpConfigInvalid" + }, + { + "$ref": "#/components/errors/McpServerReadOnly" + }, + { + "$ref": "#/components/errors/McpOperationUnsupported" + }, + { + "$ref": "#/components/errors/McpServerUnavailable" + }, + { + "$ref": "#/components/errors/McpAuthStateInvalid" + }, + { + "$ref": "#/components/errors/McpAuthFailed" + } + ], + "name": "mcp_call_tool", + "paramStructure": "by-name", + "params": [ + { + "name": "server_name", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_call_tool/properties/server_name" + } + }, + { + "name": "tool_name", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_call_tool/properties/tool_name" + } + }, + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_call_tool/properties/session_id" + } + }, + { + "name": "args", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_call_tool/properties/args" + } + } + ], + "result": { + "name": "mcp_call_tool_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation mcp_call_tool", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_call_tool" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/McpServerNotFound" + }, + { + "$ref": "#/components/errors/McpConfigInvalid" + }, + { + "$ref": "#/components/errors/McpServerReadOnly" + }, + { + "$ref": "#/components/errors/McpOperationUnsupported" + }, + { + "$ref": "#/components/errors/McpServerUnavailable" + }, + { + "$ref": "#/components/errors/McpAuthStateInvalid" + }, + { + "$ref": "#/components/errors/McpAuthFailed" + } + ], + "name": "mcp_get_prompt", + "paramStructure": "by-name", + "params": [ + { + "name": "server_name", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_get_prompt/properties/server_name" + } + }, + { + "name": "prompt_name", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_get_prompt/properties/prompt_name" + } + }, + { + "name": "args", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_get_prompt/properties/args" + } + }, + { + "name": "session_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_get_prompt/properties/session_id" + } + } + ], + "result": { + "name": "mcp_get_prompt_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation mcp_get_prompt", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_get_prompt" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/FsPathInvalid" + }, + { + "$ref": "#/components/errors/FsNotFound" + }, + { + "$ref": "#/components/errors/FsTransferInvalid" + }, + { + "$ref": "#/components/errors/FsWatchInvalid" + }, + { + "$ref": "#/components/errors/FsReadOnly" + } + ], + "name": "fs_watch", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_watch/properties/session_id" + } + }, + { + "name": "path", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_watch/properties/path" + } + }, + { + "name": "recursive", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_watch/properties/recursive" + } + }, + { + "name": "poll_interval_ms", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_watch/properties/poll_interval_ms" + } + } + ], + "result": { + "name": "fs_watch_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation fs_watch", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_watch" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/FsPathInvalid" + }, + { + "$ref": "#/components/errors/FsNotFound" + }, + { + "$ref": "#/components/errors/FsTransferInvalid" + }, + { + "$ref": "#/components/errors/FsWatchInvalid" + }, + { + "$ref": "#/components/errors/FsReadOnly" + } + ], + "name": "fs_unwatch", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_unwatch/properties/session_id" + } + }, + { + "name": "watch_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_unwatch/properties/watch_id" + } + } + ], + "result": { + "name": "fs_unwatch_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation fs_unwatch", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_unwatch" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/FsPathInvalid" + }, + { + "$ref": "#/components/errors/FsNotFound" + }, + { + "$ref": "#/components/errors/FsTransferInvalid" + }, + { + "$ref": "#/components/errors/FsWatchInvalid" + }, + { + "$ref": "#/components/errors/FsReadOnly" + } + ], + "name": "fs_list", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_list/properties/session_id" + } + }, + { + "name": "path", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_list/properties/path" + } + }, + { + "name": "recursive", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_list/properties/recursive" + } + } + ], + "result": { + "name": "fs_list_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation fs_list", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_list" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/FsPathInvalid" + }, + { + "$ref": "#/components/errors/FsNotFound" + }, + { + "$ref": "#/components/errors/FsTransferInvalid" + }, + { + "$ref": "#/components/errors/FsWatchInvalid" + }, + { + "$ref": "#/components/errors/FsReadOnly" + } + ], + "name": "fs_stat", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_stat/properties/session_id" + } + }, + { + "name": "path", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_stat/properties/path" + } + } + ], + "result": { + "name": "fs_stat_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation fs_stat", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_stat" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/FsPathInvalid" + }, + { + "$ref": "#/components/errors/FsNotFound" + }, + { + "$ref": "#/components/errors/FsTransferInvalid" + }, + { + "$ref": "#/components/errors/FsWatchInvalid" + }, + { + "$ref": "#/components/errors/FsReadOnly" + } + ], + "name": "fs_download_open", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_download_open/properties/session_id" + } + }, + { + "name": "path", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_download_open/properties/path" + } + } + ], + "result": { + "name": "fs_download_open_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation fs_download_open", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_download_open" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/FsPathInvalid" + }, + { + "$ref": "#/components/errors/FsNotFound" + }, + { + "$ref": "#/components/errors/FsTransferInvalid" + }, + { + "$ref": "#/components/errors/FsWatchInvalid" + }, + { + "$ref": "#/components/errors/FsReadOnly" + } + ], + "name": "fs_download_read", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_download_read/properties/session_id" + } + }, + { + "name": "transfer_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_download_read/properties/transfer_id" + } + }, + { + "name": "offset", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_download_read/properties/offset" + } + }, + { + "name": "length", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_download_read/properties/length" + } + } + ], + "result": { + "name": "fs_download_read_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation fs_download_read", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_download_read" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/FsPathInvalid" + }, + { + "$ref": "#/components/errors/FsNotFound" + }, + { + "$ref": "#/components/errors/FsTransferInvalid" + }, + { + "$ref": "#/components/errors/FsWatchInvalid" + }, + { + "$ref": "#/components/errors/FsReadOnly" + } + ], + "name": "fs_download_close", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_download_close/properties/session_id" + } + }, + { + "name": "transfer_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_download_close/properties/transfer_id" + } + } + ], + "result": { + "name": "fs_download_close_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation fs_download_close", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_download_close" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/FsPathInvalid" + }, + { + "$ref": "#/components/errors/FsNotFound" + }, + { + "$ref": "#/components/errors/FsTransferInvalid" + }, + { + "$ref": "#/components/errors/FsWatchInvalid" + }, + { + "$ref": "#/components/errors/FsReadOnly" + } + ], + "name": "fs_upload_open", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_upload_open/properties/session_id" + } + }, + { + "name": "path", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_upload_open/properties/path" + } + }, + { + "name": "size", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_upload_open/properties/size" + } + }, + { + "name": "sha256", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_upload_open/properties/sha256" + } + }, + { + "name": "expected_sha256", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_upload_open/properties/expected_sha256" + } + }, + { + "name": "overwrite", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_upload_open/properties/overwrite" + } + } + ], + "result": { + "name": "fs_upload_open_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation fs_upload_open", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_upload_open" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/FsPathInvalid" + }, + { + "$ref": "#/components/errors/FsNotFound" + }, + { + "$ref": "#/components/errors/FsTransferInvalid" + }, + { + "$ref": "#/components/errors/FsWatchInvalid" + }, + { + "$ref": "#/components/errors/FsReadOnly" + } + ], + "name": "fs_upload_chunk", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_upload_chunk/properties/session_id" + } + }, + { + "name": "transfer_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_upload_chunk/properties/transfer_id" + } + }, + { + "name": "offset", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_upload_chunk/properties/offset" + } + }, + { + "name": "data", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_upload_chunk/properties/data" + } + } + ], + "result": { + "name": "fs_upload_chunk_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation fs_upload_chunk", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_upload_chunk" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/FsPathInvalid" + }, + { + "$ref": "#/components/errors/FsNotFound" + }, + { + "$ref": "#/components/errors/FsTransferInvalid" + }, + { + "$ref": "#/components/errors/FsWatchInvalid" + }, + { + "$ref": "#/components/errors/FsReadOnly" + } + ], + "name": "fs_upload_commit", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_upload_commit/properties/session_id" + } + }, + { + "name": "transfer_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_upload_commit/properties/transfer_id" + } + } + ], + "result": { + "name": "fs_upload_commit_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation fs_upload_commit", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_upload_commit" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/FsPathInvalid" + }, + { + "$ref": "#/components/errors/FsNotFound" + }, + { + "$ref": "#/components/errors/FsTransferInvalid" + }, + { + "$ref": "#/components/errors/FsWatchInvalid" + }, + { + "$ref": "#/components/errors/FsReadOnly" + } + ], + "name": "fs_upload_abort", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_upload_abort/properties/session_id" + } + }, + { + "name": "transfer_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_upload_abort/properties/transfer_id" + } + } + ], + "result": { + "name": "fs_upload_abort_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation fs_upload_abort", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_upload_abort" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/GitRepositoryNotFound" + }, + { + "$ref": "#/components/errors/GitPathInvalid" + }, + { + "$ref": "#/components/errors/GitOperationFailed" + }, + { + "$ref": "#/components/errors/GitConfirmationRequired" + }, + { + "$ref": "#/components/errors/GitStateInvalid" + }, + { + "$ref": "#/components/errors/GitCapabilityUnavailable" + } + ], + "name": "git_list_repositories", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_list_repositories/properties/session_id" + } + }, + { + "name": "path", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_list_repositories/properties/path" + } + }, + { + "name": "max_depth", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_list_repositories/properties/max_depth" + } + } + ], + "result": { + "name": "git_list_repositories_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation git_list_repositories", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_list_repositories" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/GitRepositoryNotFound" + }, + { + "$ref": "#/components/errors/GitPathInvalid" + }, + { + "$ref": "#/components/errors/GitOperationFailed" + }, + { + "$ref": "#/components/errors/GitConfirmationRequired" + }, + { + "$ref": "#/components/errors/GitStateInvalid" + }, + { + "$ref": "#/components/errors/GitCapabilityUnavailable" + } + ], + "name": "git_status", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_status/properties/session_id" + } + }, + { + "name": "repo", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_status/properties/repo" + } + }, + { + "name": "include_untracked", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_status/properties/include_untracked" + } + }, + { + "name": "include_ignored", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_status/properties/include_ignored" + } + }, + { + "name": "paths", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_status/properties/paths" + } + } + ], + "result": { + "name": "git_status_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation git_status", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_status" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/GitRepositoryNotFound" + }, + { + "$ref": "#/components/errors/GitPathInvalid" + }, + { + "$ref": "#/components/errors/GitOperationFailed" + }, + { + "$ref": "#/components/errors/GitConfirmationRequired" + }, + { + "$ref": "#/components/errors/GitStateInvalid" + }, + { + "$ref": "#/components/errors/GitCapabilityUnavailable" + } + ], + "name": "git_diff", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_diff/properties/session_id" + } + }, + { + "name": "repo", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_diff/properties/repo" + } + }, + { + "name": "mode", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_diff/properties/mode" + } + }, + { + "name": "paths", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_diff/properties/paths" + } + }, + { + "name": "context_lines", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_diff/properties/context_lines" + } + }, + { + "name": "from_rev", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_diff/properties/from_rev" + } + }, + { + "name": "to_rev", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_diff/properties/to_rev" + } + } + ], + "result": { + "name": "git_diff_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation git_diff", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_diff" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/GitRepositoryNotFound" + }, + { + "$ref": "#/components/errors/GitPathInvalid" + }, + { + "$ref": "#/components/errors/GitOperationFailed" + }, + { + "$ref": "#/components/errors/GitConfirmationRequired" + }, + { + "$ref": "#/components/errors/GitStateInvalid" + }, + { + "$ref": "#/components/errors/GitCapabilityUnavailable" + } + ], + "name": "git_log", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_log/properties/session_id" + } + }, + { + "name": "repo", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_log/properties/repo" + } + }, + { + "name": "rev", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_log/properties/rev" + } + }, + { + "name": "max_count", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_log/properties/max_count" + } + }, + { + "name": "skip", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_log/properties/skip" + } + }, + { + "name": "paths", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_log/properties/paths" + } + } + ], + "result": { + "name": "git_log_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation git_log", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_log" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/GitRepositoryNotFound" + }, + { + "$ref": "#/components/errors/GitPathInvalid" + }, + { + "$ref": "#/components/errors/GitOperationFailed" + }, + { + "$ref": "#/components/errors/GitConfirmationRequired" + }, + { + "$ref": "#/components/errors/GitStateInvalid" + }, + { + "$ref": "#/components/errors/GitCapabilityUnavailable" + } + ], + "name": "git_list_branches", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_list_branches/properties/session_id" + } + }, + { + "name": "repo", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_list_branches/properties/repo" + } + }, + { + "name": "include_remote", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_list_branches/properties/include_remote" + } + } + ], + "result": { + "name": "git_list_branches_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation git_list_branches", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_list_branches" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/GitRepositoryNotFound" + }, + { + "$ref": "#/components/errors/GitPathInvalid" + }, + { + "$ref": "#/components/errors/GitOperationFailed" + }, + { + "$ref": "#/components/errors/GitConfirmationRequired" + }, + { + "$ref": "#/components/errors/GitStateInvalid" + }, + { + "$ref": "#/components/errors/GitCapabilityUnavailable" + } + ], + "name": "git_list_worktrees", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_list_worktrees/properties/session_id" + } + }, + { + "name": "repo", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_list_worktrees/properties/repo" + } + } + ], + "result": { + "name": "git_list_worktrees_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation git_list_worktrees", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_list_worktrees" + }, + "x-omni-stability": "experimental" + }, + { "errors": [ { "$ref": "#/components/errors/InvalidRequest" @@ -257,60 +6445,164 @@ "$ref": "#/components/errors/TransportOverloaded" }, { - "$ref": "#/components/errors/AlreadyInitialized" + "$ref": "#/components/errors/InitializationRequired" }, { - "$ref": "#/components/errors/ProtocolVersionMismatch" + "$ref": "#/components/errors/GitRepositoryNotFound" }, { - "$ref": "#/components/errors/CapabilityMismatch" + "$ref": "#/components/errors/GitPathInvalid" + }, + { + "$ref": "#/components/errors/GitOperationFailed" + }, + { + "$ref": "#/components/errors/GitConfirmationRequired" + }, + { + "$ref": "#/components/errors/GitStateInvalid" + }, + { + "$ref": "#/components/errors/GitCapabilityUnavailable" } ], - "name": "initialize", + "name": "git_conflicts", "paramStructure": "by-name", "params": [ { - "name": "protocol_version", + "name": "session_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/initialize/properties/protocol_version" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_conflicts/properties/session_id" } }, { - "name": "identity", + "name": "repo", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/initialize/properties/identity" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_conflicts/properties/repo" } }, { - "name": "platform", + "name": "paths", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_conflicts/properties/paths" + } + } + ], + "result": { + "name": "git_conflicts_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation git_conflicts", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_conflicts" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" + }, + { + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/GitRepositoryNotFound" + }, + { + "$ref": "#/components/errors/GitPathInvalid" + }, + { + "$ref": "#/components/errors/GitOperationFailed" + }, + { + "$ref": "#/components/errors/GitConfirmationRequired" + }, + { + "$ref": "#/components/errors/GitStateInvalid" + }, + { + "$ref": "#/components/errors/GitCapabilityUnavailable" + } + ], + "name": "git_stage", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/initialize/properties/platform" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_stage/properties/session_id" } }, { - "name": "capabilities", + "name": "repo", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/initialize/properties/capabilities" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_stage/properties/repo" + } + }, + { + "name": "paths", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_stage/properties/paths" + } + }, + { + "name": "hunks", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_stage/properties/hunks" + } + }, + { + "name": "context_lines", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_stage/properties/context_lines" + } + }, + { + "name": "mode", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_stage/properties/mode" } } ], "result": { - "name": "initialize_result", + "name": "git_stage_result", "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/initializeResult" + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" } }, - "summary": "OmniAgents GUI protocol operation initialize", + "summary": "OmniAgents GUI protocol operation git_stage", "x-omni-direction": "client_to_server", "x-omni-kind": "request", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/initialize" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_stage" }, - "x-omni-stability": "stable" + "x-omni-stability": "experimental" }, { "errors": [ @@ -331,88 +6623,177 @@ }, { "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/GitRepositoryNotFound" + }, + { + "$ref": "#/components/errors/GitPathInvalid" + }, + { + "$ref": "#/components/errors/GitOperationFailed" + }, + { + "$ref": "#/components/errors/GitConfirmationRequired" + }, + { + "$ref": "#/components/errors/GitStateInvalid" + }, + { + "$ref": "#/components/errors/GitCapabilityUnavailable" } ], - "name": "start_run", + "name": "git_unstage", "paramStructure": "by-name", "params": [ { - "name": "prompt", + "name": "session_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/start_run/properties/prompt" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_unstage/properties/session_id" } }, { - "name": "session_id", - "required": false, + "name": "repo", + "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/start_run/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_unstage/properties/repo" } }, { - "name": "variables", + "name": "paths", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/start_run/properties/variables" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_unstage/properties/paths" } }, { - "name": "context", + "name": "hunks", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/start_run/properties/context" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_unstage/properties/hunks" } }, { - "name": "content", + "name": "context_lines", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/start_run/properties/content" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_unstage/properties/context_lines" } + } + ], + "result": { + "name": "git_unstage_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation git_unstage", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_unstage" + }, + "x-omni-stability": "experimental" + }, + { + "errors": [ + { + "$ref": "#/components/errors/InvalidRequest" }, { - "name": "workflow_name", + "$ref": "#/components/errors/MethodNotFound" + }, + { + "$ref": "#/components/errors/InvalidParams" + }, + { + "$ref": "#/components/errors/InternalError" + }, + { + "$ref": "#/components/errors/TransportOverloaded" + }, + { + "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/GitRepositoryNotFound" + }, + { + "$ref": "#/components/errors/GitPathInvalid" + }, + { + "$ref": "#/components/errors/GitOperationFailed" + }, + { + "$ref": "#/components/errors/GitConfirmationRequired" + }, + { + "$ref": "#/components/errors/GitStateInvalid" + }, + { + "$ref": "#/components/errors/GitCapabilityUnavailable" + } + ], + "name": "git_discard", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_discard/properties/session_id" + } + }, + { + "name": "repo", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_discard/properties/repo" + } + }, + { + "name": "paths", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/start_run/properties/workflow_name" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_discard/properties/paths" } }, { - "name": "group_id", + "name": "hunks", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/start_run/properties/group_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_discard/properties/hunks" } }, { - "name": "safe_tool_overrides", + "name": "context_lines", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/start_run/properties/safe_tool_overrides" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_discard/properties/context_lines" } }, { - "name": "prompt_role", + "name": "confirmation_token", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/start_run/properties/prompt_role" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_discard/properties/confirmation_token" } } ], "result": { - "name": "start_run_result", + "name": "git_discard_result", "schema": { "$ref": "./schemas/gui-v1.schema.json#/$defs/result" } }, - "summary": "OmniAgents GUI protocol operation start_run", + "summary": "OmniAgents GUI protocol operation git_discard", "x-omni-direction": "client_to_server", "x-omni-kind": "request", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/start_run" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_discard" }, - "x-omni-stability": "stable" + "x-omni-stability": "experimental" }, { "errors": [ @@ -433,32 +6814,92 @@ }, { "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/GitRepositoryNotFound" + }, + { + "$ref": "#/components/errors/GitPathInvalid" + }, + { + "$ref": "#/components/errors/GitOperationFailed" + }, + { + "$ref": "#/components/errors/GitConfirmationRequired" + }, + { + "$ref": "#/components/errors/GitStateInvalid" + }, + { + "$ref": "#/components/errors/GitCapabilityUnavailable" } ], - "name": "stop_run", + "name": "git_commit", "paramStructure": "by-name", "params": [ { - "name": "run_id", - "required": true, + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_commit/properties/session_id" + } + }, + { + "name": "repo", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_commit/properties/repo" + } + }, + { + "name": "message", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_commit/properties/message" + } + }, + { + "name": "amend", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_commit/properties/amend" + } + }, + { + "name": "allow_empty", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_commit/properties/allow_empty" + } + }, + { + "name": "author", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_commit/properties/author" + } + }, + { + "name": "confirmation_token", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/stop_run/properties/run_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_commit/properties/confirmation_token" } } ], "result": { - "name": "stop_run_result", + "name": "git_commit_result", "schema": { "$ref": "./schemas/gui-v1.schema.json#/$defs/result" } }, - "summary": "OmniAgents GUI protocol operation stop_run", + "summary": "OmniAgents GUI protocol operation git_commit", "x-omni-direction": "client_to_server", "x-omni-kind": "request", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/stop_run" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_commit" }, - "x-omni-stability": "stable" + "x-omni-stability": "experimental" }, { "errors": [ @@ -479,85 +6920,99 @@ }, { "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/GitRepositoryNotFound" + }, + { + "$ref": "#/components/errors/GitPathInvalid" + }, + { + "$ref": "#/components/errors/GitOperationFailed" + }, + { + "$ref": "#/components/errors/GitConfirmationRequired" + }, + { + "$ref": "#/components/errors/GitStateInvalid" + }, + { + "$ref": "#/components/errors/GitCapabilityUnavailable" } ], - "name": "send_user_message", + "name": "git_checkout", "paramStructure": "by-name", "params": [ { - "name": "run_id", + "name": "session_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/send_user_message/properties/run_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_checkout/properties/session_id" } }, { - "name": "content", + "name": "repo", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/send_user_message/properties/content" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_checkout/properties/repo" } - } - ], - "result": { - "name": "send_user_message_result", - "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/result" - } - }, - "summary": "OmniAgents GUI protocol operation send_user_message", - "x-omni-direction": "client_to_server", - "x-omni-kind": "request", - "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/send_user_message" - }, - "x-omni-stability": "stable" - }, - { - "errors": [ - { - "$ref": "#/components/errors/InvalidRequest" }, { - "$ref": "#/components/errors/MethodNotFound" + "name": "branch", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_checkout/properties/branch" + } }, { - "$ref": "#/components/errors/InvalidParams" + "name": "create", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_checkout/properties/create" + } }, { - "$ref": "#/components/errors/InternalError" + "name": "start_point", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_checkout/properties/start_point" + } }, { - "$ref": "#/components/errors/TransportOverloaded" + "name": "detach", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_checkout/properties/detach" + } }, { - "$ref": "#/components/errors/InitializationRequired" - } - ], - "name": "get_session_history", - "paramStructure": "by-name", - "params": [ + "name": "discard_changes", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_checkout/properties/discard_changes" + } + }, { - "name": "session_id", - "required": true, + "name": "confirmation_token", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/get_session_history/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_checkout/properties/confirmation_token" } } ], "result": { - "name": "get_session_history_result", + "name": "git_checkout_result", "schema": { "$ref": "./schemas/gui-v1.schema.json#/$defs/result" } }, - "summary": "OmniAgents GUI protocol operation get_session_history", + "summary": "OmniAgents GUI protocol operation git_checkout", "x-omni-direction": "client_to_server", "x-omni-kind": "request", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/get_session_history" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_checkout" }, - "x-omni-stability": "stable" + "x-omni-stability": "experimental" }, { "errors": [ @@ -578,39 +7033,85 @@ }, { "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/GitRepositoryNotFound" + }, + { + "$ref": "#/components/errors/GitPathInvalid" + }, + { + "$ref": "#/components/errors/GitOperationFailed" + }, + { + "$ref": "#/components/errors/GitConfirmationRequired" + }, + { + "$ref": "#/components/errors/GitStateInvalid" + }, + { + "$ref": "#/components/errors/GitCapabilityUnavailable" } ], - "name": "list_sessions", + "name": "git_reset", "paramStructure": "by-name", "params": [ { - "name": "limit", + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_reset/properties/session_id" + } + }, + { + "name": "repo", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_reset/properties/repo" + } + }, + { + "name": "mode", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/list_sessions/properties/limit" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_reset/properties/mode" } }, { - "name": "offset", + "name": "rev", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/list_sessions/properties/offset" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_reset/properties/rev" + } + }, + { + "name": "paths", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_reset/properties/paths" + } + }, + { + "name": "confirmation_token", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_reset/properties/confirmation_token" } } ], "result": { - "name": "list_sessions_result", + "name": "git_reset_result", "schema": { "$ref": "./schemas/gui-v1.schema.json#/$defs/result" } }, - "summary": "OmniAgents GUI protocol operation list_sessions", + "summary": "OmniAgents GUI protocol operation git_reset", "x-omni-direction": "client_to_server", "x-omni-kind": "request", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/list_sessions" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_reset" }, - "x-omni-stability": "stable" + "x-omni-stability": "experimental" }, { "errors": [ @@ -631,32 +7132,78 @@ }, { "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/GitRepositoryNotFound" + }, + { + "$ref": "#/components/errors/GitPathInvalid" + }, + { + "$ref": "#/components/errors/GitOperationFailed" + }, + { + "$ref": "#/components/errors/GitConfirmationRequired" + }, + { + "$ref": "#/components/errors/GitStateInvalid" + }, + { + "$ref": "#/components/errors/GitCapabilityUnavailable" } ], - "name": "archive_session", + "name": "git_fetch", "paramStructure": "by-name", "params": [ { "name": "session_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/archive_session/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_fetch/properties/session_id" + } + }, + { + "name": "repo", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_fetch/properties/repo" + } + }, + { + "name": "remote", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_fetch/properties/remote" + } + }, + { + "name": "refspec", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_fetch/properties/refspec" + } + }, + { + "name": "prune", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_fetch/properties/prune" } } ], "result": { - "name": "archive_session_result", + "name": "git_fetch_result", "schema": { "$ref": "./schemas/gui-v1.schema.json#/$defs/result" } }, - "summary": "OmniAgents GUI protocol operation archive_session", + "summary": "OmniAgents GUI protocol operation git_fetch", "x-omni-direction": "client_to_server", "x-omni-kind": "request", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/archive_session" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_fetch" }, - "x-omni-stability": "stable" + "x-omni-stability": "experimental" }, { "errors": [ @@ -677,32 +7224,78 @@ }, { "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/GitRepositoryNotFound" + }, + { + "$ref": "#/components/errors/GitPathInvalid" + }, + { + "$ref": "#/components/errors/GitOperationFailed" + }, + { + "$ref": "#/components/errors/GitConfirmationRequired" + }, + { + "$ref": "#/components/errors/GitStateInvalid" + }, + { + "$ref": "#/components/errors/GitCapabilityUnavailable" } ], - "name": "delete_session", + "name": "git_pull", "paramStructure": "by-name", "params": [ { "name": "session_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/delete_session/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_pull/properties/session_id" + } + }, + { + "name": "repo", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_pull/properties/repo" + } + }, + { + "name": "remote", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_pull/properties/remote" + } + }, + { + "name": "refspec", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_pull/properties/refspec" + } + }, + { + "name": "rebase", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_pull/properties/rebase" } } ], "result": { - "name": "delete_session_result", + "name": "git_pull_result", "schema": { "$ref": "./schemas/gui-v1.schema.json#/$defs/result" } }, - "summary": "OmniAgents GUI protocol operation delete_session", + "summary": "OmniAgents GUI protocol operation git_pull", "x-omni-direction": "client_to_server", "x-omni-kind": "request", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/delete_session" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_pull" }, - "x-omni-stability": "stable" + "x-omni-stability": "experimental" }, { "errors": [ @@ -723,77 +7316,99 @@ }, { "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/GitRepositoryNotFound" + }, + { + "$ref": "#/components/errors/GitPathInvalid" + }, + { + "$ref": "#/components/errors/GitOperationFailed" + }, + { + "$ref": "#/components/errors/GitConfirmationRequired" + }, + { + "$ref": "#/components/errors/GitStateInvalid" + }, + { + "$ref": "#/components/errors/GitCapabilityUnavailable" } ], - "name": "get_user_history", + "name": "git_push", "paramStructure": "by-name", "params": [ { - "name": "limit", - "required": false, + "name": "session_id", + "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/get_user_history/properties/limit" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_push/properties/session_id" } }, { - "name": "include_archived", - "required": false, + "name": "repo", + "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/get_user_history/properties/include_archived" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_push/properties/repo" } - } - ], - "result": { - "name": "get_user_history_result", - "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/result" - } - }, - "summary": "OmniAgents GUI protocol operation get_user_history", - "x-omni-direction": "client_to_server", - "x-omni-kind": "request", - "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/get_user_history" - }, - "x-omni-stability": "stable" - }, - { - "errors": [ + }, { - "$ref": "#/components/errors/InvalidRequest" + "name": "remote", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_push/properties/remote" + } }, { - "$ref": "#/components/errors/MethodNotFound" + "name": "refspec", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_push/properties/refspec" + } }, { - "$ref": "#/components/errors/InvalidParams" + "name": "force", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_push/properties/force" + } }, { - "$ref": "#/components/errors/InternalError" + "name": "force_with_lease", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_push/properties/force_with_lease" + } }, { - "$ref": "#/components/errors/TransportOverloaded" + "name": "set_upstream", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_push/properties/set_upstream" + } }, { - "$ref": "#/components/errors/InitializationRequired" + "name": "confirmation_token", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_push/properties/confirmation_token" + } } ], - "name": "get_agent_info", - "paramStructure": "by-name", - "params": [], "result": { - "name": "get_agent_info_result", + "name": "git_push_result", "schema": { "$ref": "./schemas/gui-v1.schema.json#/$defs/result" } }, - "summary": "OmniAgents GUI protocol operation get_agent_info", + "summary": "OmniAgents GUI protocol operation git_push", "x-omni-direction": "client_to_server", "x-omni-kind": "request", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/get_agent_info" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_push" }, - "x-omni-stability": "stable" + "x-omni-stability": "experimental" }, { "errors": [ @@ -814,113 +7429,112 @@ }, { "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/ConversationCursorInvalid" } ], - "name": "tool_approval_response", + "name": "list_threads", "paramStructure": "by-name", "params": [ { - "name": "call_id", - "required": true, + "name": "status", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_response/properties/call_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_threads/properties/status" } }, { - "name": "decision", - "required": true, + "name": "pinned", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_response/properties/decision" + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_threads/properties/pinned" } }, { - "name": "always_approve", + "name": "source", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_response/properties/always_approve" + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_threads/properties/source" } }, { - "name": "rejection_message", + "name": "model", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_response/properties/rejection_message" + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_threads/properties/model" } - } - ], - "result": { - "name": "tool_approval_response_result", - "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/result" - } - }, - "summary": "OmniAgents GUI protocol operation tool_approval_response", - "x-omni-direction": "client_to_server", - "x-omni-kind": "request", - "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_response" - }, - "x-omni-stability": "stable" - }, - { - "errors": [ - { - "$ref": "#/components/errors/InvalidRequest" }, { - "$ref": "#/components/errors/MethodNotFound" + "name": "parent_thread_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_threads/properties/parent_thread_id" + } }, { - "$ref": "#/components/errors/InvalidParams" + "name": "created_after", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_threads/properties/created_after" + } }, { - "$ref": "#/components/errors/InternalError" + "name": "created_before", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_threads/properties/created_before" + } }, { - "$ref": "#/components/errors/TransportOverloaded" + "name": "updated_after", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_threads/properties/updated_after" + } }, { - "$ref": "#/components/errors/InitializationRequired" - } - ], - "name": "mcp_approval_response", - "paramStructure": "by-name", - "params": [ + "name": "updated_before", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_threads/properties/updated_before" + } + }, { - "name": "request_id", - "required": true, + "name": "limit", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_response/properties/request_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_threads/properties/limit" } }, { - "name": "decision", - "required": true, + "name": "cursor", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_response/properties/decision" + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_threads/properties/cursor" } }, { - "name": "rejection_message", + "name": "order", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_response/properties/rejection_message" + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_threads/properties/order" } } ], "result": { - "name": "mcp_approval_response_result", + "name": "list_threads_result", "schema": { "$ref": "./schemas/gui-v1.schema.json#/$defs/result" } }, - "summary": "OmniAgents GUI protocol operation mcp_approval_response", + "summary": "OmniAgents GUI protocol operation list_threads", "x-omni-direction": "client_to_server", "x-omni-kind": "request", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_response" + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_threads" }, - "x-omni-stability": "stable" + "x-omni-stability": "experimental" }, { "errors": [ @@ -941,106 +7555,115 @@ }, { "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/ConversationCursorInvalid" + }, + { + "$ref": "#/components/errors/ConversationSearchUnavailable" } ], - "name": "client_functions", + "name": "search_threads", "paramStructure": "by-name", "params": [ { - "name": "functions", + "name": "query", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/client_functions/properties/functions" + "$ref": "./schemas/gui-v1.schema.json#/$defs/search_threads/properties/query" } }, { - "name": "version", + "name": "status", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/client_functions/properties/version" + "$ref": "./schemas/gui-v1.schema.json#/$defs/search_threads/properties/status" } - } - ], - "result": { - "name": "client_functions_result", - "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/result" - } - }, - "summary": "OmniAgents GUI protocol operation client_functions", - "x-omni-direction": "client_to_server", - "x-omni-kind": "request", - "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/client_functions" - }, - "x-omni-stability": "stable" - }, - { - "errors": [ + }, { - "$ref": "#/components/errors/InvalidRequest" + "name": "pinned", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/search_threads/properties/pinned" + } }, { - "$ref": "#/components/errors/MethodNotFound" + "name": "source", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/search_threads/properties/source" + } }, { - "$ref": "#/components/errors/InvalidParams" + "name": "model", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/search_threads/properties/model" + } }, { - "$ref": "#/components/errors/InternalError" + "name": "parent_thread_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/search_threads/properties/parent_thread_id" + } }, { - "$ref": "#/components/errors/TransportOverloaded" + "name": "created_after", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/search_threads/properties/created_after" + } }, { - "$ref": "#/components/errors/InitializationRequired" - } - ], - "name": "client_response", - "paramStructure": "by-name", - "params": [ + "name": "created_before", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/search_threads/properties/created_before" + } + }, { - "name": "request_id", - "required": true, + "name": "updated_after", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/client_response/properties/request_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/search_threads/properties/updated_after" } }, { - "name": "ok", - "required": true, + "name": "updated_before", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/client_response/properties/ok" + "$ref": "./schemas/gui-v1.schema.json#/$defs/search_threads/properties/updated_before" } }, { - "name": "result", + "name": "limit", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/client_response/properties/result" + "$ref": "./schemas/gui-v1.schema.json#/$defs/search_threads/properties/limit" } }, { - "name": "error", + "name": "cursor", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/client_response/properties/error" + "$ref": "./schemas/gui-v1.schema.json#/$defs/search_threads/properties/cursor" } } ], "result": { - "name": "client_response_result", + "name": "search_threads_result", "schema": { "$ref": "./schemas/gui-v1.schema.json#/$defs/result" } }, - "summary": "OmniAgents GUI protocol operation client_response", + "summary": "OmniAgents GUI protocol operation search_threads", "x-omni-direction": "client_to_server", "x-omni-kind": "request", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/client_response" + "$ref": "./schemas/gui-v1.schema.json#/$defs/search_threads" }, - "x-omni-stability": "stable" + "x-omni-stability": "experimental" }, { "errors": [ @@ -1061,24 +7684,66 @@ }, { "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/ThreadNotFound" + }, + { + "$ref": "#/components/errors/ThreadMetadataInvalid" } ], - "name": "list_server_functions", + "name": "update_thread", "paramStructure": "by-name", - "params": [], + "params": [ + { + "name": "thread_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/update_thread/properties/thread_id" + } + }, + { + "name": "title", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/update_thread/properties/title" + } + }, + { + "name": "pinned", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/update_thread/properties/pinned" + } + }, + { + "name": "status", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/update_thread/properties/status" + } + }, + { + "name": "metadata", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/update_thread/properties/metadata" + } + } + ], "result": { - "name": "list_server_functions_result", + "name": "update_thread_result", "schema": { "$ref": "./schemas/gui-v1.schema.json#/$defs/result" } }, - "summary": "OmniAgents GUI protocol operation list_server_functions", + "summary": "OmniAgents GUI protocol operation update_thread", "x-omni-direction": "client_to_server", "x-omni-kind": "request", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/list_server_functions" + "$ref": "./schemas/gui-v1.schema.json#/$defs/update_thread" }, - "x-omni-stability": "stable" + "x-omni-stability": "experimental" }, { "errors": [ @@ -1099,46 +7764,49 @@ }, { "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/ThreadNotFound" } ], - "name": "server_call", + "name": "list_thread_descendants", "paramStructure": "by-name", "params": [ { - "name": "function", + "name": "thread_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/server_call/properties/function" + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_thread_descendants/properties/thread_id" } }, { - "name": "args", + "name": "max_depth", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/server_call/properties/args" + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_thread_descendants/properties/max_depth" } }, { - "name": "session_id", + "name": "limit", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/server_call/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_thread_descendants/properties/limit" } } ], "result": { - "name": "server_call_result", + "name": "list_thread_descendants_result", "schema": { "$ref": "./schemas/gui-v1.schema.json#/$defs/result" } }, - "summary": "OmniAgents GUI protocol operation server_call", + "summary": "OmniAgents GUI protocol operation list_thread_descendants", "x-omni-direction": "client_to_server", "x-omni-kind": "request", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/server_call" + "$ref": "./schemas/gui-v1.schema.json#/$defs/list_thread_descendants" }, - "x-omni-stability": "stable" + "x-omni-stability": "experimental" }, { "errors": [ @@ -1158,75 +7826,60 @@ "$ref": "#/components/errors/TransportOverloaded" }, { - "$ref": "#/components/errors/InitializationRequired" - } - ], - "name": "enqueue_message", - "paramStructure": "by-name", - "params": [ - { - "name": "session_id", - "required": true, - "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/enqueue_message/properties/session_id" - } - }, - { - "name": "content", - "required": true, - "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/enqueue_message/properties/content" - } + "$ref": "#/components/errors/InitializationRequired" }, { - "name": "role", - "required": false, - "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/enqueue_message/properties/role" - } + "$ref": "#/components/errors/ThreadNotFound" }, { - "name": "trigger_run", - "required": false, + "$ref": "#/components/errors/ConversationCursorInvalid" + } + ], + "name": "export_thread", + "paramStructure": "by-name", + "params": [ + { + "name": "thread_id", + "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/enqueue_message/properties/trigger_run" + "$ref": "./schemas/gui-v1.schema.json#/$defs/export_thread/properties/thread_id" } }, { - "name": "variables", + "name": "limit", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/enqueue_message/properties/variables" + "$ref": "./schemas/gui-v1.schema.json#/$defs/export_thread/properties/limit" } }, { - "name": "safe_tool_overrides", + "name": "cursor", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/enqueue_message/properties/safe_tool_overrides" + "$ref": "./schemas/gui-v1.schema.json#/$defs/export_thread/properties/cursor" } }, { - "name": "source", + "name": "include_descendants", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/enqueue_message/properties/source" + "$ref": "./schemas/gui-v1.schema.json#/$defs/export_thread/properties/include_descendants" } } ], "result": { - "name": "enqueue_message_result", + "name": "export_thread_result", "schema": { "$ref": "./schemas/gui-v1.schema.json#/$defs/result" } }, - "summary": "OmniAgents GUI protocol operation enqueue_message", + "summary": "OmniAgents GUI protocol operation export_thread", "x-omni-direction": "client_to_server", "x-omni-kind": "request", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/enqueue_message" + "$ref": "./schemas/gui-v1.schema.json#/$defs/export_thread" }, - "x-omni-stability": "stable" + "x-omni-stability": "experimental" }, { "errors": [ @@ -1249,30 +7902,37 @@ "$ref": "#/components/errors/InitializationRequired" } ], - "name": "list_queue", + "name": "purge_threads", "paramStructure": "by-name", "params": [ { - "name": "session_id", + "name": "retention_days", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/list_queue/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/purge_threads/properties/retention_days" + } + }, + { + "name": "dry_run", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/purge_threads/properties/dry_run" } } ], "result": { - "name": "list_queue_result", + "name": "purge_threads_result", "schema": { "$ref": "./schemas/gui-v1.schema.json#/$defs/result" } }, - "summary": "OmniAgents GUI protocol operation list_queue", + "summary": "OmniAgents GUI protocol operation purge_threads", "x-omni-direction": "client_to_server", "x-omni-kind": "request", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/list_queue" + "$ref": "./schemas/gui-v1.schema.json#/$defs/purge_threads" }, - "x-omni-stability": "stable" + "x-omni-stability": "experimental" }, { "errors": [ @@ -1293,39 +7953,42 @@ }, { "$ref": "#/components/errors/InitializationRequired" + }, + { + "$ref": "#/components/errors/ThreadNotFound" } ], - "name": "cancel_queued_message", + "name": "get_plan", "paramStructure": "by-name", "params": [ { - "name": "session_id", + "name": "thread_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/cancel_queued_message/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/get_plan/properties/thread_id" } }, { - "name": "item_id", - "required": true, + "name": "scope", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/cancel_queued_message/properties/item_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/get_plan/properties/scope" } } ], "result": { - "name": "cancel_queued_message_result", + "name": "get_plan_result", "schema": { "$ref": "./schemas/gui-v1.schema.json#/$defs/result" } }, - "summary": "OmniAgents GUI protocol operation cancel_queued_message", + "summary": "OmniAgents GUI protocol operation get_plan", "x-omni-direction": "client_to_server", "x-omni-kind": "request", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/cancel_queued_message" + "$ref": "./schemas/gui-v1.schema.json#/$defs/get_plan" }, - "x-omni-stability": "stable" + "x-omni-stability": "experimental" }, { "errors": [ @@ -1348,1748 +8011,1954 @@ "$ref": "#/components/errors/InitializationRequired" }, { - "$ref": "#/components/errors/ResyncRequired" + "$ref": "#/components/errors/ThreadNotFound" + }, + { + "$ref": "#/components/errors/ConversationTurnNotFound" } ], - "name": "resume_session", + "name": "get_run_diff", + "paramStructure": "by-name", + "params": [ + { + "name": "thread_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/get_run_diff/properties/thread_id" + } + }, + { + "name": "turn_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/get_run_diff/properties/turn_id" + } + } + ], + "result": { + "name": "get_run_diff_result", + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + } + }, + "summary": "OmniAgents GUI protocol operation get_run_diff", + "x-omni-direction": "client_to_server", + "x-omni-kind": "request", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/get_run_diff" + }, + "x-omni-stability": "experimental" + }, + { + "name": "initialized", + "paramStructure": "by-name", + "params": [], + "result": { + "name": "initialized_result", + "schema": { + "type": "null" + } + }, + "summary": "OmniAgents GUI protocol operation initialized", + "x-omni-direction": "client_to_server", + "x-omni-kind": "notification", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/initialized" + }, + "x-omni-stability": "stable" + }, + { + "name": "run_started", "paramStructure": "by-name", "params": [ + { + "name": "run_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_started/properties/run_id" + } + }, { "name": "session_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/resume_session/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_started/properties/session_id" } }, { - "name": "stream_id", + "name": "prompt", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/resume_session/properties/stream_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_started/properties/prompt" } }, { - "name": "after_seq", + "name": "prompt_role", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/resume_session/properties/after_seq" + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_started/properties/prompt_role" + } + }, + { + "name": "seq", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_started/properties/seq" + } + }, + { + "name": "stream_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_started/properties/stream_id" } } ], "result": { - "name": "resume_session_result", + "name": "run_started_result", "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + "type": "null" } }, - "summary": "OmniAgents GUI protocol operation resume_session", - "x-omni-direction": "client_to_server", - "x-omni-kind": "request", + "summary": "OmniAgents GUI protocol operation run_started", + "x-omni-direction": "server_to_client", + "x-omni-kind": "notification", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/resume_session" + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_started" }, "x-omni-stability": "stable" }, { - "errors": [ + "name": "run_status", + "paramStructure": "by-name", + "params": [ { - "$ref": "#/components/errors/InvalidRequest" + "name": "run_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_status/properties/run_id" + } }, { - "$ref": "#/components/errors/MethodNotFound" + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_status/properties/session_id" + } }, { - "$ref": "#/components/errors/InvalidParams" + "name": "status", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_status/properties/status" + } }, { - "$ref": "#/components/errors/InternalError" + "name": "message", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_status/properties/message" + } }, { - "$ref": "#/components/errors/TransportOverloaded" + "name": "attempt", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_status/properties/attempt" + } }, { - "$ref": "#/components/errors/InitializationRequired" + "name": "total", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_status/properties/total" + } }, { - "$ref": "#/components/errors/ResyncRequired" + "name": "next_delay", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_status/properties/next_delay" + } + }, + { + "name": "seq", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_status/properties/seq" + } + }, + { + "name": "stream_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_status/properties/stream_id" + } } ], - "name": "ack_events", + "result": { + "name": "run_status_result", + "schema": { + "type": "null" + } + }, + "summary": "OmniAgents GUI protocol operation run_status", + "x-omni-direction": "server_to_client", + "x-omni-kind": "notification", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_status" + }, + "x-omni-stability": "stable" + }, + { + "name": "tool_called", "paramStructure": "by-name", "params": [ + { + "name": "run_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_called/properties/run_id" + } + }, { "name": "session_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/ack_events/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_called/properties/session_id" } }, { - "name": "stream_id", + "name": "tool", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/ack_events/properties/stream_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_called/properties/tool" } }, { - "name": "seq", + "name": "input", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_called/properties/input" + } + }, + { + "name": "call_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/ack_events/properties/seq" + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_called/properties/call_id" + } + }, + { + "name": "seq", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_called/properties/seq" + } + }, + { + "name": "stream_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_called/properties/stream_id" } } ], "result": { - "name": "ack_events_result", + "name": "tool_called_result", "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + "type": "null" } }, - "summary": "OmniAgents GUI protocol operation ack_events", - "x-omni-direction": "client_to_server", - "x-omni-kind": "request", + "summary": "OmniAgents GUI protocol operation tool_called", + "x-omni-direction": "server_to_client", + "x-omni-kind": "notification", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/ack_events" + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_called" }, "x-omni-stability": "stable" }, { - "errors": [ + "name": "tool_result", + "paramStructure": "by-name", + "params": [ { - "$ref": "#/components/errors/InvalidRequest" + "name": "run_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_result/properties/run_id" + } }, { - "$ref": "#/components/errors/MethodNotFound" + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_result/properties/session_id" + } }, { - "$ref": "#/components/errors/InvalidParams" + "name": "tool", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_result/properties/tool" + } }, { - "$ref": "#/components/errors/InternalError" + "name": "output", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_result/properties/output" + } }, { - "$ref": "#/components/errors/TransportOverloaded" + "name": "call_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_result/properties/call_id" + } }, { - "$ref": "#/components/errors/InitializationRequired" - } - ], - "name": "fork_session", - "paramStructure": "by-name", - "params": [ + "name": "metadata", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_result/properties/metadata" + } + }, { - "name": "session_id", - "required": true, + "name": "seq", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/fork_session/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_result/properties/seq" } }, { - "name": "new_session_id", + "name": "stream_id", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/fork_session/properties/new_session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_result/properties/stream_id" } } ], "result": { - "name": "fork_session_result", + "name": "tool_result_result", "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + "type": "null" } }, - "summary": "OmniAgents GUI protocol operation fork_session", - "x-omni-direction": "client_to_server", - "x-omni-kind": "request", + "summary": "OmniAgents GUI protocol operation tool_result", + "x-omni-direction": "server_to_client", + "x-omni-kind": "notification", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/fork_session" + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_result" }, - "x-omni-stability": "experimental" + "x-omni-stability": "stable" }, { - "errors": [ + "name": "message_output", + "paramStructure": "by-name", + "params": [ { - "$ref": "#/components/errors/InvalidRequest" + "name": "run_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/message_output/properties/run_id" + } }, { - "$ref": "#/components/errors/MethodNotFound" + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/message_output/properties/session_id" + } }, { - "$ref": "#/components/errors/InvalidParams" + "name": "content", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/message_output/properties/content" + } }, { - "$ref": "#/components/errors/InternalError" + "name": "is_final", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/message_output/properties/is_final" + } }, { - "$ref": "#/components/errors/TransportOverloaded" + "name": "message_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/message_output/properties/message_id" + } }, { - "$ref": "#/components/errors/InitializationRequired" - } - ], - "name": "set_session_hold", - "paramStructure": "by-name", - "params": [ - { - "name": "session_id", - "required": true, + "name": "seq", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/set_session_hold/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/message_output/properties/seq" } }, { - "name": "hold", - "required": true, + "name": "stream_id", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/set_session_hold/properties/hold" + "$ref": "./schemas/gui-v1.schema.json#/$defs/message_output/properties/stream_id" } } ], "result": { - "name": "set_session_hold_result", + "name": "message_output_result", "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + "type": "null" } }, - "summary": "OmniAgents GUI protocol operation set_session_hold", - "x-omni-direction": "client_to_server", - "x-omni-kind": "request", + "summary": "OmniAgents GUI protocol operation message_output", + "x-omni-direction": "server_to_client", + "x-omni-kind": "notification", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/set_session_hold" + "$ref": "./schemas/gui-v1.schema.json#/$defs/message_output" }, - "x-omni-stability": "experimental" + "x-omni-stability": "stable" }, { - "errors": [ - { - "$ref": "#/components/errors/InvalidRequest" - }, - { - "$ref": "#/components/errors/MethodNotFound" - }, + "name": "token", + "paramStructure": "by-name", + "params": [ { - "$ref": "#/components/errors/InvalidParams" + "name": "run_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/token/properties/run_id" + } }, { - "$ref": "#/components/errors/InternalError" + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/token/properties/session_id" + } }, { - "$ref": "#/components/errors/TransportOverloaded" + "name": "delta", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/token/properties/delta" + } }, { - "$ref": "#/components/errors/InitializationRequired" - } - ], - "name": "queue_status", - "paramStructure": "by-name", - "params": [ - { - "name": "session_id", + "name": "totals", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/queue_status/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/token/properties/totals" } - } - ], - "result": { - "name": "queue_status_result", - "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/result" - } - }, - "summary": "OmniAgents GUI protocol operation queue_status", - "x-omni-direction": "client_to_server", - "x-omni-kind": "request", - "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/queue_status" - }, - "x-omni-stability": "experimental" - }, - { - "errors": [ - { - "$ref": "#/components/errors/InvalidRequest" }, { - "$ref": "#/components/errors/MethodNotFound" + "name": "turn", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/token/properties/turn" + } }, { - "$ref": "#/components/errors/InvalidParams" + "name": "response_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/token/properties/response_id" + } }, { - "$ref": "#/components/errors/InternalError" + "name": "model", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/token/properties/model" + } }, { - "$ref": "#/components/errors/TransportOverloaded" + "name": "model_ref", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/token/properties/model_ref" + } }, { - "$ref": "#/components/errors/InitializationRequired" - } - ], - "name": "enqueue_notification", - "paramStructure": "by-name", - "params": [ + "name": "max_input_tokens", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/token/properties/max_input_tokens" + } + }, { - "name": "session_id", - "required": true, + "name": "max_output_tokens", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/enqueue_notification/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/token/properties/max_output_tokens" } }, { - "name": "content", - "required": true, + "name": "truncation", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/enqueue_notification/properties/content" + "$ref": "./schemas/gui-v1.schema.json#/$defs/token/properties/truncation" } }, { - "name": "source", + "name": "seq", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/enqueue_notification/properties/source" + "$ref": "./schemas/gui-v1.schema.json#/$defs/token/properties/seq" } }, { - "name": "safe_tool_overrides", + "name": "stream_id", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/enqueue_notification/properties/safe_tool_overrides" + "$ref": "./schemas/gui-v1.schema.json#/$defs/token/properties/stream_id" } } ], "result": { - "name": "enqueue_notification_result", + "name": "token_result", "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + "type": "null" } }, - "summary": "OmniAgents GUI protocol operation enqueue_notification", - "x-omni-direction": "client_to_server", - "x-omni-kind": "request", + "summary": "OmniAgents GUI protocol operation token", + "x-omni-direction": "server_to_client", + "x-omni-kind": "notification", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/enqueue_notification" + "$ref": "./schemas/gui-v1.schema.json#/$defs/token" }, - "x-omni-stability": "experimental" + "x-omni-stability": "stable" }, { - "errors": [ + "name": "run_end", + "paramStructure": "by-name", + "params": [ { - "$ref": "#/components/errors/InvalidRequest" + "name": "run_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_end/properties/run_id" + } }, { - "$ref": "#/components/errors/MethodNotFound" + "name": "session_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_end/properties/session_id" + } }, { - "$ref": "#/components/errors/InvalidParams" + "name": "end_reason", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_end/properties/end_reason" + } }, { - "$ref": "#/components/errors/InternalError" + "name": "usage", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_end/properties/usage" + } }, { - "$ref": "#/components/errors/TransportOverloaded" + "name": "model", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_end/properties/model" + } }, { - "$ref": "#/components/errors/InitializationRequired" - } - ], - "name": "update_session_variables", - "paramStructure": "by-name", - "params": [ - { - "name": "session_id", - "required": true, + "name": "model_ref", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/update_session_variables/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_end/properties/model_ref" } }, { - "name": "updates", - "required": true, + "name": "max_input_tokens", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/update_session_variables/properties/updates" + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_end/properties/max_input_tokens" } - } - ], - "result": { - "name": "update_session_variables_result", - "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/result" - } - }, - "summary": "OmniAgents GUI protocol operation update_session_variables", - "x-omni-direction": "client_to_server", - "x-omni-kind": "request", - "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/update_session_variables" - }, - "x-omni-stability": "experimental" - }, - { - "errors": [ - { - "$ref": "#/components/errors/InvalidRequest" }, { - "$ref": "#/components/errors/MethodNotFound" + "name": "max_output_tokens", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_end/properties/max_output_tokens" + } }, { - "$ref": "#/components/errors/InvalidParams" + "name": "truncation", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_end/properties/truncation" + } }, { - "$ref": "#/components/errors/InternalError" + "name": "error", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_end/properties/error" + } }, { - "$ref": "#/components/errors/TransportOverloaded" + "name": "seq", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_end/properties/seq" + } }, { - "$ref": "#/components/errors/InitializationRequired" - } - ], - "name": "set_client_status", - "paramStructure": "by-name", - "params": [ - { - "name": "text", - "required": true, + "name": "stream_id", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/set_client_status/properties/text" + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_end/properties/stream_id" } } ], "result": { - "name": "set_client_status_result", + "name": "run_end_result", "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + "type": "null" } }, - "summary": "OmniAgents GUI protocol operation set_client_status", - "x-omni-direction": "client_to_server", - "x-omni-kind": "request", + "summary": "OmniAgents GUI protocol operation run_end", + "x-omni-direction": "server_to_client", + "x-omni-kind": "notification", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/set_client_status" + "$ref": "./schemas/gui-v1.schema.json#/$defs/run_end" }, - "x-omni-stability": "experimental" + "x-omni-stability": "stable" }, { - "errors": [ + "name": "tool_approval_requested", + "paramStructure": "by-name", + "params": [ { - "$ref": "#/components/errors/InvalidRequest" + "name": "call_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_requested/properties/call_id" + } }, { - "$ref": "#/components/errors/MethodNotFound" + "name": "tool_name", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_requested/properties/tool_name" + } }, { - "$ref": "#/components/errors/InvalidParams" + "name": "arguments", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_requested/properties/arguments" + } }, { - "$ref": "#/components/errors/InternalError" + "name": "metadata", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_requested/properties/metadata" + } }, { - "$ref": "#/components/errors/TransportOverloaded" + "name": "session_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_requested/properties/session_id" + } }, { - "$ref": "#/components/errors/InitializationRequired" - } - ], - "name": "disable_tool", - "paramStructure": "by-name", - "params": [ + "name": "run_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_requested/properties/run_id" + } + }, { - "name": "tool_name", - "required": true, + "name": "seq", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/disable_tool/properties/tool_name" + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_requested/properties/seq" + } + }, + { + "name": "stream_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_requested/properties/stream_id" } } ], "result": { - "name": "disable_tool_result", + "name": "tool_approval_requested_result", "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + "type": "null" } }, - "summary": "OmniAgents GUI protocol operation disable_tool", - "x-omni-direction": "client_to_server", - "x-omni-kind": "request", + "summary": "OmniAgents GUI protocol operation tool_approval_requested", + "x-omni-direction": "server_to_client", + "x-omni-kind": "notification", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/disable_tool" + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_requested" }, - "x-omni-stability": "experimental" + "x-omni-stability": "stable" }, { - "errors": [ - { - "$ref": "#/components/errors/InvalidRequest" - }, + "name": "tool_approval_resolved", + "paramStructure": "by-name", + "params": [ { - "$ref": "#/components/errors/MethodNotFound" + "name": "call_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_resolved/properties/call_id" + } }, { - "$ref": "#/components/errors/InvalidParams" + "name": "session_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_resolved/properties/session_id" + } }, { - "$ref": "#/components/errors/InternalError" + "name": "reason", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_resolved/properties/reason" + } }, { - "$ref": "#/components/errors/TransportOverloaded" + "name": "seq", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_resolved/properties/seq" + } }, - { - "$ref": "#/components/errors/InitializationRequired" - } - ], - "name": "disable_mcp_server", - "paramStructure": "by-name", - "params": [ - { - "name": "server_name", - "required": true, + { + "name": "stream_id", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/disable_mcp_server/properties/server_name" + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_resolved/properties/stream_id" } } ], "result": { - "name": "disable_mcp_server_result", + "name": "tool_approval_resolved_result", "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + "type": "null" } }, - "summary": "OmniAgents GUI protocol operation disable_mcp_server", - "x-omni-direction": "client_to_server", - "x-omni-kind": "request", + "summary": "OmniAgents GUI protocol operation tool_approval_resolved", + "x-omni-direction": "server_to_client", + "x-omni-kind": "notification", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/disable_mcp_server" + "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_resolved" }, - "x-omni-stability": "experimental" + "x-omni-stability": "stable" }, { - "errors": [ + "name": "mcp_approval_requested", + "paramStructure": "by-name", + "params": [ { - "$ref": "#/components/errors/InvalidRequest" + "name": "kind", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_requested/properties/kind" + } }, { - "$ref": "#/components/errors/MethodNotFound" + "name": "request_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_requested/properties/request_id" + } }, { - "$ref": "#/components/errors/InvalidParams" + "name": "server_label", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_requested/properties/server_label" + } }, { - "$ref": "#/components/errors/InternalError" + "name": "tool_name", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_requested/properties/tool_name" + } }, { - "$ref": "#/components/errors/TransportOverloaded" + "name": "arguments", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_requested/properties/arguments" + } }, - { - "$ref": "#/components/errors/InitializationRequired" - } - ], - "name": "report_incident", - "paramStructure": "by-name", - "params": [ { "name": "session_id", - "required": true, + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/report_incident/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_requested/properties/session_id" } }, { - "name": "description", - "required": true, + "name": "run_id", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/report_incident/properties/description" + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_requested/properties/run_id" } }, { - "name": "disable_tools", + "name": "seq", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/report_incident/properties/disable_tools" + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_requested/properties/seq" } }, { - "name": "disable_mcp_servers", + "name": "stream_id", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/report_incident/properties/disable_mcp_servers" + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_requested/properties/stream_id" } } ], "result": { - "name": "report_incident_result", + "name": "mcp_approval_requested_result", "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/result" + "type": "null" } }, - "summary": "OmniAgents GUI protocol operation report_incident", - "x-omni-direction": "client_to_server", - "x-omni-kind": "request", + "summary": "OmniAgents GUI protocol operation mcp_approval_requested", + "x-omni-direction": "server_to_client", + "x-omni-kind": "notification", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/report_incident" + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_requested" }, - "x-omni-stability": "experimental" + "x-omni-stability": "stable" }, { - "errors": [ - { - "$ref": "#/components/errors/InvalidRequest" - }, - { - "$ref": "#/components/errors/MethodNotFound" - }, + "name": "mcp_approval_resolved", + "paramStructure": "by-name", + "params": [ { - "$ref": "#/components/errors/InvalidParams" + "name": "request_id", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_resolved/properties/request_id" + } }, { - "$ref": "#/components/errors/InternalError" + "name": "session_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_resolved/properties/session_id" + } }, { - "$ref": "#/components/errors/TransportOverloaded" + "name": "reason", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_resolved/properties/reason" + } }, { - "$ref": "#/components/errors/InitializationRequired" - } - ], - "name": "export_session", - "paramStructure": "by-name", - "params": [ - { - "name": "session_id", - "required": true, + "name": "seq", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/export_session/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_resolved/properties/seq" } }, { - "name": "redact", + "name": "stream_id", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/export_session/properties/redact" + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_resolved/properties/stream_id" } } ], "result": { - "name": "export_session_result", - "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/result" - } - }, - "summary": "OmniAgents GUI protocol operation export_session", - "x-omni-direction": "client_to_server", - "x-omni-kind": "request", - "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/export_session" - }, - "x-omni-stability": "experimental" - }, - { - "name": "initialized", - "paramStructure": "by-name", - "params": [], - "result": { - "name": "initialized_result", + "name": "mcp_approval_resolved_result", "schema": { "type": "null" } }, - "summary": "OmniAgents GUI protocol operation initialized", - "x-omni-direction": "client_to_server", + "summary": "OmniAgents GUI protocol operation mcp_approval_resolved", + "x-omni-direction": "server_to_client", "x-omni-kind": "notification", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/initialized" + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_resolved" }, "x-omni-stability": "stable" }, { - "name": "run_started", + "name": "client_request", "paramStructure": "by-name", "params": [ { - "name": "run_id", + "name": "request_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_started/properties/run_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request/properties/request_id" } }, { - "name": "session_id", + "name": "function", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_started/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request/properties/function" } }, { - "name": "prompt", + "name": "args", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request/properties/args" + } + }, + { + "name": "session_id", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_started/properties/prompt" + "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request/properties/session_id" } }, { - "name": "prompt_role", + "name": "idempotency_key", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_started/properties/prompt_role" + "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request/properties/idempotency_key" + } + }, + { + "name": "run_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request/properties/run_id" } }, { "name": "seq", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_started/properties/seq" + "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request/properties/seq" } }, { "name": "stream_id", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_started/properties/stream_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request/properties/stream_id" } } ], "result": { - "name": "run_started_result", + "name": "client_request_result", "schema": { "type": "null" } }, - "summary": "OmniAgents GUI protocol operation run_started", + "summary": "OmniAgents GUI protocol operation client_request", + "x-omni-correlation": { + "requestField": "request_id", + "responseMethod": "client_response" + }, "x-omni-direction": "server_to_client", - "x-omni-kind": "notification", + "x-omni-kind": "correlated_notification", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_started" + "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request" }, "x-omni-stability": "stable" }, { - "name": "run_status", + "name": "client_request_resolved", "paramStructure": "by-name", "params": [ { - "name": "run_id", + "name": "request_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_status/properties/run_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request_resolved/properties/request_id" } }, { "name": "session_id", - "required": true, + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_status/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request_resolved/properties/session_id" } }, { - "name": "status", - "required": true, + "name": "reason", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_status/properties/status" + "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request_resolved/properties/reason" } }, { - "name": "message", - "required": true, + "name": "seq", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_status/properties/message" + "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request_resolved/properties/seq" } }, { - "name": "attempt", - "required": false, + "name": "stream_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request_resolved/properties/stream_id" + } + } + ], + "result": { + "name": "client_request_resolved_result", + "schema": { + "type": "null" + } + }, + "summary": "OmniAgents GUI protocol operation client_request_resolved", + "x-omni-direction": "server_to_client", + "x-omni-kind": "notification", + "x-omni-params-schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request_resolved" + }, + "x-omni-stability": "stable" + }, + { + "name": "queue_changed", + "paramStructure": "by-name", + "params": [ + { + "name": "session_id", + "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_status/properties/attempt" + "$ref": "./schemas/gui-v1.schema.json#/$defs/queue_changed/properties/session_id" } }, { - "name": "total", - "required": false, + "name": "depth", + "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_status/properties/total" + "$ref": "./schemas/gui-v1.schema.json#/$defs/queue_changed/properties/depth" } }, { - "name": "next_delay", - "required": false, + "name": "items", + "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_status/properties/next_delay" + "$ref": "./schemas/gui-v1.schema.json#/$defs/queue_changed/properties/items" } }, { "name": "seq", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_status/properties/seq" + "$ref": "./schemas/gui-v1.schema.json#/$defs/queue_changed/properties/seq" } }, { "name": "stream_id", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_status/properties/stream_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/queue_changed/properties/stream_id" } } ], "result": { - "name": "run_status_result", + "name": "queue_changed_result", "schema": { "type": "null" } }, - "summary": "OmniAgents GUI protocol operation run_status", + "summary": "OmniAgents GUI protocol operation queue_changed", "x-omni-direction": "server_to_client", "x-omni-kind": "notification", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_status" + "$ref": "./schemas/gui-v1.schema.json#/$defs/queue_changed" }, "x-omni-stability": "stable" }, { - "name": "tool_called", + "name": "account_changed", "paramStructure": "by-name", "params": [ { - "name": "run_id", - "required": true, - "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_called/properties/run_id" - } - }, - { - "name": "session_id", + "name": "provider", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_called/properties/session_id" - } - }, - { - "name": "tool", - "required": true, - "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_called/properties/tool" + "$ref": "./schemas/gui-v1.schema.json#/$defs/account_changed/properties/provider" } }, { - "name": "input", + "name": "reason", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_called/properties/input" + "$ref": "./schemas/gui-v1.schema.json#/$defs/account_changed/properties/reason" } }, { - "name": "call_id", - "required": true, + "name": "account", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_called/properties/call_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/account_changed/properties/account" } }, { "name": "seq", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_called/properties/seq" + "$ref": "./schemas/gui-v1.schema.json#/$defs/account_changed/properties/seq" } }, { "name": "stream_id", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_called/properties/stream_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/account_changed/properties/stream_id" } } ], "result": { - "name": "tool_called_result", + "name": "account_changed_result", "schema": { "type": "null" } }, - "summary": "OmniAgents GUI protocol operation tool_called", + "summary": "OmniAgents GUI protocol operation account_changed", "x-omni-direction": "server_to_client", "x-omni-kind": "notification", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_called" + "$ref": "./schemas/gui-v1.schema.json#/$defs/account_changed" }, "x-omni-stability": "stable" }, { - "name": "tool_result", + "name": "elicitation_requested", "paramStructure": "by-name", "params": [ { - "name": "run_id", + "name": "elicitation_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_result/properties/run_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_requested/properties/elicitation_id" } }, { - "name": "session_id", + "name": "kind", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_result/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_requested/properties/kind" } }, { - "name": "tool", + "name": "message", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_result/properties/tool" + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_requested/properties/message" } }, { - "name": "output", - "required": true, + "name": "title", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_result/properties/output" + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_requested/properties/title" } }, { - "name": "call_id", - "required": true, + "name": "input_schema", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_result/properties/call_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_requested/properties/input_schema" } }, { - "name": "metadata", + "name": "options", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_result/properties/metadata" + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_requested/properties/options" } }, { - "name": "seq", + "name": "url", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_result/properties/seq" + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_requested/properties/url" } }, { - "name": "stream_id", + "name": "session_id", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_result/properties/stream_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_requested/properties/session_id" } - } - ], - "result": { - "name": "tool_result_result", - "schema": { - "type": "null" - } - }, - "summary": "OmniAgents GUI protocol operation tool_result", - "x-omni-direction": "server_to_client", - "x-omni-kind": "notification", - "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_result" - }, - "x-omni-stability": "stable" - }, - { - "name": "message_output", - "paramStructure": "by-name", - "params": [ + }, { "name": "run_id", - "required": true, + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/message_output/properties/run_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_requested/properties/run_id" } }, { - "name": "session_id", - "required": true, + "name": "item_id", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/message_output/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_requested/properties/item_id" } }, { - "name": "content", - "required": true, + "name": "source", + "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/message_output/properties/content" + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_requested/properties/source" + } + }, + { + "name": "timeout_ms", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_requested/properties/timeout_ms" + } + }, + { + "name": "expires_at", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_requested/properties/expires_at" + } + }, + { + "name": "persist_response", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_requested/properties/persist_response" } }, { "name": "seq", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/message_output/properties/seq" + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_requested/properties/seq" } }, { "name": "stream_id", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/message_output/properties/stream_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_requested/properties/stream_id" } } ], "result": { - "name": "message_output_result", + "name": "elicitation_requested_result", "schema": { "type": "null" } }, - "summary": "OmniAgents GUI protocol operation message_output", + "summary": "OmniAgents GUI protocol operation elicitation_requested", + "x-omni-correlation": { + "requestField": "elicitation_id", + "responseMethod": "elicitation_response" + }, "x-omni-direction": "server_to_client", - "x-omni-kind": "notification", + "x-omni-kind": "correlated_notification", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/message_output" + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_requested" }, "x-omni-stability": "stable" }, { - "name": "token", + "name": "elicitation_resolved", "paramStructure": "by-name", "params": [ { - "name": "run_id", - "required": true, - "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/token/properties/run_id" - } - }, - { - "name": "session_id", - "required": true, - "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/token/properties/session_id" - } - }, - { - "name": "delta", + "name": "elicitation_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/token/properties/delta" + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_resolved/properties/elicitation_id" } }, { - "name": "totals", + "name": "status", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/token/properties/totals" - } - }, - { - "name": "turn", - "required": false, - "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/token/properties/turn" + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_resolved/properties/status" } }, { - "name": "response_id", + "name": "session_id", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/token/properties/response_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_resolved/properties/session_id" } }, { - "name": "model", + "name": "run_id", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/token/properties/model" + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_resolved/properties/run_id" } }, { - "name": "max_input_tokens", + "name": "action", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/token/properties/max_input_tokens" + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_resolved/properties/action" } }, { - "name": "max_output_tokens", + "name": "value", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/token/properties/max_output_tokens" + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_resolved/properties/value" } }, { - "name": "truncation", + "name": "reason", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/token/properties/truncation" + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_resolved/properties/reason" } }, { "name": "seq", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/token/properties/seq" + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_resolved/properties/seq" } }, { "name": "stream_id", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/token/properties/stream_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_resolved/properties/stream_id" } } ], "result": { - "name": "token_result", + "name": "elicitation_resolved_result", "schema": { "type": "null" } }, - "summary": "OmniAgents GUI protocol operation token", + "summary": "OmniAgents GUI protocol operation elicitation_resolved", "x-omni-direction": "server_to_client", "x-omni-kind": "notification", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/token" + "$ref": "./schemas/gui-v1.schema.json#/$defs/elicitation_resolved" }, "x-omni-stability": "stable" }, { - "name": "run_end", + "name": "mcp_server_status_changed", "paramStructure": "by-name", "params": [ { - "name": "run_id", - "required": true, - "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_end/properties/run_id" - } - }, - { - "name": "session_id", + "name": "server_name", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_end/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_server_status_changed/properties/server_name" } }, { - "name": "end_reason", + "name": "status", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_end/properties/end_reason" - } - }, - { - "name": "usage", - "required": false, - "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_end/properties/usage" + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_server_status_changed/properties/status" } }, { - "name": "model", + "name": "previous_status", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_end/properties/model" + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_server_status_changed/properties/previous_status" } }, { - "name": "max_input_tokens", + "name": "reason_code", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_end/properties/max_input_tokens" + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_server_status_changed/properties/reason_code" } }, { - "name": "max_output_tokens", + "name": "reason", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_end/properties/max_output_tokens" + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_server_status_changed/properties/reason" } }, { - "name": "truncation", + "name": "auth_state", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_end/properties/truncation" + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_server_status_changed/properties/auth_state" } }, { - "name": "error", + "name": "at", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_end/properties/error" + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_server_status_changed/properties/at" } }, { "name": "seq", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_end/properties/seq" + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_server_status_changed/properties/seq" } }, { "name": "stream_id", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_end/properties/stream_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_server_status_changed/properties/stream_id" } } ], "result": { - "name": "run_end_result", + "name": "mcp_server_status_changed_result", "schema": { "type": "null" } }, - "summary": "OmniAgents GUI protocol operation run_end", + "summary": "OmniAgents GUI protocol operation mcp_server_status_changed", "x-omni-direction": "server_to_client", "x-omni-kind": "notification", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/run_end" + "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_server_status_changed" }, "x-omni-stability": "stable" }, { - "name": "tool_approval_requested", + "name": "session_forked", "paramStructure": "by-name", "params": [ { - "name": "call_id", - "required": true, - "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_requested/properties/call_id" - } - }, - { - "name": "tool_name", + "name": "session_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_requested/properties/tool_name" + "$ref": "./schemas/gui-v1.schema.json#/$defs/session_forked/properties/session_id" } }, { - "name": "arguments", + "name": "new_session_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_requested/properties/arguments" - } - }, - { - "name": "metadata", - "required": false, - "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_requested/properties/metadata" - } - }, - { - "name": "session_id", - "required": false, - "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_requested/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/session_forked/properties/new_session_id" } }, { - "name": "run_id", + "name": "from_item_id", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_requested/properties/run_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/session_forked/properties/from_item_id" } }, { "name": "seq", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_requested/properties/seq" + "$ref": "./schemas/gui-v1.schema.json#/$defs/session_forked/properties/seq" } }, { "name": "stream_id", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_requested/properties/stream_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/session_forked/properties/stream_id" } } ], "result": { - "name": "tool_approval_requested_result", + "name": "session_forked_result", "schema": { "type": "null" } }, - "summary": "OmniAgents GUI protocol operation tool_approval_requested", + "summary": "OmniAgents GUI protocol operation session_forked", "x-omni-direction": "server_to_client", "x-omni-kind": "notification", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_requested" + "$ref": "./schemas/gui-v1.schema.json#/$defs/session_forked" }, - "x-omni-stability": "stable" + "x-omni-stability": "experimental" }, { - "name": "tool_approval_resolved", + "name": "session_variables_changed", "paramStructure": "by-name", "params": [ { - "name": "call_id", + "name": "session_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_resolved/properties/call_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/session_variables_changed/properties/session_id" } }, { - "name": "session_id", - "required": false, + "name": "changed", + "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_resolved/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/session_variables_changed/properties/changed" } }, { - "name": "reason", - "required": false, + "name": "variables", + "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_resolved/properties/reason" + "$ref": "./schemas/gui-v1.schema.json#/$defs/session_variables_changed/properties/variables" } }, { "name": "seq", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_resolved/properties/seq" + "$ref": "./schemas/gui-v1.schema.json#/$defs/session_variables_changed/properties/seq" } }, { "name": "stream_id", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_resolved/properties/stream_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/session_variables_changed/properties/stream_id" } } ], "result": { - "name": "tool_approval_resolved_result", + "name": "session_variables_changed_result", "schema": { "type": "null" } }, - "summary": "OmniAgents GUI protocol operation tool_approval_resolved", + "summary": "OmniAgents GUI protocol operation session_variables_changed", "x-omni-direction": "server_to_client", "x-omni-kind": "notification", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/tool_approval_resolved" + "$ref": "./schemas/gui-v1.schema.json#/$defs/session_variables_changed" }, - "x-omni-stability": "stable" + "x-omni-stability": "experimental" }, { - "name": "mcp_approval_requested", + "name": "fs_events", "paramStructure": "by-name", "params": [ { - "name": "kind", - "required": true, - "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_requested/properties/kind" - } - }, - { - "name": "request_id", - "required": true, - "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_requested/properties/request_id" - } - }, - { - "name": "server_label", + "name": "session_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_requested/properties/server_label" + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_events/properties/session_id" } }, { - "name": "tool_name", + "name": "watch_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_requested/properties/tool_name" + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_events/properties/watch_id" } }, { - "name": "arguments", + "name": "events", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_requested/properties/arguments" - } - }, - { - "name": "session_id", - "required": false, - "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_requested/properties/session_id" - } - }, - { - "name": "run_id", - "required": false, - "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_requested/properties/run_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_events/properties/events" } }, { "name": "seq", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_requested/properties/seq" + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_events/properties/seq" } }, { "name": "stream_id", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_requested/properties/stream_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_events/properties/stream_id" } } ], "result": { - "name": "mcp_approval_requested_result", + "name": "fs_events_result", "schema": { "type": "null" } }, - "summary": "OmniAgents GUI protocol operation mcp_approval_requested", + "summary": "OmniAgents GUI protocol operation fs_events", "x-omni-direction": "server_to_client", "x-omni-kind": "notification", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_requested" + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_events" }, - "x-omni-stability": "stable" + "x-omni-stability": "experimental" }, { - "name": "mcp_approval_resolved", + "name": "fs_rescan_required", "paramStructure": "by-name", "params": [ { - "name": "request_id", + "name": "session_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_resolved/properties/request_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_rescan_required/properties/session_id" } }, { - "name": "session_id", - "required": false, + "name": "watch_id", + "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_resolved/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_rescan_required/properties/watch_id" } }, { "name": "reason", - "required": false, + "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_resolved/properties/reason" + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_rescan_required/properties/reason" } }, { "name": "seq", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_resolved/properties/seq" + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_rescan_required/properties/seq" } }, { "name": "stream_id", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_resolved/properties/stream_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_rescan_required/properties/stream_id" } } ], "result": { - "name": "mcp_approval_resolved_result", + "name": "fs_rescan_required_result", "schema": { "type": "null" } }, - "summary": "OmniAgents GUI protocol operation mcp_approval_resolved", + "summary": "OmniAgents GUI protocol operation fs_rescan_required", "x-omni-direction": "server_to_client", "x-omni-kind": "notification", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/mcp_approval_resolved" + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_rescan_required" }, - "x-omni-stability": "stable" + "x-omni-stability": "experimental" }, { - "name": "client_request", + "name": "fs_transfer_progress", "paramStructure": "by-name", "params": [ { - "name": "request_id", + "name": "session_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request/properties/request_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_transfer_progress/properties/session_id" } }, { - "name": "function", + "name": "transfer_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request/properties/function" + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_transfer_progress/properties/transfer_id" } }, { - "name": "args", + "name": "direction", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request/properties/args" - } - }, - { - "name": "session_id", - "required": false, - "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_transfer_progress/properties/direction" } }, { - "name": "idempotency_key", - "required": false, + "name": "transferred", + "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request/properties/idempotency_key" + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_transfer_progress/properties/transferred" } }, { - "name": "run_id", - "required": false, + "name": "total", + "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request/properties/run_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_transfer_progress/properties/total" } }, { "name": "seq", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request/properties/seq" + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_transfer_progress/properties/seq" } }, { "name": "stream_id", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request/properties/stream_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_transfer_progress/properties/stream_id" } } ], "result": { - "name": "client_request_result", + "name": "fs_transfer_progress_result", "schema": { "type": "null" } }, - "summary": "OmniAgents GUI protocol operation client_request", - "x-omni-correlation": { - "requestField": "request_id", - "responseMethod": "client_response" - }, + "summary": "OmniAgents GUI protocol operation fs_transfer_progress", "x-omni-direction": "server_to_client", - "x-omni-kind": "correlated_notification", + "x-omni-kind": "notification", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request" + "$ref": "./schemas/gui-v1.schema.json#/$defs/fs_transfer_progress" }, - "x-omni-stability": "stable" + "x-omni-stability": "experimental" }, { - "name": "client_request_resolved", + "name": "git_operation_progress", "paramStructure": "by-name", "params": [ { - "name": "request_id", + "name": "session_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request_resolved/properties/request_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_operation_progress/properties/session_id" } }, { - "name": "session_id", - "required": false, + "name": "operation_id", + "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request_resolved/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_operation_progress/properties/operation_id" } }, { - "name": "reason", + "name": "repo", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_operation_progress/properties/repo" + } + }, + { + "name": "operation", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_operation_progress/properties/operation" + } + }, + { + "name": "phase", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_operation_progress/properties/phase" + } + }, + { + "name": "detail", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request_resolved/properties/reason" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_operation_progress/properties/detail" } }, { "name": "seq", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request_resolved/properties/seq" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_operation_progress/properties/seq" } }, { "name": "stream_id", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request_resolved/properties/stream_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_operation_progress/properties/stream_id" } } ], "result": { - "name": "client_request_resolved_result", + "name": "git_operation_progress_result", "schema": { "type": "null" } }, - "summary": "OmniAgents GUI protocol operation client_request_resolved", + "summary": "OmniAgents GUI protocol operation git_operation_progress", "x-omni-direction": "server_to_client", "x-omni-kind": "notification", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/client_request_resolved" + "$ref": "./schemas/gui-v1.schema.json#/$defs/git_operation_progress" }, - "x-omni-stability": "stable" + "x-omni-stability": "experimental" }, { - "name": "queue_changed", + "name": "thread_updated", "paramStructure": "by-name", "params": [ { - "name": "session_id", + "name": "thread_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/queue_changed/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/thread_updated/properties/thread_id" } }, { - "name": "depth", + "name": "changed", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/queue_changed/properties/depth" + "$ref": "./schemas/gui-v1.schema.json#/$defs/thread_updated/properties/changed" } }, { - "name": "items", + "name": "thread", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/queue_changed/properties/items" + "$ref": "./schemas/gui-v1.schema.json#/$defs/thread_updated/properties/thread" + } + }, + { + "name": "cascaded_thread_ids", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/thread_updated/properties/cascaded_thread_ids" } }, { "name": "seq", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/queue_changed/properties/seq" + "$ref": "./schemas/gui-v1.schema.json#/$defs/thread_updated/properties/seq" } }, { "name": "stream_id", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/queue_changed/properties/stream_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/thread_updated/properties/stream_id" } } ], "result": { - "name": "queue_changed_result", + "name": "thread_updated_result", "schema": { "type": "null" } }, - "summary": "OmniAgents GUI protocol operation queue_changed", + "summary": "OmniAgents GUI protocol operation thread_updated", "x-omni-direction": "server_to_client", "x-omni-kind": "notification", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/queue_changed" + "$ref": "./schemas/gui-v1.schema.json#/$defs/thread_updated" }, - "x-omni-stability": "stable" + "x-omni-stability": "experimental" }, { - "name": "session_forked", + "name": "item_updated", "paramStructure": "by-name", "params": [ { "name": "session_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/session_forked/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/item_updated/properties/session_id" } }, { - "name": "new_session_id", + "name": "thread_id", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/session_forked/properties/new_session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/item_updated/properties/thread_id" } }, { - "name": "seq", - "required": false, + "name": "item_id", + "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/session_forked/properties/seq" + "$ref": "./schemas/gui-v1.schema.json#/$defs/item_updated/properties/item_id" } }, { - "name": "stream_id", - "required": false, + "name": "kind", + "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/session_forked/properties/stream_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/item_updated/properties/kind" } - } - ], - "result": { - "name": "session_forked_result", - "schema": { - "type": "null" - } - }, - "summary": "OmniAgents GUI protocol operation session_forked", - "x-omni-direction": "server_to_client", - "x-omni-kind": "notification", - "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/session_forked" - }, - "x-omni-stability": "experimental" - }, - { - "name": "session_variables_changed", - "paramStructure": "by-name", - "params": [ + }, { - "name": "session_id", + "name": "status", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/session_variables_changed/properties/session_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/item_updated/properties/status" } }, { - "name": "changed", + "name": "revision", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/session_variables_changed/properties/changed" + "$ref": "./schemas/gui-v1.schema.json#/$defs/item_updated/properties/revision" } }, { - "name": "variables", + "name": "item_seq", "required": true, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/session_variables_changed/properties/variables" + "$ref": "./schemas/gui-v1.schema.json#/$defs/item_updated/properties/item_seq" + } + }, + { + "name": "content", + "required": true, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/item_updated/properties/content" + } + }, + { + "name": "turn_id", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/item_updated/properties/turn_id" + } + }, + { + "name": "updated_at", + "required": false, + "schema": { + "$ref": "./schemas/gui-v1.schema.json#/$defs/item_updated/properties/updated_at" } }, { "name": "seq", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/session_variables_changed/properties/seq" + "$ref": "./schemas/gui-v1.schema.json#/$defs/item_updated/properties/seq" } }, { "name": "stream_id", "required": false, "schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/session_variables_changed/properties/stream_id" + "$ref": "./schemas/gui-v1.schema.json#/$defs/item_updated/properties/stream_id" } } ], "result": { - "name": "session_variables_changed_result", + "name": "item_updated_result", "schema": { "type": "null" } }, - "summary": "OmniAgents GUI protocol operation session_variables_changed", + "summary": "OmniAgents GUI protocol operation item_updated", "x-omni-direction": "server_to_client", "x-omni-kind": "notification", "x-omni-params-schema": { - "$ref": "./schemas/gui-v1.schema.json#/$defs/session_variables_changed" + "$ref": "./schemas/gui-v1.schema.json#/$defs/item_updated" }, "x-omni-stability": "experimental" } diff --git a/src/generated/omniagents-gui-v1/gui-v1.ts b/src/generated/omniagents-gui-v1/gui-v1.ts index ec033183..02792d27 100644 --- a/src/generated/omniagents-gui-v1/gui-v1.ts +++ b/src/generated/omniagents-gui-v1/gui-v1.ts @@ -41,6 +41,7 @@ export interface ArchiveSessionParams { } export interface DeleteSessionParams { session_id: string; + cascade?: boolean; } export interface GetUserHistoryParams { limit?: number; @@ -102,9 +103,123 @@ export interface AckEventsParams { stream_id: string; seq: number; } +export interface ListModelsParams { + include_hidden?: boolean; + modality?: string; + session_id?: string; +} +export interface GetModelParams { + model: string; +} +export interface ListProvidersParams { +} +export interface SetSessionModelParams { + session_id: string; + model: string; +} +export interface SetSessionReasoningParams { + session_id: string; + effort: string; +} +export interface SetVoiceModelParams { + model: string; +} +export interface AccountStatusParams { +} +export interface AccountLoginStartParams { + provider: string; + mode: string; + api_key?: string; + redirect_uri?: string; +} +export interface AccountLoginCompleteParams { + login_id: string; + code?: string; +} +export interface AccountLoginCancelParams { + login_id: string; +} +export interface AccountLogoutParams { + provider: string; +} +export interface AccountRefreshParams { + provider: string; +} +export interface AccountUsageParams { + provider?: string; +} +export interface AccountSelectParams { + provider: string; +} +export interface ElicitationResponseParams { + elicitation_id: string; + action: string; + value?: Record; + reason?: string; +} +export interface McpListServersParams { + session_id?: string; +} +export interface McpGetServerParams { + server_name: string; + refresh?: boolean; +} +export interface McpCreateServerParams { + server_name: string; + type: string; + params: Record; + server_options?: Record; +} +export interface McpUpdateServerParams { + server_name: string; + type?: string; + params?: Record; + server_options?: Record; +} +export interface McpDeleteServerParams { + server_name: string; +} +export interface McpReloadServerParams { + server_name?: string; +} +export interface McpAuthStartParams { + server_name: string; + redirect_uri?: string; + session_id?: string; +} +export interface McpAuthCompleteParams { + auth_id: string; + code: string; +} +export interface McpAuthCancelParams { + auth_id: string; +} +export interface GetThreadParams { + thread_id: string; +} +export interface ListTurnsParams { + thread_id: string; + limit?: number; + cursor?: string; + order?: string; +} +export interface ListItemsParams { + thread_id: string; + turn_id?: string; + kinds?: unknown[]; + limit?: number; + cursor?: string; + order?: string; +} +export interface GetItemParams { + thread_id: string; + item_id: string; +} export interface ForkSessionParams { session_id: string; new_session_id?: string; + from_item_id?: string; + from_turn_id?: string; } export interface SetSessionHoldParams { session_id: string; @@ -142,6 +257,261 @@ export interface ExportSessionParams { session_id: string; redact?: boolean; } +export interface GetConfigParams { +} +export interface ValidateConfigParams { + updates: Record; +} +export interface WriteConfigParams { + updates: Record; +} +export interface McpReadResourceParams { + server_name: string; + uri: string; + session_id?: string; +} +export interface McpCallToolParams { + server_name: string; + tool_name: string; + session_id: string; + args?: Record; +} +export interface McpGetPromptParams { + server_name: string; + prompt_name: string; + args?: Record; + session_id?: string; +} +export interface FsWatchParams { + session_id: string; + path: string; + recursive?: boolean; + poll_interval_ms?: number; +} +export interface FsUnwatchParams { + session_id: string; + watch_id: string; +} +export interface FsListParams { + session_id: string; + path: string; + recursive?: boolean; +} +export interface FsStatParams { + session_id: string; + path: string; +} +export interface FsDownloadOpenParams { + session_id: string; + path: string; +} +export interface FsDownloadReadParams { + session_id: string; + transfer_id: string; + offset?: number; + length?: number; +} +export interface FsDownloadCloseParams { + session_id: string; + transfer_id: string; +} +export interface FsUploadOpenParams { + session_id: string; + path: string; + size: number; + sha256?: string; + expected_sha256?: string; + overwrite?: boolean; +} +export interface FsUploadChunkParams { + session_id: string; + transfer_id: string; + offset: number; + data: string; +} +export interface FsUploadCommitParams { + session_id: string; + transfer_id: string; +} +export interface FsUploadAbortParams { + session_id: string; + transfer_id: string; +} +export interface GitListRepositoriesParams { + session_id: string; + path?: string; + max_depth?: number; +} +export interface GitStatusParams { + session_id: string; + repo: string; + include_untracked?: boolean; + include_ignored?: boolean; + paths?: unknown[]; +} +export interface GitDiffParams { + session_id: string; + repo: string; + mode?: string; + paths?: unknown[]; + context_lines?: number; + from_rev?: string; + to_rev?: string; +} +export interface GitLogParams { + session_id: string; + repo: string; + rev?: string; + max_count?: number; + skip?: number; + paths?: unknown[]; +} +export interface GitListBranchesParams { + session_id: string; + repo: string; + include_remote?: boolean; +} +export interface GitListWorktreesParams { + session_id: string; + repo: string; +} +export interface GitConflictsParams { + session_id: string; + repo: string; + paths?: unknown[]; +} +export interface GitStageParams { + session_id: string; + repo: string; + paths?: unknown[]; + hunks?: unknown[]; + context_lines?: number; + mode?: string; +} +export interface GitUnstageParams { + session_id: string; + repo: string; + paths?: unknown[]; + hunks?: unknown[]; + context_lines?: number; +} +export interface GitDiscardParams { + session_id: string; + repo: string; + paths?: unknown[]; + hunks?: unknown[]; + context_lines?: number; + confirmation_token?: string; +} +export interface GitCommitParams { + session_id: string; + repo: string; + message: string; + amend?: boolean; + allow_empty?: boolean; + author?: string; + confirmation_token?: string; +} +export interface GitCheckoutParams { + session_id: string; + repo: string; + branch: string; + create?: boolean; + start_point?: string; + detach?: boolean; + discard_changes?: boolean; + confirmation_token?: string; +} +export interface GitResetParams { + session_id: string; + repo: string; + mode?: string; + rev?: string; + paths?: unknown[]; + confirmation_token?: string; +} +export interface GitFetchParams { + session_id: string; + repo: string; + remote?: string; + refspec?: string; + prune?: boolean; +} +export interface GitPullParams { + session_id: string; + repo: string; + remote?: string; + refspec?: string; + rebase?: boolean; +} +export interface GitPushParams { + session_id: string; + repo: string; + remote?: string; + refspec?: string; + force?: boolean; + force_with_lease?: boolean; + set_upstream?: boolean; + confirmation_token?: string; +} +export interface ListThreadsParams { + status?: string; + pinned?: boolean; + source?: string; + model?: string; + parent_thread_id?: string; + created_after?: number; + created_before?: number; + updated_after?: number; + updated_before?: number; + limit?: number; + cursor?: string; + order?: string; +} +export interface SearchThreadsParams { + query: string; + status?: string; + pinned?: boolean; + source?: string; + model?: string; + parent_thread_id?: string; + created_after?: number; + created_before?: number; + updated_after?: number; + updated_before?: number; + limit?: number; + cursor?: string; +} +export interface UpdateThreadParams { + thread_id: string; + title?: string; + pinned?: boolean; + status?: string; + metadata?: Record; +} +export interface ListThreadDescendantsParams { + thread_id: string; + max_depth?: number; + limit?: number; +} +export interface ExportThreadParams { + thread_id: string; + limit?: number; + cursor?: string; + include_descendants?: boolean; +} +export interface PurgeThreadsParams { + retention_days: number; + dry_run?: boolean; +} +export interface GetPlanParams { + thread_id: string; + scope?: string; +} +export interface GetRunDiffParams { + thread_id: string; + turn_id?: string; +} export interface InitializedParams { } export interface RunStartedParams { @@ -186,6 +556,8 @@ export interface MessageOutputParams { run_id: string; session_id: string; content: string; + is_final?: boolean; + message_id?: string; seq?: number; stream_id?: string; } @@ -197,6 +569,7 @@ export interface TokenParams { turn?: number; response_id?: string; model?: string; + model_ref?: string; max_input_tokens?: number; max_output_tokens?: number; truncation?: string; @@ -209,6 +582,7 @@ export interface RunEndParams { end_reason: string; usage?: Record; model?: string; + model_ref?: string; max_input_tokens?: number; max_output_tokens?: number; truncation?: string; @@ -275,19 +649,122 @@ export interface QueueChangedParams { seq?: number; stream_id?: string; } +export interface AccountChangedParams { + provider: string; + reason: string; + account?: Record; + seq?: number; + stream_id?: string; +} +export interface ElicitationRequestedParams { + elicitation_id: string; + kind: string; + message: string; + title?: string; + input_schema?: Record; + options?: unknown[]; + url?: string; + session_id?: string; + run_id?: string; + item_id?: string; + source?: string; + timeout_ms?: number; + expires_at?: string; + persist_response?: boolean; + seq?: number; + stream_id?: string; +} +export interface ElicitationResolvedParams { + elicitation_id: string; + status: string; + session_id?: string; + run_id?: string; + action?: string; + value?: Record; + reason?: string; + seq?: number; + stream_id?: string; +} +export interface McpServerStatusChangedParams { + server_name: string; + status: string; + previous_status?: string; + reason_code?: string; + reason?: string; + auth_state?: string; + at?: string; + seq?: number; + stream_id?: string; +} export interface SessionForkedParams { session_id: string; new_session_id: string; + from_item_id?: string; seq?: number; stream_id?: string; } export interface SessionVariablesChangedParams { session_id: string; - changed: Record; + changed: unknown[]; variables: Record; seq?: number; stream_id?: string; } +export interface FsEventsParams { + session_id: string; + watch_id: string; + events: unknown[]; + seq?: number; + stream_id?: string; +} +export interface FsRescanRequiredParams { + session_id: string; + watch_id: string; + reason: string; + seq?: number; + stream_id?: string; +} +export interface FsTransferProgressParams { + session_id: string; + transfer_id: string; + direction: string; + transferred: number; + total: number; + seq?: number; + stream_id?: string; +} +export interface GitOperationProgressParams { + session_id: string; + operation_id: string; + repo: string; + operation: string; + phase: string; + detail?: Record; + seq?: number; + stream_id?: string; +} +export interface ThreadUpdatedParams { + thread_id: string; + changed: unknown[]; + thread: Record; + cascaded_thread_ids?: unknown[]; + seq?: number; + stream_id?: string; +} +export interface ItemUpdatedParams { + session_id: string; + thread_id: string; + item_id: string; + kind: string; + status: string; + revision: number; + item_seq: number; + content: Record; + turn_id?: string; + updated_at?: number; + seq?: number; + stream_id?: string; +} export interface RpcMethodMap { "initialize": { params: InitializeParams; result: InitializeResult }; "start_run": { params: StartRunParams; result: StartRunResult }; @@ -310,6 +787,34 @@ export interface RpcMethodMap { "cancel_queued_message": { params: CancelQueuedMessageParams; result: Record }; "resume_session": { params: ResumeSessionParams; result: Record }; "ack_events": { params: AckEventsParams; result: Record }; + "list_models": { params: ListModelsParams; result: Record }; + "get_model": { params: GetModelParams; result: Record }; + "list_providers": { params: ListProvidersParams; result: Record }; + "set_session_model": { params: SetSessionModelParams; result: Record }; + "set_session_reasoning": { params: SetSessionReasoningParams; result: Record }; + "set_voice_model": { params: SetVoiceModelParams; result: Record }; + "account_status": { params: AccountStatusParams; result: Record }; + "account_login_start": { params: AccountLoginStartParams; result: Record }; + "account_login_complete": { params: AccountLoginCompleteParams; result: Record }; + "account_login_cancel": { params: AccountLoginCancelParams; result: boolean }; + "account_logout": { params: AccountLogoutParams; result: Record }; + "account_refresh": { params: AccountRefreshParams; result: Record }; + "account_usage": { params: AccountUsageParams; result: Record }; + "account_select": { params: AccountSelectParams; result: Record }; + "elicitation_response": { params: ElicitationResponseParams; result: Record }; + "mcp_list_servers": { params: McpListServersParams; result: Record }; + "mcp_get_server": { params: McpGetServerParams; result: Record }; + "mcp_create_server": { params: McpCreateServerParams; result: Record }; + "mcp_update_server": { params: McpUpdateServerParams; result: Record }; + "mcp_delete_server": { params: McpDeleteServerParams; result: Record }; + "mcp_reload_server": { params: McpReloadServerParams; result: Record }; + "mcp_auth_start": { params: McpAuthStartParams; result: Record }; + "mcp_auth_complete": { params: McpAuthCompleteParams; result: Record }; + "mcp_auth_cancel": { params: McpAuthCancelParams; result: boolean }; + "get_thread": { params: GetThreadParams; result: Record }; + "list_turns": { params: ListTurnsParams; result: Record }; + "list_items": { params: ListItemsParams; result: Record }; + "get_item": { params: GetItemParams; result: Record }; "fork_session": { params: ForkSessionParams; result: Record }; "set_session_hold": { params: SetSessionHoldParams; result: Record }; "queue_status": { params: QueueStatusParams; result: Record }; @@ -320,6 +825,47 @@ export interface RpcMethodMap { "disable_mcp_server": { params: DisableMcpServerParams; result: null }; "report_incident": { params: ReportIncidentParams; result: null }; "export_session": { params: ExportSessionParams; result: Record }; + "get_config": { params: GetConfigParams; result: Record }; + "validate_config": { params: ValidateConfigParams; result: Record }; + "write_config": { params: WriteConfigParams; result: Record }; + "mcp_read_resource": { params: McpReadResourceParams; result: Record }; + "mcp_call_tool": { params: McpCallToolParams; result: Record }; + "mcp_get_prompt": { params: McpGetPromptParams; result: Record }; + "fs_watch": { params: FsWatchParams; result: Record }; + "fs_unwatch": { params: FsUnwatchParams; result: boolean }; + "fs_list": { params: FsListParams; result: Record }; + "fs_stat": { params: FsStatParams; result: Record }; + "fs_download_open": { params: FsDownloadOpenParams; result: Record }; + "fs_download_read": { params: FsDownloadReadParams; result: Record }; + "fs_download_close": { params: FsDownloadCloseParams; result: boolean }; + "fs_upload_open": { params: FsUploadOpenParams; result: Record }; + "fs_upload_chunk": { params: FsUploadChunkParams; result: Record }; + "fs_upload_commit": { params: FsUploadCommitParams; result: Record }; + "fs_upload_abort": { params: FsUploadAbortParams; result: boolean }; + "git_list_repositories": { params: GitListRepositoriesParams; result: Record }; + "git_status": { params: GitStatusParams; result: Record }; + "git_diff": { params: GitDiffParams; result: Record }; + "git_log": { params: GitLogParams; result: Record }; + "git_list_branches": { params: GitListBranchesParams; result: Record }; + "git_list_worktrees": { params: GitListWorktreesParams; result: Record }; + "git_conflicts": { params: GitConflictsParams; result: Record }; + "git_stage": { params: GitStageParams; result: Record }; + "git_unstage": { params: GitUnstageParams; result: Record }; + "git_discard": { params: GitDiscardParams; result: Record }; + "git_commit": { params: GitCommitParams; result: Record }; + "git_checkout": { params: GitCheckoutParams; result: Record }; + "git_reset": { params: GitResetParams; result: Record }; + "git_fetch": { params: GitFetchParams; result: Record }; + "git_pull": { params: GitPullParams; result: Record }; + "git_push": { params: GitPushParams; result: Record }; + "list_threads": { params: ListThreadsParams; result: Record }; + "search_threads": { params: SearchThreadsParams; result: Record }; + "update_thread": { params: UpdateThreadParams; result: Record }; + "list_thread_descendants": { params: ListThreadDescendantsParams; result: Record }; + "export_thread": { params: ExportThreadParams; result: Record }; + "purge_threads": { params: PurgeThreadsParams; result: Record }; + "get_plan": { params: GetPlanParams; result: Record }; + "get_run_diff": { params: GetRunDiffParams; result: Record }; } export interface RpcNotificationMap { "run_started": RunStartedParams; @@ -336,8 +882,18 @@ export interface RpcNotificationMap { "client_request": ClientRequestParams; "client_request_resolved": ClientRequestResolvedParams; "queue_changed": QueueChangedParams; + "account_changed": AccountChangedParams; + "elicitation_requested": ElicitationRequestedParams; + "elicitation_resolved": ElicitationResolvedParams; + "mcp_server_status_changed": McpServerStatusChangedParams; "session_forked": SessionForkedParams; "session_variables_changed": SessionVariablesChangedParams; + "fs_events": FsEventsParams; + "fs_rescan_required": FsRescanRequiredParams; + "fs_transfer_progress": FsTransferProgressParams; + "git_operation_progress": GitOperationProgressParams; + "thread_updated": ThreadUpdatedParams; + "item_updated": ItemUpdatedParams; } export interface RpcClientNotificationMap { "initialized": InitializedParams; diff --git a/src/generated/omniagents-gui-v1/provenance.json b/src/generated/omniagents-gui-v1/provenance.json index 44d78dc0..ac6f4f6b 100644 --- a/src/generated/omniagents-gui-v1/provenance.json +++ b/src/generated/omniagents-gui-v1/provenance.json @@ -1,9 +1,9 @@ { "protocol_version": "1.0.0", - "canonical_sha256": "34619763ba9645b309789144dbb72a2aac918f6de0462c347ecc3d1dc1786b1d", - "generated_typescript_sha256": "b237e6ffdce794c31be91990a58a39fe6bcce0f3618d28eddcb69f5e9a7f6a33", + "canonical_sha256": "efc199c93a5a739e2c9d34d43aa1a8f7441312b06075d023bcf5ce20e4c2e856", + "generated_typescript_sha256": "23515438bdf6cfb6bd2e94300fb5fe3e7ba1008a85355c56284c224d3bcc37da", "source_repository": "https://github.com/utrgv-software-engineering/omniagents.git", - "source_commit": "5c8abd0ea4335e4c1118ecaf67d99133cff2c9c8", + "source_commit": "ba57696e1951f83743f2ab504c90dcf044b8fba7", "source_artifact": "omniagents/backends/web/ui/src/protocol/generated/gui-v1.ts", "source_manifest": "protocol/openrpc/manifest.json", "source_openrpc": "protocol/openrpc/omniagents-gui-v1.json", @@ -11,9 +11,9 @@ "transport_manifest": "canonical/manifest.json", "transport_openrpc": "canonical/omniagents-gui-v1.json", "transport_schema": "canonical/gui-v1.schema.json", - "transport_manifest_sha256": "beae1934eaabb56e82fe2eb2c3eb8ee9cce93782a43dfb3cdae934cbe08337ea", - "transport_openrpc_sha256": "ef0ce63b85e1dad7818836fc2cc42d2c04dd7dbb73675168608b8e89a08938ee", - "transport_schema_sha256": "a3729912f436ed4601741b0ee7e889356271318e3e8fa3b21144c82b48d91c1c", + "transport_manifest_sha256": "a44bc87a71850a278b72512d9a3a45cd58757adb2ca2b6f6edd94e53b5b65142", + "transport_openrpc_sha256": "d536917b6a02bbe67bec0da45afe1ce26716f4b214a8d3b362f9e9613f27f5f3", + "transport_schema_sha256": "6b9f67472d3cba739ed0998f162fcb4d140867cdf3f2c4b97cf533c827de6f81", "generator": "scripts.protocol.generate_gui_protocol", "generator_version": "1", "toolchain": { diff --git a/src/renderer/omniagents-ui/rpc/client.test.ts b/src/renderer/omniagents-ui/rpc/client.test.ts index ae973c8d..fa5973e3 100644 --- a/src/renderer/omniagents-ui/rpc/client.test.ts +++ b/src/renderer/omniagents-ui/rpc/client.test.ts @@ -1,12 +1,34 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import type { OmniagentsRpcError } from './client'; -import { RPCClient } from './client'; +import { RPCClient, WORKSPACE_EXPERIMENTAL_OPERATIONS } from './client'; + +type InitializeRequest = { + id: number; + method: 'initialize'; + params: { + protocol_version: string; + identity: { name: string; version: string }; + platform: { os: string; arch: string }; + capabilities: { + experimental_operations: string[]; + [key: string]: unknown; + }; + }; +}; + +const initializeResult = (request: InitializeRequest) => ({ + protocol_version: '1.0.0', + identity: { name: 'omniagents', version: '1.0.0' }, + platform: { os: 'linux', arch: 'x86_64' }, + capabilities: request.params.capabilities, +}); class MockWebSocket { static OPEN = 1; static CONNECTING = 0; static instances: MockWebSocket[] = []; + static autoInitialize = true; readyState = MockWebSocket.CONNECTING; onmessage: ((event: { data: string }) => void) | null = null; @@ -38,6 +60,13 @@ class MockWebSocket { send(payload: string): void { this.sent.push(payload); + const request = JSON.parse(payload) as { method?: string }; + if (request.method === 'initialize' && MockWebSocket.autoInitialize) { + queueMicrotask(() => { + const initialize = request as InitializeRequest; + this.receive({ jsonrpc: '2.0', id: initialize.id, result: initializeResult(initialize) }); + }); + } } receive(payload: unknown): void { @@ -55,12 +84,144 @@ async function connectedClient(): Promise<{ client: RPCClient; socket: MockWebSo const socket = MockWebSocket.instances.at(-1)!; socket.open(); await connection; + // Most tests below exercise post-connect calls. Handshake ordering has + // dedicated assertions and request ids intentionally remain monotonic. + socket.sent.length = 0; return { client, socket }; } +describe('RPCClient GUI protocol handshake', () => { + beforeEach(() => { + MockWebSocket.instances = []; + MockWebSocket.autoInitialize = true; + vi.stubGlobal('WebSocket', MockWebSocket); + }); + + afterEach(() => { + MockWebSocket.autoInitialize = true; + vi.unstubAllGlobals(); + }); + + it('sends initialize then initialized before connect resolves', async () => { + MockWebSocket.autoInitialize = false; + const client = new RPCClient('ws://example.test/ws'); + let connected = false; + const connection = client.connect().then(() => { + connected = true; + }); + const socket = MockWebSocket.instances[0]!; + + socket.open(); + await vi.waitFor(() => expect(socket.sent).toHaveLength(1)); + + const initialize = JSON.parse(socket.sent[0]!) as InitializeRequest; + expect(connected).toBe(false); + expect(client.connectionState).toBe('connecting'); + expect(initialize).toEqual({ + jsonrpc: '2.0', + id: 1, + method: 'initialize', + params: { + protocol_version: '1.0.0', + identity: { name: 'omni-desktop', version: '1.0.0' }, + platform: { os: 'browser', arch: 'unknown' }, + capabilities: { + realtime: true, + mcp_apps: true, + client_functions: true, + approvals: true, + artifacts: true, + replay: true, + terminal: true, + experimental_operations: [...WORKSPACE_EXPERIMENTAL_OPERATIONS], + disabled_notifications: [], + }, + }, + }); + + socket.receive({ jsonrpc: '2.0', id: initialize.id, result: initializeResult(initialize) }); + await connection; + + expect(socket.sent.map((frame) => JSON.parse(frame))).toEqual([ + initialize, + { jsonrpc: '2.0', method: 'initialized', params: {} }, + ]); + expect(client.isConnected).toBe(true); + expect(client.initializeResult).toEqual(initializeResult(initialize)); + client.dispose(); + }); + + it('retries without explicitly unsupported experimental operations', async () => { + MockWebSocket.autoInitialize = false; + const client = new RPCClient('ws://example.test/ws'); + const connection = client.connect(); + const socket = MockWebSocket.instances[0]!; + socket.open(); + await vi.waitFor(() => expect(socket.sent).toHaveLength(1)); + + const first = JSON.parse(socket.sent[0]!) as InitializeRequest; + socket.receive({ + jsonrpc: '2.0', + id: first.id, + error: { + code: -32013, + message: 'Unsupported experimental capabilities', + data: { kind: 'capability_not_negotiated', unsupported_capabilities: ['git_push'] }, + }, + }); + + await vi.waitFor(() => expect(socket.sent).toHaveLength(2)); + const second = JSON.parse(socket.sent[1]!) as InitializeRequest; + expect(first.params.capabilities.experimental_operations).toContain('git_push'); + expect(second.params.capabilities.experimental_operations).not.toContain('git_push'); + expect(second.params.capabilities.experimental_operations).toHaveLength( + WORKSPACE_EXPERIMENTAL_OPERATIONS.length - 1 + ); + + socket.receive({ jsonrpc: '2.0', id: second.id, result: initializeResult(second) }); + await connection; + + expect(JSON.parse(socket.sent[2]!)).toEqual({ jsonrpc: '2.0', method: 'initialized', params: {} }); + expect(client.degradedExperimentalOperations).toEqual(['git_push']); + expect(client.supportsExperimentalOperation('git_push')).toBe(false); + expect(client.supportsExperimentalOperation('fs_stat')).toBe(true); + client.dispose(); + }); + + it('does not degrade an unrelated capability mismatch', async () => { + MockWebSocket.autoInitialize = false; + const client = new RPCClient('ws://example.test/ws'); + const connection = client.connect(); + const socket = MockWebSocket.instances[0]!; + socket.open(); + await vi.waitFor(() => expect(socket.sent).toHaveLength(1)); + + const initialize = JSON.parse(socket.sent[0]!) as InitializeRequest; + socket.receive({ + jsonrpc: '2.0', + id: initialize.id, + error: { + code: -32013, + message: 'A mandatory notification cannot be disabled', + data: { kind: 'mandatory_capability_disabled', disabled: ['run_started'] }, + }, + }); + + await expect(connection).rejects.toMatchObject({ + name: 'OmniagentsRpcError', + code: -32013, + message: 'A mandatory notification cannot be disabled', + }); + expect(socket.sent).toHaveLength(1); + expect(client.initializeResult).toBeNull(); + client.dispose(); + }); +}); + describe('RPCClient generated protocol integration', () => { beforeEach(() => { MockWebSocket.instances = []; + MockWebSocket.autoInitialize = true; vi.stubGlobal('WebSocket', MockWebSocket); }); @@ -75,7 +236,7 @@ describe('RPCClient generated protocol integration', () => { expect(request).toEqual({ jsonrpc: '2.0', - id: 1, + id: 2, method: 'delete_session', params: { session_id: 'session-1' }, }); @@ -334,6 +495,12 @@ describe('RPCClient durable event replay', () => { const socket2 = MockWebSocket.instances.at(-1)!; socket2.open(); + await vi.waitFor(() => expect(socket2.sent).toHaveLength(3), { timeout: 3000 }); + expect(socket2.sent.slice(0, 2).map((frame) => (JSON.parse(frame) as { method: string }).method)).toEqual([ + 'initialize', + 'initialized', + ]); + // The fresh connection must resume from the stored cursor before any // live event arrives, recovering exactly the missed events. await vi.waitFor(() => expect(sentRequests(socket2, 'resume_session')).toHaveLength(1), { timeout: 3000 }); diff --git a/src/renderer/omniagents-ui/rpc/client.ts b/src/renderer/omniagents-ui/rpc/client.ts index f8b24060..88841c16 100644 --- a/src/renderer/omniagents-ui/rpc/client.ts +++ b/src/renderer/omniagents-ui/rpc/client.ts @@ -1,6 +1,14 @@ import { createActor } from 'xstate'; -import type { JsonRpcError, JsonRpcId, RpcMethodMap, RpcNotificationMap } from '@/generated/omniagents-gui-v1/gui-v1'; +import type { + Capabilities, + InitializeResult, + JsonRpcError, + JsonRpcId, + RpcClientNotificationMap, + RpcMethodMap, + RpcNotificationMap, +} from '@/generated/omniagents-gui-v1/gui-v1'; import { withConnectTicket } from '@/renderer/omniagents-ui/rpc/ws-ticket'; import { createMachineLogger } from '@/shared/machines/machine-logger'; import { @@ -48,6 +56,73 @@ type PendingEntry = { */ export const ACK_DEBOUNCE_MS = 500; +/** + * Workspace operations are one negotiated surface: requests and their + * notifications must be named explicitly in ``experimental_operations``. + * Keep this list exhaustive so a successful handshake is sufficient to + * build the explorer without a second capability round trip. + */ +export const WORKSPACE_EXPERIMENTAL_OPERATIONS = [ + 'fs_watch', + 'fs_unwatch', + 'fs_list', + 'fs_stat', + 'fs_download_open', + 'fs_download_read', + 'fs_download_close', + 'fs_upload_open', + 'fs_upload_chunk', + 'fs_upload_commit', + 'fs_upload_abort', + 'git_list_repositories', + 'git_status', + 'git_diff', + 'git_log', + 'git_list_branches', + 'git_list_worktrees', + 'git_conflicts', + 'git_stage', + 'git_unstage', + 'git_discard', + 'git_commit', + 'git_checkout', + 'git_reset', + 'git_fetch', + 'git_pull', + 'git_push', + 'fs_events', + 'fs_rescan_required', + 'fs_transfer_progress', + 'git_operation_progress', +] as const; + +const requestedCapabilities = (experimentalOperations: readonly string[]): Capabilities => ({ + realtime: true, + mcp_apps: true, + client_functions: true, + approvals: true, + artifacts: true, + replay: true, + terminal: true, + experimental_operations: [...experimentalOperations], + disabled_notifications: [], +}); + +function unsupportedExperimentalCapabilities(error: unknown): string[] | null { + if (!(error instanceof OmniagentsRpcError) || error.code !== -32013) { + return null; + } + const data = error.data; + if (!data || typeof data !== 'object' || (data as { kind?: unknown }).kind !== 'capability_not_negotiated') { + return null; + } + const unsupported = (data as { unsupported_capabilities?: unknown }).unsupported_capabilities; + if (!Array.isArray(unsupported) || unsupported.some((capability) => typeof capability !== 'string')) { + return null; + } + return unsupported; +} + function profileEnabled(): boolean { try { return typeof localStorage !== 'undefined' && localStorage.getItem('debug:profile') === '1'; @@ -72,6 +147,8 @@ export class RPCClient { private disposed = false; private reconnectSub: { unsubscribe(): void } | null = null; private connectInFlight: Promise | null = null; + private negotiatedInitialization: InitializeResult | null = null; + private unavailableExperimentalOperations = new Set(); private replay: SessionReplayCoordinator; private ackTimers = new Map>(); private resyncListeners = new Set<(sessionId: string) => void>(); @@ -130,6 +207,21 @@ export class RPCClient { return this.connectionState === 'connected'; } + /** The server capability intersection from the latest successful handshake. */ + get initializeResult(): InitializeResult | null { + return this.negotiatedInitialization; + } + + /** True only when the current connection negotiated this experimental operation. */ + supportsExperimentalOperation(operation: string): boolean { + return this.negotiatedInitialization?.capabilities.experimental_operations.includes(operation) ?? false; + } + + /** Operations rejected by an older runtime and omitted by the degraded handshake. */ + get degradedExperimentalOperations(): readonly string[] { + return [...this.unavailableExperimentalOperations]; + } + async connect(): Promise { if (this.disposed) { throw new Error('RPCClient is disposed'); @@ -217,7 +309,6 @@ export class RPCClient { if (isStale()) { return; } - this.send({ type: 'WS_OPEN' }); resolve(); }; const onError = () => { @@ -259,7 +350,8 @@ export class RPCClient { // that's already connected via the replacement socket. const attachedWs = this.ws; - // Wire up ongoing message handling + // Wire up ongoing message handling before sending initialize: a server is + // allowed to answer in the same task as WebSocket.send(). this.ws.onmessage = (ev) => { if (this.ws !== attachedWs) { return; @@ -331,6 +423,31 @@ export class RPCClient { // onclose will fire after onerror }; + try { + await this.initializeConnection(attachedWs); + } catch (error) { + // A failed handshake never produces a connected state. Close only the + // socket that attempted it; an onclose from an already-replaced socket + // must not disturb the replacement connection. + if (this.ws === attachedWs) { + this.rejectAllPending('GUI protocol handshake failed'); + attachedWs.onmessage = null; + attachedWs.onclose = null; + attachedWs.onerror = null; + try { + attachedWs.close(); + } catch {} + this.ws = null; + this.send({ type: 'WS_ERROR', error: (error as Error).message || 'GUI protocol handshake failed' }); + } + throw error; + } + + // Raw transport open is not application readiness. Only transition the + // lifecycle machine and resolve connect() after initialize was accepted + // and initialized was put on the wire. + this.send({ type: 'WS_OPEN' }); + // Reconnect hook: proactively backfill every session we hold a replay // cursor for, before any re-render depends on live events. The // resume_session call replays events missed while disconnected AND @@ -339,6 +456,43 @@ export class RPCClient { this.replay.resumeAll(); } + private async initializeConnection(socket: WebSocket): Promise { + let requestedExperimental = [...WORKSPACE_EXPERIMENTAL_OPERATIONS] as string[]; + this.negotiatedInitialization = null; + this.unavailableExperimentalOperations.clear(); + + while (true) { + try { + const result = await this.call('initialize', { + protocol_version: '1.0.0', + identity: { name: 'omni-desktop', version: '1.0.0' }, + platform: { os: 'browser', arch: 'unknown' }, + capabilities: requestedCapabilities(requestedExperimental), + }); + if (this.ws !== socket) { + throw new Error('WebSocket replaced during GUI protocol handshake'); + } + this.negotiatedInitialization = result; + this.notify('initialized', {}); + return; + } catch (error) { + const unsupported = unsupportedExperimentalCapabilities(error); + if (!unsupported) { + throw error; + } + const unsupportedSet = new Set(unsupported); + const reduced = requestedExperimental.filter((operation) => !unsupportedSet.has(operation)); + if (reduced.length === requestedExperimental.length) { + throw error; + } + for (const operation of unsupported) { + this.unavailableExperimentalOperations.add(operation); + } + requestedExperimental = reduced; + } + } + } + disconnect(): void { this.rejectAllPending('Client disconnected'); this.connectInFlight = null; @@ -520,6 +674,16 @@ export class RPCClient { return p; } + private notify( + method: Method, + params: RpcClientNotificationMap[Method] + ): void { + if (!this.ws || this.ws.readyState !== WebSocket.OPEN) { + throw new Error('WebSocket not connected'); + } + this.ws.send(JSON.stringify({ jsonrpc: '2.0' as const, method, params })); + } + private rejectAllPending(reason: string): void { for (const [id, entry] of this.pending) { clearTimeout(entry.timer); diff --git a/src/shared/machines/rpc-client.machine.ts b/src/shared/machines/rpc-client.machine.ts index 5d243e4e..6fe379d1 100644 --- a/src/shared/machines/rpc-client.machine.ts +++ b/src/shared/machines/rpc-client.machine.ts @@ -139,6 +139,10 @@ export const rpcClientMachine = setup({ WS_OPEN: { target: 'connected', actions: 'resetReconnect' }, WS_ERROR: { target: 'reconnecting' }, WS_CLOSE: { target: 'reconnecting' }, + // initialize is a regular correlated JSON-RPC call, made while the + // transport is open but before application readiness. + CALL_STARTED: { actions: 'incrementPending' }, + CALL_SETTLED: { actions: 'decrementPending' }, }, after: { [WS_CONNECT_TIMEOUT_MS]: { target: 'reconnecting' },