diff --git a/agent-ops/roadmap/ROADMAP.md b/agent-ops/roadmap/ROADMAP.md index bda0692..ae746c3 100644 --- a/agent-ops/roadmap/ROADMAP.md +++ b/agent-ops/roadmap/ROADMAP.md @@ -21,7 +21,7 @@ OTO는 YAML 기반 빌드/배포 파이프라인을 실행하는 Dart CLI에서 ### Edge 직접 연결 기반 `oto-agent` -- [OTO-iop proto-socket 통신 기반](milestones/oto-iop-proto-socket-foundation.md) - 상태: 계획; 목표: iop Edge-Node 연결 구조와 proto-socket Dart 구현을 기준으로 OTO가 Edge에 직접 붙기 위한 최소 transport/handshake 기반을 정리한다. +- [OTO-iop proto-socket 통신 기반](milestones/oto-iop-proto-socket-foundation.md) - 상태: 진행 중; 목표: iop Edge-Node 연결 구조와 proto-socket Dart 구현을 기준으로 OTO가 Edge에 직접 붙기 위한 최소 transport/handshake 기반을 정리한다. - [Edge bootstrap 계약](milestones/edge-bootstrap-contract.md) - 상태: 보류; 목표: Jenkins node 연결식 UX를 Edge bootstrap 설치/등록 계약으로 정리한다. OTO-iop proto-socket 통신 기반과 iop의 Agent Bootstrap과 OTO 등록 기준 정리를 기다린다. - [`oto-agent` 등록 흐름](milestones/oto-agent-registration.md) - 상태: 계획; 목표: `oto-agent` 설치 후 Edge 직접 outbound 등록 흐름을 구현 가능한 단위로 정리한다. @@ -30,16 +30,24 @@ OTO는 YAML 기반 빌드/배포 파이프라인을 실행하는 Dart CLI에서 - [agent 메시지 프로토콜](milestones/agent-message-protocol.md) - 상태: 계획; 목표: agent register, capabilities, run request 등 기본 메시지 프로토콜을 정의한다. - [원격 실행 생명주기](milestones/remote-run-lifecycle.md) - 상태: 계획; 목표: 원격 실행, 로그, artifact, cancel, status, self-update 생명주기를 완성한다. +## 아카이브 Milestone 요약 + +- 없음 + ## 로딩 정책 - 일반 작업에서는 `agent-ops/roadmap/ROADMAP.md`를 매번 읽지 않는다. - 기능 추가, 구조 변경, 스킬 추가/수정, 문서 구조 변경 작업을 수행할 때는 `agent-ops/roadmap/current.md`를 먼저 읽는다. - `current.md`는 현재 작업 위치가 아니라 활성 Milestone 후보 목록이다. - `current.md`에는 개인별 현재 작업 위치나 완료 상태를 기록하지 않는다. +- `current.md`의 활성 Milestone은 `agent-ops/roadmap/milestones/` 하위 문서만 가리키며, `agent-ops/roadmap/archive/**`는 포함하지 않는다. - 요청 내용, 현재 브랜치, 변경 파일, 관련 코드 경로를 보고 가장 관련 있는 활성 Milestone 문서를 같은 세션에서 1회 읽는다. - 활성 Milestone 둘 이상에 걸치면 필요한 Milestone 문서를 모두 읽고 작업 범위를 좁힌다. - 활성 Milestone 밖의 작업이면 이 문서의 Milestone 목록을 확인하고 사용자에게 진행 또는 전환 여부를 확인한다. - 이 문서는 로드맵 생성/갱신, Phase 전환, Milestone 추가/수정 요청이 있을 때만 읽는다. - 상세 작업과 완료 기준은 각 Milestone 문서의 체크리스트로 관리한다. +- 완료 또는 폐기되어 아카이브된 Milestone은 이 문서의 `아카이브 Milestone 요약`에 당시 요약만 남기고, 아카이브 문서 링크나 상세 경로는 남기지 않는다. +- 상세 문서가 있는 `agent-ops/roadmap/archive/**`는 사용자가 명시적으로 요청한 경우에만 읽는다. +- 아카이브된 Milestone 문서는 최신 템플릿이나 스킬 규약에 맞춰 재포맷하지 않는다. - 선택된 Milestone의 `구현 잠금` 섹션이 없거나 상태가 `잠금`이면 코드 구현, `agent-task` 구현 계획 생성, 세부 API/파일 구조 확정을 시작하지 않는다. - `구현 잠금`이 없거나 잠긴 Milestone은 사용자가 "진행"을 요청해도 우회하지 않고, 먼저 Milestone 문서의 구현 구체화와 잠금 해제를 사용자에게 요청한다. diff --git a/agent-ops/roadmap/milestones/oto-iop-proto-socket-foundation.md b/agent-ops/roadmap/milestones/oto-iop-proto-socket-foundation.md index c397d57..cb58512 100644 --- a/agent-ops/roadmap/milestones/oto-iop-proto-socket-foundation.md +++ b/agent-ops/roadmap/milestones/oto-iop-proto-socket-foundation.md @@ -11,20 +11,20 @@ Edge 직접 연결 기반 `oto-agent` ## 상태 -계획 +진행 중 ## 구현 잠금 -- 상태: 잠금 -- 이유: iop Edge-Node 연결 구조와 proto-socket Dart SDK 호환성을 바탕으로 OTO 쪽 최소 통신 경계를 정리하는 선행 Milestone이며, 아직 구현 가능한 API/파일 구조가 확정되지 않았다. +- 상태: 해제 +- 이유: iop Edge-Node 연결 흐름은 기존 node transport/API 구조를 기본 재사용하는 방향으로 정리되었고, `proto_socket` Dart path dependency 및 iop Edge register handshake smoke가 통과했다. 실제 OTO 통신 모듈 구현 전 경계는 transport/handshake/session/smoke 기준까지 문서화된 상태다. - 해제 조건: - - [ ] iop의 Edge-Node proto-socket 연결 흐름과 OTO specialized agent가 공유하거나 분리할 메시지 경계가 문서화됨 - - [ ] OTO의 Dart SDK 범위와 `proto_socket` Dart 패키지 SDK 요구사항의 호환성 처리 방향이 정리됨 - - [ ] 최소 연결 검증 기준이 정의되고 사용자가 이 Milestone의 구현 구체화와 잠금 해제를 명시적으로 승인함 -- 잠금 중 금지: - - 코드 구현 또는 `agent-task` 구현 계획 생성 - - proto 파일, 생성 코드, package 구조, 연결 API를 추측해 확정 - - Edge bootstrap command나 credential schema를 이 Milestone에서 선확정 + - [x] iop의 Edge-Node proto-socket 연결 흐름과 OTO specialized agent가 공유하거나 분리할 메시지 경계가 문서화됨 + - [x] OTO의 Dart SDK 범위와 `proto_socket` Dart 패키지 SDK 요구사항의 호환성 처리 방향이 정리됨 + - [x] 최소 연결 검증 기준이 정의되고 사용자가 이 Milestone의 구현 구체화와 잠금 해제를 명시적으로 승인함 +- 해제 후 주의: + - 실제 구현은 기존 iop node transport/API 계약을 우선 재사용한다. + - Edge bootstrap command, registry 저장 모델, credential schema는 후속 Milestone에서 확정한다. + - build/deploy run request, artifact, log stream 전체 메시지 프로토콜은 후속 agent 메시지 프로토콜에서 확정한다. ## 범위 @@ -35,18 +35,18 @@ Edge 직접 연결 기반 `oto-agent` ## 필수 기능 -- [ ] [iop-flow-map] iop Edge-Node 연결 흐름의 register, config, run/event, command, heartbeat 책임이 OTO 관점에서 매핑되어 있다. -- [ ] [proto-socket-dart] 상위 `proto-socket` Dart 구현의 사용 가능 범위와 OTO SDK/dependency 호환성 이슈가 정리되어 있다. -- [ ] [handshake-scope] OTO agent 최소 handshake가 기존 `RegisterRequest/RegisterResponse`를 재사용할지 specialized agent 메시지로 분리할지 판단 기준이 정의되어 있다. -- [ ] [session-lifecycle] 연결, heartbeat, disconnect, reconnect, parser map 구성의 최소 세션 생명주기가 문서화되어 있다. -- [ ] [smoke-criteria] OTO에서 실제 구현 전 확인할 최소 통신 smoke 기준이 정의되어 있다. +- [x] [iop-flow-map] iop Edge-Node 연결 흐름의 register, config, run/event, command, heartbeat 책임이 OTO 관점에서 매핑되어 있다. +- [x] [proto-socket-dart] 상위 `proto-socket` Dart 구현의 사용 가능 범위와 OTO SDK/dependency 호환성 이슈가 정리되어 있다. +- [x] [handshake-scope] OTO agent 최소 handshake가 기존 `RegisterRequest/RegisterResponse`를 재사용할지 specialized agent 메시지로 분리할지 판단 기준이 정의되어 있다. +- [x] [session-lifecycle] 연결, heartbeat, disconnect, reconnect, parser map 구성의 최소 세션 생명주기가 문서화되어 있다. +- [x] [smoke-criteria] OTO에서 실제 구현 전 확인할 최소 통신 smoke 기준이 정의되어 있다. ## 완료 기준 -- [ ] Edge bootstrap 계약이 통신 기반 없이 bootstrap UX를 선확정하지 않도록 선행 조건이 명확하다. -- [ ] OTO와 iop 구현자가 같은 transport/handshake 경계를 보고 병렬로 후속 작업을 시작할 수 있다. -- [ ] OTO의 Dart SDK와 `proto_socket` Dart 패키지 호환성 처리 방향이 결정 후보로 남아 있다. -- [ ] 최소 통신 smoke가 코드 구현 전 검증 기준으로 설명되어 있다. +- [x] Edge bootstrap 계약이 통신 기반 없이 bootstrap UX를 선확정하지 않도록 선행 조건이 명확하다. +- [x] OTO와 iop 구현자가 같은 transport/handshake 경계를 보고 병렬로 후속 작업을 시작할 수 있다. +- [x] OTO의 Dart SDK와 `proto_socket` Dart 패키지 호환성 처리 방향이 정리되어 있다. +- [x] 최소 통신 smoke가 코드 구현 전 검증 기준으로 설명되어 있다. ## 범위 제외 @@ -62,4 +62,39 @@ Edge 직접 연결 기반 `oto-agent` - 관련 OTO 경로: `pubspec.yaml`, 향후 agent/transport 모듈 후보 - 선행 작업: CLI 자동화 표면 정리 완료 - 후속 작업: Edge bootstrap 계약, `oto-agent` 등록 흐름, agent 메시지 프로토콜 -- 확인 필요: OTO SDK를 `proto_socket` Dart 패키지 요구사항에 맞춰 올릴지, `proto_socket` Dart SDK 범위를 낮출지, 별도 compatibility shim을 둘지 결정해야 한다. +- handshake-scope 정리: + - OTO agent의 최소 register handshake는 기존 iop `RegisterRequest(token)` / `RegisterResponse(accepted, node_id, alias, config)`를 재사용한다. + - OTO 전용 specialized register 메시지는 현 단계에서 만들지 않는다. token 발급, credential schema, registry 저장 모델은 Edge bootstrap/registration Milestone에서 결정한다. + - `RegisterResponse.config` 전달 패턴은 재사용하되, build/deploy 전용 설정 payload가 필요한지는 OTO config 설계 시 별도 판단한다. +- session-lifecycle 정리: + - OTO agent는 iop node와 같이 Edge로 outbound TCP 연결을 열고, proto-socket heartbeat를 통해 생존성을 확인한다. + - 기본 heartbeat 후보는 iop node와 같은 30초 interval, 45초 wait window다. + - parser map의 기본 수신 대상은 `RegisterResponse`, `RunRequest`, `CancelRequest`, `NodeCommandRequest`, `EdgeNodeEvent`다. + - disconnect listener는 local shutdown, transport close, heartbeat timeout을 구분할 수 있어야 한다. + - reconnect/backoff 정책은 최소 smoke 범위 밖이며 `oto-agent` 등록 흐름 또는 원격 실행 생명주기에서 구현 기준을 정한다. +- smoke-criteria 정리: + - OTO Dart client가 `proto_socket` path dependency를 사용해 실제 iop Edge `serve` 프로세스에 TCP 연결한다. + - OTO Dart client가 `RegisterRequest(token)`을 보내고 `RegisterResponse(accepted=true, node_id, alias, config.runtime)`를 받는다. + - smoke는 제품 통신 모듈 구현 없이 테스트 전용 iop runtime proto 생성물과 임시 Edge config를 사용한다. + - 검증 명령: `dart test test/oto_iop_connection_smoke_test.dart -r expanded` + - 확인 결과: iop Edge serve 프로세스와 OTO Dart proto-socket client의 register handshake 통과. +- proto-socket-dart 정리: + - OTO SDK 하한을 `>=3.2.3 <4.0.0`로 올리고 `proto_socket`을 `../proto-socket/dart` path dependency로 연결했다. + - `../proto-socket/dart/pubspec.yaml`은 SDK `>=3.2.3 <4.0.0`, `protobuf: ^3.1.0`, `meta: ^1.9.0`을 요구한다. + - Dart 구현은 `ProtobufClient`, `ProtobufServer`, `Communicator`, `BaseClient`, WebSocket transport, request-response, listener, heartbeat, disconnect listener를 export한다. + - iop package-qualified protobuf typeName(`iop.RegisterResponse` 등)을 처리하기 위해 `../proto-socket/dart/lib/src/communicator.dart`의 listener/request/response 매칭을 일반화했다. + - OTO 쪽 최초 세팅 검증은 `dart pub get`과 `dart analyze` 통과를 기준으로 확인했다. + - 실제 OTO agent transport class와 generated proto import 구조는 후속 구현에서 확정한다. +- iop-flow-map 정리: + - transport: 기존 iop node는 Edge에 outbound TCP 연결을 열고 proto-socket heartbeat를 사용하는 단일 persistent session으로 동작한다. OTO agent도 이 transport 방향을 기본 재사용하는 후보로 둔다. + - register: node는 연결 직후 `RegisterRequest(token)`을 보내고 Edge는 token 기반 `NodeStore` 조회, 중복 연결 거부, config 생성 뒤 `RegisterResponse(accepted, node_id, alias, config)`를 돌려준다. OTO도 token 기반 등록 handshake는 재사용 후보로 두되, token 발급과 registry/credential schema는 Edge bootstrap/registration Milestone에서 확정한다. + - config: iop의 `NodeConfigPayload`는 `AdapterConfig`와 `NodeRuntimeConfig`를 담고, 현재 adapter config는 `mock`, `ollama`, `vllm`, `cli` 중심이다. OTO는 response 안의 config 전달 패턴은 재사용 가능하지만, build/deploy agent 설정 payload는 OTO 전용 config 또는 `adapter=oto` 계열 확장이 필요할 수 있다. + - run/event: Edge는 `RunRequest`를 node에 전송하고 node는 runtime 실행 결과를 `RunEvent(start, delta, complete, error, cancelled)`로 돌려준다. OTO는 이 실행 요청/이벤트 envelope를 재사용하는 후보로 두고, `adapter`는 `oto` 또는 `pipeline` 계열, `target`은 pipeline/profile 식별자, `input`/`metadata`는 YAML 경로, 파라미터, build metadata를 담는 후보로 둔다. + - cancel: `CancelRequest`는 run 취소와 logical session 종료를 구분한다. OTO는 run 취소는 재사용 후보로 두되, 장수 logical session 종료 의미가 필요한지는 `session-lifecycle`에서 판단한다. + - command: `NodeCommandRequest/Response`의 `CAPABILITIES`와 `TRANSPORT_STATUS`는 OTO agent에도 재사용 가치가 높다. `USAGE_STATUS`, `SESSION_LIST`는 기존 CLI adapter 의미가 강하므로 OTO에서 그대로 노출할지, build/deploy 전용 command를 추가할지는 후속 메시지 프로토콜에서 판단한다. + - heartbeat: heartbeat는 domain message가 아니라 proto-socket transport 생존성 책임이다. iop는 30초 interval, 45초 wait window를 사용하므로 OTO도 같은 기본값을 후보로 두고 Dart SDK 지원 여부를 확인한다. + - parser map: node side는 `RunRequest`, `EdgeNodeEvent`, `CancelRequest`, `NodeCommandRequest`, `RegisterResponse`를 파싱하고, edge side는 `RunEvent`, `EdgeNodeEvent`, `RegisterRequest`, `NodeCommandResponse`를 파싱한다. OTO agent는 node-side parser map을 기본형으로 삼고 OTO 전용 메시지가 생길 때만 추가한다. + - 공유 후보: `RegisterRequest/RegisterResponse`, `RunRequest/RunEvent`, `CancelRequest`, `NodeCommandRequest/Response`의 capabilities/transport status, `EdgeNodeEvent`, heartbeat/transport session. + - OTO 특화 후보: config payload 구조, build/deploy run input schema, artifact/log event 의미, OTO capability 결과 키, pipeline/profile target naming. + - 보류: Edge bootstrap command, agent registry 저장 모델, credential schema, durable history/audit, 전체 build/deploy proto 메시지 세트. +- 확인 필요: 후속 구현에서 OTO build/deploy run input schema, artifact/log event 의미, reconnect/backoff 정책을 확정해야 한다. diff --git a/agent-ops/rules/project/rules.md b/agent-ops/rules/project/rules.md index 21ead8e..5dcaff9 100644 --- a/agent-ops/rules/project/rules.md +++ b/agent-ops/rules/project/rules.md @@ -37,8 +37,8 @@ lib/ ## 기술 스택 -- 언어: Dart (SDK >=2.18.6 <4.0.0) -- 의존성: dart_framework (커스텀), http, json_annotation, cron, xml +- 언어: Dart (SDK >=3.2.3 <4.0.0) +- 의존성: dart_framework (커스텀), proto_socket (상위 `../proto-socket/dart` path dependency), http, json_annotation, cron, xml - 코드 생성: json_serializable + build_runner (`dart run build_runner build`) ## BuildType diff --git a/pubspec.yaml b/pubspec.yaml index 1a737e8..ff25c83 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,7 +5,7 @@ publish_to: none repository: https://git.toki-labs.com/toki/oto.git environment: - sdk: '>=2.18.6 <4.0.0' + sdk: '>=3.2.3 <4.0.0' # Add regular dependencies here. dependencies: @@ -20,12 +20,16 @@ dependencies: xml: ^6.6.1 archive: ^3.3.5 ftpconnect: ^2.0.10 + proto_socket: + path: ../proto-socket/dart dart_framework: git: url: https://git.toki-labs.com/toki/dart-app-core.git ref: master dev_dependencies: + fixnum: ^1.1.1 + protobuf: ^3.1.0 lints: ^6.0.0 test: ^1.24.9 build_runner: ^2.1.4 diff --git a/test/oto_iop_connection_smoke_test.dart b/test/oto_iop_connection_smoke_test.dart new file mode 100644 index 0000000..8f4f5e1 --- /dev/null +++ b/test/oto_iop_connection_smoke_test.dart @@ -0,0 +1,183 @@ +import 'dart:async'; +import 'dart:io'; + +import 'package:proto_socket/proto_socket.dart'; +import 'package:test/test.dart'; + +import 'support/iop/runtime.pb.dart' as iop; + +const _host = '127.0.0.1'; +const _token = 'oto-smoke-token'; +const _nodeId = 'oto-smoke-node'; +const _nodeAlias = 'oto-smoke'; + +class _OtoIopSmokeClient extends ProtobufClient { + _OtoIopSmokeClient(Socket socket) + : super(socket, 30, 45, { + iop.RegisterResponse.getDefault().info_.qualifiedMessageName: + iop.RegisterResponse.fromBuffer, + iop.RunRequest.getDefault().info_.qualifiedMessageName: + iop.RunRequest.fromBuffer, + iop.CancelRequest.getDefault().info_.qualifiedMessageName: + iop.CancelRequest.fromBuffer, + iop.NodeCommandRequest.getDefault().info_.qualifiedMessageName: + iop.NodeCommandRequest.fromBuffer, + iop.EdgeNodeEvent.getDefault().info_.qualifiedMessageName: + iop.EdgeNodeEvent.fromBuffer, + }); +} + +void main() { + test('OTO Dart proto-socket client registers with iop Edge', () async { + final edgePort = await _freePort(); + final metricsPort = await _freePort(); + final workDir = await Directory.systemTemp.createTemp('oto-iop-smoke-'); + final config = File('${workDir.path}/edge.yaml'); + await config + .writeAsString(_edgeConfig(edgePort, metricsPort, workDir.path)); + + final edge = await Process.start( + 'go', + [ + 'run', + './apps/edge/cmd/edge', + 'serve', + '--config', + config.path, + ], + workingDirectory: '../iop', + environment: { + 'GOCACHE': '${workDir.path}/gocache', + }, + ); + + final output = StringBuffer(); + final stdoutSub = edge.stdout + .transform(systemEncoding.decoder) + .listen(output.write, onError: output.write); + final stderrSub = edge.stderr + .transform(systemEncoding.decoder) + .listen(output.write, onError: output.write); + + _OtoIopSmokeClient? client; + try { + await _waitForPort(_host, edgePort, edge, output); + final socket = await ProtobufClient.connect(_host, edgePort); + client = _OtoIopSmokeClient(socket); + + final response = + await client.sendRequest( + iop.RegisterRequest()..token = _token, + timeout: const Duration(seconds: 5), + ); + + expect(response.accepted, isTrue); + expect(response.nodeId, _nodeId); + expect(response.alias, _nodeAlias); + expect(response.config.runtime.concurrency, 1); + expect( + response.config.runtime.workspaceRoot, '${workDir.path}/workspace'); + } finally { + await client?.close(); + edge.kill(ProcessSignal.sigterm); + await edge.exitCode.timeout( + const Duration(seconds: 5), + onTimeout: () { + edge.kill(ProcessSignal.sigkill); + return edge.exitCode; + }, + ); + await stdoutSub.cancel(); + await stderrSub.cancel(); + await workDir.delete(recursive: true); + } + }, timeout: const Timeout(Duration(seconds: 45))); +} + +Future _freePort() async { + final socket = await ServerSocket.bind(InternetAddress.loopbackIPv4, 0); + final port = socket.port; + await socket.close(); + return port; +} + +Future _waitForPort( + String host, + int port, + Process process, + StringBuffer output, +) async { + final deadline = DateTime.now().add(const Duration(seconds: 20)); + while (DateTime.now().isBefore(deadline)) { + final exit = await _tryExitCode(process); + if (exit != null) { + fail('iop Edge exited before listening (code $exit):\n$output'); + } + try { + final socket = await Socket.connect( + host, + port, + timeout: const Duration(milliseconds: 200), + ); + await socket.close(); + return; + } catch (_) { + await Future.delayed(const Duration(milliseconds: 100)); + } + } + fail('timed out waiting for iop Edge on $host:$port:\n$output'); +} + +Future _tryExitCode(Process process) { + return process.exitCode + .timeout( + Duration.zero, + onTimeout: () => -1, + ) + .then((code) => code == -1 ? null : code); +} + +String _edgeConfig(int edgePort, int metricsPort, String root) { + return ''' +edge: + id: "oto-smoke-edge" + name: "OTO Smoke Edge" + +server: + listen: "$_host:$edgePort" + +tls: + enabled: false + +logging: + level: "error" + pretty: false + +metrics: + port: $metricsPort + +openai: + enabled: false + +a2a: + enabled: false + +console: + adapter: "oto" + target: "pipeline" + session_id: "default" + background: false + timeout_sec: 30 + +nodes: + - id: "$_nodeId" + alias: "$_nodeAlias" + token: "$_token" + adapters: + cli: + enabled: false + runtime: + concurrency: 1 + workspace_root: "$root/workspace" +'''; +} diff --git a/test/support/google/protobuf/struct.pb.dart b/test/support/google/protobuf/struct.pb.dart new file mode 100644 index 0000000..847ddda --- /dev/null +++ b/test/support/google/protobuf/struct.pb.dart @@ -0,0 +1,283 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/struct.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; +import 'package:protobuf/src/protobuf/mixins/well_known.dart' as $mixin; + +import 'struct.pbenum.dart'; + +export 'struct.pbenum.dart'; + +/// `Struct` represents a structured data value, consisting of fields +/// which map to dynamically typed values. In some languages, `Struct` +/// might be supported by a native representation. For example, in +/// scripting languages like JS a struct is represented as an +/// object. The details of that representation are described together +/// with the proto support for the language. +/// +/// The JSON representation for `Struct` is JSON object. +class Struct extends $pb.GeneratedMessage with $mixin.StructMixin { + factory Struct({ + $core.Map<$core.String, Value>? fields, + }) { + final $result = create(); + if (fields != null) { + $result.fields.addAll(fields); + } + return $result; + } + Struct._() : super(); + factory Struct.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory Struct.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Struct', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create, toProto3Json: $mixin.StructMixin.toProto3JsonHelper, fromProto3Json: $mixin.StructMixin.fromProto3JsonHelper) + ..m<$core.String, Value>(1, _omitFieldNames ? '' : 'fields', entryClassName: 'Struct.FieldsEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OM, valueCreator: Value.create, valueDefaultOrMaker: Value.getDefault, packageName: const $pb.PackageName('google.protobuf')) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Struct clone() => Struct()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Struct copyWith(void Function(Struct) updates) => super.copyWith((message) => updates(message as Struct)) as Struct; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Struct create() => Struct._(); + Struct createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Struct getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Struct? _defaultInstance; + + /// Unordered map of dynamically typed values. + @$pb.TagNumber(1) + $core.Map<$core.String, Value> get fields => $_getMap(0); +} + +enum Value_Kind { + nullValue, + numberValue, + stringValue, + boolValue, + structValue, + listValue, + notSet +} + +/// `Value` represents a dynamically typed value which can be either +/// null, a number, a string, a boolean, a recursive struct value, or a +/// list of values. A producer of value is expected to set one of these +/// variants. Absence of any variant indicates an error. +/// +/// The JSON representation for `Value` is JSON value. +class Value extends $pb.GeneratedMessage with $mixin.ValueMixin { + factory Value({ + NullValue? nullValue, + $core.double? numberValue, + $core.String? stringValue, + $core.bool? boolValue, + Struct? structValue, + ListValue? listValue, + }) { + final $result = create(); + if (nullValue != null) { + $result.nullValue = nullValue; + } + if (numberValue != null) { + $result.numberValue = numberValue; + } + if (stringValue != null) { + $result.stringValue = stringValue; + } + if (boolValue != null) { + $result.boolValue = boolValue; + } + if (structValue != null) { + $result.structValue = structValue; + } + if (listValue != null) { + $result.listValue = listValue; + } + return $result; + } + Value._() : super(); + factory Value.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory Value.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Value_Kind> _Value_KindByTag = { + 1 : Value_Kind.nullValue, + 2 : Value_Kind.numberValue, + 3 : Value_Kind.stringValue, + 4 : Value_Kind.boolValue, + 5 : Value_Kind.structValue, + 6 : Value_Kind.listValue, + 0 : Value_Kind.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Value', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create, toProto3Json: $mixin.ValueMixin.toProto3JsonHelper, fromProto3Json: $mixin.ValueMixin.fromProto3JsonHelper) + ..oo(0, [1, 2, 3, 4, 5, 6]) + ..e(1, _omitFieldNames ? '' : 'nullValue', $pb.PbFieldType.OE, defaultOrMaker: NullValue.NULL_VALUE, valueOf: NullValue.valueOf, enumValues: NullValue.values) + ..a<$core.double>(2, _omitFieldNames ? '' : 'numberValue', $pb.PbFieldType.OD) + ..aOS(3, _omitFieldNames ? '' : 'stringValue') + ..aOB(4, _omitFieldNames ? '' : 'boolValue') + ..aOM(5, _omitFieldNames ? '' : 'structValue', subBuilder: Struct.create) + ..aOM(6, _omitFieldNames ? '' : 'listValue', subBuilder: ListValue.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Value clone() => Value()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Value copyWith(void Function(Value) updates) => super.copyWith((message) => updates(message as Value)) as Value; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Value create() => Value._(); + Value createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Value getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Value? _defaultInstance; + + Value_Kind whichKind() => _Value_KindByTag[$_whichOneof(0)]!; + void clearKind() => clearField($_whichOneof(0)); + + /// Represents a null value. + @$pb.TagNumber(1) + NullValue get nullValue => $_getN(0); + @$pb.TagNumber(1) + set nullValue(NullValue v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasNullValue() => $_has(0); + @$pb.TagNumber(1) + void clearNullValue() => clearField(1); + + /// Represents a double value. + @$pb.TagNumber(2) + $core.double get numberValue => $_getN(1); + @$pb.TagNumber(2) + set numberValue($core.double v) { $_setDouble(1, v); } + @$pb.TagNumber(2) + $core.bool hasNumberValue() => $_has(1); + @$pb.TagNumber(2) + void clearNumberValue() => clearField(2); + + /// Represents a string value. + @$pb.TagNumber(3) + $core.String get stringValue => $_getSZ(2); + @$pb.TagNumber(3) + set stringValue($core.String v) { $_setString(2, v); } + @$pb.TagNumber(3) + $core.bool hasStringValue() => $_has(2); + @$pb.TagNumber(3) + void clearStringValue() => clearField(3); + + /// Represents a boolean value. + @$pb.TagNumber(4) + $core.bool get boolValue => $_getBF(3); + @$pb.TagNumber(4) + set boolValue($core.bool v) { $_setBool(3, v); } + @$pb.TagNumber(4) + $core.bool hasBoolValue() => $_has(3); + @$pb.TagNumber(4) + void clearBoolValue() => clearField(4); + + /// Represents a structured value. + @$pb.TagNumber(5) + Struct get structValue => $_getN(4); + @$pb.TagNumber(5) + set structValue(Struct v) { setField(5, v); } + @$pb.TagNumber(5) + $core.bool hasStructValue() => $_has(4); + @$pb.TagNumber(5) + void clearStructValue() => clearField(5); + @$pb.TagNumber(5) + Struct ensureStructValue() => $_ensure(4); + + /// Represents a repeated `Value`. + @$pb.TagNumber(6) + ListValue get listValue => $_getN(5); + @$pb.TagNumber(6) + set listValue(ListValue v) { setField(6, v); } + @$pb.TagNumber(6) + $core.bool hasListValue() => $_has(5); + @$pb.TagNumber(6) + void clearListValue() => clearField(6); + @$pb.TagNumber(6) + ListValue ensureListValue() => $_ensure(5); +} + +/// `ListValue` is a wrapper around a repeated field of values. +/// +/// The JSON representation for `ListValue` is JSON array. +class ListValue extends $pb.GeneratedMessage with $mixin.ListValueMixin { + factory ListValue({ + $core.Iterable? values, + }) { + final $result = create(); + if (values != null) { + $result.values.addAll(values); + } + return $result; + } + ListValue._() : super(); + factory ListValue.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ListValue.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListValue', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create, toProto3Json: $mixin.ListValueMixin.toProto3JsonHelper, fromProto3Json: $mixin.ListValueMixin.fromProto3JsonHelper) + ..pc(1, _omitFieldNames ? '' : 'values', $pb.PbFieldType.PM, subBuilder: Value.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListValue clone() => ListValue()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListValue copyWith(void Function(ListValue) updates) => super.copyWith((message) => updates(message as ListValue)) as ListValue; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListValue create() => ListValue._(); + ListValue createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListValue getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ListValue? _defaultInstance; + + /// Repeated field of dynamically typed values. + @$pb.TagNumber(1) + $core.List get values => $_getList(0); +} + + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/test/support/google/protobuf/struct.pbenum.dart b/test/support/google/protobuf/struct.pbenum.dart new file mode 100644 index 0000000..bf7c571 --- /dev/null +++ b/test/support/google/protobuf/struct.pbenum.dart @@ -0,0 +1,34 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/struct.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// `NullValue` is a singleton enumeration to represent the null value for the +/// `Value` type union. +/// +/// The JSON representation for `NullValue` is JSON `null`. +class NullValue extends $pb.ProtobufEnum { + static const NullValue NULL_VALUE = NullValue._(0, _omitEnumNames ? '' : 'NULL_VALUE'); + + static const $core.List values = [ + NULL_VALUE, + ]; + + static final $core.Map<$core.int, NullValue> _byValue = $pb.ProtobufEnum.initByValue(values); + static NullValue? valueOf($core.int value) => _byValue[value]; + + const NullValue._($core.int v, $core.String n) : super(v, n); +} + + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/test/support/google/protobuf/struct.pbjson.dart b/test/support/google/protobuf/struct.pbjson.dart new file mode 100644 index 0000000..ffa25fa --- /dev/null +++ b/test/support/google/protobuf/struct.pbjson.dart @@ -0,0 +1,90 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/struct.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use nullValueDescriptor instead') +const NullValue$json = { + '1': 'NullValue', + '2': [ + {'1': 'NULL_VALUE', '2': 0}, + ], +}; + +/// Descriptor for `NullValue`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List nullValueDescriptor = $convert.base64Decode( + 'CglOdWxsVmFsdWUSDgoKTlVMTF9WQUxVRRAA'); + +@$core.Deprecated('Use structDescriptor instead') +const Struct$json = { + '1': 'Struct', + '2': [ + {'1': 'fields', '3': 1, '4': 3, '5': 11, '6': '.google.protobuf.Struct.FieldsEntry', '10': 'fields'}, + ], + '3': [Struct_FieldsEntry$json], +}; + +@$core.Deprecated('Use structDescriptor instead') +const Struct_FieldsEntry$json = { + '1': 'FieldsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 11, '6': '.google.protobuf.Value', '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `Struct`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List structDescriptor = $convert.base64Decode( + 'CgZTdHJ1Y3QSOwoGZmllbGRzGAEgAygLMiMuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdC5GaWVsZH' + 'NFbnRyeVIGZmllbGRzGlEKC0ZpZWxkc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVl' + 'GAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAE='); + +@$core.Deprecated('Use valueDescriptor instead') +const Value$json = { + '1': 'Value', + '2': [ + {'1': 'null_value', '3': 1, '4': 1, '5': 14, '6': '.google.protobuf.NullValue', '9': 0, '10': 'nullValue'}, + {'1': 'number_value', '3': 2, '4': 1, '5': 1, '9': 0, '10': 'numberValue'}, + {'1': 'string_value', '3': 3, '4': 1, '5': 9, '9': 0, '10': 'stringValue'}, + {'1': 'bool_value', '3': 4, '4': 1, '5': 8, '9': 0, '10': 'boolValue'}, + {'1': 'struct_value', '3': 5, '4': 1, '5': 11, '6': '.google.protobuf.Struct', '9': 0, '10': 'structValue'}, + {'1': 'list_value', '3': 6, '4': 1, '5': 11, '6': '.google.protobuf.ListValue', '9': 0, '10': 'listValue'}, + ], + '8': [ + {'1': 'kind'}, + ], +}; + +/// Descriptor for `Value`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List valueDescriptor = $convert.base64Decode( + 'CgVWYWx1ZRI7CgpudWxsX3ZhbHVlGAEgASgOMhouZ29vZ2xlLnByb3RvYnVmLk51bGxWYWx1ZU' + 'gAUgludWxsVmFsdWUSIwoMbnVtYmVyX3ZhbHVlGAIgASgBSABSC251bWJlclZhbHVlEiMKDHN0' + 'cmluZ192YWx1ZRgDIAEoCUgAUgtzdHJpbmdWYWx1ZRIfCgpib29sX3ZhbHVlGAQgASgISABSCW' + 'Jvb2xWYWx1ZRI8CgxzdHJ1Y3RfdmFsdWUYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0' + 'SABSC3N0cnVjdFZhbHVlEjsKCmxpc3RfdmFsdWUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuTG' + 'lzdFZhbHVlSABSCWxpc3RWYWx1ZUIGCgRraW5k'); + +@$core.Deprecated('Use listValueDescriptor instead') +const ListValue$json = { + '1': 'ListValue', + '2': [ + {'1': 'values', '3': 1, '4': 3, '5': 11, '6': '.google.protobuf.Value', '10': 'values'}, + ], +}; + +/// Descriptor for `ListValue`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listValueDescriptor = $convert.base64Decode( + 'CglMaXN0VmFsdWUSLgoGdmFsdWVzGAEgAygLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgZ2YW' + 'x1ZXM='); + diff --git a/test/support/google/protobuf/struct.pbserver.dart b/test/support/google/protobuf/struct.pbserver.dart new file mode 100644 index 0000000..b92ae61 --- /dev/null +++ b/test/support/google/protobuf/struct.pbserver.dart @@ -0,0 +1,14 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/struct.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names +// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +export 'struct.pb.dart'; + diff --git a/test/support/iop/runtime.pb.dart b/test/support/iop/runtime.pb.dart new file mode 100644 index 0000000..68bb874 --- /dev/null +++ b/test/support/iop/runtime.pb.dart @@ -0,0 +1,2062 @@ +// +// Generated code. Do not modify. +// source: iop/runtime.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../google/protobuf/struct.pb.dart' as $0; +import 'runtime.pbenum.dart'; + +export 'runtime.pbenum.dart'; + +/// RunRequest initiates an adapter execution on a node. +class RunRequest extends $pb.GeneratedMessage { + factory RunRequest({ + $core.String? runId, + $core.String? adapter, + $core.String? target, + $core.String? workspace, + $0.Struct? policy, + $0.Struct? input, + $core.int? timeoutSec, + $core.Map<$core.String, $core.String>? metadata, + $core.String? sessionId, + RunSessionMode? sessionMode, + $core.bool? background, + }) { + final $result = create(); + if (runId != null) { + $result.runId = runId; + } + if (adapter != null) { + $result.adapter = adapter; + } + if (target != null) { + $result.target = target; + } + if (workspace != null) { + $result.workspace = workspace; + } + if (policy != null) { + $result.policy = policy; + } + if (input != null) { + $result.input = input; + } + if (timeoutSec != null) { + $result.timeoutSec = timeoutSec; + } + if (metadata != null) { + $result.metadata.addAll(metadata); + } + if (sessionId != null) { + $result.sessionId = sessionId; + } + if (sessionMode != null) { + $result.sessionMode = sessionMode; + } + if (background != null) { + $result.background = background; + } + return $result; + } + RunRequest._() : super(); + factory RunRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RunRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RunRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'iop'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'runId') + ..aOS(2, _omitFieldNames ? '' : 'adapter') + ..aOS(3, _omitFieldNames ? '' : 'target') + ..aOS(4, _omitFieldNames ? '' : 'workspace') + ..aOM<$0.Struct>(5, _omitFieldNames ? '' : 'policy', subBuilder: $0.Struct.create) + ..aOM<$0.Struct>(6, _omitFieldNames ? '' : 'input', subBuilder: $0.Struct.create) + ..a<$core.int>(7, _omitFieldNames ? '' : 'timeoutSec', $pb.PbFieldType.O3) + ..m<$core.String, $core.String>(8, _omitFieldNames ? '' : 'metadata', entryClassName: 'RunRequest.MetadataEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OS, packageName: const $pb.PackageName('iop')) + ..aOS(9, _omitFieldNames ? '' : 'sessionId') + ..e(10, _omitFieldNames ? '' : 'sessionMode', $pb.PbFieldType.OE, defaultOrMaker: RunSessionMode.RUN_SESSION_MODE_UNSPECIFIED, valueOf: RunSessionMode.valueOf, enumValues: RunSessionMode.values) + ..aOB(11, _omitFieldNames ? '' : 'background') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RunRequest clone() => RunRequest()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RunRequest copyWith(void Function(RunRequest) updates) => super.copyWith((message) => updates(message as RunRequest)) as RunRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RunRequest create() => RunRequest._(); + RunRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RunRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static RunRequest? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get runId => $_getSZ(0); + @$pb.TagNumber(1) + set runId($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasRunId() => $_has(0); + @$pb.TagNumber(1) + void clearRunId() => clearField(1); + + @$pb.TagNumber(2) + $core.String get adapter => $_getSZ(1); + @$pb.TagNumber(2) + set adapter($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasAdapter() => $_has(1); + @$pb.TagNumber(2) + void clearAdapter() => clearField(2); + + @$pb.TagNumber(3) + $core.String get target => $_getSZ(2); + @$pb.TagNumber(3) + set target($core.String v) { $_setString(2, v); } + @$pb.TagNumber(3) + $core.bool hasTarget() => $_has(2); + @$pb.TagNumber(3) + void clearTarget() => clearField(3); + + @$pb.TagNumber(4) + $core.String get workspace => $_getSZ(3); + @$pb.TagNumber(4) + set workspace($core.String v) { $_setString(3, v); } + @$pb.TagNumber(4) + $core.bool hasWorkspace() => $_has(3); + @$pb.TagNumber(4) + void clearWorkspace() => clearField(4); + + @$pb.TagNumber(5) + $0.Struct get policy => $_getN(4); + @$pb.TagNumber(5) + set policy($0.Struct v) { setField(5, v); } + @$pb.TagNumber(5) + $core.bool hasPolicy() => $_has(4); + @$pb.TagNumber(5) + void clearPolicy() => clearField(5); + @$pb.TagNumber(5) + $0.Struct ensurePolicy() => $_ensure(4); + + @$pb.TagNumber(6) + $0.Struct get input => $_getN(5); + @$pb.TagNumber(6) + set input($0.Struct v) { setField(6, v); } + @$pb.TagNumber(6) + $core.bool hasInput() => $_has(5); + @$pb.TagNumber(6) + void clearInput() => clearField(6); + @$pb.TagNumber(6) + $0.Struct ensureInput() => $_ensure(5); + + @$pb.TagNumber(7) + $core.int get timeoutSec => $_getIZ(6); + @$pb.TagNumber(7) + set timeoutSec($core.int v) { $_setSignedInt32(6, v); } + @$pb.TagNumber(7) + $core.bool hasTimeoutSec() => $_has(6); + @$pb.TagNumber(7) + void clearTimeoutSec() => clearField(7); + + @$pb.TagNumber(8) + $core.Map<$core.String, $core.String> get metadata => $_getMap(7); + + @$pb.TagNumber(9) + $core.String get sessionId => $_getSZ(8); + @$pb.TagNumber(9) + set sessionId($core.String v) { $_setString(8, v); } + @$pb.TagNumber(9) + $core.bool hasSessionId() => $_has(8); + @$pb.TagNumber(9) + void clearSessionId() => clearField(9); + + @$pb.TagNumber(10) + RunSessionMode get sessionMode => $_getN(9); + @$pb.TagNumber(10) + set sessionMode(RunSessionMode v) { setField(10, v); } + @$pb.TagNumber(10) + $core.bool hasSessionMode() => $_has(9); + @$pb.TagNumber(10) + void clearSessionMode() => clearField(10); + + @$pb.TagNumber(11) + $core.bool get background => $_getBF(10); + @$pb.TagNumber(11) + set background($core.bool v) { $_setBool(10, v); } + @$pb.TagNumber(11) + $core.bool hasBackground() => $_has(10); + @$pb.TagNumber(11) + void clearBackground() => clearField(11); +} + +/// RunEvent is a streaming execution event. +class RunEvent extends $pb.GeneratedMessage { + factory RunEvent({ + $core.String? runId, + $core.String? type, + $core.String? delta, + $core.String? message, + $core.String? error, + Usage? usage, + $core.Map<$core.String, $core.String>? metadata, + $fixnum.Int64? timestamp, + $core.String? sessionId, + $core.bool? background, + $core.String? nodeId, + $core.String? nodeAlias, + }) { + final $result = create(); + if (runId != null) { + $result.runId = runId; + } + if (type != null) { + $result.type = type; + } + if (delta != null) { + $result.delta = delta; + } + if (message != null) { + $result.message = message; + } + if (error != null) { + $result.error = error; + } + if (usage != null) { + $result.usage = usage; + } + if (metadata != null) { + $result.metadata.addAll(metadata); + } + if (timestamp != null) { + $result.timestamp = timestamp; + } + if (sessionId != null) { + $result.sessionId = sessionId; + } + if (background != null) { + $result.background = background; + } + if (nodeId != null) { + $result.nodeId = nodeId; + } + if (nodeAlias != null) { + $result.nodeAlias = nodeAlias; + } + return $result; + } + RunEvent._() : super(); + factory RunEvent.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RunEvent.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RunEvent', package: const $pb.PackageName(_omitMessageNames ? '' : 'iop'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'runId') + ..aOS(2, _omitFieldNames ? '' : 'type') + ..aOS(3, _omitFieldNames ? '' : 'delta') + ..aOS(4, _omitFieldNames ? '' : 'message') + ..aOS(5, _omitFieldNames ? '' : 'error') + ..aOM(6, _omitFieldNames ? '' : 'usage', subBuilder: Usage.create) + ..m<$core.String, $core.String>(7, _omitFieldNames ? '' : 'metadata', entryClassName: 'RunEvent.MetadataEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OS, packageName: const $pb.PackageName('iop')) + ..aInt64(8, _omitFieldNames ? '' : 'timestamp') + ..aOS(9, _omitFieldNames ? '' : 'sessionId') + ..aOB(10, _omitFieldNames ? '' : 'background') + ..aOS(11, _omitFieldNames ? '' : 'nodeId') + ..aOS(12, _omitFieldNames ? '' : 'nodeAlias') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RunEvent clone() => RunEvent()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RunEvent copyWith(void Function(RunEvent) updates) => super.copyWith((message) => updates(message as RunEvent)) as RunEvent; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RunEvent create() => RunEvent._(); + RunEvent createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RunEvent getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static RunEvent? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get runId => $_getSZ(0); + @$pb.TagNumber(1) + set runId($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasRunId() => $_has(0); + @$pb.TagNumber(1) + void clearRunId() => clearField(1); + + @$pb.TagNumber(2) + $core.String get type => $_getSZ(1); + @$pb.TagNumber(2) + set type($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasType() => $_has(1); + @$pb.TagNumber(2) + void clearType() => clearField(2); + + @$pb.TagNumber(3) + $core.String get delta => $_getSZ(2); + @$pb.TagNumber(3) + set delta($core.String v) { $_setString(2, v); } + @$pb.TagNumber(3) + $core.bool hasDelta() => $_has(2); + @$pb.TagNumber(3) + void clearDelta() => clearField(3); + + @$pb.TagNumber(4) + $core.String get message => $_getSZ(3); + @$pb.TagNumber(4) + set message($core.String v) { $_setString(3, v); } + @$pb.TagNumber(4) + $core.bool hasMessage() => $_has(3); + @$pb.TagNumber(4) + void clearMessage() => clearField(4); + + @$pb.TagNumber(5) + $core.String get error => $_getSZ(4); + @$pb.TagNumber(5) + set error($core.String v) { $_setString(4, v); } + @$pb.TagNumber(5) + $core.bool hasError() => $_has(4); + @$pb.TagNumber(5) + void clearError() => clearField(5); + + @$pb.TagNumber(6) + Usage get usage => $_getN(5); + @$pb.TagNumber(6) + set usage(Usage v) { setField(6, v); } + @$pb.TagNumber(6) + $core.bool hasUsage() => $_has(5); + @$pb.TagNumber(6) + void clearUsage() => clearField(6); + @$pb.TagNumber(6) + Usage ensureUsage() => $_ensure(5); + + @$pb.TagNumber(7) + $core.Map<$core.String, $core.String> get metadata => $_getMap(6); + + @$pb.TagNumber(8) + $fixnum.Int64 get timestamp => $_getI64(7); + @$pb.TagNumber(8) + set timestamp($fixnum.Int64 v) { $_setInt64(7, v); } + @$pb.TagNumber(8) + $core.bool hasTimestamp() => $_has(7); + @$pb.TagNumber(8) + void clearTimestamp() => clearField(8); + + @$pb.TagNumber(9) + $core.String get sessionId => $_getSZ(8); + @$pb.TagNumber(9) + set sessionId($core.String v) { $_setString(8, v); } + @$pb.TagNumber(9) + $core.bool hasSessionId() => $_has(8); + @$pb.TagNumber(9) + void clearSessionId() => clearField(9); + + @$pb.TagNumber(10) + $core.bool get background => $_getBF(9); + @$pb.TagNumber(10) + set background($core.bool v) { $_setBool(9, v); } + @$pb.TagNumber(10) + $core.bool hasBackground() => $_has(9); + @$pb.TagNumber(10) + void clearBackground() => clearField(10); + + @$pb.TagNumber(11) + $core.String get nodeId => $_getSZ(10); + @$pb.TagNumber(11) + set nodeId($core.String v) { $_setString(10, v); } + @$pb.TagNumber(11) + $core.bool hasNodeId() => $_has(10); + @$pb.TagNumber(11) + void clearNodeId() => clearField(11); + + @$pb.TagNumber(12) + $core.String get nodeAlias => $_getSZ(11); + @$pb.TagNumber(12) + set nodeAlias($core.String v) { $_setString(11, v); } + @$pb.TagNumber(12) + $core.bool hasNodeAlias() => $_has(11); + @$pb.TagNumber(12) + void clearNodeAlias() => clearField(12); +} + +/// EdgeNodeEvent is a general edge-node lifecycle/control event envelope. +/// It is separate from RunEvent, which is reserved for adapter execution streams. +class EdgeNodeEvent extends $pb.GeneratedMessage { + factory EdgeNodeEvent({ + $core.String? eventId, + $core.String? type, + $core.String? source, + $core.String? nodeId, + $core.String? alias, + $core.String? reason, + $core.Map<$core.String, $core.String>? metadata, + $fixnum.Int64? timestamp, + }) { + final $result = create(); + if (eventId != null) { + $result.eventId = eventId; + } + if (type != null) { + $result.type = type; + } + if (source != null) { + $result.source = source; + } + if (nodeId != null) { + $result.nodeId = nodeId; + } + if (alias != null) { + $result.alias = alias; + } + if (reason != null) { + $result.reason = reason; + } + if (metadata != null) { + $result.metadata.addAll(metadata); + } + if (timestamp != null) { + $result.timestamp = timestamp; + } + return $result; + } + EdgeNodeEvent._() : super(); + factory EdgeNodeEvent.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory EdgeNodeEvent.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'EdgeNodeEvent', package: const $pb.PackageName(_omitMessageNames ? '' : 'iop'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'eventId') + ..aOS(2, _omitFieldNames ? '' : 'type') + ..aOS(3, _omitFieldNames ? '' : 'source') + ..aOS(4, _omitFieldNames ? '' : 'nodeId') + ..aOS(5, _omitFieldNames ? '' : 'alias') + ..aOS(6, _omitFieldNames ? '' : 'reason') + ..m<$core.String, $core.String>(7, _omitFieldNames ? '' : 'metadata', entryClassName: 'EdgeNodeEvent.MetadataEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OS, packageName: const $pb.PackageName('iop')) + ..aInt64(8, _omitFieldNames ? '' : 'timestamp') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EdgeNodeEvent clone() => EdgeNodeEvent()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EdgeNodeEvent copyWith(void Function(EdgeNodeEvent) updates) => super.copyWith((message) => updates(message as EdgeNodeEvent)) as EdgeNodeEvent; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EdgeNodeEvent create() => EdgeNodeEvent._(); + EdgeNodeEvent createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EdgeNodeEvent getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static EdgeNodeEvent? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get eventId => $_getSZ(0); + @$pb.TagNumber(1) + set eventId($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasEventId() => $_has(0); + @$pb.TagNumber(1) + void clearEventId() => clearField(1); + + @$pb.TagNumber(2) + $core.String get type => $_getSZ(1); + @$pb.TagNumber(2) + set type($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasType() => $_has(1); + @$pb.TagNumber(2) + void clearType() => clearField(2); + + @$pb.TagNumber(3) + $core.String get source => $_getSZ(2); + @$pb.TagNumber(3) + set source($core.String v) { $_setString(2, v); } + @$pb.TagNumber(3) + $core.bool hasSource() => $_has(2); + @$pb.TagNumber(3) + void clearSource() => clearField(3); + + @$pb.TagNumber(4) + $core.String get nodeId => $_getSZ(3); + @$pb.TagNumber(4) + set nodeId($core.String v) { $_setString(3, v); } + @$pb.TagNumber(4) + $core.bool hasNodeId() => $_has(3); + @$pb.TagNumber(4) + void clearNodeId() => clearField(4); + + @$pb.TagNumber(5) + $core.String get alias => $_getSZ(4); + @$pb.TagNumber(5) + set alias($core.String v) { $_setString(4, v); } + @$pb.TagNumber(5) + $core.bool hasAlias() => $_has(4); + @$pb.TagNumber(5) + void clearAlias() => clearField(5); + + @$pb.TagNumber(6) + $core.String get reason => $_getSZ(5); + @$pb.TagNumber(6) + set reason($core.String v) { $_setString(5, v); } + @$pb.TagNumber(6) + $core.bool hasReason() => $_has(5); + @$pb.TagNumber(6) + void clearReason() => clearField(6); + + @$pb.TagNumber(7) + $core.Map<$core.String, $core.String> get metadata => $_getMap(6); + + @$pb.TagNumber(8) + $fixnum.Int64 get timestamp => $_getI64(7); + @$pb.TagNumber(8) + set timestamp($fixnum.Int64 v) { $_setInt64(7, v); } + @$pb.TagNumber(8) + $core.bool hasTimestamp() => $_has(7); + @$pb.TagNumber(8) + void clearTimestamp() => clearField(8); +} + +class Usage extends $pb.GeneratedMessage { + factory Usage({ + $core.int? inputTokens, + $core.int? outputTokens, + }) { + final $result = create(); + if (inputTokens != null) { + $result.inputTokens = inputTokens; + } + if (outputTokens != null) { + $result.outputTokens = outputTokens; + } + return $result; + } + Usage._() : super(); + factory Usage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory Usage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Usage', package: const $pb.PackageName(_omitMessageNames ? '' : 'iop'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'inputTokens', $pb.PbFieldType.O3) + ..a<$core.int>(2, _omitFieldNames ? '' : 'outputTokens', $pb.PbFieldType.O3) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Usage clone() => Usage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Usage copyWith(void Function(Usage) updates) => super.copyWith((message) => updates(message as Usage)) as Usage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Usage create() => Usage._(); + Usage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Usage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Usage? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get inputTokens => $_getIZ(0); + @$pb.TagNumber(1) + set inputTokens($core.int v) { $_setSignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasInputTokens() => $_has(0); + @$pb.TagNumber(1) + void clearInputTokens() => clearField(1); + + @$pb.TagNumber(2) + $core.int get outputTokens => $_getIZ(1); + @$pb.TagNumber(2) + set outputTokens($core.int v) { $_setSignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasOutputTokens() => $_has(1); + @$pb.TagNumber(2) + void clearOutputTokens() => clearField(2); +} + +/// Heartbeat is sent by both sides to keep the connection alive. +class Heartbeat extends $pb.GeneratedMessage { + factory Heartbeat({ + $fixnum.Int64? timestamp, + }) { + final $result = create(); + if (timestamp != null) { + $result.timestamp = timestamp; + } + return $result; + } + Heartbeat._() : super(); + factory Heartbeat.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory Heartbeat.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Heartbeat', package: const $pb.PackageName(_omitMessageNames ? '' : 'iop'), createEmptyInstance: create) + ..aInt64(1, _omitFieldNames ? '' : 'timestamp') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Heartbeat clone() => Heartbeat()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Heartbeat copyWith(void Function(Heartbeat) updates) => super.copyWith((message) => updates(message as Heartbeat)) as Heartbeat; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Heartbeat create() => Heartbeat._(); + Heartbeat createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Heartbeat getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Heartbeat? _defaultInstance; + + @$pb.TagNumber(1) + $fixnum.Int64 get timestamp => $_getI64(0); + @$pb.TagNumber(1) + set timestamp($fixnum.Int64 v) { $_setInt64(0, v); } + @$pb.TagNumber(1) + $core.bool hasTimestamp() => $_has(0); + @$pb.TagNumber(1) + void clearTimestamp() => clearField(1); +} + +/// CancelRequest asks the node to cancel a running execution. +class CancelRequest extends $pb.GeneratedMessage { + factory CancelRequest({ + $core.String? runId, + $core.String? adapter, + $core.String? target, + $core.String? sessionId, + CancelAction? action, + }) { + final $result = create(); + if (runId != null) { + $result.runId = runId; + } + if (adapter != null) { + $result.adapter = adapter; + } + if (target != null) { + $result.target = target; + } + if (sessionId != null) { + $result.sessionId = sessionId; + } + if (action != null) { + $result.action = action; + } + return $result; + } + CancelRequest._() : super(); + factory CancelRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory CancelRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CancelRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'iop'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'runId') + ..aOS(2, _omitFieldNames ? '' : 'adapter') + ..aOS(3, _omitFieldNames ? '' : 'target') + ..aOS(4, _omitFieldNames ? '' : 'sessionId') + ..e(5, _omitFieldNames ? '' : 'action', $pb.PbFieldType.OE, defaultOrMaker: CancelAction.CANCEL_ACTION_UNSPECIFIED, valueOf: CancelAction.valueOf, enumValues: CancelAction.values) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CancelRequest clone() => CancelRequest()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CancelRequest copyWith(void Function(CancelRequest) updates) => super.copyWith((message) => updates(message as CancelRequest)) as CancelRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CancelRequest create() => CancelRequest._(); + CancelRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CancelRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static CancelRequest? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get runId => $_getSZ(0); + @$pb.TagNumber(1) + set runId($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasRunId() => $_has(0); + @$pb.TagNumber(1) + void clearRunId() => clearField(1); + + @$pb.TagNumber(2) + $core.String get adapter => $_getSZ(1); + @$pb.TagNumber(2) + set adapter($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasAdapter() => $_has(1); + @$pb.TagNumber(2) + void clearAdapter() => clearField(2); + + @$pb.TagNumber(3) + $core.String get target => $_getSZ(2); + @$pb.TagNumber(3) + set target($core.String v) { $_setString(2, v); } + @$pb.TagNumber(3) + $core.bool hasTarget() => $_has(2); + @$pb.TagNumber(3) + void clearTarget() => clearField(3); + + @$pb.TagNumber(4) + $core.String get sessionId => $_getSZ(3); + @$pb.TagNumber(4) + set sessionId($core.String v) { $_setString(3, v); } + @$pb.TagNumber(4) + $core.bool hasSessionId() => $_has(3); + @$pb.TagNumber(4) + void clearSessionId() => clearField(4); + + @$pb.TagNumber(5) + CancelAction get action => $_getN(4); + @$pb.TagNumber(5) + set action(CancelAction v) { setField(5, v); } + @$pb.TagNumber(5) + $core.bool hasAction() => $_has(4); + @$pb.TagNumber(5) + void clearAction() => clearField(5); +} + +class NodeCommandRequest extends $pb.GeneratedMessage { + factory NodeCommandRequest({ + $core.String? requestId, + NodeCommandType? type, + $core.String? adapter, + $core.String? target, + $core.String? sessionId, + $core.int? timeoutSec, + $core.Map<$core.String, $core.String>? metadata, + }) { + final $result = create(); + if (requestId != null) { + $result.requestId = requestId; + } + if (type != null) { + $result.type = type; + } + if (adapter != null) { + $result.adapter = adapter; + } + if (target != null) { + $result.target = target; + } + if (sessionId != null) { + $result.sessionId = sessionId; + } + if (timeoutSec != null) { + $result.timeoutSec = timeoutSec; + } + if (metadata != null) { + $result.metadata.addAll(metadata); + } + return $result; + } + NodeCommandRequest._() : super(); + factory NodeCommandRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory NodeCommandRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'NodeCommandRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'iop'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'requestId') + ..e(2, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE, defaultOrMaker: NodeCommandType.NODE_COMMAND_TYPE_UNSPECIFIED, valueOf: NodeCommandType.valueOf, enumValues: NodeCommandType.values) + ..aOS(3, _omitFieldNames ? '' : 'adapter') + ..aOS(4, _omitFieldNames ? '' : 'target') + ..aOS(5, _omitFieldNames ? '' : 'sessionId') + ..a<$core.int>(6, _omitFieldNames ? '' : 'timeoutSec', $pb.PbFieldType.O3) + ..m<$core.String, $core.String>(7, _omitFieldNames ? '' : 'metadata', entryClassName: 'NodeCommandRequest.MetadataEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OS, packageName: const $pb.PackageName('iop')) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NodeCommandRequest clone() => NodeCommandRequest()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NodeCommandRequest copyWith(void Function(NodeCommandRequest) updates) => super.copyWith((message) => updates(message as NodeCommandRequest)) as NodeCommandRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NodeCommandRequest create() => NodeCommandRequest._(); + NodeCommandRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static NodeCommandRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static NodeCommandRequest? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get requestId => $_getSZ(0); + @$pb.TagNumber(1) + set requestId($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasRequestId() => $_has(0); + @$pb.TagNumber(1) + void clearRequestId() => clearField(1); + + @$pb.TagNumber(2) + NodeCommandType get type => $_getN(1); + @$pb.TagNumber(2) + set type(NodeCommandType v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasType() => $_has(1); + @$pb.TagNumber(2) + void clearType() => clearField(2); + + @$pb.TagNumber(3) + $core.String get adapter => $_getSZ(2); + @$pb.TagNumber(3) + set adapter($core.String v) { $_setString(2, v); } + @$pb.TagNumber(3) + $core.bool hasAdapter() => $_has(2); + @$pb.TagNumber(3) + void clearAdapter() => clearField(3); + + @$pb.TagNumber(4) + $core.String get target => $_getSZ(3); + @$pb.TagNumber(4) + set target($core.String v) { $_setString(3, v); } + @$pb.TagNumber(4) + $core.bool hasTarget() => $_has(3); + @$pb.TagNumber(4) + void clearTarget() => clearField(4); + + @$pb.TagNumber(5) + $core.String get sessionId => $_getSZ(4); + @$pb.TagNumber(5) + set sessionId($core.String v) { $_setString(4, v); } + @$pb.TagNumber(5) + $core.bool hasSessionId() => $_has(4); + @$pb.TagNumber(5) + void clearSessionId() => clearField(5); + + @$pb.TagNumber(6) + $core.int get timeoutSec => $_getIZ(5); + @$pb.TagNumber(6) + set timeoutSec($core.int v) { $_setSignedInt32(5, v); } + @$pb.TagNumber(6) + $core.bool hasTimeoutSec() => $_has(5); + @$pb.TagNumber(6) + void clearTimeoutSec() => clearField(6); + + @$pb.TagNumber(7) + $core.Map<$core.String, $core.String> get metadata => $_getMap(6); +} + +class NodeCommandResponse extends $pb.GeneratedMessage { + factory NodeCommandResponse({ + $core.String? requestId, + NodeCommandType? type, + $core.String? adapter, + $core.String? target, + $core.String? sessionId, + AgentUsageStatus? usageStatus, + $core.String? error, + $core.Map<$core.String, $core.String>? result, + }) { + final $result = create(); + if (requestId != null) { + $result.requestId = requestId; + } + if (type != null) { + $result.type = type; + } + if (adapter != null) { + $result.adapter = adapter; + } + if (target != null) { + $result.target = target; + } + if (sessionId != null) { + $result.sessionId = sessionId; + } + if (usageStatus != null) { + $result.usageStatus = usageStatus; + } + if (error != null) { + $result.error = error; + } + if (result != null) { + $result.result.addAll(result); + } + return $result; + } + NodeCommandResponse._() : super(); + factory NodeCommandResponse.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory NodeCommandResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'NodeCommandResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'iop'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'requestId') + ..e(2, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE, defaultOrMaker: NodeCommandType.NODE_COMMAND_TYPE_UNSPECIFIED, valueOf: NodeCommandType.valueOf, enumValues: NodeCommandType.values) + ..aOS(3, _omitFieldNames ? '' : 'adapter') + ..aOS(4, _omitFieldNames ? '' : 'target') + ..aOS(5, _omitFieldNames ? '' : 'sessionId') + ..aOM(6, _omitFieldNames ? '' : 'usageStatus', subBuilder: AgentUsageStatus.create) + ..aOS(7, _omitFieldNames ? '' : 'error') + ..m<$core.String, $core.String>(8, _omitFieldNames ? '' : 'result', entryClassName: 'NodeCommandResponse.ResultEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OS, packageName: const $pb.PackageName('iop')) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NodeCommandResponse clone() => NodeCommandResponse()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NodeCommandResponse copyWith(void Function(NodeCommandResponse) updates) => super.copyWith((message) => updates(message as NodeCommandResponse)) as NodeCommandResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NodeCommandResponse create() => NodeCommandResponse._(); + NodeCommandResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static NodeCommandResponse getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static NodeCommandResponse? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get requestId => $_getSZ(0); + @$pb.TagNumber(1) + set requestId($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasRequestId() => $_has(0); + @$pb.TagNumber(1) + void clearRequestId() => clearField(1); + + @$pb.TagNumber(2) + NodeCommandType get type => $_getN(1); + @$pb.TagNumber(2) + set type(NodeCommandType v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasType() => $_has(1); + @$pb.TagNumber(2) + void clearType() => clearField(2); + + @$pb.TagNumber(3) + $core.String get adapter => $_getSZ(2); + @$pb.TagNumber(3) + set adapter($core.String v) { $_setString(2, v); } + @$pb.TagNumber(3) + $core.bool hasAdapter() => $_has(2); + @$pb.TagNumber(3) + void clearAdapter() => clearField(3); + + @$pb.TagNumber(4) + $core.String get target => $_getSZ(3); + @$pb.TagNumber(4) + set target($core.String v) { $_setString(3, v); } + @$pb.TagNumber(4) + $core.bool hasTarget() => $_has(3); + @$pb.TagNumber(4) + void clearTarget() => clearField(4); + + @$pb.TagNumber(5) + $core.String get sessionId => $_getSZ(4); + @$pb.TagNumber(5) + set sessionId($core.String v) { $_setString(4, v); } + @$pb.TagNumber(5) + $core.bool hasSessionId() => $_has(4); + @$pb.TagNumber(5) + void clearSessionId() => clearField(5); + + @$pb.TagNumber(6) + AgentUsageStatus get usageStatus => $_getN(5); + @$pb.TagNumber(6) + set usageStatus(AgentUsageStatus v) { setField(6, v); } + @$pb.TagNumber(6) + $core.bool hasUsageStatus() => $_has(5); + @$pb.TagNumber(6) + void clearUsageStatus() => clearField(6); + @$pb.TagNumber(6) + AgentUsageStatus ensureUsageStatus() => $_ensure(5); + + @$pb.TagNumber(7) + $core.String get error => $_getSZ(6); + @$pb.TagNumber(7) + set error($core.String v) { $_setString(6, v); } + @$pb.TagNumber(7) + $core.bool hasError() => $_has(6); + @$pb.TagNumber(7) + void clearError() => clearField(7); + + /// result carries free-form key/value data for non-usage-status command types + /// (capabilities, session_list, transport_status). usage_status keeps its + /// dedicated typed payload. + @$pb.TagNumber(8) + $core.Map<$core.String, $core.String> get result => $_getMap(7); +} + +class AgentUsageStatus extends $pb.GeneratedMessage { + factory AgentUsageStatus({ + $core.String? rawOutput, + $core.String? dailyLimit, + $core.String? dailyResetTime, + $core.String? weeklyLimit, + $core.String? weeklyResetTime, + $core.Map<$core.String, $core.String>? metadata, + }) { + final $result = create(); + if (rawOutput != null) { + $result.rawOutput = rawOutput; + } + if (dailyLimit != null) { + $result.dailyLimit = dailyLimit; + } + if (dailyResetTime != null) { + $result.dailyResetTime = dailyResetTime; + } + if (weeklyLimit != null) { + $result.weeklyLimit = weeklyLimit; + } + if (weeklyResetTime != null) { + $result.weeklyResetTime = weeklyResetTime; + } + if (metadata != null) { + $result.metadata.addAll(metadata); + } + return $result; + } + AgentUsageStatus._() : super(); + factory AgentUsageStatus.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory AgentUsageStatus.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'AgentUsageStatus', package: const $pb.PackageName(_omitMessageNames ? '' : 'iop'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'rawOutput') + ..aOS(2, _omitFieldNames ? '' : 'dailyLimit') + ..aOS(3, _omitFieldNames ? '' : 'dailyResetTime') + ..aOS(4, _omitFieldNames ? '' : 'weeklyLimit') + ..aOS(5, _omitFieldNames ? '' : 'weeklyResetTime') + ..m<$core.String, $core.String>(6, _omitFieldNames ? '' : 'metadata', entryClassName: 'AgentUsageStatus.MetadataEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OS, packageName: const $pb.PackageName('iop')) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AgentUsageStatus clone() => AgentUsageStatus()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AgentUsageStatus copyWith(void Function(AgentUsageStatus) updates) => super.copyWith((message) => updates(message as AgentUsageStatus)) as AgentUsageStatus; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AgentUsageStatus create() => AgentUsageStatus._(); + AgentUsageStatus createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AgentUsageStatus getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static AgentUsageStatus? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get rawOutput => $_getSZ(0); + @$pb.TagNumber(1) + set rawOutput($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasRawOutput() => $_has(0); + @$pb.TagNumber(1) + void clearRawOutput() => clearField(1); + + @$pb.TagNumber(2) + $core.String get dailyLimit => $_getSZ(1); + @$pb.TagNumber(2) + set dailyLimit($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasDailyLimit() => $_has(1); + @$pb.TagNumber(2) + void clearDailyLimit() => clearField(2); + + @$pb.TagNumber(3) + $core.String get dailyResetTime => $_getSZ(2); + @$pb.TagNumber(3) + set dailyResetTime($core.String v) { $_setString(2, v); } + @$pb.TagNumber(3) + $core.bool hasDailyResetTime() => $_has(2); + @$pb.TagNumber(3) + void clearDailyResetTime() => clearField(3); + + @$pb.TagNumber(4) + $core.String get weeklyLimit => $_getSZ(3); + @$pb.TagNumber(4) + set weeklyLimit($core.String v) { $_setString(3, v); } + @$pb.TagNumber(4) + $core.bool hasWeeklyLimit() => $_has(3); + @$pb.TagNumber(4) + void clearWeeklyLimit() => clearField(4); + + @$pb.TagNumber(5) + $core.String get weeklyResetTime => $_getSZ(4); + @$pb.TagNumber(5) + set weeklyResetTime($core.String v) { $_setString(4, v); } + @$pb.TagNumber(5) + $core.bool hasWeeklyResetTime() => $_has(4); + @$pb.TagNumber(5) + void clearWeeklyResetTime() => clearField(5); + + @$pb.TagNumber(6) + $core.Map<$core.String, $core.String> get metadata => $_getMap(5); +} + +/// Error is returned when a request fails at the transport layer. +class Error extends $pb.GeneratedMessage { + factory Error({ + $core.String? code, + $core.String? message, + }) { + final $result = create(); + if (code != null) { + $result.code = code; + } + if (message != null) { + $result.message = message; + } + return $result; + } + Error._() : super(); + factory Error.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory Error.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Error', package: const $pb.PackageName(_omitMessageNames ? '' : 'iop'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'code') + ..aOS(2, _omitFieldNames ? '' : 'message') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Error clone() => Error()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Error copyWith(void Function(Error) updates) => super.copyWith((message) => updates(message as Error)) as Error; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Error create() => Error._(); + Error createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Error getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Error? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get code => $_getSZ(0); + @$pb.TagNumber(1) + set code($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasCode() => $_has(0); + @$pb.TagNumber(1) + void clearCode() => clearField(1); + + @$pb.TagNumber(2) + $core.String get message => $_getSZ(1); + @$pb.TagNumber(2) + set message($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasMessage() => $_has(1); + @$pb.TagNumber(2) + void clearMessage() => clearField(2); +} + +/// RegisterRequest is sent by node to edge immediately on connect. +class RegisterRequest extends $pb.GeneratedMessage { + factory RegisterRequest({ + $core.String? token, + }) { + final $result = create(); + if (token != null) { + $result.token = token; + } + return $result; + } + RegisterRequest._() : super(); + factory RegisterRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RegisterRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RegisterRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'iop'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'token') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RegisterRequest clone() => RegisterRequest()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RegisterRequest copyWith(void Function(RegisterRequest) updates) => super.copyWith((message) => updates(message as RegisterRequest)) as RegisterRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RegisterRequest create() => RegisterRequest._(); + RegisterRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RegisterRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static RegisterRequest? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get token => $_getSZ(0); + @$pb.TagNumber(1) + set token($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasToken() => $_has(0); + @$pb.TagNumber(1) + void clearToken() => clearField(1); +} + +/// RegisterResponse is sent by edge to node in response to RegisterRequest. +class RegisterResponse extends $pb.GeneratedMessage { + factory RegisterResponse({ + $core.bool? accepted, + $core.String? nodeId, + $core.String? alias, + $core.String? reason, + NodeConfigPayload? config, + }) { + final $result = create(); + if (accepted != null) { + $result.accepted = accepted; + } + if (nodeId != null) { + $result.nodeId = nodeId; + } + if (alias != null) { + $result.alias = alias; + } + if (reason != null) { + $result.reason = reason; + } + if (config != null) { + $result.config = config; + } + return $result; + } + RegisterResponse._() : super(); + factory RegisterResponse.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RegisterResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RegisterResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'iop'), createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'accepted') + ..aOS(2, _omitFieldNames ? '' : 'nodeId') + ..aOS(3, _omitFieldNames ? '' : 'alias') + ..aOS(4, _omitFieldNames ? '' : 'reason') + ..aOM(5, _omitFieldNames ? '' : 'config', subBuilder: NodeConfigPayload.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RegisterResponse clone() => RegisterResponse()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RegisterResponse copyWith(void Function(RegisterResponse) updates) => super.copyWith((message) => updates(message as RegisterResponse)) as RegisterResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RegisterResponse create() => RegisterResponse._(); + RegisterResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RegisterResponse getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static RegisterResponse? _defaultInstance; + + @$pb.TagNumber(1) + $core.bool get accepted => $_getBF(0); + @$pb.TagNumber(1) + set accepted($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(1) + $core.bool hasAccepted() => $_has(0); + @$pb.TagNumber(1) + void clearAccepted() => clearField(1); + + @$pb.TagNumber(2) + $core.String get nodeId => $_getSZ(1); + @$pb.TagNumber(2) + set nodeId($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasNodeId() => $_has(1); + @$pb.TagNumber(2) + void clearNodeId() => clearField(2); + + @$pb.TagNumber(3) + $core.String get alias => $_getSZ(2); + @$pb.TagNumber(3) + set alias($core.String v) { $_setString(2, v); } + @$pb.TagNumber(3) + $core.bool hasAlias() => $_has(2); + @$pb.TagNumber(3) + void clearAlias() => clearField(3); + + @$pb.TagNumber(4) + $core.String get reason => $_getSZ(3); + @$pb.TagNumber(4) + set reason($core.String v) { $_setString(3, v); } + @$pb.TagNumber(4) + $core.bool hasReason() => $_has(3); + @$pb.TagNumber(4) + void clearReason() => clearField(4); + + @$pb.TagNumber(5) + NodeConfigPayload get config => $_getN(4); + @$pb.TagNumber(5) + set config(NodeConfigPayload v) { setField(5, v); } + @$pb.TagNumber(5) + $core.bool hasConfig() => $_has(4); + @$pb.TagNumber(5) + void clearConfig() => clearField(5); + @$pb.TagNumber(5) + NodeConfigPayload ensureConfig() => $_ensure(4); +} + +/// NodeConfigPayload carries all configuration edge pushes to the node. +class NodeConfigPayload extends $pb.GeneratedMessage { + factory NodeConfigPayload({ + $core.Iterable? adapters, + NodeRuntimeConfig? runtime, + }) { + final $result = create(); + if (adapters != null) { + $result.adapters.addAll(adapters); + } + if (runtime != null) { + $result.runtime = runtime; + } + return $result; + } + NodeConfigPayload._() : super(); + factory NodeConfigPayload.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory NodeConfigPayload.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'NodeConfigPayload', package: const $pb.PackageName(_omitMessageNames ? '' : 'iop'), createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'adapters', $pb.PbFieldType.PM, subBuilder: AdapterConfig.create) + ..aOM(2, _omitFieldNames ? '' : 'runtime', subBuilder: NodeRuntimeConfig.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NodeConfigPayload clone() => NodeConfigPayload()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NodeConfigPayload copyWith(void Function(NodeConfigPayload) updates) => super.copyWith((message) => updates(message as NodeConfigPayload)) as NodeConfigPayload; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NodeConfigPayload create() => NodeConfigPayload._(); + NodeConfigPayload createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static NodeConfigPayload getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static NodeConfigPayload? _defaultInstance; + + @$pb.TagNumber(1) + $core.List get adapters => $_getList(0); + + @$pb.TagNumber(2) + NodeRuntimeConfig get runtime => $_getN(1); + @$pb.TagNumber(2) + set runtime(NodeRuntimeConfig v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasRuntime() => $_has(1); + @$pb.TagNumber(2) + void clearRuntime() => clearField(2); + @$pb.TagNumber(2) + NodeRuntimeConfig ensureRuntime() => $_ensure(1); +} + +enum AdapterConfig_Config { + cli, + ollama, + vllm, + notSet +} + +/// AdapterConfig describes one adapter to enable on the node. +class AdapterConfig extends $pb.GeneratedMessage { + factory AdapterConfig({ + $core.String? type, + $core.bool? enabled, + $0.Struct? settings, + CLIAdapterConfig? cli, + OllamaAdapterConfig? ollama, + VllmAdapterConfig? vllm, + }) { + final $result = create(); + if (type != null) { + $result.type = type; + } + if (enabled != null) { + $result.enabled = enabled; + } + if (settings != null) { + $result.settings = settings; + } + if (cli != null) { + $result.cli = cli; + } + if (ollama != null) { + $result.ollama = ollama; + } + if (vllm != null) { + $result.vllm = vllm; + } + return $result; + } + AdapterConfig._() : super(); + factory AdapterConfig.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory AdapterConfig.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, AdapterConfig_Config> _AdapterConfig_ConfigByTag = { + 4 : AdapterConfig_Config.cli, + 5 : AdapterConfig_Config.ollama, + 6 : AdapterConfig_Config.vllm, + 0 : AdapterConfig_Config.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'AdapterConfig', package: const $pb.PackageName(_omitMessageNames ? '' : 'iop'), createEmptyInstance: create) + ..oo(0, [4, 5, 6]) + ..aOS(1, _omitFieldNames ? '' : 'type') + ..aOB(2, _omitFieldNames ? '' : 'enabled') + ..aOM<$0.Struct>(3, _omitFieldNames ? '' : 'settings', subBuilder: $0.Struct.create) + ..aOM(4, _omitFieldNames ? '' : 'cli', subBuilder: CLIAdapterConfig.create) + ..aOM(5, _omitFieldNames ? '' : 'ollama', subBuilder: OllamaAdapterConfig.create) + ..aOM(6, _omitFieldNames ? '' : 'vllm', subBuilder: VllmAdapterConfig.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AdapterConfig clone() => AdapterConfig()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AdapterConfig copyWith(void Function(AdapterConfig) updates) => super.copyWith((message) => updates(message as AdapterConfig)) as AdapterConfig; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AdapterConfig create() => AdapterConfig._(); + AdapterConfig createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AdapterConfig getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static AdapterConfig? _defaultInstance; + + AdapterConfig_Config whichConfig() => _AdapterConfig_ConfigByTag[$_whichOneof(0)]!; + void clearConfig() => clearField($_whichOneof(0)); + + @$pb.TagNumber(1) + $core.String get type => $_getSZ(0); + @$pb.TagNumber(1) + set type($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasType() => $_has(0); + @$pb.TagNumber(1) + void clearType() => clearField(1); + + @$pb.TagNumber(2) + $core.bool get enabled => $_getBF(1); + @$pb.TagNumber(2) + set enabled($core.bool v) { $_setBool(1, v); } + @$pb.TagNumber(2) + $core.bool hasEnabled() => $_has(1); + @$pb.TagNumber(2) + void clearEnabled() => clearField(2); + + @$pb.TagNumber(3) + $0.Struct get settings => $_getN(2); + @$pb.TagNumber(3) + set settings($0.Struct v) { setField(3, v); } + @$pb.TagNumber(3) + $core.bool hasSettings() => $_has(2); + @$pb.TagNumber(3) + void clearSettings() => clearField(3); + @$pb.TagNumber(3) + $0.Struct ensureSettings() => $_ensure(2); + + @$pb.TagNumber(4) + CLIAdapterConfig get cli => $_getN(3); + @$pb.TagNumber(4) + set cli(CLIAdapterConfig v) { setField(4, v); } + @$pb.TagNumber(4) + $core.bool hasCli() => $_has(3); + @$pb.TagNumber(4) + void clearCli() => clearField(4); + @$pb.TagNumber(4) + CLIAdapterConfig ensureCli() => $_ensure(3); + + @$pb.TagNumber(5) + OllamaAdapterConfig get ollama => $_getN(4); + @$pb.TagNumber(5) + set ollama(OllamaAdapterConfig v) { setField(5, v); } + @$pb.TagNumber(5) + $core.bool hasOllama() => $_has(4); + @$pb.TagNumber(5) + void clearOllama() => clearField(5); + @$pb.TagNumber(5) + OllamaAdapterConfig ensureOllama() => $_ensure(4); + + @$pb.TagNumber(6) + VllmAdapterConfig get vllm => $_getN(5); + @$pb.TagNumber(6) + set vllm(VllmAdapterConfig v) { setField(6, v); } + @$pb.TagNumber(6) + $core.bool hasVllm() => $_has(5); + @$pb.TagNumber(6) + void clearVllm() => clearField(6); + @$pb.TagNumber(6) + VllmAdapterConfig ensureVllm() => $_ensure(5); +} + +class CLIAdapterConfig extends $pb.GeneratedMessage { + factory CLIAdapterConfig({ + $core.Map<$core.String, CLIProfileConfig>? profiles, + }) { + final $result = create(); + if (profiles != null) { + $result.profiles.addAll(profiles); + } + return $result; + } + CLIAdapterConfig._() : super(); + factory CLIAdapterConfig.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory CLIAdapterConfig.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CLIAdapterConfig', package: const $pb.PackageName(_omitMessageNames ? '' : 'iop'), createEmptyInstance: create) + ..m<$core.String, CLIProfileConfig>(1, _omitFieldNames ? '' : 'profiles', entryClassName: 'CLIAdapterConfig.ProfilesEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OM, valueCreator: CLIProfileConfig.create, valueDefaultOrMaker: CLIProfileConfig.getDefault, packageName: const $pb.PackageName('iop')) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CLIAdapterConfig clone() => CLIAdapterConfig()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CLIAdapterConfig copyWith(void Function(CLIAdapterConfig) updates) => super.copyWith((message) => updates(message as CLIAdapterConfig)) as CLIAdapterConfig; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CLIAdapterConfig create() => CLIAdapterConfig._(); + CLIAdapterConfig createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CLIAdapterConfig getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static CLIAdapterConfig? _defaultInstance; + + @$pb.TagNumber(1) + $core.Map<$core.String, CLIProfileConfig> get profiles => $_getMap(0); +} + +class CLIProfileConfig extends $pb.GeneratedMessage { + factory CLIProfileConfig({ + $core.String? command, + $core.Iterable<$core.String>? args, + $core.Iterable<$core.String>? env, + $core.bool? persistent, + $core.bool? terminal, + $core.int? responseIdleTimeoutMs, + $core.int? startupIdleTimeoutMs, + $core.String? outputFormat, + CLICompletionMarker? completionMarker, + $core.String? mode, + $core.Iterable<$core.String>? resumeArgs, + }) { + final $result = create(); + if (command != null) { + $result.command = command; + } + if (args != null) { + $result.args.addAll(args); + } + if (env != null) { + $result.env.addAll(env); + } + if (persistent != null) { + $result.persistent = persistent; + } + if (terminal != null) { + $result.terminal = terminal; + } + if (responseIdleTimeoutMs != null) { + $result.responseIdleTimeoutMs = responseIdleTimeoutMs; + } + if (startupIdleTimeoutMs != null) { + $result.startupIdleTimeoutMs = startupIdleTimeoutMs; + } + if (outputFormat != null) { + $result.outputFormat = outputFormat; + } + if (completionMarker != null) { + $result.completionMarker = completionMarker; + } + if (mode != null) { + $result.mode = mode; + } + if (resumeArgs != null) { + $result.resumeArgs.addAll(resumeArgs); + } + return $result; + } + CLIProfileConfig._() : super(); + factory CLIProfileConfig.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory CLIProfileConfig.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CLIProfileConfig', package: const $pb.PackageName(_omitMessageNames ? '' : 'iop'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'command') + ..pPS(2, _omitFieldNames ? '' : 'args') + ..pPS(3, _omitFieldNames ? '' : 'env') + ..aOB(4, _omitFieldNames ? '' : 'persistent') + ..aOB(5, _omitFieldNames ? '' : 'terminal') + ..a<$core.int>(6, _omitFieldNames ? '' : 'responseIdleTimeoutMs', $pb.PbFieldType.O3) + ..a<$core.int>(7, _omitFieldNames ? '' : 'startupIdleTimeoutMs', $pb.PbFieldType.O3) + ..aOS(8, _omitFieldNames ? '' : 'outputFormat') + ..aOM(9, _omitFieldNames ? '' : 'completionMarker', subBuilder: CLICompletionMarker.create) + ..aOS(10, _omitFieldNames ? '' : 'mode') + ..pPS(11, _omitFieldNames ? '' : 'resumeArgs') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CLIProfileConfig clone() => CLIProfileConfig()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CLIProfileConfig copyWith(void Function(CLIProfileConfig) updates) => super.copyWith((message) => updates(message as CLIProfileConfig)) as CLIProfileConfig; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CLIProfileConfig create() => CLIProfileConfig._(); + CLIProfileConfig createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CLIProfileConfig getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static CLIProfileConfig? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get command => $_getSZ(0); + @$pb.TagNumber(1) + set command($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasCommand() => $_has(0); + @$pb.TagNumber(1) + void clearCommand() => clearField(1); + + @$pb.TagNumber(2) + $core.List<$core.String> get args => $_getList(1); + + @$pb.TagNumber(3) + $core.List<$core.String> get env => $_getList(2); + + @$pb.TagNumber(4) + $core.bool get persistent => $_getBF(3); + @$pb.TagNumber(4) + set persistent($core.bool v) { $_setBool(3, v); } + @$pb.TagNumber(4) + $core.bool hasPersistent() => $_has(3); + @$pb.TagNumber(4) + void clearPersistent() => clearField(4); + + @$pb.TagNumber(5) + $core.bool get terminal => $_getBF(4); + @$pb.TagNumber(5) + set terminal($core.bool v) { $_setBool(4, v); } + @$pb.TagNumber(5) + $core.bool hasTerminal() => $_has(4); + @$pb.TagNumber(5) + void clearTerminal() => clearField(5); + + @$pb.TagNumber(6) + $core.int get responseIdleTimeoutMs => $_getIZ(5); + @$pb.TagNumber(6) + set responseIdleTimeoutMs($core.int v) { $_setSignedInt32(5, v); } + @$pb.TagNumber(6) + $core.bool hasResponseIdleTimeoutMs() => $_has(5); + @$pb.TagNumber(6) + void clearResponseIdleTimeoutMs() => clearField(6); + + @$pb.TagNumber(7) + $core.int get startupIdleTimeoutMs => $_getIZ(6); + @$pb.TagNumber(7) + set startupIdleTimeoutMs($core.int v) { $_setSignedInt32(6, v); } + @$pb.TagNumber(7) + $core.bool hasStartupIdleTimeoutMs() => $_has(6); + @$pb.TagNumber(7) + void clearStartupIdleTimeoutMs() => clearField(7); + + @$pb.TagNumber(8) + $core.String get outputFormat => $_getSZ(7); + @$pb.TagNumber(8) + set outputFormat($core.String v) { $_setString(7, v); } + @$pb.TagNumber(8) + $core.bool hasOutputFormat() => $_has(7); + @$pb.TagNumber(8) + void clearOutputFormat() => clearField(8); + + @$pb.TagNumber(9) + CLICompletionMarker get completionMarker => $_getN(8); + @$pb.TagNumber(9) + set completionMarker(CLICompletionMarker v) { setField(9, v); } + @$pb.TagNumber(9) + $core.bool hasCompletionMarker() => $_has(8); + @$pb.TagNumber(9) + void clearCompletionMarker() => clearField(9); + @$pb.TagNumber(9) + CLICompletionMarker ensureCompletionMarker() => $_ensure(8); + + @$pb.TagNumber(10) + $core.String get mode => $_getSZ(9); + @$pb.TagNumber(10) + set mode($core.String v) { $_setString(9, v); } + @$pb.TagNumber(10) + $core.bool hasMode() => $_has(9); + @$pb.TagNumber(10) + void clearMode() => clearField(10); + + @$pb.TagNumber(11) + $core.List<$core.String> get resumeArgs => $_getList(10); +} + +class CLICompletionMarker extends $pb.GeneratedMessage { + factory CLICompletionMarker({ + $core.String? line, + $core.String? regex, + }) { + final $result = create(); + if (line != null) { + $result.line = line; + } + if (regex != null) { + $result.regex = regex; + } + return $result; + } + CLICompletionMarker._() : super(); + factory CLICompletionMarker.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory CLICompletionMarker.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CLICompletionMarker', package: const $pb.PackageName(_omitMessageNames ? '' : 'iop'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'line') + ..aOS(2, _omitFieldNames ? '' : 'regex') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CLICompletionMarker clone() => CLICompletionMarker()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CLICompletionMarker copyWith(void Function(CLICompletionMarker) updates) => super.copyWith((message) => updates(message as CLICompletionMarker)) as CLICompletionMarker; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CLICompletionMarker create() => CLICompletionMarker._(); + CLICompletionMarker createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CLICompletionMarker getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static CLICompletionMarker? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get line => $_getSZ(0); + @$pb.TagNumber(1) + set line($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasLine() => $_has(0); + @$pb.TagNumber(1) + void clearLine() => clearField(1); + + @$pb.TagNumber(2) + $core.String get regex => $_getSZ(1); + @$pb.TagNumber(2) + set regex($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasRegex() => $_has(1); + @$pb.TagNumber(2) + void clearRegex() => clearField(2); +} + +class OllamaAdapterConfig extends $pb.GeneratedMessage { + factory OllamaAdapterConfig({ + $core.String? baseUrl, + $core.int? contextSize, + }) { + final $result = create(); + if (baseUrl != null) { + $result.baseUrl = baseUrl; + } + if (contextSize != null) { + $result.contextSize = contextSize; + } + return $result; + } + OllamaAdapterConfig._() : super(); + factory OllamaAdapterConfig.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory OllamaAdapterConfig.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'OllamaAdapterConfig', package: const $pb.PackageName(_omitMessageNames ? '' : 'iop'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'baseUrl') + ..a<$core.int>(2, _omitFieldNames ? '' : 'contextSize', $pb.PbFieldType.O3) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + OllamaAdapterConfig clone() => OllamaAdapterConfig()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + OllamaAdapterConfig copyWith(void Function(OllamaAdapterConfig) updates) => super.copyWith((message) => updates(message as OllamaAdapterConfig)) as OllamaAdapterConfig; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static OllamaAdapterConfig create() => OllamaAdapterConfig._(); + OllamaAdapterConfig createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static OllamaAdapterConfig getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static OllamaAdapterConfig? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get baseUrl => $_getSZ(0); + @$pb.TagNumber(1) + set baseUrl($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasBaseUrl() => $_has(0); + @$pb.TagNumber(1) + void clearBaseUrl() => clearField(1); + + @$pb.TagNumber(2) + $core.int get contextSize => $_getIZ(1); + @$pb.TagNumber(2) + set contextSize($core.int v) { $_setSignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasContextSize() => $_has(1); + @$pb.TagNumber(2) + void clearContextSize() => clearField(2); +} + +class VllmAdapterConfig extends $pb.GeneratedMessage { + factory VllmAdapterConfig({ + $core.String? endpoint, + }) { + final $result = create(); + if (endpoint != null) { + $result.endpoint = endpoint; + } + return $result; + } + VllmAdapterConfig._() : super(); + factory VllmAdapterConfig.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory VllmAdapterConfig.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'VllmAdapterConfig', package: const $pb.PackageName(_omitMessageNames ? '' : 'iop'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'endpoint') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + VllmAdapterConfig clone() => VllmAdapterConfig()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + VllmAdapterConfig copyWith(void Function(VllmAdapterConfig) updates) => super.copyWith((message) => updates(message as VllmAdapterConfig)) as VllmAdapterConfig; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static VllmAdapterConfig create() => VllmAdapterConfig._(); + VllmAdapterConfig createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static VllmAdapterConfig getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static VllmAdapterConfig? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get endpoint => $_getSZ(0); + @$pb.TagNumber(1) + set endpoint($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasEndpoint() => $_has(0); + @$pb.TagNumber(1) + void clearEndpoint() => clearField(1); +} + +/// NodeRuntimeConfig is the runtime tuning pushed to the node. +class NodeRuntimeConfig extends $pb.GeneratedMessage { + factory NodeRuntimeConfig({ + $core.int? concurrency, + $core.String? workspaceRoot, + }) { + final $result = create(); + if (concurrency != null) { + $result.concurrency = concurrency; + } + if (workspaceRoot != null) { + $result.workspaceRoot = workspaceRoot; + } + return $result; + } + NodeRuntimeConfig._() : super(); + factory NodeRuntimeConfig.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory NodeRuntimeConfig.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'NodeRuntimeConfig', package: const $pb.PackageName(_omitMessageNames ? '' : 'iop'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'concurrency', $pb.PbFieldType.O3) + ..aOS(2, _omitFieldNames ? '' : 'workspaceRoot') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NodeRuntimeConfig clone() => NodeRuntimeConfig()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NodeRuntimeConfig copyWith(void Function(NodeRuntimeConfig) updates) => super.copyWith((message) => updates(message as NodeRuntimeConfig)) as NodeRuntimeConfig; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NodeRuntimeConfig create() => NodeRuntimeConfig._(); + NodeRuntimeConfig createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static NodeRuntimeConfig getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static NodeRuntimeConfig? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get concurrency => $_getIZ(0); + @$pb.TagNumber(1) + set concurrency($core.int v) { $_setSignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasConcurrency() => $_has(0); + @$pb.TagNumber(1) + void clearConcurrency() => clearField(1); + + @$pb.TagNumber(2) + $core.String get workspaceRoot => $_getSZ(1); + @$pb.TagNumber(2) + set workspaceRoot($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasWorkspaceRoot() => $_has(1); + @$pb.TagNumber(2) + void clearWorkspaceRoot() => clearField(2); +} + + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/test/support/iop/runtime.pbenum.dart b/test/support/iop/runtime.pbenum.dart new file mode 100644 index 0000000..cd0e002 --- /dev/null +++ b/test/support/iop/runtime.pbenum.dart @@ -0,0 +1,72 @@ +// +// Generated code. Do not modify. +// source: iop/runtime.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +class RunSessionMode extends $pb.ProtobufEnum { + static const RunSessionMode RUN_SESSION_MODE_UNSPECIFIED = RunSessionMode._(0, _omitEnumNames ? '' : 'RUN_SESSION_MODE_UNSPECIFIED'); + static const RunSessionMode RUN_SESSION_MODE_CREATE_IF_MISSING = RunSessionMode._(1, _omitEnumNames ? '' : 'RUN_SESSION_MODE_CREATE_IF_MISSING'); + static const RunSessionMode RUN_SESSION_MODE_REQUIRE_EXISTING = RunSessionMode._(2, _omitEnumNames ? '' : 'RUN_SESSION_MODE_REQUIRE_EXISTING'); + + static const $core.List values = [ + RUN_SESSION_MODE_UNSPECIFIED, + RUN_SESSION_MODE_CREATE_IF_MISSING, + RUN_SESSION_MODE_REQUIRE_EXISTING, + ]; + + static final $core.Map<$core.int, RunSessionMode> _byValue = $pb.ProtobufEnum.initByValue(values); + static RunSessionMode? valueOf($core.int value) => _byValue[value]; + + const RunSessionMode._($core.int v, $core.String n) : super(v, n); +} + +class CancelAction extends $pb.ProtobufEnum { + static const CancelAction CANCEL_ACTION_UNSPECIFIED = CancelAction._(0, _omitEnumNames ? '' : 'CANCEL_ACTION_UNSPECIFIED'); + static const CancelAction CANCEL_ACTION_CANCEL_RUN = CancelAction._(1, _omitEnumNames ? '' : 'CANCEL_ACTION_CANCEL_RUN'); + static const CancelAction CANCEL_ACTION_TERMINATE_SESSION = CancelAction._(2, _omitEnumNames ? '' : 'CANCEL_ACTION_TERMINATE_SESSION'); + + static const $core.List values = [ + CANCEL_ACTION_UNSPECIFIED, + CANCEL_ACTION_CANCEL_RUN, + CANCEL_ACTION_TERMINATE_SESSION, + ]; + + static final $core.Map<$core.int, CancelAction> _byValue = $pb.ProtobufEnum.initByValue(values); + static CancelAction? valueOf($core.int value) => _byValue[value]; + + const CancelAction._($core.int v, $core.String n) : super(v, n); +} + +class NodeCommandType extends $pb.ProtobufEnum { + static const NodeCommandType NODE_COMMAND_TYPE_UNSPECIFIED = NodeCommandType._(0, _omitEnumNames ? '' : 'NODE_COMMAND_TYPE_UNSPECIFIED'); + static const NodeCommandType NODE_COMMAND_TYPE_USAGE_STATUS = NodeCommandType._(1, _omitEnumNames ? '' : 'NODE_COMMAND_TYPE_USAGE_STATUS'); + static const NodeCommandType NODE_COMMAND_TYPE_CAPABILITIES = NodeCommandType._(2, _omitEnumNames ? '' : 'NODE_COMMAND_TYPE_CAPABILITIES'); + static const NodeCommandType NODE_COMMAND_TYPE_SESSION_LIST = NodeCommandType._(3, _omitEnumNames ? '' : 'NODE_COMMAND_TYPE_SESSION_LIST'); + static const NodeCommandType NODE_COMMAND_TYPE_TRANSPORT_STATUS = NodeCommandType._(4, _omitEnumNames ? '' : 'NODE_COMMAND_TYPE_TRANSPORT_STATUS'); + + static const $core.List values = [ + NODE_COMMAND_TYPE_UNSPECIFIED, + NODE_COMMAND_TYPE_USAGE_STATUS, + NODE_COMMAND_TYPE_CAPABILITIES, + NODE_COMMAND_TYPE_SESSION_LIST, + NODE_COMMAND_TYPE_TRANSPORT_STATUS, + ]; + + static final $core.Map<$core.int, NodeCommandType> _byValue = $pb.ProtobufEnum.initByValue(values); + static NodeCommandType? valueOf($core.int value) => _byValue[value]; + + const NodeCommandType._($core.int v, $core.String n) : super(v, n); +} + + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/test/support/iop/runtime.pbjson.dart b/test/support/iop/runtime.pbjson.dart new file mode 100644 index 0000000..9b70113 --- /dev/null +++ b/test/support/iop/runtime.pbjson.dart @@ -0,0 +1,522 @@ +// +// Generated code. Do not modify. +// source: iop/runtime.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use runSessionModeDescriptor instead') +const RunSessionMode$json = { + '1': 'RunSessionMode', + '2': [ + {'1': 'RUN_SESSION_MODE_UNSPECIFIED', '2': 0}, + {'1': 'RUN_SESSION_MODE_CREATE_IF_MISSING', '2': 1}, + {'1': 'RUN_SESSION_MODE_REQUIRE_EXISTING', '2': 2}, + ], +}; + +/// Descriptor for `RunSessionMode`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List runSessionModeDescriptor = $convert.base64Decode( + 'Cg5SdW5TZXNzaW9uTW9kZRIgChxSVU5fU0VTU0lPTl9NT0RFX1VOU1BFQ0lGSUVEEAASJgoiUl' + 'VOX1NFU1NJT05fTU9ERV9DUkVBVEVfSUZfTUlTU0lORxABEiUKIVJVTl9TRVNTSU9OX01PREVf' + 'UkVRVUlSRV9FWElTVElORxAC'); + +@$core.Deprecated('Use cancelActionDescriptor instead') +const CancelAction$json = { + '1': 'CancelAction', + '2': [ + {'1': 'CANCEL_ACTION_UNSPECIFIED', '2': 0}, + {'1': 'CANCEL_ACTION_CANCEL_RUN', '2': 1}, + {'1': 'CANCEL_ACTION_TERMINATE_SESSION', '2': 2}, + ], +}; + +/// Descriptor for `CancelAction`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List cancelActionDescriptor = $convert.base64Decode( + 'CgxDYW5jZWxBY3Rpb24SHQoZQ0FOQ0VMX0FDVElPTl9VTlNQRUNJRklFRBAAEhwKGENBTkNFTF' + '9BQ1RJT05fQ0FOQ0VMX1JVThABEiMKH0NBTkNFTF9BQ1RJT05fVEVSTUlOQVRFX1NFU1NJT04Q' + 'Ag=='); + +@$core.Deprecated('Use nodeCommandTypeDescriptor instead') +const NodeCommandType$json = { + '1': 'NodeCommandType', + '2': [ + {'1': 'NODE_COMMAND_TYPE_UNSPECIFIED', '2': 0}, + {'1': 'NODE_COMMAND_TYPE_USAGE_STATUS', '2': 1}, + {'1': 'NODE_COMMAND_TYPE_CAPABILITIES', '2': 2}, + {'1': 'NODE_COMMAND_TYPE_SESSION_LIST', '2': 3}, + {'1': 'NODE_COMMAND_TYPE_TRANSPORT_STATUS', '2': 4}, + ], +}; + +/// Descriptor for `NodeCommandType`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List nodeCommandTypeDescriptor = $convert.base64Decode( + 'Cg9Ob2RlQ29tbWFuZFR5cGUSIQodTk9ERV9DT01NQU5EX1RZUEVfVU5TUEVDSUZJRUQQABIiCh' + '5OT0RFX0NPTU1BTkRfVFlQRV9VU0FHRV9TVEFUVVMQARIiCh5OT0RFX0NPTU1BTkRfVFlQRV9D' + 'QVBBQklMSVRJRVMQAhIiCh5OT0RFX0NPTU1BTkRfVFlQRV9TRVNTSU9OX0xJU1QQAxImCiJOT0' + 'RFX0NPTU1BTkRfVFlQRV9UUkFOU1BPUlRfU1RBVFVTEAQ='); + +@$core.Deprecated('Use runRequestDescriptor instead') +const RunRequest$json = { + '1': 'RunRequest', + '2': [ + {'1': 'run_id', '3': 1, '4': 1, '5': 9, '10': 'runId'}, + {'1': 'adapter', '3': 2, '4': 1, '5': 9, '10': 'adapter'}, + {'1': 'target', '3': 3, '4': 1, '5': 9, '10': 'target'}, + {'1': 'workspace', '3': 4, '4': 1, '5': 9, '10': 'workspace'}, + {'1': 'policy', '3': 5, '4': 1, '5': 11, '6': '.google.protobuf.Struct', '10': 'policy'}, + {'1': 'input', '3': 6, '4': 1, '5': 11, '6': '.google.protobuf.Struct', '10': 'input'}, + {'1': 'timeout_sec', '3': 7, '4': 1, '5': 5, '10': 'timeoutSec'}, + {'1': 'metadata', '3': 8, '4': 3, '5': 11, '6': '.iop.RunRequest.MetadataEntry', '10': 'metadata'}, + {'1': 'session_id', '3': 9, '4': 1, '5': 9, '10': 'sessionId'}, + {'1': 'session_mode', '3': 10, '4': 1, '5': 14, '6': '.iop.RunSessionMode', '10': 'sessionMode'}, + {'1': 'background', '3': 11, '4': 1, '5': 8, '10': 'background'}, + ], + '3': [RunRequest_MetadataEntry$json], +}; + +@$core.Deprecated('Use runRequestDescriptor instead') +const RunRequest_MetadataEntry$json = { + '1': 'MetadataEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `RunRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List runRequestDescriptor = $convert.base64Decode( + 'CgpSdW5SZXF1ZXN0EhUKBnJ1bl9pZBgBIAEoCVIFcnVuSWQSGAoHYWRhcHRlchgCIAEoCVIHYW' + 'RhcHRlchIWCgZ0YXJnZXQYAyABKAlSBnRhcmdldBIcCgl3b3Jrc3BhY2UYBCABKAlSCXdvcmtz' + 'cGFjZRIvCgZwb2xpY3kYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0UgZwb2xpY3kSLQ' + 'oFaW5wdXQYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0UgVpbnB1dBIfCgt0aW1lb3V0' + 'X3NlYxgHIAEoBVIKdGltZW91dFNlYxI5CghtZXRhZGF0YRgIIAMoCzIdLmlvcC5SdW5SZXF1ZX' + 'N0Lk1ldGFkYXRhRW50cnlSCG1ldGFkYXRhEh0KCnNlc3Npb25faWQYCSABKAlSCXNlc3Npb25J' + 'ZBI2CgxzZXNzaW9uX21vZGUYCiABKA4yEy5pb3AuUnVuU2Vzc2lvbk1vZGVSC3Nlc3Npb25Nb2' + 'RlEh4KCmJhY2tncm91bmQYCyABKAhSCmJhY2tncm91bmQaOwoNTWV0YWRhdGFFbnRyeRIQCgNr' + 'ZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgB'); + +@$core.Deprecated('Use runEventDescriptor instead') +const RunEvent$json = { + '1': 'RunEvent', + '2': [ + {'1': 'run_id', '3': 1, '4': 1, '5': 9, '10': 'runId'}, + {'1': 'type', '3': 2, '4': 1, '5': 9, '10': 'type'}, + {'1': 'delta', '3': 3, '4': 1, '5': 9, '10': 'delta'}, + {'1': 'message', '3': 4, '4': 1, '5': 9, '10': 'message'}, + {'1': 'error', '3': 5, '4': 1, '5': 9, '10': 'error'}, + {'1': 'usage', '3': 6, '4': 1, '5': 11, '6': '.iop.Usage', '10': 'usage'}, + {'1': 'metadata', '3': 7, '4': 3, '5': 11, '6': '.iop.RunEvent.MetadataEntry', '10': 'metadata'}, + {'1': 'timestamp', '3': 8, '4': 1, '5': 3, '10': 'timestamp'}, + {'1': 'session_id', '3': 9, '4': 1, '5': 9, '10': 'sessionId'}, + {'1': 'background', '3': 10, '4': 1, '5': 8, '10': 'background'}, + {'1': 'node_id', '3': 11, '4': 1, '5': 9, '10': 'nodeId'}, + {'1': 'node_alias', '3': 12, '4': 1, '5': 9, '10': 'nodeAlias'}, + ], + '3': [RunEvent_MetadataEntry$json], +}; + +@$core.Deprecated('Use runEventDescriptor instead') +const RunEvent_MetadataEntry$json = { + '1': 'MetadataEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `RunEvent`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List runEventDescriptor = $convert.base64Decode( + 'CghSdW5FdmVudBIVCgZydW5faWQYASABKAlSBXJ1bklkEhIKBHR5cGUYAiABKAlSBHR5cGUSFA' + 'oFZGVsdGEYAyABKAlSBWRlbHRhEhgKB21lc3NhZ2UYBCABKAlSB21lc3NhZ2USFAoFZXJyb3IY' + 'BSABKAlSBWVycm9yEiAKBXVzYWdlGAYgASgLMgouaW9wLlVzYWdlUgV1c2FnZRI3CghtZXRhZG' + 'F0YRgHIAMoCzIbLmlvcC5SdW5FdmVudC5NZXRhZGF0YUVudHJ5UghtZXRhZGF0YRIcCgl0aW1l' + 'c3RhbXAYCCABKANSCXRpbWVzdGFtcBIdCgpzZXNzaW9uX2lkGAkgASgJUglzZXNzaW9uSWQSHg' + 'oKYmFja2dyb3VuZBgKIAEoCFIKYmFja2dyb3VuZBIXCgdub2RlX2lkGAsgASgJUgZub2RlSWQS' + 'HQoKbm9kZV9hbGlhcxgMIAEoCVIJbm9kZUFsaWFzGjsKDU1ldGFkYXRhRW50cnkSEAoDa2V5GA' + 'EgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4AQ=='); + +@$core.Deprecated('Use edgeNodeEventDescriptor instead') +const EdgeNodeEvent$json = { + '1': 'EdgeNodeEvent', + '2': [ + {'1': 'event_id', '3': 1, '4': 1, '5': 9, '10': 'eventId'}, + {'1': 'type', '3': 2, '4': 1, '5': 9, '10': 'type'}, + {'1': 'source', '3': 3, '4': 1, '5': 9, '10': 'source'}, + {'1': 'node_id', '3': 4, '4': 1, '5': 9, '10': 'nodeId'}, + {'1': 'alias', '3': 5, '4': 1, '5': 9, '10': 'alias'}, + {'1': 'reason', '3': 6, '4': 1, '5': 9, '10': 'reason'}, + {'1': 'metadata', '3': 7, '4': 3, '5': 11, '6': '.iop.EdgeNodeEvent.MetadataEntry', '10': 'metadata'}, + {'1': 'timestamp', '3': 8, '4': 1, '5': 3, '10': 'timestamp'}, + ], + '3': [EdgeNodeEvent_MetadataEntry$json], +}; + +@$core.Deprecated('Use edgeNodeEventDescriptor instead') +const EdgeNodeEvent_MetadataEntry$json = { + '1': 'MetadataEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `EdgeNodeEvent`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List edgeNodeEventDescriptor = $convert.base64Decode( + 'Cg1FZGdlTm9kZUV2ZW50EhkKCGV2ZW50X2lkGAEgASgJUgdldmVudElkEhIKBHR5cGUYAiABKA' + 'lSBHR5cGUSFgoGc291cmNlGAMgASgJUgZzb3VyY2USFwoHbm9kZV9pZBgEIAEoCVIGbm9kZUlk' + 'EhQKBWFsaWFzGAUgASgJUgVhbGlhcxIWCgZyZWFzb24YBiABKAlSBnJlYXNvbhI8CghtZXRhZG' + 'F0YRgHIAMoCzIgLmlvcC5FZGdlTm9kZUV2ZW50Lk1ldGFkYXRhRW50cnlSCG1ldGFkYXRhEhwK' + 'CXRpbWVzdGFtcBgIIAEoA1IJdGltZXN0YW1wGjsKDU1ldGFkYXRhRW50cnkSEAoDa2V5GAEgAS' + 'gJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4AQ=='); + +@$core.Deprecated('Use usageDescriptor instead') +const Usage$json = { + '1': 'Usage', + '2': [ + {'1': 'input_tokens', '3': 1, '4': 1, '5': 5, '10': 'inputTokens'}, + {'1': 'output_tokens', '3': 2, '4': 1, '5': 5, '10': 'outputTokens'}, + ], +}; + +/// Descriptor for `Usage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List usageDescriptor = $convert.base64Decode( + 'CgVVc2FnZRIhCgxpbnB1dF90b2tlbnMYASABKAVSC2lucHV0VG9rZW5zEiMKDW91dHB1dF90b2' + 'tlbnMYAiABKAVSDG91dHB1dFRva2Vucw=='); + +@$core.Deprecated('Use heartbeatDescriptor instead') +const Heartbeat$json = { + '1': 'Heartbeat', + '2': [ + {'1': 'timestamp', '3': 1, '4': 1, '5': 3, '10': 'timestamp'}, + ], +}; + +/// Descriptor for `Heartbeat`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List heartbeatDescriptor = $convert.base64Decode( + 'CglIZWFydGJlYXQSHAoJdGltZXN0YW1wGAEgASgDUgl0aW1lc3RhbXA='); + +@$core.Deprecated('Use cancelRequestDescriptor instead') +const CancelRequest$json = { + '1': 'CancelRequest', + '2': [ + {'1': 'run_id', '3': 1, '4': 1, '5': 9, '10': 'runId'}, + {'1': 'adapter', '3': 2, '4': 1, '5': 9, '10': 'adapter'}, + {'1': 'target', '3': 3, '4': 1, '5': 9, '10': 'target'}, + {'1': 'session_id', '3': 4, '4': 1, '5': 9, '10': 'sessionId'}, + {'1': 'action', '3': 5, '4': 1, '5': 14, '6': '.iop.CancelAction', '10': 'action'}, + ], +}; + +/// Descriptor for `CancelRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List cancelRequestDescriptor = $convert.base64Decode( + 'Cg1DYW5jZWxSZXF1ZXN0EhUKBnJ1bl9pZBgBIAEoCVIFcnVuSWQSGAoHYWRhcHRlchgCIAEoCV' + 'IHYWRhcHRlchIWCgZ0YXJnZXQYAyABKAlSBnRhcmdldBIdCgpzZXNzaW9uX2lkGAQgASgJUglz' + 'ZXNzaW9uSWQSKQoGYWN0aW9uGAUgASgOMhEuaW9wLkNhbmNlbEFjdGlvblIGYWN0aW9u'); + +@$core.Deprecated('Use nodeCommandRequestDescriptor instead') +const NodeCommandRequest$json = { + '1': 'NodeCommandRequest', + '2': [ + {'1': 'request_id', '3': 1, '4': 1, '5': 9, '10': 'requestId'}, + {'1': 'type', '3': 2, '4': 1, '5': 14, '6': '.iop.NodeCommandType', '10': 'type'}, + {'1': 'adapter', '3': 3, '4': 1, '5': 9, '10': 'adapter'}, + {'1': 'target', '3': 4, '4': 1, '5': 9, '10': 'target'}, + {'1': 'session_id', '3': 5, '4': 1, '5': 9, '10': 'sessionId'}, + {'1': 'timeout_sec', '3': 6, '4': 1, '5': 5, '10': 'timeoutSec'}, + {'1': 'metadata', '3': 7, '4': 3, '5': 11, '6': '.iop.NodeCommandRequest.MetadataEntry', '10': 'metadata'}, + ], + '3': [NodeCommandRequest_MetadataEntry$json], +}; + +@$core.Deprecated('Use nodeCommandRequestDescriptor instead') +const NodeCommandRequest_MetadataEntry$json = { + '1': 'MetadataEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `NodeCommandRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List nodeCommandRequestDescriptor = $convert.base64Decode( + 'ChJOb2RlQ29tbWFuZFJlcXVlc3QSHQoKcmVxdWVzdF9pZBgBIAEoCVIJcmVxdWVzdElkEigKBH' + 'R5cGUYAiABKA4yFC5pb3AuTm9kZUNvbW1hbmRUeXBlUgR0eXBlEhgKB2FkYXB0ZXIYAyABKAlS' + 'B2FkYXB0ZXISFgoGdGFyZ2V0GAQgASgJUgZ0YXJnZXQSHQoKc2Vzc2lvbl9pZBgFIAEoCVIJc2' + 'Vzc2lvbklkEh8KC3RpbWVvdXRfc2VjGAYgASgFUgp0aW1lb3V0U2VjEkEKCG1ldGFkYXRhGAcg' + 'AygLMiUuaW9wLk5vZGVDb21tYW5kUmVxdWVzdC5NZXRhZGF0YUVudHJ5UghtZXRhZGF0YRo7Cg' + '1NZXRhZGF0YUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToC' + 'OAE='); + +@$core.Deprecated('Use nodeCommandResponseDescriptor instead') +const NodeCommandResponse$json = { + '1': 'NodeCommandResponse', + '2': [ + {'1': 'request_id', '3': 1, '4': 1, '5': 9, '10': 'requestId'}, + {'1': 'type', '3': 2, '4': 1, '5': 14, '6': '.iop.NodeCommandType', '10': 'type'}, + {'1': 'adapter', '3': 3, '4': 1, '5': 9, '10': 'adapter'}, + {'1': 'target', '3': 4, '4': 1, '5': 9, '10': 'target'}, + {'1': 'session_id', '3': 5, '4': 1, '5': 9, '10': 'sessionId'}, + {'1': 'usage_status', '3': 6, '4': 1, '5': 11, '6': '.iop.AgentUsageStatus', '10': 'usageStatus'}, + {'1': 'error', '3': 7, '4': 1, '5': 9, '10': 'error'}, + {'1': 'result', '3': 8, '4': 3, '5': 11, '6': '.iop.NodeCommandResponse.ResultEntry', '10': 'result'}, + ], + '3': [NodeCommandResponse_ResultEntry$json], +}; + +@$core.Deprecated('Use nodeCommandResponseDescriptor instead') +const NodeCommandResponse_ResultEntry$json = { + '1': 'ResultEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `NodeCommandResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List nodeCommandResponseDescriptor = $convert.base64Decode( + 'ChNOb2RlQ29tbWFuZFJlc3BvbnNlEh0KCnJlcXVlc3RfaWQYASABKAlSCXJlcXVlc3RJZBIoCg' + 'R0eXBlGAIgASgOMhQuaW9wLk5vZGVDb21tYW5kVHlwZVIEdHlwZRIYCgdhZGFwdGVyGAMgASgJ' + 'UgdhZGFwdGVyEhYKBnRhcmdldBgEIAEoCVIGdGFyZ2V0Eh0KCnNlc3Npb25faWQYBSABKAlSCX' + 'Nlc3Npb25JZBI4Cgx1c2FnZV9zdGF0dXMYBiABKAsyFS5pb3AuQWdlbnRVc2FnZVN0YXR1c1IL' + 'dXNhZ2VTdGF0dXMSFAoFZXJyb3IYByABKAlSBWVycm9yEjwKBnJlc3VsdBgIIAMoCzIkLmlvcC' + '5Ob2RlQ29tbWFuZFJlc3BvbnNlLlJlc3VsdEVudHJ5UgZyZXN1bHQaOQoLUmVzdWx0RW50cnkS' + 'EAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4AQ=='); + +@$core.Deprecated('Use agentUsageStatusDescriptor instead') +const AgentUsageStatus$json = { + '1': 'AgentUsageStatus', + '2': [ + {'1': 'raw_output', '3': 1, '4': 1, '5': 9, '10': 'rawOutput'}, + {'1': 'daily_limit', '3': 2, '4': 1, '5': 9, '10': 'dailyLimit'}, + {'1': 'daily_reset_time', '3': 3, '4': 1, '5': 9, '10': 'dailyResetTime'}, + {'1': 'weekly_limit', '3': 4, '4': 1, '5': 9, '10': 'weeklyLimit'}, + {'1': 'weekly_reset_time', '3': 5, '4': 1, '5': 9, '10': 'weeklyResetTime'}, + {'1': 'metadata', '3': 6, '4': 3, '5': 11, '6': '.iop.AgentUsageStatus.MetadataEntry', '10': 'metadata'}, + ], + '3': [AgentUsageStatus_MetadataEntry$json], +}; + +@$core.Deprecated('Use agentUsageStatusDescriptor instead') +const AgentUsageStatus_MetadataEntry$json = { + '1': 'MetadataEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `AgentUsageStatus`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List agentUsageStatusDescriptor = $convert.base64Decode( + 'ChBBZ2VudFVzYWdlU3RhdHVzEh0KCnJhd19vdXRwdXQYASABKAlSCXJhd091dHB1dBIfCgtkYW' + 'lseV9saW1pdBgCIAEoCVIKZGFpbHlMaW1pdBIoChBkYWlseV9yZXNldF90aW1lGAMgASgJUg5k' + 'YWlseVJlc2V0VGltZRIhCgx3ZWVrbHlfbGltaXQYBCABKAlSC3dlZWtseUxpbWl0EioKEXdlZW' + 'tseV9yZXNldF90aW1lGAUgASgJUg93ZWVrbHlSZXNldFRpbWUSPwoIbWV0YWRhdGEYBiADKAsy' + 'Iy5pb3AuQWdlbnRVc2FnZVN0YXR1cy5NZXRhZGF0YUVudHJ5UghtZXRhZGF0YRo7Cg1NZXRhZG' + 'F0YUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAE='); + +@$core.Deprecated('Use errorDescriptor instead') +const Error$json = { + '1': 'Error', + '2': [ + {'1': 'code', '3': 1, '4': 1, '5': 9, '10': 'code'}, + {'1': 'message', '3': 2, '4': 1, '5': 9, '10': 'message'}, + ], +}; + +/// Descriptor for `Error`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List errorDescriptor = $convert.base64Decode( + 'CgVFcnJvchISCgRjb2RlGAEgASgJUgRjb2RlEhgKB21lc3NhZ2UYAiABKAlSB21lc3NhZ2U='); + +@$core.Deprecated('Use registerRequestDescriptor instead') +const RegisterRequest$json = { + '1': 'RegisterRequest', + '2': [ + {'1': 'token', '3': 1, '4': 1, '5': 9, '10': 'token'}, + ], +}; + +/// Descriptor for `RegisterRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List registerRequestDescriptor = $convert.base64Decode( + 'Cg9SZWdpc3RlclJlcXVlc3QSFAoFdG9rZW4YASABKAlSBXRva2Vu'); + +@$core.Deprecated('Use registerResponseDescriptor instead') +const RegisterResponse$json = { + '1': 'RegisterResponse', + '2': [ + {'1': 'accepted', '3': 1, '4': 1, '5': 8, '10': 'accepted'}, + {'1': 'node_id', '3': 2, '4': 1, '5': 9, '10': 'nodeId'}, + {'1': 'alias', '3': 3, '4': 1, '5': 9, '10': 'alias'}, + {'1': 'reason', '3': 4, '4': 1, '5': 9, '10': 'reason'}, + {'1': 'config', '3': 5, '4': 1, '5': 11, '6': '.iop.NodeConfigPayload', '10': 'config'}, + ], +}; + +/// Descriptor for `RegisterResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List registerResponseDescriptor = $convert.base64Decode( + 'ChBSZWdpc3RlclJlc3BvbnNlEhoKCGFjY2VwdGVkGAEgASgIUghhY2NlcHRlZBIXCgdub2RlX2' + 'lkGAIgASgJUgZub2RlSWQSFAoFYWxpYXMYAyABKAlSBWFsaWFzEhYKBnJlYXNvbhgEIAEoCVIG' + 'cmVhc29uEi4KBmNvbmZpZxgFIAEoCzIWLmlvcC5Ob2RlQ29uZmlnUGF5bG9hZFIGY29uZmln'); + +@$core.Deprecated('Use nodeConfigPayloadDescriptor instead') +const NodeConfigPayload$json = { + '1': 'NodeConfigPayload', + '2': [ + {'1': 'adapters', '3': 1, '4': 3, '5': 11, '6': '.iop.AdapterConfig', '10': 'adapters'}, + {'1': 'runtime', '3': 2, '4': 1, '5': 11, '6': '.iop.NodeRuntimeConfig', '10': 'runtime'}, + ], +}; + +/// Descriptor for `NodeConfigPayload`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List nodeConfigPayloadDescriptor = $convert.base64Decode( + 'ChFOb2RlQ29uZmlnUGF5bG9hZBIuCghhZGFwdGVycxgBIAMoCzISLmlvcC5BZGFwdGVyQ29uZm' + 'lnUghhZGFwdGVycxIwCgdydW50aW1lGAIgASgLMhYuaW9wLk5vZGVSdW50aW1lQ29uZmlnUgdy' + 'dW50aW1l'); + +@$core.Deprecated('Use adapterConfigDescriptor instead') +const AdapterConfig$json = { + '1': 'AdapterConfig', + '2': [ + {'1': 'type', '3': 1, '4': 1, '5': 9, '10': 'type'}, + {'1': 'enabled', '3': 2, '4': 1, '5': 8, '10': 'enabled'}, + {'1': 'settings', '3': 3, '4': 1, '5': 11, '6': '.google.protobuf.Struct', '10': 'settings'}, + {'1': 'cli', '3': 4, '4': 1, '5': 11, '6': '.iop.CLIAdapterConfig', '9': 0, '10': 'cli'}, + {'1': 'ollama', '3': 5, '4': 1, '5': 11, '6': '.iop.OllamaAdapterConfig', '9': 0, '10': 'ollama'}, + {'1': 'vllm', '3': 6, '4': 1, '5': 11, '6': '.iop.VllmAdapterConfig', '9': 0, '10': 'vllm'}, + ], + '8': [ + {'1': 'config'}, + ], +}; + +/// Descriptor for `AdapterConfig`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List adapterConfigDescriptor = $convert.base64Decode( + 'Cg1BZGFwdGVyQ29uZmlnEhIKBHR5cGUYASABKAlSBHR5cGUSGAoHZW5hYmxlZBgCIAEoCFIHZW' + '5hYmxlZBIzCghzZXR0aW5ncxgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RSCHNldHRp' + 'bmdzEikKA2NsaRgEIAEoCzIVLmlvcC5DTElBZGFwdGVyQ29uZmlnSABSA2NsaRIyCgZvbGxhbW' + 'EYBSABKAsyGC5pb3AuT2xsYW1hQWRhcHRlckNvbmZpZ0gAUgZvbGxhbWESLAoEdmxsbRgGIAEo' + 'CzIWLmlvcC5WbGxtQWRhcHRlckNvbmZpZ0gAUgR2bGxtQggKBmNvbmZpZw=='); + +@$core.Deprecated('Use cLIAdapterConfigDescriptor instead') +const CLIAdapterConfig$json = { + '1': 'CLIAdapterConfig', + '2': [ + {'1': 'profiles', '3': 1, '4': 3, '5': 11, '6': '.iop.CLIAdapterConfig.ProfilesEntry', '10': 'profiles'}, + ], + '3': [CLIAdapterConfig_ProfilesEntry$json], +}; + +@$core.Deprecated('Use cLIAdapterConfigDescriptor instead') +const CLIAdapterConfig_ProfilesEntry$json = { + '1': 'ProfilesEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 11, '6': '.iop.CLIProfileConfig', '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `CLIAdapterConfig`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List cLIAdapterConfigDescriptor = $convert.base64Decode( + 'ChBDTElBZGFwdGVyQ29uZmlnEj8KCHByb2ZpbGVzGAEgAygLMiMuaW9wLkNMSUFkYXB0ZXJDb2' + '5maWcuUHJvZmlsZXNFbnRyeVIIcHJvZmlsZXMaUgoNUHJvZmlsZXNFbnRyeRIQCgNrZXkYASAB' + 'KAlSA2tleRIrCgV2YWx1ZRgCIAEoCzIVLmlvcC5DTElQcm9maWxlQ29uZmlnUgV2YWx1ZToCOA' + 'E='); + +@$core.Deprecated('Use cLIProfileConfigDescriptor instead') +const CLIProfileConfig$json = { + '1': 'CLIProfileConfig', + '2': [ + {'1': 'command', '3': 1, '4': 1, '5': 9, '10': 'command'}, + {'1': 'args', '3': 2, '4': 3, '5': 9, '10': 'args'}, + {'1': 'env', '3': 3, '4': 3, '5': 9, '10': 'env'}, + {'1': 'persistent', '3': 4, '4': 1, '5': 8, '10': 'persistent'}, + {'1': 'terminal', '3': 5, '4': 1, '5': 8, '10': 'terminal'}, + {'1': 'response_idle_timeout_ms', '3': 6, '4': 1, '5': 5, '10': 'responseIdleTimeoutMs'}, + {'1': 'startup_idle_timeout_ms', '3': 7, '4': 1, '5': 5, '10': 'startupIdleTimeoutMs'}, + {'1': 'output_format', '3': 8, '4': 1, '5': 9, '10': 'outputFormat'}, + {'1': 'completion_marker', '3': 9, '4': 1, '5': 11, '6': '.iop.CLICompletionMarker', '10': 'completionMarker'}, + {'1': 'mode', '3': 10, '4': 1, '5': 9, '10': 'mode'}, + {'1': 'resume_args', '3': 11, '4': 3, '5': 9, '10': 'resumeArgs'}, + ], +}; + +/// Descriptor for `CLIProfileConfig`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List cLIProfileConfigDescriptor = $convert.base64Decode( + 'ChBDTElQcm9maWxlQ29uZmlnEhgKB2NvbW1hbmQYASABKAlSB2NvbW1hbmQSEgoEYXJncxgCIA' + 'MoCVIEYXJncxIQCgNlbnYYAyADKAlSA2VudhIeCgpwZXJzaXN0ZW50GAQgASgIUgpwZXJzaXN0' + 'ZW50EhoKCHRlcm1pbmFsGAUgASgIUgh0ZXJtaW5hbBI3ChhyZXNwb25zZV9pZGxlX3RpbWVvdX' + 'RfbXMYBiABKAVSFXJlc3BvbnNlSWRsZVRpbWVvdXRNcxI1ChdzdGFydHVwX2lkbGVfdGltZW91' + 'dF9tcxgHIAEoBVIUc3RhcnR1cElkbGVUaW1lb3V0TXMSIwoNb3V0cHV0X2Zvcm1hdBgIIAEoCV' + 'IMb3V0cHV0Rm9ybWF0EkUKEWNvbXBsZXRpb25fbWFya2VyGAkgASgLMhguaW9wLkNMSUNvbXBs' + 'ZXRpb25NYXJrZXJSEGNvbXBsZXRpb25NYXJrZXISEgoEbW9kZRgKIAEoCVIEbW9kZRIfCgtyZX' + 'N1bWVfYXJncxgLIAMoCVIKcmVzdW1lQXJncw=='); + +@$core.Deprecated('Use cLICompletionMarkerDescriptor instead') +const CLICompletionMarker$json = { + '1': 'CLICompletionMarker', + '2': [ + {'1': 'line', '3': 1, '4': 1, '5': 9, '10': 'line'}, + {'1': 'regex', '3': 2, '4': 1, '5': 9, '10': 'regex'}, + ], +}; + +/// Descriptor for `CLICompletionMarker`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List cLICompletionMarkerDescriptor = $convert.base64Decode( + 'ChNDTElDb21wbGV0aW9uTWFya2VyEhIKBGxpbmUYASABKAlSBGxpbmUSFAoFcmVnZXgYAiABKA' + 'lSBXJlZ2V4'); + +@$core.Deprecated('Use ollamaAdapterConfigDescriptor instead') +const OllamaAdapterConfig$json = { + '1': 'OllamaAdapterConfig', + '2': [ + {'1': 'base_url', '3': 1, '4': 1, '5': 9, '10': 'baseUrl'}, + {'1': 'context_size', '3': 2, '4': 1, '5': 5, '10': 'contextSize'}, + ], +}; + +/// Descriptor for `OllamaAdapterConfig`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List ollamaAdapterConfigDescriptor = $convert.base64Decode( + 'ChNPbGxhbWFBZGFwdGVyQ29uZmlnEhkKCGJhc2VfdXJsGAEgASgJUgdiYXNlVXJsEiEKDGNvbn' + 'RleHRfc2l6ZRgCIAEoBVILY29udGV4dFNpemU='); + +@$core.Deprecated('Use vllmAdapterConfigDescriptor instead') +const VllmAdapterConfig$json = { + '1': 'VllmAdapterConfig', + '2': [ + {'1': 'endpoint', '3': 1, '4': 1, '5': 9, '10': 'endpoint'}, + ], +}; + +/// Descriptor for `VllmAdapterConfig`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List vllmAdapterConfigDescriptor = $convert.base64Decode( + 'ChFWbGxtQWRhcHRlckNvbmZpZxIaCghlbmRwb2ludBgBIAEoCVIIZW5kcG9pbnQ='); + +@$core.Deprecated('Use nodeRuntimeConfigDescriptor instead') +const NodeRuntimeConfig$json = { + '1': 'NodeRuntimeConfig', + '2': [ + {'1': 'concurrency', '3': 1, '4': 1, '5': 5, '10': 'concurrency'}, + {'1': 'workspace_root', '3': 2, '4': 1, '5': 9, '10': 'workspaceRoot'}, + ], +}; + +/// Descriptor for `NodeRuntimeConfig`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List nodeRuntimeConfigDescriptor = $convert.base64Decode( + 'ChFOb2RlUnVudGltZUNvbmZpZxIgCgtjb25jdXJyZW5jeRgBIAEoBVILY29uY3VycmVuY3kSJQ' + 'oOd29ya3NwYWNlX3Jvb3QYAiABKAlSDXdvcmtzcGFjZVJvb3Q='); + diff --git a/test/support/iop/runtime.pbserver.dart b/test/support/iop/runtime.pbserver.dart new file mode 100644 index 0000000..a8fe277 --- /dev/null +++ b/test/support/iop/runtime.pbserver.dart @@ -0,0 +1,14 @@ +// +// Generated code. Do not modify. +// source: iop/runtime.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names +// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +export 'runtime.pb.dart'; +