diff --git a/.claude/rules/go-layout.md b/.claude/rules/go-layout.md index bb562f9..f31d3c0 100644 --- a/.claude/rules/go-layout.md +++ b/.claude/rules/go-layout.md @@ -16,7 +16,7 @@ cmd/ thin entrypoints only — flag/env parsing, wiring, then internal/ all real logic. Never imported outside this module. / one package per bounded concern (see "Interfaces" below) api/ .proto sources — buf's module root (see buf.yaml). - pluggableharness/agent//v1/*.proto one directory per category per protocol version + pluggableharness//v1/*.proto one directory per category per protocol version pkg/ first-class, third-party-consumable Go integration — the only thing a plugin author needs to import. / pkg/model/, pkg/tool/, pkg/context/, pkg/memory/, diff --git a/.claude/rules/proto.md b/.claude/rules/proto.md index 7fafcf4..a87a175 100644 --- a/.claude/rules/proto.md +++ b/.claude/rules/proto.md @@ -12,9 +12,9 @@ is derived and never hand-edited (see `plugin-runtime.md`). ## Syntax and packaging - `syntax = "proto3";` always. -- Package per category, per version: `package pluggableharness.agent..v1;` — `pluggableharness.agent.model.v1`, `pluggableharness.agent.tool.v1`, `pluggableharness.agent.memory.v1`, `pluggableharness.agent.context.v1`, `pluggableharness.agent.frontend.v1`, `pluggableharness.agent.widget.v1`, `pluggableharness.agent.kernel.v1` (the kernel-callback service). File path mirrors the package under buf's module root (`buf.yaml`'s `api` module): `api/pluggableharness/agent//v1/.proto`. +- Package per category, per version: `package pluggableharness..v1;` — `pluggableharness.model.v1`, `pluggableharness.tool.v1`, `pluggableharness.memory.v1`, `pluggableharness.context.v1`, `pluggableharness.frontend.v1`, `pluggableharness.widget.v1`, `pluggableharness.kernel.v1` (the kernel-callback service). File path mirrors the package under buf's module root (`buf.yaml`'s `api` module): `api/pluggableharness//v1/.proto`. - `option go_package = "github.com/pluggableharness/agent/pkg//proto/v1;v1";` on every file — explicit, never inferred, **always** the full module-qualified path (`github.com/pluggableharness/agent/...`). This *is* required, not optional: `protoc-gen-go` embeds `go_package`'s path verbatim into every cross-file Go `import` statement it generates, so any package imported by another proto (which is every shared package in this repo) needs the real importable path or the generated code fails to compile. Getting this backwards — omitting the module prefix on the theory that `out: .` already means repo-root — was an actual bug caught during Wave B integration: it compiled fine for a standalone, never-imported file, then broke the moment a second file imported it, producing `import "pkg/config/proto/v1"` instead of `import "github.com/pluggableharness/agent/pkg/config/proto/v1"`. -- `buf.gen.yaml`'s Go plugins run with `out: .` **and** `opt: module=github.com/pluggableharness/agent`. This `module` option is what reconciles the full-path `go_package` above with landing output at the intended repo-root-relative `pkg//proto/v1/` instead of a redundant nested `./github.com/pluggableharness/agent/pkg/.../` — it tells `protoc-gen-go` to keep the full path for generated import statements but strip that same prefix when computing where to *write* the file relative to `out`. This is why `api/`'s tree (which mirrors the full dotted package name, `api/pluggableharness/agent/...`) and `pkg/`'s tree (which doesn't) intentionally look different — see `go-layout.md`. Do not drop the `module` opt from `buf.gen.yaml` to "simplify" it — that's the line that makes the split possible. +- `buf.gen.yaml`'s Go plugins run with `out: .` **and** `opt: module=github.com/pluggableharness/agent`. This `module` option is what reconciles the full-path `go_package` above with landing output at the intended repo-root-relative `pkg//proto/v1/` instead of a redundant nested `./github.com/pluggableharness/agent/pkg/.../` — it tells `protoc-gen-go` to keep the full path for generated import statements but strip that same prefix when computing where to *write* the file relative to `out`. This is why `api/`'s tree (which mirrors the full dotted package name, `api/pluggableharness/...`) and `pkg/`'s tree (which doesn't) intentionally look different — see `go-layout.md`. Do not drop the `module` opt from `buf.gen.yaml` to "simplify" it — that's the line that makes the split possible. ## Strong typing — no ambiguous types @@ -69,6 +69,6 @@ strongly typed as the Go code that implements it. work: an old session must always be decodable by a client built against a newer proto, because the field numbers and types of a released message never change. -- A breaking change is shipped as a new package version (`pluggableharness.agent.model.v2`), never as an edit to `v1`. It lands at `api/pluggableharness/agent/model/v2/` and generates into `pkg/model/proto/v2/`, alongside — never replacing — `v1`. The old `v1` service stays defined and generated as long as any retained session was produced by a `v1` plugin. +- A breaking change is shipped as a new package version (`pluggableharness.model.v2`), never as an edit to `v1`. It lands at `api/pluggableharness/model/v2/` and generates into `pkg/model/proto/v2/`, alongside — never replacing — `v1`. The old `v1` service stays defined and generated as long as any retained session was produced by a `v1` plugin. - Field numbers are never reused, even for removed fields — `reserved N;` and `reserved "field_name";` on removal. diff --git a/.github/instructions/proto.instructions.md b/.github/instructions/proto.instructions.md index 297fb97..dbacf88 100644 --- a/.github/instructions/proto.instructions.md +++ b/.github/instructions/proto.instructions.md @@ -6,7 +6,7 @@ applyTo: "**/*.proto" The full rules live in `.claude/rules/proto.md` and `plugin-runtime.md`. -- `proto3` syntax; package `pluggableharness.agent..v1`; `go_package` is fully module-qualified and matched by a `module=` opt in `buf.gen.yaml`. +- `proto3` syntax; package `pluggableharness..v1`; `go_package` is fully module-qualified and matched by a `module=` opt in `buf.gen.yaml`. - Strong typing throughout: every enum has a `_UNSPECIFIED = 0` value; no `google.protobuf.Any` and no loose string maps — the opaque frontend render payload is the one deliberate carve-out; bounded domains are enums, identifiers are typed messages. - Every message, field, rpc, and enum carries a doc comment. - `buf lint` and `buf breaking` must pass. Wire-breaking changes never mutate `v1` in place — they ship as a new `vN` package, and removed field numbers are `reserved`. diff --git a/api/pluggableharness/agent/common/v1/common.proto b/api/pluggableharness/common/v1/common.proto similarity index 98% rename from api/pluggableharness/agent/common/v1/common.proto rename to api/pluggableharness/common/v1/common.proto index f664b98..166c424 100644 --- a/api/pluggableharness/agent/common/v1/common.proto +++ b/api/pluggableharness/common/v1/common.proto @@ -1,13 +1,13 @@ syntax = "proto3"; -// Package pluggableharness.agent.common.v1 defines cross-cutting metadata and identity +// Package pluggableharness.common.v1 defines cross-cutting metadata and identity // types shared by every plugin category's protocol. It has no RPCs of its // own — it exists purely to be imported. See .claude/rules/proto.md for the // versioning and typing rules this file follows; a breaking change here is // a breaking change for every category proto that imports it, so this file // is held to the same "no breaking changes to a released version" rule as // everything else, with a wider blast radius. -package pluggableharness.agent.common.v1; +package pluggableharness.common.v1; option go_package = "github.com/pluggableharness/agent/pkg/common/proto/v1;commonv1"; diff --git a/api/pluggableharness/agent/config/v1/config.proto b/api/pluggableharness/config/v1/config.proto similarity index 97% rename from api/pluggableharness/agent/config/v1/config.proto rename to api/pluggableharness/config/v1/config.proto index a268863..8e6ba91 100644 --- a/api/pluggableharness/agent/config/v1/config.proto +++ b/api/pluggableharness/config/v1/config.proto @@ -1,12 +1,12 @@ syntax = "proto3"; -// Package pluggableharness.agent.config.v1 defines the on-the-wire config-schema +// Package pluggableharness.config.v1 defines the on-the-wire config-schema // advertisement described in specifications/configuration.md §4. This is // what a provider returns alongside its capabilities so the kernel knows // what agent.hcl fields it accepts; the schema-to-cty bridge itself (HCL // decoding, hcldec, cty.Value) is kernel-internal and never crosses the // wire — Configure receives already-decoded JSON, not HCL or cty. -package pluggableharness.agent.config.v1; +package pluggableharness.config.v1; option go_package = "github.com/pluggableharness/agent/pkg/config/proto/v1;configv1"; diff --git a/api/pluggableharness/agent/content/v1/content.proto b/api/pluggableharness/content/v1/content.proto similarity index 97% rename from api/pluggableharness/agent/content/v1/content.proto rename to api/pluggableharness/content/v1/content.proto index 14f20fd..172a225 100644 --- a/api/pluggableharness/agent/content/v1/content.proto +++ b/api/pluggableharness/content/v1/content.proto @@ -1,6 +1,6 @@ syntax = "proto3"; -// Package pluggableharness.agent.content.v1 defines the canonical content-block message +// Package pluggableharness.content.v1 defines the canonical content-block message // schema described in specifications/model.md §5 — the state backend's // source of truth for conversation history (state-backend.md §5's `message` // event kind). Every model-provider adapter translates its own vendor @@ -17,7 +17,7 @@ syntax = "proto3"; // shape (a labeled, stability-tagged list of ContentBlocks) that a second // consumer besides the context protocol needs to reference without // depending on the whole context.v1 package. -package pluggableharness.agent.content.v1; +package pluggableharness.content.v1; import "google/protobuf/struct.proto"; @@ -118,7 +118,7 @@ message ToolUseBlock { string name = 2; // The call's arguments, already parsed — conforms to the tool's - // input_schema (pluggableharness.agent.schema.v1.Schema). A Struct because the shape is + // input_schema (pluggableharness.schema.v1.Schema). A Struct because the shape is // genuinely runtime-defined per tool, not fixed at the proto level (see // .claude/rules/proto.md's Struct carve-out). google.protobuf.Struct arguments = 3; @@ -202,7 +202,7 @@ message DocumentBlock { // Stability hints whether a ContextSection's content changes turn to turn, // used both as a context provider's ContextCapabilities-level declaration -// (pluggableharness.agent.context.v1.ContextCapabilities.stability) and +// (pluggableharness.context.v1.ContextCapabilities.stability) and // per ContextSection below. context.md §7: this is a direct translation of // the research's strongest cross-cutting finding — harnesses converge on a // tools -> system -> static-project-context -> conversation-tail prefix diff --git a/api/pluggableharness/agent/context/v1/context.proto b/api/pluggableharness/context/v1/context.proto similarity index 90% rename from api/pluggableharness/agent/context/v1/context.proto rename to api/pluggableharness/context/v1/context.proto index 37126fd..93ad01d 100644 --- a/api/pluggableharness/agent/context/v1/context.proto +++ b/api/pluggableharness/context/v1/context.proto @@ -1,6 +1,6 @@ syntax = "proto3"; -// Package pluggableharness.agent.context.v1 defines the context provider plugin protocol +// Package pluggableharness.context.v1 defines the context provider plugin protocol // described in specifications/context.md — plugins that hook // context-assemble and contribute content to the prompt before each model // call (e.g. a CLAUDE.md reader, an AGENTS.md reader, a git-status/file-tree @@ -8,19 +8,19 @@ syntax = "proto3"; // // ContextSection and Stability — the section chain this protocol assembles // and the turn-to-turn-change hint each section carries — are defined in -// pluggableharness.agent.content.v1, not here: that chain is consumed by +// pluggableharness.content.v1, not here: that chain is consumed by // both this protocol and the model provider's completion request // (forthcoming), so it's homed alongside content.v1's other shared content // shapes rather than duplicated or owned by only one consumer. -package pluggableharness.agent.context.v1; +package pluggableharness.context.v1; import "google/protobuf/struct.proto"; -import "pluggableharness/agent/common/v1/common.proto"; -import "pluggableharness/agent/config/v1/config.proto"; -import "pluggableharness/agent/content/v1/content.proto"; -import "pluggableharness/agent/model/v1/model.proto"; -import "pluggableharness/agent/render/v1/render.proto"; -import "pluggableharness/agent/slashcommand/v1/slashcommand.proto"; +import "pluggableharness/common/v1/common.proto"; +import "pluggableharness/config/v1/config.proto"; +import "pluggableharness/content/v1/content.proto"; +import "pluggableharness/model/v1/model.proto"; +import "pluggableharness/render/v1/render.proto"; +import "pluggableharness/slashcommand/v1/slashcommand.proto"; option go_package = "github.com/pluggableharness/agent/pkg/context/proto/v1;contextv1"; @@ -110,7 +110,7 @@ message ContextCapabilities { // Whether this provider's contributed content changes turn to turn. MUST // be set. context.md §2, §7. - pluggableharness.agent.content.v1.Stability stability = 2; + pluggableharness.content.v1.Stability stability = 2; // Whether this provider acts as a compactor: MAY rewrite, merge, or drop // other providers' sections in the chain it receives, and MAY receive @@ -120,11 +120,11 @@ message ContextCapabilities { // Slash commands this provider contributes. MAY be empty. // context.md §2, configuration.md §5. - repeated pluggableharness.agent.slashcommand.v1.SlashCommandSpec slash_commands = 4; + repeated pluggableharness.slashcommand.v1.SlashCommandSpec slash_commands = 4; // This provider's agent.hcl config schema, advertised so the kernel knows // what fields Configure accepts. configuration.md §4. - pluggableharness.agent.config.v1.ConfigSchema config_schema = 5; + pluggableharness.config.v1.ConfigSchema config_schema = 5; // Which hook points (agent-loop/hook-dispatch.md) this provider declares // HookSubscriberService.DispatchHook subscriptions for, advertised @@ -134,7 +134,7 @@ message ContextCapabilities { // hook.v1 — hook.v1 imports this package's model/tool/plan dependencies, // so a category capability message importing hook.v1 directly would // cycle back through it; common.v1 is the shared leaf package instead. - repeated pluggableharness.agent.common.v1.HookPoint supported_hook_points = 6; + repeated pluggableharness.common.v1.HookPoint supported_hook_points = 6; } // ConfigureResponse is empty on success. A Configure failure (e.g. a @@ -167,7 +167,7 @@ message ContextRequest { // The model this contribution is being assembled for, so the provider can // tailor content (and compute tokens against the right budget) for the // model that will actually consume it. MUST be set. context.md §4. - pluggableharness.agent.model.v1.ModelTarget model_target = 5; + pluggableharness.model.v1.ModelTarget model_target = 5; // Paths touched so far this session, enabling JIT-scoped contributions // (e.g. a subdirectory-scoped convention-file reader). MAY be empty, e.g. @@ -180,14 +180,14 @@ message ContextRequest { // The accumulated output of earlier providers in this hook's // declaration-order chain. MUST be set (MAY be empty on the first // provider in the chain). context.md §4, §5. - repeated pluggableharness.agent.content.v1.ContextSection prior_sections = 8; + repeated pluggableharness.content.v1.ContextSection prior_sections = 8; // The session's conversation history. Populated ONLY for a provider whose // ContextCapabilities.compactor == true; a non-compactor provider MUST // NOT receive this — for those providers this field arrives empty, which // is indistinguishable from (and semantically equivalent to) "not // provided". context.md §5.1. - repeated pluggableharness.agent.content.v1.Message conversation_history = 9; + repeated pluggableharness.content.v1.Message conversation_history = 9; // The current conversation-history token total, kernel-computed. One of // the two signals a compactor provider needs to decide WHEN to compact @@ -207,7 +207,7 @@ message ContextRequest { message ContextContribution { // The full accumulated chain, in declaration order, including this // provider's own new or updated section(s). - repeated pluggableharness.agent.content.v1.ContextSection sections = 1; + repeated pluggableharness.content.v1.ContextSection sections = 1; // The session's conversation history, rewritten to replace what was sent // in ContextRequest.conversation_history. MAY be included by a compactor @@ -215,7 +215,7 @@ message ContextContribution { // contribution. When present, the kernel MUST replace the turn's // conversation history with this before the next model call. context.md // §5.1. - repeated pluggableharness.agent.content.v1.Message rewritten_history = 2; + repeated pluggableharness.content.v1.Message rewritten_history = 2; } // ContextErrorCategory classifies a context provider's failures. @@ -282,7 +282,7 @@ message RenderRequest { message RenderResponse { // The rendered tree, per the general Emit->Render->Paint pipeline // (frontend.md §1). context.md §9. - pluggableharness.agent.render.v1.RenderTree tree = 1; + pluggableharness.render.v1.RenderTree tree = 1; } // DescribeRequest carries no fields — Describe takes no request-scoped @@ -294,5 +294,5 @@ message DescribeRequest {} message DescribeResponse { // This plugin build's identity: name, version, source, category, // protocol_version. - pluggableharness.agent.common.v1.ProducerRef producer = 1; + pluggableharness.common.v1.ProducerRef producer = 1; } diff --git a/api/pluggableharness/agent/event/v1/event.proto b/api/pluggableharness/event/v1/event.proto similarity index 87% rename from api/pluggableharness/agent/event/v1/event.proto rename to api/pluggableharness/event/v1/event.proto index b14c54c..f227b29 100644 --- a/api/pluggableharness/agent/event/v1/event.proto +++ b/api/pluggableharness/event/v1/event.proto @@ -1,7 +1,7 @@ syntax = "proto3"; -// Package pluggableharness.agent.event.v1 defines the decoded payload shape -// for every pluggableharness.agent.kernel.v1.EventKind — the concrete +// Package pluggableharness.event.v1 defines the decoded payload shape +// for every pluggableharness.kernel.v1.EventKind — the concrete // message that a kernel.v1.EmitRequest.payload / the state backend's // events.payload column (state-backend.md §The kind enum) actually // contains, once schema_version identifies it. This package defines no @@ -51,14 +51,14 @@ syntax = "proto3"; // structured payload); nothing imports event.v1. That makes this package // a safe leaf for every payload-referencing category to sit behind without // risking an import cycle back into any of them. -package pluggableharness.agent.event.v1; +package pluggableharness.event.v1; -import "pluggableharness/agent/common/v1/common.proto"; -import "pluggableharness/agent/content/v1/content.proto"; -import "pluggableharness/agent/hook/v1/hook.proto"; -import "pluggableharness/agent/model/v1/model.proto"; -import "pluggableharness/agent/plan/v1/plan.proto"; -import "pluggableharness/agent/tool/v1/tool.proto"; +import "pluggableharness/common/v1/common.proto"; +import "pluggableharness/content/v1/content.proto"; +import "pluggableharness/hook/v1/hook.proto"; +import "pluggableharness/model/v1/model.proto"; +import "pluggableharness/plan/v1/plan.proto"; +import "pluggableharness/tool/v1/tool.proto"; option go_package = "github.com/pluggableharness/agent/pkg/event/proto/v1;eventv1"; @@ -72,7 +72,7 @@ message MessageEvent { // produced_by_model_id/produced_by_provider plain-string attribution // (content.v1.Message) — those fields identify *which model/provider // name* produced it, distinct from `model` below. - pluggableharness.agent.content.v1.Message message = 1; + pluggableharness.content.v1.Message message = 1; // The exact plugin build (name, version, source, protocol_version) that // produced `message`, for supersedes/replay attribution @@ -81,10 +81,10 @@ message MessageEvent { // string produced_by_model_id/produced_by_provider fields — those two // exist on Message for lightweight display use without decoding an // event payload; `model` here is what replay actually dispatches on. - pluggableharness.agent.common.v1.ProducerRef model = 2; + pluggableharness.common.v1.ProducerRef model = 2; // Token usage for the completion that produced `message`. MUST be set. - pluggableharness.agent.model.v1.Usage usage = 3; + pluggableharness.model.v1.Usage usage = 3; // The kernel-computed cost, in USD, of the completion that produced // `message` (model/protocol.md#cost-computation — the provider never @@ -96,7 +96,7 @@ message MessageEvent { // ToolCallEvent is the payload for EVENT_KIND_TOOL_CALL. message ToolCallEvent { // The call being made. MUST be set. - pluggableharness.agent.tool.v1.ToolCall call = 1; + pluggableharness.tool.v1.ToolCall call = 1; } // ToolResultEvent is the payload for EVENT_KIND_TOOL_RESULT. @@ -107,9 +107,9 @@ message ToolResultEvent { // Exactly one variant MUST be set. oneof outcome { // The call's successful result. - pluggableharness.agent.tool.v1.ToolResult result = 2; + pluggableharness.tool.v1.ToolResult result = 2; // The call's failed result. - pluggableharness.agent.tool.v1.ToolError error = 3; + pluggableharness.tool.v1.ToolError error = 3; } } @@ -118,7 +118,7 @@ message ToolResultEvent { // table at write time (state-backend.md §plan_items). message PlanEvent { // The built plan. MUST be set. - pluggableharness.agent.plan.v1.Plan plan = 1; + pluggableharness.plan.v1.Plan plan = 1; } // ApplyEvent is the payload for EVENT_KIND_APPLY — a turn's complete set of @@ -131,7 +131,7 @@ message ApplyEvent { // same message rather than two independently-evolving shapes for the // same data (plan.proto's own ApplyResult comment documents this // sharing rationale). - pluggableharness.agent.plan.v1.ApplyResult result = 1; + pluggableharness.plan.v1.ApplyResult result = 1; } // ContextContributionEvent is the payload for EVENT_KIND_CONTEXT_CONTRIBUTION @@ -143,7 +143,7 @@ message ApplyEvent { message ContextContributionEvent { // The contributed content blocks, in emission order. Text-only in v1, // matching context and memory's existing content-type constraint. - repeated pluggableharness.agent.content.v1.ContentBlock content = 1; + repeated pluggableharness.content.v1.ContentBlock content = 1; // The token count of `content`, resolved via the kernel's CountTokens // primitive (kernel-callbacks.md#counttokens), never a provider-local @@ -154,7 +154,7 @@ message ContextContributionEvent { // (model.v1.ModelTarget's context_window/effective_ceiling), when the // contributing provider had one available. Absent when no target was // known at contribution time. - optional pluggableharness.agent.model.v1.ModelTarget target = 3; + optional pluggableharness.model.v1.ModelTarget target = 3; } // MemoryMutationEvent is the shared payload for EVENT_KIND_MEMORY_WRITE, @@ -170,7 +170,7 @@ message MemoryMutationEvent { // The record's content blocks, in emission order. MUST be set for // EVENT_KIND_MEMORY_WRITE and EVENT_KIND_MEMORY_UPDATE; absent for // EVENT_KIND_MEMORY_DELETE, which has no content left to describe. - repeated pluggableharness.agent.content.v1.ContentBlock content = 2; + repeated pluggableharness.content.v1.ContentBlock content = 2; // Open-ended key/value metadata about the mutation (e.g. tags, source), // a genuine unstructured-by-design case, not a structured-payload dodge @@ -187,5 +187,5 @@ message MemoryMutationEvent { // payload introduces no cycle. message HookErrorEvent { // The structured detail of the failed hook dispatch. MUST be set. - pluggableharness.agent.hook.v1.HookError error = 1; + pluggableharness.hook.v1.HookError error = 1; } diff --git a/api/pluggableharness/agent/frontend/v1/frontend.proto b/api/pluggableharness/frontend/v1/frontend.proto similarity index 93% rename from api/pluggableharness/agent/frontend/v1/frontend.proto rename to api/pluggableharness/frontend/v1/frontend.proto index 53619fd..b9505ff 100644 --- a/api/pluggableharness/agent/frontend/v1/frontend.proto +++ b/api/pluggableharness/frontend/v1/frontend.proto @@ -1,19 +1,19 @@ syntax = "proto3"; -// Package pluggableharness.agent.frontend.v1 defines the frontend provider plugin protocol +// Package pluggableharness.frontend.v1 defines the frontend provider plugin protocol // described in specifications/frontend.md §3 (Attach, ServerEvent, // ClientEvent, ...). -package pluggableharness.agent.frontend.v1; +package pluggableharness.frontend.v1; import "google/protobuf/struct.proto"; -import "pluggableharness/agent/common/v1/common.proto"; -import "pluggableharness/agent/config/v1/config.proto"; -import "pluggableharness/agent/content/v1/content.proto"; -import "pluggableharness/agent/model/v1/model.proto"; -import "pluggableharness/agent/plan/v1/plan.proto"; -import "pluggableharness/agent/render/v1/render.proto"; -import "pluggableharness/agent/session/v1/session.proto"; -import "pluggableharness/agent/slashcommand/v1/slashcommand.proto"; +import "pluggableharness/common/v1/common.proto"; +import "pluggableharness/config/v1/config.proto"; +import "pluggableharness/content/v1/content.proto"; +import "pluggableharness/model/v1/model.proto"; +import "pluggableharness/plan/v1/plan.proto"; +import "pluggableharness/render/v1/render.proto"; +import "pluggableharness/session/v1/session.proto"; +import "pluggableharness/slashcommand/v1/slashcommand.proto"; option go_package = "github.com/pluggableharness/agent/pkg/frontend/proto/v1;frontendv1"; @@ -82,7 +82,7 @@ message DescribeRequest {} // configuration/lock-file.md's "dev_overrides and identity without a lock // entry". message DescribeResponse { - pluggableharness.agent.common.v1.ProducerRef producer = 1; + pluggableharness.common.v1.ProducerRef producer = 1; } // GetCapabilitiesRequest carries no fields; capability discovery is not @@ -99,20 +99,20 @@ message GetCapabilitiesResponse { // by GetCapabilities (frontend.md §3.1). message FrontendCapabilities { // Slash commands this frontend contributes. MAY be empty. - repeated pluggableharness.agent.slashcommand.v1.SlashCommandSpec slash_commands = 1; + repeated pluggableharness.slashcommand.v1.SlashCommandSpec slash_commands = 1; // This provider's `agent.hcl` configuration schema (configuration.md §4). - pluggableharness.agent.config.v1.ConfigSchema config_schema = 2; + pluggableharness.config.v1.ConfigSchema config_schema = 2; // Regions this frontend proactively declares it can render into. A // complement to, not a replacement for, the reactive // FRONTEND_ERROR_CATEGORY_REGION_UNSUPPORTED error a placement the // frontend can't honor still produces — this lets a producer route // content preferentially without waiting to find out the hard way. - repeated pluggableharness.agent.render.v1.Region supported_regions = 3; + repeated pluggableharness.render.v1.Region supported_regions = 3; // Hook points this frontend can subscribe to (agent-loop/hook-dispatch.md), // so a mis-declared agent.hcl hook{} block naming an unsupported point // can be rejected at config-load time rather than failing at first // dispatch. - repeated pluggableharness.agent.common.v1.HookPoint supported_hook_points = 4; + repeated pluggableharness.common.v1.HookPoint supported_hook_points = 4; } // ConfigureRequest carries this provider's `agent.hcl` configuration as a @@ -212,7 +212,7 @@ message ServerEvent { // Render carries one placed RenderTree to Paint. frontend.md §3.2. message Render { // The content, its target region, and its replace/append behavior. - pluggableharness.agent.render.v1.PlacedContent content = 1; + pluggableharness.render.v1.PlacedContent content = 1; } // PermissionRequest asks the user to resolve an agent-loop.md §5.2 `ask` @@ -220,14 +220,14 @@ message ServerEvent { // ClientEvent.plan_decision resolves it. message PermissionRequest { // The plan item awaiting a decision. - pluggableharness.agent.plan.v1.PlanItem plan_item = 1; + pluggableharness.plan.v1.PlanItem plan_item = 1; } // PlanReady announces a complete plan for display, e.g. before execution // begins or after a replan. message PlanReady { // The plan to display. - pluggableharness.agent.plan.v1.Plan plan = 1; + pluggableharness.plan.v1.Plan plan = 1; } // InteractiveRequest corresponds to a tool.md §2.1 @@ -241,7 +241,7 @@ message ServerEvent { // The tool being invoked (tool.md §2.1 ToolSchema.name). string tool_name = 2; // The prompt to render. - pluggableharness.agent.render.v1.RenderTree prompt = 3; + pluggableharness.render.v1.RenderTree prompt = 3; } // SessionTreeUpdate reports a change in a nested sub-session's lifecycle @@ -255,7 +255,7 @@ message ServerEvent { // The child session's id. string child_session_id = 2; // The child session's current status. - pluggableharness.agent.session.v1.SessionStatus status = 3; + pluggableharness.session.v1.SessionStatus status = 3; } // Error carries a structured, non-fatal frontend error for display. @@ -267,14 +267,14 @@ message ServerEvent { // SessionCreated acknowledges a successful ClientEvent.CreateSession. message SessionCreated { // The newly created session's info. - pluggableharness.agent.session.v1.SessionInfo info = 1; + pluggableharness.session.v1.SessionInfo info = 1; } // SessionAttached acknowledges a successful ClientEvent.AttachSession or // ResumeSession, and opens that session's backfill batch. message SessionAttached { // The attached session's current info. - pluggableharness.agent.session.v1.SessionInfo info = 1; + pluggableharness.session.v1.SessionInfo info = 1; } // BackfillComplete is the done-marker closing a backfill batch, per @@ -291,7 +291,7 @@ message ServerEvent { // SessionList answers a ClientEvent.ListSessions. message SessionList { // The matching sessions, most-recently-started first. - repeated pluggableharness.agent.session.v1.SessionInfo sessions = 1; + repeated pluggableharness.session.v1.SessionInfo sessions = 1; } // SlashCommandRegistry is the profile-scoped aggregate of every loaded @@ -300,14 +300,14 @@ message ServerEvent { message SlashCommandRegistry { // Every registered command, name-collision-checked at config-load // time (frontend.md §"Slash commands"). - repeated pluggableharness.agent.slashcommand.v1.SlashCommandSpec commands = 1; + repeated pluggableharness.slashcommand.v1.SlashCommandSpec commands = 1; } // UsageUpdate carries one turn's token/cost accounting and the // session's running totals, for a context-budget indicator or similar. message UsageUpdate { // This turn's token accounting. - pluggableharness.agent.model.v1.Usage turn = 1; + pluggableharness.model.v1.Usage turn = 1; // The session's running total spend in USD, mirroring // session.v1.SessionInfo.cost_usd. double cumulative_cost_usd = 2; @@ -325,7 +325,7 @@ message ServerEvent { // reports a CHILD session's status. message SessionStatusUpdate { // The session's new status. - pluggableharness.agent.session.v1.SessionStatus status = 1; + pluggableharness.session.v1.SessionStatus status = 1; } } @@ -426,7 +426,7 @@ message ClientEvent { reserved "text"; // The message content, in emission order. MUST contain at least one // block. - repeated pluggableharness.agent.content.v1.ContentBlock content = 2; + repeated pluggableharness.content.v1.ContentBlock content = 2; } // SlashCommand is a dispatched slash command invocation (frontend.md §5). @@ -557,7 +557,7 @@ message ClientEvent { string request_id = 1; // Restricts the result to sessions in this status. Absent means no // status filter. - optional pluggableharness.agent.session.v1.SessionStatus status = 2; + optional pluggableharness.session.v1.SessionStatus status = 2; // Restricts the result to children of this session. Absent means no // parent filter. optional string parent_session_id = 3; diff --git a/api/pluggableharness/agent/hook/v1/hook.proto b/api/pluggableharness/hook/v1/hook.proto similarity index 91% rename from api/pluggableharness/agent/hook/v1/hook.proto rename to api/pluggableharness/hook/v1/hook.proto index d5f74fa..7d4a6e8 100644 --- a/api/pluggableharness/agent/hook/v1/hook.proto +++ b/api/pluggableharness/hook/v1/hook.proto @@ -1,6 +1,6 @@ syntax = "proto3"; -// Package pluggableharness.agent.hook.v1 defines the hook-dispatch RPC surface +// Package pluggableharness.hook.v1 defines the hook-dispatch RPC surface // described in agent-loop/hook-dispatch.md and architecture.md §Hook // dispatch semantics: the wire contract the kernel uses to invoke any // plugin (of any of the six categories) that declares a `hook{}` block in @@ -17,14 +17,14 @@ syntax = "proto3"; // §Hook dispatch semantics), which already carries the full accumulated // ContextSection chain and doesn't need a second, competing dispatch path. // This surface serves the other eight hook points only. -package pluggableharness.agent.hook.v1; +package pluggableharness.hook.v1; -import "pluggableharness/agent/common/v1/common.proto"; -import "pluggableharness/agent/content/v1/content.proto"; -import "pluggableharness/agent/model/v1/model.proto"; -import "pluggableharness/agent/plan/v1/plan.proto"; -import "pluggableharness/agent/session/v1/session.proto"; -import "pluggableharness/agent/tool/v1/tool.proto"; +import "pluggableharness/common/v1/common.proto"; +import "pluggableharness/content/v1/content.proto"; +import "pluggableharness/model/v1/model.proto"; +import "pluggableharness/plan/v1/plan.proto"; +import "pluggableharness/session/v1/session.proto"; +import "pluggableharness/tool/v1/tool.proto"; option go_package = "github.com/pluggableharness/agent/pkg/hook/proto/v1;hookv1"; @@ -133,9 +133,9 @@ message SessionStartPayload { // already resolved. message PreModelCallPayload { // The messages about to be sent to the model. Transform-mutable. - repeated pluggableharness.agent.content.v1.Message messages = 1; + repeated pluggableharness.content.v1.Message messages = 1; // The model this call targets. Immutable. - pluggableharness.agent.model.v1.ModelRef model = 2; + pluggableharness.model.v1.ModelRef model = 2; } // PostModelResponsePayload fires immediately after a model turn's @@ -147,13 +147,13 @@ message PreModelCallPayload { // unchanged. message PostModelResponsePayload { // The assembled assistant message. MUST be set. - pluggableharness.agent.content.v1.Message message = 1; + pluggableharness.content.v1.Message message = 1; // Which model-provider build produced `message`, for supersedes/replay // attribution (architecture.md §Versioning & schema drift — // "supersedes"). MUST be set. - pluggableharness.agent.common.v1.ProducerRef model = 2; + pluggableharness.common.v1.ProducerRef model = 2; // Token usage for the completion that produced `message`. MUST be set. - pluggableharness.agent.model.v1.Usage usage = 3; + pluggableharness.model.v1.Usage usage = 3; // The kernel-computed cost, in USD, of the completion that produced // `message` (model/protocol.md#cost-computation — the provider never // computes cost itself). MUST be set. @@ -168,10 +168,10 @@ message PostModelResponsePayload { // capability. message PreToolCallPayload { // The call about to be applied. MUST be set. Immutable. - pluggableharness.agent.tool.v1.ToolCall call = 1; + pluggableharness.tool.v1.ToolCall call = 1; // The originating plan item, carrying the policy decision that allowed // this call through to apply. MUST be set. Immutable. - pluggableharness.agent.plan.v1.PlanItem plan_item = 2; + pluggableharness.plan.v1.PlanItem plan_item = 2; } // PlanReadyPayload fires once a turn's Plan has been fully built, before @@ -184,7 +184,7 @@ message PreToolCallPayload { message PlanReadyPayload { // The fully-built plan awaiting policy evaluation. MUST be set. // Immutable. - pluggableharness.agent.plan.v1.Plan plan = 1; + pluggableharness.plan.v1.Plan plan = 1; } // PostToolCallPayload fires immediately after a plan item's tool call @@ -192,18 +192,18 @@ message PlanReadyPayload { // documented transform-mutable. message PostToolCallPayload { // The call that completed. MUST be set. Immutable. - pluggableharness.agent.tool.v1.ToolCall call = 1; + pluggableharness.tool.v1.ToolCall call = 1; oneof outcome { // The call's successful terminal result. - pluggableharness.agent.tool.v1.ToolResult result = 2; + pluggableharness.tool.v1.ToolResult result = 2; // The call's failed terminal result. - pluggableharness.agent.tool.v1.ToolError error = 3; + pluggableharness.tool.v1.ToolError error = 3; } } // PostApplyPayload fires once a turn's whole Plan has finished applying — // every item has reached a terminal ApplyOutcome -// (pluggableharness.agent.plan.v1.ApplyResult.ApplyOutcome). Reuses +// (pluggableharness.plan.v1.ApplyResult.ApplyOutcome). Reuses // plan.v1.ApplyResult rather than defining its own per-item outcome shape, // so the post-apply hook's subject and the EVENT_KIND_APPLY event (the // forthcoming event.v1 package) are the exact same message. Observe-only — @@ -211,7 +211,7 @@ message PostToolCallPayload { // nothing left to transform. message PostApplyPayload { // The turn's per-item apply outcomes. MUST be set. - pluggableharness.agent.plan.v1.ApplyResult apply = 1; + pluggableharness.plan.v1.ApplyResult apply = 1; } // SessionEndPayload fires once, when a session reaches a terminal @@ -222,7 +222,7 @@ message SessionEndPayload { string session_id = 1; // The session's terminal status. MUST be set (never // SESSION_STATUS_RUNNING). Immutable. - pluggableharness.agent.session.v1.SessionStatus status = 2; + pluggableharness.session.v1.SessionStatus status = 2; } // DispatchHookRequest is one hook-point firing delivered to one @@ -286,7 +286,7 @@ message DispatchHookResponse { // HookDecision is a veto subscriber's coarse allow/deny verdict over a // whole HookPayload. Deliberately distinct from -// pluggableharness.agent.plan.v1.PlanDecision — that enum is per-plan-item +// pluggableharness.plan.v1.PlanDecision — that enum is per-plan-item // and carries PENDING/ASK, which are meaningless for a hook-level veto; // the two enums MUST NOT be merged, per .claude/rules/proto.md's // no-untyped-overload discipline (see also ToolErrorCategory vs @@ -351,9 +351,9 @@ enum HookErrorCategory { // message rather than redefining it. message HookError { // Which hook point the failing dispatch was for. MUST be set. - pluggableharness.agent.common.v1.HookPoint point = 1; + pluggableharness.common.v1.HookPoint point = 1; // Which plugin build the failing subscriber was. MUST be set. - pluggableharness.agent.common.v1.ProducerRef subscriber = 2; + pluggableharness.common.v1.ProducerRef subscriber = 2; // The HookMode the failing subscription was declared under. MUST be // set. HookMode mode = 3; diff --git a/api/pluggableharness/agent/kernel/v1/kernel.proto b/api/pluggableharness/kernel/v1/kernel.proto similarity index 93% rename from api/pluggableharness/agent/kernel/v1/kernel.proto rename to api/pluggableharness/kernel/v1/kernel.proto index 45b5265..ea64e80 100644 --- a/api/pluggableharness/agent/kernel/v1/kernel.proto +++ b/api/pluggableharness/kernel/v1/kernel.proto @@ -1,6 +1,6 @@ syntax = "proto3"; -// Package pluggableharness.agent.kernel.v1 defines the kernel-callback service described +// Package pluggableharness.kernel.v1 defines the kernel-callback service described // in specifications/kernel-callbacks.md (RunSession, CountTokens, Emit, // Log) — the plugin-to-kernel calling direction every plugin category gets // at handshake, the reverse of every other category's protocol in this @@ -8,13 +8,13 @@ syntax = "proto3"; // GetCapabilities/Configure RPCs: it isn't something the kernel dials into // a plugin, it's the connection every plugin subprocess is handed back to // call into the kernel. -package pluggableharness.agent.kernel.v1; +package pluggableharness.kernel.v1; -import "pluggableharness/agent/common/v1/common.proto"; -import "pluggableharness/agent/content/v1/content.proto"; -import "pluggableharness/agent/log/v1/log.proto"; -import "pluggableharness/agent/model/v1/model.proto"; -import "pluggableharness/agent/session/v1/session.proto"; +import "pluggableharness/common/v1/common.proto"; +import "pluggableharness/content/v1/content.proto"; +import "pluggableharness/log/v1/log.proto"; +import "pluggableharness/model/v1/model.proto"; +import "pluggableharness/session/v1/session.proto"; option go_package = "github.com/pluggableharness/agent/pkg/kernel/proto/v1;kernelv1"; @@ -109,7 +109,7 @@ message RunSessionRequest { // the named profile's declared tool set. A caller MAY narrow this // further per-call but MUST NOT widen it beyond what the profile // declares. - repeated pluggableharness.agent.common.v1.ProviderRef scoped_providers = 6; + repeated pluggableharness.common.v1.ProviderRef scoped_providers = 6; } // RunSessionResult carries the child session's outcome back to the @@ -123,17 +123,17 @@ message RunSessionResult { // produced by the child are never visible to the parent's model // context (agent-loop.md §7.2), though they remain queryable in the // state backend for replay and audit. - pluggableharness.agent.content.v1.Message final_message = 2; + pluggableharness.content.v1.Message final_message = 2; // The child session's terminal lifecycle status. Never // SESSION_STATUS_RUNNING — a RunSession call only returns once the // child session has reached a terminal state. - pluggableharness.agent.session.v1.SessionStatus status = 3; + pluggableharness.session.v1.SessionStatus status = 3; // The child session's aggregate cost, in USD, summed across every turn // it ran, including any of its own descendant sub-agent sessions. MUST // be set. Deliberately a flat field, not a - // pluggableharness.agent.model.v1.Usage-shaped reference — this is a + // pluggableharness.model.v1.Usage-shaped reference — this is a // whole-session rollup (state-backend.md's cost_ledger SUM, per // .claude/rules/determinism.md's "Cost and budget rollup"), a different // shape from one completion call's per-call Usage. Lets an orchestrator @@ -159,13 +159,13 @@ message RunSessionResult { message CountTokensRequest { // The content to count. MUST be set. Text-only in v1, matching the // content-type constraint context.md and memory.md already impose. - repeated pluggableharness.agent.content.v1.ContentBlock content = 1; + repeated pluggableharness.content.v1.ContentBlock content = 1; // The model whose tokenizer should be preferred, if that model // provider implements the optional CountTokens RPC (model.md §2.1). // MAY be omitted, in which case the kernel's fallback heuristic // (kernel-callbacks.md §3) is used. - optional pluggableharness.agent.model.v1.ModelRef model_ref = 2; + optional pluggableharness.model.v1.ModelRef model_ref = 2; } // CountTokensResult carries the resolved token count and whether it came @@ -227,7 +227,7 @@ enum EventKind { // (agent-loop/hook-dispatch.md#subscriber-error-handling) — never // emitted by a plugin's own Emit call, only by the kernel itself // dispatching a hook. Payload shape is - // pluggableharness.agent.hook.v1.HookError, wrapped by the forthcoming + // pluggableharness.hook.v1.HookError, wrapped by the forthcoming // event.v1 package's HookErrorEvent (state-backend.md §5). EVENT_KIND_HOOK_ERROR = 10; } @@ -284,7 +284,7 @@ message LogRequest { optional string session_id = 1; // The log entry itself. MUST be set. - pluggableharness.agent.log.v1.LogEntry entry = 2; + pluggableharness.log.v1.LogEntry entry = 2; // Note: producer_category/producer_name/producer_version are // deliberately NOT fields on this message, for the same reason diff --git a/api/pluggableharness/agent/log/v1/log.proto b/api/pluggableharness/log/v1/log.proto similarity index 91% rename from api/pluggableharness/agent/log/v1/log.proto rename to api/pluggableharness/log/v1/log.proto index 3701e73..5d22acc 100644 --- a/api/pluggableharness/agent/log/v1/log.proto +++ b/api/pluggableharness/log/v1/log.proto @@ -1,12 +1,12 @@ syntax = "proto3"; -// Package pluggableharness.agent.log.v1 defines the structured log entry types described +// Package pluggableharness.log.v1 defines the structured log entry types described // in specifications/kernel-callbacks.md §5 — how a plugin's own log output // reaches the kernel's centralized logging instead of vanishing into an -// unread subprocess stderr. Consumed by pluggableharness.agent.kernel.v1's Log RPC +// unread subprocess stderr. Consumed by pluggableharness.kernel.v1's Log RPC // (KernelCallbackService), the plugin-to-kernel calling channel every // plugin gets at handshake. -package pluggableharness.agent.log.v1; +package pluggableharness.log.v1; import "google/protobuf/struct.proto"; import "google/protobuf/timestamp.proto"; diff --git a/api/pluggableharness/agent/memory/v1/memory.proto b/api/pluggableharness/memory/v1/memory.proto similarity index 95% rename from api/pluggableharness/agent/memory/v1/memory.proto rename to api/pluggableharness/memory/v1/memory.proto index 0bf5be2..09f8f64 100644 --- a/api/pluggableharness/agent/memory/v1/memory.proto +++ b/api/pluggableharness/memory/v1/memory.proto @@ -1,6 +1,6 @@ syntax = "proto3"; -// Package pluggableharness.agent.memory.v1 defines the memory provider plugin protocol +// Package pluggableharness.memory.v1 defines the memory provider plugin protocol // described in specifications/memory.md — plugins that persist knowledge // across sessions (the write side) and recall it into future ones (the // read side). A distinct plugin category with its own protocol, not a @@ -8,16 +8,16 @@ syntax = "proto3"; // scope, provenance, ratification status) stays first-class through a // dedicated Recall RPC; the kernel adapts results into ContextSections // before merging them into the assembled prompt (memory.md §6). -package pluggableharness.agent.memory.v1; +package pluggableharness.memory.v1; import "google/protobuf/struct.proto"; import "google/protobuf/timestamp.proto"; -import "pluggableharness/agent/common/v1/common.proto"; -import "pluggableharness/agent/config/v1/config.proto"; -import "pluggableharness/agent/content/v1/content.proto"; -import "pluggableharness/agent/model/v1/model.proto"; -import "pluggableharness/agent/render/v1/render.proto"; -import "pluggableharness/agent/slashcommand/v1/slashcommand.proto"; +import "pluggableharness/common/v1/common.proto"; +import "pluggableharness/config/v1/config.proto"; +import "pluggableharness/content/v1/content.proto"; +import "pluggableharness/model/v1/model.proto"; +import "pluggableharness/render/v1/render.proto"; +import "pluggableharness/slashcommand/v1/slashcommand.proto"; option go_package = "github.com/pluggableharness/agent/pkg/memory/proto/v1;memoryv1"; @@ -176,10 +176,10 @@ message MemoryCapabilities { // Slash commands this provider contributes, per frontend.md §5. MAY be // empty — the reference tools (memory.md §9.2) already cover the common // remember/forget/search cases via the ordinary tool-provider path. - repeated pluggableharness.agent.slashcommand.v1.SlashCommandSpec slash_commands = 5; + repeated pluggableharness.slashcommand.v1.SlashCommandSpec slash_commands = 5; // This provider's agent.hcl config schema, per configuration.md §4. - pluggableharness.agent.config.v1.ConfigSchema config_schema = 6; + pluggableharness.config.v1.ConfigSchema config_schema = 6; // Which hook points (agent-loop/hook-dispatch.md) this provider declares // HookSubscriberService.DispatchHook subscriptions for. Note: this @@ -191,7 +191,7 @@ message MemoryCapabilities { // imports this package's model/tool/plan dependencies, so a category // capability message importing hook.v1 directly would cycle back // through it; common.v1 is the shared leaf package instead. - repeated pluggableharness.agent.common.v1.HookPoint supported_hook_points = 7; + repeated pluggableharness.common.v1.HookPoint supported_hook_points = 7; } // GetCapabilitiesResponse wraps this provider's capability advertisement. @@ -239,7 +239,7 @@ message RecallRequest { // §4's ContextRequest field. Lets a provider pass a precise model // reference into the CountTokens kernel callback (kernel-callbacks.md // §2) — added per kernel-callbacks.md §6's correction. MUST be set. - pluggableharness.agent.model.v1.ModelTarget model_target = 4; + pluggableharness.model.v1.ModelTarget model_target = 4; // Paths of files touched so far this turn, mirroring context.md §4's // field of the same name. MAY be empty. @@ -288,7 +288,7 @@ message MemoryRecord { // The record's content. Text-only in v1, same constraint as context.md // §4. - repeated pluggableharness.agent.content.v1.ContentBlock content = 5; + repeated pluggableharness.content.v1.ContentBlock content = 5; // This record's size, computed via the kernel's CountTokens callback // (kernel-callbacks.md §2), never a provider-local heuristic. @@ -360,7 +360,7 @@ message RecordRequest { string title = 4; // The record's content. - repeated pluggableharness.agent.content.v1.ContentBlock content = 5; + repeated pluggableharness.content.v1.ContentBlock content = 5; } // RecordResult is the shared outcome shape for Record (via @@ -393,7 +393,7 @@ message UpdateRecordRequest { // The record's new content, replacing the existing content wholesale — // not a patch. MUST be set. - repeated pluggableharness.agent.content.v1.ContentBlock content = 3; + repeated pluggableharness.content.v1.ContentBlock content = 3; } // UpdateRecordResponse wraps UpdateRecord's outcome, which is the same @@ -520,7 +520,7 @@ message RenderRequest { // RenderResponse wraps this provider's rendered output. memory.md §10. message RenderResponse { // The rendered tree, per frontend.md §1. - pluggableharness.agent.render.v1.RenderTree tree = 1; + pluggableharness.render.v1.RenderTree tree = 1; } // ListRecordsRequest is the enumeration/audit query: paginated browsing of @@ -583,5 +583,5 @@ message DescribeRequest {} message DescribeResponse { // This plugin build's identity: name, version, source, category, // protocol_version. - pluggableharness.agent.common.v1.ProducerRef producer = 1; + pluggableharness.common.v1.ProducerRef producer = 1; } diff --git a/api/pluggableharness/agent/model/v1/model.proto b/api/pluggableharness/model/v1/model.proto similarity index 97% rename from api/pluggableharness/agent/model/v1/model.proto rename to api/pluggableharness/model/v1/model.proto index e157465..29918e4 100644 --- a/api/pluggableharness/agent/model/v1/model.proto +++ b/api/pluggableharness/model/v1/model.proto @@ -1,6 +1,6 @@ syntax = "proto3"; -// Package pluggableharness.agent.model.v1 defines the model (LLM vendor) provider +// Package pluggableharness.model.v1 defines the model (LLM vendor) provider // plugin protocol described in specifications/model.md — see // .claude/rules/proto.md — plus the two distinct model-identity shapes used // across the other specs. The identity shapes are deliberately NOT unified @@ -9,17 +9,17 @@ syntax = "proto3"; // "which model's tokenizer" selector (kernel-callbacks.md §2). Merging them // would force every CountTokens caller to populate fields it doesn't have // and doesn't need. -package pluggableharness.agent.model.v1; +package pluggableharness.model.v1; import "google/protobuf/duration.proto"; import "google/protobuf/struct.proto"; import "google/protobuf/timestamp.proto"; -import "pluggableharness/agent/common/v1/common.proto"; -import "pluggableharness/agent/config/v1/config.proto"; -import "pluggableharness/agent/content/v1/content.proto"; -import "pluggableharness/agent/render/v1/render.proto"; -import "pluggableharness/agent/schema/v1/schema.proto"; -import "pluggableharness/agent/slashcommand/v1/slashcommand.proto"; +import "pluggableharness/common/v1/common.proto"; +import "pluggableharness/config/v1/config.proto"; +import "pluggableharness/content/v1/content.proto"; +import "pluggableharness/render/v1/render.proto"; +import "pluggableharness/schema/v1/schema.proto"; +import "pluggableharness/slashcommand/v1/slashcommand.proto"; option go_package = "github.com/pluggableharness/agent/pkg/model/proto/v1;modelv1"; @@ -113,12 +113,12 @@ message Capabilities { // Slash commands this provider contributes, declared once for the // provider as a whole (not per model), per model.md §2 and // configuration.md §5 / frontend.md §5. MAY be empty. - repeated pluggableharness.agent.slashcommand.v1.SlashCommandSpec slash_commands = 2; + repeated pluggableharness.slashcommand.v1.SlashCommandSpec slash_commands = 2; // The provider's agent.hcl config schema, returned alongside // capabilities so the kernel knows what fields Configure expects, per // configuration.md §4. - pluggableharness.agent.config.v1.ConfigSchema config_schema = 3; + pluggableharness.config.v1.ConfigSchema config_schema = 3; // Which hook points (agent-loop/hook-dispatch.md) this plugin can serve // via HookSubscriberService.DispatchHook. The kernel MUST reject an @@ -132,7 +132,7 @@ message Capabilities { // `buf build`, which rejects it outright ("detected cyclic import"). // HookPoint itself lives in common.v1 for exactly this reason (see // common.proto), already imported here for CallContext/Describe. - repeated pluggableharness.agent.common.v1.HookPoint supported_hook_points = 4; + repeated pluggableharness.common.v1.HookPoint supported_hook_points = 4; } // ConfigureRequest wraps the provider's agent.hcl config block, already @@ -164,7 +164,7 @@ message DescribeRequest {} message DescribeResponse { // This plugin build's identity, as it would otherwise appear in a // lock-file provider "" { ... } entry. - pluggableharness.agent.common.v1.ProducerRef producer = 1; + pluggableharness.common.v1.ProducerRef producer = 1; } // ModelSpec describes one model this provider can serve, per @@ -417,7 +417,7 @@ message Pricing { message StreamCompletionRequest { // The canonical conversation history, in emission order (model.md // §5). - repeated pluggableharness.agent.content.v1.Message messages = 1; + repeated pluggableharness.content.v1.Message messages = 1; // Selects which of this provider's ModelSpec.id to use. string model_id = 2; @@ -445,7 +445,7 @@ message StreamCompletionRequest { // `system` string, a leading system-role message, etc.) — how that // mapping happens is adapter-internal and not part of this wire // contract. - repeated pluggableharness.agent.content.v1.ContextSection assembled_context = 5; + repeated pluggableharness.content.v1.ContextSection assembled_context = 5; // Session/turn/working-directory attribution for this call. MUST be set // by the kernel on every StreamCompletionRequest. This is what the @@ -453,7 +453,7 @@ message StreamCompletionRequest { // calls (kernel-callbacks.md#emit) for correlation, without having to // separately thread session_id/turn_id through adapter-internal call // sites by hand. - pluggableharness.agent.common.v1.CallContext call_context = 6; + pluggableharness.common.v1.CallContext call_context = 6; // Cache breakpoints for this request, wire-level and request-scoped — // NOT carried on the persisted content.v1.ContentBlock, since a @@ -512,8 +512,8 @@ message ToolDeclaration { string description = 2; // The tool's input shape, in the restricted JSON-Schema subset shared - // across categories (model.md §6, pluggableharness.agent.schema.v1.Schema). - pluggableharness.agent.schema.v1.Schema input_schema = 3; + // across categories (model.md §6, pluggableharness.schema.v1.Schema). + pluggableharness.schema.v1.Schema input_schema = 3; } // GenerationParams carries per-request overrides of otherwise @@ -782,7 +782,7 @@ message RenderResponse { // verbatim across every category's Render RPC (tool.md §7, context.md // §9, memory.md §10) — one RenderTree type for the whole // Emit->Render->Paint pipeline, not a per-category variant. - pluggableharness.agent.render.v1.RenderTree tree = 1; + pluggableharness.render.v1.RenderTree tree = 1; } // ModelErrorCategory classifies every StreamCompletion/Configure diff --git a/api/pluggableharness/agent/plan/v1/plan.proto b/api/pluggableharness/plan/v1/plan.proto similarity index 89% rename from api/pluggableharness/agent/plan/v1/plan.proto rename to api/pluggableharness/plan/v1/plan.proto index df3200a..aaf6d69 100644 --- a/api/pluggableharness/agent/plan/v1/plan.proto +++ b/api/pluggableharness/plan/v1/plan.proto @@ -1,17 +1,17 @@ syntax = "proto3"; -// Package pluggableharness.agent.plan.v1 defines the plan/apply gate's data types +// Package pluggableharness.plan.v1 defines the plan/apply gate's data types // (specifications/agent-loop.md §5.1). A Plan collects every resource call // identified in a turn; each PlanItem is evaluated independently against // policy (agent-loop.md §5.1: three resource calls against three // different tool providers MUST receive three independently evaluated // decisions, even if presentation batches them into one approval UI // interaction). -package pluggableharness.agent.plan.v1; +package pluggableharness.plan.v1; import "google/protobuf/struct.proto"; -import "pluggableharness/agent/render/v1/render.proto"; -import "pluggableharness/agent/tool/v1/tool.proto"; +import "pluggableharness/render/v1/render.proto"; +import "pluggableharness/tool/v1/tool.proto"; option go_package = "github.com/pluggableharness/agent/pkg/plan/proto/v1;planv1"; @@ -47,8 +47,8 @@ message PlanItem { // This item's own id, stable within the plan. string id = 1; - // The originating tool call's id (matches pluggableharness.agent.content.v1 - // ToolUseBlock.id / pluggableharness.agent.tool.v1 ToolCall.id). + // The originating tool call's id (matches pluggableharness.content.v1 + // ToolUseBlock.id / pluggableharness.tool.v1 ToolCall.id). string tool_call_id = 2; // The declared name of the tool provider plugin this call targets. @@ -58,7 +58,7 @@ message PlanItem { string tool_name = 4; // The call's parsed arguments — the kernel's canonical ToolCall - // representation (model.md §6 / pluggableharness.agent.schema.v1's subset governs + // representation (model.md §6 / pluggableharness.schema.v1's subset governs // its shape). A Struct per .claude/rules/proto.md's runtime-JSON // carve-out. google.protobuf.Struct input = 5; @@ -82,10 +82,10 @@ message PlanItem { // Snapshot of ToolSchema.kind (tool/data-types.md#toolschema) for the // operation this item calls, at plan-construction time. - pluggableharness.agent.tool.v1.ToolKind kind = 8; + pluggableharness.tool.v1.ToolKind kind = 8; // Snapshot of ToolSchema.risk, at plan-construction time. - pluggableharness.agent.tool.v1.RiskClass risk = 9; + pluggableharness.tool.v1.RiskClass risk = 9; // Snapshot of ToolSchema.description, at plan-construction time. string description = 10; @@ -99,7 +99,7 @@ message PlanItem { // render.v1.RenderTree — the exact type ToolService.Preview's own // response carries, so this stored snapshot and the RPC's live output // share one wire shape (agent-loop/plan-apply-gate.md#preview-flow). - optional pluggableharness.agent.render.v1.RenderTree preview = 11; + optional pluggableharness.render.v1.RenderTree preview = 11; } // Plan collects every policy-evaluated call identified during one turn. @@ -115,7 +115,7 @@ message Plan { // once every item in its Plan has reached a terminal ApplyOutcome, per // agent-loop.md §5.2. Homed in plan.v1 (rather than the forthcoming // event.v1 package that would otherwise seem the more obvious owner) so -// both pluggableharness.agent.hook.v1's PostApplyPayload and event.v1's +// both pluggableharness.hook.v1's PostApplyPayload and event.v1's // future EVENT_KIND_APPLY payload can reference this exact message // without either importing the other — plan.v1 has no dependency on // either, keeping the graph acyclic. @@ -146,9 +146,9 @@ message ApplyResult { oneof result { // The call's successful result, when outcome == // APPLY_OUTCOME_APPLIED. - pluggableharness.agent.tool.v1.ToolResult tool_result = 4; + pluggableharness.tool.v1.ToolResult tool_result = 4; // The call's failed result, when outcome == APPLY_OUTCOME_FAILED. - pluggableharness.agent.tool.v1.ToolError tool_error = 5; + pluggableharness.tool.v1.ToolError tool_error = 5; } } diff --git a/api/pluggableharness/agent/render/v1/render.proto b/api/pluggableharness/render/v1/render.proto similarity index 98% rename from api/pluggableharness/agent/render/v1/render.proto rename to api/pluggableharness/render/v1/render.proto index 4c58297..3abd676 100644 --- a/api/pluggableharness/agent/render/v1/render.proto +++ b/api/pluggableharness/render/v1/render.proto @@ -1,6 +1,6 @@ syntax = "proto3"; -// Package pluggableharness.agent.render.v1 defines the Emit->Render->Paint intermediate +// Package pluggableharness.render.v1 defines the Emit->Render->Paint intermediate // representation described in specifications/frontend.md §1. Every plugin // category's optional Render() RPC (model.md §7, tool.md §7, // context.md §9, memory.md §10) returns this; every frontend/widget Paints @@ -8,7 +8,7 @@ syntax = "proto3"; // gracefully with a generic fallback (e.g. an unrecognized-in-practice // future variant, or `diff` on a frontend with no diff view -> plain // before/after text) — never error, never silently drop a node. -package pluggableharness.agent.render.v1; +package pluggableharness.render.v1; import "google/protobuf/struct.proto"; diff --git a/api/pluggableharness/agent/schema/v1/schema.proto b/api/pluggableharness/schema/v1/schema.proto similarity index 95% rename from api/pluggableharness/agent/schema/v1/schema.proto rename to api/pluggableharness/schema/v1/schema.proto index 8a60f51..79cc667 100644 --- a/api/pluggableharness/agent/schema/v1/schema.proto +++ b/api/pluggableharness/schema/v1/schema.proto @@ -1,13 +1,13 @@ syntax = "proto3"; -// Package pluggableharness.agent.schema.v1 defines the restricted JSON-Schema subset +// Package pluggableharness.schema.v1 defines the restricted JSON-Schema subset // described in specifications/model.md §6, shared by tool input/output // schemas (specifications/tool.md §2) and model tool-calling declarations // (specifications/model.md §6). Deliberately NOT full JSON Schema: no // oneOf/anyOf/allOf, no $ref, no pattern, no format, no non-trivial // additionalProperties. Every adapter across every category MUST support // exactly this subset — see .claude/rules/proto.md. -package pluggableharness.agent.schema.v1; +package pluggableharness.schema.v1; option go_package = "github.com/pluggableharness/agent/pkg/schema/proto/v1;schemav1"; diff --git a/api/pluggableharness/agent/session/v1/session.proto b/api/pluggableharness/session/v1/session.proto similarity index 96% rename from api/pluggableharness/agent/session/v1/session.proto rename to api/pluggableharness/session/v1/session.proto index e6810d5..2092667 100644 --- a/api/pluggableharness/agent/session/v1/session.proto +++ b/api/pluggableharness/session/v1/session.proto @@ -1,10 +1,10 @@ syntax = "proto3"; -// Package pluggableharness.agent.session.v1 defines the session lifecycle status enum +// Package pluggableharness.session.v1 defines the session lifecycle status enum // shared by kernel-callbacks.md §1's RunSessionResult, state-backend.md // §4.2's session_meta.status column, and frontend.md §3.2's // session_tree_update ServerEvent. -package pluggableharness.agent.session.v1; +package pluggableharness.session.v1; import "google/protobuf/timestamp.proto"; diff --git a/api/pluggableharness/agent/slashcommand/v1/slashcommand.proto b/api/pluggableharness/slashcommand/v1/slashcommand.proto similarity index 94% rename from api/pluggableharness/agent/slashcommand/v1/slashcommand.proto rename to api/pluggableharness/slashcommand/v1/slashcommand.proto index e47ef94..18d2adf 100644 --- a/api/pluggableharness/agent/slashcommand/v1/slashcommand.proto +++ b/api/pluggableharness/slashcommand/v1/slashcommand.proto @@ -1,12 +1,12 @@ syntax = "proto3"; -// Package pluggableharness.agent.slashcommand.v1 defines the slash-command declaration +// Package pluggableharness.slashcommand.v1 defines the slash-command declaration // shape described in specifications/configuration.md §5 (and equivalently // specifications/frontend.md §5). Declarable as an optional repeated field // in every category's capability response: model.md §2 Capabilities, // tool.md §2 GetSchemaResponse, context.md §2 ContextCapabilities, // memory.md §3 MemoryCapabilities. -package pluggableharness.agent.slashcommand.v1; +package pluggableharness.slashcommand.v1; option go_package = "github.com/pluggableharness/agent/pkg/slashcommand/proto/v1;slashcommandv1"; diff --git a/api/pluggableharness/agent/tool/v1/tool.proto b/api/pluggableharness/tool/v1/tool.proto similarity index 93% rename from api/pluggableharness/agent/tool/v1/tool.proto rename to api/pluggableharness/tool/v1/tool.proto index 936b024..5209f40 100644 --- a/api/pluggableharness/agent/tool/v1/tool.proto +++ b/api/pluggableharness/tool/v1/tool.proto @@ -1,18 +1,18 @@ syntax = "proto3"; -// Package pluggableharness.agent.tool.v1 defines the tool provider plugin protocol +// Package pluggableharness.tool.v1 defines the tool provider plugin protocol // described in specifications/tool.md — the wire contract for file I/O, // shell execution, search, web access, task tracking, sub-agent spawning, // and similar operations. -package pluggableharness.agent.tool.v1; +package pluggableharness.tool.v1; import "google/protobuf/duration.proto"; import "google/protobuf/struct.proto"; -import "pluggableharness/agent/common/v1/common.proto"; -import "pluggableharness/agent/config/v1/config.proto"; -import "pluggableharness/agent/render/v1/render.proto"; -import "pluggableharness/agent/schema/v1/schema.proto"; -import "pluggableharness/agent/slashcommand/v1/slashcommand.proto"; +import "pluggableharness/common/v1/common.proto"; +import "pluggableharness/config/v1/config.proto"; +import "pluggableharness/render/v1/render.proto"; +import "pluggableharness/schema/v1/schema.proto"; +import "pluggableharness/slashcommand/v1/slashcommand.proto"; option go_package = "github.com/pluggableharness/agent/pkg/tool/proto/v1;toolv1"; @@ -73,18 +73,18 @@ message GetSchemaResponse { // empty. Each entry's tool_name MUST reference one of this same // provider's own operations declared in `tools` above — a provider // cannot declare a slash command that invokes another provider's tool. - repeated pluggableharness.agent.slashcommand.v1.SlashCommandSpec slash_commands = 2; + repeated pluggableharness.slashcommand.v1.SlashCommandSpec slash_commands = 2; // This provider's agent.hcl config schema, per configuration.md §4 — // what fields Configure's request may be decoded from. - pluggableharness.agent.config.v1.ConfigSchema config_schema = 3; + pluggableharness.config.v1.ConfigSchema config_schema = 3; // Which of the eight dispatchable hook points (hook/v1.HookPoint) this // provider subscribes a HookSubscriberService to, per this provider's own // agent.hcl hook{} blocks. Lets the kernel validate a hook{} declaration // at config-load time instead of discovering an unsupported subscription // only when that hook point first fires. - repeated pluggableharness.agent.common.v1.HookPoint supported_hook_points = 4; + repeated pluggableharness.common.v1.HookPoint supported_hook_points = 4; } // ConfigureRequest wraps this provider's already-decoded agent.hcl config. @@ -198,11 +198,11 @@ message ToolSchema { // MUST — the common JSON-Schema subset per model.md §6, describing the // shape of ToolCall.arguments for this operation. - pluggableharness.agent.schema.v1.Schema input_schema = 5; + pluggableharness.schema.v1.Schema input_schema = 5; // MUST — the common JSON-Schema subset per model.md §6, describing the // shape of ToolResult.payload for this operation. - pluggableharness.agent.schema.v1.Schema output_schema = 6; + pluggableharness.schema.v1.Schema output_schema = 6; // MUST — true if Invoke may emit intermediate ToolEvents (output_chunk, // progress, partial_result) before the terminal event; false if Invoke @@ -262,8 +262,8 @@ message ToolCall { // session's working_directory, which any process-backed operation // (the reference catalog's exec.bash, read_file, and similar) MUST // resolve relative-path arguments against. See - // pluggableharness.agent.common.v1.CallContext. - pluggableharness.agent.common.v1.CallContext call_context = 4; + // pluggableharness.common.v1.CallContext. + pluggableharness.common.v1.CallContext call_context = 4; } // ToolEvent is one message in the stream Invoke returns, per tool.md §4. @@ -441,7 +441,7 @@ message RenderRequest { // signature. message RenderResponse { // The rendered tree. - pluggableharness.agent.render.v1.RenderTree tree = 1; + pluggableharness.render.v1.RenderTree tree = 1; } // PreviewRequest wraps the call to describe, per protocol.md#preview. @@ -454,9 +454,9 @@ message PreviewRequest { // PreviewResponse carries a dry-run, human-readable description of what // Invoke(call) would do, per protocol.md#preview — e.g. an edit tool // returns the diff it would apply. Rendered into the plan/apply gate's -// permission UI via PlanItem.preview (pluggableharness.agent.plan.v1, +// permission UI via PlanItem.preview (pluggableharness.plan.v1, // a sibling protocol revision) — that field and this response share the -// same pluggableharness.agent.render.v1.RenderTree type by design, so a +// same pluggableharness.render.v1.RenderTree type by design, so a // Preview call's output and a plan item's stored preview are // interchangeable. message PreviewResponse { @@ -464,7 +464,7 @@ message PreviewResponse { // mutate anything and MUST be side-effect-free — the same guarantee // TOOL_KIND_DATA_SOURCE operations make, but unconditionally, regardless // of the call's actual ToolKind. - pluggableharness.agent.render.v1.RenderTree preview = 1; + pluggableharness.render.v1.RenderTree preview = 1; } // DescribeRequest carries no fields — Describe takes no parameters. @@ -477,5 +477,5 @@ message DescribeRequest {} // directly from the running process via this RPC instead. message DescribeResponse { // This plugin build's identity. - pluggableharness.agent.common.v1.ProducerRef producer = 1; + pluggableharness.common.v1.ProducerRef producer = 1; } diff --git a/api/pluggableharness/agent/widget/v1/widget.proto b/api/pluggableharness/widget/v1/widget.proto similarity index 90% rename from api/pluggableharness/agent/widget/v1/widget.proto rename to api/pluggableharness/widget/v1/widget.proto index 949948c..bb30786 100644 --- a/api/pluggableharness/agent/widget/v1/widget.proto +++ b/api/pluggableharness/widget/v1/widget.proto @@ -1,16 +1,16 @@ syntax = "proto3"; -// Package pluggableharness.agent.widget.v1 defines the widget provider plugin protocol +// Package pluggableharness.widget.v1 defines the widget provider plugin protocol // described in specifications/frontend.md §4 (Attach, action dispatch, ...). // Messages and RPCs are added incrementally as the protocol is finalized; // this file currently scaffolds the buf toolchain wiring — see // .claude/rules/proto.md. -package pluggableharness.agent.widget.v1; +package pluggableharness.widget.v1; import "google/protobuf/struct.proto"; -import "pluggableharness/agent/common/v1/common.proto"; -import "pluggableharness/agent/config/v1/config.proto"; -import "pluggableharness/agent/render/v1/render.proto"; +import "pluggableharness/common/v1/common.proto"; +import "pluggableharness/config/v1/config.proto"; +import "pluggableharness/render/v1/render.proto"; option go_package = "github.com/pluggableharness/agent/pkg/widget/proto/v1;widgetv1"; @@ -68,7 +68,7 @@ message DescribeRequest {} // configuration/lock-file.md's "dev_overrides and identity without a lock // entry". message DescribeResponse { - pluggableharness.agent.common.v1.ProducerRef producer = 1; + pluggableharness.common.v1.ProducerRef producer = 1; } // GetCapabilitiesRequest carries no fields — GetCapabilities takes no @@ -85,17 +85,17 @@ message GetCapabilitiesResponse { // advertisement, per frontend.md §4.1. message WidgetCapabilities { // MUST — the regions this widget intends to contribute to. - repeated pluggableharness.agent.render.v1.Region regions = 1; + repeated pluggableharness.render.v1.Region regions = 1; // This provider's agent.hcl config schema, per configuration.md §4 — // what fields Configure's request may be decoded from. - pluggableharness.agent.config.v1.ConfigSchema config_schema = 2; + pluggableharness.config.v1.ConfigSchema config_schema = 2; // Hook points this widget can subscribe to in observe mode // (agent-loop/hook-dispatch.md), so a mis-declared agent.hcl hook{} // block naming an unsupported point can be rejected at config-load // time rather than failing at first dispatch. - repeated pluggableharness.agent.common.v1.HookPoint supported_hook_points = 3; + repeated pluggableharness.common.v1.HookPoint supported_hook_points = 3; } // ConfigureRequest carries this provider's already-decoded agent.hcl block. @@ -118,10 +118,10 @@ message AttachRequest { // frontend.md §4.1. message WidgetUpdate { // Which region this update places content into. - pluggableharness.agent.render.v1.Region region = 1; + pluggableharness.render.v1.Region region = 1; // The content to place. - pluggableharness.agent.render.v1.RenderTree content = 2; + pluggableharness.render.v1.RenderTree content = 2; // True: replace this widget's prior content in `region`. False: append. bool replace = 3; diff --git a/docs/specifications/agent-loop/README.md b/docs/specifications/agent-loop/README.md index 8bac579..eed83d2 100644 --- a/docs/specifications/agent-loop/README.md +++ b/docs/specifications/agent-loop/README.md @@ -13,7 +13,7 @@ This design reflects patterns observed across roughly 16 agentic coding systems ## Reading order - [`turn-algorithm.md`](turn-algorithm.md) — the numbered `RunTurn` algorithm, turn-level tool-call concurrency, loop termination and bounds (independent bound dimensions, cost accounting, limit-reached behavior, done detection, doom-loop detection). -- [`hook-dispatch.md`](hook-dispatch.md) — the `pluggableharness.agent.hook.v1` wire contract, dispatch order and payload flow, subscriber error handling, timeout behavior, parallelism within one hook point, and the `veto`-mode subscription trust model. +- [`hook-dispatch.md`](hook-dispatch.md) — the `pluggableharness.hook.v1` wire contract, dispatch order and payload flow, subscriber error handling, timeout behavior, parallelism within one hook point, and the `veto`-mode subscription trust model. - [`plan-apply-gate.md`](plan-apply-gate.md) — plan construction and policy evaluation, decision semantics, the circuit breaker on repeated denials, and the `data_source`/`interactive` policy precheck. - [`subagents.md`](subagents.md) — `RunSession`'s data types, context isolation, concurrency limits, session-hierarchy bookkeeping, structural depth limits, tool scoping at spawn, cancellation propagation, and the (deliberate) absence of inter-session communication. - [`error-recovery.md`](error-recovery.md) — model-provider error handling and tool-provider (plugin) crash handling mid-turn. diff --git a/docs/specifications/agent-loop/hook-dispatch.md b/docs/specifications/agent-loop/hook-dispatch.md index ae87d4e..1fc1b50 100644 --- a/docs/specifications/agent-loop/hook-dispatch.md +++ b/docs/specifications/agent-loop/hook-dispatch.md @@ -2,9 +2,9 @@ [`architecture.md`](../architecture.md#hook-dispatch-semantics) establishes the ordered-chain model (declaration order, three subscriber modes — `observe`/`transform`/`veto`) but leaves mechanics unspecified; this document is that mechanics layer. No surveyed harness exposes a generalized, third-party-pluggable hook-dispatch subsystem in this shape, so the following is this kernel's own design, informed by the closest analogous patterns where one exists. -## Wire contract — `pluggableharness.agent.hook.v1` +## Wire contract — `pluggableharness.hook.v1` -`pluggableharness.agent.hook.v1.HookSubscriberService` (`api/pluggableharness/agent/hook/v1/hook.proto`) is the wire surface every hook subscriber implements, regardless of which of the six plugin categories the subscribing plugin otherwise belongs to. It is one shared service, not a per-category RPC: `hashicorp/go-plugin` natively muxes multiple gRPC services over a single subprocess connection, so the kernel dials `HookSubscriberService` on the same connection it already holds to that plugin's category service. A plugin declaring no `hook{}` block in `agent.hcl` simply never has `DispatchHook` called. +`pluggableharness.hook.v1.HookSubscriberService` (`api/pluggableharness/hook/v1/hook.proto`) is the wire surface every hook subscriber implements, regardless of which of the six plugin categories the subscribing plugin otherwise belongs to. It is one shared service, not a per-category RPC: `hashicorp/go-plugin` natively muxes multiple gRPC services over a single subprocess connection, so the kernel dials `HookSubscriberService` on the same connection it already holds to that plugin's category service. A plugin declaring no `hook{}` block in `agent.hcl` simply never has `DispatchHook` called. `DispatchHook` is unary — one hook-point firing, delivered to one subscriber, is one request/one response. There is no separate scheduling RPC or subscription-registration call; `agent.hcl`'s `hook{}` blocks are the sole source of "which plugins subscribe to which points in which mode," resolved at config-load time, and dispatch order within a point is the declaration order described in [Dispatch order and payload flow](#dispatch-order-and-payload-flow) below. diff --git a/docs/specifications/architecture.md b/docs/specifications/architecture.md index 571ebfe..31189be 100644 --- a/docs/specifications/architecture.md +++ b/docs/specifications/architecture.md @@ -101,7 +101,7 @@ Hook points (`session-start`, `context-assemble`, `pre-model-call`, `post-model- Ordering within a hook is declaration order in `agent.hcl`, not runtime registration order — determinism matters especially for `context-assemble`, where order affects what the model attends to. -The wire surface for all eight dispatchable points other than `context-assemble` (which stays on `ContextService.Contribute`, per [`context/protocol.md#contribute-the-context-assemble-rpc`](context/protocol.md#contribute-the-context-assemble-rpc)) is `pluggableharness.agent.hook.v1.HookSubscriberService` — one shared service every plugin category MAY implement, dispatched to over the same `hashicorp/go-plugin` connection as that plugin's own category service. See [`agent-loop/hook-dispatch.md`](agent-loop/hook-dispatch.md) for the full dispatch mechanics and wire contract. +The wire surface for all eight dispatchable points other than `context-assemble` (which stays on `ContextService.Contribute`, per [`context/protocol.md#contribute-the-context-assemble-rpc`](context/protocol.md#contribute-the-context-assemble-rpc)) is `pluggableharness.hook.v1.HookSubscriberService` — one shared service every plugin category MAY implement, dispatched to over the same `hashicorp/go-plugin` connection as that plugin's own category service. See [`agent-loop/hook-dispatch.md`](agent-loop/hook-dispatch.md) for the full dispatch mechanics and wire contract. ## Canonical message / tool-schema format diff --git a/docs/specifications/context/data-types.md b/docs/specifications/context/data-types.md index 92e6bcd..035accb 100644 --- a/docs/specifications/context/data-types.md +++ b/docs/specifications/context/data-types.md @@ -34,7 +34,7 @@ ContextRequest { ## `ContextSection` -Canonically defined on the wire as `pluggableharness.agent.content.v1.ContextSection` (alongside `Stability` below) rather than in this protocol's own package — it's a shared content shape a second consumer besides context assembly needs to reference; the semantics below remain this document's, unchanged by where the message lives on the wire. +Canonically defined on the wire as `pluggableharness.content.v1.ContextSection` (alongside `Stability` below) rather than in this protocol's own package — it's a shared content shape a second consumer besides context assembly needs to reference; the semantics below remain this document's, unchanged by where the message lives on the wire. One provider's contribution to the assembled prompt context: diff --git a/docs/specifications/context/examples.md b/docs/specifications/context/examples.md index 6908b06..c679944 100644 --- a/docs/specifications/context/examples.md +++ b/docs/specifications/context/examples.md @@ -22,11 +22,11 @@ message ContextRequest { string parent_session_id = 2; string turn_id = 3; int64 token_budget = 4; - pluggableharness.agent.model.v1.ModelTarget model_target = 5; + pluggableharness.model.v1.ModelTarget model_target = 5; repeated string files_touched = 6; string working_directory = 7; repeated ContextSection prior_sections = 8; - repeated pluggableharness.agent.content.v1.Message conversation_history = 9; + repeated pluggableharness.content.v1.Message conversation_history = 9; int64 history_tokens = 10; int64 assembled_tokens_last_turn = 11; } @@ -34,7 +34,7 @@ message ContextRequest { message ContextSection { string provider = 1; string label = 2; - repeated pluggableharness.agent.content.v1.ContentBlock content = 3; + repeated pluggableharness.content.v1.ContentBlock content = 3; int64 tokens = 4; Stability stability = 5; bool truncated = 6; diff --git a/docs/specifications/frontend/frontend-protocol.md b/docs/specifications/frontend/frontend-protocol.md index fc9094b..15dc107 100644 --- a/docs/specifications/frontend/frontend-protocol.md +++ b/docs/specifications/frontend/frontend-protocol.md @@ -66,27 +66,27 @@ message ServerEvent { } message Render { - pluggableharness.agent.render.v1.PlacedContent content = 1; + pluggableharness.render.v1.PlacedContent content = 1; } message PermissionRequest { - pluggableharness.agent.plan.v1.PlanItem plan_item = 1; + pluggableharness.plan.v1.PlanItem plan_item = 1; } message PlanReady { - pluggableharness.agent.plan.v1.Plan plan = 1; + pluggableharness.plan.v1.Plan plan = 1; } message InteractiveRequest { string call_id = 1; string tool_name = 2; - pluggableharness.agent.render.v1.RenderTree prompt = 3; + pluggableharness.render.v1.RenderTree prompt = 3; } message SessionTreeUpdate { string parent_session_id = 1; string child_session_id = 2; - pluggableharness.agent.session.v1.SessionStatus status = 3; + pluggableharness.session.v1.SessionStatus status = 3; } message Error { @@ -136,7 +136,7 @@ message ClientEvent { message UserMessage { // repeated ContentBlock, not a bare string — see "UserMessage carries // ContentBlocks" below. - repeated pluggableharness.agent.content.v1.ContentBlock content = 2; + repeated pluggableharness.content.v1.ContentBlock content = 2; } message SlashCommand { diff --git a/docs/specifications/frontend/widget-protocol.md b/docs/specifications/frontend/widget-protocol.md index 87bd300..e714306 100644 --- a/docs/specifications/frontend/widget-protocol.md +++ b/docs/specifications/frontend/widget-protocol.md @@ -21,9 +21,9 @@ service WidgetService { ```protobuf message WidgetCapabilities { - repeated pluggableharness.agent.render.v1.Region regions = 1; // MUST — see render-tree.md#placement--regions - pluggableharness.agent.config.v1.ConfigSchema config_schema = 2; - repeated pluggableharness.agent.common.v1.HookPoint supported_hook_points = 3; + repeated pluggableharness.render.v1.Region regions = 1; // MUST — see render-tree.md#placement--regions + pluggableharness.config.v1.ConfigSchema config_schema = 2; + repeated pluggableharness.common.v1.HookPoint supported_hook_points = 3; } ``` @@ -41,8 +41,8 @@ message AttachRequest { } message WidgetUpdate { - pluggableharness.agent.render.v1.Region region = 1; - pluggableharness.agent.render.v1.RenderTree content = 2; + pluggableharness.render.v1.Region region = 1; + pluggableharness.render.v1.RenderTree content = 2; bool replace = 3; // true: replace this widget's prior content in `region`; false: append } ``` diff --git a/docs/specifications/kernel-callbacks.md b/docs/specifications/kernel-callbacks.md index 4ea3481..242f4dc 100644 --- a/docs/specifications/kernel-callbacks.md +++ b/docs/specifications/kernel-callbacks.md @@ -108,7 +108,7 @@ EmitResult { `EventKind` is `state-backend.md`'s authoritative enum, restated here only because it's the wire-level type `Emit` actually carries — this document does not own its definition, and `state-backend.md` remains authoritative. Like every enum in this system, `EventKind`'s zero value, `EVENT_KIND_UNSPECIFIED`, is never valid on the wire — a caller that forgets to set `kind` produces a detectable, named "unspecified" error rather than something that silently looks like a real event kind. Usage/cost, `Render` output, and `session_start`/`session_end` deliberately don't get their own `EventKind` at all — see [`state-backend.md#the-kind-enum`](state-backend.md#the-kind-enum) for why. -`payload` is always the `pluggableharness.agent.event.v1` message that matches `kind`, marshaled to bytes — [`state-backend.md#the-kind-enum`](state-backend.md#the-kind-enum) carries the authoritative kind → message table. `schema_version` names the `event` package version that message belongs to: `"1"` for `event.v1`, and a future breaking payload change ships as `event.v2` with `schema_version = "2"`, never a silent edit to the `event.v1` shape. This does not change the opacity of `payload` itself — the kernel marshals/unmarshals nothing at `Emit` time for a plugin-supplied payload and never inspects the bytes; `schema_version` only tells a future reader (replay, a newer kernel) which package's generated type to decode with. +`payload` is always the `pluggableharness.event.v1` message that matches `kind`, marshaled to bytes — [`state-backend.md#the-kind-enum`](state-backend.md#the-kind-enum) carries the authoritative kind → message table. `schema_version` names the `event` package version that message belongs to: `"1"` for `event.v1`, and a future breaking payload change ships as `event.v2` with `schema_version = "2"`, never a silent edit to the `event.v1` shape. This does not change the opacity of `payload` itself — the kernel marshals/unmarshals nothing at `Emit` time for a plugin-supplied payload and never inspects the bytes; `schema_version` only tells a future reader (replay, a newer kernel) which package's generated type to decode with. `Emit` accepts `EVENT_KIND_HOOK_ERROR` like any other kind, with one difference: the kernel is the one calling it, on a failing hook subscriber's behalf, rather than a plugin calling `Emit` for itself — see [`state-backend.md#the-kind-enum`](state-backend.md#the-kind-enum) for why this kind is kernel-synthesized and [`agent-loop/hook-dispatch.md#subscriber-error-handling`](agent-loop/hook-dispatch.md#subscriber-error-handling) for when it fires. diff --git a/docs/specifications/memory/protocol.md b/docs/specifications/memory/protocol.md index 734d0e2..1238834 100644 --- a/docs/specifications/memory/protocol.md +++ b/docs/specifications/memory/protocol.md @@ -84,7 +84,7 @@ Ratification is a pattern a provider MAY implement, not a protocol requirement Both an autonomous, hook-driven path and an explicit, model-invoked path exist side by side — see [`examples.md#write-triggers-reference-tools`](examples.md#write-triggers-reference-tools) for the full write-triggers table. In outline: -- A memory provider is implicitly subscribed to `post-model-response` (`observe` mode, fires every turn) and `session-end` (fires once, unconditionally) — giving every provider a guaranteed last chance to persist something even if its own turn-by-turn heuristic never triggered mid-session. Both ride the shared `pluggableharness.agent.hook.v1.HookSubscriberService.DispatchHook` wire surface ([`agent-loop/hook-dispatch.md`](../agent-loop/hook-dispatch.md)) — the kernel calls `DispatchHook` with a `HookPayload` carrying the `post_model_response` or `session_end` variant, exactly as it would for any other category's hook subscription; this category has no separate, memory-specific dispatch mechanism. `MemoryCapabilities.supported_hook_points` ([`data-types.md#memorycapabilities`](data-types.md#memorycapabilities)) advertises which of these (and any other hook points) this provider actually subscribes to. Nothing in this protocol prescribes *when* within that stream a provider decides to call its own internal write logic. +- A memory provider is implicitly subscribed to `post-model-response` (`observe` mode, fires every turn) and `session-end` (fires once, unconditionally) — giving every provider a guaranteed last chance to persist something even if its own turn-by-turn heuristic never triggered mid-session. Both ride the shared `pluggableharness.hook.v1.HookSubscriberService.DispatchHook` wire surface ([`agent-loop/hook-dispatch.md`](../agent-loop/hook-dispatch.md)) — the kernel calls `DispatchHook` with a `HookPayload` carrying the `post_model_response` or `session_end` variant, exactly as it would for any other category's hook subscription; this category has no separate, memory-specific dispatch mechanism. `MemoryCapabilities.supported_hook_points` ([`data-types.md#memorycapabilities`](data-types.md#memorycapabilities)) advertises which of these (and any other hook points) this provider actually subscribes to. Nothing in this protocol prescribes *when* within that stream a provider decides to call its own internal write logic. - Three reference tool operations (`memory.remember`, `memory.forget`, `memory.search`) give the model an explicit path that isn't gated by whatever the automatic recall pass happened to surface that turn. `memory.remember`'s `Invoke` MUST decide `Record` vs. `UpdateRecord` by checking whether the model-supplied (or derived) `id` already exists. Before concluding "no existing record, create new," it MUST also perform a fuzzy near-match check (e.g. string similarity against existing record titles/ids within the same `type`/`scope`). If a close-but-not-exact match is found, `Invoke` MUST NOT silently create a duplicate or silently update the near-match — it returns a tool result (not an error; this isn't a failure) listing the near-match candidate(s) and asking the model to confirm which was intended, either by re-invoking `memory.remember` with the corrected `id` or by explicitly proceeding with a new one. This reuses the ordinary tool-result-feeds-back-into-the-model-turn pattern rather than inventing a new interactive escalation — no `interactive`-kind tool involvement is needed, since the model, not a human, resolves the ambiguity on its next turn. diff --git a/docs/specifications/state-backend.md b/docs/specifications/state-backend.md index a0f31db..827f59f 100644 --- a/docs/specifications/state-backend.md +++ b/docs/specifications/state-backend.md @@ -150,13 +150,13 @@ kind = enum { // subscriber fails // (agent-loop/hook-dispatch.md#subscriber-error-handling); // payload shape is - // pluggableharness.agent.hook.v1.HookError, + // pluggableharness.hook.v1.HookError, // wrapped by the forthcoming event.v1 package's // HookErrorEvent } ``` -Each `kind` above decodes to exactly one concrete message in `pluggableharness.agent.event.v1` (`api/pluggableharness/agent/event/v1/event.proto`) — that package defines no enum of its own; this table, together with `kernel-callbacks.md#emit`'s restatement of the same enum, is the sole source of the kind → message mapping: +Each `kind` above decodes to exactly one concrete message in `pluggableharness.event.v1` (`api/pluggableharness/event/v1/event.proto`) — that package defines no enum of its own; this table, together with `kernel-callbacks.md#emit`'s restatement of the same enum, is the sole source of the kind → message mapping: | `kind` | `event.v1` message | |---|---| diff --git a/docs/specifications/tool/README.md b/docs/specifications/tool/README.md index d54ec1b..38363f3 100644 --- a/docs/specifications/tool/README.md +++ b/docs/specifications/tool/README.md @@ -4,7 +4,7 @@ Covers the **tool provider** category — file I/O, shell execution, search, web Tool sets converge strongly across agentic coding harnesses on a common core of operations. Where that convergence exists, this category treats it as evidence for what belongs in the reference catalog ([`reference-catalog.md`](reference-catalog.md)). Where genuine divergence exists (edit mechanisms, risk/approval models, concurrency handling), this category calls that out explicitly rather than picking one approach and presenting it as settled. -This category depends directly on [`model/`](../model/README.md): the common JSON-Schema subset tool authors write `input_schema`/`output_schema` within is the same one [`model/data-types.md#tool-schema`](../model/data-types.md#tool-schema) defines for model tool-calling declarations (one wire type, `pluggableharness.agent.schema.v1.Schema`, shared by both categories), and `Invoke`'s server-streaming-plus-cancellation shape reuses [`model/README.md`](../model/README.md#transport--lifecycle)'s `StreamCompletion` pattern verbatim. See [`architecture.md`](../architecture.md) for the surrounding system (plan/apply gate, hook dispatch, Emit→Render→Paint, state backend) — this directory only covers the tool-provider RPC surface, data types, and reference catalog in detail. +This category depends directly on [`model/`](../model/README.md): the common JSON-Schema subset tool authors write `input_schema`/`output_schema` within is the same one [`model/data-types.md#tool-schema`](../model/data-types.md#tool-schema) defines for model tool-calling declarations (one wire type, `pluggableharness.schema.v1.Schema`, shared by both categories), and `Invoke`'s server-streaming-plus-cancellation shape reuses [`model/README.md`](../model/README.md#transport--lifecycle)'s `StreamCompletion` pattern verbatim. See [`architecture.md`](../architecture.md) for the surrounding system (plan/apply gate, hook dispatch, Emit→Render→Paint, state backend) — this directory only covers the tool-provider RPC surface, data types, and reference catalog in detail. ## Transport & lifecycle diff --git a/docs/specifications/tool/data-types.md b/docs/specifications/tool/data-types.md index 3b85179..8a308af 100644 --- a/docs/specifications/tool/data-types.md +++ b/docs/specifications/tool/data-types.md @@ -36,7 +36,7 @@ ToolCall { // model/data-types.md#tool-schema, the kernel's internal ToolCall // representation always stores parsed arguments regardless of which // model-provider adapter produced them - call_context CallContext // MUST be set by the kernel — pluggableharness.agent.common.v1.CallContext. + call_context CallContext // MUST be set by the kernel — pluggableharness.common.v1.CallContext. // Carries session_id/turn_id, echoed by the plugin on its own // KernelCallbackService.Emit/Log calls for attribution, and // working_directory — the cwd a process-backed operation (exec/bash, diff --git a/docs/specifications/tool/examples.md b/docs/specifications/tool/examples.md index c540f3b..de4d324 100644 --- a/docs/specifications/tool/examples.md +++ b/docs/specifications/tool/examples.md @@ -35,7 +35,7 @@ message ToolCall { string id = 1; string tool_name = 2; google.protobuf.Struct arguments = 3; - pluggableharness.agent.common.v1.CallContext call_context = 4; + pluggableharness.common.v1.CallContext call_context = 4; } message PreviewRequest { @@ -43,13 +43,13 @@ message PreviewRequest { } message PreviewResponse { - pluggableharness.agent.render.v1.RenderTree preview = 1; + pluggableharness.render.v1.RenderTree preview = 1; } message DescribeRequest {} message DescribeResponse { - pluggableharness.agent.common.v1.ProducerRef producer = 1; + pluggableharness.common.v1.ProducerRef producer = 1; } message ToolEvent { diff --git a/docs/specifications/tool/protocol.md b/docs/specifications/tool/protocol.md index a2029bf..9ca9980 100644 --- a/docs/specifications/tool/protocol.md +++ b/docs/specifications/tool/protocol.md @@ -43,7 +43,7 @@ A genuine third `kind`, alongside `resource` and `data_source`, for calls that n - `interactive` calls MUST still pass through a policy precheck before executing — the same non-interactive, `allow`/`deny`-only lane [`configuration/policy-dsl.md`](../configuration/policy-dsl.md) already defines for `data_source` calls, extended to cover this kind too. This exists specifically so an operator can `deny` interactive prompts outright in a non-interactive/headless invocation (a future pipeline mode per [`architecture.md`](../architecture.md#cli-shape)) where there is no human attached to answer one — without policy coverage, an `ask_user`-shaped call in a headless context would simply hang forever with no one able to respond. Note that policy's own `Match.Kind` field stays two-valued (`resource`/`data_source`) in v1 — an interactive call routes through the same non-interactive-style precheck path a `data_source` call uses, rather than policy gaining a third match kind of its own. See [`configuration/policy-dsl.md`](../configuration/policy-dsl.md#match-schema). - `interactive` calls MUST execute **sequentially**, never concurrently with other `interactive` calls in the same turn, regardless of any declared `ConcurrencySpec` — asking a human two things at once in one frontend is inherently confusing. `ConcurrencySpec` MUST NOT be declared for an `interactive` operation; if present, the kernel MUST ignore it and enforce sequential execution unconditionally. -The overall `GetSchema` response (the wrapper around this list of `ToolSchema`s) MAY additionally include `slash_commands: []SlashCommandSpec`, per [`frontend/frontend-protocol.md`](../frontend/frontend-protocol.md) — each entry's `tool_name` MUST reference one of this same provider's own operations declared above, and `supported_hook_points: []pluggableharness.agent.common.v1.HookPoint`, naming which of the eight dispatchable hook points (`agent-loop/hook-dispatch.md`) this provider's `HookSubscriberService` subscribes to per its own `agent.hcl` `hook{}` blocks. Same capability-advertisement semantics as the other five plugin categories: it lets the kernel validate a `hook{}` declaration against what the plugin actually supports at config-load time, rather than discovering an unsupported subscription only when that hook point first fires. +The overall `GetSchema` response (the wrapper around this list of `ToolSchema`s) MAY additionally include `slash_commands: []SlashCommandSpec`, per [`frontend/frontend-protocol.md`](../frontend/frontend-protocol.md) — each entry's `tool_name` MUST reference one of this same provider's own operations declared above, and `supported_hook_points: []pluggableharness.common.v1.HookPoint`, naming which of the eight dispatchable hook points (`agent-loop/hook-dispatch.md`) this provider's `HookSubscriberService` subscribes to per its own `agent.hcl` `hook{}` blocks. Same capability-advertisement semantics as the other five plugin categories: it lets the kernel validate a `hook{}` declaration against what the plugin actually supports at config-load time, rather than discovering an unsupported subscription only when that hook point first fires. ## `Configure` @@ -79,10 +79,10 @@ Same optionality as [`model/protocol.md#render`](../model/protocol.md#render) - MAY be implemented. A kernel MUST tolerate its absence (an unimplemented `Preview`, or a provider whose `GetSchema` never advertises support) and fall back to showing the call's raw `arguments` in the plan/apply gate's permission UI. - MUST NOT mutate anything and MUST be side-effect-free — the same guarantee a `TOOL_KIND_DATA_SOURCE` operation makes, but here it applies unconditionally to `Preview` itself regardless of the underlying call's `ToolKind`. A plugin that cannot produce a preview without performing (part of) the operation MUST NOT implement `Preview` for that operation rather than violate this. -- Exists specifically to feed `pluggableharness.agent.plan.v1.PlanItem.preview` (a sibling protocol revision to this one) — the plan/apply gate renders that field to show a human what a pending `resource` call will actually do before they approve it. `PlanItem.preview` and `PreviewResponse.preview` are pinned to the exact same `pluggableharness.agent.render.v1.RenderTree` type by design, so the kernel can store a `Preview` call's output directly as a plan item's preview without any conversion. +- Exists specifically to feed `pluggableharness.plan.v1.PlanItem.preview` (a sibling protocol revision to this one) — the plan/apply gate renders that field to show a human what a pending `resource` call will actually do before they approve it. `PlanItem.preview` and `PreviewResponse.preview` are pinned to the exact same `pluggableharness.render.v1.RenderTree` type by design, so the kernel can store a `Preview` call's output directly as a plan item's preview without any conversion. ## Describe -`Describe` reports this plugin build's own identity: request is empty (`DescribeRequest {}`), response is a `DescribeResponse` wrapping a single `pluggableharness.agent.common.v1.ProducerRef producer`. MUST be implemented — every one of the six category protocols gains this RPC in this same protocol revision. +`Describe` reports this plugin build's own identity: request is empty (`DescribeRequest {}`), response is a `DescribeResponse` wrapping a single `pluggableharness.common.v1.ProducerRef producer`. MUST be implemented — every one of the six category protocols gains this RPC in this same protocol revision. This exists for the [`configuration/lock-file.md`](../configuration/lock-file.md#dev_overrides-and-identity-without-a-lock-entry) `dev_overrides` case: a plugin resolved via `dev_overrides` has no `provider "" { ... }` lock-file entry for the kernel to read `{name, version, source, category, protocol_version}` from, because `dev_overrides` exists precisely to bypass registry/lock-file resolution. `Describe` lets the kernel obtain that same identity directly from the running process instead, at connection time. diff --git a/internal/eventbus/eventbus_test.go b/internal/eventbus/eventbus_test.go index 2e91f12..9da809b 100644 --- a/internal/eventbus/eventbus_test.go +++ b/internal/eventbus/eventbus_test.go @@ -377,7 +377,7 @@ func TestBus_publish_recordsSpanAndMetric(t *testing.T) { if err := backend.Metrics.Collect(context.Background(), &rm); err != nil { t.Fatalf("Collect: %v", err) } - if !hasMetric(rm, "pluggableharness.agent.eventbus.events.published") { + if !hasMetric(rm, "pluggableharness.eventbus.events.published") { t.Error("eventbus.events.published metric was not recorded") } } diff --git a/internal/log/doc.go b/internal/log/doc.go index b331c16..3d611b3 100644 --- a/internal/log/doc.go +++ b/internal/log/doc.go @@ -1,7 +1,7 @@ // Package log implements the kernel side of the plugin-to-kernel Log // callback described in specifications/kernel-callbacks.md §5: it turns a -// wire-level LogEntry (pluggableharness.agent.log.v1) arriving over the KernelCallbackService -// (pluggableharness.agent.kernel.v1) into real log/slog output, so a plugin's own log lines +// wire-level LogEntry (pluggableharness.log.v1) arriving over the KernelCallbackService +// (pluggableharness.kernel.v1) into real log/slog output, so a plugin's own log lines // reach the kernel's centralized logging instead of vanishing into an // unread subprocess stderr. // diff --git a/internal/log/handler.go b/internal/log/handler.go index 45c414b..ee64fea 100644 --- a/internal/log/handler.go +++ b/internal/log/handler.go @@ -11,7 +11,7 @@ import ( "google.golang.org/grpc/status" ) -// Server implements the Log method of pluggableharness.agent.kernel.v1's +// Server implements the Log method of pluggableharness.kernel.v1's // KernelCallbackServiceServer. It does not implement RunSession, // CountTokens, or Emit — see the package doc comment. type Server struct { diff --git a/internal/log/level.go b/internal/log/level.go index fb758b8..c016548 100644 --- a/internal/log/level.go +++ b/internal/log/level.go @@ -14,7 +14,7 @@ import ( var ErrInvalidLevel = errors.New("log: invalid level") // LevelTrace and LevelFatal extend log/slog's four built-in levels -// (Debug/Info/Warn/Error) to cover pluggableharness.agent.log.v1.LogLevel's full range, +// (Debug/Info/Warn/Error) to cover pluggableharness.log.v1.LogLevel's full range, // per kernel-callbacks.md §5: the kernel MUST translate LOG_LEVEL_TRACE to // a custom slog.Level below slog.LevelDebug and LOG_LEVEL_FATAL to one // above slog.LevelError. The +-4 deltas mirror log/slog's own documented diff --git a/internal/pluginruntime/adapter_test.go b/internal/pluginruntime/adapter_test.go index eda78a8..a906337 100644 --- a/internal/pluginruntime/adapter_test.go +++ b/internal/pluginruntime/adapter_test.go @@ -184,7 +184,7 @@ func TestCategoryPlugin_newCallbackServer(t *testing.T) { if server == nil { t.Fatal("newCallbackServer returned nil") } - if _, ok := server.GetServiceInfo()["pluggableharness.agent.kernel.v1.KernelCallbackService"]; !ok { + if _, ok := server.GetServiceInfo()["pluggableharness.kernel.v1.KernelCallbackService"]; !ok { t.Fatalf("KernelCallbackService not registered: %v", server.GetServiceInfo()) } } diff --git a/internal/producer/README.md b/internal/producer/README.md index 9090a34..f1ff08c 100644 --- a/internal/producer/README.md +++ b/internal/producer/README.md @@ -1,7 +1,7 @@ # internal/producer Server-derived plugin-identity attribution -(`pluggableharness.agent.common.v1.ProducerRef`), carried across a `context.Context`. +(`pluggableharness.common.v1.ProducerRef`), carried across a `context.Context`. Producer identity is used to tag kernel-native output — log entries, spans, metrics — with which plugin (category/name/version) a given call is diff --git a/internal/producer/doc.go b/internal/producer/doc.go index 9585fcf..a425fa9 100644 --- a/internal/producer/doc.go +++ b/internal/producer/doc.go @@ -1,5 +1,5 @@ // Package producer carries server-derived plugin-identity attribution -// (pluggableharness.agent.common.v1.ProducerRef) across a context.Context. +// (pluggableharness.common.v1.ProducerRef) across a context.Context. // // Producer identity MUST be set only by trusted, kernel-side code — // specifications/kernel-callbacks.md §4 and §5 both require it to be diff --git a/internal/telemetry/attributes.go b/internal/telemetry/attributes.go index 8d00dd6..5be619b 100644 --- a/internal/telemetry/attributes.go +++ b/internal/telemetry/attributes.go @@ -6,7 +6,7 @@ import ( commonv1 "github.com/pluggableharness/agent/pkg/common/proto/v1" ) -// Attribute keys specific to PluggableHarness Agent's kernel — namespaced pluggableharness.agent.* since +// Attribute keys specific to PluggableHarness Agent's kernel — namespaced pluggableharness.* since // no existing OTel semantic-convention group covers them. Where a // semantic-convention key already exists (service.name, gen_ai.*), this // package uses it directly (resource.go, span.go, usage.go) instead of @@ -22,76 +22,76 @@ var ( // which plugin a span concerns. The identity itself comes from the // kernel-authenticated source described in kernel-callbacks.md §4/§5 — // never a client-supplied field. - ProducerCategoryKey = attribute.Key("pluggableharness.agent.producer.category") - ProducerNameKey = attribute.Key("pluggableharness.agent.producer.name") - ProducerVersionKey = attribute.Key("pluggableharness.agent.producer.version") + ProducerCategoryKey = attribute.Key("pluggableharness.producer.category") + ProducerNameKey = attribute.Key("pluggableharness.producer.name") + ProducerVersionKey = attribute.Key("pluggableharness.producer.version") // SessionIDKey, SessionParentIDKey, and SessionRootIDKey describe a // session's place in the RunSession tree (agent-loop.md §7). - SessionIDKey = attribute.Key("pluggableharness.agent.session.id") - SessionParentIDKey = attribute.Key("pluggableharness.agent.session.parent_id") - SessionRootIDKey = attribute.Key("pluggableharness.agent.session.root_id") + SessionIDKey = attribute.Key("pluggableharness.session.id") + SessionParentIDKey = attribute.Key("pluggableharness.session.parent_id") + SessionRootIDKey = attribute.Key("pluggableharness.session.root_id") // SessionDepthKey is the sub-agent nesting depth. Unlike the ID keys // above, this is low-cardinality (bounded by max_depth) and is safe on // metrics. - SessionDepthKey = attribute.Key("pluggableharness.agent.session.depth") + SessionDepthKey = attribute.Key("pluggableharness.session.depth") - AgentProfileKey = attribute.Key("pluggableharness.agent.agent.profile") + AgentProfileKey = attribute.Key("pluggableharness.agent.profile") // TurnIndexKey is unbounded (see the cardinality rule above) — span // attribute only. - TurnIndexKey = attribute.Key("pluggableharness.agent.turn.index") + TurnIndexKey = attribute.Key("pluggableharness.turn.index") // HookPointKey is one of the 9 named hook points (agent-loop.md §1). - HookPointKey = attribute.Key("pluggableharness.agent.hook.point") + HookPointKey = attribute.Key("pluggableharness.hook.point") // SubscriberModeKey is "observe", "transform", or "veto" // (agent-loop.md §4). - SubscriberModeKey = attribute.Key("pluggableharness.agent.subscriber.mode") + SubscriberModeKey = attribute.Key("pluggableharness.subscriber.mode") // ToolNameKey and ToolKindKey describe a resolved tool call. Both are // bounded by the operator's configured tool set / the fixed ToolKind // enum, so both are safe on metrics. - ToolNameKey = attribute.Key("pluggableharness.agent.tool.name") - ToolKindKey = attribute.Key("pluggableharness.agent.tool.kind") + ToolNameKey = attribute.Key("pluggableharness.tool.name") + ToolKindKey = attribute.Key("pluggableharness.tool.kind") // ModelIDKey names the model a call targeted. Bounded by the // operator's required_providers set, so it's safe on metrics too. - ModelIDKey = attribute.Key("pluggableharness.agent.model.id") + ModelIDKey = attribute.Key("pluggableharness.model.id") // PolicyDecisionKey is one of "allow", "ask", "deny" // (agent-loop.md §5.2). - PolicyDecisionKey = attribute.Key("pluggableharness.agent.policy.decision") + PolicyDecisionKey = attribute.Key("pluggableharness.policy.decision") // BoundKey names which LoopBounds dimension fired (agent-loop.md // §3.1). - BoundKey = attribute.Key("pluggableharness.agent.bound") + BoundKey = attribute.Key("pluggableharness.bound") // OutcomeKey is a generic ok/error result classifier. - OutcomeKey = attribute.Key("pluggableharness.agent.outcome") + OutcomeKey = attribute.Key("pluggableharness.outcome") // TokenTypeKey distinguishes input/output/cache_read/cache_write on // the Tokens counter. - TokenTypeKey = attribute.Key("pluggableharness.agent.token.type") + TokenTypeKey = attribute.Key("pluggableharness.token.type") // FilePathKey is the filesystem path a local file-load operation // (config, global config, lock file, checksum) read from. Unbounded // (see the cardinality rule above) — span attribute only, same // reasoning as SessionIDKey. - FilePathKey = attribute.Key("pluggableharness.agent.file.path") + FilePathKey = attribute.Key("pluggableharness.file.path") // PlatformKey is the OS/arch pair (e.g. "linux_amd64") a checksum // verification targeted. Low-cardinality — bounded by the set of // platforms a provider ships binaries for — so it's safe on both // spans and metrics. - PlatformKey = attribute.Key("pluggableharness.agent.platform") + PlatformKey = attribute.Key("pluggableharness.platform") // EventBusTopicKey is the topic an internal/eventbus.Event was // published on. Unbounded — a topic is caller-chosen, arbitrary // string — so, per the cardinality rule above, span attribute only, // never a metric attribute. - EventBusTopicKey = attribute.Key("pluggableharness.agent.eventbus.topic") + EventBusTopicKey = attribute.Key("pluggableharness.eventbus.topic") ) // Token type values for TokenTypeKey. diff --git a/internal/telemetry/attributes_test.go b/internal/telemetry/attributes_test.go index 9200000..a513208 100644 --- a/internal/telemetry/attributes_test.go +++ b/internal/telemetry/attributes_test.go @@ -16,9 +16,9 @@ func TestAttributeKeys_fileAndPlatform(t *testing.T) { key attribute.Key want string }{ - {name: "FilePathKey", key: FilePathKey, want: "pluggableharness.agent.file.path"}, - {name: "PlatformKey", key: PlatformKey, want: "pluggableharness.agent.platform"}, - {name: "EventBusTopicKey", key: EventBusTopicKey, want: "pluggableharness.agent.eventbus.topic"}, + {name: "FilePathKey", key: FilePathKey, want: "pluggableharness.file.path"}, + {name: "PlatformKey", key: PlatformKey, want: "pluggableharness.platform"}, + {name: "EventBusTopicKey", key: EventBusTopicKey, want: "pluggableharness.eventbus.topic"}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { diff --git a/internal/telemetry/grpchooks_test.go b/internal/telemetry/grpchooks_test.go index eb867ae..09a78c2 100644 --- a/internal/telemetry/grpchooks_test.go +++ b/internal/telemetry/grpchooks_test.go @@ -22,7 +22,7 @@ func TestResourceEnv(t *testing.T) { t.Parallel() got := telemetry.ResourceEnv("tool", "ripgrep", "1.2.3") - want := "pluggableharness.agent.producer.category=tool,pluggableharness.agent.producer.name=ripgrep,pluggableharness.agent.producer.version=1.2.3" + want := "pluggableharness.producer.category=tool,pluggableharness.producer.name=ripgrep,pluggableharness.producer.version=1.2.3" if got != want { t.Errorf("ResourceEnv = %q, want %q", got, want) } @@ -32,7 +32,7 @@ func TestResourceEnv_escapesSpecialCharacters(t *testing.T) { t.Parallel() got := telemetry.ResourceEnv("tool", "my tool", "1.0.0,beta") - want := "pluggableharness.agent.producer.category=tool,pluggableharness.agent.producer.name=my+tool,pluggableharness.agent.producer.version=1.0.0%2Cbeta" + want := "pluggableharness.producer.category=tool,pluggableharness.producer.name=my+tool,pluggableharness.producer.version=1.0.0%2Cbeta" if got != want { t.Errorf("ResourceEnv = %q, want %q", got, want) } diff --git a/internal/telemetry/instrument.go b/internal/telemetry/instrument.go index 431c8be..bbd8808 100644 --- a/internal/telemetry/instrument.go +++ b/internal/telemetry/instrument.go @@ -54,78 +54,78 @@ func newInstruments(meter metric.Meter) (*Instruments, error) { } } - turns, err := meter.Int64Counter("pluggableharness.agent.turns", + turns, err := meter.Int64Counter("pluggableharness.turns", metric.WithDescription("Turns executed.")) - check("pluggableharness.agent.turns", err) + check("pluggableharness.turns", err) - tokens, err := meter.Int64Counter("pluggableharness.agent.tokens", + tokens, err := meter.Int64Counter("pluggableharness.tokens", metric.WithDescription("Model tokens consumed, by token.type.")) - check("pluggableharness.agent.tokens", err) + check("pluggableharness.tokens", err) - costUSD, err := meter.Float64Counter("pluggableharness.agent.cost.usd", + costUSD, err := meter.Float64Counter("pluggableharness.cost.usd", metric.WithDescription("Modeled spend in USD."), metric.WithUnit("{USD}")) - check("pluggableharness.agent.cost.usd", err) + check("pluggableharness.cost.usd", err) - toolCalls, err := meter.Int64Counter("pluggableharness.agent.tool.calls", + toolCalls, err := meter.Int64Counter("pluggableharness.tool.calls", metric.WithDescription("Tool calls executed.")) - check("pluggableharness.agent.tool.calls", err) + check("pluggableharness.tool.calls", err) - boundsFired, err := meter.Int64Counter("pluggableharness.agent.bounds.fired", + boundsFired, err := meter.Int64Counter("pluggableharness.bounds.fired", metric.WithDescription("Loop bounds tripped (agent-loop.md §3.1).")) - check("pluggableharness.agent.bounds.fired", err) + check("pluggableharness.bounds.fired", err) - doomLoops, err := meter.Int64Counter("pluggableharness.agent.doomloop.detected", + doomLoops, err := meter.Int64Counter("pluggableharness.doomloop.detected", metric.WithDescription("Doom-loop detections.")) - check("pluggableharness.agent.doomloop.detected", err) + check("pluggableharness.doomloop.detected", err) - policyDecisions, err := meter.Int64Counter("pluggableharness.agent.policy.decisions", + policyDecisions, err := meter.Int64Counter("pluggableharness.policy.decisions", metric.WithDescription("Policy decisions, by decision.")) - check("pluggableharness.agent.policy.decisions", err) + check("pluggableharness.policy.decisions", err) - hookErrors, err := meter.Int64Counter("pluggableharness.agent.hook.errors", + hookErrors, err := meter.Int64Counter("pluggableharness.hook.errors", metric.WithDescription("Hook subscriber errors (observe mode never aborts the loop, but errors are still counted).")) - check("pluggableharness.agent.hook.errors", err) + check("pluggableharness.hook.errors", err) - pluginCrashes, err := meter.Int64Counter("pluggableharness.agent.plugin.crashes", + pluginCrashes, err := meter.Int64Counter("pluggableharness.plugin.crashes", metric.WithDescription("Plugin subprocess crashes, by producer.")) - check("pluggableharness.agent.plugin.crashes", err) + check("pluggableharness.plugin.crashes", err) - turnDuration, err := meter.Float64Histogram("pluggableharness.agent.turn.duration", + turnDuration, err := meter.Float64Histogram("pluggableharness.turn.duration", metric.WithDescription("Turn wall-clock duration."), metric.WithUnit("s")) - check("pluggableharness.agent.turn.duration", err) + check("pluggableharness.turn.duration", err) - modelDuration, err := meter.Float64Histogram("pluggableharness.agent.model.call.duration", + modelDuration, err := meter.Float64Histogram("pluggableharness.model.call.duration", metric.WithDescription("StreamCompletion call duration."), metric.WithUnit("s")) - check("pluggableharness.agent.model.call.duration", err) + check("pluggableharness.model.call.duration", err) - toolDuration, err := meter.Float64Histogram("pluggableharness.agent.tool.duration", + toolDuration, err := meter.Float64Histogram("pluggableharness.tool.duration", metric.WithDescription("Tool Invoke call duration."), metric.WithUnit("s")) - check("pluggableharness.agent.tool.duration", err) + check("pluggableharness.tool.duration", err) - hookDuration, err := meter.Float64Histogram("pluggableharness.agent.hook.dispatch.duration", + hookDuration, err := meter.Float64Histogram("pluggableharness.hook.dispatch.duration", metric.WithDescription("Hook dispatch duration, by hook.point."), metric.WithUnit("s")) - check("pluggableharness.agent.hook.dispatch.duration", err) + check("pluggableharness.hook.dispatch.duration", err) - activeSessions, err := meter.Int64UpDownCounter("pluggableharness.agent.sessions.active", + activeSessions, err := meter.Int64UpDownCounter("pluggableharness.sessions.active", metric.WithDescription("Currently active sessions (root + sub-agent).")) - check("pluggableharness.agent.sessions.active", err) + check("pluggableharness.sessions.active", err) - eventBusEventsPublished, err := meter.Int64Counter("pluggableharness.agent.eventbus.events.published", + eventBusEventsPublished, err := meter.Int64Counter("pluggableharness.eventbus.events.published", metric.WithDescription("internal/eventbus Publish calls that reached at least the fan-out step (topic is never an attribute here — see EventBusTopicKey's cardinality rule).")) - check("pluggableharness.agent.eventbus.events.published", err) + check("pluggableharness.eventbus.events.published", err) - eventBusEventsDelivered, err := meter.Int64Counter("pluggableharness.agent.eventbus.events.delivered", + eventBusEventsDelivered, err := meter.Int64Counter("pluggableharness.eventbus.events.delivered", metric.WithDescription("internal/eventbus handler invocations — one per (event, subscriber) pair actually delivered.")) - check("pluggableharness.agent.eventbus.events.delivered", err) + check("pluggableharness.eventbus.events.delivered", err) - eventBusSubscriptionsActive, err := meter.Int64UpDownCounter("pluggableharness.agent.eventbus.subscriptions.active", + eventBusSubscriptionsActive, err := meter.Int64UpDownCounter("pluggableharness.eventbus.subscriptions.active", metric.WithDescription("Currently open internal/eventbus subscriptions, across all topics.")) - check("pluggableharness.agent.eventbus.subscriptions.active", err) + check("pluggableharness.eventbus.subscriptions.active", err) if len(errs) > 0 { return nil, errors.Join(errs...) diff --git a/internal/telemetry/instrument_test.go b/internal/telemetry/instrument_test.go index 19de5f6..8aee409 100644 --- a/internal/telemetry/instrument_test.go +++ b/internal/telemetry/instrument_test.go @@ -44,7 +44,7 @@ var errFailingMeter = errors.New("instrument_test: forced failure") func TestNewInstruments_error(t *testing.T) { t.Parallel() - meter := failingMeter{Meter: noop.NewMeterProvider().Meter("test"), failName: "pluggableharness.agent.tokens"} + meter := failingMeter{Meter: noop.NewMeterProvider().Meter("test"), failName: "pluggableharness.tokens"} instruments, err := newInstruments(meter) if err == nil { diff --git a/internal/telemetry/usage_test.go b/internal/telemetry/usage_test.go index 1cb97fc..26e5f24 100644 --- a/internal/telemetry/usage_test.go +++ b/internal/telemetry/usage_test.go @@ -29,9 +29,9 @@ func TestRecordUsage_metrics(t *testing.T) { t.Fatalf("Collect: %v", err) } - tokens := findSum(t, rm, "pluggableharness.agent.tokens") + tokens := findSum(t, rm, "pluggableharness.tokens") if len(tokens.DataPoints) != 4 { - t.Fatalf("pluggableharness.agent.tokens data points = %d, want 4 (input/output/cache_read/cache_write)", len(tokens.DataPoints)) + t.Fatalf("pluggableharness.tokens data points = %d, want 4 (input/output/cache_read/cache_write)", len(tokens.DataPoints)) } var total int64 for _, dp := range tokens.DataPoints { @@ -41,9 +41,9 @@ func TestRecordUsage_metrics(t *testing.T) { t.Errorf("total tokens = %d, want 165", total) } - costUSD := findFloatSum(t, rm, "pluggableharness.agent.cost.usd") + costUSD := findFloatSum(t, rm, "pluggableharness.cost.usd") if len(costUSD.DataPoints) != 1 || costUSD.DataPoints[0].Value != 0.0123 { - t.Errorf("pluggableharness.agent.cost.usd data points = %+v, want one point of 0.0123", costUSD.DataPoints) + t.Errorf("pluggableharness.cost.usd data points = %+v, want one point of 0.0123", costUSD.DataPoints) } } @@ -64,15 +64,15 @@ func TestRecordUsage_zeroFieldsNotRecorded(t *testing.T) { t.Fatalf("Collect: %v", err) } - tokens := findSum(t, rm, "pluggableharness.agent.tokens") + tokens := findSum(t, rm, "pluggableharness.tokens") if len(tokens.DataPoints) != 1 { - t.Errorf("pluggableharness.agent.tokens data points = %d, want 1 (only input was non-zero)", len(tokens.DataPoints)) + t.Errorf("pluggableharness.tokens data points = %d, want 1 (only input was non-zero)", len(tokens.DataPoints)) } for _, sm := range rm.ScopeMetrics { for _, m := range sm.Metrics { - if m.Name == "pluggableharness.agent.cost.usd" { - t.Errorf("pluggableharness.agent.cost.usd recorded a data point despite CostUSD=0: %+v", m.Data) + if m.Name == "pluggableharness.cost.usd" { + t.Errorf("pluggableharness.cost.usd recorded a data point despite CostUSD=0: %+v", m.Data) } } } diff --git a/pkg/common/plugin.go b/pkg/common/plugin.go index bd7b26d..536179a 100644 --- a/pkg/common/plugin.go +++ b/pkg/common/plugin.go @@ -2,7 +2,7 @@ // PluggableHarness Agent plugin category (provider, tool, context, memory, frontend, // widget) and the kernel-side plugin runtime compile against identically: // the go-plugin handshake, the shared callback broker ID, and small helpers -// derived from the generated pluggableharness.agent.common.v1 types in ./proto/v1. It is +// derived from the generated pluggableharness.common.v1 types in ./proto/v1. It is // deliberately tiny — anything category-specific belongs in that category's // own pkg/ package, not here. package common diff --git a/pkg/common/proto/v1/common.pb.go b/pkg/common/proto/v1/common.pb.go index 75c2887..9c5a54b 100644 --- a/pkg/common/proto/v1/common.pb.go +++ b/pkg/common/proto/v1/common.pb.go @@ -2,9 +2,9 @@ // versions: // protoc-gen-go v1.36.11 // protoc (unknown) -// source: pluggableharness/agent/common/v1/common.proto +// source: pluggableharness/common/v1/common.proto -// Package pluggableharness.agent.common.v1 defines cross-cutting metadata and identity +// Package pluggableharness.common.v1 defines cross-cutting metadata and identity // types shared by every plugin category's protocol. It has no RPCs of its // own — it exists purely to be imported. See .claude/rules/proto.md for the // versioning and typing rules this file follows; a breaking change here is @@ -86,11 +86,11 @@ func (x Category) String() string { } func (Category) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_common_v1_common_proto_enumTypes[0].Descriptor() + return file_pluggableharness_common_v1_common_proto_enumTypes[0].Descriptor() } func (Category) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_common_v1_common_proto_enumTypes[0] + return &file_pluggableharness_common_v1_common_proto_enumTypes[0] } func (x Category) Number() protoreflect.EnumNumber { @@ -99,7 +99,7 @@ func (x Category) Number() protoreflect.EnumNumber { // Deprecated: Use Category.Descriptor instead. func (Category) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_common_v1_common_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_common_v1_common_proto_rawDescGZIP(), []int{0} } // HookPoint identifies one of the eight dispatchable points in the agent @@ -183,11 +183,11 @@ func (x HookPoint) String() string { } func (HookPoint) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_common_v1_common_proto_enumTypes[1].Descriptor() + return file_pluggableharness_common_v1_common_proto_enumTypes[1].Descriptor() } func (HookPoint) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_common_v1_common_proto_enumTypes[1] + return &file_pluggableharness_common_v1_common_proto_enumTypes[1] } func (x HookPoint) Number() protoreflect.EnumNumber { @@ -196,7 +196,7 @@ func (x HookPoint) Number() protoreflect.EnumNumber { // Deprecated: Use HookPoint.Descriptor instead. func (HookPoint) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_common_v1_common_proto_rawDescGZIP(), []int{1} + return file_pluggableharness_common_v1_common_proto_rawDescGZIP(), []int{1} } // ProducerRef identifies the exact plugin build that produced something: a @@ -221,7 +221,7 @@ type ProducerRef struct { // used in agent.hcl's provider {} and required_providers {} blocks. Source string `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"` // Which of the six plugin categories this producer implements. - Category Category `protobuf:"varint,4,opt,name=category,proto3,enum=pluggableharness.agent.common.v1.Category" json:"category,omitempty"` + Category Category `protobuf:"varint,4,opt,name=category,proto3,enum=pluggableharness.common.v1.Category" json:"category,omitempty"` // The go-plugin handshake protocol version this producer build was // compiled against (.claude/rules/plugin-runtime.md). A version bump // here always accompanies a proto package version bump (v1 -> v2) for @@ -233,7 +233,7 @@ type ProducerRef struct { func (x *ProducerRef) Reset() { *x = ProducerRef{} - mi := &file_pluggableharness_agent_common_v1_common_proto_msgTypes[0] + mi := &file_pluggableharness_common_v1_common_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -245,7 +245,7 @@ func (x *ProducerRef) String() string { func (*ProducerRef) ProtoMessage() {} func (x *ProducerRef) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_common_v1_common_proto_msgTypes[0] + mi := &file_pluggableharness_common_v1_common_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -258,7 +258,7 @@ func (x *ProducerRef) ProtoReflect() protoreflect.Message { // Deprecated: Use ProducerRef.ProtoReflect.Descriptor instead. func (*ProducerRef) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_common_v1_common_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_common_v1_common_proto_rawDescGZIP(), []int{0} } func (x *ProducerRef) GetName() string { @@ -306,7 +306,7 @@ func (x *ProducerRef) GetProtocolVersion() uint32 { type ProviderRef struct { state protoimpl.MessageState `protogen:"open.v1"` // Which of the six plugin categories this reference names. - Category Category `protobuf:"varint,1,opt,name=category,proto3,enum=pluggableharness.agent.common.v1.Category" json:"category,omitempty"` + Category Category `protobuf:"varint,1,opt,name=category,proto3,enum=pluggableharness.common.v1.Category" json:"category,omitempty"` // The plugin's declared name, e.g. "anthropic". Unique within a category, // not globally — matches ProducerRef.name's uniqueness scope. Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` @@ -316,7 +316,7 @@ type ProviderRef struct { func (x *ProviderRef) Reset() { *x = ProviderRef{} - mi := &file_pluggableharness_agent_common_v1_common_proto_msgTypes[1] + mi := &file_pluggableharness_common_v1_common_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -328,7 +328,7 @@ func (x *ProviderRef) String() string { func (*ProviderRef) ProtoMessage() {} func (x *ProviderRef) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_common_v1_common_proto_msgTypes[1] + mi := &file_pluggableharness_common_v1_common_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -341,7 +341,7 @@ func (x *ProviderRef) ProtoReflect() protoreflect.Message { // Deprecated: Use ProviderRef.ProtoReflect.Descriptor instead. func (*ProviderRef) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_common_v1_common_proto_rawDescGZIP(), []int{1} + return file_pluggableharness_common_v1_common_proto_rawDescGZIP(), []int{1} } func (x *ProviderRef) GetCategory() Category { @@ -381,7 +381,7 @@ type CallContext struct { func (x *CallContext) Reset() { *x = CallContext{} - mi := &file_pluggableharness_agent_common_v1_common_proto_msgTypes[2] + mi := &file_pluggableharness_common_v1_common_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -393,7 +393,7 @@ func (x *CallContext) String() string { func (*CallContext) ProtoMessage() {} func (x *CallContext) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_common_v1_common_proto_msgTypes[2] + mi := &file_pluggableharness_common_v1_common_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -406,7 +406,7 @@ func (x *CallContext) ProtoReflect() protoreflect.Message { // Deprecated: Use CallContext.ProtoReflect.Descriptor instead. func (*CallContext) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_common_v1_common_proto_rawDescGZIP(), []int{2} + return file_pluggableharness_common_v1_common_proto_rawDescGZIP(), []int{2} } func (x *CallContext) GetSessionId() string { @@ -430,19 +430,19 @@ func (x *CallContext) GetWorkingDirectory() string { return "" } -var File_pluggableharness_agent_common_v1_common_proto protoreflect.FileDescriptor +var File_pluggableharness_common_v1_common_proto protoreflect.FileDescriptor -const file_pluggableharness_agent_common_v1_common_proto_rawDesc = "" + +const file_pluggableharness_common_v1_common_proto_rawDesc = "" + "\n" + - "-pluggableharness/agent/common/v1/common.proto\x12 pluggableharness.agent.common.v1\"\xc6\x01\n" + + "'pluggableharness/common/v1/common.proto\x12\x1apluggableharness.common.v1\"\xc0\x01\n" + "\vProducerRef\x12\x12\n" + "\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" + "\aversion\x18\x02 \x01(\tR\aversion\x12\x16\n" + - "\x06source\x18\x03 \x01(\tR\x06source\x12F\n" + - "\bcategory\x18\x04 \x01(\x0e2*.pluggableharness.agent.common.v1.CategoryR\bcategory\x12)\n" + - "\x10protocol_version\x18\x05 \x01(\rR\x0fprotocolVersion\"i\n" + - "\vProviderRef\x12F\n" + - "\bcategory\x18\x01 \x01(\x0e2*.pluggableharness.agent.common.v1.CategoryR\bcategory\x12\x12\n" + + "\x06source\x18\x03 \x01(\tR\x06source\x12@\n" + + "\bcategory\x18\x04 \x01(\x0e2$.pluggableharness.common.v1.CategoryR\bcategory\x12)\n" + + "\x10protocol_version\x18\x05 \x01(\rR\x0fprotocolVersion\"c\n" + + "\vProviderRef\x12@\n" + + "\bcategory\x18\x01 \x01(\x0e2$.pluggableharness.common.v1.CategoryR\bcategory\x12\x12\n" + "\x04name\x18\x02 \x01(\tR\x04name\"r\n" + "\vCallContext\x12\x1d\n" + "\n" + @@ -469,29 +469,29 @@ const file_pluggableharness_agent_common_v1_common_proto_rawDesc = "" + "\x16HOOK_POINT_SESSION_END\x10\bB@Z>github.com/pluggableharness/agent/pkg/common/proto/v1;commonv1b\x06proto3" var ( - file_pluggableharness_agent_common_v1_common_proto_rawDescOnce sync.Once - file_pluggableharness_agent_common_v1_common_proto_rawDescData []byte + file_pluggableharness_common_v1_common_proto_rawDescOnce sync.Once + file_pluggableharness_common_v1_common_proto_rawDescData []byte ) -func file_pluggableharness_agent_common_v1_common_proto_rawDescGZIP() []byte { - file_pluggableharness_agent_common_v1_common_proto_rawDescOnce.Do(func() { - file_pluggableharness_agent_common_v1_common_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_common_v1_common_proto_rawDesc), len(file_pluggableharness_agent_common_v1_common_proto_rawDesc))) +func file_pluggableharness_common_v1_common_proto_rawDescGZIP() []byte { + file_pluggableharness_common_v1_common_proto_rawDescOnce.Do(func() { + file_pluggableharness_common_v1_common_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pluggableharness_common_v1_common_proto_rawDesc), len(file_pluggableharness_common_v1_common_proto_rawDesc))) }) - return file_pluggableharness_agent_common_v1_common_proto_rawDescData + return file_pluggableharness_common_v1_common_proto_rawDescData } -var file_pluggableharness_agent_common_v1_common_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_pluggableharness_agent_common_v1_common_proto_msgTypes = make([]protoimpl.MessageInfo, 3) -var file_pluggableharness_agent_common_v1_common_proto_goTypes = []any{ - (Category)(0), // 0: pluggableharness.agent.common.v1.Category - (HookPoint)(0), // 1: pluggableharness.agent.common.v1.HookPoint - (*ProducerRef)(nil), // 2: pluggableharness.agent.common.v1.ProducerRef - (*ProviderRef)(nil), // 3: pluggableharness.agent.common.v1.ProviderRef - (*CallContext)(nil), // 4: pluggableharness.agent.common.v1.CallContext +var file_pluggableharness_common_v1_common_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_pluggableharness_common_v1_common_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_pluggableharness_common_v1_common_proto_goTypes = []any{ + (Category)(0), // 0: pluggableharness.common.v1.Category + (HookPoint)(0), // 1: pluggableharness.common.v1.HookPoint + (*ProducerRef)(nil), // 2: pluggableharness.common.v1.ProducerRef + (*ProviderRef)(nil), // 3: pluggableharness.common.v1.ProviderRef + (*CallContext)(nil), // 4: pluggableharness.common.v1.CallContext } -var file_pluggableharness_agent_common_v1_common_proto_depIdxs = []int32{ - 0, // 0: pluggableharness.agent.common.v1.ProducerRef.category:type_name -> pluggableharness.agent.common.v1.Category - 0, // 1: pluggableharness.agent.common.v1.ProviderRef.category:type_name -> pluggableharness.agent.common.v1.Category +var file_pluggableharness_common_v1_common_proto_depIdxs = []int32{ + 0, // 0: pluggableharness.common.v1.ProducerRef.category:type_name -> pluggableharness.common.v1.Category + 0, // 1: pluggableharness.common.v1.ProviderRef.category:type_name -> pluggableharness.common.v1.Category 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name @@ -499,27 +499,27 @@ var file_pluggableharness_agent_common_v1_common_proto_depIdxs = []int32{ 0, // [0:2] is the sub-list for field type_name } -func init() { file_pluggableharness_agent_common_v1_common_proto_init() } -func file_pluggableharness_agent_common_v1_common_proto_init() { - if File_pluggableharness_agent_common_v1_common_proto != nil { +func init() { file_pluggableharness_common_v1_common_proto_init() } +func file_pluggableharness_common_v1_common_proto_init() { + if File_pluggableharness_common_v1_common_proto != nil { return } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_common_v1_common_proto_rawDesc), len(file_pluggableharness_agent_common_v1_common_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_common_v1_common_proto_rawDesc), len(file_pluggableharness_common_v1_common_proto_rawDesc)), NumEnums: 2, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, - GoTypes: file_pluggableharness_agent_common_v1_common_proto_goTypes, - DependencyIndexes: file_pluggableharness_agent_common_v1_common_proto_depIdxs, - EnumInfos: file_pluggableharness_agent_common_v1_common_proto_enumTypes, - MessageInfos: file_pluggableharness_agent_common_v1_common_proto_msgTypes, + GoTypes: file_pluggableharness_common_v1_common_proto_goTypes, + DependencyIndexes: file_pluggableharness_common_v1_common_proto_depIdxs, + EnumInfos: file_pluggableharness_common_v1_common_proto_enumTypes, + MessageInfos: file_pluggableharness_common_v1_common_proto_msgTypes, }.Build() - File_pluggableharness_agent_common_v1_common_proto = out.File - file_pluggableharness_agent_common_v1_common_proto_goTypes = nil - file_pluggableharness_agent_common_v1_common_proto_depIdxs = nil + File_pluggableharness_common_v1_common_proto = out.File + file_pluggableharness_common_v1_common_proto_goTypes = nil + file_pluggableharness_common_v1_common_proto_depIdxs = nil } diff --git a/pkg/config/proto/v1/config.pb.go b/pkg/config/proto/v1/config.pb.go index a7326e2..2040b78 100644 --- a/pkg/config/proto/v1/config.pb.go +++ b/pkg/config/proto/v1/config.pb.go @@ -2,9 +2,9 @@ // versions: // protoc-gen-go v1.36.11 // protoc (unknown) -// source: pluggableharness/agent/config/v1/config.proto +// source: pluggableharness/config/v1/config.proto -// Package pluggableharness.agent.config.v1 defines the on-the-wire config-schema +// Package pluggableharness.config.v1 defines the on-the-wire config-schema // advertisement described in specifications/configuration.md §4. This is // what a provider returns alongside its capabilities so the kernel knows // what agent.hcl fields it accepts; the schema-to-cty bridge itself (HCL @@ -83,11 +83,11 @@ func (x AttrType) String() string { } func (AttrType) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_config_v1_config_proto_enumTypes[0].Descriptor() + return file_pluggableharness_config_v1_config_proto_enumTypes[0].Descriptor() } func (AttrType) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_config_v1_config_proto_enumTypes[0] + return &file_pluggableharness_config_v1_config_proto_enumTypes[0] } func (x AttrType) Number() protoreflect.EnumNumber { @@ -96,7 +96,7 @@ func (x AttrType) Number() protoreflect.EnumNumber { // Deprecated: Use AttrType.Descriptor instead. func (AttrType) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_config_v1_config_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_config_v1_config_proto_rawDescGZIP(), []int{0} } // ConfigAttribute declares one field a provider's agent.hcl config block @@ -106,7 +106,7 @@ type ConfigAttribute struct { // The attribute's name, as it appears in the HCL block body. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The attribute's type. - Type AttrType `protobuf:"varint,2,opt,name=type,proto3,enum=pluggableharness.agent.config.v1.AttrType" json:"type,omitempty"` + Type AttrType `protobuf:"varint,2,opt,name=type,proto3,enum=pluggableharness.config.v1.AttrType" json:"type,omitempty"` // Whether agent.hcl MUST set this attribute. The kernel MUST reject a // Configure call with a missing required attribute via a structured // error, per model.md §3 / tool.md §3's shared Configure contract. @@ -150,7 +150,7 @@ type ConfigAttribute struct { func (x *ConfigAttribute) Reset() { *x = ConfigAttribute{} - mi := &file_pluggableharness_agent_config_v1_config_proto_msgTypes[0] + mi := &file_pluggableharness_config_v1_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -162,7 +162,7 @@ func (x *ConfigAttribute) String() string { func (*ConfigAttribute) ProtoMessage() {} func (x *ConfigAttribute) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_config_v1_config_proto_msgTypes[0] + mi := &file_pluggableharness_config_v1_config_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -175,7 +175,7 @@ func (x *ConfigAttribute) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigAttribute.ProtoReflect.Descriptor instead. func (*ConfigAttribute) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_config_v1_config_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_config_v1_config_proto_rawDescGZIP(), []int{0} } func (x *ConfigAttribute) GetName() string { @@ -239,7 +239,7 @@ type ConfigSchema struct { func (x *ConfigSchema) Reset() { *x = ConfigSchema{} - mi := &file_pluggableharness_agent_config_v1_config_proto_msgTypes[1] + mi := &file_pluggableharness_config_v1_config_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -251,7 +251,7 @@ func (x *ConfigSchema) String() string { func (*ConfigSchema) ProtoMessage() {} func (x *ConfigSchema) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_config_v1_config_proto_msgTypes[1] + mi := &file_pluggableharness_config_v1_config_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -264,7 +264,7 @@ func (x *ConfigSchema) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigSchema.ProtoReflect.Descriptor instead. func (*ConfigSchema) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_config_v1_config_proto_rawDescGZIP(), []int{1} + return file_pluggableharness_config_v1_config_proto_rawDescGZIP(), []int{1} } func (x *ConfigSchema) GetAttributes() []*ConfigAttribute { @@ -274,23 +274,23 @@ func (x *ConfigSchema) GetAttributes() []*ConfigAttribute { return nil } -var File_pluggableharness_agent_config_v1_config_proto protoreflect.FileDescriptor +var File_pluggableharness_config_v1_config_proto protoreflect.FileDescriptor -const file_pluggableharness_agent_config_v1_config_proto_rawDesc = "" + +const file_pluggableharness_config_v1_config_proto_rawDesc = "" + "\n" + - "-pluggableharness/agent/config/v1/config.proto\x12 pluggableharness.agent.config.v1\"\xda\x02\n" + + "'pluggableharness/config/v1/config.proto\x12\x1apluggableharness.config.v1\"\xce\x02\n" + "\x0fConfigAttribute\x12\x12\n" + - "\x04name\x18\x01 \x01(\tR\x04name\x12>\n" + - "\x04type\x18\x02 \x01(\x0e2*.pluggableharness.agent.config.v1.AttrTypeR\x04type\x12\x1a\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x128\n" + + "\x04type\x18\x02 \x01(\x0e2$.pluggableharness.config.v1.AttrTypeR\x04type\x12\x1a\n" + "\brequired\x18\x03 \x01(\bR\brequired\x12\x1c\n" + "\tsensitive\x18\x04 \x01(\bR\tsensitive\x12 \n" + - "\vdescription\x18\x05 \x01(\tR\vdescription\x12^\n" + - "\x11object_attributes\x18\x06 \x03(\v21.pluggableharness.agent.config.v1.ConfigAttributeR\x10objectAttributes\x12&\n" + + "\vdescription\x18\x05 \x01(\tR\vdescription\x12X\n" + + "\x11object_attributes\x18\x06 \x03(\v2+.pluggableharness.config.v1.ConfigAttributeR\x10objectAttributes\x12&\n" + "\fdefault_json\x18\a \x01(\tH\x00R\vdefaultJson\x88\x01\x01B\x0f\n" + - "\r_default_json\"a\n" + - "\fConfigSchema\x12Q\n" + + "\r_default_json\"[\n" + + "\fConfigSchema\x12K\n" + "\n" + - "attributes\x18\x01 \x03(\v21.pluggableharness.agent.config.v1.ConfigAttributeR\n" + + "attributes\x18\x01 \x03(\v2+.pluggableharness.config.v1.ConfigAttributeR\n" + "attributes*\xcb\x01\n" + "\bAttrType\x12\x19\n" + "\x15ATTR_TYPE_UNSPECIFIED\x10\x00\x12\x14\n" + @@ -303,28 +303,28 @@ const file_pluggableharness_agent_config_v1_config_proto_rawDesc = "" + "\x10ATTR_TYPE_OBJECT\x10\aB@Z>github.com/pluggableharness/agent/pkg/config/proto/v1;configv1b\x06proto3" var ( - file_pluggableharness_agent_config_v1_config_proto_rawDescOnce sync.Once - file_pluggableharness_agent_config_v1_config_proto_rawDescData []byte + file_pluggableharness_config_v1_config_proto_rawDescOnce sync.Once + file_pluggableharness_config_v1_config_proto_rawDescData []byte ) -func file_pluggableharness_agent_config_v1_config_proto_rawDescGZIP() []byte { - file_pluggableharness_agent_config_v1_config_proto_rawDescOnce.Do(func() { - file_pluggableharness_agent_config_v1_config_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_config_v1_config_proto_rawDesc), len(file_pluggableharness_agent_config_v1_config_proto_rawDesc))) +func file_pluggableharness_config_v1_config_proto_rawDescGZIP() []byte { + file_pluggableharness_config_v1_config_proto_rawDescOnce.Do(func() { + file_pluggableharness_config_v1_config_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pluggableharness_config_v1_config_proto_rawDesc), len(file_pluggableharness_config_v1_config_proto_rawDesc))) }) - return file_pluggableharness_agent_config_v1_config_proto_rawDescData + return file_pluggableharness_config_v1_config_proto_rawDescData } -var file_pluggableharness_agent_config_v1_config_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_pluggableharness_agent_config_v1_config_proto_msgTypes = make([]protoimpl.MessageInfo, 2) -var file_pluggableharness_agent_config_v1_config_proto_goTypes = []any{ - (AttrType)(0), // 0: pluggableharness.agent.config.v1.AttrType - (*ConfigAttribute)(nil), // 1: pluggableharness.agent.config.v1.ConfigAttribute - (*ConfigSchema)(nil), // 2: pluggableharness.agent.config.v1.ConfigSchema +var file_pluggableharness_config_v1_config_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_pluggableharness_config_v1_config_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_pluggableharness_config_v1_config_proto_goTypes = []any{ + (AttrType)(0), // 0: pluggableharness.config.v1.AttrType + (*ConfigAttribute)(nil), // 1: pluggableharness.config.v1.ConfigAttribute + (*ConfigSchema)(nil), // 2: pluggableharness.config.v1.ConfigSchema } -var file_pluggableharness_agent_config_v1_config_proto_depIdxs = []int32{ - 0, // 0: pluggableharness.agent.config.v1.ConfigAttribute.type:type_name -> pluggableharness.agent.config.v1.AttrType - 1, // 1: pluggableharness.agent.config.v1.ConfigAttribute.object_attributes:type_name -> pluggableharness.agent.config.v1.ConfigAttribute - 1, // 2: pluggableharness.agent.config.v1.ConfigSchema.attributes:type_name -> pluggableharness.agent.config.v1.ConfigAttribute +var file_pluggableharness_config_v1_config_proto_depIdxs = []int32{ + 0, // 0: pluggableharness.config.v1.ConfigAttribute.type:type_name -> pluggableharness.config.v1.AttrType + 1, // 1: pluggableharness.config.v1.ConfigAttribute.object_attributes:type_name -> pluggableharness.config.v1.ConfigAttribute + 1, // 2: pluggableharness.config.v1.ConfigSchema.attributes:type_name -> pluggableharness.config.v1.ConfigAttribute 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name @@ -332,28 +332,28 @@ var file_pluggableharness_agent_config_v1_config_proto_depIdxs = []int32{ 0, // [0:3] is the sub-list for field type_name } -func init() { file_pluggableharness_agent_config_v1_config_proto_init() } -func file_pluggableharness_agent_config_v1_config_proto_init() { - if File_pluggableharness_agent_config_v1_config_proto != nil { +func init() { file_pluggableharness_config_v1_config_proto_init() } +func file_pluggableharness_config_v1_config_proto_init() { + if File_pluggableharness_config_v1_config_proto != nil { return } - file_pluggableharness_agent_config_v1_config_proto_msgTypes[0].OneofWrappers = []any{} + file_pluggableharness_config_v1_config_proto_msgTypes[0].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_config_v1_config_proto_rawDesc), len(file_pluggableharness_agent_config_v1_config_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_config_v1_config_proto_rawDesc), len(file_pluggableharness_config_v1_config_proto_rawDesc)), NumEnums: 1, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, - GoTypes: file_pluggableharness_agent_config_v1_config_proto_goTypes, - DependencyIndexes: file_pluggableharness_agent_config_v1_config_proto_depIdxs, - EnumInfos: file_pluggableharness_agent_config_v1_config_proto_enumTypes, - MessageInfos: file_pluggableharness_agent_config_v1_config_proto_msgTypes, + GoTypes: file_pluggableharness_config_v1_config_proto_goTypes, + DependencyIndexes: file_pluggableharness_config_v1_config_proto_depIdxs, + EnumInfos: file_pluggableharness_config_v1_config_proto_enumTypes, + MessageInfos: file_pluggableharness_config_v1_config_proto_msgTypes, }.Build() - File_pluggableharness_agent_config_v1_config_proto = out.File - file_pluggableharness_agent_config_v1_config_proto_goTypes = nil - file_pluggableharness_agent_config_v1_config_proto_depIdxs = nil + File_pluggableharness_config_v1_config_proto = out.File + file_pluggableharness_config_v1_config_proto_goTypes = nil + file_pluggableharness_config_v1_config_proto_depIdxs = nil } diff --git a/pkg/content/proto/v1/content.pb.go b/pkg/content/proto/v1/content.pb.go index ee87916..c7e8ace 100644 --- a/pkg/content/proto/v1/content.pb.go +++ b/pkg/content/proto/v1/content.pb.go @@ -2,9 +2,9 @@ // versions: // protoc-gen-go v1.36.11 // protoc (unknown) -// source: pluggableharness/agent/content/v1/content.proto +// source: pluggableharness/content/v1/content.proto -// Package pluggableharness.agent.content.v1 defines the canonical content-block message +// Package pluggableharness.content.v1 defines the canonical content-block message // schema described in specifications/model.md §5 — the state backend's // source of truth for conversation history (state-backend.md §5's `message` // event kind). Every model-provider adapter translates its own vendor @@ -82,11 +82,11 @@ func (x Role) String() string { } func (Role) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_content_v1_content_proto_enumTypes[0].Descriptor() + return file_pluggableharness_content_v1_content_proto_enumTypes[0].Descriptor() } func (Role) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_content_v1_content_proto_enumTypes[0] + return &file_pluggableharness_content_v1_content_proto_enumTypes[0] } func (x Role) Number() protoreflect.EnumNumber { @@ -95,12 +95,12 @@ func (x Role) Number() protoreflect.EnumNumber { // Deprecated: Use Role.Descriptor instead. func (Role) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_content_v1_content_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_content_v1_content_proto_rawDescGZIP(), []int{0} } // Stability hints whether a ContextSection's content changes turn to turn, // used both as a context provider's ContextCapabilities-level declaration -// (pluggableharness.agent.context.v1.ContextCapabilities.stability) and +// (pluggableharness.context.v1.ContextCapabilities.stability) and // per ContextSection below. context.md §7: this is a direct translation of // the research's strongest cross-cutting finding — harnesses converge on a // tools -> system -> static-project-context -> conversation-tail prefix @@ -144,11 +144,11 @@ func (x Stability) String() string { } func (Stability) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_content_v1_content_proto_enumTypes[1].Descriptor() + return file_pluggableharness_content_v1_content_proto_enumTypes[1].Descriptor() } func (Stability) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_content_v1_content_proto_enumTypes[1] + return &file_pluggableharness_content_v1_content_proto_enumTypes[1] } func (x Stability) Number() protoreflect.EnumNumber { @@ -157,7 +157,7 @@ func (x Stability) Number() protoreflect.EnumNumber { // Deprecated: Use Stability.Descriptor instead. func (Stability) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_content_v1_content_proto_rawDescGZIP(), []int{1} + return file_pluggableharness_content_v1_content_proto_rawDescGZIP(), []int{1} } // Message is one turn in the canonical conversation history: a role plus @@ -166,7 +166,7 @@ func (Stability) EnumDescriptor() ([]byte, []int) { type Message struct { state protoimpl.MessageState `protogen:"open.v1"` // Which party produced this message. MUST be set. - Role Role `protobuf:"varint,1,opt,name=role,proto3,enum=pluggableharness.agent.content.v1.Role" json:"role,omitempty"` + Role Role `protobuf:"varint,1,opt,name=role,proto3,enum=pluggableharness.content.v1.Role" json:"role,omitempty"` // The message's content, in emission order. A single message MAY carry // multiple blocks (e.g. an assistant turn with both text and a tool_use). Content []*ContentBlock `protobuf:"bytes,2,rep,name=content,proto3" json:"content,omitempty"` @@ -204,7 +204,7 @@ type Message struct { func (x *Message) Reset() { *x = Message{} - mi := &file_pluggableharness_agent_content_v1_content_proto_msgTypes[0] + mi := &file_pluggableharness_content_v1_content_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -216,7 +216,7 @@ func (x *Message) String() string { func (*Message) ProtoMessage() {} func (x *Message) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_content_v1_content_proto_msgTypes[0] + mi := &file_pluggableharness_content_v1_content_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -229,7 +229,7 @@ func (x *Message) ProtoReflect() protoreflect.Message { // Deprecated: Use Message.ProtoReflect.Descriptor instead. func (*Message) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_content_v1_content_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_content_v1_content_proto_rawDescGZIP(), []int{0} } func (x *Message) GetRole() Role { @@ -291,7 +291,7 @@ type ContentBlock struct { func (x *ContentBlock) Reset() { *x = ContentBlock{} - mi := &file_pluggableharness_agent_content_v1_content_proto_msgTypes[1] + mi := &file_pluggableharness_content_v1_content_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -303,7 +303,7 @@ func (x *ContentBlock) String() string { func (*ContentBlock) ProtoMessage() {} func (x *ContentBlock) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_content_v1_content_proto_msgTypes[1] + mi := &file_pluggableharness_content_v1_content_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -316,7 +316,7 @@ func (x *ContentBlock) ProtoReflect() protoreflect.Message { // Deprecated: Use ContentBlock.ProtoReflect.Descriptor instead. func (*ContentBlock) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_content_v1_content_proto_rawDescGZIP(), []int{1} + return file_pluggableharness_content_v1_content_proto_rawDescGZIP(), []int{1} } func (x *ContentBlock) GetBlock() isContentBlock_Block { @@ -447,7 +447,7 @@ type TextBlock struct { func (x *TextBlock) Reset() { *x = TextBlock{} - mi := &file_pluggableharness_agent_content_v1_content_proto_msgTypes[2] + mi := &file_pluggableharness_content_v1_content_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -459,7 +459,7 @@ func (x *TextBlock) String() string { func (*TextBlock) ProtoMessage() {} func (x *TextBlock) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_content_v1_content_proto_msgTypes[2] + mi := &file_pluggableharness_content_v1_content_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -472,7 +472,7 @@ func (x *TextBlock) ProtoReflect() protoreflect.Message { // Deprecated: Use TextBlock.ProtoReflect.Descriptor instead. func (*TextBlock) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_content_v1_content_proto_rawDescGZIP(), []int{2} + return file_pluggableharness_content_v1_content_proto_rawDescGZIP(), []int{2} } func (x *TextBlock) GetText() string { @@ -493,7 +493,7 @@ type ToolUseBlock struct { // The tool's declared name (tool.md §2 ToolSchema.name). Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // The call's arguments, already parsed — conforms to the tool's - // input_schema (pluggableharness.agent.schema.v1.Schema). A Struct because the shape is + // input_schema (pluggableharness.schema.v1.Schema). A Struct because the shape is // genuinely runtime-defined per tool, not fixed at the proto level (see // .claude/rules/proto.md's Struct carve-out). Arguments *structpb.Struct `protobuf:"bytes,3,opt,name=arguments,proto3" json:"arguments,omitempty"` @@ -503,7 +503,7 @@ type ToolUseBlock struct { func (x *ToolUseBlock) Reset() { *x = ToolUseBlock{} - mi := &file_pluggableharness_agent_content_v1_content_proto_msgTypes[3] + mi := &file_pluggableharness_content_v1_content_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -515,7 +515,7 @@ func (x *ToolUseBlock) String() string { func (*ToolUseBlock) ProtoMessage() {} func (x *ToolUseBlock) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_content_v1_content_proto_msgTypes[3] + mi := &file_pluggableharness_content_v1_content_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -528,7 +528,7 @@ func (x *ToolUseBlock) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolUseBlock.ProtoReflect.Descriptor instead. func (*ToolUseBlock) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_content_v1_content_proto_rawDescGZIP(), []int{3} + return file_pluggableharness_content_v1_content_proto_rawDescGZIP(), []int{3} } func (x *ToolUseBlock) GetId() string { @@ -575,7 +575,7 @@ type ToolResultBlock struct { func (x *ToolResultBlock) Reset() { *x = ToolResultBlock{} - mi := &file_pluggableharness_agent_content_v1_content_proto_msgTypes[4] + mi := &file_pluggableharness_content_v1_content_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -587,7 +587,7 @@ func (x *ToolResultBlock) String() string { func (*ToolResultBlock) ProtoMessage() {} func (x *ToolResultBlock) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_content_v1_content_proto_msgTypes[4] + mi := &file_pluggableharness_content_v1_content_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -600,7 +600,7 @@ func (x *ToolResultBlock) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolResultBlock.ProtoReflect.Descriptor instead. func (*ToolResultBlock) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_content_v1_content_proto_rawDescGZIP(), []int{4} + return file_pluggableharness_content_v1_content_proto_rawDescGZIP(), []int{4} } func (x *ToolResultBlock) GetToolUseId() string { @@ -640,7 +640,7 @@ type ImageBlock struct { func (x *ImageBlock) Reset() { *x = ImageBlock{} - mi := &file_pluggableharness_agent_content_v1_content_proto_msgTypes[5] + mi := &file_pluggableharness_content_v1_content_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -652,7 +652,7 @@ func (x *ImageBlock) String() string { func (*ImageBlock) ProtoMessage() {} func (x *ImageBlock) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_content_v1_content_proto_msgTypes[5] + mi := &file_pluggableharness_content_v1_content_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -665,7 +665,7 @@ func (x *ImageBlock) ProtoReflect() protoreflect.Message { // Deprecated: Use ImageBlock.ProtoReflect.Descriptor instead. func (*ImageBlock) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_content_v1_content_proto_rawDescGZIP(), []int{5} + return file_pluggableharness_content_v1_content_proto_rawDescGZIP(), []int{5} } func (x *ImageBlock) GetData() []byte { @@ -702,7 +702,7 @@ type ThinkingBlock struct { func (x *ThinkingBlock) Reset() { *x = ThinkingBlock{} - mi := &file_pluggableharness_agent_content_v1_content_proto_msgTypes[6] + mi := &file_pluggableharness_content_v1_content_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -714,7 +714,7 @@ func (x *ThinkingBlock) String() string { func (*ThinkingBlock) ProtoMessage() {} func (x *ThinkingBlock) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_content_v1_content_proto_msgTypes[6] + mi := &file_pluggableharness_content_v1_content_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -727,7 +727,7 @@ func (x *ThinkingBlock) ProtoReflect() protoreflect.Message { // Deprecated: Use ThinkingBlock.ProtoReflect.Descriptor instead. func (*ThinkingBlock) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_content_v1_content_proto_rawDescGZIP(), []int{6} + return file_pluggableharness_content_v1_content_proto_rawDescGZIP(), []int{6} } func (x *ThinkingBlock) GetText() string { @@ -758,7 +758,7 @@ type RedactedThinkingBlock struct { func (x *RedactedThinkingBlock) Reset() { *x = RedactedThinkingBlock{} - mi := &file_pluggableharness_agent_content_v1_content_proto_msgTypes[7] + mi := &file_pluggableharness_content_v1_content_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -770,7 +770,7 @@ func (x *RedactedThinkingBlock) String() string { func (*RedactedThinkingBlock) ProtoMessage() {} func (x *RedactedThinkingBlock) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_content_v1_content_proto_msgTypes[7] + mi := &file_pluggableharness_content_v1_content_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -783,7 +783,7 @@ func (x *RedactedThinkingBlock) ProtoReflect() protoreflect.Message { // Deprecated: Use RedactedThinkingBlock.ProtoReflect.Descriptor instead. func (*RedactedThinkingBlock) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_content_v1_content_proto_rawDescGZIP(), []int{7} + return file_pluggableharness_content_v1_content_proto_rawDescGZIP(), []int{7} } func (x *RedactedThinkingBlock) GetData() []byte { @@ -815,7 +815,7 @@ type DocumentBlock struct { func (x *DocumentBlock) Reset() { *x = DocumentBlock{} - mi := &file_pluggableharness_agent_content_v1_content_proto_msgTypes[8] + mi := &file_pluggableharness_content_v1_content_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -827,7 +827,7 @@ func (x *DocumentBlock) String() string { func (*DocumentBlock) ProtoMessage() {} func (x *DocumentBlock) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_content_v1_content_proto_msgTypes[8] + mi := &file_pluggableharness_content_v1_content_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -840,7 +840,7 @@ func (x *DocumentBlock) ProtoReflect() protoreflect.Message { // Deprecated: Use DocumentBlock.ProtoReflect.Descriptor instead. func (*DocumentBlock) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_content_v1_content_proto_rawDescGZIP(), []int{8} + return file_pluggableharness_content_v1_content_proto_rawDescGZIP(), []int{8} } func (x *DocumentBlock) GetData() []byte { @@ -885,7 +885,7 @@ type ContextSection struct { // MUST be set. context.md §4. Tokens int64 `protobuf:"varint,4,opt,name=tokens,proto3" json:"tokens,omitempty"` // Whether this section's content changes turn to turn. context.md §7. - Stability Stability `protobuf:"varint,5,opt,name=stability,proto3,enum=pluggableharness.agent.content.v1.Stability" json:"stability,omitempty"` + Stability Stability `protobuf:"varint,5,opt,name=stability,proto3,enum=pluggableharness.content.v1.Stability" json:"stability,omitempty"` // Whether this section was truncated to fit its budget. Per context.md // §6, setting this true is not itself sufficient to satisfy the budget // constraint — a section that still exceeds token_budget MUST be @@ -897,7 +897,7 @@ type ContextSection struct { func (x *ContextSection) Reset() { *x = ContextSection{} - mi := &file_pluggableharness_agent_content_v1_content_proto_msgTypes[9] + mi := &file_pluggableharness_content_v1_content_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -909,7 +909,7 @@ func (x *ContextSection) String() string { func (*ContextSection) ProtoMessage() {} func (x *ContextSection) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_content_v1_content_proto_msgTypes[9] + mi := &file_pluggableharness_content_v1_content_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -922,7 +922,7 @@ func (x *ContextSection) ProtoReflect() protoreflect.Message { // Deprecated: Use ContextSection.ProtoReflect.Descriptor instead. func (*ContextSection) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_content_v1_content_proto_rawDescGZIP(), []int{9} + return file_pluggableharness_content_v1_content_proto_rawDescGZIP(), []int{9} } func (x *ContextSection) GetProvider() string { @@ -967,38 +967,38 @@ func (x *ContextSection) GetTruncated() bool { return false } -var File_pluggableharness_agent_content_v1_content_proto protoreflect.FileDescriptor +var File_pluggableharness_content_v1_content_proto protoreflect.FileDescriptor -const file_pluggableharness_agent_content_v1_content_proto_rawDesc = "" + +const file_pluggableharness_content_v1_content_proto_rawDesc = "" + "\n" + - "/pluggableharness/agent/content/v1/content.proto\x12!pluggableharness.agent.content.v1\x1a\x1cgoogle/protobuf/struct.proto\"\xc0\x02\n" + - "\aMessage\x12;\n" + - "\x04role\x18\x01 \x01(\x0e2'.pluggableharness.agent.content.v1.RoleR\x04role\x12I\n" + - "\acontent\x18\x02 \x03(\v2/.pluggableharness.agent.content.v1.ContentBlockR\acontent\x12\x0e\n" + + ")pluggableharness/content/v1/content.proto\x12\x1bpluggableharness.content.v1\x1a\x1cgoogle/protobuf/struct.proto\"\xb4\x02\n" + + "\aMessage\x125\n" + + "\x04role\x18\x01 \x01(\x0e2!.pluggableharness.content.v1.RoleR\x04role\x12C\n" + + "\acontent\x18\x02 \x03(\v2).pluggableharness.content.v1.ContentBlockR\acontent\x12\x0e\n" + "\x02id\x18\x03 \x01(\tR\x02id\x124\n" + "\x14produced_by_model_id\x18\x04 \x01(\tH\x00R\x11producedByModelId\x88\x01\x01\x125\n" + "\x14produced_by_provider\x18\x05 \x01(\tH\x01R\x12producedByProvider\x88\x01\x01B\x17\n" + "\x15_produced_by_model_idB\x17\n" + - "\x15_produced_by_provider\"\xd0\x04\n" + - "\fContentBlock\x12B\n" + - "\x04text\x18\x01 \x01(\v2,.pluggableharness.agent.content.v1.TextBlockH\x00R\x04text\x12L\n" + - "\btool_use\x18\x02 \x01(\v2/.pluggableharness.agent.content.v1.ToolUseBlockH\x00R\atoolUse\x12U\n" + - "\vtool_result\x18\x03 \x01(\v22.pluggableharness.agent.content.v1.ToolResultBlockH\x00R\n" + - "toolResult\x12E\n" + - "\x05image\x18\x04 \x01(\v2-.pluggableharness.agent.content.v1.ImageBlockH\x00R\x05image\x12N\n" + - "\bthinking\x18\x05 \x01(\v20.pluggableharness.agent.content.v1.ThinkingBlockH\x00R\bthinking\x12g\n" + - "\x11redacted_thinking\x18\x06 \x01(\v28.pluggableharness.agent.content.v1.RedactedThinkingBlockH\x00R\x10redactedThinking\x12N\n" + - "\bdocument\x18\a \x01(\v20.pluggableharness.agent.content.v1.DocumentBlockH\x00R\bdocumentB\a\n" + + "\x15_produced_by_provider\"\xa6\x04\n" + + "\fContentBlock\x12<\n" + + "\x04text\x18\x01 \x01(\v2&.pluggableharness.content.v1.TextBlockH\x00R\x04text\x12F\n" + + "\btool_use\x18\x02 \x01(\v2).pluggableharness.content.v1.ToolUseBlockH\x00R\atoolUse\x12O\n" + + "\vtool_result\x18\x03 \x01(\v2,.pluggableharness.content.v1.ToolResultBlockH\x00R\n" + + "toolResult\x12?\n" + + "\x05image\x18\x04 \x01(\v2'.pluggableharness.content.v1.ImageBlockH\x00R\x05image\x12H\n" + + "\bthinking\x18\x05 \x01(\v2*.pluggableharness.content.v1.ThinkingBlockH\x00R\bthinking\x12a\n" + + "\x11redacted_thinking\x18\x06 \x01(\v22.pluggableharness.content.v1.RedactedThinkingBlockH\x00R\x10redactedThinking\x12H\n" + + "\bdocument\x18\a \x01(\v2*.pluggableharness.content.v1.DocumentBlockH\x00R\bdocumentB\a\n" + "\x05block\"\x1f\n" + "\tTextBlock\x12\x12\n" + "\x04text\x18\x01 \x01(\tR\x04text\"i\n" + "\fToolUseBlock\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + "\x04name\x18\x02 \x01(\tR\x04name\x125\n" + - "\targuments\x18\x03 \x01(\v2\x17.google.protobuf.StructR\targuments\"\x97\x01\n" + + "\targuments\x18\x03 \x01(\v2\x17.google.protobuf.StructR\targuments\"\x91\x01\n" + "\x0fToolResultBlock\x12\x1e\n" + - "\vtool_use_id\x18\x01 \x01(\tR\ttoolUseId\x12I\n" + - "\acontent\x18\x02 \x03(\v2/.pluggableharness.agent.content.v1.ContentBlockR\acontent\x12\x19\n" + + "\vtool_use_id\x18\x01 \x01(\tR\ttoolUseId\x12C\n" + + "\acontent\x18\x02 \x03(\v2).pluggableharness.content.v1.ContentBlockR\acontent\x12\x19\n" + "\bis_error\x18\x03 \x01(\bR\aisError\"?\n" + "\n" + "ImageBlock\x12\x12\n" + @@ -1015,13 +1015,13 @@ const file_pluggableharness_agent_content_v1_content_proto_rawDesc = "" + "\n" + "media_type\x18\x02 \x01(\tR\tmediaType\x12\x1f\n" + "\bfilename\x18\x03 \x01(\tH\x00R\bfilename\x88\x01\x01B\v\n" + - "\t_filename\"\x8f\x02\n" + + "\t_filename\"\x83\x02\n" + "\x0eContextSection\x12\x1a\n" + "\bprovider\x18\x01 \x01(\tR\bprovider\x12\x14\n" + - "\x05label\x18\x02 \x01(\tR\x05label\x12I\n" + - "\acontent\x18\x03 \x03(\v2/.pluggableharness.agent.content.v1.ContentBlockR\acontent\x12\x16\n" + - "\x06tokens\x18\x04 \x01(\x03R\x06tokens\x12J\n" + - "\tstability\x18\x05 \x01(\x0e2,.pluggableharness.agent.content.v1.StabilityR\tstability\x12\x1c\n" + + "\x05label\x18\x02 \x01(\tR\x05label\x12C\n" + + "\acontent\x18\x03 \x03(\v2).pluggableharness.content.v1.ContentBlockR\acontent\x12\x16\n" + + "\x06tokens\x18\x04 \x01(\x03R\x06tokens\x12D\n" + + "\tstability\x18\x05 \x01(\x0e2&.pluggableharness.content.v1.StabilityR\tstability\x12\x1c\n" + "\ttruncated\x18\x06 \x01(\bR\ttruncated*?\n" + "\x04Role\x12\x14\n" + "\x10ROLE_UNSPECIFIED\x10\x00\x12\r\n" + @@ -1033,48 +1033,48 @@ const file_pluggableharness_agent_content_v1_content_proto_rawDesc = "" + "\x11STABILITY_DYNAMIC\x10\x02BBZ@github.com/pluggableharness/agent/pkg/content/proto/v1;contentv1b\x06proto3" var ( - file_pluggableharness_agent_content_v1_content_proto_rawDescOnce sync.Once - file_pluggableharness_agent_content_v1_content_proto_rawDescData []byte + file_pluggableharness_content_v1_content_proto_rawDescOnce sync.Once + file_pluggableharness_content_v1_content_proto_rawDescData []byte ) -func file_pluggableharness_agent_content_v1_content_proto_rawDescGZIP() []byte { - file_pluggableharness_agent_content_v1_content_proto_rawDescOnce.Do(func() { - file_pluggableharness_agent_content_v1_content_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_content_v1_content_proto_rawDesc), len(file_pluggableharness_agent_content_v1_content_proto_rawDesc))) +func file_pluggableharness_content_v1_content_proto_rawDescGZIP() []byte { + file_pluggableharness_content_v1_content_proto_rawDescOnce.Do(func() { + file_pluggableharness_content_v1_content_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pluggableharness_content_v1_content_proto_rawDesc), len(file_pluggableharness_content_v1_content_proto_rawDesc))) }) - return file_pluggableharness_agent_content_v1_content_proto_rawDescData -} - -var file_pluggableharness_agent_content_v1_content_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_pluggableharness_agent_content_v1_content_proto_msgTypes = make([]protoimpl.MessageInfo, 10) -var file_pluggableharness_agent_content_v1_content_proto_goTypes = []any{ - (Role)(0), // 0: pluggableharness.agent.content.v1.Role - (Stability)(0), // 1: pluggableharness.agent.content.v1.Stability - (*Message)(nil), // 2: pluggableharness.agent.content.v1.Message - (*ContentBlock)(nil), // 3: pluggableharness.agent.content.v1.ContentBlock - (*TextBlock)(nil), // 4: pluggableharness.agent.content.v1.TextBlock - (*ToolUseBlock)(nil), // 5: pluggableharness.agent.content.v1.ToolUseBlock - (*ToolResultBlock)(nil), // 6: pluggableharness.agent.content.v1.ToolResultBlock - (*ImageBlock)(nil), // 7: pluggableharness.agent.content.v1.ImageBlock - (*ThinkingBlock)(nil), // 8: pluggableharness.agent.content.v1.ThinkingBlock - (*RedactedThinkingBlock)(nil), // 9: pluggableharness.agent.content.v1.RedactedThinkingBlock - (*DocumentBlock)(nil), // 10: pluggableharness.agent.content.v1.DocumentBlock - (*ContextSection)(nil), // 11: pluggableharness.agent.content.v1.ContextSection + return file_pluggableharness_content_v1_content_proto_rawDescData +} + +var file_pluggableharness_content_v1_content_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_pluggableharness_content_v1_content_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_pluggableharness_content_v1_content_proto_goTypes = []any{ + (Role)(0), // 0: pluggableharness.content.v1.Role + (Stability)(0), // 1: pluggableharness.content.v1.Stability + (*Message)(nil), // 2: pluggableharness.content.v1.Message + (*ContentBlock)(nil), // 3: pluggableharness.content.v1.ContentBlock + (*TextBlock)(nil), // 4: pluggableharness.content.v1.TextBlock + (*ToolUseBlock)(nil), // 5: pluggableharness.content.v1.ToolUseBlock + (*ToolResultBlock)(nil), // 6: pluggableharness.content.v1.ToolResultBlock + (*ImageBlock)(nil), // 7: pluggableharness.content.v1.ImageBlock + (*ThinkingBlock)(nil), // 8: pluggableharness.content.v1.ThinkingBlock + (*RedactedThinkingBlock)(nil), // 9: pluggableharness.content.v1.RedactedThinkingBlock + (*DocumentBlock)(nil), // 10: pluggableharness.content.v1.DocumentBlock + (*ContextSection)(nil), // 11: pluggableharness.content.v1.ContextSection (*structpb.Struct)(nil), // 12: google.protobuf.Struct } -var file_pluggableharness_agent_content_v1_content_proto_depIdxs = []int32{ - 0, // 0: pluggableharness.agent.content.v1.Message.role:type_name -> pluggableharness.agent.content.v1.Role - 3, // 1: pluggableharness.agent.content.v1.Message.content:type_name -> pluggableharness.agent.content.v1.ContentBlock - 4, // 2: pluggableharness.agent.content.v1.ContentBlock.text:type_name -> pluggableharness.agent.content.v1.TextBlock - 5, // 3: pluggableharness.agent.content.v1.ContentBlock.tool_use:type_name -> pluggableharness.agent.content.v1.ToolUseBlock - 6, // 4: pluggableharness.agent.content.v1.ContentBlock.tool_result:type_name -> pluggableharness.agent.content.v1.ToolResultBlock - 7, // 5: pluggableharness.agent.content.v1.ContentBlock.image:type_name -> pluggableharness.agent.content.v1.ImageBlock - 8, // 6: pluggableharness.agent.content.v1.ContentBlock.thinking:type_name -> pluggableharness.agent.content.v1.ThinkingBlock - 9, // 7: pluggableharness.agent.content.v1.ContentBlock.redacted_thinking:type_name -> pluggableharness.agent.content.v1.RedactedThinkingBlock - 10, // 8: pluggableharness.agent.content.v1.ContentBlock.document:type_name -> pluggableharness.agent.content.v1.DocumentBlock - 12, // 9: pluggableharness.agent.content.v1.ToolUseBlock.arguments:type_name -> google.protobuf.Struct - 3, // 10: pluggableharness.agent.content.v1.ToolResultBlock.content:type_name -> pluggableharness.agent.content.v1.ContentBlock - 3, // 11: pluggableharness.agent.content.v1.ContextSection.content:type_name -> pluggableharness.agent.content.v1.ContentBlock - 1, // 12: pluggableharness.agent.content.v1.ContextSection.stability:type_name -> pluggableharness.agent.content.v1.Stability +var file_pluggableharness_content_v1_content_proto_depIdxs = []int32{ + 0, // 0: pluggableharness.content.v1.Message.role:type_name -> pluggableharness.content.v1.Role + 3, // 1: pluggableharness.content.v1.Message.content:type_name -> pluggableharness.content.v1.ContentBlock + 4, // 2: pluggableharness.content.v1.ContentBlock.text:type_name -> pluggableharness.content.v1.TextBlock + 5, // 3: pluggableharness.content.v1.ContentBlock.tool_use:type_name -> pluggableharness.content.v1.ToolUseBlock + 6, // 4: pluggableharness.content.v1.ContentBlock.tool_result:type_name -> pluggableharness.content.v1.ToolResultBlock + 7, // 5: pluggableharness.content.v1.ContentBlock.image:type_name -> pluggableharness.content.v1.ImageBlock + 8, // 6: pluggableharness.content.v1.ContentBlock.thinking:type_name -> pluggableharness.content.v1.ThinkingBlock + 9, // 7: pluggableharness.content.v1.ContentBlock.redacted_thinking:type_name -> pluggableharness.content.v1.RedactedThinkingBlock + 10, // 8: pluggableharness.content.v1.ContentBlock.document:type_name -> pluggableharness.content.v1.DocumentBlock + 12, // 9: pluggableharness.content.v1.ToolUseBlock.arguments:type_name -> google.protobuf.Struct + 3, // 10: pluggableharness.content.v1.ToolResultBlock.content:type_name -> pluggableharness.content.v1.ContentBlock + 3, // 11: pluggableharness.content.v1.ContextSection.content:type_name -> pluggableharness.content.v1.ContentBlock + 1, // 12: pluggableharness.content.v1.ContextSection.stability:type_name -> pluggableharness.content.v1.Stability 13, // [13:13] is the sub-list for method output_type 13, // [13:13] is the sub-list for method input_type 13, // [13:13] is the sub-list for extension type_name @@ -1082,13 +1082,13 @@ var file_pluggableharness_agent_content_v1_content_proto_depIdxs = []int32{ 0, // [0:13] is the sub-list for field type_name } -func init() { file_pluggableharness_agent_content_v1_content_proto_init() } -func file_pluggableharness_agent_content_v1_content_proto_init() { - if File_pluggableharness_agent_content_v1_content_proto != nil { +func init() { file_pluggableharness_content_v1_content_proto_init() } +func file_pluggableharness_content_v1_content_proto_init() { + if File_pluggableharness_content_v1_content_proto != nil { return } - file_pluggableharness_agent_content_v1_content_proto_msgTypes[0].OneofWrappers = []any{} - file_pluggableharness_agent_content_v1_content_proto_msgTypes[1].OneofWrappers = []any{ + file_pluggableharness_content_v1_content_proto_msgTypes[0].OneofWrappers = []any{} + file_pluggableharness_content_v1_content_proto_msgTypes[1].OneofWrappers = []any{ (*ContentBlock_Text)(nil), (*ContentBlock_ToolUse)(nil), (*ContentBlock_ToolResult)(nil), @@ -1097,23 +1097,23 @@ func file_pluggableharness_agent_content_v1_content_proto_init() { (*ContentBlock_RedactedThinking)(nil), (*ContentBlock_Document)(nil), } - file_pluggableharness_agent_content_v1_content_proto_msgTypes[8].OneofWrappers = []any{} + file_pluggableharness_content_v1_content_proto_msgTypes[8].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_content_v1_content_proto_rawDesc), len(file_pluggableharness_agent_content_v1_content_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_content_v1_content_proto_rawDesc), len(file_pluggableharness_content_v1_content_proto_rawDesc)), NumEnums: 2, NumMessages: 10, NumExtensions: 0, NumServices: 0, }, - GoTypes: file_pluggableharness_agent_content_v1_content_proto_goTypes, - DependencyIndexes: file_pluggableharness_agent_content_v1_content_proto_depIdxs, - EnumInfos: file_pluggableharness_agent_content_v1_content_proto_enumTypes, - MessageInfos: file_pluggableharness_agent_content_v1_content_proto_msgTypes, + GoTypes: file_pluggableharness_content_v1_content_proto_goTypes, + DependencyIndexes: file_pluggableharness_content_v1_content_proto_depIdxs, + EnumInfos: file_pluggableharness_content_v1_content_proto_enumTypes, + MessageInfos: file_pluggableharness_content_v1_content_proto_msgTypes, }.Build() - File_pluggableharness_agent_content_v1_content_proto = out.File - file_pluggableharness_agent_content_v1_content_proto_goTypes = nil - file_pluggableharness_agent_content_v1_content_proto_depIdxs = nil + File_pluggableharness_content_v1_content_proto = out.File + file_pluggableharness_content_v1_content_proto_goTypes = nil + file_pluggableharness_content_v1_content_proto_depIdxs = nil } diff --git a/pkg/context/proto/v1/context.pb.go b/pkg/context/proto/v1/context.pb.go index 648ab1e..85ec6d6 100644 --- a/pkg/context/proto/v1/context.pb.go +++ b/pkg/context/proto/v1/context.pb.go @@ -2,9 +2,9 @@ // versions: // protoc-gen-go v1.36.11 // protoc (unknown) -// source: pluggableharness/agent/context/v1/context.proto +// source: pluggableharness/context/v1/context.proto -// Package pluggableharness.agent.context.v1 defines the context provider plugin protocol +// Package pluggableharness.context.v1 defines the context provider plugin protocol // described in specifications/context.md — plugins that hook // context-assemble and contribute content to the prompt before each model // call (e.g. a CLAUDE.md reader, an AGENTS.md reader, a git-status/file-tree @@ -12,7 +12,7 @@ // // ContextSection and Stability — the section chain this protocol assembles // and the turn-to-turn-change hint each section carries — are defined in -// pluggableharness.agent.content.v1, not here: that chain is consumed by +// pluggableharness.content.v1, not here: that chain is consumed by // both this protocol and the model provider's completion request // (forthcoming), so it's homed alongside content.v1's other shared content // shapes rather than duplicated or owned by only one consumer. @@ -102,11 +102,11 @@ func (x ContextErrorCategory) String() string { } func (ContextErrorCategory) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_context_v1_context_proto_enumTypes[0].Descriptor() + return file_pluggableharness_context_v1_context_proto_enumTypes[0].Descriptor() } func (ContextErrorCategory) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_context_v1_context_proto_enumTypes[0] + return &file_pluggableharness_context_v1_context_proto_enumTypes[0] } func (x ContextErrorCategory) Number() protoreflect.EnumNumber { @@ -115,7 +115,7 @@ func (x ContextErrorCategory) Number() protoreflect.EnumNumber { // Deprecated: Use ContextErrorCategory.Descriptor instead. func (ContextErrorCategory) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_context_v1_context_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_context_v1_context_proto_rawDescGZIP(), []int{0} } // GetCapabilitiesRequest carries no fields — GetCapabilities takes no @@ -128,7 +128,7 @@ type GetCapabilitiesRequest struct { func (x *GetCapabilitiesRequest) Reset() { *x = GetCapabilitiesRequest{} - mi := &file_pluggableharness_agent_context_v1_context_proto_msgTypes[0] + mi := &file_pluggableharness_context_v1_context_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -140,7 +140,7 @@ func (x *GetCapabilitiesRequest) String() string { func (*GetCapabilitiesRequest) ProtoMessage() {} func (x *GetCapabilitiesRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_context_v1_context_proto_msgTypes[0] + mi := &file_pluggableharness_context_v1_context_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -153,7 +153,7 @@ func (x *GetCapabilitiesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCapabilitiesRequest.ProtoReflect.Descriptor instead. func (*GetCapabilitiesRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_context_v1_context_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_context_v1_context_proto_rawDescGZIP(), []int{0} } // GetCapabilitiesResponse wraps ContextCapabilities for the RPC signature, @@ -167,7 +167,7 @@ type GetCapabilitiesResponse struct { func (x *GetCapabilitiesResponse) Reset() { *x = GetCapabilitiesResponse{} - mi := &file_pluggableharness_agent_context_v1_context_proto_msgTypes[1] + mi := &file_pluggableharness_context_v1_context_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -179,7 +179,7 @@ func (x *GetCapabilitiesResponse) String() string { func (*GetCapabilitiesResponse) ProtoMessage() {} func (x *GetCapabilitiesResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_context_v1_context_proto_msgTypes[1] + mi := &file_pluggableharness_context_v1_context_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -192,7 +192,7 @@ func (x *GetCapabilitiesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCapabilitiesResponse.ProtoReflect.Descriptor instead. func (*GetCapabilitiesResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_context_v1_context_proto_rawDescGZIP(), []int{1} + return file_pluggableharness_context_v1_context_proto_rawDescGZIP(), []int{1} } func (x *GetCapabilitiesResponse) GetCapabilities() *ContextCapabilities { @@ -216,7 +216,7 @@ type ConfigureRequest struct { func (x *ConfigureRequest) Reset() { *x = ConfigureRequest{} - mi := &file_pluggableharness_agent_context_v1_context_proto_msgTypes[2] + mi := &file_pluggableharness_context_v1_context_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -228,7 +228,7 @@ func (x *ConfigureRequest) String() string { func (*ConfigureRequest) ProtoMessage() {} func (x *ConfigureRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_context_v1_context_proto_msgTypes[2] + mi := &file_pluggableharness_context_v1_context_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -241,7 +241,7 @@ func (x *ConfigureRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigureRequest.ProtoReflect.Descriptor instead. func (*ConfigureRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_context_v1_context_proto_rawDescGZIP(), []int{2} + return file_pluggableharness_context_v1_context_proto_rawDescGZIP(), []int{2} } func (x *ConfigureRequest) GetConfig() *structpb.Struct { @@ -263,7 +263,7 @@ type ContextCapabilities struct { DefaultTokenBudget int64 `protobuf:"varint,1,opt,name=default_token_budget,json=defaultTokenBudget,proto3" json:"default_token_budget,omitempty"` // Whether this provider's contributed content changes turn to turn. MUST // be set. context.md §2, §7. - Stability v1.Stability `protobuf:"varint,2,opt,name=stability,proto3,enum=pluggableharness.agent.content.v1.Stability" json:"stability,omitempty"` + Stability v1.Stability `protobuf:"varint,2,opt,name=stability,proto3,enum=pluggableharness.content.v1.Stability" json:"stability,omitempty"` // Whether this provider acts as a compactor: MAY rewrite, merge, or drop // other providers' sections in the chain it receives, and MAY receive // conversation_history on ContextRequest and return rewritten_history. @@ -283,14 +283,14 @@ type ContextCapabilities struct { // hook.v1 — hook.v1 imports this package's model/tool/plan dependencies, // so a category capability message importing hook.v1 directly would // cycle back through it; common.v1 is the shared leaf package instead. - SupportedHookPoints []v13.HookPoint `protobuf:"varint,6,rep,packed,name=supported_hook_points,json=supportedHookPoints,proto3,enum=pluggableharness.agent.common.v1.HookPoint" json:"supported_hook_points,omitempty"` + SupportedHookPoints []v13.HookPoint `protobuf:"varint,6,rep,packed,name=supported_hook_points,json=supportedHookPoints,proto3,enum=pluggableharness.common.v1.HookPoint" json:"supported_hook_points,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ContextCapabilities) Reset() { *x = ContextCapabilities{} - mi := &file_pluggableharness_agent_context_v1_context_proto_msgTypes[3] + mi := &file_pluggableharness_context_v1_context_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -302,7 +302,7 @@ func (x *ContextCapabilities) String() string { func (*ContextCapabilities) ProtoMessage() {} func (x *ContextCapabilities) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_context_v1_context_proto_msgTypes[3] + mi := &file_pluggableharness_context_v1_context_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -315,7 +315,7 @@ func (x *ContextCapabilities) ProtoReflect() protoreflect.Message { // Deprecated: Use ContextCapabilities.ProtoReflect.Descriptor instead. func (*ContextCapabilities) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_context_v1_context_proto_rawDescGZIP(), []int{3} + return file_pluggableharness_context_v1_context_proto_rawDescGZIP(), []int{3} } func (x *ContextCapabilities) GetDefaultTokenBudget() int64 { @@ -372,7 +372,7 @@ type ConfigureResponse struct { func (x *ConfigureResponse) Reset() { *x = ConfigureResponse{} - mi := &file_pluggableharness_agent_context_v1_context_proto_msgTypes[4] + mi := &file_pluggableharness_context_v1_context_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -384,7 +384,7 @@ func (x *ConfigureResponse) String() string { func (*ConfigureResponse) ProtoMessage() {} func (x *ConfigureResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_context_v1_context_proto_msgTypes[4] + mi := &file_pluggableharness_context_v1_context_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -397,7 +397,7 @@ func (x *ConfigureResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigureResponse.ProtoReflect.Descriptor instead. func (*ConfigureResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_context_v1_context_proto_rawDescGZIP(), []int{4} + return file_pluggableharness_context_v1_context_proto_rawDescGZIP(), []int{4} } // ContextRequest is the context-assemble RPC's request, delivered to @@ -453,7 +453,7 @@ type ContextRequest struct { func (x *ContextRequest) Reset() { *x = ContextRequest{} - mi := &file_pluggableharness_agent_context_v1_context_proto_msgTypes[5] + mi := &file_pluggableharness_context_v1_context_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -465,7 +465,7 @@ func (x *ContextRequest) String() string { func (*ContextRequest) ProtoMessage() {} func (x *ContextRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_context_v1_context_proto_msgTypes[5] + mi := &file_pluggableharness_context_v1_context_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -478,7 +478,7 @@ func (x *ContextRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ContextRequest.ProtoReflect.Descriptor instead. func (*ContextRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_context_v1_context_proto_rawDescGZIP(), []int{5} + return file_pluggableharness_context_v1_context_proto_rawDescGZIP(), []int{5} } func (x *ContextRequest) GetSessionId() string { @@ -579,7 +579,7 @@ type ContextContribution struct { func (x *ContextContribution) Reset() { *x = ContextContribution{} - mi := &file_pluggableharness_agent_context_v1_context_proto_msgTypes[6] + mi := &file_pluggableharness_context_v1_context_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -591,7 +591,7 @@ func (x *ContextContribution) String() string { func (*ContextContribution) ProtoMessage() {} func (x *ContextContribution) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_context_v1_context_proto_msgTypes[6] + mi := &file_pluggableharness_context_v1_context_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -604,7 +604,7 @@ func (x *ContextContribution) ProtoReflect() protoreflect.Message { // Deprecated: Use ContextContribution.ProtoReflect.Descriptor instead. func (*ContextContribution) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_context_v1_context_proto_rawDescGZIP(), []int{6} + return file_pluggableharness_context_v1_context_proto_rawDescGZIP(), []int{6} } func (x *ContextContribution) GetSections() []*v1.ContextSection { @@ -627,7 +627,7 @@ func (x *ContextContribution) GetRewrittenHistory() []*v1.Message { type ContextError struct { state protoimpl.MessageState `protogen:"open.v1"` // Which category of failure this is. - Category ContextErrorCategory `protobuf:"varint,1,opt,name=category,proto3,enum=pluggableharness.agent.context.v1.ContextErrorCategory" json:"category,omitempty"` + Category ContextErrorCategory `protobuf:"varint,1,opt,name=category,proto3,enum=pluggableharness.context.v1.ContextErrorCategory" json:"category,omitempty"` // Human-readable error detail, e.g. the raw plugin error message for // CONTEXT_ERROR_CATEGORY_UNKNOWN. Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` @@ -639,7 +639,7 @@ type ContextError struct { func (x *ContextError) Reset() { *x = ContextError{} - mi := &file_pluggableharness_agent_context_v1_context_proto_msgTypes[7] + mi := &file_pluggableharness_context_v1_context_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -651,7 +651,7 @@ func (x *ContextError) String() string { func (*ContextError) ProtoMessage() {} func (x *ContextError) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_context_v1_context_proto_msgTypes[7] + mi := &file_pluggableharness_context_v1_context_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -664,7 +664,7 @@ func (x *ContextError) ProtoReflect() protoreflect.Message { // Deprecated: Use ContextError.ProtoReflect.Descriptor instead. func (*ContextError) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_context_v1_context_proto_rawDescGZIP(), []int{7} + return file_pluggableharness_context_v1_context_proto_rawDescGZIP(), []int{7} } func (x *ContextError) GetCategory() ContextErrorCategory { @@ -709,7 +709,7 @@ type RenderRequest struct { func (x *RenderRequest) Reset() { *x = RenderRequest{} - mi := &file_pluggableharness_agent_context_v1_context_proto_msgTypes[8] + mi := &file_pluggableharness_context_v1_context_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -721,7 +721,7 @@ func (x *RenderRequest) String() string { func (*RenderRequest) ProtoMessage() {} func (x *RenderRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_context_v1_context_proto_msgTypes[8] + mi := &file_pluggableharness_context_v1_context_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -734,7 +734,7 @@ func (x *RenderRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RenderRequest.ProtoReflect.Descriptor instead. func (*RenderRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_context_v1_context_proto_rawDescGZIP(), []int{8} + return file_pluggableharness_context_v1_context_proto_rawDescGZIP(), []int{8} } func (x *RenderRequest) GetPayload() []byte { @@ -763,7 +763,7 @@ type RenderResponse struct { func (x *RenderResponse) Reset() { *x = RenderResponse{} - mi := &file_pluggableharness_agent_context_v1_context_proto_msgTypes[9] + mi := &file_pluggableharness_context_v1_context_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -775,7 +775,7 @@ func (x *RenderResponse) String() string { func (*RenderResponse) ProtoMessage() {} func (x *RenderResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_context_v1_context_proto_msgTypes[9] + mi := &file_pluggableharness_context_v1_context_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -788,7 +788,7 @@ func (x *RenderResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RenderResponse.ProtoReflect.Descriptor instead. func (*RenderResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_context_v1_context_proto_rawDescGZIP(), []int{9} + return file_pluggableharness_context_v1_context_proto_rawDescGZIP(), []int{9} } func (x *RenderResponse) GetTree() *v15.RenderTree { @@ -808,7 +808,7 @@ type DescribeRequest struct { func (x *DescribeRequest) Reset() { *x = DescribeRequest{} - mi := &file_pluggableharness_agent_context_v1_context_proto_msgTypes[10] + mi := &file_pluggableharness_context_v1_context_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -820,7 +820,7 @@ func (x *DescribeRequest) String() string { func (*DescribeRequest) ProtoMessage() {} func (x *DescribeRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_context_v1_context_proto_msgTypes[10] + mi := &file_pluggableharness_context_v1_context_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -833,7 +833,7 @@ func (x *DescribeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DescribeRequest.ProtoReflect.Descriptor instead. func (*DescribeRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_context_v1_context_proto_rawDescGZIP(), []int{10} + return file_pluggableharness_context_v1_context_proto_rawDescGZIP(), []int{10} } // DescribeResponse reports this plugin build's own identity. See the @@ -849,7 +849,7 @@ type DescribeResponse struct { func (x *DescribeResponse) Reset() { *x = DescribeResponse{} - mi := &file_pluggableharness_agent_context_v1_context_proto_msgTypes[11] + mi := &file_pluggableharness_context_v1_context_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -861,7 +861,7 @@ func (x *DescribeResponse) String() string { func (*DescribeResponse) ProtoMessage() {} func (x *DescribeResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_context_v1_context_proto_msgTypes[11] + mi := &file_pluggableharness_context_v1_context_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -874,7 +874,7 @@ func (x *DescribeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DescribeResponse.ProtoReflect.Descriptor instead. func (*DescribeResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_context_v1_context_proto_rawDescGZIP(), []int{11} + return file_pluggableharness_context_v1_context_proto_rawDescGZIP(), []int{11} } func (x *DescribeResponse) GetProducer() *v13.ProducerRef { @@ -884,132 +884,132 @@ func (x *DescribeResponse) GetProducer() *v13.ProducerRef { return nil } -var File_pluggableharness_agent_context_v1_context_proto protoreflect.FileDescriptor +var File_pluggableharness_context_v1_context_proto protoreflect.FileDescriptor -const file_pluggableharness_agent_context_v1_context_proto_rawDesc = "" + +const file_pluggableharness_context_v1_context_proto_rawDesc = "" + "\n" + - "/pluggableharness/agent/context/v1/context.proto\x12!pluggableharness.agent.context.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a-pluggableharness/agent/common/v1/common.proto\x1a-pluggableharness/agent/config/v1/config.proto\x1a/pluggableharness/agent/content/v1/content.proto\x1a+pluggableharness/agent/model/v1/model.proto\x1a-pluggableharness/agent/render/v1/render.proto\x1a9pluggableharness/agent/slashcommand/v1/slashcommand.proto\"\x18\n" + - "\x16GetCapabilitiesRequest\"u\n" + - "\x17GetCapabilitiesResponse\x12Z\n" + - "\fcapabilities\x18\x01 \x01(\v26.pluggableharness.agent.context.v1.ContextCapabilitiesR\fcapabilities\"C\n" + + ")pluggableharness/context/v1/context.proto\x12\x1bpluggableharness.context.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a'pluggableharness/common/v1/common.proto\x1a'pluggableharness/config/v1/config.proto\x1a)pluggableharness/content/v1/content.proto\x1a%pluggableharness/model/v1/model.proto\x1a'pluggableharness/render/v1/render.proto\x1a3pluggableharness/slashcommand/v1/slashcommand.proto\"\x18\n" + + "\x16GetCapabilitiesRequest\"o\n" + + "\x17GetCapabilitiesResponse\x12T\n" + + "\fcapabilities\x18\x01 \x01(\v20.pluggableharness.context.v1.ContextCapabilitiesR\fcapabilities\"C\n" + "\x10ConfigureRequest\x12/\n" + - "\x06config\x18\x01 \x01(\v2\x17.google.protobuf.StructR\x06config\"\xc8\x03\n" + + "\x06config\x18\x01 \x01(\v2\x17.google.protobuf.StructR\x06config\"\xb0\x03\n" + "\x13ContextCapabilities\x120\n" + - "\x14default_token_budget\x18\x01 \x01(\x03R\x12defaultTokenBudget\x12J\n" + - "\tstability\x18\x02 \x01(\x0e2,.pluggableharness.agent.content.v1.StabilityR\tstability\x12\x1c\n" + - "\tcompactor\x18\x03 \x01(\bR\tcompactor\x12_\n" + - "\x0eslash_commands\x18\x04 \x03(\v28.pluggableharness.agent.slashcommand.v1.SlashCommandSpecR\rslashCommands\x12S\n" + - "\rconfig_schema\x18\x05 \x01(\v2..pluggableharness.agent.config.v1.ConfigSchemaR\fconfigSchema\x12_\n" + - "\x15supported_hook_points\x18\x06 \x03(\x0e2+.pluggableharness.agent.common.v1.HookPointR\x13supportedHookPoints\"\x13\n" + - "\x11ConfigureResponse\"\xd7\x04\n" + + "\x14default_token_budget\x18\x01 \x01(\x03R\x12defaultTokenBudget\x12D\n" + + "\tstability\x18\x02 \x01(\x0e2&.pluggableharness.content.v1.StabilityR\tstability\x12\x1c\n" + + "\tcompactor\x18\x03 \x01(\bR\tcompactor\x12Y\n" + + "\x0eslash_commands\x18\x04 \x03(\v22.pluggableharness.slashcommand.v1.SlashCommandSpecR\rslashCommands\x12M\n" + + "\rconfig_schema\x18\x05 \x01(\v2(.pluggableharness.config.v1.ConfigSchemaR\fconfigSchema\x12Y\n" + + "\x15supported_hook_points\x18\x06 \x03(\x0e2%.pluggableharness.common.v1.HookPointR\x13supportedHookPoints\"\x13\n" + + "\x11ConfigureResponse\"\xc5\x04\n" + "\x0eContextRequest\x12\x1d\n" + "\n" + "session_id\x18\x01 \x01(\tR\tsessionId\x12*\n" + "\x11parent_session_id\x18\x02 \x01(\tR\x0fparentSessionId\x12\x17\n" + "\aturn_id\x18\x03 \x01(\tR\x06turnId\x12!\n" + - "\ftoken_budget\x18\x04 \x01(\x03R\vtokenBudget\x12O\n" + - "\fmodel_target\x18\x05 \x01(\v2,.pluggableharness.agent.model.v1.ModelTargetR\vmodelTarget\x12#\n" + + "\ftoken_budget\x18\x04 \x01(\x03R\vtokenBudget\x12I\n" + + "\fmodel_target\x18\x05 \x01(\v2&.pluggableharness.model.v1.ModelTargetR\vmodelTarget\x12#\n" + "\rfiles_touched\x18\x06 \x03(\tR\ffilesTouched\x12+\n" + - "\x11working_directory\x18\a \x01(\tR\x10workingDirectory\x12X\n" + - "\x0eprior_sections\x18\b \x03(\v21.pluggableharness.agent.content.v1.ContextSectionR\rpriorSections\x12]\n" + - "\x14conversation_history\x18\t \x03(\v2*.pluggableharness.agent.content.v1.MessageR\x13conversationHistory\x12%\n" + + "\x11working_directory\x18\a \x01(\tR\x10workingDirectory\x12R\n" + + "\x0eprior_sections\x18\b \x03(\v2+.pluggableharness.content.v1.ContextSectionR\rpriorSections\x12W\n" + + "\x14conversation_history\x18\t \x03(\v2$.pluggableharness.content.v1.MessageR\x13conversationHistory\x12%\n" + "\x0ehistory_tokens\x18\n" + " \x01(\x03R\rhistoryTokens\x12;\n" + - "\x1aassembled_tokens_last_turn\x18\v \x01(\x03R\x17assembledTokensLastTurn\"\xbd\x01\n" + - "\x13ContextContribution\x12M\n" + - "\bsections\x18\x01 \x03(\v21.pluggableharness.agent.content.v1.ContextSectionR\bsections\x12W\n" + - "\x11rewritten_history\x18\x02 \x03(\v2*.pluggableharness.agent.content.v1.MessageR\x10rewrittenHistory\"\x9b\x01\n" + - "\fContextError\x12S\n" + - "\bcategory\x18\x01 \x01(\x0e27.pluggableharness.agent.context.v1.ContextErrorCategoryR\bcategory\x12\x18\n" + + "\x1aassembled_tokens_last_turn\x18\v \x01(\x03R\x17assembledTokensLastTurn\"\xb1\x01\n" + + "\x13ContextContribution\x12G\n" + + "\bsections\x18\x01 \x03(\v2+.pluggableharness.content.v1.ContextSectionR\bsections\x12Q\n" + + "\x11rewritten_history\x18\x02 \x03(\v2$.pluggableharness.content.v1.MessageR\x10rewrittenHistory\"\x95\x01\n" + + "\fContextError\x12M\n" + + "\bcategory\x18\x01 \x01(\x0e21.pluggableharness.context.v1.ContextErrorCategoryR\bcategory\x12\x18\n" + "\amessage\x18\x02 \x01(\tR\amessage\x12\x1c\n" + "\tretryable\x18\x03 \x01(\bR\tretryable\"P\n" + "\rRenderRequest\x12\x18\n" + "\apayload\x18\x01 \x01(\fR\apayload\x12%\n" + - "\x0eschema_version\x18\x02 \x01(\tR\rschemaVersion\"R\n" + - "\x0eRenderResponse\x12@\n" + - "\x04tree\x18\x01 \x01(\v2,.pluggableharness.agent.render.v1.RenderTreeR\x04tree\"\x11\n" + - "\x0fDescribeRequest\"]\n" + - "\x10DescribeResponse\x12I\n" + - "\bproducer\x18\x01 \x01(\v2-.pluggableharness.agent.common.v1.ProducerRefR\bproducer*\x95\x02\n" + + "\x0eschema_version\x18\x02 \x01(\tR\rschemaVersion\"L\n" + + "\x0eRenderResponse\x12:\n" + + "\x04tree\x18\x01 \x01(\v2&.pluggableharness.render.v1.RenderTreeR\x04tree\"\x11\n" + + "\x0fDescribeRequest\"W\n" + + "\x10DescribeResponse\x12C\n" + + "\bproducer\x18\x01 \x01(\v2'.pluggableharness.common.v1.ProducerRefR\bproducer*\x95\x02\n" + "\x14ContextErrorCategory\x12&\n" + "\"CONTEXT_ERROR_CATEGORY_UNSPECIFIED\x10\x00\x12-\n" + ")CONTEXT_ERROR_CATEGORY_SOURCE_UNAVAILABLE\x10\x01\x12*\n" + "&CONTEXT_ERROR_CATEGORY_BUDGET_EXCEEDED\x10\x02\x12*\n" + "&CONTEXT_ERROR_CATEGORY_SCOPE_VIOLATION\x10\x03\x12*\n" + "&CONTEXT_ERROR_CATEGORY_INVALID_REQUEST\x10\x04\x12\"\n" + - "\x1eCONTEXT_ERROR_CATEGORY_UNKNOWN\x10\x052\xf0\x04\n" + - "\x0eContextService\x12\x88\x01\n" + - "\x0fGetCapabilities\x129.pluggableharness.agent.context.v1.GetCapabilitiesRequest\x1a:.pluggableharness.agent.context.v1.GetCapabilitiesResponse\x12v\n" + - "\tConfigure\x123.pluggableharness.agent.context.v1.ConfigureRequest\x1a4.pluggableharness.agent.context.v1.ConfigureResponse\x12w\n" + + "\x1eCONTEXT_ERROR_CATEGORY_UNKNOWN\x10\x052\xb3\x04\n" + + "\x0eContextService\x12|\n" + + "\x0fGetCapabilities\x123.pluggableharness.context.v1.GetCapabilitiesRequest\x1a4.pluggableharness.context.v1.GetCapabilitiesResponse\x12j\n" + + "\tConfigure\x12-.pluggableharness.context.v1.ConfigureRequest\x1a..pluggableharness.context.v1.ConfigureResponse\x12k\n" + "\n" + - "Contribute\x121.pluggableharness.agent.context.v1.ContextRequest\x1a6.pluggableharness.agent.context.v1.ContextContribution\x12m\n" + - "\x06Render\x120.pluggableharness.agent.context.v1.RenderRequest\x1a1.pluggableharness.agent.context.v1.RenderResponse\x12s\n" + - "\bDescribe\x122.pluggableharness.agent.context.v1.DescribeRequest\x1a3.pluggableharness.agent.context.v1.DescribeResponseBBZ@github.com/pluggableharness/agent/pkg/context/proto/v1;contextv1b\x06proto3" + "Contribute\x12+.pluggableharness.context.v1.ContextRequest\x1a0.pluggableharness.context.v1.ContextContribution\x12a\n" + + "\x06Render\x12*.pluggableharness.context.v1.RenderRequest\x1a+.pluggableharness.context.v1.RenderResponse\x12g\n" + + "\bDescribe\x12,.pluggableharness.context.v1.DescribeRequest\x1a-.pluggableharness.context.v1.DescribeResponseBBZ@github.com/pluggableharness/agent/pkg/context/proto/v1;contextv1b\x06proto3" var ( - file_pluggableharness_agent_context_v1_context_proto_rawDescOnce sync.Once - file_pluggableharness_agent_context_v1_context_proto_rawDescData []byte + file_pluggableharness_context_v1_context_proto_rawDescOnce sync.Once + file_pluggableharness_context_v1_context_proto_rawDescData []byte ) -func file_pluggableharness_agent_context_v1_context_proto_rawDescGZIP() []byte { - file_pluggableharness_agent_context_v1_context_proto_rawDescOnce.Do(func() { - file_pluggableharness_agent_context_v1_context_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_context_v1_context_proto_rawDesc), len(file_pluggableharness_agent_context_v1_context_proto_rawDesc))) +func file_pluggableharness_context_v1_context_proto_rawDescGZIP() []byte { + file_pluggableharness_context_v1_context_proto_rawDescOnce.Do(func() { + file_pluggableharness_context_v1_context_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pluggableharness_context_v1_context_proto_rawDesc), len(file_pluggableharness_context_v1_context_proto_rawDesc))) }) - return file_pluggableharness_agent_context_v1_context_proto_rawDescData -} - -var file_pluggableharness_agent_context_v1_context_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_pluggableharness_agent_context_v1_context_proto_msgTypes = make([]protoimpl.MessageInfo, 12) -var file_pluggableharness_agent_context_v1_context_proto_goTypes = []any{ - (ContextErrorCategory)(0), // 0: pluggableharness.agent.context.v1.ContextErrorCategory - (*GetCapabilitiesRequest)(nil), // 1: pluggableharness.agent.context.v1.GetCapabilitiesRequest - (*GetCapabilitiesResponse)(nil), // 2: pluggableharness.agent.context.v1.GetCapabilitiesResponse - (*ConfigureRequest)(nil), // 3: pluggableharness.agent.context.v1.ConfigureRequest - (*ContextCapabilities)(nil), // 4: pluggableharness.agent.context.v1.ContextCapabilities - (*ConfigureResponse)(nil), // 5: pluggableharness.agent.context.v1.ConfigureResponse - (*ContextRequest)(nil), // 6: pluggableharness.agent.context.v1.ContextRequest - (*ContextContribution)(nil), // 7: pluggableharness.agent.context.v1.ContextContribution - (*ContextError)(nil), // 8: pluggableharness.agent.context.v1.ContextError - (*RenderRequest)(nil), // 9: pluggableharness.agent.context.v1.RenderRequest - (*RenderResponse)(nil), // 10: pluggableharness.agent.context.v1.RenderResponse - (*DescribeRequest)(nil), // 11: pluggableharness.agent.context.v1.DescribeRequest - (*DescribeResponse)(nil), // 12: pluggableharness.agent.context.v1.DescribeResponse + return file_pluggableharness_context_v1_context_proto_rawDescData +} + +var file_pluggableharness_context_v1_context_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_pluggableharness_context_v1_context_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_pluggableharness_context_v1_context_proto_goTypes = []any{ + (ContextErrorCategory)(0), // 0: pluggableharness.context.v1.ContextErrorCategory + (*GetCapabilitiesRequest)(nil), // 1: pluggableharness.context.v1.GetCapabilitiesRequest + (*GetCapabilitiesResponse)(nil), // 2: pluggableharness.context.v1.GetCapabilitiesResponse + (*ConfigureRequest)(nil), // 3: pluggableharness.context.v1.ConfigureRequest + (*ContextCapabilities)(nil), // 4: pluggableharness.context.v1.ContextCapabilities + (*ConfigureResponse)(nil), // 5: pluggableharness.context.v1.ConfigureResponse + (*ContextRequest)(nil), // 6: pluggableharness.context.v1.ContextRequest + (*ContextContribution)(nil), // 7: pluggableharness.context.v1.ContextContribution + (*ContextError)(nil), // 8: pluggableharness.context.v1.ContextError + (*RenderRequest)(nil), // 9: pluggableharness.context.v1.RenderRequest + (*RenderResponse)(nil), // 10: pluggableharness.context.v1.RenderResponse + (*DescribeRequest)(nil), // 11: pluggableharness.context.v1.DescribeRequest + (*DescribeResponse)(nil), // 12: pluggableharness.context.v1.DescribeResponse (*structpb.Struct)(nil), // 13: google.protobuf.Struct - (v1.Stability)(0), // 14: pluggableharness.agent.content.v1.Stability - (*v11.SlashCommandSpec)(nil), // 15: pluggableharness.agent.slashcommand.v1.SlashCommandSpec - (*v12.ConfigSchema)(nil), // 16: pluggableharness.agent.config.v1.ConfigSchema - (v13.HookPoint)(0), // 17: pluggableharness.agent.common.v1.HookPoint - (*v14.ModelTarget)(nil), // 18: pluggableharness.agent.model.v1.ModelTarget - (*v1.ContextSection)(nil), // 19: pluggableharness.agent.content.v1.ContextSection - (*v1.Message)(nil), // 20: pluggableharness.agent.content.v1.Message - (*v15.RenderTree)(nil), // 21: pluggableharness.agent.render.v1.RenderTree - (*v13.ProducerRef)(nil), // 22: pluggableharness.agent.common.v1.ProducerRef -} -var file_pluggableharness_agent_context_v1_context_proto_depIdxs = []int32{ - 4, // 0: pluggableharness.agent.context.v1.GetCapabilitiesResponse.capabilities:type_name -> pluggableharness.agent.context.v1.ContextCapabilities - 13, // 1: pluggableharness.agent.context.v1.ConfigureRequest.config:type_name -> google.protobuf.Struct - 14, // 2: pluggableharness.agent.context.v1.ContextCapabilities.stability:type_name -> pluggableharness.agent.content.v1.Stability - 15, // 3: pluggableharness.agent.context.v1.ContextCapabilities.slash_commands:type_name -> pluggableharness.agent.slashcommand.v1.SlashCommandSpec - 16, // 4: pluggableharness.agent.context.v1.ContextCapabilities.config_schema:type_name -> pluggableharness.agent.config.v1.ConfigSchema - 17, // 5: pluggableharness.agent.context.v1.ContextCapabilities.supported_hook_points:type_name -> pluggableharness.agent.common.v1.HookPoint - 18, // 6: pluggableharness.agent.context.v1.ContextRequest.model_target:type_name -> pluggableharness.agent.model.v1.ModelTarget - 19, // 7: pluggableharness.agent.context.v1.ContextRequest.prior_sections:type_name -> pluggableharness.agent.content.v1.ContextSection - 20, // 8: pluggableharness.agent.context.v1.ContextRequest.conversation_history:type_name -> pluggableharness.agent.content.v1.Message - 19, // 9: pluggableharness.agent.context.v1.ContextContribution.sections:type_name -> pluggableharness.agent.content.v1.ContextSection - 20, // 10: pluggableharness.agent.context.v1.ContextContribution.rewritten_history:type_name -> pluggableharness.agent.content.v1.Message - 0, // 11: pluggableharness.agent.context.v1.ContextError.category:type_name -> pluggableharness.agent.context.v1.ContextErrorCategory - 21, // 12: pluggableharness.agent.context.v1.RenderResponse.tree:type_name -> pluggableharness.agent.render.v1.RenderTree - 22, // 13: pluggableharness.agent.context.v1.DescribeResponse.producer:type_name -> pluggableharness.agent.common.v1.ProducerRef - 1, // 14: pluggableharness.agent.context.v1.ContextService.GetCapabilities:input_type -> pluggableharness.agent.context.v1.GetCapabilitiesRequest - 3, // 15: pluggableharness.agent.context.v1.ContextService.Configure:input_type -> pluggableharness.agent.context.v1.ConfigureRequest - 6, // 16: pluggableharness.agent.context.v1.ContextService.Contribute:input_type -> pluggableharness.agent.context.v1.ContextRequest - 9, // 17: pluggableharness.agent.context.v1.ContextService.Render:input_type -> pluggableharness.agent.context.v1.RenderRequest - 11, // 18: pluggableharness.agent.context.v1.ContextService.Describe:input_type -> pluggableharness.agent.context.v1.DescribeRequest - 2, // 19: pluggableharness.agent.context.v1.ContextService.GetCapabilities:output_type -> pluggableharness.agent.context.v1.GetCapabilitiesResponse - 5, // 20: pluggableharness.agent.context.v1.ContextService.Configure:output_type -> pluggableharness.agent.context.v1.ConfigureResponse - 7, // 21: pluggableharness.agent.context.v1.ContextService.Contribute:output_type -> pluggableharness.agent.context.v1.ContextContribution - 10, // 22: pluggableharness.agent.context.v1.ContextService.Render:output_type -> pluggableharness.agent.context.v1.RenderResponse - 12, // 23: pluggableharness.agent.context.v1.ContextService.Describe:output_type -> pluggableharness.agent.context.v1.DescribeResponse + (v1.Stability)(0), // 14: pluggableharness.content.v1.Stability + (*v11.SlashCommandSpec)(nil), // 15: pluggableharness.slashcommand.v1.SlashCommandSpec + (*v12.ConfigSchema)(nil), // 16: pluggableharness.config.v1.ConfigSchema + (v13.HookPoint)(0), // 17: pluggableharness.common.v1.HookPoint + (*v14.ModelTarget)(nil), // 18: pluggableharness.model.v1.ModelTarget + (*v1.ContextSection)(nil), // 19: pluggableharness.content.v1.ContextSection + (*v1.Message)(nil), // 20: pluggableharness.content.v1.Message + (*v15.RenderTree)(nil), // 21: pluggableharness.render.v1.RenderTree + (*v13.ProducerRef)(nil), // 22: pluggableharness.common.v1.ProducerRef +} +var file_pluggableharness_context_v1_context_proto_depIdxs = []int32{ + 4, // 0: pluggableharness.context.v1.GetCapabilitiesResponse.capabilities:type_name -> pluggableharness.context.v1.ContextCapabilities + 13, // 1: pluggableharness.context.v1.ConfigureRequest.config:type_name -> google.protobuf.Struct + 14, // 2: pluggableharness.context.v1.ContextCapabilities.stability:type_name -> pluggableharness.content.v1.Stability + 15, // 3: pluggableharness.context.v1.ContextCapabilities.slash_commands:type_name -> pluggableharness.slashcommand.v1.SlashCommandSpec + 16, // 4: pluggableharness.context.v1.ContextCapabilities.config_schema:type_name -> pluggableharness.config.v1.ConfigSchema + 17, // 5: pluggableharness.context.v1.ContextCapabilities.supported_hook_points:type_name -> pluggableharness.common.v1.HookPoint + 18, // 6: pluggableharness.context.v1.ContextRequest.model_target:type_name -> pluggableharness.model.v1.ModelTarget + 19, // 7: pluggableharness.context.v1.ContextRequest.prior_sections:type_name -> pluggableharness.content.v1.ContextSection + 20, // 8: pluggableharness.context.v1.ContextRequest.conversation_history:type_name -> pluggableharness.content.v1.Message + 19, // 9: pluggableharness.context.v1.ContextContribution.sections:type_name -> pluggableharness.content.v1.ContextSection + 20, // 10: pluggableharness.context.v1.ContextContribution.rewritten_history:type_name -> pluggableharness.content.v1.Message + 0, // 11: pluggableharness.context.v1.ContextError.category:type_name -> pluggableharness.context.v1.ContextErrorCategory + 21, // 12: pluggableharness.context.v1.RenderResponse.tree:type_name -> pluggableharness.render.v1.RenderTree + 22, // 13: pluggableharness.context.v1.DescribeResponse.producer:type_name -> pluggableharness.common.v1.ProducerRef + 1, // 14: pluggableharness.context.v1.ContextService.GetCapabilities:input_type -> pluggableharness.context.v1.GetCapabilitiesRequest + 3, // 15: pluggableharness.context.v1.ContextService.Configure:input_type -> pluggableharness.context.v1.ConfigureRequest + 6, // 16: pluggableharness.context.v1.ContextService.Contribute:input_type -> pluggableharness.context.v1.ContextRequest + 9, // 17: pluggableharness.context.v1.ContextService.Render:input_type -> pluggableharness.context.v1.RenderRequest + 11, // 18: pluggableharness.context.v1.ContextService.Describe:input_type -> pluggableharness.context.v1.DescribeRequest + 2, // 19: pluggableharness.context.v1.ContextService.GetCapabilities:output_type -> pluggableharness.context.v1.GetCapabilitiesResponse + 5, // 20: pluggableharness.context.v1.ContextService.Configure:output_type -> pluggableharness.context.v1.ConfigureResponse + 7, // 21: pluggableharness.context.v1.ContextService.Contribute:output_type -> pluggableharness.context.v1.ContextContribution + 10, // 22: pluggableharness.context.v1.ContextService.Render:output_type -> pluggableharness.context.v1.RenderResponse + 12, // 23: pluggableharness.context.v1.ContextService.Describe:output_type -> pluggableharness.context.v1.DescribeResponse 19, // [19:24] is the sub-list for method output_type 14, // [14:19] is the sub-list for method input_type 14, // [14:14] is the sub-list for extension type_name @@ -1017,27 +1017,27 @@ var file_pluggableharness_agent_context_v1_context_proto_depIdxs = []int32{ 0, // [0:14] is the sub-list for field type_name } -func init() { file_pluggableharness_agent_context_v1_context_proto_init() } -func file_pluggableharness_agent_context_v1_context_proto_init() { - if File_pluggableharness_agent_context_v1_context_proto != nil { +func init() { file_pluggableharness_context_v1_context_proto_init() } +func file_pluggableharness_context_v1_context_proto_init() { + if File_pluggableharness_context_v1_context_proto != nil { return } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_context_v1_context_proto_rawDesc), len(file_pluggableharness_agent_context_v1_context_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_context_v1_context_proto_rawDesc), len(file_pluggableharness_context_v1_context_proto_rawDesc)), NumEnums: 1, NumMessages: 12, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_pluggableharness_agent_context_v1_context_proto_goTypes, - DependencyIndexes: file_pluggableharness_agent_context_v1_context_proto_depIdxs, - EnumInfos: file_pluggableharness_agent_context_v1_context_proto_enumTypes, - MessageInfos: file_pluggableharness_agent_context_v1_context_proto_msgTypes, + GoTypes: file_pluggableharness_context_v1_context_proto_goTypes, + DependencyIndexes: file_pluggableharness_context_v1_context_proto_depIdxs, + EnumInfos: file_pluggableharness_context_v1_context_proto_enumTypes, + MessageInfos: file_pluggableharness_context_v1_context_proto_msgTypes, }.Build() - File_pluggableharness_agent_context_v1_context_proto = out.File - file_pluggableharness_agent_context_v1_context_proto_goTypes = nil - file_pluggableharness_agent_context_v1_context_proto_depIdxs = nil + File_pluggableharness_context_v1_context_proto = out.File + file_pluggableharness_context_v1_context_proto_goTypes = nil + file_pluggableharness_context_v1_context_proto_depIdxs = nil } diff --git a/pkg/context/proto/v1/context_grpc.pb.go b/pkg/context/proto/v1/context_grpc.pb.go index e688fbd..dd12074 100644 --- a/pkg/context/proto/v1/context_grpc.pb.go +++ b/pkg/context/proto/v1/context_grpc.pb.go @@ -2,9 +2,9 @@ // versions: // - protoc-gen-go-grpc v1.6.2 // - protoc (unknown) -// source: pluggableharness/agent/context/v1/context.proto +// source: pluggableharness/context/v1/context.proto -// Package pluggableharness.agent.context.v1 defines the context provider plugin protocol +// Package pluggableharness.context.v1 defines the context provider plugin protocol // described in specifications/context.md — plugins that hook // context-assemble and contribute content to the prompt before each model // call (e.g. a CLAUDE.md reader, an AGENTS.md reader, a git-status/file-tree @@ -12,7 +12,7 @@ // // ContextSection and Stability — the section chain this protocol assembles // and the turn-to-turn-change hint each section carries — are defined in -// pluggableharness.agent.content.v1, not here: that chain is consumed by +// pluggableharness.content.v1, not here: that chain is consumed by // both this protocol and the model provider's completion request // (forthcoming), so it's homed alongside content.v1's other shared content // shapes rather than duplicated or owned by only one consumer. @@ -32,11 +32,11 @@ import ( const _ = grpc.SupportPackageIsVersion9 const ( - ContextService_GetCapabilities_FullMethodName = "/pluggableharness.agent.context.v1.ContextService/GetCapabilities" - ContextService_Configure_FullMethodName = "/pluggableharness.agent.context.v1.ContextService/Configure" - ContextService_Contribute_FullMethodName = "/pluggableharness.agent.context.v1.ContextService/Contribute" - ContextService_Render_FullMethodName = "/pluggableharness.agent.context.v1.ContextService/Render" - ContextService_Describe_FullMethodName = "/pluggableharness.agent.context.v1.ContextService/Describe" + ContextService_GetCapabilities_FullMethodName = "/pluggableharness.context.v1.ContextService/GetCapabilities" + ContextService_Configure_FullMethodName = "/pluggableharness.context.v1.ContextService/Configure" + ContextService_Contribute_FullMethodName = "/pluggableharness.context.v1.ContextService/Contribute" + ContextService_Render_FullMethodName = "/pluggableharness.context.v1.ContextService/Render" + ContextService_Describe_FullMethodName = "/pluggableharness.context.v1.ContextService/Describe" ) // ContextServiceClient is the client API for ContextService service. @@ -345,7 +345,7 @@ func _ContextService_Describe_Handler(srv interface{}, ctx context.Context, dec // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) var ContextService_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "pluggableharness.agent.context.v1.ContextService", + ServiceName: "pluggableharness.context.v1.ContextService", HandlerType: (*ContextServiceServer)(nil), Methods: []grpc.MethodDesc{ { @@ -370,5 +370,5 @@ var ContextService_ServiceDesc = grpc.ServiceDesc{ }, }, Streams: []grpc.StreamDesc{}, - Metadata: "pluggableharness/agent/context/v1/context.proto", + Metadata: "pluggableharness/context/v1/context.proto", } diff --git a/pkg/event/proto/v1/event.pb.go b/pkg/event/proto/v1/event.pb.go index 5963eba..aced4a3 100644 --- a/pkg/event/proto/v1/event.pb.go +++ b/pkg/event/proto/v1/event.pb.go @@ -2,10 +2,10 @@ // versions: // protoc-gen-go v1.36.11 // protoc (unknown) -// source: pluggableharness/agent/event/v1/event.proto +// source: pluggableharness/event/v1/event.proto -// Package pluggableharness.agent.event.v1 defines the decoded payload shape -// for every pluggableharness.agent.kernel.v1.EventKind — the concrete +// Package pluggableharness.event.v1 defines the decoded payload shape +// for every pluggableharness.kernel.v1.EventKind — the concrete // message that a kernel.v1.EmitRequest.payload / the state backend's // events.payload column (state-backend.md §The kind enum) actually // contains, once schema_version identifies it. This package defines no @@ -112,7 +112,7 @@ type MessageEvent struct { func (x *MessageEvent) Reset() { *x = MessageEvent{} - mi := &file_pluggableharness_agent_event_v1_event_proto_msgTypes[0] + mi := &file_pluggableharness_event_v1_event_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -124,7 +124,7 @@ func (x *MessageEvent) String() string { func (*MessageEvent) ProtoMessage() {} func (x *MessageEvent) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_event_v1_event_proto_msgTypes[0] + mi := &file_pluggableharness_event_v1_event_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -137,7 +137,7 @@ func (x *MessageEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use MessageEvent.ProtoReflect.Descriptor instead. func (*MessageEvent) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_event_v1_event_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_event_v1_event_proto_rawDescGZIP(), []int{0} } func (x *MessageEvent) GetMessage() *v1.Message { @@ -179,7 +179,7 @@ type ToolCallEvent struct { func (x *ToolCallEvent) Reset() { *x = ToolCallEvent{} - mi := &file_pluggableharness_agent_event_v1_event_proto_msgTypes[1] + mi := &file_pluggableharness_event_v1_event_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -191,7 +191,7 @@ func (x *ToolCallEvent) String() string { func (*ToolCallEvent) ProtoMessage() {} func (x *ToolCallEvent) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_event_v1_event_proto_msgTypes[1] + mi := &file_pluggableharness_event_v1_event_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -204,7 +204,7 @@ func (x *ToolCallEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolCallEvent.ProtoReflect.Descriptor instead. func (*ToolCallEvent) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_event_v1_event_proto_rawDescGZIP(), []int{1} + return file_pluggableharness_event_v1_event_proto_rawDescGZIP(), []int{1} } func (x *ToolCallEvent) GetCall() *v13.ToolCall { @@ -232,7 +232,7 @@ type ToolResultEvent struct { func (x *ToolResultEvent) Reset() { *x = ToolResultEvent{} - mi := &file_pluggableharness_agent_event_v1_event_proto_msgTypes[2] + mi := &file_pluggableharness_event_v1_event_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -244,7 +244,7 @@ func (x *ToolResultEvent) String() string { func (*ToolResultEvent) ProtoMessage() {} func (x *ToolResultEvent) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_event_v1_event_proto_msgTypes[2] + mi := &file_pluggableharness_event_v1_event_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -257,7 +257,7 @@ func (x *ToolResultEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolResultEvent.ProtoReflect.Descriptor instead. func (*ToolResultEvent) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_event_v1_event_proto_rawDescGZIP(), []int{2} + return file_pluggableharness_event_v1_event_proto_rawDescGZIP(), []int{2} } func (x *ToolResultEvent) GetToolCallId() string { @@ -323,7 +323,7 @@ type PlanEvent struct { func (x *PlanEvent) Reset() { *x = PlanEvent{} - mi := &file_pluggableharness_agent_event_v1_event_proto_msgTypes[3] + mi := &file_pluggableharness_event_v1_event_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -335,7 +335,7 @@ func (x *PlanEvent) String() string { func (*PlanEvent) ProtoMessage() {} func (x *PlanEvent) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_event_v1_event_proto_msgTypes[3] + mi := &file_pluggableharness_event_v1_event_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -348,7 +348,7 @@ func (x *PlanEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use PlanEvent.ProtoReflect.Descriptor instead. func (*PlanEvent) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_event_v1_event_proto_rawDescGZIP(), []int{3} + return file_pluggableharness_event_v1_event_proto_rawDescGZIP(), []int{3} } func (x *PlanEvent) GetPlan() *v14.Plan { @@ -376,7 +376,7 @@ type ApplyEvent struct { func (x *ApplyEvent) Reset() { *x = ApplyEvent{} - mi := &file_pluggableharness_agent_event_v1_event_proto_msgTypes[4] + mi := &file_pluggableharness_event_v1_event_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -388,7 +388,7 @@ func (x *ApplyEvent) String() string { func (*ApplyEvent) ProtoMessage() {} func (x *ApplyEvent) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_event_v1_event_proto_msgTypes[4] + mi := &file_pluggableharness_event_v1_event_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -401,7 +401,7 @@ func (x *ApplyEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use ApplyEvent.ProtoReflect.Descriptor instead. func (*ApplyEvent) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_event_v1_event_proto_rawDescGZIP(), []int{4} + return file_pluggableharness_event_v1_event_proto_rawDescGZIP(), []int{4} } func (x *ApplyEvent) GetResult() *v14.ApplyResult { @@ -437,7 +437,7 @@ type ContextContributionEvent struct { func (x *ContextContributionEvent) Reset() { *x = ContextContributionEvent{} - mi := &file_pluggableharness_agent_event_v1_event_proto_msgTypes[5] + mi := &file_pluggableharness_event_v1_event_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -449,7 +449,7 @@ func (x *ContextContributionEvent) String() string { func (*ContextContributionEvent) ProtoMessage() {} func (x *ContextContributionEvent) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_event_v1_event_proto_msgTypes[5] + mi := &file_pluggableharness_event_v1_event_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -462,7 +462,7 @@ func (x *ContextContributionEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use ContextContributionEvent.ProtoReflect.Descriptor instead. func (*ContextContributionEvent) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_event_v1_event_proto_rawDescGZIP(), []int{5} + return file_pluggableharness_event_v1_event_proto_rawDescGZIP(), []int{5} } func (x *ContextContributionEvent) GetContent() []*v1.ContentBlock { @@ -510,7 +510,7 @@ type MemoryMutationEvent struct { func (x *MemoryMutationEvent) Reset() { *x = MemoryMutationEvent{} - mi := &file_pluggableharness_agent_event_v1_event_proto_msgTypes[6] + mi := &file_pluggableharness_event_v1_event_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -522,7 +522,7 @@ func (x *MemoryMutationEvent) String() string { func (*MemoryMutationEvent) ProtoMessage() {} func (x *MemoryMutationEvent) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_event_v1_event_proto_msgTypes[6] + mi := &file_pluggableharness_event_v1_event_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -535,7 +535,7 @@ func (x *MemoryMutationEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use MemoryMutationEvent.ProtoReflect.Descriptor instead. func (*MemoryMutationEvent) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_event_v1_event_proto_rawDescGZIP(), []int{6} + return file_pluggableharness_event_v1_event_proto_rawDescGZIP(), []int{6} } func (x *MemoryMutationEvent) GetRecordId() string { @@ -576,7 +576,7 @@ type HookErrorEvent struct { func (x *HookErrorEvent) Reset() { *x = HookErrorEvent{} - mi := &file_pluggableharness_agent_event_v1_event_proto_msgTypes[7] + mi := &file_pluggableharness_event_v1_event_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -588,7 +588,7 @@ func (x *HookErrorEvent) String() string { func (*HookErrorEvent) ProtoMessage() {} func (x *HookErrorEvent) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_event_v1_event_proto_msgTypes[7] + mi := &file_pluggableharness_event_v1_event_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -601,7 +601,7 @@ func (x *HookErrorEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use HookErrorEvent.ProtoReflect.Descriptor instead. func (*HookErrorEvent) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_event_v1_event_proto_rawDescGZIP(), []int{7} + return file_pluggableharness_event_v1_event_proto_rawDescGZIP(), []int{7} } func (x *HookErrorEvent) GetError() *v15.HookError { @@ -611,95 +611,95 @@ func (x *HookErrorEvent) GetError() *v15.HookError { return nil } -var File_pluggableharness_agent_event_v1_event_proto protoreflect.FileDescriptor +var File_pluggableharness_event_v1_event_proto protoreflect.FileDescriptor -const file_pluggableharness_agent_event_v1_event_proto_rawDesc = "" + +const file_pluggableharness_event_v1_event_proto_rawDesc = "" + "\n" + - "+pluggableharness/agent/event/v1/event.proto\x12\x1fpluggableharness.agent.event.v1\x1a-pluggableharness/agent/common/v1/common.proto\x1a/pluggableharness/agent/content/v1/content.proto\x1a)pluggableharness/agent/hook/v1/hook.proto\x1a+pluggableharness/agent/model/v1/model.proto\x1a)pluggableharness/agent/plan/v1/plan.proto\x1a)pluggableharness/agent/tool/v1/tool.proto\"\xf2\x01\n" + - "\fMessageEvent\x12D\n" + - "\amessage\x18\x01 \x01(\v2*.pluggableharness.agent.content.v1.MessageR\amessage\x12C\n" + - "\x05model\x18\x02 \x01(\v2-.pluggableharness.agent.common.v1.ProducerRefR\x05model\x12<\n" + - "\x05usage\x18\x03 \x01(\v2&.pluggableharness.agent.model.v1.UsageR\x05usage\x12\x19\n" + - "\bcost_usd\x18\x04 \x01(\x01R\acostUsd\"M\n" + - "\rToolCallEvent\x12<\n" + - "\x04call\x18\x01 \x01(\v2(.pluggableharness.agent.tool.v1.ToolCallR\x04call\"\xc7\x01\n" + + "%pluggableharness/event/v1/event.proto\x12\x19pluggableharness.event.v1\x1a'pluggableharness/common/v1/common.proto\x1a)pluggableharness/content/v1/content.proto\x1a#pluggableharness/hook/v1/hook.proto\x1a%pluggableharness/model/v1/model.proto\x1a#pluggableharness/plan/v1/plan.proto\x1a#pluggableharness/tool/v1/tool.proto\"\xe0\x01\n" + + "\fMessageEvent\x12>\n" + + "\amessage\x18\x01 \x01(\v2$.pluggableharness.content.v1.MessageR\amessage\x12=\n" + + "\x05model\x18\x02 \x01(\v2'.pluggableharness.common.v1.ProducerRefR\x05model\x126\n" + + "\x05usage\x18\x03 \x01(\v2 .pluggableharness.model.v1.UsageR\x05usage\x12\x19\n" + + "\bcost_usd\x18\x04 \x01(\x01R\acostUsd\"G\n" + + "\rToolCallEvent\x126\n" + + "\x04call\x18\x01 \x01(\v2\".pluggableharness.tool.v1.ToolCallR\x04call\"\xbb\x01\n" + "\x0fToolResultEvent\x12 \n" + "\ftool_call_id\x18\x01 \x01(\tR\n" + - "toolCallId\x12D\n" + - "\x06result\x18\x02 \x01(\v2*.pluggableharness.agent.tool.v1.ToolResultH\x00R\x06result\x12A\n" + - "\x05error\x18\x03 \x01(\v2).pluggableharness.agent.tool.v1.ToolErrorH\x00R\x05errorB\t\n" + - "\aoutcome\"E\n" + - "\tPlanEvent\x128\n" + - "\x04plan\x18\x01 \x01(\v2$.pluggableharness.agent.plan.v1.PlanR\x04plan\"Q\n" + + "toolCallId\x12>\n" + + "\x06result\x18\x02 \x01(\v2$.pluggableharness.tool.v1.ToolResultH\x00R\x06result\x12;\n" + + "\x05error\x18\x03 \x01(\v2#.pluggableharness.tool.v1.ToolErrorH\x00R\x05errorB\t\n" + + "\aoutcome\"?\n" + + "\tPlanEvent\x122\n" + + "\x04plan\x18\x01 \x01(\v2\x1e.pluggableharness.plan.v1.PlanR\x04plan\"K\n" + "\n" + - "ApplyEvent\x12C\n" + - "\x06result\x18\x01 \x01(\v2+.pluggableharness.agent.plan.v1.ApplyResultR\x06result\"\xd3\x01\n" + - "\x18ContextContributionEvent\x12I\n" + - "\acontent\x18\x01 \x03(\v2/.pluggableharness.agent.content.v1.ContentBlockR\acontent\x12\x16\n" + - "\x06tokens\x18\x02 \x01(\x03R\x06tokens\x12I\n" + - "\x06target\x18\x03 \x01(\v2,.pluggableharness.agent.model.v1.ModelTargetH\x00R\x06target\x88\x01\x01B\t\n" + - "\a_target\"\xa2\x02\n" + + "ApplyEvent\x12=\n" + + "\x06result\x18\x01 \x01(\v2%.pluggableharness.plan.v1.ApplyResultR\x06result\"\xc7\x01\n" + + "\x18ContextContributionEvent\x12C\n" + + "\acontent\x18\x01 \x03(\v2).pluggableharness.content.v1.ContentBlockR\acontent\x12\x16\n" + + "\x06tokens\x18\x02 \x01(\x03R\x06tokens\x12C\n" + + "\x06target\x18\x03 \x01(\v2&.pluggableharness.model.v1.ModelTargetH\x00R\x06target\x88\x01\x01B\t\n" + + "\a_target\"\x96\x02\n" + "\x13MemoryMutationEvent\x12\x1b\n" + - "\trecord_id\x18\x01 \x01(\tR\brecordId\x12I\n" + - "\acontent\x18\x02 \x03(\v2/.pluggableharness.agent.content.v1.ContentBlockR\acontent\x12d\n" + + "\trecord_id\x18\x01 \x01(\tR\brecordId\x12C\n" + + "\acontent\x18\x02 \x03(\v2).pluggableharness.content.v1.ContentBlockR\acontent\x12^\n" + "\n" + - "attributes\x18\x03 \x03(\v2D.pluggableharness.agent.event.v1.MemoryMutationEvent.AttributesEntryR\n" + + "attributes\x18\x03 \x03(\v2>.pluggableharness.event.v1.MemoryMutationEvent.AttributesEntryR\n" + "attributes\x1a=\n" + "\x0fAttributesEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + - "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"Q\n" + - "\x0eHookErrorEvent\x12?\n" + - "\x05error\x18\x01 \x01(\v2).pluggableharness.agent.hook.v1.HookErrorR\x05errorB>ZZ pluggableharness.agent.content.v1.Message - 10, // 1: pluggableharness.agent.event.v1.MessageEvent.model:type_name -> pluggableharness.agent.common.v1.ProducerRef - 11, // 2: pluggableharness.agent.event.v1.MessageEvent.usage:type_name -> pluggableharness.agent.model.v1.Usage - 12, // 3: pluggableharness.agent.event.v1.ToolCallEvent.call:type_name -> pluggableharness.agent.tool.v1.ToolCall - 13, // 4: pluggableharness.agent.event.v1.ToolResultEvent.result:type_name -> pluggableharness.agent.tool.v1.ToolResult - 14, // 5: pluggableharness.agent.event.v1.ToolResultEvent.error:type_name -> pluggableharness.agent.tool.v1.ToolError - 15, // 6: pluggableharness.agent.event.v1.PlanEvent.plan:type_name -> pluggableharness.agent.plan.v1.Plan - 16, // 7: pluggableharness.agent.event.v1.ApplyEvent.result:type_name -> pluggableharness.agent.plan.v1.ApplyResult - 17, // 8: pluggableharness.agent.event.v1.ContextContributionEvent.content:type_name -> pluggableharness.agent.content.v1.ContentBlock - 18, // 9: pluggableharness.agent.event.v1.ContextContributionEvent.target:type_name -> pluggableharness.agent.model.v1.ModelTarget - 17, // 10: pluggableharness.agent.event.v1.MemoryMutationEvent.content:type_name -> pluggableharness.agent.content.v1.ContentBlock - 8, // 11: pluggableharness.agent.event.v1.MemoryMutationEvent.attributes:type_name -> pluggableharness.agent.event.v1.MemoryMutationEvent.AttributesEntry - 19, // 12: pluggableharness.agent.event.v1.HookErrorEvent.error:type_name -> pluggableharness.agent.hook.v1.HookError + return file_pluggableharness_event_v1_event_proto_rawDescData +} + +var file_pluggableharness_event_v1_event_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_pluggableharness_event_v1_event_proto_goTypes = []any{ + (*MessageEvent)(nil), // 0: pluggableharness.event.v1.MessageEvent + (*ToolCallEvent)(nil), // 1: pluggableharness.event.v1.ToolCallEvent + (*ToolResultEvent)(nil), // 2: pluggableharness.event.v1.ToolResultEvent + (*PlanEvent)(nil), // 3: pluggableharness.event.v1.PlanEvent + (*ApplyEvent)(nil), // 4: pluggableharness.event.v1.ApplyEvent + (*ContextContributionEvent)(nil), // 5: pluggableharness.event.v1.ContextContributionEvent + (*MemoryMutationEvent)(nil), // 6: pluggableharness.event.v1.MemoryMutationEvent + (*HookErrorEvent)(nil), // 7: pluggableharness.event.v1.HookErrorEvent + nil, // 8: pluggableharness.event.v1.MemoryMutationEvent.AttributesEntry + (*v1.Message)(nil), // 9: pluggableharness.content.v1.Message + (*v11.ProducerRef)(nil), // 10: pluggableharness.common.v1.ProducerRef + (*v12.Usage)(nil), // 11: pluggableharness.model.v1.Usage + (*v13.ToolCall)(nil), // 12: pluggableharness.tool.v1.ToolCall + (*v13.ToolResult)(nil), // 13: pluggableharness.tool.v1.ToolResult + (*v13.ToolError)(nil), // 14: pluggableharness.tool.v1.ToolError + (*v14.Plan)(nil), // 15: pluggableharness.plan.v1.Plan + (*v14.ApplyResult)(nil), // 16: pluggableharness.plan.v1.ApplyResult + (*v1.ContentBlock)(nil), // 17: pluggableharness.content.v1.ContentBlock + (*v12.ModelTarget)(nil), // 18: pluggableharness.model.v1.ModelTarget + (*v15.HookError)(nil), // 19: pluggableharness.hook.v1.HookError +} +var file_pluggableharness_event_v1_event_proto_depIdxs = []int32{ + 9, // 0: pluggableharness.event.v1.MessageEvent.message:type_name -> pluggableharness.content.v1.Message + 10, // 1: pluggableharness.event.v1.MessageEvent.model:type_name -> pluggableharness.common.v1.ProducerRef + 11, // 2: pluggableharness.event.v1.MessageEvent.usage:type_name -> pluggableharness.model.v1.Usage + 12, // 3: pluggableharness.event.v1.ToolCallEvent.call:type_name -> pluggableharness.tool.v1.ToolCall + 13, // 4: pluggableharness.event.v1.ToolResultEvent.result:type_name -> pluggableharness.tool.v1.ToolResult + 14, // 5: pluggableharness.event.v1.ToolResultEvent.error:type_name -> pluggableharness.tool.v1.ToolError + 15, // 6: pluggableharness.event.v1.PlanEvent.plan:type_name -> pluggableharness.plan.v1.Plan + 16, // 7: pluggableharness.event.v1.ApplyEvent.result:type_name -> pluggableharness.plan.v1.ApplyResult + 17, // 8: pluggableharness.event.v1.ContextContributionEvent.content:type_name -> pluggableharness.content.v1.ContentBlock + 18, // 9: pluggableharness.event.v1.ContextContributionEvent.target:type_name -> pluggableharness.model.v1.ModelTarget + 17, // 10: pluggableharness.event.v1.MemoryMutationEvent.content:type_name -> pluggableharness.content.v1.ContentBlock + 8, // 11: pluggableharness.event.v1.MemoryMutationEvent.attributes:type_name -> pluggableharness.event.v1.MemoryMutationEvent.AttributesEntry + 19, // 12: pluggableharness.event.v1.HookErrorEvent.error:type_name -> pluggableharness.hook.v1.HookError 13, // [13:13] is the sub-list for method output_type 13, // [13:13] is the sub-list for method input_type 13, // [13:13] is the sub-list for extension type_name @@ -707,31 +707,31 @@ var file_pluggableharness_agent_event_v1_event_proto_depIdxs = []int32{ 0, // [0:13] is the sub-list for field type_name } -func init() { file_pluggableharness_agent_event_v1_event_proto_init() } -func file_pluggableharness_agent_event_v1_event_proto_init() { - if File_pluggableharness_agent_event_v1_event_proto != nil { +func init() { file_pluggableharness_event_v1_event_proto_init() } +func file_pluggableharness_event_v1_event_proto_init() { + if File_pluggableharness_event_v1_event_proto != nil { return } - file_pluggableharness_agent_event_v1_event_proto_msgTypes[2].OneofWrappers = []any{ + file_pluggableharness_event_v1_event_proto_msgTypes[2].OneofWrappers = []any{ (*ToolResultEvent_Result)(nil), (*ToolResultEvent_Error)(nil), } - file_pluggableharness_agent_event_v1_event_proto_msgTypes[5].OneofWrappers = []any{} + file_pluggableharness_event_v1_event_proto_msgTypes[5].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_event_v1_event_proto_rawDesc), len(file_pluggableharness_agent_event_v1_event_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_event_v1_event_proto_rawDesc), len(file_pluggableharness_event_v1_event_proto_rawDesc)), NumEnums: 0, NumMessages: 9, NumExtensions: 0, NumServices: 0, }, - GoTypes: file_pluggableharness_agent_event_v1_event_proto_goTypes, - DependencyIndexes: file_pluggableharness_agent_event_v1_event_proto_depIdxs, - MessageInfos: file_pluggableharness_agent_event_v1_event_proto_msgTypes, + GoTypes: file_pluggableharness_event_v1_event_proto_goTypes, + DependencyIndexes: file_pluggableharness_event_v1_event_proto_depIdxs, + MessageInfos: file_pluggableharness_event_v1_event_proto_msgTypes, }.Build() - File_pluggableharness_agent_event_v1_event_proto = out.File - file_pluggableharness_agent_event_v1_event_proto_goTypes = nil - file_pluggableharness_agent_event_v1_event_proto_depIdxs = nil + File_pluggableharness_event_v1_event_proto = out.File + file_pluggableharness_event_v1_event_proto_goTypes = nil + file_pluggableharness_event_v1_event_proto_depIdxs = nil } diff --git a/pkg/frontend/proto/v1/frontend.pb.go b/pkg/frontend/proto/v1/frontend.pb.go index 6f3adb4..3b49705 100644 --- a/pkg/frontend/proto/v1/frontend.pb.go +++ b/pkg/frontend/proto/v1/frontend.pb.go @@ -2,9 +2,9 @@ // versions: // protoc-gen-go v1.36.11 // protoc (unknown) -// source: pluggableharness/agent/frontend/v1/frontend.proto +// source: pluggableharness/frontend/v1/frontend.proto -// Package pluggableharness.agent.frontend.v1 defines the frontend provider plugin protocol +// Package pluggableharness.frontend.v1 defines the frontend provider plugin protocol // described in specifications/frontend.md §3 (Attach, ServerEvent, // ClientEvent, ...). @@ -74,11 +74,11 @@ func (x ClientDecision) String() string { } func (ClientDecision) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_frontend_v1_frontend_proto_enumTypes[0].Descriptor() + return file_pluggableharness_frontend_v1_frontend_proto_enumTypes[0].Descriptor() } func (ClientDecision) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_frontend_v1_frontend_proto_enumTypes[0] + return &file_pluggableharness_frontend_v1_frontend_proto_enumTypes[0] } func (x ClientDecision) Number() protoreflect.EnumNumber { @@ -87,7 +87,7 @@ func (x ClientDecision) Number() protoreflect.EnumNumber { // Deprecated: Use ClientDecision.Descriptor instead. func (ClientDecision) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{0} } // PlanDecisionScope is how durably a ClientEvent.PlanDecision applies, @@ -146,11 +146,11 @@ func (x PlanDecisionScope) String() string { } func (PlanDecisionScope) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_frontend_v1_frontend_proto_enumTypes[1].Descriptor() + return file_pluggableharness_frontend_v1_frontend_proto_enumTypes[1].Descriptor() } func (PlanDecisionScope) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_frontend_v1_frontend_proto_enumTypes[1] + return &file_pluggableharness_frontend_v1_frontend_proto_enumTypes[1] } func (x PlanDecisionScope) Number() protoreflect.EnumNumber { @@ -159,7 +159,7 @@ func (x PlanDecisionScope) Number() protoreflect.EnumNumber { // Deprecated: Use PlanDecisionScope.Descriptor instead. func (PlanDecisionScope) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{1} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{1} } // FrontendErrorCategory classifies a FrontendError, per the error taxonomy @@ -244,11 +244,11 @@ func (x FrontendErrorCategory) String() string { } func (FrontendErrorCategory) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_frontend_v1_frontend_proto_enumTypes[2].Descriptor() + return file_pluggableharness_frontend_v1_frontend_proto_enumTypes[2].Descriptor() } func (FrontendErrorCategory) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_frontend_v1_frontend_proto_enumTypes[2] + return &file_pluggableharness_frontend_v1_frontend_proto_enumTypes[2] } func (x FrontendErrorCategory) Number() protoreflect.EnumNumber { @@ -257,7 +257,7 @@ func (x FrontendErrorCategory) Number() protoreflect.EnumNumber { // Deprecated: Use FrontendErrorCategory.Descriptor instead. func (FrontendErrorCategory) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{2} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{2} } // DescribeRequest carries no fields — Describe takes no parameters. @@ -269,7 +269,7 @@ type DescribeRequest struct { func (x *DescribeRequest) Reset() { *x = DescribeRequest{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[0] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -281,7 +281,7 @@ func (x *DescribeRequest) String() string { func (*DescribeRequest) ProtoMessage() {} func (x *DescribeRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[0] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -294,7 +294,7 @@ func (x *DescribeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DescribeRequest.ProtoReflect.Descriptor instead. func (*DescribeRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{0} } // DescribeResponse reports this plugin build's own identity, obtained @@ -310,7 +310,7 @@ type DescribeResponse struct { func (x *DescribeResponse) Reset() { *x = DescribeResponse{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[1] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -322,7 +322,7 @@ func (x *DescribeResponse) String() string { func (*DescribeResponse) ProtoMessage() {} func (x *DescribeResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[1] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -335,7 +335,7 @@ func (x *DescribeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DescribeResponse.ProtoReflect.Descriptor instead. func (*DescribeResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{1} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{1} } func (x *DescribeResponse) GetProducer() *v1.ProducerRef { @@ -355,7 +355,7 @@ type GetCapabilitiesRequest struct { func (x *GetCapabilitiesRequest) Reset() { *x = GetCapabilitiesRequest{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[2] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -367,7 +367,7 @@ func (x *GetCapabilitiesRequest) String() string { func (*GetCapabilitiesRequest) ProtoMessage() {} func (x *GetCapabilitiesRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[2] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -380,7 +380,7 @@ func (x *GetCapabilitiesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCapabilitiesRequest.ProtoReflect.Descriptor instead. func (*GetCapabilitiesRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{2} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{2} } // GetCapabilitiesResponse wraps FrontendCapabilities for the RPC signature, @@ -394,7 +394,7 @@ type GetCapabilitiesResponse struct { func (x *GetCapabilitiesResponse) Reset() { *x = GetCapabilitiesResponse{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[3] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -406,7 +406,7 @@ func (x *GetCapabilitiesResponse) String() string { func (*GetCapabilitiesResponse) ProtoMessage() {} func (x *GetCapabilitiesResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[3] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -419,7 +419,7 @@ func (x *GetCapabilitiesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCapabilitiesResponse.ProtoReflect.Descriptor instead. func (*GetCapabilitiesResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{3} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{3} } func (x *GetCapabilitiesResponse) GetCapabilities() *FrontendCapabilities { @@ -442,19 +442,19 @@ type FrontendCapabilities struct { // FRONTEND_ERROR_CATEGORY_REGION_UNSUPPORTED error a placement the // frontend can't honor still produces — this lets a producer route // content preferentially without waiting to find out the hard way. - SupportedRegions []v13.Region `protobuf:"varint,3,rep,packed,name=supported_regions,json=supportedRegions,proto3,enum=pluggableharness.agent.render.v1.Region" json:"supported_regions,omitempty"` + SupportedRegions []v13.Region `protobuf:"varint,3,rep,packed,name=supported_regions,json=supportedRegions,proto3,enum=pluggableharness.render.v1.Region" json:"supported_regions,omitempty"` // Hook points this frontend can subscribe to (agent-loop/hook-dispatch.md), // so a mis-declared agent.hcl hook{} block naming an unsupported point // can be rejected at config-load time rather than failing at first // dispatch. - SupportedHookPoints []v1.HookPoint `protobuf:"varint,4,rep,packed,name=supported_hook_points,json=supportedHookPoints,proto3,enum=pluggableharness.agent.common.v1.HookPoint" json:"supported_hook_points,omitempty"` + SupportedHookPoints []v1.HookPoint `protobuf:"varint,4,rep,packed,name=supported_hook_points,json=supportedHookPoints,proto3,enum=pluggableharness.common.v1.HookPoint" json:"supported_hook_points,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *FrontendCapabilities) Reset() { *x = FrontendCapabilities{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[4] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -466,7 +466,7 @@ func (x *FrontendCapabilities) String() string { func (*FrontendCapabilities) ProtoMessage() {} func (x *FrontendCapabilities) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[4] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -479,7 +479,7 @@ func (x *FrontendCapabilities) ProtoReflect() protoreflect.Message { // Deprecated: Use FrontendCapabilities.ProtoReflect.Descriptor instead. func (*FrontendCapabilities) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{4} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{4} } func (x *FrontendCapabilities) GetSlashCommands() []*v11.SlashCommandSpec { @@ -523,7 +523,7 @@ type ConfigureRequest struct { func (x *ConfigureRequest) Reset() { *x = ConfigureRequest{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[5] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -535,7 +535,7 @@ func (x *ConfigureRequest) String() string { func (*ConfigureRequest) ProtoMessage() {} func (x *ConfigureRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[5] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -548,7 +548,7 @@ func (x *ConfigureRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigureRequest.ProtoReflect.Descriptor instead. func (*ConfigureRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{5} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{5} } func (x *ConfigureRequest) GetConfig() *structpb.Struct { @@ -569,7 +569,7 @@ type ConfigureResponse struct { func (x *ConfigureResponse) Reset() { *x = ConfigureResponse{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[6] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -581,7 +581,7 @@ func (x *ConfigureResponse) String() string { func (*ConfigureResponse) ProtoMessage() {} func (x *ConfigureResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[6] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -594,7 +594,7 @@ func (x *ConfigureResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigureResponse.ProtoReflect.Descriptor instead. func (*ConfigureResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{6} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{6} } // ServerEvent is one message the kernel sends to an attached frontend over @@ -639,7 +639,7 @@ type ServerEvent struct { func (x *ServerEvent) Reset() { *x = ServerEvent{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[7] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -651,7 +651,7 @@ func (x *ServerEvent) String() string { func (*ServerEvent) ProtoMessage() {} func (x *ServerEvent) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[7] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -664,7 +664,7 @@ func (x *ServerEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerEvent.ProtoReflect.Descriptor instead. func (*ServerEvent) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{7} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{7} } func (x *ServerEvent) GetSessionId() string { @@ -976,7 +976,7 @@ type ClientEvent struct { func (x *ClientEvent) Reset() { *x = ClientEvent{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[8] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -988,7 +988,7 @@ func (x *ClientEvent) String() string { func (*ClientEvent) ProtoMessage() {} func (x *ClientEvent) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[8] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1001,7 +1001,7 @@ func (x *ClientEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use ClientEvent.ProtoReflect.Descriptor instead. func (*ClientEvent) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{8} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{8} } func (x *ClientEvent) GetSessionId() string { @@ -1222,7 +1222,7 @@ func (*ClientEvent_ListSessions_) isClientEvent_Event() {} type FrontendError struct { state protoimpl.MessageState `protogen:"open.v1"` // The error's category. - Category FrontendErrorCategory `protobuf:"varint,1,opt,name=category,proto3,enum=pluggableharness.agent.frontend.v1.FrontendErrorCategory" json:"category,omitempty"` + Category FrontendErrorCategory `protobuf:"varint,1,opt,name=category,proto3,enum=pluggableharness.frontend.v1.FrontendErrorCategory" json:"category,omitempty"` // A human-readable message. Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` unknownFields protoimpl.UnknownFields @@ -1231,7 +1231,7 @@ type FrontendError struct { func (x *FrontendError) Reset() { *x = FrontendError{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[9] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1243,7 +1243,7 @@ func (x *FrontendError) String() string { func (*FrontendError) ProtoMessage() {} func (x *FrontendError) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[9] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1256,7 +1256,7 @@ func (x *FrontendError) ProtoReflect() protoreflect.Message { // Deprecated: Use FrontendError.ProtoReflect.Descriptor instead. func (*FrontendError) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{9} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{9} } func (x *FrontendError) GetCategory() FrontendErrorCategory { @@ -1289,7 +1289,7 @@ type ServerEvent_StreamDelta struct { func (x *ServerEvent_StreamDelta) Reset() { *x = ServerEvent_StreamDelta{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[10] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1301,7 +1301,7 @@ func (x *ServerEvent_StreamDelta) String() string { func (*ServerEvent_StreamDelta) ProtoMessage() {} func (x *ServerEvent_StreamDelta) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[10] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1314,7 +1314,7 @@ func (x *ServerEvent_StreamDelta) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerEvent_StreamDelta.ProtoReflect.Descriptor instead. func (*ServerEvent_StreamDelta) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 0} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 0} } func (x *ServerEvent_StreamDelta) GetTargetId() string { @@ -1342,7 +1342,7 @@ type ServerEvent_Render struct { func (x *ServerEvent_Render) Reset() { *x = ServerEvent_Render{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[11] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1354,7 +1354,7 @@ func (x *ServerEvent_Render) String() string { func (*ServerEvent_Render) ProtoMessage() {} func (x *ServerEvent_Render) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[11] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1367,7 +1367,7 @@ func (x *ServerEvent_Render) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerEvent_Render.ProtoReflect.Descriptor instead. func (*ServerEvent_Render) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 1} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 1} } func (x *ServerEvent_Render) GetContent() *v13.PlacedContent { @@ -1390,7 +1390,7 @@ type ServerEvent_PermissionRequest struct { func (x *ServerEvent_PermissionRequest) Reset() { *x = ServerEvent_PermissionRequest{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[12] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1402,7 +1402,7 @@ func (x *ServerEvent_PermissionRequest) String() string { func (*ServerEvent_PermissionRequest) ProtoMessage() {} func (x *ServerEvent_PermissionRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[12] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1415,7 +1415,7 @@ func (x *ServerEvent_PermissionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerEvent_PermissionRequest.ProtoReflect.Descriptor instead. func (*ServerEvent_PermissionRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 2} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 2} } func (x *ServerEvent_PermissionRequest) GetPlanItem() *v14.PlanItem { @@ -1437,7 +1437,7 @@ type ServerEvent_PlanReady struct { func (x *ServerEvent_PlanReady) Reset() { *x = ServerEvent_PlanReady{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[13] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1449,7 +1449,7 @@ func (x *ServerEvent_PlanReady) String() string { func (*ServerEvent_PlanReady) ProtoMessage() {} func (x *ServerEvent_PlanReady) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[13] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1462,7 +1462,7 @@ func (x *ServerEvent_PlanReady) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerEvent_PlanReady.ProtoReflect.Descriptor instead. func (*ServerEvent_PlanReady) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 3} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 3} } func (x *ServerEvent_PlanReady) GetPlan() *v14.Plan { @@ -1491,7 +1491,7 @@ type ServerEvent_InteractiveRequest struct { func (x *ServerEvent_InteractiveRequest) Reset() { *x = ServerEvent_InteractiveRequest{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[14] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1503,7 +1503,7 @@ func (x *ServerEvent_InteractiveRequest) String() string { func (*ServerEvent_InteractiveRequest) ProtoMessage() {} func (x *ServerEvent_InteractiveRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[14] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1516,7 +1516,7 @@ func (x *ServerEvent_InteractiveRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerEvent_InteractiveRequest.ProtoReflect.Descriptor instead. func (*ServerEvent_InteractiveRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 4} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 4} } func (x *ServerEvent_InteractiveRequest) GetCallId() string { @@ -1552,14 +1552,14 @@ type ServerEvent_SessionTreeUpdate struct { // The child session's id. ChildSessionId string `protobuf:"bytes,2,opt,name=child_session_id,json=childSessionId,proto3" json:"child_session_id,omitempty"` // The child session's current status. - Status v15.SessionStatus `protobuf:"varint,3,opt,name=status,proto3,enum=pluggableharness.agent.session.v1.SessionStatus" json:"status,omitempty"` + Status v15.SessionStatus `protobuf:"varint,3,opt,name=status,proto3,enum=pluggableharness.session.v1.SessionStatus" json:"status,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ServerEvent_SessionTreeUpdate) Reset() { *x = ServerEvent_SessionTreeUpdate{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[15] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1571,7 +1571,7 @@ func (x *ServerEvent_SessionTreeUpdate) String() string { func (*ServerEvent_SessionTreeUpdate) ProtoMessage() {} func (x *ServerEvent_SessionTreeUpdate) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[15] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1584,7 +1584,7 @@ func (x *ServerEvent_SessionTreeUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerEvent_SessionTreeUpdate.ProtoReflect.Descriptor instead. func (*ServerEvent_SessionTreeUpdate) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 5} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 5} } func (x *ServerEvent_SessionTreeUpdate) GetParentSessionId() string { @@ -1619,7 +1619,7 @@ type ServerEvent_Error struct { func (x *ServerEvent_Error) Reset() { *x = ServerEvent_Error{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[16] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1631,7 +1631,7 @@ func (x *ServerEvent_Error) String() string { func (*ServerEvent_Error) ProtoMessage() {} func (x *ServerEvent_Error) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[16] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1644,7 +1644,7 @@ func (x *ServerEvent_Error) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerEvent_Error.ProtoReflect.Descriptor instead. func (*ServerEvent_Error) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 6} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 6} } func (x *ServerEvent_Error) GetError() *FrontendError { @@ -1665,7 +1665,7 @@ type ServerEvent_SessionCreated struct { func (x *ServerEvent_SessionCreated) Reset() { *x = ServerEvent_SessionCreated{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[17] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1677,7 +1677,7 @@ func (x *ServerEvent_SessionCreated) String() string { func (*ServerEvent_SessionCreated) ProtoMessage() {} func (x *ServerEvent_SessionCreated) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[17] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1690,7 +1690,7 @@ func (x *ServerEvent_SessionCreated) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerEvent_SessionCreated.ProtoReflect.Descriptor instead. func (*ServerEvent_SessionCreated) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 7} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 7} } func (x *ServerEvent_SessionCreated) GetInfo() *v15.SessionInfo { @@ -1712,7 +1712,7 @@ type ServerEvent_SessionAttached struct { func (x *ServerEvent_SessionAttached) Reset() { *x = ServerEvent_SessionAttached{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[18] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1724,7 +1724,7 @@ func (x *ServerEvent_SessionAttached) String() string { func (*ServerEvent_SessionAttached) ProtoMessage() {} func (x *ServerEvent_SessionAttached) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[18] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1737,7 +1737,7 @@ func (x *ServerEvent_SessionAttached) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerEvent_SessionAttached.ProtoReflect.Descriptor instead. func (*ServerEvent_SessionAttached) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 8} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 8} } func (x *ServerEvent_SessionAttached) GetInfo() *v15.SessionInfo { @@ -1760,7 +1760,7 @@ type ServerEvent_BackfillComplete struct { func (x *ServerEvent_BackfillComplete) Reset() { *x = ServerEvent_BackfillComplete{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[19] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1772,7 +1772,7 @@ func (x *ServerEvent_BackfillComplete) String() string { func (*ServerEvent_BackfillComplete) ProtoMessage() {} func (x *ServerEvent_BackfillComplete) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[19] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1785,7 +1785,7 @@ func (x *ServerEvent_BackfillComplete) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerEvent_BackfillComplete.ProtoReflect.Descriptor instead. func (*ServerEvent_BackfillComplete) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 9} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 9} } func (x *ServerEvent_BackfillComplete) GetLastSequence() int64 { @@ -1804,7 +1804,7 @@ type ServerEvent_SessionDetached struct { func (x *ServerEvent_SessionDetached) Reset() { *x = ServerEvent_SessionDetached{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[20] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1816,7 +1816,7 @@ func (x *ServerEvent_SessionDetached) String() string { func (*ServerEvent_SessionDetached) ProtoMessage() {} func (x *ServerEvent_SessionDetached) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[20] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1829,7 +1829,7 @@ func (x *ServerEvent_SessionDetached) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerEvent_SessionDetached.ProtoReflect.Descriptor instead. func (*ServerEvent_SessionDetached) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 10} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 10} } // SessionList answers a ClientEvent.ListSessions. @@ -1843,7 +1843,7 @@ type ServerEvent_SessionList struct { func (x *ServerEvent_SessionList) Reset() { *x = ServerEvent_SessionList{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[21] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1855,7 +1855,7 @@ func (x *ServerEvent_SessionList) String() string { func (*ServerEvent_SessionList) ProtoMessage() {} func (x *ServerEvent_SessionList) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[21] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1868,7 +1868,7 @@ func (x *ServerEvent_SessionList) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerEvent_SessionList.ProtoReflect.Descriptor instead. func (*ServerEvent_SessionList) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 11} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 11} } func (x *ServerEvent_SessionList) GetSessions() []*v15.SessionInfo { @@ -1892,7 +1892,7 @@ type ServerEvent_SlashCommandRegistry struct { func (x *ServerEvent_SlashCommandRegistry) Reset() { *x = ServerEvent_SlashCommandRegistry{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[22] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1904,7 +1904,7 @@ func (x *ServerEvent_SlashCommandRegistry) String() string { func (*ServerEvent_SlashCommandRegistry) ProtoMessage() {} func (x *ServerEvent_SlashCommandRegistry) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[22] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1917,7 +1917,7 @@ func (x *ServerEvent_SlashCommandRegistry) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerEvent_SlashCommandRegistry.ProtoReflect.Descriptor instead. func (*ServerEvent_SlashCommandRegistry) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 12} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 12} } func (x *ServerEvent_SlashCommandRegistry) GetCommands() []*v11.SlashCommandSpec { @@ -1949,7 +1949,7 @@ type ServerEvent_UsageUpdate struct { func (x *ServerEvent_UsageUpdate) Reset() { *x = ServerEvent_UsageUpdate{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[23] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1961,7 +1961,7 @@ func (x *ServerEvent_UsageUpdate) String() string { func (*ServerEvent_UsageUpdate) ProtoMessage() {} func (x *ServerEvent_UsageUpdate) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[23] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1974,7 +1974,7 @@ func (x *ServerEvent_UsageUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerEvent_UsageUpdate.ProtoReflect.Descriptor instead. func (*ServerEvent_UsageUpdate) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 13} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 13} } func (x *ServerEvent_UsageUpdate) GetTurn() *v16.Usage { @@ -2011,14 +2011,14 @@ func (x *ServerEvent_UsageUpdate) GetEffectiveCeiling() int64 { type ServerEvent_SessionStatusUpdate struct { state protoimpl.MessageState `protogen:"open.v1"` // The session's new status. - Status v15.SessionStatus `protobuf:"varint,1,opt,name=status,proto3,enum=pluggableharness.agent.session.v1.SessionStatus" json:"status,omitempty"` + Status v15.SessionStatus `protobuf:"varint,1,opt,name=status,proto3,enum=pluggableharness.session.v1.SessionStatus" json:"status,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ServerEvent_SessionStatusUpdate) Reset() { *x = ServerEvent_SessionStatusUpdate{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[24] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2030,7 +2030,7 @@ func (x *ServerEvent_SessionStatusUpdate) String() string { func (*ServerEvent_SessionStatusUpdate) ProtoMessage() {} func (x *ServerEvent_SessionStatusUpdate) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[24] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2043,7 +2043,7 @@ func (x *ServerEvent_SessionStatusUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerEvent_SessionStatusUpdate.ProtoReflect.Descriptor instead. func (*ServerEvent_SessionStatusUpdate) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 14} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{7, 14} } func (x *ServerEvent_SessionStatusUpdate) GetStatus() v15.SessionStatus { @@ -2065,7 +2065,7 @@ type ClientEvent_UserMessage struct { func (x *ClientEvent_UserMessage) Reset() { *x = ClientEvent_UserMessage{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[25] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2077,7 +2077,7 @@ func (x *ClientEvent_UserMessage) String() string { func (*ClientEvent_UserMessage) ProtoMessage() {} func (x *ClientEvent_UserMessage) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[25] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2090,7 +2090,7 @@ func (x *ClientEvent_UserMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use ClientEvent_UserMessage.ProtoReflect.Descriptor instead. func (*ClientEvent_UserMessage) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{8, 0} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{8, 0} } func (x *ClientEvent_UserMessage) GetContent() []*v17.ContentBlock { @@ -2113,7 +2113,7 @@ type ClientEvent_SlashCommand struct { func (x *ClientEvent_SlashCommand) Reset() { *x = ClientEvent_SlashCommand{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[26] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2125,7 +2125,7 @@ func (x *ClientEvent_SlashCommand) String() string { func (*ClientEvent_SlashCommand) ProtoMessage() {} func (x *ClientEvent_SlashCommand) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[26] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2138,7 +2138,7 @@ func (x *ClientEvent_SlashCommand) ProtoReflect() protoreflect.Message { // Deprecated: Use ClientEvent_SlashCommand.ProtoReflect.Descriptor instead. func (*ClientEvent_SlashCommand) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{8, 1} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{8, 1} } func (x *ClientEvent_SlashCommand) GetName() string { @@ -2162,7 +2162,7 @@ type ClientEvent_PlanDecision struct { // ServerEvent.PermissionRequest.plan_item's id. PlanItemId string `protobuf:"bytes,1,opt,name=plan_item_id,json=planItemId,proto3" json:"plan_item_id,omitempty"` // The user's decision. - Decision ClientDecision `protobuf:"varint,2,opt,name=decision,proto3,enum=pluggableharness.agent.frontend.v1.ClientDecision" json:"decision,omitempty"` + Decision ClientDecision `protobuf:"varint,2,opt,name=decision,proto3,enum=pluggableharness.frontend.v1.ClientDecision" json:"decision,omitempty"` // When present, a user-edited replacement for the plan item's tool // input. The kernel MUST re-validate this against the tool's // input_schema (tool.md §6); an invalid correction is rejected as a @@ -2170,14 +2170,14 @@ type ClientEvent_PlanDecision struct { CorrectedInput *structpb.Struct `protobuf:"bytes,3,opt,name=corrected_input,json=correctedInput,proto3,oneof" json:"corrected_input,omitempty"` // How durably this decision applies beyond this one item — see // PlanDecisionScope. - Scope PlanDecisionScope `protobuf:"varint,4,opt,name=scope,proto3,enum=pluggableharness.agent.frontend.v1.PlanDecisionScope" json:"scope,omitempty"` + Scope PlanDecisionScope `protobuf:"varint,4,opt,name=scope,proto3,enum=pluggableharness.frontend.v1.PlanDecisionScope" json:"scope,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ClientEvent_PlanDecision) Reset() { *x = ClientEvent_PlanDecision{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[27] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2189,7 +2189,7 @@ func (x *ClientEvent_PlanDecision) String() string { func (*ClientEvent_PlanDecision) ProtoMessage() {} func (x *ClientEvent_PlanDecision) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[27] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2202,7 +2202,7 @@ func (x *ClientEvent_PlanDecision) ProtoReflect() protoreflect.Message { // Deprecated: Use ClientEvent_PlanDecision.ProtoReflect.Descriptor instead. func (*ClientEvent_PlanDecision) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{8, 2} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{8, 2} } func (x *ClientEvent_PlanDecision) GetPlanItemId() string { @@ -2247,7 +2247,7 @@ type ClientEvent_InteractiveResponse struct { func (x *ClientEvent_InteractiveResponse) Reset() { *x = ClientEvent_InteractiveResponse{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[28] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2259,7 +2259,7 @@ func (x *ClientEvent_InteractiveResponse) String() string { func (*ClientEvent_InteractiveResponse) ProtoMessage() {} func (x *ClientEvent_InteractiveResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[28] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2272,7 +2272,7 @@ func (x *ClientEvent_InteractiveResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ClientEvent_InteractiveResponse.ProtoReflect.Descriptor instead. func (*ClientEvent_InteractiveResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{8, 3} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{8, 3} } func (x *ClientEvent_InteractiveResponse) GetCallId() string { @@ -2314,7 +2314,7 @@ type ClientEvent_ActionTrigger struct { func (x *ClientEvent_ActionTrigger) Reset() { *x = ClientEvent_ActionTrigger{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[29] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2326,7 +2326,7 @@ func (x *ClientEvent_ActionTrigger) String() string { func (*ClientEvent_ActionTrigger) ProtoMessage() {} func (x *ClientEvent_ActionTrigger) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[29] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2339,7 +2339,7 @@ func (x *ClientEvent_ActionTrigger) ProtoReflect() protoreflect.Message { // Deprecated: Use ClientEvent_ActionTrigger.ProtoReflect.Descriptor instead. func (*ClientEvent_ActionTrigger) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{8, 4} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{8, 4} } func (x *ClientEvent_ActionTrigger) GetNodeId() string { @@ -2380,7 +2380,7 @@ type ClientEvent_Interrupt struct { func (x *ClientEvent_Interrupt) Reset() { *x = ClientEvent_Interrupt{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[30] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2392,7 +2392,7 @@ func (x *ClientEvent_Interrupt) String() string { func (*ClientEvent_Interrupt) ProtoMessage() {} func (x *ClientEvent_Interrupt) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[30] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2405,7 +2405,7 @@ func (x *ClientEvent_Interrupt) ProtoReflect() protoreflect.Message { // Deprecated: Use ClientEvent_Interrupt.ProtoReflect.Descriptor instead. func (*ClientEvent_Interrupt) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{8, 5} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{8, 5} } // Hello MAY be sent as the first ClientEvent on a newly opened Attach @@ -2421,7 +2421,7 @@ type ClientEvent_Hello struct { func (x *ClientEvent_Hello) Reset() { *x = ClientEvent_Hello{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[31] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2433,7 +2433,7 @@ func (x *ClientEvent_Hello) String() string { func (*ClientEvent_Hello) ProtoMessage() {} func (x *ClientEvent_Hello) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[31] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2446,7 +2446,7 @@ func (x *ClientEvent_Hello) ProtoReflect() protoreflect.Message { // Deprecated: Use ClientEvent_Hello.ProtoReflect.Descriptor instead. func (*ClientEvent_Hello) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{8, 6} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{8, 6} } func (x *ClientEvent_Hello) GetProtocolVersion() uint32 { @@ -2479,7 +2479,7 @@ type ClientEvent_CreateSession struct { func (x *ClientEvent_CreateSession) Reset() { *x = ClientEvent_CreateSession{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[32] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2491,7 +2491,7 @@ func (x *ClientEvent_CreateSession) String() string { func (*ClientEvent_CreateSession) ProtoMessage() {} func (x *ClientEvent_CreateSession) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[32] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2504,7 +2504,7 @@ func (x *ClientEvent_CreateSession) ProtoReflect() protoreflect.Message { // Deprecated: Use ClientEvent_CreateSession.ProtoReflect.Descriptor instead. func (*ClientEvent_CreateSession) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{8, 7} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{8, 7} } func (x *ClientEvent_CreateSession) GetRequestId() string { @@ -2551,7 +2551,7 @@ type ClientEvent_AttachSession struct { func (x *ClientEvent_AttachSession) Reset() { *x = ClientEvent_AttachSession{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[33] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2563,7 +2563,7 @@ func (x *ClientEvent_AttachSession) String() string { func (*ClientEvent_AttachSession) ProtoMessage() {} func (x *ClientEvent_AttachSession) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[33] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2576,7 +2576,7 @@ func (x *ClientEvent_AttachSession) ProtoReflect() protoreflect.Message { // Deprecated: Use ClientEvent_AttachSession.ProtoReflect.Descriptor instead. func (*ClientEvent_AttachSession) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{8, 8} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{8, 8} } func (x *ClientEvent_AttachSession) GetRequestId() string { @@ -2613,7 +2613,7 @@ type ClientEvent_ResumeSession struct { func (x *ClientEvent_ResumeSession) Reset() { *x = ClientEvent_ResumeSession{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[34] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2625,7 +2625,7 @@ func (x *ClientEvent_ResumeSession) String() string { func (*ClientEvent_ResumeSession) ProtoMessage() {} func (x *ClientEvent_ResumeSession) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[34] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[34] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2638,7 +2638,7 @@ func (x *ClientEvent_ResumeSession) ProtoReflect() protoreflect.Message { // Deprecated: Use ClientEvent_ResumeSession.ProtoReflect.Descriptor instead. func (*ClientEvent_ResumeSession) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{8, 9} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{8, 9} } func (x *ClientEvent_ResumeSession) GetRequestId() string { @@ -2671,7 +2671,7 @@ type ClientEvent_DetachSession struct { func (x *ClientEvent_DetachSession) Reset() { *x = ClientEvent_DetachSession{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[35] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2683,7 +2683,7 @@ func (x *ClientEvent_DetachSession) String() string { func (*ClientEvent_DetachSession) ProtoMessage() {} func (x *ClientEvent_DetachSession) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[35] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[35] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2696,7 +2696,7 @@ func (x *ClientEvent_DetachSession) ProtoReflect() protoreflect.Message { // Deprecated: Use ClientEvent_DetachSession.ProtoReflect.Descriptor instead. func (*ClientEvent_DetachSession) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{8, 10} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{8, 10} } func (x *ClientEvent_DetachSession) GetRequestId() string { @@ -2721,7 +2721,7 @@ type ClientEvent_ListSessions struct { RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` // Restricts the result to sessions in this status. Absent means no // status filter. - Status *v15.SessionStatus `protobuf:"varint,2,opt,name=status,proto3,enum=pluggableharness.agent.session.v1.SessionStatus,oneof" json:"status,omitempty"` + Status *v15.SessionStatus `protobuf:"varint,2,opt,name=status,proto3,enum=pluggableharness.session.v1.SessionStatus,oneof" json:"status,omitempty"` // Restricts the result to children of this session. Absent means no // parent filter. ParentSessionId *string `protobuf:"bytes,3,opt,name=parent_session_id,json=parentSessionId,proto3,oneof" json:"parent_session_id,omitempty"` @@ -2734,7 +2734,7 @@ type ClientEvent_ListSessions struct { func (x *ClientEvent_ListSessions) Reset() { *x = ClientEvent_ListSessions{} - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[36] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2746,7 +2746,7 @@ func (x *ClientEvent_ListSessions) String() string { func (*ClientEvent_ListSessions) ProtoMessage() {} func (x *ClientEvent_ListSessions) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[36] + mi := &file_pluggableharness_frontend_v1_frontend_proto_msgTypes[36] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2759,7 +2759,7 @@ func (x *ClientEvent_ListSessions) ProtoReflect() protoreflect.Message { // Deprecated: Use ClientEvent_ListSessions.ProtoReflect.Descriptor instead. func (*ClientEvent_ListSessions) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP(), []int{8, 11} + return file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP(), []int{8, 11} } func (x *ClientEvent_ListSessions) GetRequestId() string { @@ -2790,114 +2790,114 @@ func (x *ClientEvent_ListSessions) GetRootsOnly() bool { return false } -var File_pluggableharness_agent_frontend_v1_frontend_proto protoreflect.FileDescriptor +var File_pluggableharness_frontend_v1_frontend_proto protoreflect.FileDescriptor -const file_pluggableharness_agent_frontend_v1_frontend_proto_rawDesc = "" + +const file_pluggableharness_frontend_v1_frontend_proto_rawDesc = "" + "\n" + - "1pluggableharness/agent/frontend/v1/frontend.proto\x12\"pluggableharness.agent.frontend.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a-pluggableharness/agent/common/v1/common.proto\x1a-pluggableharness/agent/config/v1/config.proto\x1a/pluggableharness/agent/content/v1/content.proto\x1a+pluggableharness/agent/model/v1/model.proto\x1a)pluggableharness/agent/plan/v1/plan.proto\x1a-pluggableharness/agent/render/v1/render.proto\x1a/pluggableharness/agent/session/v1/session.proto\x1a9pluggableharness/agent/slashcommand/v1/slashcommand.proto\"\x11\n" + - "\x0fDescribeRequest\"]\n" + - "\x10DescribeResponse\x12I\n" + - "\bproducer\x18\x01 \x01(\v2-.pluggableharness.agent.common.v1.ProducerRefR\bproducer\"\x18\n" + - "\x16GetCapabilitiesRequest\"w\n" + - "\x17GetCapabilitiesResponse\x12\\\n" + - "\fcapabilities\x18\x01 \x01(\v28.pluggableharness.agent.frontend.v1.FrontendCapabilitiesR\fcapabilities\"\x84\x03\n" + - "\x14FrontendCapabilities\x12_\n" + - "\x0eslash_commands\x18\x01 \x03(\v28.pluggableharness.agent.slashcommand.v1.SlashCommandSpecR\rslashCommands\x12S\n" + - "\rconfig_schema\x18\x02 \x01(\v2..pluggableharness.agent.config.v1.ConfigSchemaR\fconfigSchema\x12U\n" + - "\x11supported_regions\x18\x03 \x03(\x0e2(.pluggableharness.agent.render.v1.RegionR\x10supportedRegions\x12_\n" + - "\x15supported_hook_points\x18\x04 \x03(\x0e2+.pluggableharness.agent.common.v1.HookPointR\x13supportedHookPoints\"C\n" + + "+pluggableharness/frontend/v1/frontend.proto\x12\x1cpluggableharness.frontend.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a'pluggableharness/common/v1/common.proto\x1a'pluggableharness/config/v1/config.proto\x1a)pluggableharness/content/v1/content.proto\x1a%pluggableharness/model/v1/model.proto\x1a#pluggableharness/plan/v1/plan.proto\x1a'pluggableharness/render/v1/render.proto\x1a)pluggableharness/session/v1/session.proto\x1a3pluggableharness/slashcommand/v1/slashcommand.proto\"\x11\n" + + "\x0fDescribeRequest\"W\n" + + "\x10DescribeResponse\x12C\n" + + "\bproducer\x18\x01 \x01(\v2'.pluggableharness.common.v1.ProducerRefR\bproducer\"\x18\n" + + "\x16GetCapabilitiesRequest\"q\n" + + "\x17GetCapabilitiesResponse\x12V\n" + + "\fcapabilities\x18\x01 \x01(\v22.pluggableharness.frontend.v1.FrontendCapabilitiesR\fcapabilities\"\xec\x02\n" + + "\x14FrontendCapabilities\x12Y\n" + + "\x0eslash_commands\x18\x01 \x03(\v22.pluggableharness.slashcommand.v1.SlashCommandSpecR\rslashCommands\x12M\n" + + "\rconfig_schema\x18\x02 \x01(\v2(.pluggableharness.config.v1.ConfigSchemaR\fconfigSchema\x12O\n" + + "\x11supported_regions\x18\x03 \x03(\x0e2\".pluggableharness.render.v1.RegionR\x10supportedRegions\x12Y\n" + + "\x15supported_hook_points\x18\x04 \x03(\x0e2%.pluggableharness.common.v1.HookPointR\x13supportedHookPoints\"C\n" + "\x10ConfigureRequest\x12/\n" + "\x06config\x18\x01 \x01(\v2\x17.google.protobuf.StructR\x06config\"\x13\n" + - "\x11ConfigureResponse\"\xf3\x18\n" + + "\x11ConfigureResponse\"\xd1\x17\n" + "\vServerEvent\x12\x1d\n" + "\n" + "session_id\x18d \x01(\tR\tsessionId\x12\"\n" + "\n" + - "request_id\x18e \x01(\tH\x01R\trequestId\x88\x01\x01\x12`\n" + - "\fstream_delta\x18\x01 \x01(\v2;.pluggableharness.agent.frontend.v1.ServerEvent.StreamDeltaH\x00R\vstreamDelta\x12P\n" + - "\x06render\x18\x02 \x01(\v26.pluggableharness.agent.frontend.v1.ServerEvent.RenderH\x00R\x06render\x12r\n" + - "\x12permission_request\x18\x03 \x01(\v2A.pluggableharness.agent.frontend.v1.ServerEvent.PermissionRequestH\x00R\x11permissionRequest\x12Z\n" + + "request_id\x18e \x01(\tH\x01R\trequestId\x88\x01\x01\x12Z\n" + + "\fstream_delta\x18\x01 \x01(\v25.pluggableharness.frontend.v1.ServerEvent.StreamDeltaH\x00R\vstreamDelta\x12J\n" + + "\x06render\x18\x02 \x01(\v20.pluggableharness.frontend.v1.ServerEvent.RenderH\x00R\x06render\x12l\n" + + "\x12permission_request\x18\x03 \x01(\v2;.pluggableharness.frontend.v1.ServerEvent.PermissionRequestH\x00R\x11permissionRequest\x12T\n" + "\n" + - "plan_ready\x18\x04 \x01(\v29.pluggableharness.agent.frontend.v1.ServerEvent.PlanReadyH\x00R\tplanReady\x12u\n" + - "\x13interactive_request\x18\x05 \x01(\v2B.pluggableharness.agent.frontend.v1.ServerEvent.InteractiveRequestH\x00R\x12interactiveRequest\x12s\n" + - "\x13session_tree_update\x18\x06 \x01(\v2A.pluggableharness.agent.frontend.v1.ServerEvent.SessionTreeUpdateH\x00R\x11sessionTreeUpdate\x12M\n" + - "\x05error\x18\a \x01(\v25.pluggableharness.agent.frontend.v1.ServerEvent.ErrorH\x00R\x05error\x12i\n" + - "\x0fsession_created\x18\b \x01(\v2>.pluggableharness.agent.frontend.v1.ServerEvent.SessionCreatedH\x00R\x0esessionCreated\x12l\n" + - "\x10session_attached\x18\t \x01(\v2?.pluggableharness.agent.frontend.v1.ServerEvent.SessionAttachedH\x00R\x0fsessionAttached\x12o\n" + + "plan_ready\x18\x04 \x01(\v23.pluggableharness.frontend.v1.ServerEvent.PlanReadyH\x00R\tplanReady\x12o\n" + + "\x13interactive_request\x18\x05 \x01(\v2<.pluggableharness.frontend.v1.ServerEvent.InteractiveRequestH\x00R\x12interactiveRequest\x12m\n" + + "\x13session_tree_update\x18\x06 \x01(\v2;.pluggableharness.frontend.v1.ServerEvent.SessionTreeUpdateH\x00R\x11sessionTreeUpdate\x12G\n" + + "\x05error\x18\a \x01(\v2/.pluggableharness.frontend.v1.ServerEvent.ErrorH\x00R\x05error\x12c\n" + + "\x0fsession_created\x18\b \x01(\v28.pluggableharness.frontend.v1.ServerEvent.SessionCreatedH\x00R\x0esessionCreated\x12f\n" + + "\x10session_attached\x18\t \x01(\v29.pluggableharness.frontend.v1.ServerEvent.SessionAttachedH\x00R\x0fsessionAttached\x12i\n" + "\x11backfill_complete\x18\n" + - " \x01(\v2@.pluggableharness.agent.frontend.v1.ServerEvent.BackfillCompleteH\x00R\x10backfillComplete\x12l\n" + - "\x10session_detached\x18\v \x01(\v2?.pluggableharness.agent.frontend.v1.ServerEvent.SessionDetachedH\x00R\x0fsessionDetached\x12`\n" + - "\fsession_list\x18\f \x01(\v2;.pluggableharness.agent.frontend.v1.ServerEvent.SessionListH\x00R\vsessionList\x12|\n" + - "\x16slash_command_registry\x18\x0e \x01(\v2D.pluggableharness.agent.frontend.v1.ServerEvent.SlashCommandRegistryH\x00R\x14slashCommandRegistry\x12`\n" + - "\fusage_update\x18\x0f \x01(\v2;.pluggableharness.agent.frontend.v1.ServerEvent.UsageUpdateH\x00R\vusageUpdate\x12y\n" + - "\x15session_status_update\x18\x10 \x01(\v2C.pluggableharness.agent.frontend.v1.ServerEvent.SessionStatusUpdateH\x00R\x13sessionStatusUpdate\x1a>\n" + + " \x01(\v2:.pluggableharness.frontend.v1.ServerEvent.BackfillCompleteH\x00R\x10backfillComplete\x12f\n" + + "\x10session_detached\x18\v \x01(\v29.pluggableharness.frontend.v1.ServerEvent.SessionDetachedH\x00R\x0fsessionDetached\x12Z\n" + + "\fsession_list\x18\f \x01(\v25.pluggableharness.frontend.v1.ServerEvent.SessionListH\x00R\vsessionList\x12v\n" + + "\x16slash_command_registry\x18\x0e \x01(\v2>.pluggableharness.frontend.v1.ServerEvent.SlashCommandRegistryH\x00R\x14slashCommandRegistry\x12Z\n" + + "\fusage_update\x18\x0f \x01(\v25.pluggableharness.frontend.v1.ServerEvent.UsageUpdateH\x00R\vusageUpdate\x12s\n" + + "\x15session_status_update\x18\x10 \x01(\v2=.pluggableharness.frontend.v1.ServerEvent.SessionStatusUpdateH\x00R\x13sessionStatusUpdate\x1a>\n" + "\vStreamDelta\x12\x1b\n" + "\ttarget_id\x18\x01 \x01(\tR\btargetId\x12\x12\n" + - "\x04text\x18\x02 \x01(\tR\x04text\x1aS\n" + - "\x06Render\x12I\n" + - "\acontent\x18\x01 \x01(\v2/.pluggableharness.agent.render.v1.PlacedContentR\acontent\x1aZ\n" + - "\x11PermissionRequest\x12E\n" + - "\tplan_item\x18\x01 \x01(\v2(.pluggableharness.agent.plan.v1.PlanItemR\bplanItem\x1aE\n" + - "\tPlanReady\x128\n" + - "\x04plan\x18\x01 \x01(\v2$.pluggableharness.agent.plan.v1.PlanR\x04plan\x1a\x90\x01\n" + + "\x04text\x18\x02 \x01(\tR\x04text\x1aM\n" + + "\x06Render\x12C\n" + + "\acontent\x18\x01 \x01(\v2).pluggableharness.render.v1.PlacedContentR\acontent\x1aT\n" + + "\x11PermissionRequest\x12?\n" + + "\tplan_item\x18\x01 \x01(\v2\".pluggableharness.plan.v1.PlanItemR\bplanItem\x1a?\n" + + "\tPlanReady\x122\n" + + "\x04plan\x18\x01 \x01(\v2\x1e.pluggableharness.plan.v1.PlanR\x04plan\x1a\x8a\x01\n" + "\x12InteractiveRequest\x12\x17\n" + "\acall_id\x18\x01 \x01(\tR\x06callId\x12\x1b\n" + - "\ttool_name\x18\x02 \x01(\tR\btoolName\x12D\n" + - "\x06prompt\x18\x03 \x01(\v2,.pluggableharness.agent.render.v1.RenderTreeR\x06prompt\x1a\xb3\x01\n" + + "\ttool_name\x18\x02 \x01(\tR\btoolName\x12>\n" + + "\x06prompt\x18\x03 \x01(\v2&.pluggableharness.render.v1.RenderTreeR\x06prompt\x1a\xad\x01\n" + "\x11SessionTreeUpdate\x12*\n" + "\x11parent_session_id\x18\x01 \x01(\tR\x0fparentSessionId\x12(\n" + - "\x10child_session_id\x18\x02 \x01(\tR\x0echildSessionId\x12H\n" + - "\x06status\x18\x03 \x01(\x0e20.pluggableharness.agent.session.v1.SessionStatusR\x06status\x1aP\n" + - "\x05Error\x12G\n" + - "\x05error\x18\x01 \x01(\v21.pluggableharness.agent.frontend.v1.FrontendErrorR\x05error\x1aT\n" + - "\x0eSessionCreated\x12B\n" + - "\x04info\x18\x01 \x01(\v2..pluggableharness.agent.session.v1.SessionInfoR\x04info\x1aU\n" + - "\x0fSessionAttached\x12B\n" + - "\x04info\x18\x01 \x01(\v2..pluggableharness.agent.session.v1.SessionInfoR\x04info\x1a7\n" + + "\x10child_session_id\x18\x02 \x01(\tR\x0echildSessionId\x12B\n" + + "\x06status\x18\x03 \x01(\x0e2*.pluggableharness.session.v1.SessionStatusR\x06status\x1aJ\n" + + "\x05Error\x12A\n" + + "\x05error\x18\x01 \x01(\v2+.pluggableharness.frontend.v1.FrontendErrorR\x05error\x1aN\n" + + "\x0eSessionCreated\x12<\n" + + "\x04info\x18\x01 \x01(\v2(.pluggableharness.session.v1.SessionInfoR\x04info\x1aO\n" + + "\x0fSessionAttached\x12<\n" + + "\x04info\x18\x01 \x01(\v2(.pluggableharness.session.v1.SessionInfoR\x04info\x1a7\n" + "\x10BackfillComplete\x12#\n" + "\rlast_sequence\x18\x01 \x01(\x03R\flastSequence\x1a\x11\n" + - "\x0fSessionDetached\x1aY\n" + - "\vSessionList\x12J\n" + - "\bsessions\x18\x01 \x03(\v2..pluggableharness.agent.session.v1.SessionInfoR\bsessions\x1al\n" + - "\x14SlashCommandRegistry\x12T\n" + - "\bcommands\x18\x01 \x03(\v28.pluggableharness.agent.slashcommand.v1.SlashCommandSpecR\bcommands\x1a\xc7\x01\n" + - "\vUsageUpdate\x12:\n" + - "\x04turn\x18\x01 \x01(\v2&.pluggableharness.agent.model.v1.UsageR\x04turn\x12.\n" + + "\x0fSessionDetached\x1aS\n" + + "\vSessionList\x12D\n" + + "\bsessions\x18\x01 \x03(\v2(.pluggableharness.session.v1.SessionInfoR\bsessions\x1af\n" + + "\x14SlashCommandRegistry\x12N\n" + + "\bcommands\x18\x01 \x03(\v22.pluggableharness.slashcommand.v1.SlashCommandSpecR\bcommands\x1a\xc1\x01\n" + + "\vUsageUpdate\x124\n" + + "\x04turn\x18\x01 \x01(\v2 .pluggableharness.model.v1.UsageR\x04turn\x12.\n" + "\x13cumulative_cost_usd\x18\x02 \x01(\x01R\x11cumulativeCostUsd\x12\x1f\n" + "\vused_tokens\x18\x03 \x01(\x03R\n" + "usedTokens\x12+\n" + - "\x11effective_ceiling\x18\x04 \x01(\x03R\x10effectiveCeiling\x1a_\n" + - "\x13SessionStatusUpdate\x12H\n" + - "\x06status\x18\x01 \x01(\x0e20.pluggableharness.agent.session.v1.SessionStatusR\x06statusB\a\n" + + "\x11effective_ceiling\x18\x04 \x01(\x03R\x10effectiveCeiling\x1aY\n" + + "\x13SessionStatusUpdate\x12B\n" + + "\x06status\x18\x01 \x01(\x0e2*.pluggableharness.session.v1.SessionStatusR\x06statusB\a\n" + "\x05eventB\r\n" + - "\v_request_idJ\x04\b\r\x10\x0eR\x0fsession_deleted\"\xb2\x15\n" + + "\v_request_idJ\x04\b\r\x10\x0eR\x0fsession_deleted\"\xd2\x14\n" + "\vClientEvent\x12\x1d\n" + "\n" + - "session_id\x18d \x01(\tR\tsessionId\x12`\n" + - "\fuser_message\x18\x01 \x01(\v2;.pluggableharness.agent.frontend.v1.ClientEvent.UserMessageH\x00R\vuserMessage\x12c\n" + - "\rslash_command\x18\x02 \x01(\v2<.pluggableharness.agent.frontend.v1.ClientEvent.SlashCommandH\x00R\fslashCommand\x12c\n" + - "\rplan_decision\x18\x03 \x01(\v2<.pluggableharness.agent.frontend.v1.ClientEvent.PlanDecisionH\x00R\fplanDecision\x12x\n" + - "\x14interactive_response\x18\x04 \x01(\v2C.pluggableharness.agent.frontend.v1.ClientEvent.InteractiveResponseH\x00R\x13interactiveResponse\x12f\n" + - "\x0eaction_trigger\x18\x05 \x01(\v2=.pluggableharness.agent.frontend.v1.ClientEvent.ActionTriggerH\x00R\ractionTrigger\x12Y\n" + - "\tinterrupt\x18\x06 \x01(\v29.pluggableharness.agent.frontend.v1.ClientEvent.InterruptH\x00R\tinterrupt\x12M\n" + - "\x05hello\x18\a \x01(\v25.pluggableharness.agent.frontend.v1.ClientEvent.HelloH\x00R\x05hello\x12f\n" + - "\x0ecreate_session\x18\b \x01(\v2=.pluggableharness.agent.frontend.v1.ClientEvent.CreateSessionH\x00R\rcreateSession\x12f\n" + - "\x0eattach_session\x18\t \x01(\v2=.pluggableharness.agent.frontend.v1.ClientEvent.AttachSessionH\x00R\rattachSession\x12f\n" + + "session_id\x18d \x01(\tR\tsessionId\x12Z\n" + + "\fuser_message\x18\x01 \x01(\v25.pluggableharness.frontend.v1.ClientEvent.UserMessageH\x00R\vuserMessage\x12]\n" + + "\rslash_command\x18\x02 \x01(\v26.pluggableharness.frontend.v1.ClientEvent.SlashCommandH\x00R\fslashCommand\x12]\n" + + "\rplan_decision\x18\x03 \x01(\v26.pluggableharness.frontend.v1.ClientEvent.PlanDecisionH\x00R\fplanDecision\x12r\n" + + "\x14interactive_response\x18\x04 \x01(\v2=.pluggableharness.frontend.v1.ClientEvent.InteractiveResponseH\x00R\x13interactiveResponse\x12`\n" + + "\x0eaction_trigger\x18\x05 \x01(\v27.pluggableharness.frontend.v1.ClientEvent.ActionTriggerH\x00R\ractionTrigger\x12S\n" + + "\tinterrupt\x18\x06 \x01(\v23.pluggableharness.frontend.v1.ClientEvent.InterruptH\x00R\tinterrupt\x12G\n" + + "\x05hello\x18\a \x01(\v2/.pluggableharness.frontend.v1.ClientEvent.HelloH\x00R\x05hello\x12`\n" + + "\x0ecreate_session\x18\b \x01(\v27.pluggableharness.frontend.v1.ClientEvent.CreateSessionH\x00R\rcreateSession\x12`\n" + + "\x0eattach_session\x18\t \x01(\v27.pluggableharness.frontend.v1.ClientEvent.AttachSessionH\x00R\rattachSession\x12`\n" + "\x0eresume_session\x18\n" + - " \x01(\v2=.pluggableharness.agent.frontend.v1.ClientEvent.ResumeSessionH\x00R\rresumeSession\x12f\n" + - "\x0edetach_session\x18\v \x01(\v2=.pluggableharness.agent.frontend.v1.ClientEvent.DetachSessionH\x00R\rdetachSession\x12c\n" + - "\rlist_sessions\x18\f \x01(\v2<.pluggableharness.agent.frontend.v1.ClientEvent.ListSessionsH\x00R\flistSessions\x1ad\n" + - "\vUserMessage\x12I\n" + - "\acontent\x18\x02 \x03(\v2/.pluggableharness.agent.content.v1.ContentBlockR\acontentJ\x04\b\x01\x10\x02R\x04text\x1a6\n" + + " \x01(\v27.pluggableharness.frontend.v1.ClientEvent.ResumeSessionH\x00R\rresumeSession\x12`\n" + + "\x0edetach_session\x18\v \x01(\v27.pluggableharness.frontend.v1.ClientEvent.DetachSessionH\x00R\rdetachSession\x12]\n" + + "\rlist_sessions\x18\f \x01(\v26.pluggableharness.frontend.v1.ClientEvent.ListSessionsH\x00R\flistSessions\x1a^\n" + + "\vUserMessage\x12C\n" + + "\acontent\x18\x02 \x03(\v2).pluggableharness.content.v1.ContentBlockR\acontentJ\x04\b\x01\x10\x02R\x04text\x1a6\n" + "\fSlashCommand\x12\x12\n" + "\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n" + - "\x04args\x18\x02 \x01(\tR\x04args\x1a\xa8\x02\n" + + "\x04args\x18\x02 \x01(\tR\x04args\x1a\x9c\x02\n" + "\fPlanDecision\x12 \n" + "\fplan_item_id\x18\x01 \x01(\tR\n" + - "planItemId\x12N\n" + - "\bdecision\x18\x02 \x01(\x0e22.pluggableharness.agent.frontend.v1.ClientDecisionR\bdecision\x12E\n" + - "\x0fcorrected_input\x18\x03 \x01(\v2\x17.google.protobuf.StructH\x00R\x0ecorrectedInput\x88\x01\x01\x12K\n" + - "\x05scope\x18\x04 \x01(\x0e25.pluggableharness.agent.frontend.v1.PlanDecisionScopeR\x05scopeB\x12\n" + + "planItemId\x12H\n" + + "\bdecision\x18\x02 \x01(\x0e2,.pluggableharness.frontend.v1.ClientDecisionR\bdecision\x12E\n" + + "\x0fcorrected_input\x18\x03 \x01(\v2\x17.google.protobuf.StructH\x00R\x0ecorrectedInput\x88\x01\x01\x12E\n" + + "\x05scope\x18\x04 \x01(\x0e2/.pluggableharness.frontend.v1.PlanDecisionScopeR\x05scopeB\x12\n" + "\x10_corrected_input\x1ac\n" + "\x13InteractiveResponse\x12\x17\n" + "\acall_id\x18\x01 \x01(\tR\x06callId\x123\n" + @@ -2934,19 +2934,19 @@ const file_pluggableharness_agent_frontend_v1_frontend_proto_rawDesc = "" + "\n" + "request_id\x18\x01 \x01(\tR\trequestId\x12\x1d\n" + "\n" + - "session_id\x18\x02 \x01(\tR\tsessionId\x1a\xed\x01\n" + + "session_id\x18\x02 \x01(\tR\tsessionId\x1a\xe7\x01\n" + "\fListSessions\x12\x1d\n" + "\n" + - "request_id\x18\x01 \x01(\tR\trequestId\x12M\n" + - "\x06status\x18\x02 \x01(\x0e20.pluggableharness.agent.session.v1.SessionStatusH\x00R\x06status\x88\x01\x01\x12/\n" + + "request_id\x18\x01 \x01(\tR\trequestId\x12G\n" + + "\x06status\x18\x02 \x01(\x0e2*.pluggableharness.session.v1.SessionStatusH\x00R\x06status\x88\x01\x01\x12/\n" + "\x11parent_session_id\x18\x03 \x01(\tH\x01R\x0fparentSessionId\x88\x01\x01\x12\x1d\n" + "\n" + "roots_only\x18\x04 \x01(\bR\trootsOnlyB\t\n" + "\a_statusB\x14\n" + "\x12_parent_session_idB\a\n" + - "\x05event\"\x80\x01\n" + - "\rFrontendError\x12U\n" + - "\bcategory\x18\x01 \x01(\x0e29.pluggableharness.agent.frontend.v1.FrontendErrorCategoryR\bcategory\x12\x18\n" + + "\x05event\"z\n" + + "\rFrontendError\x12O\n" + + "\bcategory\x18\x01 \x01(\x0e23.pluggableharness.frontend.v1.FrontendErrorCategoryR\bcategory\x12\x18\n" + "\amessage\x18\x02 \x01(\tR\amessage*f\n" + "\x0eClientDecision\x12\x1f\n" + "\x1bCLIENT_DECISION_UNSPECIFIED\x10\x00\x12\x19\n" + @@ -2967,146 +2967,146 @@ const file_pluggableharness_agent_frontend_v1_frontend_proto_rawDesc = "" + "-FRONTEND_ERROR_CATEGORY_SESSION_CREATE_FAILED\x10\x06\x12(\n" + "$FRONTEND_ERROR_CATEGORY_SESSION_BUSY\x10\a\x12*\n" + "&FRONTEND_ERROR_CATEGORY_SCHEMA_TOO_NEW\x10\b\x12/\n" + - "+FRONTEND_ERROR_CATEGORY_SESSION_REPLAY_ONLY\x10\t2\xff\x03\n" + - "\x0fFrontendService\x12\x8a\x01\n" + - "\x0fGetCapabilities\x12:.pluggableharness.agent.frontend.v1.GetCapabilitiesRequest\x1a;.pluggableharness.agent.frontend.v1.GetCapabilitiesResponse\x12x\n" + - "\tConfigure\x124.pluggableharness.agent.frontend.v1.ConfigureRequest\x1a5.pluggableharness.agent.frontend.v1.ConfigureResponse\x12n\n" + - "\x06Attach\x12/.pluggableharness.agent.frontend.v1.ClientEvent\x1a/.pluggableharness.agent.frontend.v1.ServerEvent(\x010\x01\x12u\n" + - "\bDescribe\x123.pluggableharness.agent.frontend.v1.DescribeRequest\x1a4.pluggableharness.agent.frontend.v1.DescribeResponseBDZBgithub.com/pluggableharness/agent/pkg/frontend/proto/v1;frontendv1b\x06proto3" + "+FRONTEND_ERROR_CATEGORY_SESSION_REPLAY_ONLY\x10\t2\xce\x03\n" + + "\x0fFrontendService\x12~\n" + + "\x0fGetCapabilities\x124.pluggableharness.frontend.v1.GetCapabilitiesRequest\x1a5.pluggableharness.frontend.v1.GetCapabilitiesResponse\x12l\n" + + "\tConfigure\x12..pluggableharness.frontend.v1.ConfigureRequest\x1a/.pluggableharness.frontend.v1.ConfigureResponse\x12b\n" + + "\x06Attach\x12).pluggableharness.frontend.v1.ClientEvent\x1a).pluggableharness.frontend.v1.ServerEvent(\x010\x01\x12i\n" + + "\bDescribe\x12-.pluggableharness.frontend.v1.DescribeRequest\x1a..pluggableharness.frontend.v1.DescribeResponseBDZBgithub.com/pluggableharness/agent/pkg/frontend/proto/v1;frontendv1b\x06proto3" var ( - file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescOnce sync.Once - file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescData []byte + file_pluggableharness_frontend_v1_frontend_proto_rawDescOnce sync.Once + file_pluggableharness_frontend_v1_frontend_proto_rawDescData []byte ) -func file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescGZIP() []byte { - file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescOnce.Do(func() { - file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_frontend_v1_frontend_proto_rawDesc), len(file_pluggableharness_agent_frontend_v1_frontend_proto_rawDesc))) +func file_pluggableharness_frontend_v1_frontend_proto_rawDescGZIP() []byte { + file_pluggableharness_frontend_v1_frontend_proto_rawDescOnce.Do(func() { + file_pluggableharness_frontend_v1_frontend_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pluggableharness_frontend_v1_frontend_proto_rawDesc), len(file_pluggableharness_frontend_v1_frontend_proto_rawDesc))) }) - return file_pluggableharness_agent_frontend_v1_frontend_proto_rawDescData -} - -var file_pluggableharness_agent_frontend_v1_frontend_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes = make([]protoimpl.MessageInfo, 37) -var file_pluggableharness_agent_frontend_v1_frontend_proto_goTypes = []any{ - (ClientDecision)(0), // 0: pluggableharness.agent.frontend.v1.ClientDecision - (PlanDecisionScope)(0), // 1: pluggableharness.agent.frontend.v1.PlanDecisionScope - (FrontendErrorCategory)(0), // 2: pluggableharness.agent.frontend.v1.FrontendErrorCategory - (*DescribeRequest)(nil), // 3: pluggableharness.agent.frontend.v1.DescribeRequest - (*DescribeResponse)(nil), // 4: pluggableharness.agent.frontend.v1.DescribeResponse - (*GetCapabilitiesRequest)(nil), // 5: pluggableharness.agent.frontend.v1.GetCapabilitiesRequest - (*GetCapabilitiesResponse)(nil), // 6: pluggableharness.agent.frontend.v1.GetCapabilitiesResponse - (*FrontendCapabilities)(nil), // 7: pluggableharness.agent.frontend.v1.FrontendCapabilities - (*ConfigureRequest)(nil), // 8: pluggableharness.agent.frontend.v1.ConfigureRequest - (*ConfigureResponse)(nil), // 9: pluggableharness.agent.frontend.v1.ConfigureResponse - (*ServerEvent)(nil), // 10: pluggableharness.agent.frontend.v1.ServerEvent - (*ClientEvent)(nil), // 11: pluggableharness.agent.frontend.v1.ClientEvent - (*FrontendError)(nil), // 12: pluggableharness.agent.frontend.v1.FrontendError - (*ServerEvent_StreamDelta)(nil), // 13: pluggableharness.agent.frontend.v1.ServerEvent.StreamDelta - (*ServerEvent_Render)(nil), // 14: pluggableharness.agent.frontend.v1.ServerEvent.Render - (*ServerEvent_PermissionRequest)(nil), // 15: pluggableharness.agent.frontend.v1.ServerEvent.PermissionRequest - (*ServerEvent_PlanReady)(nil), // 16: pluggableharness.agent.frontend.v1.ServerEvent.PlanReady - (*ServerEvent_InteractiveRequest)(nil), // 17: pluggableharness.agent.frontend.v1.ServerEvent.InteractiveRequest - (*ServerEvent_SessionTreeUpdate)(nil), // 18: pluggableharness.agent.frontend.v1.ServerEvent.SessionTreeUpdate - (*ServerEvent_Error)(nil), // 19: pluggableharness.agent.frontend.v1.ServerEvent.Error - (*ServerEvent_SessionCreated)(nil), // 20: pluggableharness.agent.frontend.v1.ServerEvent.SessionCreated - (*ServerEvent_SessionAttached)(nil), // 21: pluggableharness.agent.frontend.v1.ServerEvent.SessionAttached - (*ServerEvent_BackfillComplete)(nil), // 22: pluggableharness.agent.frontend.v1.ServerEvent.BackfillComplete - (*ServerEvent_SessionDetached)(nil), // 23: pluggableharness.agent.frontend.v1.ServerEvent.SessionDetached - (*ServerEvent_SessionList)(nil), // 24: pluggableharness.agent.frontend.v1.ServerEvent.SessionList - (*ServerEvent_SlashCommandRegistry)(nil), // 25: pluggableharness.agent.frontend.v1.ServerEvent.SlashCommandRegistry - (*ServerEvent_UsageUpdate)(nil), // 26: pluggableharness.agent.frontend.v1.ServerEvent.UsageUpdate - (*ServerEvent_SessionStatusUpdate)(nil), // 27: pluggableharness.agent.frontend.v1.ServerEvent.SessionStatusUpdate - (*ClientEvent_UserMessage)(nil), // 28: pluggableharness.agent.frontend.v1.ClientEvent.UserMessage - (*ClientEvent_SlashCommand)(nil), // 29: pluggableharness.agent.frontend.v1.ClientEvent.SlashCommand - (*ClientEvent_PlanDecision)(nil), // 30: pluggableharness.agent.frontend.v1.ClientEvent.PlanDecision - (*ClientEvent_InteractiveResponse)(nil), // 31: pluggableharness.agent.frontend.v1.ClientEvent.InteractiveResponse - (*ClientEvent_ActionTrigger)(nil), // 32: pluggableharness.agent.frontend.v1.ClientEvent.ActionTrigger - (*ClientEvent_Interrupt)(nil), // 33: pluggableharness.agent.frontend.v1.ClientEvent.Interrupt - (*ClientEvent_Hello)(nil), // 34: pluggableharness.agent.frontend.v1.ClientEvent.Hello - (*ClientEvent_CreateSession)(nil), // 35: pluggableharness.agent.frontend.v1.ClientEvent.CreateSession - (*ClientEvent_AttachSession)(nil), // 36: pluggableharness.agent.frontend.v1.ClientEvent.AttachSession - (*ClientEvent_ResumeSession)(nil), // 37: pluggableharness.agent.frontend.v1.ClientEvent.ResumeSession - (*ClientEvent_DetachSession)(nil), // 38: pluggableharness.agent.frontend.v1.ClientEvent.DetachSession - (*ClientEvent_ListSessions)(nil), // 39: pluggableharness.agent.frontend.v1.ClientEvent.ListSessions - (*v1.ProducerRef)(nil), // 40: pluggableharness.agent.common.v1.ProducerRef - (*v11.SlashCommandSpec)(nil), // 41: pluggableharness.agent.slashcommand.v1.SlashCommandSpec - (*v12.ConfigSchema)(nil), // 42: pluggableharness.agent.config.v1.ConfigSchema - (v13.Region)(0), // 43: pluggableharness.agent.render.v1.Region - (v1.HookPoint)(0), // 44: pluggableharness.agent.common.v1.HookPoint + return file_pluggableharness_frontend_v1_frontend_proto_rawDescData +} + +var file_pluggableharness_frontend_v1_frontend_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_pluggableharness_frontend_v1_frontend_proto_msgTypes = make([]protoimpl.MessageInfo, 37) +var file_pluggableharness_frontend_v1_frontend_proto_goTypes = []any{ + (ClientDecision)(0), // 0: pluggableharness.frontend.v1.ClientDecision + (PlanDecisionScope)(0), // 1: pluggableharness.frontend.v1.PlanDecisionScope + (FrontendErrorCategory)(0), // 2: pluggableharness.frontend.v1.FrontendErrorCategory + (*DescribeRequest)(nil), // 3: pluggableharness.frontend.v1.DescribeRequest + (*DescribeResponse)(nil), // 4: pluggableharness.frontend.v1.DescribeResponse + (*GetCapabilitiesRequest)(nil), // 5: pluggableharness.frontend.v1.GetCapabilitiesRequest + (*GetCapabilitiesResponse)(nil), // 6: pluggableharness.frontend.v1.GetCapabilitiesResponse + (*FrontendCapabilities)(nil), // 7: pluggableharness.frontend.v1.FrontendCapabilities + (*ConfigureRequest)(nil), // 8: pluggableharness.frontend.v1.ConfigureRequest + (*ConfigureResponse)(nil), // 9: pluggableharness.frontend.v1.ConfigureResponse + (*ServerEvent)(nil), // 10: pluggableharness.frontend.v1.ServerEvent + (*ClientEvent)(nil), // 11: pluggableharness.frontend.v1.ClientEvent + (*FrontendError)(nil), // 12: pluggableharness.frontend.v1.FrontendError + (*ServerEvent_StreamDelta)(nil), // 13: pluggableharness.frontend.v1.ServerEvent.StreamDelta + (*ServerEvent_Render)(nil), // 14: pluggableharness.frontend.v1.ServerEvent.Render + (*ServerEvent_PermissionRequest)(nil), // 15: pluggableharness.frontend.v1.ServerEvent.PermissionRequest + (*ServerEvent_PlanReady)(nil), // 16: pluggableharness.frontend.v1.ServerEvent.PlanReady + (*ServerEvent_InteractiveRequest)(nil), // 17: pluggableharness.frontend.v1.ServerEvent.InteractiveRequest + (*ServerEvent_SessionTreeUpdate)(nil), // 18: pluggableharness.frontend.v1.ServerEvent.SessionTreeUpdate + (*ServerEvent_Error)(nil), // 19: pluggableharness.frontend.v1.ServerEvent.Error + (*ServerEvent_SessionCreated)(nil), // 20: pluggableharness.frontend.v1.ServerEvent.SessionCreated + (*ServerEvent_SessionAttached)(nil), // 21: pluggableharness.frontend.v1.ServerEvent.SessionAttached + (*ServerEvent_BackfillComplete)(nil), // 22: pluggableharness.frontend.v1.ServerEvent.BackfillComplete + (*ServerEvent_SessionDetached)(nil), // 23: pluggableharness.frontend.v1.ServerEvent.SessionDetached + (*ServerEvent_SessionList)(nil), // 24: pluggableharness.frontend.v1.ServerEvent.SessionList + (*ServerEvent_SlashCommandRegistry)(nil), // 25: pluggableharness.frontend.v1.ServerEvent.SlashCommandRegistry + (*ServerEvent_UsageUpdate)(nil), // 26: pluggableharness.frontend.v1.ServerEvent.UsageUpdate + (*ServerEvent_SessionStatusUpdate)(nil), // 27: pluggableharness.frontend.v1.ServerEvent.SessionStatusUpdate + (*ClientEvent_UserMessage)(nil), // 28: pluggableharness.frontend.v1.ClientEvent.UserMessage + (*ClientEvent_SlashCommand)(nil), // 29: pluggableharness.frontend.v1.ClientEvent.SlashCommand + (*ClientEvent_PlanDecision)(nil), // 30: pluggableharness.frontend.v1.ClientEvent.PlanDecision + (*ClientEvent_InteractiveResponse)(nil), // 31: pluggableharness.frontend.v1.ClientEvent.InteractiveResponse + (*ClientEvent_ActionTrigger)(nil), // 32: pluggableharness.frontend.v1.ClientEvent.ActionTrigger + (*ClientEvent_Interrupt)(nil), // 33: pluggableharness.frontend.v1.ClientEvent.Interrupt + (*ClientEvent_Hello)(nil), // 34: pluggableharness.frontend.v1.ClientEvent.Hello + (*ClientEvent_CreateSession)(nil), // 35: pluggableharness.frontend.v1.ClientEvent.CreateSession + (*ClientEvent_AttachSession)(nil), // 36: pluggableharness.frontend.v1.ClientEvent.AttachSession + (*ClientEvent_ResumeSession)(nil), // 37: pluggableharness.frontend.v1.ClientEvent.ResumeSession + (*ClientEvent_DetachSession)(nil), // 38: pluggableharness.frontend.v1.ClientEvent.DetachSession + (*ClientEvent_ListSessions)(nil), // 39: pluggableharness.frontend.v1.ClientEvent.ListSessions + (*v1.ProducerRef)(nil), // 40: pluggableharness.common.v1.ProducerRef + (*v11.SlashCommandSpec)(nil), // 41: pluggableharness.slashcommand.v1.SlashCommandSpec + (*v12.ConfigSchema)(nil), // 42: pluggableharness.config.v1.ConfigSchema + (v13.Region)(0), // 43: pluggableharness.render.v1.Region + (v1.HookPoint)(0), // 44: pluggableharness.common.v1.HookPoint (*structpb.Struct)(nil), // 45: google.protobuf.Struct - (*v13.PlacedContent)(nil), // 46: pluggableharness.agent.render.v1.PlacedContent - (*v14.PlanItem)(nil), // 47: pluggableharness.agent.plan.v1.PlanItem - (*v14.Plan)(nil), // 48: pluggableharness.agent.plan.v1.Plan - (*v13.RenderTree)(nil), // 49: pluggableharness.agent.render.v1.RenderTree - (v15.SessionStatus)(0), // 50: pluggableharness.agent.session.v1.SessionStatus - (*v15.SessionInfo)(nil), // 51: pluggableharness.agent.session.v1.SessionInfo - (*v16.Usage)(nil), // 52: pluggableharness.agent.model.v1.Usage - (*v17.ContentBlock)(nil), // 53: pluggableharness.agent.content.v1.ContentBlock -} -var file_pluggableharness_agent_frontend_v1_frontend_proto_depIdxs = []int32{ - 40, // 0: pluggableharness.agent.frontend.v1.DescribeResponse.producer:type_name -> pluggableharness.agent.common.v1.ProducerRef - 7, // 1: pluggableharness.agent.frontend.v1.GetCapabilitiesResponse.capabilities:type_name -> pluggableharness.agent.frontend.v1.FrontendCapabilities - 41, // 2: pluggableharness.agent.frontend.v1.FrontendCapabilities.slash_commands:type_name -> pluggableharness.agent.slashcommand.v1.SlashCommandSpec - 42, // 3: pluggableharness.agent.frontend.v1.FrontendCapabilities.config_schema:type_name -> pluggableharness.agent.config.v1.ConfigSchema - 43, // 4: pluggableharness.agent.frontend.v1.FrontendCapabilities.supported_regions:type_name -> pluggableharness.agent.render.v1.Region - 44, // 5: pluggableharness.agent.frontend.v1.FrontendCapabilities.supported_hook_points:type_name -> pluggableharness.agent.common.v1.HookPoint - 45, // 6: pluggableharness.agent.frontend.v1.ConfigureRequest.config:type_name -> google.protobuf.Struct - 13, // 7: pluggableharness.agent.frontend.v1.ServerEvent.stream_delta:type_name -> pluggableharness.agent.frontend.v1.ServerEvent.StreamDelta - 14, // 8: pluggableharness.agent.frontend.v1.ServerEvent.render:type_name -> pluggableharness.agent.frontend.v1.ServerEvent.Render - 15, // 9: pluggableharness.agent.frontend.v1.ServerEvent.permission_request:type_name -> pluggableharness.agent.frontend.v1.ServerEvent.PermissionRequest - 16, // 10: pluggableharness.agent.frontend.v1.ServerEvent.plan_ready:type_name -> pluggableharness.agent.frontend.v1.ServerEvent.PlanReady - 17, // 11: pluggableharness.agent.frontend.v1.ServerEvent.interactive_request:type_name -> pluggableharness.agent.frontend.v1.ServerEvent.InteractiveRequest - 18, // 12: pluggableharness.agent.frontend.v1.ServerEvent.session_tree_update:type_name -> pluggableharness.agent.frontend.v1.ServerEvent.SessionTreeUpdate - 19, // 13: pluggableharness.agent.frontend.v1.ServerEvent.error:type_name -> pluggableharness.agent.frontend.v1.ServerEvent.Error - 20, // 14: pluggableharness.agent.frontend.v1.ServerEvent.session_created:type_name -> pluggableharness.agent.frontend.v1.ServerEvent.SessionCreated - 21, // 15: pluggableharness.agent.frontend.v1.ServerEvent.session_attached:type_name -> pluggableharness.agent.frontend.v1.ServerEvent.SessionAttached - 22, // 16: pluggableharness.agent.frontend.v1.ServerEvent.backfill_complete:type_name -> pluggableharness.agent.frontend.v1.ServerEvent.BackfillComplete - 23, // 17: pluggableharness.agent.frontend.v1.ServerEvent.session_detached:type_name -> pluggableharness.agent.frontend.v1.ServerEvent.SessionDetached - 24, // 18: pluggableharness.agent.frontend.v1.ServerEvent.session_list:type_name -> pluggableharness.agent.frontend.v1.ServerEvent.SessionList - 25, // 19: pluggableharness.agent.frontend.v1.ServerEvent.slash_command_registry:type_name -> pluggableharness.agent.frontend.v1.ServerEvent.SlashCommandRegistry - 26, // 20: pluggableharness.agent.frontend.v1.ServerEvent.usage_update:type_name -> pluggableharness.agent.frontend.v1.ServerEvent.UsageUpdate - 27, // 21: pluggableharness.agent.frontend.v1.ServerEvent.session_status_update:type_name -> pluggableharness.agent.frontend.v1.ServerEvent.SessionStatusUpdate - 28, // 22: pluggableharness.agent.frontend.v1.ClientEvent.user_message:type_name -> pluggableharness.agent.frontend.v1.ClientEvent.UserMessage - 29, // 23: pluggableharness.agent.frontend.v1.ClientEvent.slash_command:type_name -> pluggableharness.agent.frontend.v1.ClientEvent.SlashCommand - 30, // 24: pluggableharness.agent.frontend.v1.ClientEvent.plan_decision:type_name -> pluggableharness.agent.frontend.v1.ClientEvent.PlanDecision - 31, // 25: pluggableharness.agent.frontend.v1.ClientEvent.interactive_response:type_name -> pluggableharness.agent.frontend.v1.ClientEvent.InteractiveResponse - 32, // 26: pluggableharness.agent.frontend.v1.ClientEvent.action_trigger:type_name -> pluggableharness.agent.frontend.v1.ClientEvent.ActionTrigger - 33, // 27: pluggableharness.agent.frontend.v1.ClientEvent.interrupt:type_name -> pluggableharness.agent.frontend.v1.ClientEvent.Interrupt - 34, // 28: pluggableharness.agent.frontend.v1.ClientEvent.hello:type_name -> pluggableharness.agent.frontend.v1.ClientEvent.Hello - 35, // 29: pluggableharness.agent.frontend.v1.ClientEvent.create_session:type_name -> pluggableharness.agent.frontend.v1.ClientEvent.CreateSession - 36, // 30: pluggableharness.agent.frontend.v1.ClientEvent.attach_session:type_name -> pluggableharness.agent.frontend.v1.ClientEvent.AttachSession - 37, // 31: pluggableharness.agent.frontend.v1.ClientEvent.resume_session:type_name -> pluggableharness.agent.frontend.v1.ClientEvent.ResumeSession - 38, // 32: pluggableharness.agent.frontend.v1.ClientEvent.detach_session:type_name -> pluggableharness.agent.frontend.v1.ClientEvent.DetachSession - 39, // 33: pluggableharness.agent.frontend.v1.ClientEvent.list_sessions:type_name -> pluggableharness.agent.frontend.v1.ClientEvent.ListSessions - 2, // 34: pluggableharness.agent.frontend.v1.FrontendError.category:type_name -> pluggableharness.agent.frontend.v1.FrontendErrorCategory - 46, // 35: pluggableharness.agent.frontend.v1.ServerEvent.Render.content:type_name -> pluggableharness.agent.render.v1.PlacedContent - 47, // 36: pluggableharness.agent.frontend.v1.ServerEvent.PermissionRequest.plan_item:type_name -> pluggableharness.agent.plan.v1.PlanItem - 48, // 37: pluggableharness.agent.frontend.v1.ServerEvent.PlanReady.plan:type_name -> pluggableharness.agent.plan.v1.Plan - 49, // 38: pluggableharness.agent.frontend.v1.ServerEvent.InteractiveRequest.prompt:type_name -> pluggableharness.agent.render.v1.RenderTree - 50, // 39: pluggableharness.agent.frontend.v1.ServerEvent.SessionTreeUpdate.status:type_name -> pluggableharness.agent.session.v1.SessionStatus - 12, // 40: pluggableharness.agent.frontend.v1.ServerEvent.Error.error:type_name -> pluggableharness.agent.frontend.v1.FrontendError - 51, // 41: pluggableharness.agent.frontend.v1.ServerEvent.SessionCreated.info:type_name -> pluggableharness.agent.session.v1.SessionInfo - 51, // 42: pluggableharness.agent.frontend.v1.ServerEvent.SessionAttached.info:type_name -> pluggableharness.agent.session.v1.SessionInfo - 51, // 43: pluggableharness.agent.frontend.v1.ServerEvent.SessionList.sessions:type_name -> pluggableharness.agent.session.v1.SessionInfo - 41, // 44: pluggableharness.agent.frontend.v1.ServerEvent.SlashCommandRegistry.commands:type_name -> pluggableharness.agent.slashcommand.v1.SlashCommandSpec - 52, // 45: pluggableharness.agent.frontend.v1.ServerEvent.UsageUpdate.turn:type_name -> pluggableharness.agent.model.v1.Usage - 50, // 46: pluggableharness.agent.frontend.v1.ServerEvent.SessionStatusUpdate.status:type_name -> pluggableharness.agent.session.v1.SessionStatus - 53, // 47: pluggableharness.agent.frontend.v1.ClientEvent.UserMessage.content:type_name -> pluggableharness.agent.content.v1.ContentBlock - 0, // 48: pluggableharness.agent.frontend.v1.ClientEvent.PlanDecision.decision:type_name -> pluggableharness.agent.frontend.v1.ClientDecision - 45, // 49: pluggableharness.agent.frontend.v1.ClientEvent.PlanDecision.corrected_input:type_name -> google.protobuf.Struct - 1, // 50: pluggableharness.agent.frontend.v1.ClientEvent.PlanDecision.scope:type_name -> pluggableharness.agent.frontend.v1.PlanDecisionScope - 45, // 51: pluggableharness.agent.frontend.v1.ClientEvent.InteractiveResponse.response:type_name -> google.protobuf.Struct - 45, // 52: pluggableharness.agent.frontend.v1.ClientEvent.ActionTrigger.args:type_name -> google.protobuf.Struct - 50, // 53: pluggableharness.agent.frontend.v1.ClientEvent.ListSessions.status:type_name -> pluggableharness.agent.session.v1.SessionStatus - 5, // 54: pluggableharness.agent.frontend.v1.FrontendService.GetCapabilities:input_type -> pluggableharness.agent.frontend.v1.GetCapabilitiesRequest - 8, // 55: pluggableharness.agent.frontend.v1.FrontendService.Configure:input_type -> pluggableharness.agent.frontend.v1.ConfigureRequest - 11, // 56: pluggableharness.agent.frontend.v1.FrontendService.Attach:input_type -> pluggableharness.agent.frontend.v1.ClientEvent - 3, // 57: pluggableharness.agent.frontend.v1.FrontendService.Describe:input_type -> pluggableharness.agent.frontend.v1.DescribeRequest - 6, // 58: pluggableharness.agent.frontend.v1.FrontendService.GetCapabilities:output_type -> pluggableharness.agent.frontend.v1.GetCapabilitiesResponse - 9, // 59: pluggableharness.agent.frontend.v1.FrontendService.Configure:output_type -> pluggableharness.agent.frontend.v1.ConfigureResponse - 10, // 60: pluggableharness.agent.frontend.v1.FrontendService.Attach:output_type -> pluggableharness.agent.frontend.v1.ServerEvent - 4, // 61: pluggableharness.agent.frontend.v1.FrontendService.Describe:output_type -> pluggableharness.agent.frontend.v1.DescribeResponse + (*v13.PlacedContent)(nil), // 46: pluggableharness.render.v1.PlacedContent + (*v14.PlanItem)(nil), // 47: pluggableharness.plan.v1.PlanItem + (*v14.Plan)(nil), // 48: pluggableharness.plan.v1.Plan + (*v13.RenderTree)(nil), // 49: pluggableharness.render.v1.RenderTree + (v15.SessionStatus)(0), // 50: pluggableharness.session.v1.SessionStatus + (*v15.SessionInfo)(nil), // 51: pluggableharness.session.v1.SessionInfo + (*v16.Usage)(nil), // 52: pluggableharness.model.v1.Usage + (*v17.ContentBlock)(nil), // 53: pluggableharness.content.v1.ContentBlock +} +var file_pluggableharness_frontend_v1_frontend_proto_depIdxs = []int32{ + 40, // 0: pluggableharness.frontend.v1.DescribeResponse.producer:type_name -> pluggableharness.common.v1.ProducerRef + 7, // 1: pluggableharness.frontend.v1.GetCapabilitiesResponse.capabilities:type_name -> pluggableharness.frontend.v1.FrontendCapabilities + 41, // 2: pluggableharness.frontend.v1.FrontendCapabilities.slash_commands:type_name -> pluggableharness.slashcommand.v1.SlashCommandSpec + 42, // 3: pluggableharness.frontend.v1.FrontendCapabilities.config_schema:type_name -> pluggableharness.config.v1.ConfigSchema + 43, // 4: pluggableharness.frontend.v1.FrontendCapabilities.supported_regions:type_name -> pluggableharness.render.v1.Region + 44, // 5: pluggableharness.frontend.v1.FrontendCapabilities.supported_hook_points:type_name -> pluggableharness.common.v1.HookPoint + 45, // 6: pluggableharness.frontend.v1.ConfigureRequest.config:type_name -> google.protobuf.Struct + 13, // 7: pluggableharness.frontend.v1.ServerEvent.stream_delta:type_name -> pluggableharness.frontend.v1.ServerEvent.StreamDelta + 14, // 8: pluggableharness.frontend.v1.ServerEvent.render:type_name -> pluggableharness.frontend.v1.ServerEvent.Render + 15, // 9: pluggableharness.frontend.v1.ServerEvent.permission_request:type_name -> pluggableharness.frontend.v1.ServerEvent.PermissionRequest + 16, // 10: pluggableharness.frontend.v1.ServerEvent.plan_ready:type_name -> pluggableharness.frontend.v1.ServerEvent.PlanReady + 17, // 11: pluggableharness.frontend.v1.ServerEvent.interactive_request:type_name -> pluggableharness.frontend.v1.ServerEvent.InteractiveRequest + 18, // 12: pluggableharness.frontend.v1.ServerEvent.session_tree_update:type_name -> pluggableharness.frontend.v1.ServerEvent.SessionTreeUpdate + 19, // 13: pluggableharness.frontend.v1.ServerEvent.error:type_name -> pluggableharness.frontend.v1.ServerEvent.Error + 20, // 14: pluggableharness.frontend.v1.ServerEvent.session_created:type_name -> pluggableharness.frontend.v1.ServerEvent.SessionCreated + 21, // 15: pluggableharness.frontend.v1.ServerEvent.session_attached:type_name -> pluggableharness.frontend.v1.ServerEvent.SessionAttached + 22, // 16: pluggableharness.frontend.v1.ServerEvent.backfill_complete:type_name -> pluggableharness.frontend.v1.ServerEvent.BackfillComplete + 23, // 17: pluggableharness.frontend.v1.ServerEvent.session_detached:type_name -> pluggableharness.frontend.v1.ServerEvent.SessionDetached + 24, // 18: pluggableharness.frontend.v1.ServerEvent.session_list:type_name -> pluggableharness.frontend.v1.ServerEvent.SessionList + 25, // 19: pluggableharness.frontend.v1.ServerEvent.slash_command_registry:type_name -> pluggableharness.frontend.v1.ServerEvent.SlashCommandRegistry + 26, // 20: pluggableharness.frontend.v1.ServerEvent.usage_update:type_name -> pluggableharness.frontend.v1.ServerEvent.UsageUpdate + 27, // 21: pluggableharness.frontend.v1.ServerEvent.session_status_update:type_name -> pluggableharness.frontend.v1.ServerEvent.SessionStatusUpdate + 28, // 22: pluggableharness.frontend.v1.ClientEvent.user_message:type_name -> pluggableharness.frontend.v1.ClientEvent.UserMessage + 29, // 23: pluggableharness.frontend.v1.ClientEvent.slash_command:type_name -> pluggableharness.frontend.v1.ClientEvent.SlashCommand + 30, // 24: pluggableharness.frontend.v1.ClientEvent.plan_decision:type_name -> pluggableharness.frontend.v1.ClientEvent.PlanDecision + 31, // 25: pluggableharness.frontend.v1.ClientEvent.interactive_response:type_name -> pluggableharness.frontend.v1.ClientEvent.InteractiveResponse + 32, // 26: pluggableharness.frontend.v1.ClientEvent.action_trigger:type_name -> pluggableharness.frontend.v1.ClientEvent.ActionTrigger + 33, // 27: pluggableharness.frontend.v1.ClientEvent.interrupt:type_name -> pluggableharness.frontend.v1.ClientEvent.Interrupt + 34, // 28: pluggableharness.frontend.v1.ClientEvent.hello:type_name -> pluggableharness.frontend.v1.ClientEvent.Hello + 35, // 29: pluggableharness.frontend.v1.ClientEvent.create_session:type_name -> pluggableharness.frontend.v1.ClientEvent.CreateSession + 36, // 30: pluggableharness.frontend.v1.ClientEvent.attach_session:type_name -> pluggableharness.frontend.v1.ClientEvent.AttachSession + 37, // 31: pluggableharness.frontend.v1.ClientEvent.resume_session:type_name -> pluggableharness.frontend.v1.ClientEvent.ResumeSession + 38, // 32: pluggableharness.frontend.v1.ClientEvent.detach_session:type_name -> pluggableharness.frontend.v1.ClientEvent.DetachSession + 39, // 33: pluggableharness.frontend.v1.ClientEvent.list_sessions:type_name -> pluggableharness.frontend.v1.ClientEvent.ListSessions + 2, // 34: pluggableharness.frontend.v1.FrontendError.category:type_name -> pluggableharness.frontend.v1.FrontendErrorCategory + 46, // 35: pluggableharness.frontend.v1.ServerEvent.Render.content:type_name -> pluggableharness.render.v1.PlacedContent + 47, // 36: pluggableharness.frontend.v1.ServerEvent.PermissionRequest.plan_item:type_name -> pluggableharness.plan.v1.PlanItem + 48, // 37: pluggableharness.frontend.v1.ServerEvent.PlanReady.plan:type_name -> pluggableharness.plan.v1.Plan + 49, // 38: pluggableharness.frontend.v1.ServerEvent.InteractiveRequest.prompt:type_name -> pluggableharness.render.v1.RenderTree + 50, // 39: pluggableharness.frontend.v1.ServerEvent.SessionTreeUpdate.status:type_name -> pluggableharness.session.v1.SessionStatus + 12, // 40: pluggableharness.frontend.v1.ServerEvent.Error.error:type_name -> pluggableharness.frontend.v1.FrontendError + 51, // 41: pluggableharness.frontend.v1.ServerEvent.SessionCreated.info:type_name -> pluggableharness.session.v1.SessionInfo + 51, // 42: pluggableharness.frontend.v1.ServerEvent.SessionAttached.info:type_name -> pluggableharness.session.v1.SessionInfo + 51, // 43: pluggableharness.frontend.v1.ServerEvent.SessionList.sessions:type_name -> pluggableharness.session.v1.SessionInfo + 41, // 44: pluggableharness.frontend.v1.ServerEvent.SlashCommandRegistry.commands:type_name -> pluggableharness.slashcommand.v1.SlashCommandSpec + 52, // 45: pluggableharness.frontend.v1.ServerEvent.UsageUpdate.turn:type_name -> pluggableharness.model.v1.Usage + 50, // 46: pluggableharness.frontend.v1.ServerEvent.SessionStatusUpdate.status:type_name -> pluggableharness.session.v1.SessionStatus + 53, // 47: pluggableharness.frontend.v1.ClientEvent.UserMessage.content:type_name -> pluggableharness.content.v1.ContentBlock + 0, // 48: pluggableharness.frontend.v1.ClientEvent.PlanDecision.decision:type_name -> pluggableharness.frontend.v1.ClientDecision + 45, // 49: pluggableharness.frontend.v1.ClientEvent.PlanDecision.corrected_input:type_name -> google.protobuf.Struct + 1, // 50: pluggableharness.frontend.v1.ClientEvent.PlanDecision.scope:type_name -> pluggableharness.frontend.v1.PlanDecisionScope + 45, // 51: pluggableharness.frontend.v1.ClientEvent.InteractiveResponse.response:type_name -> google.protobuf.Struct + 45, // 52: pluggableharness.frontend.v1.ClientEvent.ActionTrigger.args:type_name -> google.protobuf.Struct + 50, // 53: pluggableharness.frontend.v1.ClientEvent.ListSessions.status:type_name -> pluggableharness.session.v1.SessionStatus + 5, // 54: pluggableharness.frontend.v1.FrontendService.GetCapabilities:input_type -> pluggableharness.frontend.v1.GetCapabilitiesRequest + 8, // 55: pluggableharness.frontend.v1.FrontendService.Configure:input_type -> pluggableharness.frontend.v1.ConfigureRequest + 11, // 56: pluggableharness.frontend.v1.FrontendService.Attach:input_type -> pluggableharness.frontend.v1.ClientEvent + 3, // 57: pluggableharness.frontend.v1.FrontendService.Describe:input_type -> pluggableharness.frontend.v1.DescribeRequest + 6, // 58: pluggableharness.frontend.v1.FrontendService.GetCapabilities:output_type -> pluggableharness.frontend.v1.GetCapabilitiesResponse + 9, // 59: pluggableharness.frontend.v1.FrontendService.Configure:output_type -> pluggableharness.frontend.v1.ConfigureResponse + 10, // 60: pluggableharness.frontend.v1.FrontendService.Attach:output_type -> pluggableharness.frontend.v1.ServerEvent + 4, // 61: pluggableharness.frontend.v1.FrontendService.Describe:output_type -> pluggableharness.frontend.v1.DescribeResponse 58, // [58:62] is the sub-list for method output_type 54, // [54:58] is the sub-list for method input_type 54, // [54:54] is the sub-list for extension type_name @@ -3114,12 +3114,12 @@ var file_pluggableharness_agent_frontend_v1_frontend_proto_depIdxs = []int32{ 0, // [0:54] is the sub-list for field type_name } -func init() { file_pluggableharness_agent_frontend_v1_frontend_proto_init() } -func file_pluggableharness_agent_frontend_v1_frontend_proto_init() { - if File_pluggableharness_agent_frontend_v1_frontend_proto != nil { +func init() { file_pluggableharness_frontend_v1_frontend_proto_init() } +func file_pluggableharness_frontend_v1_frontend_proto_init() { + if File_pluggableharness_frontend_v1_frontend_proto != nil { return } - file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[7].OneofWrappers = []any{ + file_pluggableharness_frontend_v1_frontend_proto_msgTypes[7].OneofWrappers = []any{ (*ServerEvent_StreamDelta_)(nil), (*ServerEvent_Render_)(nil), (*ServerEvent_PermissionRequest_)(nil), @@ -3136,7 +3136,7 @@ func file_pluggableharness_agent_frontend_v1_frontend_proto_init() { (*ServerEvent_UsageUpdate_)(nil), (*ServerEvent_SessionStatusUpdate_)(nil), } - file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[8].OneofWrappers = []any{ + file_pluggableharness_frontend_v1_frontend_proto_msgTypes[8].OneofWrappers = []any{ (*ClientEvent_UserMessage_)(nil), (*ClientEvent_SlashCommand_)(nil), (*ClientEvent_PlanDecision_)(nil), @@ -3150,25 +3150,25 @@ func file_pluggableharness_agent_frontend_v1_frontend_proto_init() { (*ClientEvent_DetachSession_)(nil), (*ClientEvent_ListSessions_)(nil), } - file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[27].OneofWrappers = []any{} - file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[32].OneofWrappers = []any{} - file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes[36].OneofWrappers = []any{} + file_pluggableharness_frontend_v1_frontend_proto_msgTypes[27].OneofWrappers = []any{} + file_pluggableharness_frontend_v1_frontend_proto_msgTypes[32].OneofWrappers = []any{} + file_pluggableharness_frontend_v1_frontend_proto_msgTypes[36].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_frontend_v1_frontend_proto_rawDesc), len(file_pluggableharness_agent_frontend_v1_frontend_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_frontend_v1_frontend_proto_rawDesc), len(file_pluggableharness_frontend_v1_frontend_proto_rawDesc)), NumEnums: 3, NumMessages: 37, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_pluggableharness_agent_frontend_v1_frontend_proto_goTypes, - DependencyIndexes: file_pluggableharness_agent_frontend_v1_frontend_proto_depIdxs, - EnumInfos: file_pluggableharness_agent_frontend_v1_frontend_proto_enumTypes, - MessageInfos: file_pluggableharness_agent_frontend_v1_frontend_proto_msgTypes, + GoTypes: file_pluggableharness_frontend_v1_frontend_proto_goTypes, + DependencyIndexes: file_pluggableharness_frontend_v1_frontend_proto_depIdxs, + EnumInfos: file_pluggableharness_frontend_v1_frontend_proto_enumTypes, + MessageInfos: file_pluggableharness_frontend_v1_frontend_proto_msgTypes, }.Build() - File_pluggableharness_agent_frontend_v1_frontend_proto = out.File - file_pluggableharness_agent_frontend_v1_frontend_proto_goTypes = nil - file_pluggableharness_agent_frontend_v1_frontend_proto_depIdxs = nil + File_pluggableharness_frontend_v1_frontend_proto = out.File + file_pluggableharness_frontend_v1_frontend_proto_goTypes = nil + file_pluggableharness_frontend_v1_frontend_proto_depIdxs = nil } diff --git a/pkg/frontend/proto/v1/frontend_grpc.pb.go b/pkg/frontend/proto/v1/frontend_grpc.pb.go index bb49856..491c941 100644 --- a/pkg/frontend/proto/v1/frontend_grpc.pb.go +++ b/pkg/frontend/proto/v1/frontend_grpc.pb.go @@ -2,9 +2,9 @@ // versions: // - protoc-gen-go-grpc v1.6.2 // - protoc (unknown) -// source: pluggableharness/agent/frontend/v1/frontend.proto +// source: pluggableharness/frontend/v1/frontend.proto -// Package pluggableharness.agent.frontend.v1 defines the frontend provider plugin protocol +// Package pluggableharness.frontend.v1 defines the frontend provider plugin protocol // described in specifications/frontend.md §3 (Attach, ServerEvent, // ClientEvent, ...). @@ -23,10 +23,10 @@ import ( const _ = grpc.SupportPackageIsVersion9 const ( - FrontendService_GetCapabilities_FullMethodName = "/pluggableharness.agent.frontend.v1.FrontendService/GetCapabilities" - FrontendService_Configure_FullMethodName = "/pluggableharness.agent.frontend.v1.FrontendService/Configure" - FrontendService_Attach_FullMethodName = "/pluggableharness.agent.frontend.v1.FrontendService/Attach" - FrontendService_Describe_FullMethodName = "/pluggableharness.agent.frontend.v1.FrontendService/Describe" + FrontendService_GetCapabilities_FullMethodName = "/pluggableharness.frontend.v1.FrontendService/GetCapabilities" + FrontendService_Configure_FullMethodName = "/pluggableharness.frontend.v1.FrontendService/Configure" + FrontendService_Attach_FullMethodName = "/pluggableharness.frontend.v1.FrontendService/Attach" + FrontendService_Describe_FullMethodName = "/pluggableharness.frontend.v1.FrontendService/Describe" ) // FrontendServiceClient is the client API for FrontendService service. @@ -302,7 +302,7 @@ func _FrontendService_Describe_Handler(srv interface{}, ctx context.Context, dec // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) var FrontendService_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "pluggableharness.agent.frontend.v1.FrontendService", + ServiceName: "pluggableharness.frontend.v1.FrontendService", HandlerType: (*FrontendServiceServer)(nil), Methods: []grpc.MethodDesc{ { @@ -326,5 +326,5 @@ var FrontendService_ServiceDesc = grpc.ServiceDesc{ ClientStreams: true, }, }, - Metadata: "pluggableharness/agent/frontend/v1/frontend.proto", + Metadata: "pluggableharness/frontend/v1/frontend.proto", } diff --git a/pkg/hook/proto/v1/hook.pb.go b/pkg/hook/proto/v1/hook.pb.go index d47a66c..2b78deb 100644 --- a/pkg/hook/proto/v1/hook.pb.go +++ b/pkg/hook/proto/v1/hook.pb.go @@ -2,9 +2,9 @@ // versions: // protoc-gen-go v1.36.11 // protoc (unknown) -// source: pluggableharness/agent/hook/v1/hook.proto +// source: pluggableharness/hook/v1/hook.proto -// Package pluggableharness.agent.hook.v1 defines the hook-dispatch RPC surface +// Package pluggableharness.hook.v1 defines the hook-dispatch RPC surface // described in agent-loop/hook-dispatch.md and architecture.md §Hook // dispatch semantics: the wire contract the kernel uses to invoke any // plugin (of any of the six categories) that declares a `hook{}` block in @@ -101,11 +101,11 @@ func (x HookMode) String() string { } func (HookMode) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_hook_v1_hook_proto_enumTypes[0].Descriptor() + return file_pluggableharness_hook_v1_hook_proto_enumTypes[0].Descriptor() } func (HookMode) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_hook_v1_hook_proto_enumTypes[0] + return &file_pluggableharness_hook_v1_hook_proto_enumTypes[0] } func (x HookMode) Number() protoreflect.EnumNumber { @@ -114,12 +114,12 @@ func (x HookMode) Number() protoreflect.EnumNumber { // Deprecated: Use HookMode.Descriptor instead. func (HookMode) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_hook_v1_hook_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_hook_v1_hook_proto_rawDescGZIP(), []int{0} } // HookDecision is a veto subscriber's coarse allow/deny verdict over a // whole HookPayload. Deliberately distinct from -// pluggableharness.agent.plan.v1.PlanDecision — that enum is per-plan-item +// pluggableharness.plan.v1.PlanDecision — that enum is per-plan-item // and carries PENDING/ASK, which are meaningless for a hook-level veto; // the two enums MUST NOT be merged, per .claude/rules/proto.md's // no-untyped-overload discipline (see also ToolErrorCategory vs @@ -167,11 +167,11 @@ func (x HookDecision) String() string { } func (HookDecision) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_hook_v1_hook_proto_enumTypes[1].Descriptor() + return file_pluggableharness_hook_v1_hook_proto_enumTypes[1].Descriptor() } func (HookDecision) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_hook_v1_hook_proto_enumTypes[1] + return &file_pluggableharness_hook_v1_hook_proto_enumTypes[1] } func (x HookDecision) Number() protoreflect.EnumNumber { @@ -180,7 +180,7 @@ func (x HookDecision) Number() protoreflect.EnumNumber { // Deprecated: Use HookDecision.Descriptor instead. func (HookDecision) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_hook_v1_hook_proto_rawDescGZIP(), []int{1} + return file_pluggableharness_hook_v1_hook_proto_rawDescGZIP(), []int{1} } // HookErrorCategory classifies why a hook dispatch to one subscriber @@ -255,11 +255,11 @@ func (x HookErrorCategory) String() string { } func (HookErrorCategory) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_hook_v1_hook_proto_enumTypes[2].Descriptor() + return file_pluggableharness_hook_v1_hook_proto_enumTypes[2].Descriptor() } func (HookErrorCategory) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_hook_v1_hook_proto_enumTypes[2] + return &file_pluggableharness_hook_v1_hook_proto_enumTypes[2] } func (x HookErrorCategory) Number() protoreflect.EnumNumber { @@ -268,7 +268,7 @@ func (x HookErrorCategory) Number() protoreflect.EnumNumber { // Deprecated: Use HookErrorCategory.Descriptor instead. func (HookErrorCategory) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_hook_v1_hook_proto_rawDescGZIP(), []int{2} + return file_pluggableharness_hook_v1_hook_proto_rawDescGZIP(), []int{2} } // HookPayload carries one hook point's data. Exactly one oneof variant is @@ -294,7 +294,7 @@ type HookPayload struct { func (x *HookPayload) Reset() { *x = HookPayload{} - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[0] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -306,7 +306,7 @@ func (x *HookPayload) String() string { func (*HookPayload) ProtoMessage() {} func (x *HookPayload) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[0] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -319,7 +319,7 @@ func (x *HookPayload) ProtoReflect() protoreflect.Message { // Deprecated: Use HookPayload.ProtoReflect.Descriptor instead. func (*HookPayload) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_hook_v1_hook_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_hook_v1_hook_proto_rawDescGZIP(), []int{0} } func (x *HookPayload) GetPayload() isHookPayload_Payload { @@ -483,7 +483,7 @@ type SessionStartPayload struct { func (x *SessionStartPayload) Reset() { *x = SessionStartPayload{} - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[1] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -495,7 +495,7 @@ func (x *SessionStartPayload) String() string { func (*SessionStartPayload) ProtoMessage() {} func (x *SessionStartPayload) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[1] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -508,7 +508,7 @@ func (x *SessionStartPayload) ProtoReflect() protoreflect.Message { // Deprecated: Use SessionStartPayload.ProtoReflect.Descriptor instead. func (*SessionStartPayload) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_hook_v1_hook_proto_rawDescGZIP(), []int{1} + return file_pluggableharness_hook_v1_hook_proto_rawDescGZIP(), []int{1} } func (x *SessionStartPayload) GetSessionId() string { @@ -557,7 +557,7 @@ type PreModelCallPayload struct { func (x *PreModelCallPayload) Reset() { *x = PreModelCallPayload{} - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[2] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -569,7 +569,7 @@ func (x *PreModelCallPayload) String() string { func (*PreModelCallPayload) ProtoMessage() {} func (x *PreModelCallPayload) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[2] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -582,7 +582,7 @@ func (x *PreModelCallPayload) ProtoReflect() protoreflect.Message { // Deprecated: Use PreModelCallPayload.ProtoReflect.Descriptor instead. func (*PreModelCallPayload) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_hook_v1_hook_proto_rawDescGZIP(), []int{2} + return file_pluggableharness_hook_v1_hook_proto_rawDescGZIP(), []int{2} } func (x *PreModelCallPayload) GetMessages() []*v1.Message { @@ -626,7 +626,7 @@ type PostModelResponsePayload struct { func (x *PostModelResponsePayload) Reset() { *x = PostModelResponsePayload{} - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[3] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -638,7 +638,7 @@ func (x *PostModelResponsePayload) String() string { func (*PostModelResponsePayload) ProtoMessage() {} func (x *PostModelResponsePayload) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[3] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -651,7 +651,7 @@ func (x *PostModelResponsePayload) ProtoReflect() protoreflect.Message { // Deprecated: Use PostModelResponsePayload.ProtoReflect.Descriptor instead. func (*PostModelResponsePayload) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_hook_v1_hook_proto_rawDescGZIP(), []int{3} + return file_pluggableharness_hook_v1_hook_proto_rawDescGZIP(), []int{3} } func (x *PostModelResponsePayload) GetMessage() *v1.Message { @@ -701,7 +701,7 @@ type PreToolCallPayload struct { func (x *PreToolCallPayload) Reset() { *x = PreToolCallPayload{} - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[4] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -713,7 +713,7 @@ func (x *PreToolCallPayload) String() string { func (*PreToolCallPayload) ProtoMessage() {} func (x *PreToolCallPayload) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[4] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -726,7 +726,7 @@ func (x *PreToolCallPayload) ProtoReflect() protoreflect.Message { // Deprecated: Use PreToolCallPayload.ProtoReflect.Descriptor instead. func (*PreToolCallPayload) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_hook_v1_hook_proto_rawDescGZIP(), []int{4} + return file_pluggableharness_hook_v1_hook_proto_rawDescGZIP(), []int{4} } func (x *PreToolCallPayload) GetCall() *v13.ToolCall { @@ -761,7 +761,7 @@ type PlanReadyPayload struct { func (x *PlanReadyPayload) Reset() { *x = PlanReadyPayload{} - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[5] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -773,7 +773,7 @@ func (x *PlanReadyPayload) String() string { func (*PlanReadyPayload) ProtoMessage() {} func (x *PlanReadyPayload) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[5] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -786,7 +786,7 @@ func (x *PlanReadyPayload) ProtoReflect() protoreflect.Message { // Deprecated: Use PlanReadyPayload.ProtoReflect.Descriptor instead. func (*PlanReadyPayload) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_hook_v1_hook_proto_rawDescGZIP(), []int{5} + return file_pluggableharness_hook_v1_hook_proto_rawDescGZIP(), []int{5} } func (x *PlanReadyPayload) GetPlan() *v14.Plan { @@ -814,7 +814,7 @@ type PostToolCallPayload struct { func (x *PostToolCallPayload) Reset() { *x = PostToolCallPayload{} - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[6] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -826,7 +826,7 @@ func (x *PostToolCallPayload) String() string { func (*PostToolCallPayload) ProtoMessage() {} func (x *PostToolCallPayload) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[6] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -839,7 +839,7 @@ func (x *PostToolCallPayload) ProtoReflect() protoreflect.Message { // Deprecated: Use PostToolCallPayload.ProtoReflect.Descriptor instead. func (*PostToolCallPayload) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_hook_v1_hook_proto_rawDescGZIP(), []int{6} + return file_pluggableharness_hook_v1_hook_proto_rawDescGZIP(), []int{6} } func (x *PostToolCallPayload) GetCall() *v13.ToolCall { @@ -894,7 +894,7 @@ func (*PostToolCallPayload_Error) isPostToolCallPayload_Outcome() {} // PostApplyPayload fires once a turn's whole Plan has finished applying — // every item has reached a terminal ApplyOutcome -// (pluggableharness.agent.plan.v1.ApplyResult.ApplyOutcome). Reuses +// (pluggableharness.plan.v1.ApplyResult.ApplyOutcome). Reuses // plan.v1.ApplyResult rather than defining its own per-item outcome shape, // so the post-apply hook's subject and the EVENT_KIND_APPLY event (the // forthcoming event.v1 package) are the exact same message. Observe-only — @@ -910,7 +910,7 @@ type PostApplyPayload struct { func (x *PostApplyPayload) Reset() { *x = PostApplyPayload{} - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[7] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -922,7 +922,7 @@ func (x *PostApplyPayload) String() string { func (*PostApplyPayload) ProtoMessage() {} func (x *PostApplyPayload) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[7] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -935,7 +935,7 @@ func (x *PostApplyPayload) ProtoReflect() protoreflect.Message { // Deprecated: Use PostApplyPayload.ProtoReflect.Descriptor instead. func (*PostApplyPayload) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_hook_v1_hook_proto_rawDescGZIP(), []int{7} + return file_pluggableharness_hook_v1_hook_proto_rawDescGZIP(), []int{7} } func (x *PostApplyPayload) GetApply() *v14.ApplyResult { @@ -954,14 +954,14 @@ type SessionEndPayload struct { SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` // The session's terminal status. MUST be set (never // SESSION_STATUS_RUNNING). Immutable. - Status v15.SessionStatus `protobuf:"varint,2,opt,name=status,proto3,enum=pluggableharness.agent.session.v1.SessionStatus" json:"status,omitempty"` + Status v15.SessionStatus `protobuf:"varint,2,opt,name=status,proto3,enum=pluggableharness.session.v1.SessionStatus" json:"status,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SessionEndPayload) Reset() { *x = SessionEndPayload{} - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[8] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -973,7 +973,7 @@ func (x *SessionEndPayload) String() string { func (*SessionEndPayload) ProtoMessage() {} func (x *SessionEndPayload) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[8] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -986,7 +986,7 @@ func (x *SessionEndPayload) ProtoReflect() protoreflect.Message { // Deprecated: Use SessionEndPayload.ProtoReflect.Descriptor instead. func (*SessionEndPayload) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_hook_v1_hook_proto_rawDescGZIP(), []int{8} + return file_pluggableharness_hook_v1_hook_proto_rawDescGZIP(), []int{8} } func (x *SessionEndPayload) GetSessionId() string { @@ -1013,7 +1013,7 @@ type DispatchHookRequest struct { // The operator-configured mode this subscription runs under // (agent.hcl's hook{} block). MUST be set — tells the subscriber which // of DispatchHookResponse's three outcome shapes is expected back. - Mode HookMode `protobuf:"varint,2,opt,name=mode,proto3,enum=pluggableharness.agent.hook.v1.HookMode" json:"mode,omitempty"` + Mode HookMode `protobuf:"varint,2,opt,name=mode,proto3,enum=pluggableharness.hook.v1.HookMode" json:"mode,omitempty"` // Disambiguates a plugin declaring more than one hook{} block at the // same HookPoint. Absent when a plugin has exactly one subscription at // this point. @@ -1024,7 +1024,7 @@ type DispatchHookRequest struct { func (x *DispatchHookRequest) Reset() { *x = DispatchHookRequest{} - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[9] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1036,7 +1036,7 @@ func (x *DispatchHookRequest) String() string { func (*DispatchHookRequest) ProtoMessage() {} func (x *DispatchHookRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[9] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1049,7 +1049,7 @@ func (x *DispatchHookRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DispatchHookRequest.ProtoReflect.Descriptor instead. func (*DispatchHookRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_hook_v1_hook_proto_rawDescGZIP(), []int{9} + return file_pluggableharness_hook_v1_hook_proto_rawDescGZIP(), []int{9} } func (x *DispatchHookRequest) GetPayload() *HookPayload { @@ -1092,7 +1092,7 @@ type DispatchHookResponse struct { func (x *DispatchHookResponse) Reset() { *x = DispatchHookResponse{} - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[10] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1104,7 +1104,7 @@ func (x *DispatchHookResponse) String() string { func (*DispatchHookResponse) ProtoMessage() {} func (x *DispatchHookResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[10] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1117,7 +1117,7 @@ func (x *DispatchHookResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DispatchHookResponse.ProtoReflect.Descriptor instead. func (*DispatchHookResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_hook_v1_hook_proto_rawDescGZIP(), []int{10} + return file_pluggableharness_hook_v1_hook_proto_rawDescGZIP(), []int{10} } func (x *DispatchHookResponse) GetOutcome() isDispatchHookResponse_Outcome { @@ -1188,14 +1188,14 @@ func (*DispatchHookResponse_Veto) isDispatchHookResponse_Outcome() {} type HookError struct { state protoimpl.MessageState `protogen:"open.v1"` // Which hook point the failing dispatch was for. MUST be set. - Point v12.HookPoint `protobuf:"varint,1,opt,name=point,proto3,enum=pluggableharness.agent.common.v1.HookPoint" json:"point,omitempty"` + Point v12.HookPoint `protobuf:"varint,1,opt,name=point,proto3,enum=pluggableharness.common.v1.HookPoint" json:"point,omitempty"` // Which plugin build the failing subscriber was. MUST be set. Subscriber *v12.ProducerRef `protobuf:"bytes,2,opt,name=subscriber,proto3" json:"subscriber,omitempty"` // The HookMode the failing subscription was declared under. MUST be // set. - Mode HookMode `protobuf:"varint,3,opt,name=mode,proto3,enum=pluggableharness.agent.hook.v1.HookMode" json:"mode,omitempty"` + Mode HookMode `protobuf:"varint,3,opt,name=mode,proto3,enum=pluggableharness.hook.v1.HookMode" json:"mode,omitempty"` // Which category of failure this is. MUST be set. - Category HookErrorCategory `protobuf:"varint,4,opt,name=category,proto3,enum=pluggableharness.agent.hook.v1.HookErrorCategory" json:"category,omitempty"` + Category HookErrorCategory `protobuf:"varint,4,opt,name=category,proto3,enum=pluggableharness.hook.v1.HookErrorCategory" json:"category,omitempty"` // Human-readable detail, e.g. the raw subscriber error message. Message string `protobuf:"bytes,5,opt,name=message,proto3" json:"message,omitempty"` unknownFields protoimpl.UnknownFields @@ -1204,7 +1204,7 @@ type HookError struct { func (x *HookError) Reset() { *x = HookError{} - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[11] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1216,7 +1216,7 @@ func (x *HookError) String() string { func (*HookError) ProtoMessage() {} func (x *HookError) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[11] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1229,7 +1229,7 @@ func (x *HookError) ProtoReflect() protoreflect.Message { // Deprecated: Use HookError.ProtoReflect.Descriptor instead. func (*HookError) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_hook_v1_hook_proto_rawDescGZIP(), []int{11} + return file_pluggableharness_hook_v1_hook_proto_rawDescGZIP(), []int{11} } func (x *HookError) GetPoint() v12.HookPoint { @@ -1279,7 +1279,7 @@ type DispatchHookResponse_ObserveAck struct { func (x *DispatchHookResponse_ObserveAck) Reset() { *x = DispatchHookResponse_ObserveAck{} - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[12] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1291,7 +1291,7 @@ func (x *DispatchHookResponse_ObserveAck) String() string { func (*DispatchHookResponse_ObserveAck) ProtoMessage() {} func (x *DispatchHookResponse_ObserveAck) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[12] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1304,7 +1304,7 @@ func (x *DispatchHookResponse_ObserveAck) ProtoReflect() protoreflect.Message { // Deprecated: Use DispatchHookResponse_ObserveAck.ProtoReflect.Descriptor instead. func (*DispatchHookResponse_ObserveAck) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_hook_v1_hook_proto_rawDescGZIP(), []int{10, 0} + return file_pluggableharness_hook_v1_hook_proto_rawDescGZIP(), []int{10, 0} } // TransformResult carries a transform subscriber's modified payload. @@ -1322,7 +1322,7 @@ type DispatchHookResponse_TransformResult struct { func (x *DispatchHookResponse_TransformResult) Reset() { *x = DispatchHookResponse_TransformResult{} - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[13] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1334,7 +1334,7 @@ func (x *DispatchHookResponse_TransformResult) String() string { func (*DispatchHookResponse_TransformResult) ProtoMessage() {} func (x *DispatchHookResponse_TransformResult) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[13] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1347,7 +1347,7 @@ func (x *DispatchHookResponse_TransformResult) ProtoReflect() protoreflect.Messa // Deprecated: Use DispatchHookResponse_TransformResult.ProtoReflect.Descriptor instead. func (*DispatchHookResponse_TransformResult) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_hook_v1_hook_proto_rawDescGZIP(), []int{10, 1} + return file_pluggableharness_hook_v1_hook_proto_rawDescGZIP(), []int{10, 1} } func (x *DispatchHookResponse_TransformResult) GetPayload() *HookPayload { @@ -1365,14 +1365,14 @@ type DispatchHookResponse_VetoResult struct { // deny — the fail-closed behavior for a genuinely absent/erroring // response is handled at the gRPC-status level, not by this enum's // zero value. - Decision HookDecision `protobuf:"varint,1,opt,name=decision,proto3,enum=pluggableharness.agent.hook.v1.HookDecision" json:"decision,omitempty"` + Decision HookDecision `protobuf:"varint,1,opt,name=decision,proto3,enum=pluggableharness.hook.v1.HookDecision" json:"decision,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *DispatchHookResponse_VetoResult) Reset() { *x = DispatchHookResponse_VetoResult{} - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[14] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1384,7 +1384,7 @@ func (x *DispatchHookResponse_VetoResult) String() string { func (*DispatchHookResponse_VetoResult) ProtoMessage() {} func (x *DispatchHookResponse_VetoResult) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[14] + mi := &file_pluggableharness_hook_v1_hook_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1397,7 +1397,7 @@ func (x *DispatchHookResponse_VetoResult) ProtoReflect() protoreflect.Message { // Deprecated: Use DispatchHookResponse_VetoResult.ProtoReflect.Descriptor instead. func (*DispatchHookResponse_VetoResult) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_hook_v1_hook_proto_rawDescGZIP(), []int{10, 2} + return file_pluggableharness_hook_v1_hook_proto_rawDescGZIP(), []int{10, 2} } func (x *DispatchHookResponse_VetoResult) GetDecision() HookDecision { @@ -1407,22 +1407,22 @@ func (x *DispatchHookResponse_VetoResult) GetDecision() HookDecision { return HookDecision_HOOK_DECISION_UNSPECIFIED } -var File_pluggableharness_agent_hook_v1_hook_proto protoreflect.FileDescriptor +var File_pluggableharness_hook_v1_hook_proto protoreflect.FileDescriptor -const file_pluggableharness_agent_hook_v1_hook_proto_rawDesc = "" + +const file_pluggableharness_hook_v1_hook_proto_rawDesc = "" + "\n" + - ")pluggableharness/agent/hook/v1/hook.proto\x12\x1epluggableharness.agent.hook.v1\x1a-pluggableharness/agent/common/v1/common.proto\x1a/pluggableharness/agent/content/v1/content.proto\x1a+pluggableharness/agent/model/v1/model.proto\x1a)pluggableharness/agent/plan/v1/plan.proto\x1a/pluggableharness/agent/session/v1/session.proto\x1a)pluggableharness/agent/tool/v1/tool.proto\"\xf0\x05\n" + - "\vHookPayload\x12Z\n" + - "\rsession_start\x18\x01 \x01(\v23.pluggableharness.agent.hook.v1.SessionStartPayloadH\x00R\fsessionStart\x12[\n" + - "\x0epre_model_call\x18\x02 \x01(\v23.pluggableharness.agent.hook.v1.PreModelCallPayloadH\x00R\fpreModelCall\x12j\n" + - "\x13post_model_response\x18\x03 \x01(\v28.pluggableharness.agent.hook.v1.PostModelResponsePayloadH\x00R\x11postModelResponse\x12X\n" + - "\rpre_tool_call\x18\x04 \x01(\v22.pluggableharness.agent.hook.v1.PreToolCallPayloadH\x00R\vpreToolCall\x12Q\n" + + "#pluggableharness/hook/v1/hook.proto\x12\x18pluggableharness.hook.v1\x1a'pluggableharness/common/v1/common.proto\x1a)pluggableharness/content/v1/content.proto\x1a%pluggableharness/model/v1/model.proto\x1a#pluggableharness/plan/v1/plan.proto\x1a)pluggableharness/session/v1/session.proto\x1a#pluggableharness/tool/v1/tool.proto\"\xc0\x05\n" + + "\vHookPayload\x12T\n" + + "\rsession_start\x18\x01 \x01(\v2-.pluggableharness.hook.v1.SessionStartPayloadH\x00R\fsessionStart\x12U\n" + + "\x0epre_model_call\x18\x02 \x01(\v2-.pluggableharness.hook.v1.PreModelCallPayloadH\x00R\fpreModelCall\x12d\n" + + "\x13post_model_response\x18\x03 \x01(\v22.pluggableharness.hook.v1.PostModelResponsePayloadH\x00R\x11postModelResponse\x12R\n" + + "\rpre_tool_call\x18\x04 \x01(\v2,.pluggableharness.hook.v1.PreToolCallPayloadH\x00R\vpreToolCall\x12K\n" + "\n" + - "plan_ready\x18\x05 \x01(\v20.pluggableharness.agent.hook.v1.PlanReadyPayloadH\x00R\tplanReady\x12[\n" + - "\x0epost_tool_call\x18\x06 \x01(\v23.pluggableharness.agent.hook.v1.PostToolCallPayloadH\x00R\fpostToolCall\x12Q\n" + + "plan_ready\x18\x05 \x01(\v2*.pluggableharness.hook.v1.PlanReadyPayloadH\x00R\tplanReady\x12U\n" + + "\x0epost_tool_call\x18\x06 \x01(\v2-.pluggableharness.hook.v1.PostToolCallPayloadH\x00R\fpostToolCall\x12K\n" + "\n" + - "post_apply\x18\a \x01(\v20.pluggableharness.agent.hook.v1.PostApplyPayloadH\x00R\tpostApply\x12T\n" + - "\vsession_end\x18\b \x01(\v21.pluggableharness.agent.hook.v1.SessionEndPayloadH\x00R\n" + + "post_apply\x18\a \x01(\v2*.pluggableharness.hook.v1.PostApplyPayloadH\x00R\tpostApply\x12N\n" + + "\vsession_end\x18\b \x01(\v2+.pluggableharness.hook.v1.SessionEndPayloadH\x00R\n" + "sessionEndB\t\n" + "\apayload\"\xc2\x01\n" + "\x13SessionStartPayload\x12\x1d\n" + @@ -1431,55 +1431,55 @@ const file_pluggableharness_agent_hook_v1_hook_proto_rawDesc = "" + "\aprofile\x18\x02 \x01(\tR\aprofile\x12/\n" + "\x11parent_session_id\x18\x03 \x01(\tH\x00R\x0fparentSessionId\x88\x01\x01\x12+\n" + "\x11working_directory\x18\x04 \x01(\tR\x10workingDirectoryB\x14\n" + - "\x12_parent_session_id\"\x9e\x01\n" + - "\x13PreModelCallPayload\x12F\n" + - "\bmessages\x18\x01 \x03(\v2*.pluggableharness.agent.content.v1.MessageR\bmessages\x12?\n" + - "\x05model\x18\x02 \x01(\v2).pluggableharness.agent.model.v1.ModelRefR\x05model\"\xfe\x01\n" + - "\x18PostModelResponsePayload\x12D\n" + - "\amessage\x18\x01 \x01(\v2*.pluggableharness.agent.content.v1.MessageR\amessage\x12C\n" + - "\x05model\x18\x02 \x01(\v2-.pluggableharness.agent.common.v1.ProducerRefR\x05model\x12<\n" + - "\x05usage\x18\x03 \x01(\v2&.pluggableharness.agent.model.v1.UsageR\x05usage\x12\x19\n" + - "\bcost_usd\x18\x04 \x01(\x01R\acostUsd\"\x99\x01\n" + - "\x12PreToolCallPayload\x12<\n" + - "\x04call\x18\x01 \x01(\v2(.pluggableharness.agent.tool.v1.ToolCallR\x04call\x12E\n" + - "\tplan_item\x18\x02 \x01(\v2(.pluggableharness.agent.plan.v1.PlanItemR\bplanItem\"L\n" + - "\x10PlanReadyPayload\x128\n" + - "\x04plan\x18\x01 \x01(\v2$.pluggableharness.agent.plan.v1.PlanR\x04plan\"\xe7\x01\n" + - "\x13PostToolCallPayload\x12<\n" + - "\x04call\x18\x01 \x01(\v2(.pluggableharness.agent.tool.v1.ToolCallR\x04call\x12D\n" + - "\x06result\x18\x02 \x01(\v2*.pluggableharness.agent.tool.v1.ToolResultH\x00R\x06result\x12A\n" + - "\x05error\x18\x03 \x01(\v2).pluggableharness.agent.tool.v1.ToolErrorH\x00R\x05errorB\t\n" + - "\aoutcome\"U\n" + - "\x10PostApplyPayload\x12A\n" + - "\x05apply\x18\x01 \x01(\v2+.pluggableharness.agent.plan.v1.ApplyResultR\x05apply\"|\n" + + "\x12_parent_session_id\"\x92\x01\n" + + "\x13PreModelCallPayload\x12@\n" + + "\bmessages\x18\x01 \x03(\v2$.pluggableharness.content.v1.MessageR\bmessages\x129\n" + + "\x05model\x18\x02 \x01(\v2#.pluggableharness.model.v1.ModelRefR\x05model\"\xec\x01\n" + + "\x18PostModelResponsePayload\x12>\n" + + "\amessage\x18\x01 \x01(\v2$.pluggableharness.content.v1.MessageR\amessage\x12=\n" + + "\x05model\x18\x02 \x01(\v2'.pluggableharness.common.v1.ProducerRefR\x05model\x126\n" + + "\x05usage\x18\x03 \x01(\v2 .pluggableharness.model.v1.UsageR\x05usage\x12\x19\n" + + "\bcost_usd\x18\x04 \x01(\x01R\acostUsd\"\x8d\x01\n" + + "\x12PreToolCallPayload\x126\n" + + "\x04call\x18\x01 \x01(\v2\".pluggableharness.tool.v1.ToolCallR\x04call\x12?\n" + + "\tplan_item\x18\x02 \x01(\v2\".pluggableharness.plan.v1.PlanItemR\bplanItem\"F\n" + + "\x10PlanReadyPayload\x122\n" + + "\x04plan\x18\x01 \x01(\v2\x1e.pluggableharness.plan.v1.PlanR\x04plan\"\xd5\x01\n" + + "\x13PostToolCallPayload\x126\n" + + "\x04call\x18\x01 \x01(\v2\".pluggableharness.tool.v1.ToolCallR\x04call\x12>\n" + + "\x06result\x18\x02 \x01(\v2$.pluggableharness.tool.v1.ToolResultH\x00R\x06result\x12;\n" + + "\x05error\x18\x03 \x01(\v2#.pluggableharness.tool.v1.ToolErrorH\x00R\x05errorB\t\n" + + "\aoutcome\"O\n" + + "\x10PostApplyPayload\x12;\n" + + "\x05apply\x18\x01 \x01(\v2%.pluggableharness.plan.v1.ApplyResultR\x05apply\"v\n" + "\x11SessionEndPayload\x12\x1d\n" + "\n" + - "session_id\x18\x01 \x01(\tR\tsessionId\x12H\n" + - "\x06status\x18\x02 \x01(\x0e20.pluggableharness.agent.session.v1.SessionStatusR\x06status\"\xdc\x01\n" + - "\x13DispatchHookRequest\x12E\n" + - "\apayload\x18\x01 \x01(\v2+.pluggableharness.agent.hook.v1.HookPayloadR\apayload\x12<\n" + - "\x04mode\x18\x02 \x01(\x0e2(.pluggableharness.agent.hook.v1.HookModeR\x04mode\x12,\n" + + "session_id\x18\x01 \x01(\tR\tsessionId\x12B\n" + + "\x06status\x18\x02 \x01(\x0e2*.pluggableharness.session.v1.SessionStatusR\x06status\"\xd0\x01\n" + + "\x13DispatchHookRequest\x12?\n" + + "\apayload\x18\x01 \x01(\v2%.pluggableharness.hook.v1.HookPayloadR\apayload\x126\n" + + "\x04mode\x18\x02 \x01(\x0e2\".pluggableharness.hook.v1.HookModeR\x04mode\x12,\n" + "\x0fsubscription_id\x18\x03 \x01(\tH\x00R\x0esubscriptionId\x88\x01\x01B\x12\n" + - "\x10_subscription_id\"\xfb\x03\n" + - "\x14DispatchHookResponse\x12[\n" + - "\aobserve\x18\x01 \x01(\v2?.pluggableharness.agent.hook.v1.DispatchHookResponse.ObserveAckH\x00R\aobserve\x12d\n" + - "\ttransform\x18\x02 \x01(\v2D.pluggableharness.agent.hook.v1.DispatchHookResponse.TransformResultH\x00R\ttransform\x12U\n" + - "\x04veto\x18\x03 \x01(\v2?.pluggableharness.agent.hook.v1.DispatchHookResponse.VetoResultH\x00R\x04veto\x1a\f\n" + + "\x10_subscription_id\"\xdd\x03\n" + + "\x14DispatchHookResponse\x12U\n" + + "\aobserve\x18\x01 \x01(\v29.pluggableharness.hook.v1.DispatchHookResponse.ObserveAckH\x00R\aobserve\x12^\n" + + "\ttransform\x18\x02 \x01(\v2>.pluggableharness.hook.v1.DispatchHookResponse.TransformResultH\x00R\ttransform\x12O\n" + + "\x04veto\x18\x03 \x01(\v29.pluggableharness.hook.v1.DispatchHookResponse.VetoResultH\x00R\x04veto\x1a\f\n" + "\n" + - "ObserveAck\x1aX\n" + - "\x0fTransformResult\x12E\n" + - "\apayload\x18\x01 \x01(\v2+.pluggableharness.agent.hook.v1.HookPayloadR\apayload\x1aV\n" + + "ObserveAck\x1aR\n" + + "\x0fTransformResult\x12?\n" + + "\apayload\x18\x01 \x01(\v2%.pluggableharness.hook.v1.HookPayloadR\apayload\x1aP\n" + "\n" + - "VetoResult\x12H\n" + - "\bdecision\x18\x01 \x01(\x0e2,.pluggableharness.agent.hook.v1.HookDecisionR\bdecisionB\t\n" + - "\aoutcome\"\xc4\x02\n" + - "\tHookError\x12A\n" + - "\x05point\x18\x01 \x01(\x0e2+.pluggableharness.agent.common.v1.HookPointR\x05point\x12M\n" + + "VetoResult\x12B\n" + + "\bdecision\x18\x01 \x01(\x0e2&.pluggableharness.hook.v1.HookDecisionR\bdecisionB\t\n" + + "\aoutcome\"\xac\x02\n" + + "\tHookError\x12;\n" + + "\x05point\x18\x01 \x01(\x0e2%.pluggableharness.common.v1.HookPointR\x05point\x12G\n" + "\n" + - "subscriber\x18\x02 \x01(\v2-.pluggableharness.agent.common.v1.ProducerRefR\n" + - "subscriber\x12<\n" + - "\x04mode\x18\x03 \x01(\x0e2(.pluggableharness.agent.hook.v1.HookModeR\x04mode\x12M\n" + - "\bcategory\x18\x04 \x01(\x0e21.pluggableharness.agent.hook.v1.HookErrorCategoryR\bcategory\x12\x18\n" + + "subscriber\x18\x02 \x01(\v2'.pluggableharness.common.v1.ProducerRefR\n" + + "subscriber\x126\n" + + "\x04mode\x18\x03 \x01(\x0e2\".pluggableharness.hook.v1.HookModeR\x04mode\x12G\n" + + "\bcategory\x18\x04 \x01(\x0e2+.pluggableharness.hook.v1.HookErrorCategoryR\bcategory\x12\x18\n" + "\amessage\x18\x05 \x01(\tR\amessage*i\n" + "\bHookMode\x12\x19\n" + "\x15HOOK_MODE_UNSPECIFIED\x10\x00\x12\x15\n" + @@ -1497,91 +1497,91 @@ const file_pluggableharness_agent_hook_v1_hook_proto_rawDesc = "" + "\x1bHOOK_ERROR_CATEGORY_TIMEOUT\x10\x03\x12(\n" + "$HOOK_ERROR_CATEGORY_INVALID_RESPONSE\x10\x04\x12'\n" + "#HOOK_ERROR_CATEGORY_PROCESS_CRASHED\x10\x05\x12\x1f\n" + - "\x1bHOOK_ERROR_CATEGORY_UNKNOWN\x10\x062\x92\x01\n" + - "\x15HookSubscriberService\x12y\n" + - "\fDispatchHook\x123.pluggableharness.agent.hook.v1.DispatchHookRequest\x1a4.pluggableharness.agent.hook.v1.DispatchHookResponseB pluggableharness.agent.hook.v1.SessionStartPayload - 5, // 1: pluggableharness.agent.hook.v1.HookPayload.pre_model_call:type_name -> pluggableharness.agent.hook.v1.PreModelCallPayload - 6, // 2: pluggableharness.agent.hook.v1.HookPayload.post_model_response:type_name -> pluggableharness.agent.hook.v1.PostModelResponsePayload - 7, // 3: pluggableharness.agent.hook.v1.HookPayload.pre_tool_call:type_name -> pluggableharness.agent.hook.v1.PreToolCallPayload - 8, // 4: pluggableharness.agent.hook.v1.HookPayload.plan_ready:type_name -> pluggableharness.agent.hook.v1.PlanReadyPayload - 9, // 5: pluggableharness.agent.hook.v1.HookPayload.post_tool_call:type_name -> pluggableharness.agent.hook.v1.PostToolCallPayload - 10, // 6: pluggableharness.agent.hook.v1.HookPayload.post_apply:type_name -> pluggableharness.agent.hook.v1.PostApplyPayload - 11, // 7: pluggableharness.agent.hook.v1.HookPayload.session_end:type_name -> pluggableharness.agent.hook.v1.SessionEndPayload - 18, // 8: pluggableharness.agent.hook.v1.PreModelCallPayload.messages:type_name -> pluggableharness.agent.content.v1.Message - 19, // 9: pluggableharness.agent.hook.v1.PreModelCallPayload.model:type_name -> pluggableharness.agent.model.v1.ModelRef - 18, // 10: pluggableharness.agent.hook.v1.PostModelResponsePayload.message:type_name -> pluggableharness.agent.content.v1.Message - 20, // 11: pluggableharness.agent.hook.v1.PostModelResponsePayload.model:type_name -> pluggableharness.agent.common.v1.ProducerRef - 21, // 12: pluggableharness.agent.hook.v1.PostModelResponsePayload.usage:type_name -> pluggableharness.agent.model.v1.Usage - 22, // 13: pluggableharness.agent.hook.v1.PreToolCallPayload.call:type_name -> pluggableharness.agent.tool.v1.ToolCall - 23, // 14: pluggableharness.agent.hook.v1.PreToolCallPayload.plan_item:type_name -> pluggableharness.agent.plan.v1.PlanItem - 24, // 15: pluggableharness.agent.hook.v1.PlanReadyPayload.plan:type_name -> pluggableharness.agent.plan.v1.Plan - 22, // 16: pluggableharness.agent.hook.v1.PostToolCallPayload.call:type_name -> pluggableharness.agent.tool.v1.ToolCall - 25, // 17: pluggableharness.agent.hook.v1.PostToolCallPayload.result:type_name -> pluggableharness.agent.tool.v1.ToolResult - 26, // 18: pluggableharness.agent.hook.v1.PostToolCallPayload.error:type_name -> pluggableharness.agent.tool.v1.ToolError - 27, // 19: pluggableharness.agent.hook.v1.PostApplyPayload.apply:type_name -> pluggableharness.agent.plan.v1.ApplyResult - 28, // 20: pluggableharness.agent.hook.v1.SessionEndPayload.status:type_name -> pluggableharness.agent.session.v1.SessionStatus - 3, // 21: pluggableharness.agent.hook.v1.DispatchHookRequest.payload:type_name -> pluggableharness.agent.hook.v1.HookPayload - 0, // 22: pluggableharness.agent.hook.v1.DispatchHookRequest.mode:type_name -> pluggableharness.agent.hook.v1.HookMode - 15, // 23: pluggableharness.agent.hook.v1.DispatchHookResponse.observe:type_name -> pluggableharness.agent.hook.v1.DispatchHookResponse.ObserveAck - 16, // 24: pluggableharness.agent.hook.v1.DispatchHookResponse.transform:type_name -> pluggableharness.agent.hook.v1.DispatchHookResponse.TransformResult - 17, // 25: pluggableharness.agent.hook.v1.DispatchHookResponse.veto:type_name -> pluggableharness.agent.hook.v1.DispatchHookResponse.VetoResult - 29, // 26: pluggableharness.agent.hook.v1.HookError.point:type_name -> pluggableharness.agent.common.v1.HookPoint - 20, // 27: pluggableharness.agent.hook.v1.HookError.subscriber:type_name -> pluggableharness.agent.common.v1.ProducerRef - 0, // 28: pluggableharness.agent.hook.v1.HookError.mode:type_name -> pluggableharness.agent.hook.v1.HookMode - 2, // 29: pluggableharness.agent.hook.v1.HookError.category:type_name -> pluggableharness.agent.hook.v1.HookErrorCategory - 3, // 30: pluggableharness.agent.hook.v1.DispatchHookResponse.TransformResult.payload:type_name -> pluggableharness.agent.hook.v1.HookPayload - 1, // 31: pluggableharness.agent.hook.v1.DispatchHookResponse.VetoResult.decision:type_name -> pluggableharness.agent.hook.v1.HookDecision - 12, // 32: pluggableharness.agent.hook.v1.HookSubscriberService.DispatchHook:input_type -> pluggableharness.agent.hook.v1.DispatchHookRequest - 13, // 33: pluggableharness.agent.hook.v1.HookSubscriberService.DispatchHook:output_type -> pluggableharness.agent.hook.v1.DispatchHookResponse + return file_pluggableharness_hook_v1_hook_proto_rawDescData +} + +var file_pluggableharness_hook_v1_hook_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_pluggableharness_hook_v1_hook_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_pluggableharness_hook_v1_hook_proto_goTypes = []any{ + (HookMode)(0), // 0: pluggableharness.hook.v1.HookMode + (HookDecision)(0), // 1: pluggableharness.hook.v1.HookDecision + (HookErrorCategory)(0), // 2: pluggableharness.hook.v1.HookErrorCategory + (*HookPayload)(nil), // 3: pluggableharness.hook.v1.HookPayload + (*SessionStartPayload)(nil), // 4: pluggableharness.hook.v1.SessionStartPayload + (*PreModelCallPayload)(nil), // 5: pluggableharness.hook.v1.PreModelCallPayload + (*PostModelResponsePayload)(nil), // 6: pluggableharness.hook.v1.PostModelResponsePayload + (*PreToolCallPayload)(nil), // 7: pluggableharness.hook.v1.PreToolCallPayload + (*PlanReadyPayload)(nil), // 8: pluggableharness.hook.v1.PlanReadyPayload + (*PostToolCallPayload)(nil), // 9: pluggableharness.hook.v1.PostToolCallPayload + (*PostApplyPayload)(nil), // 10: pluggableharness.hook.v1.PostApplyPayload + (*SessionEndPayload)(nil), // 11: pluggableharness.hook.v1.SessionEndPayload + (*DispatchHookRequest)(nil), // 12: pluggableharness.hook.v1.DispatchHookRequest + (*DispatchHookResponse)(nil), // 13: pluggableharness.hook.v1.DispatchHookResponse + (*HookError)(nil), // 14: pluggableharness.hook.v1.HookError + (*DispatchHookResponse_ObserveAck)(nil), // 15: pluggableharness.hook.v1.DispatchHookResponse.ObserveAck + (*DispatchHookResponse_TransformResult)(nil), // 16: pluggableharness.hook.v1.DispatchHookResponse.TransformResult + (*DispatchHookResponse_VetoResult)(nil), // 17: pluggableharness.hook.v1.DispatchHookResponse.VetoResult + (*v1.Message)(nil), // 18: pluggableharness.content.v1.Message + (*v11.ModelRef)(nil), // 19: pluggableharness.model.v1.ModelRef + (*v12.ProducerRef)(nil), // 20: pluggableharness.common.v1.ProducerRef + (*v11.Usage)(nil), // 21: pluggableharness.model.v1.Usage + (*v13.ToolCall)(nil), // 22: pluggableharness.tool.v1.ToolCall + (*v14.PlanItem)(nil), // 23: pluggableharness.plan.v1.PlanItem + (*v14.Plan)(nil), // 24: pluggableharness.plan.v1.Plan + (*v13.ToolResult)(nil), // 25: pluggableharness.tool.v1.ToolResult + (*v13.ToolError)(nil), // 26: pluggableharness.tool.v1.ToolError + (*v14.ApplyResult)(nil), // 27: pluggableharness.plan.v1.ApplyResult + (v15.SessionStatus)(0), // 28: pluggableharness.session.v1.SessionStatus + (v12.HookPoint)(0), // 29: pluggableharness.common.v1.HookPoint +} +var file_pluggableharness_hook_v1_hook_proto_depIdxs = []int32{ + 4, // 0: pluggableharness.hook.v1.HookPayload.session_start:type_name -> pluggableharness.hook.v1.SessionStartPayload + 5, // 1: pluggableharness.hook.v1.HookPayload.pre_model_call:type_name -> pluggableharness.hook.v1.PreModelCallPayload + 6, // 2: pluggableharness.hook.v1.HookPayload.post_model_response:type_name -> pluggableharness.hook.v1.PostModelResponsePayload + 7, // 3: pluggableharness.hook.v1.HookPayload.pre_tool_call:type_name -> pluggableharness.hook.v1.PreToolCallPayload + 8, // 4: pluggableharness.hook.v1.HookPayload.plan_ready:type_name -> pluggableharness.hook.v1.PlanReadyPayload + 9, // 5: pluggableharness.hook.v1.HookPayload.post_tool_call:type_name -> pluggableharness.hook.v1.PostToolCallPayload + 10, // 6: pluggableharness.hook.v1.HookPayload.post_apply:type_name -> pluggableharness.hook.v1.PostApplyPayload + 11, // 7: pluggableharness.hook.v1.HookPayload.session_end:type_name -> pluggableharness.hook.v1.SessionEndPayload + 18, // 8: pluggableharness.hook.v1.PreModelCallPayload.messages:type_name -> pluggableharness.content.v1.Message + 19, // 9: pluggableharness.hook.v1.PreModelCallPayload.model:type_name -> pluggableharness.model.v1.ModelRef + 18, // 10: pluggableharness.hook.v1.PostModelResponsePayload.message:type_name -> pluggableharness.content.v1.Message + 20, // 11: pluggableharness.hook.v1.PostModelResponsePayload.model:type_name -> pluggableharness.common.v1.ProducerRef + 21, // 12: pluggableharness.hook.v1.PostModelResponsePayload.usage:type_name -> pluggableharness.model.v1.Usage + 22, // 13: pluggableharness.hook.v1.PreToolCallPayload.call:type_name -> pluggableharness.tool.v1.ToolCall + 23, // 14: pluggableharness.hook.v1.PreToolCallPayload.plan_item:type_name -> pluggableharness.plan.v1.PlanItem + 24, // 15: pluggableharness.hook.v1.PlanReadyPayload.plan:type_name -> pluggableharness.plan.v1.Plan + 22, // 16: pluggableharness.hook.v1.PostToolCallPayload.call:type_name -> pluggableharness.tool.v1.ToolCall + 25, // 17: pluggableharness.hook.v1.PostToolCallPayload.result:type_name -> pluggableharness.tool.v1.ToolResult + 26, // 18: pluggableharness.hook.v1.PostToolCallPayload.error:type_name -> pluggableharness.tool.v1.ToolError + 27, // 19: pluggableharness.hook.v1.PostApplyPayload.apply:type_name -> pluggableharness.plan.v1.ApplyResult + 28, // 20: pluggableharness.hook.v1.SessionEndPayload.status:type_name -> pluggableharness.session.v1.SessionStatus + 3, // 21: pluggableharness.hook.v1.DispatchHookRequest.payload:type_name -> pluggableharness.hook.v1.HookPayload + 0, // 22: pluggableharness.hook.v1.DispatchHookRequest.mode:type_name -> pluggableharness.hook.v1.HookMode + 15, // 23: pluggableharness.hook.v1.DispatchHookResponse.observe:type_name -> pluggableharness.hook.v1.DispatchHookResponse.ObserveAck + 16, // 24: pluggableharness.hook.v1.DispatchHookResponse.transform:type_name -> pluggableharness.hook.v1.DispatchHookResponse.TransformResult + 17, // 25: pluggableharness.hook.v1.DispatchHookResponse.veto:type_name -> pluggableharness.hook.v1.DispatchHookResponse.VetoResult + 29, // 26: pluggableharness.hook.v1.HookError.point:type_name -> pluggableharness.common.v1.HookPoint + 20, // 27: pluggableharness.hook.v1.HookError.subscriber:type_name -> pluggableharness.common.v1.ProducerRef + 0, // 28: pluggableharness.hook.v1.HookError.mode:type_name -> pluggableharness.hook.v1.HookMode + 2, // 29: pluggableharness.hook.v1.HookError.category:type_name -> pluggableharness.hook.v1.HookErrorCategory + 3, // 30: pluggableharness.hook.v1.DispatchHookResponse.TransformResult.payload:type_name -> pluggableharness.hook.v1.HookPayload + 1, // 31: pluggableharness.hook.v1.DispatchHookResponse.VetoResult.decision:type_name -> pluggableharness.hook.v1.HookDecision + 12, // 32: pluggableharness.hook.v1.HookSubscriberService.DispatchHook:input_type -> pluggableharness.hook.v1.DispatchHookRequest + 13, // 33: pluggableharness.hook.v1.HookSubscriberService.DispatchHook:output_type -> pluggableharness.hook.v1.DispatchHookResponse 33, // [33:34] is the sub-list for method output_type 32, // [32:33] is the sub-list for method input_type 32, // [32:32] is the sub-list for extension type_name @@ -1589,12 +1589,12 @@ var file_pluggableharness_agent_hook_v1_hook_proto_depIdxs = []int32{ 0, // [0:32] is the sub-list for field type_name } -func init() { file_pluggableharness_agent_hook_v1_hook_proto_init() } -func file_pluggableharness_agent_hook_v1_hook_proto_init() { - if File_pluggableharness_agent_hook_v1_hook_proto != nil { +func init() { file_pluggableharness_hook_v1_hook_proto_init() } +func file_pluggableharness_hook_v1_hook_proto_init() { + if File_pluggableharness_hook_v1_hook_proto != nil { return } - file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[0].OneofWrappers = []any{ + file_pluggableharness_hook_v1_hook_proto_msgTypes[0].OneofWrappers = []any{ (*HookPayload_SessionStart)(nil), (*HookPayload_PreModelCall)(nil), (*HookPayload_PostModelResponse)(nil), @@ -1604,13 +1604,13 @@ func file_pluggableharness_agent_hook_v1_hook_proto_init() { (*HookPayload_PostApply)(nil), (*HookPayload_SessionEnd)(nil), } - file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[1].OneofWrappers = []any{} - file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[6].OneofWrappers = []any{ + file_pluggableharness_hook_v1_hook_proto_msgTypes[1].OneofWrappers = []any{} + file_pluggableharness_hook_v1_hook_proto_msgTypes[6].OneofWrappers = []any{ (*PostToolCallPayload_Result)(nil), (*PostToolCallPayload_Error)(nil), } - file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[9].OneofWrappers = []any{} - file_pluggableharness_agent_hook_v1_hook_proto_msgTypes[10].OneofWrappers = []any{ + file_pluggableharness_hook_v1_hook_proto_msgTypes[9].OneofWrappers = []any{} + file_pluggableharness_hook_v1_hook_proto_msgTypes[10].OneofWrappers = []any{ (*DispatchHookResponse_Observe)(nil), (*DispatchHookResponse_Transform)(nil), (*DispatchHookResponse_Veto)(nil), @@ -1619,18 +1619,18 @@ func file_pluggableharness_agent_hook_v1_hook_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_hook_v1_hook_proto_rawDesc), len(file_pluggableharness_agent_hook_v1_hook_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_hook_v1_hook_proto_rawDesc), len(file_pluggableharness_hook_v1_hook_proto_rawDesc)), NumEnums: 3, NumMessages: 15, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_pluggableharness_agent_hook_v1_hook_proto_goTypes, - DependencyIndexes: file_pluggableharness_agent_hook_v1_hook_proto_depIdxs, - EnumInfos: file_pluggableharness_agent_hook_v1_hook_proto_enumTypes, - MessageInfos: file_pluggableharness_agent_hook_v1_hook_proto_msgTypes, + GoTypes: file_pluggableharness_hook_v1_hook_proto_goTypes, + DependencyIndexes: file_pluggableharness_hook_v1_hook_proto_depIdxs, + EnumInfos: file_pluggableharness_hook_v1_hook_proto_enumTypes, + MessageInfos: file_pluggableharness_hook_v1_hook_proto_msgTypes, }.Build() - File_pluggableharness_agent_hook_v1_hook_proto = out.File - file_pluggableharness_agent_hook_v1_hook_proto_goTypes = nil - file_pluggableharness_agent_hook_v1_hook_proto_depIdxs = nil + File_pluggableharness_hook_v1_hook_proto = out.File + file_pluggableharness_hook_v1_hook_proto_goTypes = nil + file_pluggableharness_hook_v1_hook_proto_depIdxs = nil } diff --git a/pkg/hook/proto/v1/hook_grpc.pb.go b/pkg/hook/proto/v1/hook_grpc.pb.go index bf9328d..3ae8740 100644 --- a/pkg/hook/proto/v1/hook_grpc.pb.go +++ b/pkg/hook/proto/v1/hook_grpc.pb.go @@ -2,9 +2,9 @@ // versions: // - protoc-gen-go-grpc v1.6.2 // - protoc (unknown) -// source: pluggableharness/agent/hook/v1/hook.proto +// source: pluggableharness/hook/v1/hook.proto -// Package pluggableharness.agent.hook.v1 defines the hook-dispatch RPC surface +// Package pluggableharness.hook.v1 defines the hook-dispatch RPC surface // described in agent-loop/hook-dispatch.md and architecture.md §Hook // dispatch semantics: the wire contract the kernel uses to invoke any // plugin (of any of the six categories) that declares a `hook{}` block in @@ -37,7 +37,7 @@ import ( const _ = grpc.SupportPackageIsVersion9 const ( - HookSubscriberService_DispatchHook_FullMethodName = "/pluggableharness.agent.hook.v1.HookSubscriberService/DispatchHook" + HookSubscriberService_DispatchHook_FullMethodName = "/pluggableharness.hook.v1.HookSubscriberService/DispatchHook" ) // HookSubscriberServiceClient is the client API for HookSubscriberService service. @@ -162,7 +162,7 @@ func _HookSubscriberService_DispatchHook_Handler(srv interface{}, ctx context.Co // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) var HookSubscriberService_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "pluggableharness.agent.hook.v1.HookSubscriberService", + ServiceName: "pluggableharness.hook.v1.HookSubscriberService", HandlerType: (*HookSubscriberServiceServer)(nil), Methods: []grpc.MethodDesc{ { @@ -171,5 +171,5 @@ var HookSubscriberService_ServiceDesc = grpc.ServiceDesc{ }, }, Streams: []grpc.StreamDesc{}, - Metadata: "pluggableharness/agent/hook/v1/hook.proto", + Metadata: "pluggableharness/hook/v1/hook.proto", } diff --git a/pkg/kernel/proto/v1/kernel.pb.go b/pkg/kernel/proto/v1/kernel.pb.go index e8585c8..7b58695 100644 --- a/pkg/kernel/proto/v1/kernel.pb.go +++ b/pkg/kernel/proto/v1/kernel.pb.go @@ -2,9 +2,9 @@ // versions: // protoc-gen-go v1.36.11 // protoc (unknown) -// source: pluggableharness/agent/kernel/v1/kernel.proto +// source: pluggableharness/kernel/v1/kernel.proto -// Package pluggableharness.agent.kernel.v1 defines the kernel-callback service described +// Package pluggableharness.kernel.v1 defines the kernel-callback service described // in specifications/kernel-callbacks.md (RunSession, CountTokens, Emit, // Log) — the plugin-to-kernel calling direction every plugin category gets // at handshake, the reverse of every other category's protocol in this @@ -73,7 +73,7 @@ const ( // (agent-loop/hook-dispatch.md#subscriber-error-handling) — never // emitted by a plugin's own Emit call, only by the kernel itself // dispatching a hook. Payload shape is - // pluggableharness.agent.hook.v1.HookError, wrapped by the forthcoming + // pluggableharness.hook.v1.HookError, wrapped by the forthcoming // event.v1 package's HookErrorEvent (state-backend.md §5). EventKind_EVENT_KIND_HOOK_ERROR EventKind = 10 ) @@ -119,11 +119,11 @@ func (x EventKind) String() string { } func (EventKind) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_kernel_v1_kernel_proto_enumTypes[0].Descriptor() + return file_pluggableharness_kernel_v1_kernel_proto_enumTypes[0].Descriptor() } func (EventKind) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_kernel_v1_kernel_proto_enumTypes[0] + return &file_pluggableharness_kernel_v1_kernel_proto_enumTypes[0] } func (x EventKind) Number() protoreflect.EnumNumber { @@ -132,7 +132,7 @@ func (x EventKind) Number() protoreflect.EnumNumber { // Deprecated: Use EventKind.Descriptor instead. func (EventKind) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_kernel_v1_kernel_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_kernel_v1_kernel_proto_rawDescGZIP(), []int{0} } // RunSessionRequest names the sub-agent profile to dispatch and carries @@ -169,7 +169,7 @@ type RunSessionRequest struct { func (x *RunSessionRequest) Reset() { *x = RunSessionRequest{} - mi := &file_pluggableharness_agent_kernel_v1_kernel_proto_msgTypes[0] + mi := &file_pluggableharness_kernel_v1_kernel_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -181,7 +181,7 @@ func (x *RunSessionRequest) String() string { func (*RunSessionRequest) ProtoMessage() {} func (x *RunSessionRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_kernel_v1_kernel_proto_msgTypes[0] + mi := &file_pluggableharness_kernel_v1_kernel_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -194,7 +194,7 @@ func (x *RunSessionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RunSessionRequest.ProtoReflect.Descriptor instead. func (*RunSessionRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_kernel_v1_kernel_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_kernel_v1_kernel_proto_rawDescGZIP(), []int{0} } func (x *RunSessionRequest) GetProfile() string { @@ -254,11 +254,11 @@ type RunSessionResult struct { // The child session's terminal lifecycle status. Never // SESSION_STATUS_RUNNING — a RunSession call only returns once the // child session has reached a terminal state. - Status v12.SessionStatus `protobuf:"varint,3,opt,name=status,proto3,enum=pluggableharness.agent.session.v1.SessionStatus" json:"status,omitempty"` + Status v12.SessionStatus `protobuf:"varint,3,opt,name=status,proto3,enum=pluggableharness.session.v1.SessionStatus" json:"status,omitempty"` // The child session's aggregate cost, in USD, summed across every turn // it ran, including any of its own descendant sub-agent sessions. MUST // be set. Deliberately a flat field, not a - // pluggableharness.agent.model.v1.Usage-shaped reference — this is a + // pluggableharness.model.v1.Usage-shaped reference — this is a // whole-session rollup (state-backend.md's cost_ledger SUM, per // .claude/rules/determinism.md's "Cost and budget rollup"), a different // shape from one completion call's per-call Usage. Lets an orchestrator @@ -280,7 +280,7 @@ type RunSessionResult struct { func (x *RunSessionResult) Reset() { *x = RunSessionResult{} - mi := &file_pluggableharness_agent_kernel_v1_kernel_proto_msgTypes[1] + mi := &file_pluggableharness_kernel_v1_kernel_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -292,7 +292,7 @@ func (x *RunSessionResult) String() string { func (*RunSessionResult) ProtoMessage() {} func (x *RunSessionResult) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_kernel_v1_kernel_proto_msgTypes[1] + mi := &file_pluggableharness_kernel_v1_kernel_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -305,7 +305,7 @@ func (x *RunSessionResult) ProtoReflect() protoreflect.Message { // Deprecated: Use RunSessionResult.ProtoReflect.Descriptor instead. func (*RunSessionResult) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_kernel_v1_kernel_proto_rawDescGZIP(), []int{1} + return file_pluggableharness_kernel_v1_kernel_proto_rawDescGZIP(), []int{1} } func (x *RunSessionResult) GetSessionId() string { @@ -369,7 +369,7 @@ type CountTokensRequest struct { func (x *CountTokensRequest) Reset() { *x = CountTokensRequest{} - mi := &file_pluggableharness_agent_kernel_v1_kernel_proto_msgTypes[2] + mi := &file_pluggableharness_kernel_v1_kernel_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -381,7 +381,7 @@ func (x *CountTokensRequest) String() string { func (*CountTokensRequest) ProtoMessage() {} func (x *CountTokensRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_kernel_v1_kernel_proto_msgTypes[2] + mi := &file_pluggableharness_kernel_v1_kernel_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -394,7 +394,7 @@ func (x *CountTokensRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CountTokensRequest.ProtoReflect.Descriptor instead. func (*CountTokensRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_kernel_v1_kernel_proto_rawDescGZIP(), []int{2} + return file_pluggableharness_kernel_v1_kernel_proto_rawDescGZIP(), []int{2} } func (x *CountTokensRequest) GetContent() []*v11.ContentBlock { @@ -428,7 +428,7 @@ type CountTokensResult struct { func (x *CountTokensResult) Reset() { *x = CountTokensResult{} - mi := &file_pluggableharness_agent_kernel_v1_kernel_proto_msgTypes[3] + mi := &file_pluggableharness_kernel_v1_kernel_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -440,7 +440,7 @@ func (x *CountTokensResult) String() string { func (*CountTokensResult) ProtoMessage() {} func (x *CountTokensResult) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_kernel_v1_kernel_proto_msgTypes[3] + mi := &file_pluggableharness_kernel_v1_kernel_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -453,7 +453,7 @@ func (x *CountTokensResult) ProtoReflect() protoreflect.Message { // Deprecated: Use CountTokensResult.ProtoReflect.Descriptor instead. func (*CountTokensResult) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_kernel_v1_kernel_proto_rawDescGZIP(), []int{3} + return file_pluggableharness_kernel_v1_kernel_proto_rawDescGZIP(), []int{3} } func (x *CountTokensResult) GetCount() int64 { @@ -479,7 +479,7 @@ type EmitRequest struct { // actually invoked for. SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` // The kind of event being emitted. MUST be set. - Kind EventKind `protobuf:"varint,2,opt,name=kind,proto3,enum=pluggableharness.agent.kernel.v1.EventKind" json:"kind,omitempty"` + Kind EventKind `protobuf:"varint,2,opt,name=kind,proto3,enum=pluggableharness.kernel.v1.EventKind" json:"kind,omitempty"` // Versions the shape of `payload`, so a future kernel can still // interpret an old event correctly — the "supersedes" mechanism // described in docs/specifications/architecture.md. MUST be set. @@ -496,7 +496,7 @@ type EmitRequest struct { func (x *EmitRequest) Reset() { *x = EmitRequest{} - mi := &file_pluggableharness_agent_kernel_v1_kernel_proto_msgTypes[4] + mi := &file_pluggableharness_kernel_v1_kernel_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -508,7 +508,7 @@ func (x *EmitRequest) String() string { func (*EmitRequest) ProtoMessage() {} func (x *EmitRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_kernel_v1_kernel_proto_msgTypes[4] + mi := &file_pluggableharness_kernel_v1_kernel_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -521,7 +521,7 @@ func (x *EmitRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EmitRequest.ProtoReflect.Descriptor instead. func (*EmitRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_kernel_v1_kernel_proto_rawDescGZIP(), []int{4} + return file_pluggableharness_kernel_v1_kernel_proto_rawDescGZIP(), []int{4} } func (x *EmitRequest) GetSessionId() string { @@ -566,7 +566,7 @@ type EmitResult struct { func (x *EmitResult) Reset() { *x = EmitResult{} - mi := &file_pluggableharness_agent_kernel_v1_kernel_proto_msgTypes[5] + mi := &file_pluggableharness_kernel_v1_kernel_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -578,7 +578,7 @@ func (x *EmitResult) String() string { func (*EmitResult) ProtoMessage() {} func (x *EmitResult) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_kernel_v1_kernel_proto_msgTypes[5] + mi := &file_pluggableharness_kernel_v1_kernel_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -591,7 +591,7 @@ func (x *EmitResult) ProtoReflect() protoreflect.Message { // Deprecated: Use EmitResult.ProtoReflect.Descriptor instead. func (*EmitResult) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_kernel_v1_kernel_proto_rawDescGZIP(), []int{5} + return file_pluggableharness_kernel_v1_kernel_proto_rawDescGZIP(), []int{5} } func (x *EmitResult) GetId() string { @@ -625,7 +625,7 @@ type LogRequest struct { func (x *LogRequest) Reset() { *x = LogRequest{} - mi := &file_pluggableharness_agent_kernel_v1_kernel_proto_msgTypes[6] + mi := &file_pluggableharness_kernel_v1_kernel_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -637,7 +637,7 @@ func (x *LogRequest) String() string { func (*LogRequest) ProtoMessage() {} func (x *LogRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_kernel_v1_kernel_proto_msgTypes[6] + mi := &file_pluggableharness_kernel_v1_kernel_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -650,7 +650,7 @@ func (x *LogRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use LogRequest.ProtoReflect.Descriptor instead. func (*LogRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_kernel_v1_kernel_proto_rawDescGZIP(), []int{6} + return file_pluggableharness_kernel_v1_kernel_proto_rawDescGZIP(), []int{6} } func (x *LogRequest) GetSessionId() string { @@ -677,7 +677,7 @@ type LogResult struct { func (x *LogResult) Reset() { *x = LogResult{} - mi := &file_pluggableharness_agent_kernel_v1_kernel_proto_msgTypes[7] + mi := &file_pluggableharness_kernel_v1_kernel_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -689,7 +689,7 @@ func (x *LogResult) String() string { func (*LogResult) ProtoMessage() {} func (x *LogResult) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_kernel_v1_kernel_proto_msgTypes[7] + mi := &file_pluggableharness_kernel_v1_kernel_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -702,52 +702,52 @@ func (x *LogResult) ProtoReflect() protoreflect.Message { // Deprecated: Use LogResult.ProtoReflect.Descriptor instead. func (*LogResult) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_kernel_v1_kernel_proto_rawDescGZIP(), []int{7} + return file_pluggableharness_kernel_v1_kernel_proto_rawDescGZIP(), []int{7} } -var File_pluggableharness_agent_kernel_v1_kernel_proto protoreflect.FileDescriptor +var File_pluggableharness_kernel_v1_kernel_proto protoreflect.FileDescriptor -const file_pluggableharness_agent_kernel_v1_kernel_proto_rawDesc = "" + +const file_pluggableharness_kernel_v1_kernel_proto_rawDesc = "" + "\n" + - "-pluggableharness/agent/kernel/v1/kernel.proto\x12 pluggableharness.agent.kernel.v1\x1a-pluggableharness/agent/common/v1/common.proto\x1a/pluggableharness/agent/content/v1/content.proto\x1a'pluggableharness/agent/log/v1/log.proto\x1a+pluggableharness/agent/model/v1/model.proto\x1a/pluggableharness/agent/session/v1/session.proto\"\xaf\x02\n" + + "'pluggableharness/kernel/v1/kernel.proto\x12\x1apluggableharness.kernel.v1\x1a'pluggableharness/common/v1/common.proto\x1a)pluggableharness/content/v1/content.proto\x1a!pluggableharness/log/v1/log.proto\x1a%pluggableharness/model/v1/model.proto\x1a)pluggableharness/session/v1/session.proto\"\xa9\x02\n" + "\x11RunSessionRequest\x12\x18\n" + "\aprofile\x18\x01 \x01(\tR\aprofile\x12\x16\n" + "\x06prompt\x18\x02 \x01(\tR\x06prompt\x12*\n" + "\x11parent_session_id\x18\x03 \x01(\tR\x0fparentSessionId\x12'\n" + "\x0fremaining_depth\x18\x04 \x01(\x05R\x0eremainingDepth\x129\n" + - "\x19remaining_cost_budget_usd\x18\x05 \x01(\x01R\x16remainingCostBudgetUsd\x12X\n" + - "\x10scoped_providers\x18\x06 \x03(\v2-.pluggableharness.agent.common.v1.ProviderRefR\x0fscopedProviders\"\xd0\x02\n" + + "\x19remaining_cost_budget_usd\x18\x05 \x01(\x01R\x16remainingCostBudgetUsd\x12R\n" + + "\x10scoped_providers\x18\x06 \x03(\v2'.pluggableharness.common.v1.ProviderRefR\x0fscopedProviders\"\xc4\x02\n" + "\x10RunSessionResult\x12\x1d\n" + "\n" + - "session_id\x18\x01 \x01(\tR\tsessionId\x12O\n" + - "\rfinal_message\x18\x02 \x01(\v2*.pluggableharness.agent.content.v1.MessageR\ffinalMessage\x12H\n" + - "\x06status\x18\x03 \x01(\x0e20.pluggableharness.agent.session.v1.SessionStatusR\x06status\x12$\n" + + "session_id\x18\x01 \x01(\tR\tsessionId\x12I\n" + + "\rfinal_message\x18\x02 \x01(\v2$.pluggableharness.content.v1.MessageR\ffinalMessage\x12B\n" + + "\x06status\x18\x03 \x01(\x0e2*.pluggableharness.session.v1.SessionStatusR\x06status\x12$\n" + "\x0etotal_cost_usd\x18\x04 \x01(\x01R\ftotalCostUsd\x12,\n" + "\x12total_input_tokens\x18\x05 \x01(\x03R\x10totalInputTokens\x12.\n" + - "\x13total_output_tokens\x18\x06 \x01(\x03R\x11totalOutputTokens\"\xba\x01\n" + - "\x12CountTokensRequest\x12I\n" + - "\acontent\x18\x01 \x03(\v2/.pluggableharness.agent.content.v1.ContentBlockR\acontent\x12K\n" + - "\tmodel_ref\x18\x02 \x01(\v2).pluggableharness.agent.model.v1.ModelRefH\x00R\bmodelRef\x88\x01\x01B\f\n" + + "\x13total_output_tokens\x18\x06 \x01(\x03R\x11totalOutputTokens\"\xae\x01\n" + + "\x12CountTokensRequest\x12C\n" + + "\acontent\x18\x01 \x03(\v2).pluggableharness.content.v1.ContentBlockR\acontent\x12E\n" + + "\tmodel_ref\x18\x02 \x01(\v2#.pluggableharness.model.v1.ModelRefH\x00R\bmodelRef\x88\x01\x01B\f\n" + "\n" + "_model_ref\"?\n" + "\x11CountTokensResult\x12\x14\n" + "\x05count\x18\x01 \x01(\x03R\x05count\x12\x14\n" + - "\x05exact\x18\x02 \x01(\bR\x05exact\"\xae\x01\n" + + "\x05exact\x18\x02 \x01(\bR\x05exact\"\xa8\x01\n" + "\vEmitRequest\x12\x1d\n" + "\n" + - "session_id\x18\x01 \x01(\tR\tsessionId\x12?\n" + - "\x04kind\x18\x02 \x01(\x0e2+.pluggableharness.agent.kernel.v1.EventKindR\x04kind\x12%\n" + + "session_id\x18\x01 \x01(\tR\tsessionId\x129\n" + + "\x04kind\x18\x02 \x01(\x0e2%.pluggableharness.kernel.v1.EventKindR\x04kind\x12%\n" + "\x0eschema_version\x18\x03 \x01(\tR\rschemaVersion\x12\x18\n" + "\apayload\x18\x04 \x01(\fR\apayload\"8\n" + "\n" + "EmitResult\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1a\n" + - "\bsequence\x18\x02 \x01(\x03R\bsequence\"~\n" + + "\bsequence\x18\x02 \x01(\x03R\bsequence\"x\n" + "\n" + "LogRequest\x12\"\n" + "\n" + - "session_id\x18\x01 \x01(\tH\x00R\tsessionId\x88\x01\x01\x12=\n" + - "\x05entry\x18\x02 \x01(\v2'.pluggableharness.agent.log.v1.LogEntryR\x05entryB\r\n" + + "session_id\x18\x01 \x01(\tH\x00R\tsessionId\x88\x01\x01\x127\n" + + "\x05entry\x18\x02 \x01(\v2!.pluggableharness.log.v1.LogEntryR\x05entryB\r\n" + "\v_session_id\"\v\n" + "\tLogResult*\xb9\x02\n" + "\tEventKind\x12\x1a\n" + @@ -762,61 +762,61 @@ const file_pluggableharness_agent_kernel_v1_kernel_proto_rawDesc = "" + "\x18EVENT_KIND_MEMORY_UPDATE\x10\b\x12\x1c\n" + "\x18EVENT_KIND_MEMORY_DELETE\x10\t\x12\x19\n" + "\x15EVENT_KIND_HOOK_ERROR\x10\n" + - "2\xcf\x03\n" + - "\x15KernelCallbackService\x12u\n" + + "2\x9f\x03\n" + + "\x15KernelCallbackService\x12i\n" + "\n" + - "RunSession\x123.pluggableharness.agent.kernel.v1.RunSessionRequest\x1a2.pluggableharness.agent.kernel.v1.RunSessionResult\x12x\n" + - "\vCountTokens\x124.pluggableharness.agent.kernel.v1.CountTokensRequest\x1a3.pluggableharness.agent.kernel.v1.CountTokensResult\x12c\n" + - "\x04Emit\x12-.pluggableharness.agent.kernel.v1.EmitRequest\x1a,.pluggableharness.agent.kernel.v1.EmitResult\x12`\n" + - "\x03Log\x12,.pluggableharness.agent.kernel.v1.LogRequest\x1a+.pluggableharness.agent.kernel.v1.LogResultB@Z>github.com/pluggableharness/agent/pkg/kernel/proto/v1;kernelv1b\x06proto3" + "RunSession\x12-.pluggableharness.kernel.v1.RunSessionRequest\x1a,.pluggableharness.kernel.v1.RunSessionResult\x12l\n" + + "\vCountTokens\x12..pluggableharness.kernel.v1.CountTokensRequest\x1a-.pluggableharness.kernel.v1.CountTokensResult\x12W\n" + + "\x04Emit\x12'.pluggableharness.kernel.v1.EmitRequest\x1a&.pluggableharness.kernel.v1.EmitResult\x12T\n" + + "\x03Log\x12&.pluggableharness.kernel.v1.LogRequest\x1a%.pluggableharness.kernel.v1.LogResultB@Z>github.com/pluggableharness/agent/pkg/kernel/proto/v1;kernelv1b\x06proto3" var ( - file_pluggableharness_agent_kernel_v1_kernel_proto_rawDescOnce sync.Once - file_pluggableharness_agent_kernel_v1_kernel_proto_rawDescData []byte + file_pluggableharness_kernel_v1_kernel_proto_rawDescOnce sync.Once + file_pluggableharness_kernel_v1_kernel_proto_rawDescData []byte ) -func file_pluggableharness_agent_kernel_v1_kernel_proto_rawDescGZIP() []byte { - file_pluggableharness_agent_kernel_v1_kernel_proto_rawDescOnce.Do(func() { - file_pluggableharness_agent_kernel_v1_kernel_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_kernel_v1_kernel_proto_rawDesc), len(file_pluggableharness_agent_kernel_v1_kernel_proto_rawDesc))) +func file_pluggableharness_kernel_v1_kernel_proto_rawDescGZIP() []byte { + file_pluggableharness_kernel_v1_kernel_proto_rawDescOnce.Do(func() { + file_pluggableharness_kernel_v1_kernel_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pluggableharness_kernel_v1_kernel_proto_rawDesc), len(file_pluggableharness_kernel_v1_kernel_proto_rawDesc))) }) - return file_pluggableharness_agent_kernel_v1_kernel_proto_rawDescData -} - -var file_pluggableharness_agent_kernel_v1_kernel_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_pluggableharness_agent_kernel_v1_kernel_proto_msgTypes = make([]protoimpl.MessageInfo, 8) -var file_pluggableharness_agent_kernel_v1_kernel_proto_goTypes = []any{ - (EventKind)(0), // 0: pluggableharness.agent.kernel.v1.EventKind - (*RunSessionRequest)(nil), // 1: pluggableharness.agent.kernel.v1.RunSessionRequest - (*RunSessionResult)(nil), // 2: pluggableharness.agent.kernel.v1.RunSessionResult - (*CountTokensRequest)(nil), // 3: pluggableharness.agent.kernel.v1.CountTokensRequest - (*CountTokensResult)(nil), // 4: pluggableharness.agent.kernel.v1.CountTokensResult - (*EmitRequest)(nil), // 5: pluggableharness.agent.kernel.v1.EmitRequest - (*EmitResult)(nil), // 6: pluggableharness.agent.kernel.v1.EmitResult - (*LogRequest)(nil), // 7: pluggableharness.agent.kernel.v1.LogRequest - (*LogResult)(nil), // 8: pluggableharness.agent.kernel.v1.LogResult - (*v1.ProviderRef)(nil), // 9: pluggableharness.agent.common.v1.ProviderRef - (*v11.Message)(nil), // 10: pluggableharness.agent.content.v1.Message - (v12.SessionStatus)(0), // 11: pluggableharness.agent.session.v1.SessionStatus - (*v11.ContentBlock)(nil), // 12: pluggableharness.agent.content.v1.ContentBlock - (*v13.ModelRef)(nil), // 13: pluggableharness.agent.model.v1.ModelRef - (*v14.LogEntry)(nil), // 14: pluggableharness.agent.log.v1.LogEntry -} -var file_pluggableharness_agent_kernel_v1_kernel_proto_depIdxs = []int32{ - 9, // 0: pluggableharness.agent.kernel.v1.RunSessionRequest.scoped_providers:type_name -> pluggableharness.agent.common.v1.ProviderRef - 10, // 1: pluggableharness.agent.kernel.v1.RunSessionResult.final_message:type_name -> pluggableharness.agent.content.v1.Message - 11, // 2: pluggableharness.agent.kernel.v1.RunSessionResult.status:type_name -> pluggableharness.agent.session.v1.SessionStatus - 12, // 3: pluggableharness.agent.kernel.v1.CountTokensRequest.content:type_name -> pluggableharness.agent.content.v1.ContentBlock - 13, // 4: pluggableharness.agent.kernel.v1.CountTokensRequest.model_ref:type_name -> pluggableharness.agent.model.v1.ModelRef - 0, // 5: pluggableharness.agent.kernel.v1.EmitRequest.kind:type_name -> pluggableharness.agent.kernel.v1.EventKind - 14, // 6: pluggableharness.agent.kernel.v1.LogRequest.entry:type_name -> pluggableharness.agent.log.v1.LogEntry - 1, // 7: pluggableharness.agent.kernel.v1.KernelCallbackService.RunSession:input_type -> pluggableharness.agent.kernel.v1.RunSessionRequest - 3, // 8: pluggableharness.agent.kernel.v1.KernelCallbackService.CountTokens:input_type -> pluggableharness.agent.kernel.v1.CountTokensRequest - 5, // 9: pluggableharness.agent.kernel.v1.KernelCallbackService.Emit:input_type -> pluggableharness.agent.kernel.v1.EmitRequest - 7, // 10: pluggableharness.agent.kernel.v1.KernelCallbackService.Log:input_type -> pluggableharness.agent.kernel.v1.LogRequest - 2, // 11: pluggableharness.agent.kernel.v1.KernelCallbackService.RunSession:output_type -> pluggableharness.agent.kernel.v1.RunSessionResult - 4, // 12: pluggableharness.agent.kernel.v1.KernelCallbackService.CountTokens:output_type -> pluggableharness.agent.kernel.v1.CountTokensResult - 6, // 13: pluggableharness.agent.kernel.v1.KernelCallbackService.Emit:output_type -> pluggableharness.agent.kernel.v1.EmitResult - 8, // 14: pluggableharness.agent.kernel.v1.KernelCallbackService.Log:output_type -> pluggableharness.agent.kernel.v1.LogResult + return file_pluggableharness_kernel_v1_kernel_proto_rawDescData +} + +var file_pluggableharness_kernel_v1_kernel_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_pluggableharness_kernel_v1_kernel_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_pluggableharness_kernel_v1_kernel_proto_goTypes = []any{ + (EventKind)(0), // 0: pluggableharness.kernel.v1.EventKind + (*RunSessionRequest)(nil), // 1: pluggableharness.kernel.v1.RunSessionRequest + (*RunSessionResult)(nil), // 2: pluggableharness.kernel.v1.RunSessionResult + (*CountTokensRequest)(nil), // 3: pluggableharness.kernel.v1.CountTokensRequest + (*CountTokensResult)(nil), // 4: pluggableharness.kernel.v1.CountTokensResult + (*EmitRequest)(nil), // 5: pluggableharness.kernel.v1.EmitRequest + (*EmitResult)(nil), // 6: pluggableharness.kernel.v1.EmitResult + (*LogRequest)(nil), // 7: pluggableharness.kernel.v1.LogRequest + (*LogResult)(nil), // 8: pluggableharness.kernel.v1.LogResult + (*v1.ProviderRef)(nil), // 9: pluggableharness.common.v1.ProviderRef + (*v11.Message)(nil), // 10: pluggableharness.content.v1.Message + (v12.SessionStatus)(0), // 11: pluggableharness.session.v1.SessionStatus + (*v11.ContentBlock)(nil), // 12: pluggableharness.content.v1.ContentBlock + (*v13.ModelRef)(nil), // 13: pluggableharness.model.v1.ModelRef + (*v14.LogEntry)(nil), // 14: pluggableharness.log.v1.LogEntry +} +var file_pluggableharness_kernel_v1_kernel_proto_depIdxs = []int32{ + 9, // 0: pluggableharness.kernel.v1.RunSessionRequest.scoped_providers:type_name -> pluggableharness.common.v1.ProviderRef + 10, // 1: pluggableharness.kernel.v1.RunSessionResult.final_message:type_name -> pluggableharness.content.v1.Message + 11, // 2: pluggableharness.kernel.v1.RunSessionResult.status:type_name -> pluggableharness.session.v1.SessionStatus + 12, // 3: pluggableharness.kernel.v1.CountTokensRequest.content:type_name -> pluggableharness.content.v1.ContentBlock + 13, // 4: pluggableharness.kernel.v1.CountTokensRequest.model_ref:type_name -> pluggableharness.model.v1.ModelRef + 0, // 5: pluggableharness.kernel.v1.EmitRequest.kind:type_name -> pluggableharness.kernel.v1.EventKind + 14, // 6: pluggableharness.kernel.v1.LogRequest.entry:type_name -> pluggableharness.log.v1.LogEntry + 1, // 7: pluggableharness.kernel.v1.KernelCallbackService.RunSession:input_type -> pluggableharness.kernel.v1.RunSessionRequest + 3, // 8: pluggableharness.kernel.v1.KernelCallbackService.CountTokens:input_type -> pluggableharness.kernel.v1.CountTokensRequest + 5, // 9: pluggableharness.kernel.v1.KernelCallbackService.Emit:input_type -> pluggableharness.kernel.v1.EmitRequest + 7, // 10: pluggableharness.kernel.v1.KernelCallbackService.Log:input_type -> pluggableharness.kernel.v1.LogRequest + 2, // 11: pluggableharness.kernel.v1.KernelCallbackService.RunSession:output_type -> pluggableharness.kernel.v1.RunSessionResult + 4, // 12: pluggableharness.kernel.v1.KernelCallbackService.CountTokens:output_type -> pluggableharness.kernel.v1.CountTokensResult + 6, // 13: pluggableharness.kernel.v1.KernelCallbackService.Emit:output_type -> pluggableharness.kernel.v1.EmitResult + 8, // 14: pluggableharness.kernel.v1.KernelCallbackService.Log:output_type -> pluggableharness.kernel.v1.LogResult 11, // [11:15] is the sub-list for method output_type 7, // [7:11] is the sub-list for method input_type 7, // [7:7] is the sub-list for extension type_name @@ -824,29 +824,29 @@ var file_pluggableharness_agent_kernel_v1_kernel_proto_depIdxs = []int32{ 0, // [0:7] is the sub-list for field type_name } -func init() { file_pluggableharness_agent_kernel_v1_kernel_proto_init() } -func file_pluggableharness_agent_kernel_v1_kernel_proto_init() { - if File_pluggableharness_agent_kernel_v1_kernel_proto != nil { +func init() { file_pluggableharness_kernel_v1_kernel_proto_init() } +func file_pluggableharness_kernel_v1_kernel_proto_init() { + if File_pluggableharness_kernel_v1_kernel_proto != nil { return } - file_pluggableharness_agent_kernel_v1_kernel_proto_msgTypes[2].OneofWrappers = []any{} - file_pluggableharness_agent_kernel_v1_kernel_proto_msgTypes[6].OneofWrappers = []any{} + file_pluggableharness_kernel_v1_kernel_proto_msgTypes[2].OneofWrappers = []any{} + file_pluggableharness_kernel_v1_kernel_proto_msgTypes[6].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_kernel_v1_kernel_proto_rawDesc), len(file_pluggableharness_agent_kernel_v1_kernel_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_kernel_v1_kernel_proto_rawDesc), len(file_pluggableharness_kernel_v1_kernel_proto_rawDesc)), NumEnums: 1, NumMessages: 8, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_pluggableharness_agent_kernel_v1_kernel_proto_goTypes, - DependencyIndexes: file_pluggableharness_agent_kernel_v1_kernel_proto_depIdxs, - EnumInfos: file_pluggableharness_agent_kernel_v1_kernel_proto_enumTypes, - MessageInfos: file_pluggableharness_agent_kernel_v1_kernel_proto_msgTypes, + GoTypes: file_pluggableharness_kernel_v1_kernel_proto_goTypes, + DependencyIndexes: file_pluggableharness_kernel_v1_kernel_proto_depIdxs, + EnumInfos: file_pluggableharness_kernel_v1_kernel_proto_enumTypes, + MessageInfos: file_pluggableharness_kernel_v1_kernel_proto_msgTypes, }.Build() - File_pluggableharness_agent_kernel_v1_kernel_proto = out.File - file_pluggableharness_agent_kernel_v1_kernel_proto_goTypes = nil - file_pluggableharness_agent_kernel_v1_kernel_proto_depIdxs = nil + File_pluggableharness_kernel_v1_kernel_proto = out.File + file_pluggableharness_kernel_v1_kernel_proto_goTypes = nil + file_pluggableharness_kernel_v1_kernel_proto_depIdxs = nil } diff --git a/pkg/kernel/proto/v1/kernel_grpc.pb.go b/pkg/kernel/proto/v1/kernel_grpc.pb.go index 2afeb05..827e213 100644 --- a/pkg/kernel/proto/v1/kernel_grpc.pb.go +++ b/pkg/kernel/proto/v1/kernel_grpc.pb.go @@ -2,9 +2,9 @@ // versions: // - protoc-gen-go-grpc v1.6.2 // - protoc (unknown) -// source: pluggableharness/agent/kernel/v1/kernel.proto +// source: pluggableharness/kernel/v1/kernel.proto -// Package pluggableharness.agent.kernel.v1 defines the kernel-callback service described +// Package pluggableharness.kernel.v1 defines the kernel-callback service described // in specifications/kernel-callbacks.md (RunSession, CountTokens, Emit, // Log) — the plugin-to-kernel calling direction every plugin category gets // at handshake, the reverse of every other category's protocol in this @@ -28,10 +28,10 @@ import ( const _ = grpc.SupportPackageIsVersion9 const ( - KernelCallbackService_RunSession_FullMethodName = "/pluggableharness.agent.kernel.v1.KernelCallbackService/RunSession" - KernelCallbackService_CountTokens_FullMethodName = "/pluggableharness.agent.kernel.v1.KernelCallbackService/CountTokens" - KernelCallbackService_Emit_FullMethodName = "/pluggableharness.agent.kernel.v1.KernelCallbackService/Emit" - KernelCallbackService_Log_FullMethodName = "/pluggableharness.agent.kernel.v1.KernelCallbackService/Log" + KernelCallbackService_RunSession_FullMethodName = "/pluggableharness.kernel.v1.KernelCallbackService/RunSession" + KernelCallbackService_CountTokens_FullMethodName = "/pluggableharness.kernel.v1.KernelCallbackService/CountTokens" + KernelCallbackService_Emit_FullMethodName = "/pluggableharness.kernel.v1.KernelCallbackService/Emit" + KernelCallbackService_Log_FullMethodName = "/pluggableharness.kernel.v1.KernelCallbackService/Log" ) // KernelCallbackServiceClient is the client API for KernelCallbackService service. @@ -321,7 +321,7 @@ func _KernelCallbackService_Log_Handler(srv interface{}, ctx context.Context, de // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) var KernelCallbackService_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "pluggableharness.agent.kernel.v1.KernelCallbackService", + ServiceName: "pluggableharness.kernel.v1.KernelCallbackService", HandlerType: (*KernelCallbackServiceServer)(nil), Methods: []grpc.MethodDesc{ { @@ -342,5 +342,5 @@ var KernelCallbackService_ServiceDesc = grpc.ServiceDesc{ }, }, Streams: []grpc.StreamDesc{}, - Metadata: "pluggableharness/agent/kernel/v1/kernel.proto", + Metadata: "pluggableharness/kernel/v1/kernel.proto", } diff --git a/pkg/log/proto/v1/log.pb.go b/pkg/log/proto/v1/log.pb.go index d0e823e..0b18c85 100644 --- a/pkg/log/proto/v1/log.pb.go +++ b/pkg/log/proto/v1/log.pb.go @@ -2,12 +2,12 @@ // versions: // protoc-gen-go v1.36.11 // protoc (unknown) -// source: pluggableharness/agent/log/v1/log.proto +// source: pluggableharness/log/v1/log.proto -// Package pluggableharness.agent.log.v1 defines the structured log entry types described +// Package pluggableharness.log.v1 defines the structured log entry types described // in specifications/kernel-callbacks.md §5 — how a plugin's own log output // reaches the kernel's centralized logging instead of vanishing into an -// unread subprocess stderr. Consumed by pluggableharness.agent.kernel.v1's Log RPC +// unread subprocess stderr. Consumed by pluggableharness.kernel.v1's Log RPC // (KernelCallbackService), the plugin-to-kernel calling channel every // plugin gets at handshake. @@ -85,11 +85,11 @@ func (x LogLevel) String() string { } func (LogLevel) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_log_v1_log_proto_enumTypes[0].Descriptor() + return file_pluggableharness_log_v1_log_proto_enumTypes[0].Descriptor() } func (LogLevel) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_log_v1_log_proto_enumTypes[0] + return &file_pluggableharness_log_v1_log_proto_enumTypes[0] } func (x LogLevel) Number() protoreflect.EnumNumber { @@ -98,7 +98,7 @@ func (x LogLevel) Number() protoreflect.EnumNumber { // Deprecated: Use LogLevel.Descriptor instead. func (LogLevel) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_log_v1_log_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_log_v1_log_proto_rawDescGZIP(), []int{0} } // LogEntry is one structured log line, mirroring Go's log/slog record @@ -107,7 +107,7 @@ func (LogLevel) EnumDescriptor() ([]byte, []int) { type LogEntry struct { state protoimpl.MessageState `protogen:"open.v1"` // This entry's severity. MUST be set. - Level LogLevel `protobuf:"varint,1,opt,name=level,proto3,enum=pluggableharness.agent.log.v1.LogLevel" json:"level,omitempty"` + Level LogLevel `protobuf:"varint,1,opt,name=level,proto3,enum=pluggableharness.log.v1.LogLevel" json:"level,omitempty"` // A dotted sub-component name within the plugin, e.g. "anthropic.retry", // mirroring slog's logger-naming convention. MAY be empty (the plugin's // root/unnamed logger). @@ -128,7 +128,7 @@ type LogEntry struct { func (x *LogEntry) Reset() { *x = LogEntry{} - mi := &file_pluggableharness_agent_log_v1_log_proto_msgTypes[0] + mi := &file_pluggableharness_log_v1_log_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -140,7 +140,7 @@ func (x *LogEntry) String() string { func (*LogEntry) ProtoMessage() {} func (x *LogEntry) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_log_v1_log_proto_msgTypes[0] + mi := &file_pluggableharness_log_v1_log_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -153,7 +153,7 @@ func (x *LogEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use LogEntry.ProtoReflect.Descriptor instead. func (*LogEntry) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_log_v1_log_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_log_v1_log_proto_rawDescGZIP(), []int{0} } func (x *LogEntry) GetLevel() LogLevel { @@ -191,13 +191,13 @@ func (x *LogEntry) GetTime() *timestamppb.Timestamp { return nil } -var File_pluggableharness_agent_log_v1_log_proto protoreflect.FileDescriptor +var File_pluggableharness_log_v1_log_proto protoreflect.FileDescriptor -const file_pluggableharness_agent_log_v1_log_proto_rawDesc = "" + +const file_pluggableharness_log_v1_log_proto_rawDesc = "" + "\n" + - "'pluggableharness/agent/log/v1/log.proto\x12\x1dpluggableharness.agent.log.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xdc\x01\n" + - "\bLogEntry\x12=\n" + - "\x05level\x18\x01 \x01(\x0e2'.pluggableharness.agent.log.v1.LogLevelR\x05level\x12\x16\n" + + "!pluggableharness/log/v1/log.proto\x12\x17pluggableharness.log.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xd6\x01\n" + + "\bLogEntry\x127\n" + + "\x05level\x18\x01 \x01(\x0e2!.pluggableharness.log.v1.LogLevelR\x05level\x12\x16\n" + "\x06logger\x18\x02 \x01(\tR\x06logger\x12\x18\n" + "\amessage\x18\x03 \x01(\tR\amessage\x12/\n" + "\x06fields\x18\x04 \x01(\v2\x17.google.protobuf.StructR\x06fields\x12.\n" + @@ -212,29 +212,29 @@ const file_pluggableharness_agent_log_v1_log_proto_rawDesc = "" + "\x0fLOG_LEVEL_FATAL\x10\x06B:Z8github.com/pluggableharness/agent/pkg/log/proto/v1;logv1b\x06proto3" var ( - file_pluggableharness_agent_log_v1_log_proto_rawDescOnce sync.Once - file_pluggableharness_agent_log_v1_log_proto_rawDescData []byte + file_pluggableharness_log_v1_log_proto_rawDescOnce sync.Once + file_pluggableharness_log_v1_log_proto_rawDescData []byte ) -func file_pluggableharness_agent_log_v1_log_proto_rawDescGZIP() []byte { - file_pluggableharness_agent_log_v1_log_proto_rawDescOnce.Do(func() { - file_pluggableharness_agent_log_v1_log_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_log_v1_log_proto_rawDesc), len(file_pluggableharness_agent_log_v1_log_proto_rawDesc))) +func file_pluggableharness_log_v1_log_proto_rawDescGZIP() []byte { + file_pluggableharness_log_v1_log_proto_rawDescOnce.Do(func() { + file_pluggableharness_log_v1_log_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pluggableharness_log_v1_log_proto_rawDesc), len(file_pluggableharness_log_v1_log_proto_rawDesc))) }) - return file_pluggableharness_agent_log_v1_log_proto_rawDescData + return file_pluggableharness_log_v1_log_proto_rawDescData } -var file_pluggableharness_agent_log_v1_log_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_pluggableharness_agent_log_v1_log_proto_msgTypes = make([]protoimpl.MessageInfo, 1) -var file_pluggableharness_agent_log_v1_log_proto_goTypes = []any{ - (LogLevel)(0), // 0: pluggableharness.agent.log.v1.LogLevel - (*LogEntry)(nil), // 1: pluggableharness.agent.log.v1.LogEntry +var file_pluggableharness_log_v1_log_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_pluggableharness_log_v1_log_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_pluggableharness_log_v1_log_proto_goTypes = []any{ + (LogLevel)(0), // 0: pluggableharness.log.v1.LogLevel + (*LogEntry)(nil), // 1: pluggableharness.log.v1.LogEntry (*structpb.Struct)(nil), // 2: google.protobuf.Struct (*timestamppb.Timestamp)(nil), // 3: google.protobuf.Timestamp } -var file_pluggableharness_agent_log_v1_log_proto_depIdxs = []int32{ - 0, // 0: pluggableharness.agent.log.v1.LogEntry.level:type_name -> pluggableharness.agent.log.v1.LogLevel - 2, // 1: pluggableharness.agent.log.v1.LogEntry.fields:type_name -> google.protobuf.Struct - 3, // 2: pluggableharness.agent.log.v1.LogEntry.time:type_name -> google.protobuf.Timestamp +var file_pluggableharness_log_v1_log_proto_depIdxs = []int32{ + 0, // 0: pluggableharness.log.v1.LogEntry.level:type_name -> pluggableharness.log.v1.LogLevel + 2, // 1: pluggableharness.log.v1.LogEntry.fields:type_name -> google.protobuf.Struct + 3, // 2: pluggableharness.log.v1.LogEntry.time:type_name -> google.protobuf.Timestamp 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name @@ -242,27 +242,27 @@ var file_pluggableharness_agent_log_v1_log_proto_depIdxs = []int32{ 0, // [0:3] is the sub-list for field type_name } -func init() { file_pluggableharness_agent_log_v1_log_proto_init() } -func file_pluggableharness_agent_log_v1_log_proto_init() { - if File_pluggableharness_agent_log_v1_log_proto != nil { +func init() { file_pluggableharness_log_v1_log_proto_init() } +func file_pluggableharness_log_v1_log_proto_init() { + if File_pluggableharness_log_v1_log_proto != nil { return } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_log_v1_log_proto_rawDesc), len(file_pluggableharness_agent_log_v1_log_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_log_v1_log_proto_rawDesc), len(file_pluggableharness_log_v1_log_proto_rawDesc)), NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, - GoTypes: file_pluggableharness_agent_log_v1_log_proto_goTypes, - DependencyIndexes: file_pluggableharness_agent_log_v1_log_proto_depIdxs, - EnumInfos: file_pluggableharness_agent_log_v1_log_proto_enumTypes, - MessageInfos: file_pluggableharness_agent_log_v1_log_proto_msgTypes, + GoTypes: file_pluggableharness_log_v1_log_proto_goTypes, + DependencyIndexes: file_pluggableharness_log_v1_log_proto_depIdxs, + EnumInfos: file_pluggableharness_log_v1_log_proto_enumTypes, + MessageInfos: file_pluggableharness_log_v1_log_proto_msgTypes, }.Build() - File_pluggableharness_agent_log_v1_log_proto = out.File - file_pluggableharness_agent_log_v1_log_proto_goTypes = nil - file_pluggableharness_agent_log_v1_log_proto_depIdxs = nil + File_pluggableharness_log_v1_log_proto = out.File + file_pluggableharness_log_v1_log_proto_goTypes = nil + file_pluggableharness_log_v1_log_proto_depIdxs = nil } diff --git a/pkg/memory/proto/v1/memory.pb.go b/pkg/memory/proto/v1/memory.pb.go index 251e5d9..a80f6a4 100644 --- a/pkg/memory/proto/v1/memory.pb.go +++ b/pkg/memory/proto/v1/memory.pb.go @@ -2,9 +2,9 @@ // versions: // protoc-gen-go v1.36.11 // protoc (unknown) -// source: pluggableharness/agent/memory/v1/memory.proto +// source: pluggableharness/memory/v1/memory.proto -// Package pluggableharness.agent.memory.v1 defines the memory provider plugin protocol +// Package pluggableharness.memory.v1 defines the memory provider plugin protocol // described in specifications/memory.md — plugins that persist knowledge // across sessions (the write side) and recall it into future ones (the // read side). A distinct plugin category with its own protocol, not a @@ -93,11 +93,11 @@ func (x MemoryType) String() string { } func (MemoryType) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_memory_v1_memory_proto_enumTypes[0].Descriptor() + return file_pluggableharness_memory_v1_memory_proto_enumTypes[0].Descriptor() } func (MemoryType) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_memory_v1_memory_proto_enumTypes[0] + return &file_pluggableharness_memory_v1_memory_proto_enumTypes[0] } func (x MemoryType) Number() protoreflect.EnumNumber { @@ -106,7 +106,7 @@ func (x MemoryType) Number() protoreflect.EnumNumber { // Deprecated: Use MemoryType.Descriptor instead. func (MemoryType) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{0} } // MemoryScope is the visibility taxonomy a record declares, fixed at the @@ -157,11 +157,11 @@ func (x MemoryScope) String() string { } func (MemoryScope) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_memory_v1_memory_proto_enumTypes[1].Descriptor() + return file_pluggableharness_memory_v1_memory_proto_enumTypes[1].Descriptor() } func (MemoryScope) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_memory_v1_memory_proto_enumTypes[1] + return &file_pluggableharness_memory_v1_memory_proto_enumTypes[1] } func (x MemoryScope) Number() protoreflect.EnumNumber { @@ -170,7 +170,7 @@ func (x MemoryScope) Number() protoreflect.EnumNumber { // Deprecated: Use MemoryScope.Descriptor instead. func (MemoryScope) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{1} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{1} } // RecordStatus distinguishes a fully-persisted record from one awaiting @@ -214,11 +214,11 @@ func (x RecordStatus) String() string { } func (RecordStatus) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_memory_v1_memory_proto_enumTypes[2].Descriptor() + return file_pluggableharness_memory_v1_memory_proto_enumTypes[2].Descriptor() } func (RecordStatus) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_memory_v1_memory_proto_enumTypes[2] + return &file_pluggableharness_memory_v1_memory_proto_enumTypes[2] } func (x RecordStatus) Number() protoreflect.EnumNumber { @@ -227,7 +227,7 @@ func (x RecordStatus) Number() protoreflect.EnumNumber { // Deprecated: Use RecordStatus.Descriptor instead. func (RecordStatus) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{2} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{2} } // MemoryErrorCategory is the structured error taxonomy every MemoryError @@ -296,11 +296,11 @@ func (x MemoryErrorCategory) String() string { } func (MemoryErrorCategory) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_memory_v1_memory_proto_enumTypes[3].Descriptor() + return file_pluggableharness_memory_v1_memory_proto_enumTypes[3].Descriptor() } func (MemoryErrorCategory) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_memory_v1_memory_proto_enumTypes[3] + return &file_pluggableharness_memory_v1_memory_proto_enumTypes[3] } func (x MemoryErrorCategory) Number() protoreflect.EnumNumber { @@ -309,7 +309,7 @@ func (x MemoryErrorCategory) Number() protoreflect.EnumNumber { // Deprecated: Use MemoryErrorCategory.Descriptor instead. func (MemoryErrorCategory) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{3} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{3} } // GetCapabilitiesRequest carries no fields; GetCapabilities takes no @@ -322,7 +322,7 @@ type GetCapabilitiesRequest struct { func (x *GetCapabilitiesRequest) Reset() { *x = GetCapabilitiesRequest{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[0] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -334,7 +334,7 @@ func (x *GetCapabilitiesRequest) String() string { func (*GetCapabilitiesRequest) ProtoMessage() {} func (x *GetCapabilitiesRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[0] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -347,7 +347,7 @@ func (x *GetCapabilitiesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCapabilitiesRequest.ProtoReflect.Descriptor instead. func (*GetCapabilitiesRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{0} } // MemoryCapabilities is this provider's capability advertisement, returned @@ -360,10 +360,10 @@ type MemoryCapabilities struct { DefaultTokenBudget int64 `protobuf:"varint,1,opt,name=default_token_budget,json=defaultTokenBudget,proto3" json:"default_token_budget,omitempty"` // Which MemoryTypes this provider handles. MUST be set; MAY be a subset // of the full MemoryType enum. - SupportedTypes []MemoryType `protobuf:"varint,2,rep,packed,name=supported_types,json=supportedTypes,proto3,enum=pluggableharness.agent.memory.v1.MemoryType" json:"supported_types,omitempty"` + SupportedTypes []MemoryType `protobuf:"varint,2,rep,packed,name=supported_types,json=supportedTypes,proto3,enum=pluggableharness.memory.v1.MemoryType" json:"supported_types,omitempty"` // Which MemoryScopes this provider handles. MUST be set; MAY be a // subset of the full MemoryScope enum (e.g. project-only). - SupportedScopes []MemoryScope `protobuf:"varint,3,rep,packed,name=supported_scopes,json=supportedScopes,proto3,enum=pluggableharness.agent.memory.v1.MemoryScope" json:"supported_scopes,omitempty"` + SupportedScopes []MemoryScope `protobuf:"varint,3,rep,packed,name=supported_scopes,json=supportedScopes,proto3,enum=pluggableharness.memory.v1.MemoryScope" json:"supported_scopes,omitempty"` // Whether this provider implements the ApproveRecord/RejectRecord // ratification pattern (memory.md §8). MUST be set; defaults to false. RatificationSupported bool `protobuf:"varint,4,opt,name=ratification_supported,json=ratificationSupported,proto3" json:"ratification_supported,omitempty"` @@ -383,14 +383,14 @@ type MemoryCapabilities struct { // imports this package's model/tool/plan dependencies, so a category // capability message importing hook.v1 directly would cycle back // through it; common.v1 is the shared leaf package instead. - SupportedHookPoints []v12.HookPoint `protobuf:"varint,7,rep,packed,name=supported_hook_points,json=supportedHookPoints,proto3,enum=pluggableharness.agent.common.v1.HookPoint" json:"supported_hook_points,omitempty"` + SupportedHookPoints []v12.HookPoint `protobuf:"varint,7,rep,packed,name=supported_hook_points,json=supportedHookPoints,proto3,enum=pluggableharness.common.v1.HookPoint" json:"supported_hook_points,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *MemoryCapabilities) Reset() { *x = MemoryCapabilities{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[1] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -402,7 +402,7 @@ func (x *MemoryCapabilities) String() string { func (*MemoryCapabilities) ProtoMessage() {} func (x *MemoryCapabilities) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[1] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -415,7 +415,7 @@ func (x *MemoryCapabilities) ProtoReflect() protoreflect.Message { // Deprecated: Use MemoryCapabilities.ProtoReflect.Descriptor instead. func (*MemoryCapabilities) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{1} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{1} } func (x *MemoryCapabilities) GetDefaultTokenBudget() int64 { @@ -478,7 +478,7 @@ type GetCapabilitiesResponse struct { func (x *GetCapabilitiesResponse) Reset() { *x = GetCapabilitiesResponse{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[2] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -490,7 +490,7 @@ func (x *GetCapabilitiesResponse) String() string { func (*GetCapabilitiesResponse) ProtoMessage() {} func (x *GetCapabilitiesResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[2] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -503,7 +503,7 @@ func (x *GetCapabilitiesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCapabilitiesResponse.ProtoReflect.Descriptor instead. func (*GetCapabilitiesResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{2} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{2} } func (x *GetCapabilitiesResponse) GetCapabilities() *MemoryCapabilities { @@ -530,7 +530,7 @@ type ConfigureRequest struct { func (x *ConfigureRequest) Reset() { *x = ConfigureRequest{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[3] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -542,7 +542,7 @@ func (x *ConfigureRequest) String() string { func (*ConfigureRequest) ProtoMessage() {} func (x *ConfigureRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[3] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -555,7 +555,7 @@ func (x *ConfigureRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigureRequest.ProtoReflect.Descriptor instead. func (*ConfigureRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{3} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{3} } func (x *ConfigureRequest) GetConfig() *structpb.Struct { @@ -576,7 +576,7 @@ type ConfigureResponse struct { func (x *ConfigureResponse) Reset() { *x = ConfigureResponse{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[4] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -588,7 +588,7 @@ func (x *ConfigureResponse) String() string { func (*ConfigureResponse) ProtoMessage() {} func (x *ConfigureResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[4] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -601,7 +601,7 @@ func (x *ConfigureResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigureResponse.ProtoReflect.Descriptor instead. func (*ConfigureResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{4} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{4} } // RecallRequest is the read-side query, issued at context-assemble time. @@ -632,10 +632,10 @@ type RecallRequest struct { WorkingDirectory string `protobuf:"bytes,6,opt,name=working_directory,json=workingDirectory,proto3" json:"working_directory,omitempty"` // Restricts results to these MemoryTypes. MAY be empty, meaning all // types this provider supports. - TypeFilter []MemoryType `protobuf:"varint,7,rep,packed,name=type_filter,json=typeFilter,proto3,enum=pluggableharness.agent.memory.v1.MemoryType" json:"type_filter,omitempty"` + TypeFilter []MemoryType `protobuf:"varint,7,rep,packed,name=type_filter,json=typeFilter,proto3,enum=pluggableharness.memory.v1.MemoryType" json:"type_filter,omitempty"` // Restricts results to these MemoryScopes. MAY be empty, meaning all // scopes this provider supports. - ScopeFilter []MemoryScope `protobuf:"varint,8,rep,packed,name=scope_filter,json=scopeFilter,proto3,enum=pluggableharness.agent.memory.v1.MemoryScope" json:"scope_filter,omitempty"` + ScopeFilter []MemoryScope `protobuf:"varint,8,rep,packed,name=scope_filter,json=scopeFilter,proto3,enum=pluggableharness.memory.v1.MemoryScope" json:"scope_filter,omitempty"` // Whether PENDING-status records may be included in the response. MUST // default to false — a PENDING record MUST NOT surface through ordinary // recall unless this is true (memory.md §6, §8). @@ -646,7 +646,7 @@ type RecallRequest struct { func (x *RecallRequest) Reset() { *x = RecallRequest{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[5] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -658,7 +658,7 @@ func (x *RecallRequest) String() string { func (*RecallRequest) ProtoMessage() {} func (x *RecallRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[5] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -671,7 +671,7 @@ func (x *RecallRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RecallRequest.ProtoReflect.Descriptor instead. func (*RecallRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{5} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{5} } func (x *RecallRequest) GetSessionId() string { @@ -749,7 +749,7 @@ type RecallResponse struct { func (x *RecallResponse) Reset() { *x = RecallResponse{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[6] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -761,7 +761,7 @@ func (x *RecallResponse) String() string { func (*RecallResponse) ProtoMessage() {} func (x *RecallResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[6] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -774,7 +774,7 @@ func (x *RecallResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RecallResponse.ProtoReflect.Descriptor instead. func (*RecallResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{6} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{6} } func (x *RecallResponse) GetRecords() []*MemoryRecord { @@ -792,10 +792,10 @@ type MemoryRecord struct { Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // This record's fixed taxonomy classification. Immutable after // creation. - Type MemoryType `protobuf:"varint,2,opt,name=type,proto3,enum=pluggableharness.agent.memory.v1.MemoryType" json:"type,omitempty"` + Type MemoryType `protobuf:"varint,2,opt,name=type,proto3,enum=pluggableharness.memory.v1.MemoryType" json:"type,omitempty"` // This record's visibility scope. MUST be set; immutable after // creation, like `type`. - Scope MemoryScope `protobuf:"varint,3,opt,name=scope,proto3,enum=pluggableharness.agent.memory.v1.MemoryScope" json:"scope,omitempty"` + Scope MemoryScope `protobuf:"varint,3,opt,name=scope,proto3,enum=pluggableharness.memory.v1.MemoryScope" json:"scope,omitempty"` // Human-readable title. Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` // The record's content. Text-only in v1, same constraint as context.md @@ -805,7 +805,7 @@ type MemoryRecord struct { // (kernel-callbacks.md §2), never a provider-local heuristic. Tokens int64 `protobuf:"varint,6,opt,name=tokens,proto3" json:"tokens,omitempty"` // Whether this record is fully persisted or awaiting ratification. - Status RecordStatus `protobuf:"varint,7,opt,name=status,proto3,enum=pluggableharness.agent.memory.v1.RecordStatus" json:"status,omitempty"` + Status RecordStatus `protobuf:"varint,7,opt,name=status,proto3,enum=pluggableharness.memory.v1.RecordStatus" json:"status,omitempty"` // Record ids this record references. MUST be set — kernel-parsed from // "[[name]]" syntax in `content` at Record/UpdateRecord time // (memory.md §7.1), not provider-populated. @@ -834,7 +834,7 @@ type MemoryRecord struct { func (x *MemoryRecord) Reset() { *x = MemoryRecord{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[7] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -846,7 +846,7 @@ func (x *MemoryRecord) String() string { func (*MemoryRecord) ProtoMessage() {} func (x *MemoryRecord) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[7] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -859,7 +859,7 @@ func (x *MemoryRecord) ProtoReflect() protoreflect.Message { // Deprecated: Use MemoryRecord.ProtoReflect.Descriptor instead. func (*MemoryRecord) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{7} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{7} } func (x *MemoryRecord) GetId() string { @@ -967,7 +967,7 @@ type Provenance struct { func (x *Provenance) Reset() { *x = Provenance{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[8] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -979,7 +979,7 @@ func (x *Provenance) String() string { func (*Provenance) ProtoMessage() {} func (x *Provenance) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[8] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -992,7 +992,7 @@ func (x *Provenance) ProtoReflect() protoreflect.Message { // Deprecated: Use Provenance.ProtoReflect.Descriptor instead. func (*Provenance) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{8} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{8} } func (x *Provenance) GetSourceSessionId() string { @@ -1020,9 +1020,9 @@ func (x *Provenance) GetRecordedBy() string { type RecordRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // This record's fixed taxonomy classification. MUST be set. - Type MemoryType `protobuf:"varint,1,opt,name=type,proto3,enum=pluggableharness.agent.memory.v1.MemoryType" json:"type,omitempty"` + Type MemoryType `protobuf:"varint,1,opt,name=type,proto3,enum=pluggableharness.memory.v1.MemoryType" json:"type,omitempty"` // This record's visibility scope. MUST be set. - Scope MemoryScope `protobuf:"varint,2,opt,name=scope,proto3,enum=pluggableharness.agent.memory.v1.MemoryScope" json:"scope,omitempty"` + Scope MemoryScope `protobuf:"varint,2,opt,name=scope,proto3,enum=pluggableharness.memory.v1.MemoryScope" json:"scope,omitempty"` // An author-suggested slug. MAY be omitted, in which case the provider // derives one from content; the kernel disambiguates collisions with a // numeric suffix (memory.md §7) rather than overwriting or rejecting. @@ -1037,7 +1037,7 @@ type RecordRequest struct { func (x *RecordRequest) Reset() { *x = RecordRequest{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[9] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1049,7 +1049,7 @@ func (x *RecordRequest) String() string { func (*RecordRequest) ProtoMessage() {} func (x *RecordRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[9] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1062,7 +1062,7 @@ func (x *RecordRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RecordRequest.ProtoReflect.Descriptor instead. func (*RecordRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{9} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{9} } func (x *RecordRequest) GetType() MemoryType { @@ -1109,14 +1109,14 @@ type RecordResult struct { // The final assigned slug. MUST be set. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Whether the write is fully persisted or awaiting ratification. - Status RecordStatus `protobuf:"varint,2,opt,name=status,proto3,enum=pluggableharness.agent.memory.v1.RecordStatus" json:"status,omitempty"` + Status RecordStatus `protobuf:"varint,2,opt,name=status,proto3,enum=pluggableharness.memory.v1.RecordStatus" json:"status,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *RecordResult) Reset() { *x = RecordResult{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[10] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1128,7 +1128,7 @@ func (x *RecordResult) String() string { func (*RecordResult) ProtoMessage() {} func (x *RecordResult) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[10] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1141,7 +1141,7 @@ func (x *RecordResult) ProtoReflect() protoreflect.Message { // Deprecated: Use RecordResult.ProtoReflect.Descriptor instead. func (*RecordResult) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{10} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{10} } func (x *RecordResult) GetId() string { @@ -1169,7 +1169,7 @@ type RecordResponse struct { func (x *RecordResponse) Reset() { *x = RecordResponse{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[11] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1181,7 +1181,7 @@ func (x *RecordResponse) String() string { func (*RecordResponse) ProtoMessage() {} func (x *RecordResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[11] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1194,7 +1194,7 @@ func (x *RecordResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RecordResponse.ProtoReflect.Descriptor instead. func (*RecordResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{11} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{11} } func (x *RecordResponse) GetResult() *RecordResult { @@ -1222,7 +1222,7 @@ type UpdateRecordRequest struct { func (x *UpdateRecordRequest) Reset() { *x = UpdateRecordRequest{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[12] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1234,7 +1234,7 @@ func (x *UpdateRecordRequest) String() string { func (*UpdateRecordRequest) ProtoMessage() {} func (x *UpdateRecordRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[12] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1247,7 +1247,7 @@ func (x *UpdateRecordRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateRecordRequest.ProtoReflect.Descriptor instead. func (*UpdateRecordRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{12} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{12} } func (x *UpdateRecordRequest) GetId() string { @@ -1285,7 +1285,7 @@ type UpdateRecordResponse struct { func (x *UpdateRecordResponse) Reset() { *x = UpdateRecordResponse{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[13] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1297,7 +1297,7 @@ func (x *UpdateRecordResponse) String() string { func (*UpdateRecordResponse) ProtoMessage() {} func (x *UpdateRecordResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[13] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1310,7 +1310,7 @@ func (x *UpdateRecordResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateRecordResponse.ProtoReflect.Descriptor instead. func (*UpdateRecordResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{13} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{13} } func (x *UpdateRecordResponse) GetResult() *RecordResult { @@ -1332,7 +1332,7 @@ type DeleteRecordRequest struct { func (x *DeleteRecordRequest) Reset() { *x = DeleteRecordRequest{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[14] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1344,7 +1344,7 @@ func (x *DeleteRecordRequest) String() string { func (*DeleteRecordRequest) ProtoMessage() {} func (x *DeleteRecordRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[14] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1357,7 +1357,7 @@ func (x *DeleteRecordRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteRecordRequest.ProtoReflect.Descriptor instead. func (*DeleteRecordRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{14} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{14} } func (x *DeleteRecordRequest) GetId() string { @@ -1381,7 +1381,7 @@ type DeleteResult struct { func (x *DeleteResult) Reset() { *x = DeleteResult{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[15] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1393,7 +1393,7 @@ func (x *DeleteResult) String() string { func (*DeleteResult) ProtoMessage() {} func (x *DeleteResult) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[15] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1406,7 +1406,7 @@ func (x *DeleteResult) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteResult.ProtoReflect.Descriptor instead. func (*DeleteResult) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{15} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{15} } func (x *DeleteResult) GetDeleted() bool { @@ -1427,7 +1427,7 @@ type DeleteRecordResponse struct { func (x *DeleteRecordResponse) Reset() { *x = DeleteRecordResponse{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[16] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1439,7 +1439,7 @@ func (x *DeleteRecordResponse) String() string { func (*DeleteRecordResponse) ProtoMessage() {} func (x *DeleteRecordResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[16] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1452,7 +1452,7 @@ func (x *DeleteRecordResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteRecordResponse.ProtoReflect.Descriptor instead. func (*DeleteRecordResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{16} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{16} } func (x *DeleteRecordResponse) GetResult() *DeleteResult { @@ -1474,7 +1474,7 @@ type ApproveRecordRequest struct { func (x *ApproveRecordRequest) Reset() { *x = ApproveRecordRequest{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[17] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1486,7 +1486,7 @@ func (x *ApproveRecordRequest) String() string { func (*ApproveRecordRequest) ProtoMessage() {} func (x *ApproveRecordRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[17] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1499,7 +1499,7 @@ func (x *ApproveRecordRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ApproveRecordRequest.ProtoReflect.Descriptor instead. func (*ApproveRecordRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{17} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{17} } func (x *ApproveRecordRequest) GetId() string { @@ -1523,7 +1523,7 @@ type ApproveRecordResponse struct { func (x *ApproveRecordResponse) Reset() { *x = ApproveRecordResponse{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[18] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1535,7 +1535,7 @@ func (x *ApproveRecordResponse) String() string { func (*ApproveRecordResponse) ProtoMessage() {} func (x *ApproveRecordResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[18] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1548,7 +1548,7 @@ func (x *ApproveRecordResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ApproveRecordResponse.ProtoReflect.Descriptor instead. func (*ApproveRecordResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{18} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{18} } func (x *ApproveRecordResponse) GetResult() *RecordResult { @@ -1570,7 +1570,7 @@ type RejectRecordRequest struct { func (x *RejectRecordRequest) Reset() { *x = RejectRecordRequest{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[19] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1582,7 +1582,7 @@ func (x *RejectRecordRequest) String() string { func (*RejectRecordRequest) ProtoMessage() {} func (x *RejectRecordRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[19] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1595,7 +1595,7 @@ func (x *RejectRecordRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RejectRecordRequest.ProtoReflect.Descriptor instead. func (*RejectRecordRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{19} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{19} } func (x *RejectRecordRequest) GetId() string { @@ -1619,7 +1619,7 @@ type RejectRecordResponse struct { func (x *RejectRecordResponse) Reset() { *x = RejectRecordResponse{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[20] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1631,7 +1631,7 @@ func (x *RejectRecordResponse) String() string { func (*RejectRecordResponse) ProtoMessage() {} func (x *RejectRecordResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[20] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1644,7 +1644,7 @@ func (x *RejectRecordResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RejectRecordResponse.ProtoReflect.Descriptor instead. func (*RejectRecordResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{20} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{20} } func (x *RejectRecordResponse) GetResult() *DeleteResult { @@ -1659,7 +1659,7 @@ func (x *RejectRecordResponse) GetResult() *DeleteResult { type MemoryError struct { state protoimpl.MessageState `protogen:"open.v1"` // Which category of failure occurred. - Category MemoryErrorCategory `protobuf:"varint,1,opt,name=category,proto3,enum=pluggableharness.agent.memory.v1.MemoryErrorCategory" json:"category,omitempty"` + Category MemoryErrorCategory `protobuf:"varint,1,opt,name=category,proto3,enum=pluggableharness.memory.v1.MemoryErrorCategory" json:"category,omitempty"` // Human-readable error detail. Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` // Whether the kernel MAY retry this call as-is. @@ -1670,7 +1670,7 @@ type MemoryError struct { func (x *MemoryError) Reset() { *x = MemoryError{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[21] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1682,7 +1682,7 @@ func (x *MemoryError) String() string { func (*MemoryError) ProtoMessage() {} func (x *MemoryError) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[21] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1695,7 +1695,7 @@ func (x *MemoryError) ProtoReflect() protoreflect.Message { // Deprecated: Use MemoryError.ProtoReflect.Descriptor instead. func (*MemoryError) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{21} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{21} } func (x *MemoryError) GetCategory() MemoryErrorCategory { @@ -1739,7 +1739,7 @@ type RenderRequest struct { func (x *RenderRequest) Reset() { *x = RenderRequest{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[22] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1751,7 +1751,7 @@ func (x *RenderRequest) String() string { func (*RenderRequest) ProtoMessage() {} func (x *RenderRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[22] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1764,7 +1764,7 @@ func (x *RenderRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RenderRequest.ProtoReflect.Descriptor instead. func (*RenderRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{22} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{22} } func (x *RenderRequest) GetPayload() []byte { @@ -1792,7 +1792,7 @@ type RenderResponse struct { func (x *RenderResponse) Reset() { *x = RenderResponse{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[23] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1804,7 +1804,7 @@ func (x *RenderResponse) String() string { func (*RenderResponse) ProtoMessage() {} func (x *RenderResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[23] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1817,7 +1817,7 @@ func (x *RenderResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RenderResponse.ProtoReflect.Descriptor instead. func (*RenderResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{23} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{23} } func (x *RenderResponse) GetTree() *v15.RenderTree { @@ -1837,14 +1837,14 @@ type ListRecordsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // Restricts results to these MemoryTypes. MAY be empty, meaning all // types this provider supports. - TypeFilter []MemoryType `protobuf:"varint,1,rep,packed,name=type_filter,json=typeFilter,proto3,enum=pluggableharness.agent.memory.v1.MemoryType" json:"type_filter,omitempty"` + TypeFilter []MemoryType `protobuf:"varint,1,rep,packed,name=type_filter,json=typeFilter,proto3,enum=pluggableharness.memory.v1.MemoryType" json:"type_filter,omitempty"` // Restricts results to these MemoryScopes. MAY be empty, meaning all // scopes this provider supports. - ScopeFilter []MemoryScope `protobuf:"varint,2,rep,packed,name=scope_filter,json=scopeFilter,proto3,enum=pluggableharness.agent.memory.v1.MemoryScope" json:"scope_filter,omitempty"` + ScopeFilter []MemoryScope `protobuf:"varint,2,rep,packed,name=scope_filter,json=scopeFilter,proto3,enum=pluggableharness.memory.v1.MemoryScope" json:"scope_filter,omitempty"` // Restricts results to this RecordStatus. Unset means both CANONICAL and // PENDING records are eligible — this is the one path where a PENDING // record is listable without any include_pending-style gate. - StatusFilter *RecordStatus `protobuf:"varint,3,opt,name=status_filter,json=statusFilter,proto3,enum=pluggableharness.agent.memory.v1.RecordStatus,oneof" json:"status_filter,omitempty"` + StatusFilter *RecordStatus `protobuf:"varint,3,opt,name=status_filter,json=statusFilter,proto3,enum=pluggableharness.memory.v1.RecordStatus,oneof" json:"status_filter,omitempty"` // Maximum number of records to return in one page. PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` // Opaque continuation token from a prior ListRecordsResponse. @@ -1856,7 +1856,7 @@ type ListRecordsRequest struct { func (x *ListRecordsRequest) Reset() { *x = ListRecordsRequest{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[24] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1868,7 +1868,7 @@ func (x *ListRecordsRequest) String() string { func (*ListRecordsRequest) ProtoMessage() {} func (x *ListRecordsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[24] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1881,7 +1881,7 @@ func (x *ListRecordsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRecordsRequest.ProtoReflect.Descriptor instead. func (*ListRecordsRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{24} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{24} } func (x *ListRecordsRequest) GetTypeFilter() []MemoryType { @@ -1933,7 +1933,7 @@ type ListRecordsResponse struct { func (x *ListRecordsResponse) Reset() { *x = ListRecordsResponse{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[25] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1945,7 +1945,7 @@ func (x *ListRecordsResponse) String() string { func (*ListRecordsResponse) ProtoMessage() {} func (x *ListRecordsResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[25] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1958,7 +1958,7 @@ func (x *ListRecordsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRecordsResponse.ProtoReflect.Descriptor instead. func (*ListRecordsResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{25} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{25} } func (x *ListRecordsResponse) GetRecords() []*MemoryRecord { @@ -1987,7 +1987,7 @@ type GetRecordRequest struct { func (x *GetRecordRequest) Reset() { *x = GetRecordRequest{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[26] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1999,7 +1999,7 @@ func (x *GetRecordRequest) String() string { func (*GetRecordRequest) ProtoMessage() {} func (x *GetRecordRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[26] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2012,7 +2012,7 @@ func (x *GetRecordRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRecordRequest.ProtoReflect.Descriptor instead. func (*GetRecordRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{26} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{26} } func (x *GetRecordRequest) GetId() string { @@ -2033,7 +2033,7 @@ type GetRecordResponse struct { func (x *GetRecordResponse) Reset() { *x = GetRecordResponse{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[27] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2045,7 +2045,7 @@ func (x *GetRecordResponse) String() string { func (*GetRecordResponse) ProtoMessage() {} func (x *GetRecordResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[27] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2058,7 +2058,7 @@ func (x *GetRecordResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRecordResponse.ProtoReflect.Descriptor instead. func (*GetRecordResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{27} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{27} } func (x *GetRecordResponse) GetRecord() *MemoryRecord { @@ -2078,7 +2078,7 @@ type DescribeRequest struct { func (x *DescribeRequest) Reset() { *x = DescribeRequest{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[28] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2090,7 +2090,7 @@ func (x *DescribeRequest) String() string { func (*DescribeRequest) ProtoMessage() {} func (x *DescribeRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[28] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2103,7 +2103,7 @@ func (x *DescribeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DescribeRequest.ProtoReflect.Descriptor instead. func (*DescribeRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{28} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{28} } // DescribeResponse reports this plugin build's own identity. See the @@ -2119,7 +2119,7 @@ type DescribeResponse struct { func (x *DescribeResponse) Reset() { *x = DescribeResponse{} - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[29] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2131,7 +2131,7 @@ func (x *DescribeResponse) String() string { func (*DescribeResponse) ProtoMessage() {} func (x *DescribeResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[29] + mi := &file_pluggableharness_memory_v1_memory_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2144,7 +2144,7 @@ func (x *DescribeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DescribeResponse.ProtoReflect.Descriptor instead. func (*DescribeResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP(), []int{29} + return file_pluggableharness_memory_v1_memory_proto_rawDescGZIP(), []int{29} } func (x *DescribeResponse) GetProducer() *v12.ProducerRef { @@ -2154,55 +2154,55 @@ func (x *DescribeResponse) GetProducer() *v12.ProducerRef { return nil } -var File_pluggableharness_agent_memory_v1_memory_proto protoreflect.FileDescriptor +var File_pluggableharness_memory_v1_memory_proto protoreflect.FileDescriptor -const file_pluggableharness_agent_memory_v1_memory_proto_rawDesc = "" + +const file_pluggableharness_memory_v1_memory_proto_rawDesc = "" + "\n" + - "-pluggableharness/agent/memory/v1/memory.proto\x12 pluggableharness.agent.memory.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a-pluggableharness/agent/common/v1/common.proto\x1a-pluggableharness/agent/config/v1/config.proto\x1a/pluggableharness/agent/content/v1/content.proto\x1a+pluggableharness/agent/model/v1/model.proto\x1a-pluggableharness/agent/render/v1/render.proto\x1a9pluggableharness/agent/slashcommand/v1/slashcommand.proto\"\x18\n" + - "\x16GetCapabilitiesRequest\"\xc5\x04\n" + + "'pluggableharness/memory/v1/memory.proto\x12\x1apluggableharness.memory.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a'pluggableharness/common/v1/common.proto\x1a'pluggableharness/config/v1/config.proto\x1a)pluggableharness/content/v1/content.proto\x1a%pluggableharness/model/v1/model.proto\x1a'pluggableharness/render/v1/render.proto\x1a3pluggableharness/slashcommand/v1/slashcommand.proto\"\x18\n" + + "\x16GetCapabilitiesRequest\"\xa7\x04\n" + "\x12MemoryCapabilities\x120\n" + - "\x14default_token_budget\x18\x01 \x01(\x03R\x12defaultTokenBudget\x12U\n" + - "\x0fsupported_types\x18\x02 \x03(\x0e2,.pluggableharness.agent.memory.v1.MemoryTypeR\x0esupportedTypes\x12X\n" + - "\x10supported_scopes\x18\x03 \x03(\x0e2-.pluggableharness.agent.memory.v1.MemoryScopeR\x0fsupportedScopes\x125\n" + - "\x16ratification_supported\x18\x04 \x01(\bR\x15ratificationSupported\x12_\n" + - "\x0eslash_commands\x18\x05 \x03(\v28.pluggableharness.agent.slashcommand.v1.SlashCommandSpecR\rslashCommands\x12S\n" + - "\rconfig_schema\x18\x06 \x01(\v2..pluggableharness.agent.config.v1.ConfigSchemaR\fconfigSchema\x12_\n" + - "\x15supported_hook_points\x18\a \x03(\x0e2+.pluggableharness.agent.common.v1.HookPointR\x13supportedHookPoints\"s\n" + - "\x17GetCapabilitiesResponse\x12X\n" + - "\fcapabilities\x18\x01 \x01(\v24.pluggableharness.agent.memory.v1.MemoryCapabilitiesR\fcapabilities\"C\n" + + "\x14default_token_budget\x18\x01 \x01(\x03R\x12defaultTokenBudget\x12O\n" + + "\x0fsupported_types\x18\x02 \x03(\x0e2&.pluggableharness.memory.v1.MemoryTypeR\x0esupportedTypes\x12R\n" + + "\x10supported_scopes\x18\x03 \x03(\x0e2'.pluggableharness.memory.v1.MemoryScopeR\x0fsupportedScopes\x125\n" + + "\x16ratification_supported\x18\x04 \x01(\bR\x15ratificationSupported\x12Y\n" + + "\x0eslash_commands\x18\x05 \x03(\v22.pluggableharness.slashcommand.v1.SlashCommandSpecR\rslashCommands\x12M\n" + + "\rconfig_schema\x18\x06 \x01(\v2(.pluggableharness.config.v1.ConfigSchemaR\fconfigSchema\x12Y\n" + + "\x15supported_hook_points\x18\a \x03(\x0e2%.pluggableharness.common.v1.HookPointR\x13supportedHookPoints\"m\n" + + "\x17GetCapabilitiesResponse\x12R\n" + + "\fcapabilities\x18\x01 \x01(\v2..pluggableharness.memory.v1.MemoryCapabilitiesR\fcapabilities\"C\n" + "\x10ConfigureRequest\x12/\n" + "\x06config\x18\x01 \x01(\v2\x17.google.protobuf.StructR\x06config\"\x13\n" + - "\x11ConfigureResponse\"\xd7\x03\n" + + "\x11ConfigureResponse\"\xc5\x03\n" + "\rRecallRequest\x12\x1d\n" + "\n" + "session_id\x18\x01 \x01(\tR\tsessionId\x12\x17\n" + "\aturn_id\x18\x02 \x01(\tR\x06turnId\x12!\n" + - "\ftoken_budget\x18\x03 \x01(\x03R\vtokenBudget\x12O\n" + - "\fmodel_target\x18\x04 \x01(\v2,.pluggableharness.agent.model.v1.ModelTargetR\vmodelTarget\x12#\n" + + "\ftoken_budget\x18\x03 \x01(\x03R\vtokenBudget\x12I\n" + + "\fmodel_target\x18\x04 \x01(\v2&.pluggableharness.model.v1.ModelTargetR\vmodelTarget\x12#\n" + "\rfiles_touched\x18\x05 \x03(\tR\ffilesTouched\x12+\n" + - "\x11working_directory\x18\x06 \x01(\tR\x10workingDirectory\x12M\n" + - "\vtype_filter\x18\a \x03(\x0e2,.pluggableharness.agent.memory.v1.MemoryTypeR\n" + - "typeFilter\x12P\n" + - "\fscope_filter\x18\b \x03(\x0e2-.pluggableharness.agent.memory.v1.MemoryScopeR\vscopeFilter\x12'\n" + - "\x0finclude_pending\x18\t \x01(\bR\x0eincludePending\"Z\n" + - "\x0eRecallResponse\x12H\n" + - "\arecords\x18\x01 \x03(\v2..pluggableharness.agent.memory.v1.MemoryRecordR\arecords\"\x82\x05\n" + + "\x11working_directory\x18\x06 \x01(\tR\x10workingDirectory\x12G\n" + + "\vtype_filter\x18\a \x03(\x0e2&.pluggableharness.memory.v1.MemoryTypeR\n" + + "typeFilter\x12J\n" + + "\fscope_filter\x18\b \x03(\x0e2'.pluggableharness.memory.v1.MemoryScopeR\vscopeFilter\x12'\n" + + "\x0finclude_pending\x18\t \x01(\bR\x0eincludePending\"T\n" + + "\x0eRecallResponse\x12B\n" + + "\arecords\x18\x01 \x03(\v2(.pluggableharness.memory.v1.MemoryRecordR\arecords\"\xe4\x04\n" + "\fMemoryRecord\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\x12@\n" + - "\x04type\x18\x02 \x01(\x0e2,.pluggableharness.agent.memory.v1.MemoryTypeR\x04type\x12C\n" + - "\x05scope\x18\x03 \x01(\x0e2-.pluggableharness.agent.memory.v1.MemoryScopeR\x05scope\x12\x14\n" + - "\x05title\x18\x04 \x01(\tR\x05title\x12I\n" + - "\acontent\x18\x05 \x03(\v2/.pluggableharness.agent.content.v1.ContentBlockR\acontent\x12\x16\n" + - "\x06tokens\x18\x06 \x01(\x03R\x06tokens\x12F\n" + - "\x06status\x18\a \x01(\x0e2..pluggableharness.agent.memory.v1.RecordStatusR\x06status\x12\x14\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12:\n" + + "\x04type\x18\x02 \x01(\x0e2&.pluggableharness.memory.v1.MemoryTypeR\x04type\x12=\n" + + "\x05scope\x18\x03 \x01(\x0e2'.pluggableharness.memory.v1.MemoryScopeR\x05scope\x12\x14\n" + + "\x05title\x18\x04 \x01(\tR\x05title\x12C\n" + + "\acontent\x18\x05 \x03(\v2).pluggableharness.content.v1.ContentBlockR\acontent\x12\x16\n" + + "\x06tokens\x18\x06 \x01(\x03R\x06tokens\x12@\n" + + "\x06status\x18\a \x01(\x0e2(.pluggableharness.memory.v1.RecordStatusR\x06status\x12\x14\n" + "\x05links\x18\b \x03(\tR\x05links\x129\n" + "\n" + "created_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + "\n" + "updated_at\x18\n" + - " \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12L\n" + + " \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12F\n" + "\n" + - "provenance\x18\v \x01(\v2,.pluggableharness.agent.memory.v1.ProvenanceR\n" + + "provenance\x18\v \x01(\v2&.pluggableharness.memory.v1.ProvenanceR\n" + "provenance\x12,\n" + "\x0frelevance_score\x18\f \x01(\x01H\x00R\x0erelevanceScore\x88\x01\x01B\x12\n" + "\x10_relevance_score\"\x97\x01\n" + @@ -2212,68 +2212,68 @@ const file_pluggableharness_agent_memory_v1_memory_proto_rawDesc = "" + "\x0esource_turn_id\x18\x02 \x01(\tH\x00R\fsourceTurnId\x88\x01\x01\x12\x1f\n" + "\vrecorded_by\x18\x03 \x01(\tR\n" + "recordedByB\x11\n" + - "\x0f_source_turn_id\"\x93\x02\n" + - "\rRecordRequest\x12@\n" + - "\x04type\x18\x01 \x01(\x0e2,.pluggableharness.agent.memory.v1.MemoryTypeR\x04type\x12C\n" + - "\x05scope\x18\x02 \x01(\x0e2-.pluggableharness.agent.memory.v1.MemoryScopeR\x05scope\x12\x13\n" + + "\x0f_source_turn_id\"\x81\x02\n" + + "\rRecordRequest\x12:\n" + + "\x04type\x18\x01 \x01(\x0e2&.pluggableharness.memory.v1.MemoryTypeR\x04type\x12=\n" + + "\x05scope\x18\x02 \x01(\x0e2'.pluggableharness.memory.v1.MemoryScopeR\x05scope\x12\x13\n" + "\x02id\x18\x03 \x01(\tH\x00R\x02id\x88\x01\x01\x12\x14\n" + - "\x05title\x18\x04 \x01(\tR\x05title\x12I\n" + - "\acontent\x18\x05 \x03(\v2/.pluggableharness.agent.content.v1.ContentBlockR\acontentB\x05\n" + - "\x03_id\"f\n" + + "\x05title\x18\x04 \x01(\tR\x05title\x12C\n" + + "\acontent\x18\x05 \x03(\v2).pluggableharness.content.v1.ContentBlockR\acontentB\x05\n" + + "\x03_id\"`\n" + "\fRecordResult\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\x12F\n" + - "\x06status\x18\x02 \x01(\x0e2..pluggableharness.agent.memory.v1.RecordStatusR\x06status\"X\n" + - "\x0eRecordResponse\x12F\n" + - "\x06result\x18\x01 \x01(\v2..pluggableharness.agent.memory.v1.RecordResultR\x06result\"\x95\x01\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12@\n" + + "\x06status\x18\x02 \x01(\x0e2(.pluggableharness.memory.v1.RecordStatusR\x06status\"R\n" + + "\x0eRecordResponse\x12@\n" + + "\x06result\x18\x01 \x01(\v2(.pluggableharness.memory.v1.RecordResultR\x06result\"\x8f\x01\n" + "\x13UpdateRecordRequest\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12\x19\n" + - "\x05title\x18\x02 \x01(\tH\x00R\x05title\x88\x01\x01\x12I\n" + - "\acontent\x18\x03 \x03(\v2/.pluggableharness.agent.content.v1.ContentBlockR\acontentB\b\n" + - "\x06_title\"^\n" + - "\x14UpdateRecordResponse\x12F\n" + - "\x06result\x18\x01 \x01(\v2..pluggableharness.agent.memory.v1.RecordResultR\x06result\"%\n" + + "\x05title\x18\x02 \x01(\tH\x00R\x05title\x88\x01\x01\x12C\n" + + "\acontent\x18\x03 \x03(\v2).pluggableharness.content.v1.ContentBlockR\acontentB\b\n" + + "\x06_title\"X\n" + + "\x14UpdateRecordResponse\x12@\n" + + "\x06result\x18\x01 \x01(\v2(.pluggableharness.memory.v1.RecordResultR\x06result\"%\n" + "\x13DeleteRecordRequest\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\"(\n" + "\fDeleteResult\x12\x18\n" + - "\adeleted\x18\x01 \x01(\bR\adeleted\"^\n" + - "\x14DeleteRecordResponse\x12F\n" + - "\x06result\x18\x01 \x01(\v2..pluggableharness.agent.memory.v1.DeleteResultR\x06result\"&\n" + + "\adeleted\x18\x01 \x01(\bR\adeleted\"X\n" + + "\x14DeleteRecordResponse\x12@\n" + + "\x06result\x18\x01 \x01(\v2(.pluggableharness.memory.v1.DeleteResultR\x06result\"&\n" + "\x14ApproveRecordRequest\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\"_\n" + - "\x15ApproveRecordResponse\x12F\n" + - "\x06result\x18\x01 \x01(\v2..pluggableharness.agent.memory.v1.RecordResultR\x06result\"%\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"Y\n" + + "\x15ApproveRecordResponse\x12@\n" + + "\x06result\x18\x01 \x01(\v2(.pluggableharness.memory.v1.RecordResultR\x06result\"%\n" + "\x13RejectRecordRequest\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\"^\n" + - "\x14RejectRecordResponse\x12F\n" + - "\x06result\x18\x01 \x01(\v2..pluggableharness.agent.memory.v1.DeleteResultR\x06result\"\x98\x01\n" + - "\vMemoryError\x12Q\n" + - "\bcategory\x18\x01 \x01(\x0e25.pluggableharness.agent.memory.v1.MemoryErrorCategoryR\bcategory\x12\x18\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"X\n" + + "\x14RejectRecordResponse\x12@\n" + + "\x06result\x18\x01 \x01(\v2(.pluggableharness.memory.v1.DeleteResultR\x06result\"\x92\x01\n" + + "\vMemoryError\x12K\n" + + "\bcategory\x18\x01 \x01(\x0e2/.pluggableharness.memory.v1.MemoryErrorCategoryR\bcategory\x12\x18\n" + "\amessage\x18\x02 \x01(\tR\amessage\x12\x1c\n" + "\tretryable\x18\x03 \x01(\bR\tretryable\"P\n" + "\rRenderRequest\x12\x18\n" + "\apayload\x18\x01 \x01(\fR\apayload\x12%\n" + - "\x0eschema_version\x18\x02 \x01(\tR\rschemaVersion\"R\n" + - "\x0eRenderResponse\x12@\n" + - "\x04tree\x18\x01 \x01(\v2,.pluggableharness.agent.render.v1.RenderTreeR\x04tree\"\xdd\x02\n" + - "\x12ListRecordsRequest\x12M\n" + - "\vtype_filter\x18\x01 \x03(\x0e2,.pluggableharness.agent.memory.v1.MemoryTypeR\n" + - "typeFilter\x12P\n" + - "\fscope_filter\x18\x02 \x03(\x0e2-.pluggableharness.agent.memory.v1.MemoryScopeR\vscopeFilter\x12X\n" + - "\rstatus_filter\x18\x03 \x01(\x0e2..pluggableharness.agent.memory.v1.RecordStatusH\x00R\fstatusFilter\x88\x01\x01\x12\x1b\n" + + "\x0eschema_version\x18\x02 \x01(\tR\rschemaVersion\"L\n" + + "\x0eRenderResponse\x12:\n" + + "\x04tree\x18\x01 \x01(\v2&.pluggableharness.render.v1.RenderTreeR\x04tree\"\xcb\x02\n" + + "\x12ListRecordsRequest\x12G\n" + + "\vtype_filter\x18\x01 \x03(\x0e2&.pluggableharness.memory.v1.MemoryTypeR\n" + + "typeFilter\x12J\n" + + "\fscope_filter\x18\x02 \x03(\x0e2'.pluggableharness.memory.v1.MemoryScopeR\vscopeFilter\x12R\n" + + "\rstatus_filter\x18\x03 \x01(\x0e2(.pluggableharness.memory.v1.RecordStatusH\x00R\fstatusFilter\x88\x01\x01\x12\x1b\n" + "\tpage_size\x18\x04 \x01(\x05R\bpageSize\x12\x1d\n" + "\n" + "page_token\x18\x05 \x01(\tR\tpageTokenB\x10\n" + - "\x0e_status_filter\"\x87\x01\n" + - "\x13ListRecordsResponse\x12H\n" + - "\arecords\x18\x01 \x03(\v2..pluggableharness.agent.memory.v1.MemoryRecordR\arecords\x12&\n" + + "\x0e_status_filter\"\x81\x01\n" + + "\x13ListRecordsResponse\x12B\n" + + "\arecords\x18\x01 \x03(\v2(.pluggableharness.memory.v1.MemoryRecordR\arecords\x12&\n" + "\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"\"\n" + "\x10GetRecordRequest\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\"[\n" + - "\x11GetRecordResponse\x12F\n" + - "\x06record\x18\x01 \x01(\v2..pluggableharness.agent.memory.v1.MemoryRecordR\x06record\"\x11\n" + - "\x0fDescribeRequest\"]\n" + - "\x10DescribeResponse\x12I\n" + - "\bproducer\x18\x01 \x01(\v2-.pluggableharness.agent.common.v1.ProducerRefR\bproducer*\x8d\x01\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"U\n" + + "\x11GetRecordResponse\x12@\n" + + "\x06record\x18\x01 \x01(\v2(.pluggableharness.memory.v1.MemoryRecordR\x06record\"\x11\n" + + "\x0fDescribeRequest\"W\n" + + "\x10DescribeResponse\x12C\n" + + "\bproducer\x18\x01 \x01(\v2'.pluggableharness.common.v1.ProducerRefR\bproducer*\x8d\x01\n" + "\n" + "MemoryType\x12\x1b\n" + "\x17MEMORY_TYPE_UNSPECIFIED\x10\x00\x12\x14\n" + @@ -2298,141 +2298,142 @@ const file_pluggableharness_agent_memory_v1_memory_proto_rawDesc = "" + "%MEMORY_ERROR_CATEGORY_BUDGET_EXCEEDED\x10\x04\x12,\n" + "(MEMORY_ERROR_CATEGORY_SOURCE_UNAVAILABLE\x10\x05\x12!\n" + "\x1dMEMORY_ERROR_CATEGORY_UNKNOWN\x10\x06\x12'\n" + - "#MEMORY_ERROR_CATEGORY_INVALID_SCOPE\x10\a2\xba\v\n" + - "\rMemoryService\x12\x86\x01\n" + - "\x0fGetCapabilities\x128.pluggableharness.agent.memory.v1.GetCapabilitiesRequest\x1a9.pluggableharness.agent.memory.v1.GetCapabilitiesResponse\x12t\n" + - "\tConfigure\x122.pluggableharness.agent.memory.v1.ConfigureRequest\x1a3.pluggableharness.agent.memory.v1.ConfigureResponse\x12k\n" + - "\x06Recall\x12/.pluggableharness.agent.memory.v1.RecallRequest\x1a0.pluggableharness.agent.memory.v1.RecallResponse\x12k\n" + - "\x06Record\x12/.pluggableharness.agent.memory.v1.RecordRequest\x1a0.pluggableharness.agent.memory.v1.RecordResponse\x12}\n" + - "\fUpdateRecord\x125.pluggableharness.agent.memory.v1.UpdateRecordRequest\x1a6.pluggableharness.agent.memory.v1.UpdateRecordResponse\x12}\n" + - "\fDeleteRecord\x125.pluggableharness.agent.memory.v1.DeleteRecordRequest\x1a6.pluggableharness.agent.memory.v1.DeleteRecordResponse\x12\x80\x01\n" + - "\rApproveRecord\x126.pluggableharness.agent.memory.v1.ApproveRecordRequest\x1a7.pluggableharness.agent.memory.v1.ApproveRecordResponse\x12}\n" + - "\fRejectRecord\x125.pluggableharness.agent.memory.v1.RejectRecordRequest\x1a6.pluggableharness.agent.memory.v1.RejectRecordResponse\x12k\n" + - "\x06Render\x12/.pluggableharness.agent.memory.v1.RenderRequest\x1a0.pluggableharness.agent.memory.v1.RenderResponse\x12z\n" + - "\vListRecords\x124.pluggableharness.agent.memory.v1.ListRecordsRequest\x1a5.pluggableharness.agent.memory.v1.ListRecordsResponse\x12t\n" + - "\tGetRecord\x122.pluggableharness.agent.memory.v1.GetRecordRequest\x1a3.pluggableharness.agent.memory.v1.GetRecordResponse\x12q\n" + - "\bDescribe\x121.pluggableharness.agent.memory.v1.DescribeRequest\x1a2.pluggableharness.agent.memory.v1.DescribeResponseB@Z>github.com/pluggableharness/agent/pkg/memory/proto/v1;memoryv1b\x06proto3" + "#MEMORY_ERROR_CATEGORY_INVALID_SCOPE\x10\a2\xa8\n" + + "\n" + + "\rMemoryService\x12z\n" + + "\x0fGetCapabilities\x122.pluggableharness.memory.v1.GetCapabilitiesRequest\x1a3.pluggableharness.memory.v1.GetCapabilitiesResponse\x12h\n" + + "\tConfigure\x12,.pluggableharness.memory.v1.ConfigureRequest\x1a-.pluggableharness.memory.v1.ConfigureResponse\x12_\n" + + "\x06Recall\x12).pluggableharness.memory.v1.RecallRequest\x1a*.pluggableharness.memory.v1.RecallResponse\x12_\n" + + "\x06Record\x12).pluggableharness.memory.v1.RecordRequest\x1a*.pluggableharness.memory.v1.RecordResponse\x12q\n" + + "\fUpdateRecord\x12/.pluggableharness.memory.v1.UpdateRecordRequest\x1a0.pluggableharness.memory.v1.UpdateRecordResponse\x12q\n" + + "\fDeleteRecord\x12/.pluggableharness.memory.v1.DeleteRecordRequest\x1a0.pluggableharness.memory.v1.DeleteRecordResponse\x12t\n" + + "\rApproveRecord\x120.pluggableharness.memory.v1.ApproveRecordRequest\x1a1.pluggableharness.memory.v1.ApproveRecordResponse\x12q\n" + + "\fRejectRecord\x12/.pluggableharness.memory.v1.RejectRecordRequest\x1a0.pluggableharness.memory.v1.RejectRecordResponse\x12_\n" + + "\x06Render\x12).pluggableharness.memory.v1.RenderRequest\x1a*.pluggableharness.memory.v1.RenderResponse\x12n\n" + + "\vListRecords\x12..pluggableharness.memory.v1.ListRecordsRequest\x1a/.pluggableharness.memory.v1.ListRecordsResponse\x12h\n" + + "\tGetRecord\x12,.pluggableharness.memory.v1.GetRecordRequest\x1a-.pluggableharness.memory.v1.GetRecordResponse\x12e\n" + + "\bDescribe\x12+.pluggableharness.memory.v1.DescribeRequest\x1a,.pluggableharness.memory.v1.DescribeResponseB@Z>github.com/pluggableharness/agent/pkg/memory/proto/v1;memoryv1b\x06proto3" var ( - file_pluggableharness_agent_memory_v1_memory_proto_rawDescOnce sync.Once - file_pluggableharness_agent_memory_v1_memory_proto_rawDescData []byte + file_pluggableharness_memory_v1_memory_proto_rawDescOnce sync.Once + file_pluggableharness_memory_v1_memory_proto_rawDescData []byte ) -func file_pluggableharness_agent_memory_v1_memory_proto_rawDescGZIP() []byte { - file_pluggableharness_agent_memory_v1_memory_proto_rawDescOnce.Do(func() { - file_pluggableharness_agent_memory_v1_memory_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_memory_v1_memory_proto_rawDesc), len(file_pluggableharness_agent_memory_v1_memory_proto_rawDesc))) +func file_pluggableharness_memory_v1_memory_proto_rawDescGZIP() []byte { + file_pluggableharness_memory_v1_memory_proto_rawDescOnce.Do(func() { + file_pluggableharness_memory_v1_memory_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pluggableharness_memory_v1_memory_proto_rawDesc), len(file_pluggableharness_memory_v1_memory_proto_rawDesc))) }) - return file_pluggableharness_agent_memory_v1_memory_proto_rawDescData -} - -var file_pluggableharness_agent_memory_v1_memory_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_pluggableharness_agent_memory_v1_memory_proto_msgTypes = make([]protoimpl.MessageInfo, 30) -var file_pluggableharness_agent_memory_v1_memory_proto_goTypes = []any{ - (MemoryType)(0), // 0: pluggableharness.agent.memory.v1.MemoryType - (MemoryScope)(0), // 1: pluggableharness.agent.memory.v1.MemoryScope - (RecordStatus)(0), // 2: pluggableharness.agent.memory.v1.RecordStatus - (MemoryErrorCategory)(0), // 3: pluggableharness.agent.memory.v1.MemoryErrorCategory - (*GetCapabilitiesRequest)(nil), // 4: pluggableharness.agent.memory.v1.GetCapabilitiesRequest - (*MemoryCapabilities)(nil), // 5: pluggableharness.agent.memory.v1.MemoryCapabilities - (*GetCapabilitiesResponse)(nil), // 6: pluggableharness.agent.memory.v1.GetCapabilitiesResponse - (*ConfigureRequest)(nil), // 7: pluggableharness.agent.memory.v1.ConfigureRequest - (*ConfigureResponse)(nil), // 8: pluggableharness.agent.memory.v1.ConfigureResponse - (*RecallRequest)(nil), // 9: pluggableharness.agent.memory.v1.RecallRequest - (*RecallResponse)(nil), // 10: pluggableharness.agent.memory.v1.RecallResponse - (*MemoryRecord)(nil), // 11: pluggableharness.agent.memory.v1.MemoryRecord - (*Provenance)(nil), // 12: pluggableharness.agent.memory.v1.Provenance - (*RecordRequest)(nil), // 13: pluggableharness.agent.memory.v1.RecordRequest - (*RecordResult)(nil), // 14: pluggableharness.agent.memory.v1.RecordResult - (*RecordResponse)(nil), // 15: pluggableharness.agent.memory.v1.RecordResponse - (*UpdateRecordRequest)(nil), // 16: pluggableharness.agent.memory.v1.UpdateRecordRequest - (*UpdateRecordResponse)(nil), // 17: pluggableharness.agent.memory.v1.UpdateRecordResponse - (*DeleteRecordRequest)(nil), // 18: pluggableharness.agent.memory.v1.DeleteRecordRequest - (*DeleteResult)(nil), // 19: pluggableharness.agent.memory.v1.DeleteResult - (*DeleteRecordResponse)(nil), // 20: pluggableharness.agent.memory.v1.DeleteRecordResponse - (*ApproveRecordRequest)(nil), // 21: pluggableharness.agent.memory.v1.ApproveRecordRequest - (*ApproveRecordResponse)(nil), // 22: pluggableharness.agent.memory.v1.ApproveRecordResponse - (*RejectRecordRequest)(nil), // 23: pluggableharness.agent.memory.v1.RejectRecordRequest - (*RejectRecordResponse)(nil), // 24: pluggableharness.agent.memory.v1.RejectRecordResponse - (*MemoryError)(nil), // 25: pluggableharness.agent.memory.v1.MemoryError - (*RenderRequest)(nil), // 26: pluggableharness.agent.memory.v1.RenderRequest - (*RenderResponse)(nil), // 27: pluggableharness.agent.memory.v1.RenderResponse - (*ListRecordsRequest)(nil), // 28: pluggableharness.agent.memory.v1.ListRecordsRequest - (*ListRecordsResponse)(nil), // 29: pluggableharness.agent.memory.v1.ListRecordsResponse - (*GetRecordRequest)(nil), // 30: pluggableharness.agent.memory.v1.GetRecordRequest - (*GetRecordResponse)(nil), // 31: pluggableharness.agent.memory.v1.GetRecordResponse - (*DescribeRequest)(nil), // 32: pluggableharness.agent.memory.v1.DescribeRequest - (*DescribeResponse)(nil), // 33: pluggableharness.agent.memory.v1.DescribeResponse - (*v1.SlashCommandSpec)(nil), // 34: pluggableharness.agent.slashcommand.v1.SlashCommandSpec - (*v11.ConfigSchema)(nil), // 35: pluggableharness.agent.config.v1.ConfigSchema - (v12.HookPoint)(0), // 36: pluggableharness.agent.common.v1.HookPoint + return file_pluggableharness_memory_v1_memory_proto_rawDescData +} + +var file_pluggableharness_memory_v1_memory_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_pluggableharness_memory_v1_memory_proto_msgTypes = make([]protoimpl.MessageInfo, 30) +var file_pluggableharness_memory_v1_memory_proto_goTypes = []any{ + (MemoryType)(0), // 0: pluggableharness.memory.v1.MemoryType + (MemoryScope)(0), // 1: pluggableharness.memory.v1.MemoryScope + (RecordStatus)(0), // 2: pluggableharness.memory.v1.RecordStatus + (MemoryErrorCategory)(0), // 3: pluggableharness.memory.v1.MemoryErrorCategory + (*GetCapabilitiesRequest)(nil), // 4: pluggableharness.memory.v1.GetCapabilitiesRequest + (*MemoryCapabilities)(nil), // 5: pluggableharness.memory.v1.MemoryCapabilities + (*GetCapabilitiesResponse)(nil), // 6: pluggableharness.memory.v1.GetCapabilitiesResponse + (*ConfigureRequest)(nil), // 7: pluggableharness.memory.v1.ConfigureRequest + (*ConfigureResponse)(nil), // 8: pluggableharness.memory.v1.ConfigureResponse + (*RecallRequest)(nil), // 9: pluggableharness.memory.v1.RecallRequest + (*RecallResponse)(nil), // 10: pluggableharness.memory.v1.RecallResponse + (*MemoryRecord)(nil), // 11: pluggableharness.memory.v1.MemoryRecord + (*Provenance)(nil), // 12: pluggableharness.memory.v1.Provenance + (*RecordRequest)(nil), // 13: pluggableharness.memory.v1.RecordRequest + (*RecordResult)(nil), // 14: pluggableharness.memory.v1.RecordResult + (*RecordResponse)(nil), // 15: pluggableharness.memory.v1.RecordResponse + (*UpdateRecordRequest)(nil), // 16: pluggableharness.memory.v1.UpdateRecordRequest + (*UpdateRecordResponse)(nil), // 17: pluggableharness.memory.v1.UpdateRecordResponse + (*DeleteRecordRequest)(nil), // 18: pluggableharness.memory.v1.DeleteRecordRequest + (*DeleteResult)(nil), // 19: pluggableharness.memory.v1.DeleteResult + (*DeleteRecordResponse)(nil), // 20: pluggableharness.memory.v1.DeleteRecordResponse + (*ApproveRecordRequest)(nil), // 21: pluggableharness.memory.v1.ApproveRecordRequest + (*ApproveRecordResponse)(nil), // 22: pluggableharness.memory.v1.ApproveRecordResponse + (*RejectRecordRequest)(nil), // 23: pluggableharness.memory.v1.RejectRecordRequest + (*RejectRecordResponse)(nil), // 24: pluggableharness.memory.v1.RejectRecordResponse + (*MemoryError)(nil), // 25: pluggableharness.memory.v1.MemoryError + (*RenderRequest)(nil), // 26: pluggableharness.memory.v1.RenderRequest + (*RenderResponse)(nil), // 27: pluggableharness.memory.v1.RenderResponse + (*ListRecordsRequest)(nil), // 28: pluggableharness.memory.v1.ListRecordsRequest + (*ListRecordsResponse)(nil), // 29: pluggableharness.memory.v1.ListRecordsResponse + (*GetRecordRequest)(nil), // 30: pluggableharness.memory.v1.GetRecordRequest + (*GetRecordResponse)(nil), // 31: pluggableharness.memory.v1.GetRecordResponse + (*DescribeRequest)(nil), // 32: pluggableharness.memory.v1.DescribeRequest + (*DescribeResponse)(nil), // 33: pluggableharness.memory.v1.DescribeResponse + (*v1.SlashCommandSpec)(nil), // 34: pluggableharness.slashcommand.v1.SlashCommandSpec + (*v11.ConfigSchema)(nil), // 35: pluggableharness.config.v1.ConfigSchema + (v12.HookPoint)(0), // 36: pluggableharness.common.v1.HookPoint (*structpb.Struct)(nil), // 37: google.protobuf.Struct - (*v13.ModelTarget)(nil), // 38: pluggableharness.agent.model.v1.ModelTarget - (*v14.ContentBlock)(nil), // 39: pluggableharness.agent.content.v1.ContentBlock + (*v13.ModelTarget)(nil), // 38: pluggableharness.model.v1.ModelTarget + (*v14.ContentBlock)(nil), // 39: pluggableharness.content.v1.ContentBlock (*timestamppb.Timestamp)(nil), // 40: google.protobuf.Timestamp - (*v15.RenderTree)(nil), // 41: pluggableharness.agent.render.v1.RenderTree - (*v12.ProducerRef)(nil), // 42: pluggableharness.agent.common.v1.ProducerRef -} -var file_pluggableharness_agent_memory_v1_memory_proto_depIdxs = []int32{ - 0, // 0: pluggableharness.agent.memory.v1.MemoryCapabilities.supported_types:type_name -> pluggableharness.agent.memory.v1.MemoryType - 1, // 1: pluggableharness.agent.memory.v1.MemoryCapabilities.supported_scopes:type_name -> pluggableharness.agent.memory.v1.MemoryScope - 34, // 2: pluggableharness.agent.memory.v1.MemoryCapabilities.slash_commands:type_name -> pluggableharness.agent.slashcommand.v1.SlashCommandSpec - 35, // 3: pluggableharness.agent.memory.v1.MemoryCapabilities.config_schema:type_name -> pluggableharness.agent.config.v1.ConfigSchema - 36, // 4: pluggableharness.agent.memory.v1.MemoryCapabilities.supported_hook_points:type_name -> pluggableharness.agent.common.v1.HookPoint - 5, // 5: pluggableharness.agent.memory.v1.GetCapabilitiesResponse.capabilities:type_name -> pluggableharness.agent.memory.v1.MemoryCapabilities - 37, // 6: pluggableharness.agent.memory.v1.ConfigureRequest.config:type_name -> google.protobuf.Struct - 38, // 7: pluggableharness.agent.memory.v1.RecallRequest.model_target:type_name -> pluggableharness.agent.model.v1.ModelTarget - 0, // 8: pluggableharness.agent.memory.v1.RecallRequest.type_filter:type_name -> pluggableharness.agent.memory.v1.MemoryType - 1, // 9: pluggableharness.agent.memory.v1.RecallRequest.scope_filter:type_name -> pluggableharness.agent.memory.v1.MemoryScope - 11, // 10: pluggableharness.agent.memory.v1.RecallResponse.records:type_name -> pluggableharness.agent.memory.v1.MemoryRecord - 0, // 11: pluggableharness.agent.memory.v1.MemoryRecord.type:type_name -> pluggableharness.agent.memory.v1.MemoryType - 1, // 12: pluggableharness.agent.memory.v1.MemoryRecord.scope:type_name -> pluggableharness.agent.memory.v1.MemoryScope - 39, // 13: pluggableharness.agent.memory.v1.MemoryRecord.content:type_name -> pluggableharness.agent.content.v1.ContentBlock - 2, // 14: pluggableharness.agent.memory.v1.MemoryRecord.status:type_name -> pluggableharness.agent.memory.v1.RecordStatus - 40, // 15: pluggableharness.agent.memory.v1.MemoryRecord.created_at:type_name -> google.protobuf.Timestamp - 40, // 16: pluggableharness.agent.memory.v1.MemoryRecord.updated_at:type_name -> google.protobuf.Timestamp - 12, // 17: pluggableharness.agent.memory.v1.MemoryRecord.provenance:type_name -> pluggableharness.agent.memory.v1.Provenance - 0, // 18: pluggableharness.agent.memory.v1.RecordRequest.type:type_name -> pluggableharness.agent.memory.v1.MemoryType - 1, // 19: pluggableharness.agent.memory.v1.RecordRequest.scope:type_name -> pluggableharness.agent.memory.v1.MemoryScope - 39, // 20: pluggableharness.agent.memory.v1.RecordRequest.content:type_name -> pluggableharness.agent.content.v1.ContentBlock - 2, // 21: pluggableharness.agent.memory.v1.RecordResult.status:type_name -> pluggableharness.agent.memory.v1.RecordStatus - 14, // 22: pluggableharness.agent.memory.v1.RecordResponse.result:type_name -> pluggableharness.agent.memory.v1.RecordResult - 39, // 23: pluggableharness.agent.memory.v1.UpdateRecordRequest.content:type_name -> pluggableharness.agent.content.v1.ContentBlock - 14, // 24: pluggableharness.agent.memory.v1.UpdateRecordResponse.result:type_name -> pluggableharness.agent.memory.v1.RecordResult - 19, // 25: pluggableharness.agent.memory.v1.DeleteRecordResponse.result:type_name -> pluggableharness.agent.memory.v1.DeleteResult - 14, // 26: pluggableharness.agent.memory.v1.ApproveRecordResponse.result:type_name -> pluggableharness.agent.memory.v1.RecordResult - 19, // 27: pluggableharness.agent.memory.v1.RejectRecordResponse.result:type_name -> pluggableharness.agent.memory.v1.DeleteResult - 3, // 28: pluggableharness.agent.memory.v1.MemoryError.category:type_name -> pluggableharness.agent.memory.v1.MemoryErrorCategory - 41, // 29: pluggableharness.agent.memory.v1.RenderResponse.tree:type_name -> pluggableharness.agent.render.v1.RenderTree - 0, // 30: pluggableharness.agent.memory.v1.ListRecordsRequest.type_filter:type_name -> pluggableharness.agent.memory.v1.MemoryType - 1, // 31: pluggableharness.agent.memory.v1.ListRecordsRequest.scope_filter:type_name -> pluggableharness.agent.memory.v1.MemoryScope - 2, // 32: pluggableharness.agent.memory.v1.ListRecordsRequest.status_filter:type_name -> pluggableharness.agent.memory.v1.RecordStatus - 11, // 33: pluggableharness.agent.memory.v1.ListRecordsResponse.records:type_name -> pluggableharness.agent.memory.v1.MemoryRecord - 11, // 34: pluggableharness.agent.memory.v1.GetRecordResponse.record:type_name -> pluggableharness.agent.memory.v1.MemoryRecord - 42, // 35: pluggableharness.agent.memory.v1.DescribeResponse.producer:type_name -> pluggableharness.agent.common.v1.ProducerRef - 4, // 36: pluggableharness.agent.memory.v1.MemoryService.GetCapabilities:input_type -> pluggableharness.agent.memory.v1.GetCapabilitiesRequest - 7, // 37: pluggableharness.agent.memory.v1.MemoryService.Configure:input_type -> pluggableharness.agent.memory.v1.ConfigureRequest - 9, // 38: pluggableharness.agent.memory.v1.MemoryService.Recall:input_type -> pluggableharness.agent.memory.v1.RecallRequest - 13, // 39: pluggableharness.agent.memory.v1.MemoryService.Record:input_type -> pluggableharness.agent.memory.v1.RecordRequest - 16, // 40: pluggableharness.agent.memory.v1.MemoryService.UpdateRecord:input_type -> pluggableharness.agent.memory.v1.UpdateRecordRequest - 18, // 41: pluggableharness.agent.memory.v1.MemoryService.DeleteRecord:input_type -> pluggableharness.agent.memory.v1.DeleteRecordRequest - 21, // 42: pluggableharness.agent.memory.v1.MemoryService.ApproveRecord:input_type -> pluggableharness.agent.memory.v1.ApproveRecordRequest - 23, // 43: pluggableharness.agent.memory.v1.MemoryService.RejectRecord:input_type -> pluggableharness.agent.memory.v1.RejectRecordRequest - 26, // 44: pluggableharness.agent.memory.v1.MemoryService.Render:input_type -> pluggableharness.agent.memory.v1.RenderRequest - 28, // 45: pluggableharness.agent.memory.v1.MemoryService.ListRecords:input_type -> pluggableharness.agent.memory.v1.ListRecordsRequest - 30, // 46: pluggableharness.agent.memory.v1.MemoryService.GetRecord:input_type -> pluggableharness.agent.memory.v1.GetRecordRequest - 32, // 47: pluggableharness.agent.memory.v1.MemoryService.Describe:input_type -> pluggableharness.agent.memory.v1.DescribeRequest - 6, // 48: pluggableharness.agent.memory.v1.MemoryService.GetCapabilities:output_type -> pluggableharness.agent.memory.v1.GetCapabilitiesResponse - 8, // 49: pluggableharness.agent.memory.v1.MemoryService.Configure:output_type -> pluggableharness.agent.memory.v1.ConfigureResponse - 10, // 50: pluggableharness.agent.memory.v1.MemoryService.Recall:output_type -> pluggableharness.agent.memory.v1.RecallResponse - 15, // 51: pluggableharness.agent.memory.v1.MemoryService.Record:output_type -> pluggableharness.agent.memory.v1.RecordResponse - 17, // 52: pluggableharness.agent.memory.v1.MemoryService.UpdateRecord:output_type -> pluggableharness.agent.memory.v1.UpdateRecordResponse - 20, // 53: pluggableharness.agent.memory.v1.MemoryService.DeleteRecord:output_type -> pluggableharness.agent.memory.v1.DeleteRecordResponse - 22, // 54: pluggableharness.agent.memory.v1.MemoryService.ApproveRecord:output_type -> pluggableharness.agent.memory.v1.ApproveRecordResponse - 24, // 55: pluggableharness.agent.memory.v1.MemoryService.RejectRecord:output_type -> pluggableharness.agent.memory.v1.RejectRecordResponse - 27, // 56: pluggableharness.agent.memory.v1.MemoryService.Render:output_type -> pluggableharness.agent.memory.v1.RenderResponse - 29, // 57: pluggableharness.agent.memory.v1.MemoryService.ListRecords:output_type -> pluggableharness.agent.memory.v1.ListRecordsResponse - 31, // 58: pluggableharness.agent.memory.v1.MemoryService.GetRecord:output_type -> pluggableharness.agent.memory.v1.GetRecordResponse - 33, // 59: pluggableharness.agent.memory.v1.MemoryService.Describe:output_type -> pluggableharness.agent.memory.v1.DescribeResponse + (*v15.RenderTree)(nil), // 41: pluggableharness.render.v1.RenderTree + (*v12.ProducerRef)(nil), // 42: pluggableharness.common.v1.ProducerRef +} +var file_pluggableharness_memory_v1_memory_proto_depIdxs = []int32{ + 0, // 0: pluggableharness.memory.v1.MemoryCapabilities.supported_types:type_name -> pluggableharness.memory.v1.MemoryType + 1, // 1: pluggableharness.memory.v1.MemoryCapabilities.supported_scopes:type_name -> pluggableharness.memory.v1.MemoryScope + 34, // 2: pluggableharness.memory.v1.MemoryCapabilities.slash_commands:type_name -> pluggableharness.slashcommand.v1.SlashCommandSpec + 35, // 3: pluggableharness.memory.v1.MemoryCapabilities.config_schema:type_name -> pluggableharness.config.v1.ConfigSchema + 36, // 4: pluggableharness.memory.v1.MemoryCapabilities.supported_hook_points:type_name -> pluggableharness.common.v1.HookPoint + 5, // 5: pluggableharness.memory.v1.GetCapabilitiesResponse.capabilities:type_name -> pluggableharness.memory.v1.MemoryCapabilities + 37, // 6: pluggableharness.memory.v1.ConfigureRequest.config:type_name -> google.protobuf.Struct + 38, // 7: pluggableharness.memory.v1.RecallRequest.model_target:type_name -> pluggableharness.model.v1.ModelTarget + 0, // 8: pluggableharness.memory.v1.RecallRequest.type_filter:type_name -> pluggableharness.memory.v1.MemoryType + 1, // 9: pluggableharness.memory.v1.RecallRequest.scope_filter:type_name -> pluggableharness.memory.v1.MemoryScope + 11, // 10: pluggableharness.memory.v1.RecallResponse.records:type_name -> pluggableharness.memory.v1.MemoryRecord + 0, // 11: pluggableharness.memory.v1.MemoryRecord.type:type_name -> pluggableharness.memory.v1.MemoryType + 1, // 12: pluggableharness.memory.v1.MemoryRecord.scope:type_name -> pluggableharness.memory.v1.MemoryScope + 39, // 13: pluggableharness.memory.v1.MemoryRecord.content:type_name -> pluggableharness.content.v1.ContentBlock + 2, // 14: pluggableharness.memory.v1.MemoryRecord.status:type_name -> pluggableharness.memory.v1.RecordStatus + 40, // 15: pluggableharness.memory.v1.MemoryRecord.created_at:type_name -> google.protobuf.Timestamp + 40, // 16: pluggableharness.memory.v1.MemoryRecord.updated_at:type_name -> google.protobuf.Timestamp + 12, // 17: pluggableharness.memory.v1.MemoryRecord.provenance:type_name -> pluggableharness.memory.v1.Provenance + 0, // 18: pluggableharness.memory.v1.RecordRequest.type:type_name -> pluggableharness.memory.v1.MemoryType + 1, // 19: pluggableharness.memory.v1.RecordRequest.scope:type_name -> pluggableharness.memory.v1.MemoryScope + 39, // 20: pluggableharness.memory.v1.RecordRequest.content:type_name -> pluggableharness.content.v1.ContentBlock + 2, // 21: pluggableharness.memory.v1.RecordResult.status:type_name -> pluggableharness.memory.v1.RecordStatus + 14, // 22: pluggableharness.memory.v1.RecordResponse.result:type_name -> pluggableharness.memory.v1.RecordResult + 39, // 23: pluggableharness.memory.v1.UpdateRecordRequest.content:type_name -> pluggableharness.content.v1.ContentBlock + 14, // 24: pluggableharness.memory.v1.UpdateRecordResponse.result:type_name -> pluggableharness.memory.v1.RecordResult + 19, // 25: pluggableharness.memory.v1.DeleteRecordResponse.result:type_name -> pluggableharness.memory.v1.DeleteResult + 14, // 26: pluggableharness.memory.v1.ApproveRecordResponse.result:type_name -> pluggableharness.memory.v1.RecordResult + 19, // 27: pluggableharness.memory.v1.RejectRecordResponse.result:type_name -> pluggableharness.memory.v1.DeleteResult + 3, // 28: pluggableharness.memory.v1.MemoryError.category:type_name -> pluggableharness.memory.v1.MemoryErrorCategory + 41, // 29: pluggableharness.memory.v1.RenderResponse.tree:type_name -> pluggableharness.render.v1.RenderTree + 0, // 30: pluggableharness.memory.v1.ListRecordsRequest.type_filter:type_name -> pluggableharness.memory.v1.MemoryType + 1, // 31: pluggableharness.memory.v1.ListRecordsRequest.scope_filter:type_name -> pluggableharness.memory.v1.MemoryScope + 2, // 32: pluggableharness.memory.v1.ListRecordsRequest.status_filter:type_name -> pluggableharness.memory.v1.RecordStatus + 11, // 33: pluggableharness.memory.v1.ListRecordsResponse.records:type_name -> pluggableharness.memory.v1.MemoryRecord + 11, // 34: pluggableharness.memory.v1.GetRecordResponse.record:type_name -> pluggableharness.memory.v1.MemoryRecord + 42, // 35: pluggableharness.memory.v1.DescribeResponse.producer:type_name -> pluggableharness.common.v1.ProducerRef + 4, // 36: pluggableharness.memory.v1.MemoryService.GetCapabilities:input_type -> pluggableharness.memory.v1.GetCapabilitiesRequest + 7, // 37: pluggableharness.memory.v1.MemoryService.Configure:input_type -> pluggableharness.memory.v1.ConfigureRequest + 9, // 38: pluggableharness.memory.v1.MemoryService.Recall:input_type -> pluggableharness.memory.v1.RecallRequest + 13, // 39: pluggableharness.memory.v1.MemoryService.Record:input_type -> pluggableharness.memory.v1.RecordRequest + 16, // 40: pluggableharness.memory.v1.MemoryService.UpdateRecord:input_type -> pluggableharness.memory.v1.UpdateRecordRequest + 18, // 41: pluggableharness.memory.v1.MemoryService.DeleteRecord:input_type -> pluggableharness.memory.v1.DeleteRecordRequest + 21, // 42: pluggableharness.memory.v1.MemoryService.ApproveRecord:input_type -> pluggableharness.memory.v1.ApproveRecordRequest + 23, // 43: pluggableharness.memory.v1.MemoryService.RejectRecord:input_type -> pluggableharness.memory.v1.RejectRecordRequest + 26, // 44: pluggableharness.memory.v1.MemoryService.Render:input_type -> pluggableharness.memory.v1.RenderRequest + 28, // 45: pluggableharness.memory.v1.MemoryService.ListRecords:input_type -> pluggableharness.memory.v1.ListRecordsRequest + 30, // 46: pluggableharness.memory.v1.MemoryService.GetRecord:input_type -> pluggableharness.memory.v1.GetRecordRequest + 32, // 47: pluggableharness.memory.v1.MemoryService.Describe:input_type -> pluggableharness.memory.v1.DescribeRequest + 6, // 48: pluggableharness.memory.v1.MemoryService.GetCapabilities:output_type -> pluggableharness.memory.v1.GetCapabilitiesResponse + 8, // 49: pluggableharness.memory.v1.MemoryService.Configure:output_type -> pluggableharness.memory.v1.ConfigureResponse + 10, // 50: pluggableharness.memory.v1.MemoryService.Recall:output_type -> pluggableharness.memory.v1.RecallResponse + 15, // 51: pluggableharness.memory.v1.MemoryService.Record:output_type -> pluggableharness.memory.v1.RecordResponse + 17, // 52: pluggableharness.memory.v1.MemoryService.UpdateRecord:output_type -> pluggableharness.memory.v1.UpdateRecordResponse + 20, // 53: pluggableharness.memory.v1.MemoryService.DeleteRecord:output_type -> pluggableharness.memory.v1.DeleteRecordResponse + 22, // 54: pluggableharness.memory.v1.MemoryService.ApproveRecord:output_type -> pluggableharness.memory.v1.ApproveRecordResponse + 24, // 55: pluggableharness.memory.v1.MemoryService.RejectRecord:output_type -> pluggableharness.memory.v1.RejectRecordResponse + 27, // 56: pluggableharness.memory.v1.MemoryService.Render:output_type -> pluggableharness.memory.v1.RenderResponse + 29, // 57: pluggableharness.memory.v1.MemoryService.ListRecords:output_type -> pluggableharness.memory.v1.ListRecordsResponse + 31, // 58: pluggableharness.memory.v1.MemoryService.GetRecord:output_type -> pluggableharness.memory.v1.GetRecordResponse + 33, // 59: pluggableharness.memory.v1.MemoryService.Describe:output_type -> pluggableharness.memory.v1.DescribeResponse 48, // [48:60] is the sub-list for method output_type 36, // [36:48] is the sub-list for method input_type 36, // [36:36] is the sub-list for extension type_name @@ -2440,32 +2441,32 @@ var file_pluggableharness_agent_memory_v1_memory_proto_depIdxs = []int32{ 0, // [0:36] is the sub-list for field type_name } -func init() { file_pluggableharness_agent_memory_v1_memory_proto_init() } -func file_pluggableharness_agent_memory_v1_memory_proto_init() { - if File_pluggableharness_agent_memory_v1_memory_proto != nil { +func init() { file_pluggableharness_memory_v1_memory_proto_init() } +func file_pluggableharness_memory_v1_memory_proto_init() { + if File_pluggableharness_memory_v1_memory_proto != nil { return } - file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[7].OneofWrappers = []any{} - file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[8].OneofWrappers = []any{} - file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[9].OneofWrappers = []any{} - file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[12].OneofWrappers = []any{} - file_pluggableharness_agent_memory_v1_memory_proto_msgTypes[24].OneofWrappers = []any{} + file_pluggableharness_memory_v1_memory_proto_msgTypes[7].OneofWrappers = []any{} + file_pluggableharness_memory_v1_memory_proto_msgTypes[8].OneofWrappers = []any{} + file_pluggableharness_memory_v1_memory_proto_msgTypes[9].OneofWrappers = []any{} + file_pluggableharness_memory_v1_memory_proto_msgTypes[12].OneofWrappers = []any{} + file_pluggableharness_memory_v1_memory_proto_msgTypes[24].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_memory_v1_memory_proto_rawDesc), len(file_pluggableharness_agent_memory_v1_memory_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_memory_v1_memory_proto_rawDesc), len(file_pluggableharness_memory_v1_memory_proto_rawDesc)), NumEnums: 4, NumMessages: 30, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_pluggableharness_agent_memory_v1_memory_proto_goTypes, - DependencyIndexes: file_pluggableharness_agent_memory_v1_memory_proto_depIdxs, - EnumInfos: file_pluggableharness_agent_memory_v1_memory_proto_enumTypes, - MessageInfos: file_pluggableharness_agent_memory_v1_memory_proto_msgTypes, + GoTypes: file_pluggableharness_memory_v1_memory_proto_goTypes, + DependencyIndexes: file_pluggableharness_memory_v1_memory_proto_depIdxs, + EnumInfos: file_pluggableharness_memory_v1_memory_proto_enumTypes, + MessageInfos: file_pluggableharness_memory_v1_memory_proto_msgTypes, }.Build() - File_pluggableharness_agent_memory_v1_memory_proto = out.File - file_pluggableharness_agent_memory_v1_memory_proto_goTypes = nil - file_pluggableharness_agent_memory_v1_memory_proto_depIdxs = nil + File_pluggableharness_memory_v1_memory_proto = out.File + file_pluggableharness_memory_v1_memory_proto_goTypes = nil + file_pluggableharness_memory_v1_memory_proto_depIdxs = nil } diff --git a/pkg/memory/proto/v1/memory_grpc.pb.go b/pkg/memory/proto/v1/memory_grpc.pb.go index 6816a05..8252e42 100644 --- a/pkg/memory/proto/v1/memory_grpc.pb.go +++ b/pkg/memory/proto/v1/memory_grpc.pb.go @@ -2,9 +2,9 @@ // versions: // - protoc-gen-go-grpc v1.6.2 // - protoc (unknown) -// source: pluggableharness/agent/memory/v1/memory.proto +// source: pluggableharness/memory/v1/memory.proto -// Package pluggableharness.agent.memory.v1 defines the memory provider plugin protocol +// Package pluggableharness.memory.v1 defines the memory provider plugin protocol // described in specifications/memory.md — plugins that persist knowledge // across sessions (the write side) and recall it into future ones (the // read side). A distinct plugin category with its own protocol, not a @@ -28,18 +28,18 @@ import ( const _ = grpc.SupportPackageIsVersion9 const ( - MemoryService_GetCapabilities_FullMethodName = "/pluggableharness.agent.memory.v1.MemoryService/GetCapabilities" - MemoryService_Configure_FullMethodName = "/pluggableharness.agent.memory.v1.MemoryService/Configure" - MemoryService_Recall_FullMethodName = "/pluggableharness.agent.memory.v1.MemoryService/Recall" - MemoryService_Record_FullMethodName = "/pluggableharness.agent.memory.v1.MemoryService/Record" - MemoryService_UpdateRecord_FullMethodName = "/pluggableharness.agent.memory.v1.MemoryService/UpdateRecord" - MemoryService_DeleteRecord_FullMethodName = "/pluggableharness.agent.memory.v1.MemoryService/DeleteRecord" - MemoryService_ApproveRecord_FullMethodName = "/pluggableharness.agent.memory.v1.MemoryService/ApproveRecord" - MemoryService_RejectRecord_FullMethodName = "/pluggableharness.agent.memory.v1.MemoryService/RejectRecord" - MemoryService_Render_FullMethodName = "/pluggableharness.agent.memory.v1.MemoryService/Render" - MemoryService_ListRecords_FullMethodName = "/pluggableharness.agent.memory.v1.MemoryService/ListRecords" - MemoryService_GetRecord_FullMethodName = "/pluggableharness.agent.memory.v1.MemoryService/GetRecord" - MemoryService_Describe_FullMethodName = "/pluggableharness.agent.memory.v1.MemoryService/Describe" + MemoryService_GetCapabilities_FullMethodName = "/pluggableharness.memory.v1.MemoryService/GetCapabilities" + MemoryService_Configure_FullMethodName = "/pluggableharness.memory.v1.MemoryService/Configure" + MemoryService_Recall_FullMethodName = "/pluggableharness.memory.v1.MemoryService/Recall" + MemoryService_Record_FullMethodName = "/pluggableharness.memory.v1.MemoryService/Record" + MemoryService_UpdateRecord_FullMethodName = "/pluggableharness.memory.v1.MemoryService/UpdateRecord" + MemoryService_DeleteRecord_FullMethodName = "/pluggableharness.memory.v1.MemoryService/DeleteRecord" + MemoryService_ApproveRecord_FullMethodName = "/pluggableharness.memory.v1.MemoryService/ApproveRecord" + MemoryService_RejectRecord_FullMethodName = "/pluggableharness.memory.v1.MemoryService/RejectRecord" + MemoryService_Render_FullMethodName = "/pluggableharness.memory.v1.MemoryService/Render" + MemoryService_ListRecords_FullMethodName = "/pluggableharness.memory.v1.MemoryService/ListRecords" + MemoryService_GetRecord_FullMethodName = "/pluggableharness.memory.v1.MemoryService/GetRecord" + MemoryService_Describe_FullMethodName = "/pluggableharness.memory.v1.MemoryService/Describe" ) // MemoryServiceClient is the client API for MemoryService service. @@ -583,7 +583,7 @@ func _MemoryService_Describe_Handler(srv interface{}, ctx context.Context, dec f // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) var MemoryService_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "pluggableharness.agent.memory.v1.MemoryService", + ServiceName: "pluggableharness.memory.v1.MemoryService", HandlerType: (*MemoryServiceServer)(nil), Methods: []grpc.MethodDesc{ { @@ -636,5 +636,5 @@ var MemoryService_ServiceDesc = grpc.ServiceDesc{ }, }, Streams: []grpc.StreamDesc{}, - Metadata: "pluggableharness/agent/memory/v1/memory.proto", + Metadata: "pluggableharness/memory/v1/memory.proto", } diff --git a/pkg/model/proto/v1/model.pb.go b/pkg/model/proto/v1/model.pb.go index 68c6035..cddb71c 100644 --- a/pkg/model/proto/v1/model.pb.go +++ b/pkg/model/proto/v1/model.pb.go @@ -2,9 +2,9 @@ // versions: // protoc-gen-go v1.36.11 // protoc (unknown) -// source: pluggableharness/agent/model/v1/model.proto +// source: pluggableharness/model/v1/model.proto -// Package pluggableharness.agent.model.v1 defines the model (LLM vendor) provider +// Package pluggableharness.model.v1 defines the model (LLM vendor) provider // plugin protocol described in specifications/model.md — see // .claude/rules/proto.md — plus the two distinct model-identity shapes used // across the other specs. The identity shapes are deliberately NOT unified @@ -93,11 +93,11 @@ func (x ThinkingMode) String() string { } func (ThinkingMode) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_model_v1_model_proto_enumTypes[0].Descriptor() + return file_pluggableharness_model_v1_model_proto_enumTypes[0].Descriptor() } func (ThinkingMode) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_model_v1_model_proto_enumTypes[0] + return &file_pluggableharness_model_v1_model_proto_enumTypes[0] } func (x ThinkingMode) Number() protoreflect.EnumNumber { @@ -106,7 +106,7 @@ func (x ThinkingMode) Number() protoreflect.EnumNumber { // Deprecated: Use ThinkingMode.Descriptor instead. func (ThinkingMode) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{0} } // CachingMode enumerates the prompt-caching mechanics found across @@ -155,11 +155,11 @@ func (x CachingMode) String() string { } func (CachingMode) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_model_v1_model_proto_enumTypes[1].Descriptor() + return file_pluggableharness_model_v1_model_proto_enumTypes[1].Descriptor() } func (CachingMode) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_model_v1_model_proto_enumTypes[1] + return &file_pluggableharness_model_v1_model_proto_enumTypes[1] } func (x CachingMode) Number() protoreflect.EnumNumber { @@ -168,7 +168,7 @@ func (x CachingMode) Number() protoreflect.EnumNumber { // Deprecated: Use CachingMode.Descriptor instead. func (CachingMode) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{1} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{1} } // ToolChoiceMode enumerates the tool-invocation constraint shapes found @@ -221,11 +221,11 @@ func (x ToolChoiceMode) String() string { } func (ToolChoiceMode) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_model_v1_model_proto_enumTypes[2].Descriptor() + return file_pluggableharness_model_v1_model_proto_enumTypes[2].Descriptor() } func (ToolChoiceMode) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_model_v1_model_proto_enumTypes[2] + return &file_pluggableharness_model_v1_model_proto_enumTypes[2] } func (x ToolChoiceMode) Number() protoreflect.EnumNumber { @@ -234,7 +234,7 @@ func (x ToolChoiceMode) Number() protoreflect.EnumNumber { // Deprecated: Use ToolChoiceMode.Descriptor instead. func (ToolChoiceMode) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{2} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{2} } // StopReason classifies why a StreamCompletion ended, per model.md §4. @@ -303,11 +303,11 @@ func (x StopReason) String() string { } func (StopReason) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_model_v1_model_proto_enumTypes[3].Descriptor() + return file_pluggableharness_model_v1_model_proto_enumTypes[3].Descriptor() } func (StopReason) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_model_v1_model_proto_enumTypes[3] + return &file_pluggableharness_model_v1_model_proto_enumTypes[3] } func (x StopReason) Number() protoreflect.EnumNumber { @@ -316,7 +316,7 @@ func (x StopReason) Number() protoreflect.EnumNumber { // Deprecated: Use StopReason.Descriptor instead. func (StopReason) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{3} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{3} } // ModelErrorCategory classifies every StreamCompletion/Configure @@ -388,11 +388,11 @@ func (x ModelErrorCategory) String() string { } func (ModelErrorCategory) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_model_v1_model_proto_enumTypes[4].Descriptor() + return file_pluggableharness_model_v1_model_proto_enumTypes[4].Descriptor() } func (ModelErrorCategory) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_model_v1_model_proto_enumTypes[4] + return &file_pluggableharness_model_v1_model_proto_enumTypes[4] } func (x ModelErrorCategory) Number() protoreflect.EnumNumber { @@ -401,7 +401,7 @@ func (x ModelErrorCategory) Number() protoreflect.EnumNumber { // Deprecated: Use ModelErrorCategory.Descriptor instead. func (ModelErrorCategory) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{4} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{4} } // GetCapabilitiesRequest is empty: model.md §2 defines GetCapabilities @@ -414,7 +414,7 @@ type GetCapabilitiesRequest struct { func (x *GetCapabilitiesRequest) Reset() { *x = GetCapabilitiesRequest{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[0] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -426,7 +426,7 @@ func (x *GetCapabilitiesRequest) String() string { func (*GetCapabilitiesRequest) ProtoMessage() {} func (x *GetCapabilitiesRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[0] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -439,7 +439,7 @@ func (x *GetCapabilitiesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCapabilitiesRequest.ProtoReflect.Descriptor instead. func (*GetCapabilitiesRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{0} } // GetCapabilitiesResponse wraps Capabilities for the RPC signature, per @@ -453,7 +453,7 @@ type GetCapabilitiesResponse struct { func (x *GetCapabilitiesResponse) Reset() { *x = GetCapabilitiesResponse{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[1] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -465,7 +465,7 @@ func (x *GetCapabilitiesResponse) String() string { func (*GetCapabilitiesResponse) ProtoMessage() {} func (x *GetCapabilitiesResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[1] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -478,7 +478,7 @@ func (x *GetCapabilitiesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCapabilitiesResponse.ProtoReflect.Descriptor instead. func (*GetCapabilitiesResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{1} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{1} } func (x *GetCapabilitiesResponse) GetCapabilities() *Capabilities { @@ -516,14 +516,14 @@ type Capabilities struct { // `buf build`, which rejects it outright ("detected cyclic import"). // HookPoint itself lives in common.v1 for exactly this reason (see // common.proto), already imported here for CallContext/Describe. - SupportedHookPoints []v12.HookPoint `protobuf:"varint,4,rep,packed,name=supported_hook_points,json=supportedHookPoints,proto3,enum=pluggableharness.agent.common.v1.HookPoint" json:"supported_hook_points,omitempty"` + SupportedHookPoints []v12.HookPoint `protobuf:"varint,4,rep,packed,name=supported_hook_points,json=supportedHookPoints,proto3,enum=pluggableharness.common.v1.HookPoint" json:"supported_hook_points,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *Capabilities) Reset() { *x = Capabilities{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[2] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -535,7 +535,7 @@ func (x *Capabilities) String() string { func (*Capabilities) ProtoMessage() {} func (x *Capabilities) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[2] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -548,7 +548,7 @@ func (x *Capabilities) ProtoReflect() protoreflect.Message { // Deprecated: Use Capabilities.ProtoReflect.Descriptor instead. func (*Capabilities) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{2} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{2} } func (x *Capabilities) GetModels() []*ModelSpec { @@ -597,7 +597,7 @@ type ConfigureRequest struct { func (x *ConfigureRequest) Reset() { *x = ConfigureRequest{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[3] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -609,7 +609,7 @@ func (x *ConfigureRequest) String() string { func (*ConfigureRequest) ProtoMessage() {} func (x *ConfigureRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[3] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -622,7 +622,7 @@ func (x *ConfigureRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigureRequest.ProtoReflect.Descriptor instead. func (*ConfigureRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{3} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{3} } func (x *ConfigureRequest) GetConfig() *structpb.Struct { @@ -645,7 +645,7 @@ type ConfigureResponse struct { func (x *ConfigureResponse) Reset() { *x = ConfigureResponse{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[4] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -657,7 +657,7 @@ func (x *ConfigureResponse) String() string { func (*ConfigureResponse) ProtoMessage() {} func (x *ConfigureResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[4] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -670,7 +670,7 @@ func (x *ConfigureResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigureResponse.ProtoReflect.Descriptor instead. func (*ConfigureResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{4} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{4} } // DescribeRequest is empty: Describe takes no request parameters, per @@ -683,7 +683,7 @@ type DescribeRequest struct { func (x *DescribeRequest) Reset() { *x = DescribeRequest{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[5] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -695,7 +695,7 @@ func (x *DescribeRequest) String() string { func (*DescribeRequest) ProtoMessage() {} func (x *DescribeRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[5] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -708,7 +708,7 @@ func (x *DescribeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DescribeRequest.ProtoReflect.Descriptor instead. func (*DescribeRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{5} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{5} } // DescribeResponse reports this plugin build's own identity, per @@ -724,7 +724,7 @@ type DescribeResponse struct { func (x *DescribeResponse) Reset() { *x = DescribeResponse{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[6] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -736,7 +736,7 @@ func (x *DescribeResponse) String() string { func (*DescribeResponse) ProtoMessage() {} func (x *DescribeResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[6] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -749,7 +749,7 @@ func (x *DescribeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DescribeResponse.ProtoReflect.Descriptor instead. func (*DescribeResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{6} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{6} } func (x *DescribeResponse) GetProducer() *v12.ProducerRef { @@ -805,7 +805,7 @@ type ModelSpec struct { // tool choice at all (only free-form model-decides behavior); the // kernel MUST NOT send a GenerationParams.tool_choice with a mode // absent from this list. - SupportedToolChoiceModes []ToolChoiceMode `protobuf:"varint,11,rep,packed,name=supported_tool_choice_modes,json=supportedToolChoiceModes,proto3,enum=pluggableharness.agent.model.v1.ToolChoiceMode" json:"supported_tool_choice_modes,omitempty"` + SupportedToolChoiceModes []ToolChoiceMode `protobuf:"varint,11,rep,packed,name=supported_tool_choice_modes,json=supportedToolChoiceModes,proto3,enum=pluggableharness.model.v1.ToolChoiceMode" json:"supported_tool_choice_modes,omitempty"` // Whether this model can accept document content blocks (content.v1 // DocumentBlock, e.g. inline PDFs). Mirrors supports_vision's rule: // the kernel MUST reject a DocumentBlock sent to a model where this is @@ -817,7 +817,7 @@ type ModelSpec struct { func (x *ModelSpec) Reset() { *x = ModelSpec{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[7] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -829,7 +829,7 @@ func (x *ModelSpec) String() string { func (*ModelSpec) ProtoMessage() {} func (x *ModelSpec) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[7] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -842,7 +842,7 @@ func (x *ModelSpec) ProtoReflect() protoreflect.Message { // Deprecated: Use ModelSpec.ProtoReflect.Descriptor instead. func (*ModelSpec) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{7} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{7} } func (x *ModelSpec) GetId() string { @@ -943,7 +943,7 @@ type ThinkingBudgetRange struct { func (x *ThinkingBudgetRange) Reset() { *x = ThinkingBudgetRange{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[8] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -955,7 +955,7 @@ func (x *ThinkingBudgetRange) String() string { func (*ThinkingBudgetRange) ProtoMessage() {} func (x *ThinkingBudgetRange) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[8] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -968,7 +968,7 @@ func (x *ThinkingBudgetRange) ProtoReflect() protoreflect.Message { // Deprecated: Use ThinkingBudgetRange.ProtoReflect.Descriptor instead. func (*ThinkingBudgetRange) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{8} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{8} } func (x *ThinkingBudgetRange) GetMin() int64 { @@ -993,7 +993,7 @@ type ThinkingSpec struct { Supported bool `protobuf:"varint,1,opt,name=supported,proto3" json:"supported,omitempty"` // Which reasoning-control shape this model uses. MUST be // THINKING_MODE_NONE when supported == false. - Mode ThinkingMode `protobuf:"varint,2,opt,name=mode,proto3,enum=pluggableharness.agent.model.v1.ThinkingMode" json:"mode,omitempty"` + Mode ThinkingMode `protobuf:"varint,2,opt,name=mode,proto3,enum=pluggableharness.model.v1.ThinkingMode" json:"mode,omitempty"` // The selectable effort levels, e.g. ["low","medium","high","xhigh", // "max"]. MUST be non-empty when mode == THINKING_MODE_DISCRETE_EFFORT; // meaningless otherwise. @@ -1019,7 +1019,7 @@ type ThinkingSpec struct { func (x *ThinkingSpec) Reset() { *x = ThinkingSpec{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[9] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1031,7 +1031,7 @@ func (x *ThinkingSpec) String() string { func (*ThinkingSpec) ProtoMessage() {} func (x *ThinkingSpec) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[9] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1044,7 +1044,7 @@ func (x *ThinkingSpec) ProtoReflect() protoreflect.Message { // Deprecated: Use ThinkingSpec.ProtoReflect.Descriptor instead. func (*ThinkingSpec) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{9} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{9} } func (x *ThinkingSpec) GetSupported() bool { @@ -1097,7 +1097,7 @@ type CachingSpec struct { Supported bool `protobuf:"varint,1,opt,name=supported,proto3" json:"supported,omitempty"` // Which caching mechanic this model uses. MUST be CACHING_MODE_NONE // when supported == false. - Mode CachingMode `protobuf:"varint,2,opt,name=mode,proto3,enum=pluggableharness.agent.model.v1.CachingMode" json:"mode,omitempty"` + Mode CachingMode `protobuf:"varint,2,opt,name=mode,proto3,enum=pluggableharness.model.v1.CachingMode" json:"mode,omitempty"` // Whether this provider runs its own cache-keepalive loop (e.g. a // background goroutine re-pinging before a cache TTL expires, so a long // tool-execution gap doesn't let the cache go cold). MUST be set, @@ -1112,7 +1112,7 @@ type CachingSpec struct { func (x *CachingSpec) Reset() { *x = CachingSpec{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[10] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1124,7 +1124,7 @@ func (x *CachingSpec) String() string { func (*CachingSpec) ProtoMessage() {} func (x *CachingSpec) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[10] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1137,7 +1137,7 @@ func (x *CachingSpec) ProtoReflect() protoreflect.Message { // Deprecated: Use CachingSpec.ProtoReflect.Descriptor instead. func (*CachingSpec) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{10} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{10} } func (x *CachingSpec) GetSupported() bool { @@ -1216,7 +1216,7 @@ type PricingTier struct { func (x *PricingTier) Reset() { *x = PricingTier{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[11] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1228,7 +1228,7 @@ func (x *PricingTier) String() string { func (*PricingTier) ProtoMessage() {} func (x *PricingTier) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[11] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1241,7 +1241,7 @@ func (x *PricingTier) ProtoReflect() protoreflect.Message { // Deprecated: Use PricingTier.ProtoReflect.Descriptor instead. func (*PricingTier) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{11} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{11} } func (x *PricingTier) GetEffectiveFrom() *timestamppb.Timestamp { @@ -1336,7 +1336,7 @@ type Pricing struct { func (x *Pricing) Reset() { *x = Pricing{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[12] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1348,7 +1348,7 @@ func (x *Pricing) String() string { func (*Pricing) ProtoMessage() {} func (x *Pricing) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[12] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1361,7 +1361,7 @@ func (x *Pricing) ProtoReflect() protoreflect.Message { // Deprecated: Use Pricing.ProtoReflect.Descriptor instead. func (*Pricing) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{12} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{12} } func (x *Pricing) GetCurrency() string { @@ -1444,7 +1444,7 @@ type StreamCompletionRequest struct { func (x *StreamCompletionRequest) Reset() { *x = StreamCompletionRequest{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[13] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1456,7 +1456,7 @@ func (x *StreamCompletionRequest) String() string { func (*StreamCompletionRequest) ProtoMessage() {} func (x *StreamCompletionRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[13] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1469,7 +1469,7 @@ func (x *StreamCompletionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamCompletionRequest.ProtoReflect.Descriptor instead. func (*StreamCompletionRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{13} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{13} } func (x *StreamCompletionRequest) GetMessages() []*v13.Message { @@ -1540,7 +1540,7 @@ type CacheBreakpoint struct { func (x *CacheBreakpoint) Reset() { *x = CacheBreakpoint{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[14] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1552,7 +1552,7 @@ func (x *CacheBreakpoint) String() string { func (*CacheBreakpoint) ProtoMessage() {} func (x *CacheBreakpoint) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[14] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1565,7 +1565,7 @@ func (x *CacheBreakpoint) ProtoReflect() protoreflect.Message { // Deprecated: Use CacheBreakpoint.ProtoReflect.Descriptor instead. func (*CacheBreakpoint) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{14} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{14} } func (x *CacheBreakpoint) GetPosition() isCacheBreakpoint_Position { @@ -1642,7 +1642,7 @@ type ToolDeclaration struct { // whether and how to call this tool. Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` // The tool's input shape, in the restricted JSON-Schema subset shared - // across categories (model.md §6, pluggableharness.agent.schema.v1.Schema). + // across categories (model.md §6, pluggableharness.schema.v1.Schema). InputSchema *v14.Schema `protobuf:"bytes,3,opt,name=input_schema,json=inputSchema,proto3" json:"input_schema,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -1650,7 +1650,7 @@ type ToolDeclaration struct { func (x *ToolDeclaration) Reset() { *x = ToolDeclaration{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[15] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1662,7 +1662,7 @@ func (x *ToolDeclaration) String() string { func (*ToolDeclaration) ProtoMessage() {} func (x *ToolDeclaration) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[15] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1675,7 +1675,7 @@ func (x *ToolDeclaration) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolDeclaration.ProtoReflect.Descriptor instead. func (*ToolDeclaration) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{15} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{15} } func (x *ToolDeclaration) GetName() string { @@ -1739,7 +1739,7 @@ type GenerationParams struct { func (x *GenerationParams) Reset() { *x = GenerationParams{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[16] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1751,7 +1751,7 @@ func (x *GenerationParams) String() string { func (*GenerationParams) ProtoMessage() {} func (x *GenerationParams) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[16] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1764,7 +1764,7 @@ func (x *GenerationParams) ProtoReflect() protoreflect.Message { // Deprecated: Use GenerationParams.ProtoReflect.Descriptor instead. func (*GenerationParams) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{16} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{16} } func (x *GenerationParams) GetThinkingEffort() string { @@ -1814,7 +1814,7 @@ func (x *GenerationParams) GetToolChoice() *ToolChoice { type ToolChoice struct { state protoimpl.MessageState `protogen:"open.v1"` // Which constraint shape applies. MUST be set. - Mode ToolChoiceMode `protobuf:"varint,1,opt,name=mode,proto3,enum=pluggableharness.agent.model.v1.ToolChoiceMode" json:"mode,omitempty"` + Mode ToolChoiceMode `protobuf:"varint,1,opt,name=mode,proto3,enum=pluggableharness.model.v1.ToolChoiceMode" json:"mode,omitempty"` // The tool the model MUST call. MUST be set, and MUST name a tool // present in StreamCompletionRequest.tools, when mode == // TOOL_CHOICE_MODE_SPECIFIC; meaningless and MUST be omitted for every @@ -1826,7 +1826,7 @@ type ToolChoice struct { func (x *ToolChoice) Reset() { *x = ToolChoice{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[17] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1838,7 +1838,7 @@ func (x *ToolChoice) String() string { func (*ToolChoice) ProtoMessage() {} func (x *ToolChoice) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[17] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1851,7 +1851,7 @@ func (x *ToolChoice) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolChoice.ProtoReflect.Descriptor instead. func (*ToolChoice) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{17} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{17} } func (x *ToolChoice) GetMode() ToolChoiceMode { @@ -1890,7 +1890,7 @@ type StreamEvent struct { func (x *StreamEvent) Reset() { *x = StreamEvent{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[18] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1902,7 +1902,7 @@ func (x *StreamEvent) String() string { func (*StreamEvent) ProtoMessage() {} func (x *StreamEvent) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[18] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1915,7 +1915,7 @@ func (x *StreamEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamEvent.ProtoReflect.Descriptor instead. func (*StreamEvent) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{18} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{18} } func (x *StreamEvent) GetEvent() isStreamEvent_Event { @@ -2106,7 +2106,7 @@ type Usage struct { func (x *Usage) Reset() { *x = Usage{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[19] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2118,7 +2118,7 @@ func (x *Usage) String() string { func (*Usage) ProtoMessage() {} func (x *Usage) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[19] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2131,7 +2131,7 @@ func (x *Usage) ProtoReflect() protoreflect.Message { // Deprecated: Use Usage.ProtoReflect.Descriptor instead. func (*Usage) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{19} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{19} } func (x *Usage) GetInputTokens() int64 { @@ -2185,7 +2185,7 @@ type CountTokensRequest struct { func (x *CountTokensRequest) Reset() { *x = CountTokensRequest{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[20] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2197,7 +2197,7 @@ func (x *CountTokensRequest) String() string { func (*CountTokensRequest) ProtoMessage() {} func (x *CountTokensRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[20] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2210,7 +2210,7 @@ func (x *CountTokensRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CountTokensRequest.ProtoReflect.Descriptor instead. func (*CountTokensRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{20} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{20} } func (x *CountTokensRequest) GetText() string { @@ -2238,7 +2238,7 @@ type CountTokensResponse struct { func (x *CountTokensResponse) Reset() { *x = CountTokensResponse{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[21] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2250,7 +2250,7 @@ func (x *CountTokensResponse) String() string { func (*CountTokensResponse) ProtoMessage() {} func (x *CountTokensResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[21] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2263,7 +2263,7 @@ func (x *CountTokensResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CountTokensResponse.ProtoReflect.Descriptor instead. func (*CountTokensResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{21} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{21} } func (x *CountTokensResponse) GetCount() int64 { @@ -2293,7 +2293,7 @@ type RenderRequest struct { func (x *RenderRequest) Reset() { *x = RenderRequest{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[22] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2305,7 +2305,7 @@ func (x *RenderRequest) String() string { func (*RenderRequest) ProtoMessage() {} func (x *RenderRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[22] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2318,7 +2318,7 @@ func (x *RenderRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RenderRequest.ProtoReflect.Descriptor instead. func (*RenderRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{22} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{22} } func (x *RenderRequest) GetPayload() []byte { @@ -2349,7 +2349,7 @@ type RenderResponse struct { func (x *RenderResponse) Reset() { *x = RenderResponse{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[23] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2361,7 +2361,7 @@ func (x *RenderResponse) String() string { func (*RenderResponse) ProtoMessage() {} func (x *RenderResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[23] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2374,7 +2374,7 @@ func (x *RenderResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RenderResponse.ProtoReflect.Descriptor instead. func (*RenderResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{23} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{23} } func (x *RenderResponse) GetTree() *v15.RenderTree { @@ -2389,7 +2389,7 @@ func (x *RenderResponse) GetTree() *v15.RenderTree { type ModelError struct { state protoimpl.MessageState `protogen:"open.v1"` // This failure's category. MUST be set. - Category ModelErrorCategory `protobuf:"varint,1,opt,name=category,proto3,enum=pluggableharness.agent.model.v1.ModelErrorCategory" json:"category,omitempty"` + Category ModelErrorCategory `protobuf:"varint,1,opt,name=category,proto3,enum=pluggableharness.model.v1.ModelErrorCategory" json:"category,omitempty"` // Human-readable description of the failure. Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` // Whether the kernel may retry this request as-is. @@ -2408,7 +2408,7 @@ type ModelError struct { func (x *ModelError) Reset() { *x = ModelError{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[24] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2420,7 +2420,7 @@ func (x *ModelError) String() string { func (*ModelError) ProtoMessage() {} func (x *ModelError) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[24] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2433,7 +2433,7 @@ func (x *ModelError) ProtoReflect() protoreflect.Message { // Deprecated: Use ModelError.ProtoReflect.Descriptor instead. func (*ModelError) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{24} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{24} } func (x *ModelError) GetCategory() ModelErrorCategory { @@ -2496,7 +2496,7 @@ type ModelTarget struct { func (x *ModelTarget) Reset() { *x = ModelTarget{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[25] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2508,7 +2508,7 @@ func (x *ModelTarget) String() string { func (*ModelTarget) ProtoMessage() {} func (x *ModelTarget) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[25] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2521,7 +2521,7 @@ func (x *ModelTarget) ProtoReflect() protoreflect.Message { // Deprecated: Use ModelTarget.ProtoReflect.Descriptor instead. func (*ModelTarget) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{25} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{25} } func (x *ModelTarget) GetId() string { @@ -2562,7 +2562,7 @@ type ModelRef struct { func (x *ModelRef) Reset() { *x = ModelRef{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[26] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2574,7 +2574,7 @@ func (x *ModelRef) String() string { func (*ModelRef) ProtoMessage() {} func (x *ModelRef) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[26] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2587,7 +2587,7 @@ func (x *ModelRef) ProtoReflect() protoreflect.Message { // Deprecated: Use ModelRef.ProtoReflect.Descriptor instead. func (*ModelRef) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{26} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{26} } func (x *ModelRef) GetProvider() string { @@ -2614,7 +2614,7 @@ type CacheBreakpoint_AfterAssembledContext struct { func (x *CacheBreakpoint_AfterAssembledContext) Reset() { *x = CacheBreakpoint_AfterAssembledContext{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[27] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2626,7 +2626,7 @@ func (x *CacheBreakpoint_AfterAssembledContext) String() string { func (*CacheBreakpoint_AfterAssembledContext) ProtoMessage() {} func (x *CacheBreakpoint_AfterAssembledContext) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[27] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2639,7 +2639,7 @@ func (x *CacheBreakpoint_AfterAssembledContext) ProtoReflect() protoreflect.Mess // Deprecated: Use CacheBreakpoint_AfterAssembledContext.ProtoReflect.Descriptor instead. func (*CacheBreakpoint_AfterAssembledContext) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{14, 0} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{14, 0} } // AfterTools is an empty marker message: its presence as the set oneof @@ -2652,7 +2652,7 @@ type CacheBreakpoint_AfterTools struct { func (x *CacheBreakpoint_AfterTools) Reset() { *x = CacheBreakpoint_AfterTools{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[28] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2664,7 +2664,7 @@ func (x *CacheBreakpoint_AfterTools) String() string { func (*CacheBreakpoint_AfterTools) ProtoMessage() {} func (x *CacheBreakpoint_AfterTools) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[28] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2677,7 +2677,7 @@ func (x *CacheBreakpoint_AfterTools) ProtoReflect() protoreflect.Message { // Deprecated: Use CacheBreakpoint_AfterTools.ProtoReflect.Descriptor instead. func (*CacheBreakpoint_AfterTools) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{14, 1} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{14, 1} } // TextDelta carries one incremental fragment of assistant text output. @@ -2692,7 +2692,7 @@ type StreamEvent_TextDelta struct { func (x *StreamEvent_TextDelta) Reset() { *x = StreamEvent_TextDelta{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[29] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2704,7 +2704,7 @@ func (x *StreamEvent_TextDelta) String() string { func (*StreamEvent_TextDelta) ProtoMessage() {} func (x *StreamEvent_TextDelta) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[29] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2717,7 +2717,7 @@ func (x *StreamEvent_TextDelta) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamEvent_TextDelta.ProtoReflect.Descriptor instead. func (*StreamEvent_TextDelta) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{18, 0} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{18, 0} } func (x *StreamEvent_TextDelta) GetText() string { @@ -2740,7 +2740,7 @@ type StreamEvent_ThinkingDelta struct { func (x *StreamEvent_ThinkingDelta) Reset() { *x = StreamEvent_ThinkingDelta{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[30] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2752,7 +2752,7 @@ func (x *StreamEvent_ThinkingDelta) String() string { func (*StreamEvent_ThinkingDelta) ProtoMessage() {} func (x *StreamEvent_ThinkingDelta) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[30] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2765,7 +2765,7 @@ func (x *StreamEvent_ThinkingDelta) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamEvent_ThinkingDelta.ProtoReflect.Descriptor instead. func (*StreamEvent_ThinkingDelta) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{18, 1} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{18, 1} } func (x *StreamEvent_ThinkingDelta) GetText() string { @@ -2790,7 +2790,7 @@ type StreamEvent_ThinkingSignature struct { func (x *StreamEvent_ThinkingSignature) Reset() { *x = StreamEvent_ThinkingSignature{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[31] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2802,7 +2802,7 @@ func (x *StreamEvent_ThinkingSignature) String() string { func (*StreamEvent_ThinkingSignature) ProtoMessage() {} func (x *StreamEvent_ThinkingSignature) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[31] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2815,7 +2815,7 @@ func (x *StreamEvent_ThinkingSignature) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamEvent_ThinkingSignature.ProtoReflect.Descriptor instead. func (*StreamEvent_ThinkingSignature) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{18, 2} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{18, 2} } func (x *StreamEvent_ThinkingSignature) GetSignature() []byte { @@ -2840,7 +2840,7 @@ type StreamEvent_ToolCallStart struct { func (x *StreamEvent_ToolCallStart) Reset() { *x = StreamEvent_ToolCallStart{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[32] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2852,7 +2852,7 @@ func (x *StreamEvent_ToolCallStart) String() string { func (*StreamEvent_ToolCallStart) ProtoMessage() {} func (x *StreamEvent_ToolCallStart) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[32] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2865,7 +2865,7 @@ func (x *StreamEvent_ToolCallStart) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamEvent_ToolCallStart.ProtoReflect.Descriptor instead. func (*StreamEvent_ToolCallStart) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{18, 3} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{18, 3} } func (x *StreamEvent_ToolCallStart) GetId() string { @@ -2897,7 +2897,7 @@ type StreamEvent_ToolCallDelta struct { func (x *StreamEvent_ToolCallDelta) Reset() { *x = StreamEvent_ToolCallDelta{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[33] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2909,7 +2909,7 @@ func (x *StreamEvent_ToolCallDelta) String() string { func (*StreamEvent_ToolCallDelta) ProtoMessage() {} func (x *StreamEvent_ToolCallDelta) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[33] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2922,7 +2922,7 @@ func (x *StreamEvent_ToolCallDelta) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamEvent_ToolCallDelta.ProtoReflect.Descriptor instead. func (*StreamEvent_ToolCallDelta) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{18, 4} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{18, 4} } func (x *StreamEvent_ToolCallDelta) GetId() string { @@ -2951,7 +2951,7 @@ type StreamEvent_ToolCallDone struct { func (x *StreamEvent_ToolCallDone) Reset() { *x = StreamEvent_ToolCallDone{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[34] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2963,7 +2963,7 @@ func (x *StreamEvent_ToolCallDone) String() string { func (*StreamEvent_ToolCallDone) ProtoMessage() {} func (x *StreamEvent_ToolCallDone) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[34] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[34] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2976,7 +2976,7 @@ func (x *StreamEvent_ToolCallDone) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamEvent_ToolCallDone.ProtoReflect.Descriptor instead. func (*StreamEvent_ToolCallDone) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{18, 5} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{18, 5} } func (x *StreamEvent_ToolCallDone) GetId() string { @@ -2990,7 +2990,7 @@ func (x *StreamEvent_ToolCallDone) GetId() string { type StreamEvent_Stop struct { state protoimpl.MessageState `protogen:"open.v1"` // Why the completion ended. - Reason StopReason `protobuf:"varint,1,opt,name=reason,proto3,enum=pluggableharness.agent.model.v1.StopReason" json:"reason,omitempty"` + Reason StopReason `protobuf:"varint,1,opt,name=reason,proto3,enum=pluggableharness.model.v1.StopReason" json:"reason,omitempty"` // Which GenerationParams.stop_sequences entry was matched. Set iff // reason == STOP_REASON_STOP_SEQUENCE; MUST be omitted for every // other reason. @@ -3001,7 +3001,7 @@ type StreamEvent_Stop struct { func (x *StreamEvent_Stop) Reset() { *x = StreamEvent_Stop{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[35] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3013,7 +3013,7 @@ func (x *StreamEvent_Stop) String() string { func (*StreamEvent_Stop) ProtoMessage() {} func (x *StreamEvent_Stop) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[35] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[35] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3026,7 +3026,7 @@ func (x *StreamEvent_Stop) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamEvent_Stop.ProtoReflect.Descriptor instead. func (*StreamEvent_Stop) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{18, 6} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{18, 6} } func (x *StreamEvent_Stop) GetReason() StopReason { @@ -3054,7 +3054,7 @@ type StreamEvent_Error struct { func (x *StreamEvent_Error) Reset() { *x = StreamEvent_Error{} - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[36] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3066,7 +3066,7 @@ func (x *StreamEvent_Error) String() string { func (*StreamEvent_Error) ProtoMessage() {} func (x *StreamEvent_Error) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_model_v1_model_proto_msgTypes[36] + mi := &file_pluggableharness_model_v1_model_proto_msgTypes[36] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3079,7 +3079,7 @@ func (x *StreamEvent_Error) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamEvent_Error.ProtoReflect.Descriptor instead. func (*StreamEvent_Error) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_model_v1_model_proto_rawDescGZIP(), []int{18, 7} + return file_pluggableharness_model_v1_model_proto_rawDescGZIP(), []int{18, 7} } func (x *StreamEvent_Error) GetError() *ModelError { @@ -3089,25 +3089,25 @@ func (x *StreamEvent_Error) GetError() *ModelError { return nil } -var File_pluggableharness_agent_model_v1_model_proto protoreflect.FileDescriptor +var File_pluggableharness_model_v1_model_proto protoreflect.FileDescriptor -const file_pluggableharness_agent_model_v1_model_proto_rawDesc = "" + +const file_pluggableharness_model_v1_model_proto_rawDesc = "" + "\n" + - "+pluggableharness/agent/model/v1/model.proto\x12\x1fpluggableharness.agent.model.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a-pluggableharness/agent/common/v1/common.proto\x1a-pluggableharness/agent/config/v1/config.proto\x1a/pluggableharness/agent/content/v1/content.proto\x1a-pluggableharness/agent/render/v1/render.proto\x1a-pluggableharness/agent/schema/v1/schema.proto\x1a9pluggableharness/agent/slashcommand/v1/slashcommand.proto\"\x18\n" + - "\x16GetCapabilitiesRequest\"l\n" + - "\x17GetCapabilitiesResponse\x12Q\n" + - "\fcapabilities\x18\x01 \x01(\v2-.pluggableharness.agent.model.v1.CapabilitiesR\fcapabilities\"\xe9\x02\n" + - "\fCapabilities\x12B\n" + - "\x06models\x18\x01 \x03(\v2*.pluggableharness.agent.model.v1.ModelSpecR\x06models\x12_\n" + - "\x0eslash_commands\x18\x02 \x03(\v28.pluggableharness.agent.slashcommand.v1.SlashCommandSpecR\rslashCommands\x12S\n" + - "\rconfig_schema\x18\x03 \x01(\v2..pluggableharness.agent.config.v1.ConfigSchemaR\fconfigSchema\x12_\n" + - "\x15supported_hook_points\x18\x04 \x03(\x0e2+.pluggableharness.agent.common.v1.HookPointR\x13supportedHookPoints\"C\n" + + "%pluggableharness/model/v1/model.proto\x12\x19pluggableharness.model.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a'pluggableharness/common/v1/common.proto\x1a'pluggableharness/config/v1/config.proto\x1a)pluggableharness/content/v1/content.proto\x1a'pluggableharness/render/v1/render.proto\x1a'pluggableharness/schema/v1/schema.proto\x1a3pluggableharness/slashcommand/v1/slashcommand.proto\"\x18\n" + + "\x16GetCapabilitiesRequest\"f\n" + + "\x17GetCapabilitiesResponse\x12K\n" + + "\fcapabilities\x18\x01 \x01(\v2'.pluggableharness.model.v1.CapabilitiesR\fcapabilities\"\xd1\x02\n" + + "\fCapabilities\x12<\n" + + "\x06models\x18\x01 \x03(\v2$.pluggableharness.model.v1.ModelSpecR\x06models\x12Y\n" + + "\x0eslash_commands\x18\x02 \x03(\v22.pluggableharness.slashcommand.v1.SlashCommandSpecR\rslashCommands\x12M\n" + + "\rconfig_schema\x18\x03 \x01(\v2(.pluggableharness.config.v1.ConfigSchemaR\fconfigSchema\x12Y\n" + + "\x15supported_hook_points\x18\x04 \x03(\x0e2%.pluggableharness.common.v1.HookPointR\x13supportedHookPoints\"C\n" + "\x10ConfigureRequest\x12/\n" + "\x06config\x18\x01 \x01(\v2\x17.google.protobuf.StructR\x06config\"\x13\n" + "\x11ConfigureResponse\"\x11\n" + - "\x0fDescribeRequest\"]\n" + - "\x10DescribeResponse\x12I\n" + - "\bproducer\x18\x01 \x01(\v2-.pluggableharness.agent.common.v1.ProducerRefR\bproducer\"\xcf\x05\n" + + "\x0fDescribeRequest\"W\n" + + "\x10DescribeResponse\x12C\n" + + "\bproducer\x18\x01 \x01(\v2'.pluggableharness.common.v1.ProducerRefR\bproducer\"\xb7\x05\n" + "\tModelSpec\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12%\n" + "\x0econtext_window\x18\x02 \x01(\x03R\rcontextWindow\x12*\n" + @@ -3115,31 +3115,31 @@ const file_pluggableharness_agent_model_v1_model_proto_rawDesc = "" + "\x11supports_tool_use\x18\x04 \x01(\bR\x0fsupportsToolUse\x12'\n" + "\x0fsupports_vision\x18\x05 \x01(\bR\x0esupportsVision\x12-\n" + "\x12supports_streaming\x18\x06 \x01(\bR\x11supportsStreaming\x12D\n" + - "\x1csupports_parallel_tool_calls\x18\a \x01(\bH\x00R\x19supportsParallelToolCalls\x88\x01\x01\x12I\n" + - "\bthinking\x18\b \x01(\v2-.pluggableharness.agent.model.v1.ThinkingSpecR\bthinking\x12F\n" + - "\acaching\x18\t \x01(\v2,.pluggableharness.agent.model.v1.CachingSpecR\acaching\x12B\n" + + "\x1csupports_parallel_tool_calls\x18\a \x01(\bH\x00R\x19supportsParallelToolCalls\x88\x01\x01\x12C\n" + + "\bthinking\x18\b \x01(\v2'.pluggableharness.model.v1.ThinkingSpecR\bthinking\x12@\n" + + "\acaching\x18\t \x01(\v2&.pluggableharness.model.v1.CachingSpecR\acaching\x12<\n" + "\apricing\x18\n" + - " \x01(\v2(.pluggableharness.agent.model.v1.PricingR\apricing\x12n\n" + - "\x1bsupported_tool_choice_modes\x18\v \x03(\x0e2/.pluggableharness.agent.model.v1.ToolChoiceModeR\x18supportedToolChoiceModes\x12-\n" + + " \x01(\v2\".pluggableharness.model.v1.PricingR\apricing\x12h\n" + + "\x1bsupported_tool_choice_modes\x18\v \x03(\x0e2).pluggableharness.model.v1.ToolChoiceModeR\x18supportedToolChoiceModes\x12-\n" + "\x12supports_documents\x18\f \x01(\bR\x11supportsDocumentsB\x1f\n" + "\x1d_supports_parallel_tool_calls\"9\n" + "\x13ThinkingBudgetRange\x12\x10\n" + "\x03min\x18\x01 \x01(\x03R\x03min\x12\x10\n" + - "\x03max\x18\x02 \x01(\x03R\x03max\"\xcf\x02\n" + + "\x03max\x18\x02 \x01(\x03R\x03max\"\xc3\x02\n" + "\fThinkingSpec\x12\x1c\n" + - "\tsupported\x18\x01 \x01(\bR\tsupported\x12A\n" + - "\x04mode\x18\x02 \x01(\x0e2-.pluggableharness.agent.model.v1.ThinkingModeR\x04mode\x12#\n" + - "\reffort_levels\x18\x03 \x03(\tR\feffortLevels\x12\\\n" + - "\fbudget_range\x18\x04 \x01(\v24.pluggableharness.agent.model.v1.ThinkingBudgetRangeH\x00R\vbudgetRange\x88\x01\x01\x12\x1f\n" + + "\tsupported\x18\x01 \x01(\bR\tsupported\x12;\n" + + "\x04mode\x18\x02 \x01(\x0e2'.pluggableharness.model.v1.ThinkingModeR\x04mode\x12#\n" + + "\reffort_levels\x18\x03 \x03(\tR\feffortLevels\x12V\n" + + "\fbudget_range\x18\x04 \x01(\v2..pluggableharness.model.v1.ThinkingBudgetRangeH\x00R\vbudgetRange\x88\x01\x01\x12\x1f\n" + "\vcan_disable\x18\x05 \x01(\bR\n" + "canDisable\x12\x1d\n" + "\adefault\x18\x06 \x01(\tH\x01R\adefault\x88\x01\x01B\x0f\n" + "\r_budget_rangeB\n" + "\n" + - "\b_default\"\x9e\x01\n" + + "\b_default\"\x98\x01\n" + "\vCachingSpec\x12\x1c\n" + - "\tsupported\x18\x01 \x01(\bR\tsupported\x12@\n" + - "\x04mode\x18\x02 \x01(\x0e2,.pluggableharness.agent.model.v1.CachingModeR\x04mode\x12/\n" + + "\tsupported\x18\x01 \x01(\bR\tsupported\x12:\n" + + "\x04mode\x18\x02 \x01(\x0e2&.pluggableharness.model.v1.CachingModeR\x04mode\x12/\n" + "\x13keepalive_supported\x18\x03 \x01(\bR\x12keepaliveSupported\"\xe1\x05\n" + "\vPricingTier\x12F\n" + "\x0eeffective_from\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampH\x00R\reffectiveFrom\x88\x01\x01\x12H\n" + @@ -3160,65 +3160,65 @@ const file_pluggableharness_agent_model_v1_model_proto_rawDesc = "" + "\x15_batch_input_per_mtokB\x18\n" + "\x16_batch_output_per_mtokB\x14\n" + "\x12_input_tokens_fromB\x15\n" + - "\x13_input_tokens_until\"}\n" + + "\x13_input_tokens_until\"w\n" + "\aPricing\x12\x1a\n" + "\bcurrency\x18\x01 \x01(\tR\bcurrency\x12\x12\n" + - "\x04free\x18\x02 \x01(\bR\x04free\x12B\n" + - "\x05tiers\x18\x03 \x03(\v2,.pluggableharness.agent.model.v1.PricingTierR\x05tiers\"\xb0\x04\n" + - "\x17StreamCompletionRequest\x12F\n" + - "\bmessages\x18\x01 \x03(\v2*.pluggableharness.agent.content.v1.MessageR\bmessages\x12\x19\n" + - "\bmodel_id\x18\x02 \x01(\tR\amodelId\x12F\n" + - "\x05tools\x18\x03 \x03(\v20.pluggableharness.agent.model.v1.ToolDeclarationR\x05tools\x12N\n" + - "\x06params\x18\x04 \x01(\v21.pluggableharness.agent.model.v1.GenerationParamsH\x00R\x06params\x88\x01\x01\x12^\n" + - "\x11assembled_context\x18\x05 \x03(\v21.pluggableharness.agent.content.v1.ContextSectionR\x10assembledContext\x12P\n" + - "\fcall_context\x18\x06 \x01(\v2-.pluggableharness.agent.common.v1.CallContextR\vcallContext\x12]\n" + - "\x11cache_breakpoints\x18\a \x03(\v20.pluggableharness.agent.model.v1.CacheBreakpointR\x10cacheBreakpointsB\t\n" + - "\a_params\"\xd9\x02\n" + - "\x0fCacheBreakpoint\x12\x80\x01\n" + - "\x17after_assembled_context\x18\x01 \x01(\v2F.pluggableharness.agent.model.v1.CacheBreakpoint.AfterAssembledContextH\x00R\x15afterAssembledContext\x12^\n" + - "\vafter_tools\x18\x02 \x01(\v2;.pluggableharness.agent.model.v1.CacheBreakpoint.AfterToolsH\x00R\n" + + "\x04free\x18\x02 \x01(\bR\x04free\x12<\n" + + "\x05tiers\x18\x03 \x03(\v2&.pluggableharness.model.v1.PricingTierR\x05tiers\"\x8c\x04\n" + + "\x17StreamCompletionRequest\x12@\n" + + "\bmessages\x18\x01 \x03(\v2$.pluggableharness.content.v1.MessageR\bmessages\x12\x19\n" + + "\bmodel_id\x18\x02 \x01(\tR\amodelId\x12@\n" + + "\x05tools\x18\x03 \x03(\v2*.pluggableharness.model.v1.ToolDeclarationR\x05tools\x12H\n" + + "\x06params\x18\x04 \x01(\v2+.pluggableharness.model.v1.GenerationParamsH\x00R\x06params\x88\x01\x01\x12X\n" + + "\x11assembled_context\x18\x05 \x03(\v2+.pluggableharness.content.v1.ContextSectionR\x10assembledContext\x12J\n" + + "\fcall_context\x18\x06 \x01(\v2'.pluggableharness.common.v1.CallContextR\vcallContext\x12W\n" + + "\x11cache_breakpoints\x18\a \x03(\v2*.pluggableharness.model.v1.CacheBreakpointR\x10cacheBreakpointsB\t\n" + + "\a_params\"\xcc\x02\n" + + "\x0fCacheBreakpoint\x12z\n" + + "\x17after_assembled_context\x18\x01 \x01(\v2@.pluggableharness.model.v1.CacheBreakpoint.AfterAssembledContextH\x00R\x15afterAssembledContext\x12X\n" + + "\vafter_tools\x18\x02 \x01(\v25.pluggableharness.model.v1.CacheBreakpoint.AfterToolsH\x00R\n" + "afterTools\x120\n" + "\x13after_message_index\x18\x03 \x01(\x03H\x00R\x11afterMessageIndex\x1a\x17\n" + "\x15AfterAssembledContext\x1a\f\n" + "\n" + "AfterToolsB\n" + "\n" + - "\bposition\"\x94\x01\n" + + "\bposition\"\x8e\x01\n" + "\x0fToolDeclaration\x12\x12\n" + "\x04name\x18\x01 \x01(\tR\x04name\x12 \n" + - "\vdescription\x18\x02 \x01(\tR\vdescription\x12K\n" + - "\finput_schema\x18\x03 \x01(\v2(.pluggableharness.agent.schema.v1.SchemaR\vinputSchema\"\xb2\x03\n" + + "\vdescription\x18\x02 \x01(\tR\vdescription\x12E\n" + + "\finput_schema\x18\x03 \x01(\v2\".pluggableharness.schema.v1.SchemaR\vinputSchema\"\xac\x03\n" + "\x10GenerationParams\x12,\n" + "\x0fthinking_effort\x18\x01 \x01(\tH\x00R\x0ethinkingEffort\x88\x01\x01\x129\n" + "\x16thinking_budget_tokens\x18\x02 \x01(\x03H\x01R\x14thinkingBudgetTokens\x88\x01\x01\x12/\n" + "\x11max_output_tokens\x18\x03 \x01(\x03H\x02R\x0fmaxOutputTokens\x88\x01\x01\x12%\n" + "\vtemperature\x18\x04 \x01(\x01H\x03R\vtemperature\x88\x01\x01\x12%\n" + - "\x0estop_sequences\x18\x05 \x03(\tR\rstopSequences\x12Q\n" + - "\vtool_choice\x18\x06 \x01(\v2+.pluggableharness.agent.model.v1.ToolChoiceH\x04R\n" + + "\x0estop_sequences\x18\x05 \x03(\tR\rstopSequences\x12K\n" + + "\vtool_choice\x18\x06 \x01(\v2%.pluggableharness.model.v1.ToolChoiceH\x04R\n" + "toolChoice\x88\x01\x01B\x12\n" + "\x10_thinking_effortB\x19\n" + "\x17_thinking_budget_tokensB\x14\n" + "\x12_max_output_tokensB\x0e\n" + "\f_temperatureB\x0e\n" + - "\f_tool_choice\"\x81\x01\n" + + "\f_tool_choice\"{\n" + "\n" + - "ToolChoice\x12C\n" + - "\x04mode\x18\x01 \x01(\x0e2/.pluggableharness.agent.model.v1.ToolChoiceModeR\x04mode\x12 \n" + + "ToolChoice\x12=\n" + + "\x04mode\x18\x01 \x01(\x0e2).pluggableharness.model.v1.ToolChoiceModeR\x04mode\x12 \n" + "\ttool_name\x18\x02 \x01(\tH\x00R\btoolName\x88\x01\x01B\f\n" + "\n" + - "_tool_name\"\xd4\n" + + "_tool_name\"\x92\n" + "\n" + - "\vStreamEvent\x12W\n" + + "\vStreamEvent\x12Q\n" + "\n" + - "text_delta\x18\x01 \x01(\v26.pluggableharness.agent.model.v1.StreamEvent.TextDeltaH\x00R\ttextDelta\x12c\n" + - "\x0ethinking_delta\x18\x02 \x01(\v2:.pluggableharness.agent.model.v1.StreamEvent.ThinkingDeltaH\x00R\rthinkingDelta\x12o\n" + - "\x12thinking_signature\x18\x03 \x01(\v2>.pluggableharness.agent.model.v1.StreamEvent.ThinkingSignatureH\x00R\x11thinkingSignature\x12d\n" + - "\x0ftool_call_start\x18\x04 \x01(\v2:.pluggableharness.agent.model.v1.StreamEvent.ToolCallStartH\x00R\rtoolCallStart\x12d\n" + - "\x0ftool_call_delta\x18\x05 \x01(\v2:.pluggableharness.agent.model.v1.StreamEvent.ToolCallDeltaH\x00R\rtoolCallDelta\x12a\n" + - "\x0etool_call_done\x18\x06 \x01(\v29.pluggableharness.agent.model.v1.StreamEvent.ToolCallDoneH\x00R\ftoolCallDone\x12>\n" + - "\x05usage\x18\a \x01(\v2&.pluggableharness.agent.model.v1.UsageH\x00R\x05usage\x12G\n" + - "\x04stop\x18\b \x01(\v21.pluggableharness.agent.model.v1.StreamEvent.StopH\x00R\x04stop\x12J\n" + - "\x05error\x18\t \x01(\v22.pluggableharness.agent.model.v1.StreamEvent.ErrorH\x00R\x05error\x1a\x1f\n" + + "text_delta\x18\x01 \x01(\v20.pluggableharness.model.v1.StreamEvent.TextDeltaH\x00R\ttextDelta\x12]\n" + + "\x0ethinking_delta\x18\x02 \x01(\v24.pluggableharness.model.v1.StreamEvent.ThinkingDeltaH\x00R\rthinkingDelta\x12i\n" + + "\x12thinking_signature\x18\x03 \x01(\v28.pluggableharness.model.v1.StreamEvent.ThinkingSignatureH\x00R\x11thinkingSignature\x12^\n" + + "\x0ftool_call_start\x18\x04 \x01(\v24.pluggableharness.model.v1.StreamEvent.ToolCallStartH\x00R\rtoolCallStart\x12^\n" + + "\x0ftool_call_delta\x18\x05 \x01(\v24.pluggableharness.model.v1.StreamEvent.ToolCallDeltaH\x00R\rtoolCallDelta\x12[\n" + + "\x0etool_call_done\x18\x06 \x01(\v23.pluggableharness.model.v1.StreamEvent.ToolCallDoneH\x00R\ftoolCallDone\x128\n" + + "\x05usage\x18\a \x01(\v2 .pluggableharness.model.v1.UsageH\x00R\x05usage\x12A\n" + + "\x04stop\x18\b \x01(\v2+.pluggableharness.model.v1.StreamEvent.StopH\x00R\x04stop\x12D\n" + + "\x05error\x18\t \x01(\v2,.pluggableharness.model.v1.StreamEvent.ErrorH\x00R\x05error\x1a\x1f\n" + "\tTextDelta\x12\x12\n" + "\x04text\x18\x01 \x01(\tR\x04text\x1a#\n" + "\rThinkingDelta\x12\x12\n" + @@ -3232,13 +3232,13 @@ const file_pluggableharness_agent_model_v1_model_proto_rawDesc = "" + "\x02id\x18\x01 \x01(\tR\x02id\x12-\n" + "\x12arguments_fragment\x18\x02 \x01(\tR\x11argumentsFragment\x1a\x1e\n" + "\fToolCallDone\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\x1a\x9e\x01\n" + - "\x04Stop\x12C\n" + - "\x06reason\x18\x01 \x01(\x0e2+.pluggableharness.agent.model.v1.StopReasonR\x06reason\x127\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x1a\x98\x01\n" + + "\x04Stop\x12=\n" + + "\x06reason\x18\x01 \x01(\x0e2%.pluggableharness.model.v1.StopReasonR\x06reason\x127\n" + "\x15matched_stop_sequence\x18\x02 \x01(\tH\x00R\x13matchedStopSequence\x88\x01\x01B\x18\n" + - "\x16_matched_stop_sequence\x1aJ\n" + - "\x05Error\x12A\n" + - "\x05error\x18\x01 \x01(\v2+.pluggableharness.agent.model.v1.ModelErrorR\x05errorB\a\n" + + "\x16_matched_stop_sequence\x1aD\n" + + "\x05Error\x12;\n" + + "\x05error\x18\x01 \x01(\v2%.pluggableharness.model.v1.ModelErrorR\x05errorB\a\n" + "\x05event\"\xa5\x02\n" + "\x05Usage\x12!\n" + "\finput_tokens\x18\x01 \x01(\x03R\vinputTokens\x12#\n" + @@ -3256,12 +3256,12 @@ const file_pluggableharness_agent_model_v1_model_proto_rawDesc = "" + "\x05count\x18\x01 \x01(\x03R\x05count\"P\n" + "\rRenderRequest\x12\x18\n" + "\apayload\x18\x01 \x01(\fR\apayload\x12%\n" + - "\x0eschema_version\x18\x02 \x01(\tR\rschemaVersion\"R\n" + - "\x0eRenderResponse\x12@\n" + - "\x04tree\x18\x01 \x01(\v2,.pluggableharness.agent.render.v1.RenderTreeR\x04tree\"\x99\x02\n" + + "\x0eschema_version\x18\x02 \x01(\tR\rschemaVersion\"L\n" + + "\x0eRenderResponse\x12:\n" + + "\x04tree\x18\x01 \x01(\v2&.pluggableharness.render.v1.RenderTreeR\x04tree\"\x93\x02\n" + "\n" + - "ModelError\x12O\n" + - "\bcategory\x18\x01 \x01(\x0e23.pluggableharness.agent.model.v1.ModelErrorCategoryR\bcategory\x12\x18\n" + + "ModelError\x12I\n" + + "\bcategory\x18\x01 \x01(\x0e2-.pluggableharness.model.v1.ModelErrorCategoryR\bcategory\x12\x18\n" + "\amessage\x18\x02 \x01(\tR\amessage\x12\x1c\n" + "\tretryable\x18\x03 \x01(\bR\tretryable\x12?\n" + "\vretry_after\x18\x04 \x01(\v2\x19.google.protobuf.DurationH\x00R\n" + @@ -3312,140 +3312,140 @@ const file_pluggableharness_agent_model_v1_model_proto_rawDesc = "" + "\x1fMODEL_ERROR_CATEGORY_AUTH_ERROR\x10\x04\x12(\n" + "$MODEL_ERROR_CATEGORY_INVALID_REQUEST\x10\x05\x12)\n" + "%MODEL_ERROR_CATEGORY_CONTENT_FILTERED\x10\x06\x12 \n" + - "\x1cMODEL_ERROR_CATEGORY_UNKNOWN\x10\a2\xdd\x05\n" + - "\fModelService\x12\x84\x01\n" + - "\x0fGetCapabilities\x127.pluggableharness.agent.model.v1.GetCapabilitiesRequest\x1a8.pluggableharness.agent.model.v1.GetCapabilitiesResponse\x12r\n" + - "\tConfigure\x121.pluggableharness.agent.model.v1.ConfigureRequest\x1a2.pluggableharness.agent.model.v1.ConfigureResponse\x12|\n" + - "\x10StreamCompletion\x128.pluggableharness.agent.model.v1.StreamCompletionRequest\x1a,.pluggableharness.agent.model.v1.StreamEvent0\x01\x12x\n" + - "\vCountTokens\x123.pluggableharness.agent.model.v1.CountTokensRequest\x1a4.pluggableharness.agent.model.v1.CountTokensResponse\x12i\n" + - "\x06Render\x12..pluggableharness.agent.model.v1.RenderRequest\x1a/.pluggableharness.agent.model.v1.RenderResponse\x12o\n" + - "\bDescribe\x120.pluggableharness.agent.model.v1.DescribeRequest\x1a1.pluggableharness.agent.model.v1.DescribeResponseB>ZZ pluggableharness.agent.model.v1.Capabilities - 12, // 1: pluggableharness.agent.model.v1.Capabilities.models:type_name -> pluggableharness.agent.model.v1.ModelSpec - 42, // 2: pluggableharness.agent.model.v1.Capabilities.slash_commands:type_name -> pluggableharness.agent.slashcommand.v1.SlashCommandSpec - 43, // 3: pluggableharness.agent.model.v1.Capabilities.config_schema:type_name -> pluggableharness.agent.config.v1.ConfigSchema - 44, // 4: pluggableharness.agent.model.v1.Capabilities.supported_hook_points:type_name -> pluggableharness.agent.common.v1.HookPoint - 45, // 5: pluggableharness.agent.model.v1.ConfigureRequest.config:type_name -> google.protobuf.Struct - 46, // 6: pluggableharness.agent.model.v1.DescribeResponse.producer:type_name -> pluggableharness.agent.common.v1.ProducerRef - 14, // 7: pluggableharness.agent.model.v1.ModelSpec.thinking:type_name -> pluggableharness.agent.model.v1.ThinkingSpec - 15, // 8: pluggableharness.agent.model.v1.ModelSpec.caching:type_name -> pluggableharness.agent.model.v1.CachingSpec - 17, // 9: pluggableharness.agent.model.v1.ModelSpec.pricing:type_name -> pluggableharness.agent.model.v1.Pricing - 2, // 10: pluggableharness.agent.model.v1.ModelSpec.supported_tool_choice_modes:type_name -> pluggableharness.agent.model.v1.ToolChoiceMode - 0, // 11: pluggableharness.agent.model.v1.ThinkingSpec.mode:type_name -> pluggableharness.agent.model.v1.ThinkingMode - 13, // 12: pluggableharness.agent.model.v1.ThinkingSpec.budget_range:type_name -> pluggableharness.agent.model.v1.ThinkingBudgetRange - 1, // 13: pluggableharness.agent.model.v1.CachingSpec.mode:type_name -> pluggableharness.agent.model.v1.CachingMode - 47, // 14: pluggableharness.agent.model.v1.PricingTier.effective_from:type_name -> google.protobuf.Timestamp - 47, // 15: pluggableharness.agent.model.v1.PricingTier.effective_until:type_name -> google.protobuf.Timestamp - 16, // 16: pluggableharness.agent.model.v1.Pricing.tiers:type_name -> pluggableharness.agent.model.v1.PricingTier - 48, // 17: pluggableharness.agent.model.v1.StreamCompletionRequest.messages:type_name -> pluggableharness.agent.content.v1.Message - 20, // 18: pluggableharness.agent.model.v1.StreamCompletionRequest.tools:type_name -> pluggableharness.agent.model.v1.ToolDeclaration - 21, // 19: pluggableharness.agent.model.v1.StreamCompletionRequest.params:type_name -> pluggableharness.agent.model.v1.GenerationParams - 49, // 20: pluggableharness.agent.model.v1.StreamCompletionRequest.assembled_context:type_name -> pluggableharness.agent.content.v1.ContextSection - 50, // 21: pluggableharness.agent.model.v1.StreamCompletionRequest.call_context:type_name -> pluggableharness.agent.common.v1.CallContext - 19, // 22: pluggableharness.agent.model.v1.StreamCompletionRequest.cache_breakpoints:type_name -> pluggableharness.agent.model.v1.CacheBreakpoint - 32, // 23: pluggableharness.agent.model.v1.CacheBreakpoint.after_assembled_context:type_name -> pluggableharness.agent.model.v1.CacheBreakpoint.AfterAssembledContext - 33, // 24: pluggableharness.agent.model.v1.CacheBreakpoint.after_tools:type_name -> pluggableharness.agent.model.v1.CacheBreakpoint.AfterTools - 51, // 25: pluggableharness.agent.model.v1.ToolDeclaration.input_schema:type_name -> pluggableharness.agent.schema.v1.Schema - 22, // 26: pluggableharness.agent.model.v1.GenerationParams.tool_choice:type_name -> pluggableharness.agent.model.v1.ToolChoice - 2, // 27: pluggableharness.agent.model.v1.ToolChoice.mode:type_name -> pluggableharness.agent.model.v1.ToolChoiceMode - 34, // 28: pluggableharness.agent.model.v1.StreamEvent.text_delta:type_name -> pluggableharness.agent.model.v1.StreamEvent.TextDelta - 35, // 29: pluggableharness.agent.model.v1.StreamEvent.thinking_delta:type_name -> pluggableharness.agent.model.v1.StreamEvent.ThinkingDelta - 36, // 30: pluggableharness.agent.model.v1.StreamEvent.thinking_signature:type_name -> pluggableharness.agent.model.v1.StreamEvent.ThinkingSignature - 37, // 31: pluggableharness.agent.model.v1.StreamEvent.tool_call_start:type_name -> pluggableharness.agent.model.v1.StreamEvent.ToolCallStart - 38, // 32: pluggableharness.agent.model.v1.StreamEvent.tool_call_delta:type_name -> pluggableharness.agent.model.v1.StreamEvent.ToolCallDelta - 39, // 33: pluggableharness.agent.model.v1.StreamEvent.tool_call_done:type_name -> pluggableharness.agent.model.v1.StreamEvent.ToolCallDone - 24, // 34: pluggableharness.agent.model.v1.StreamEvent.usage:type_name -> pluggableharness.agent.model.v1.Usage - 40, // 35: pluggableharness.agent.model.v1.StreamEvent.stop:type_name -> pluggableharness.agent.model.v1.StreamEvent.Stop - 41, // 36: pluggableharness.agent.model.v1.StreamEvent.error:type_name -> pluggableharness.agent.model.v1.StreamEvent.Error - 52, // 37: pluggableharness.agent.model.v1.RenderResponse.tree:type_name -> pluggableharness.agent.render.v1.RenderTree - 4, // 38: pluggableharness.agent.model.v1.ModelError.category:type_name -> pluggableharness.agent.model.v1.ModelErrorCategory - 53, // 39: pluggableharness.agent.model.v1.ModelError.retry_after:type_name -> google.protobuf.Duration - 3, // 40: pluggableharness.agent.model.v1.StreamEvent.Stop.reason:type_name -> pluggableharness.agent.model.v1.StopReason - 29, // 41: pluggableharness.agent.model.v1.StreamEvent.Error.error:type_name -> pluggableharness.agent.model.v1.ModelError - 5, // 42: pluggableharness.agent.model.v1.ModelService.GetCapabilities:input_type -> pluggableharness.agent.model.v1.GetCapabilitiesRequest - 8, // 43: pluggableharness.agent.model.v1.ModelService.Configure:input_type -> pluggableharness.agent.model.v1.ConfigureRequest - 18, // 44: pluggableharness.agent.model.v1.ModelService.StreamCompletion:input_type -> pluggableharness.agent.model.v1.StreamCompletionRequest - 25, // 45: pluggableharness.agent.model.v1.ModelService.CountTokens:input_type -> pluggableharness.agent.model.v1.CountTokensRequest - 27, // 46: pluggableharness.agent.model.v1.ModelService.Render:input_type -> pluggableharness.agent.model.v1.RenderRequest - 10, // 47: pluggableharness.agent.model.v1.ModelService.Describe:input_type -> pluggableharness.agent.model.v1.DescribeRequest - 6, // 48: pluggableharness.agent.model.v1.ModelService.GetCapabilities:output_type -> pluggableharness.agent.model.v1.GetCapabilitiesResponse - 9, // 49: pluggableharness.agent.model.v1.ModelService.Configure:output_type -> pluggableharness.agent.model.v1.ConfigureResponse - 23, // 50: pluggableharness.agent.model.v1.ModelService.StreamCompletion:output_type -> pluggableharness.agent.model.v1.StreamEvent - 26, // 51: pluggableharness.agent.model.v1.ModelService.CountTokens:output_type -> pluggableharness.agent.model.v1.CountTokensResponse - 28, // 52: pluggableharness.agent.model.v1.ModelService.Render:output_type -> pluggableharness.agent.model.v1.RenderResponse - 11, // 53: pluggableharness.agent.model.v1.ModelService.Describe:output_type -> pluggableharness.agent.model.v1.DescribeResponse +var file_pluggableharness_model_v1_model_proto_depIdxs = []int32{ + 7, // 0: pluggableharness.model.v1.GetCapabilitiesResponse.capabilities:type_name -> pluggableharness.model.v1.Capabilities + 12, // 1: pluggableharness.model.v1.Capabilities.models:type_name -> pluggableharness.model.v1.ModelSpec + 42, // 2: pluggableharness.model.v1.Capabilities.slash_commands:type_name -> pluggableharness.slashcommand.v1.SlashCommandSpec + 43, // 3: pluggableharness.model.v1.Capabilities.config_schema:type_name -> pluggableharness.config.v1.ConfigSchema + 44, // 4: pluggableharness.model.v1.Capabilities.supported_hook_points:type_name -> pluggableharness.common.v1.HookPoint + 45, // 5: pluggableharness.model.v1.ConfigureRequest.config:type_name -> google.protobuf.Struct + 46, // 6: pluggableharness.model.v1.DescribeResponse.producer:type_name -> pluggableharness.common.v1.ProducerRef + 14, // 7: pluggableharness.model.v1.ModelSpec.thinking:type_name -> pluggableharness.model.v1.ThinkingSpec + 15, // 8: pluggableharness.model.v1.ModelSpec.caching:type_name -> pluggableharness.model.v1.CachingSpec + 17, // 9: pluggableharness.model.v1.ModelSpec.pricing:type_name -> pluggableharness.model.v1.Pricing + 2, // 10: pluggableharness.model.v1.ModelSpec.supported_tool_choice_modes:type_name -> pluggableharness.model.v1.ToolChoiceMode + 0, // 11: pluggableharness.model.v1.ThinkingSpec.mode:type_name -> pluggableharness.model.v1.ThinkingMode + 13, // 12: pluggableharness.model.v1.ThinkingSpec.budget_range:type_name -> pluggableharness.model.v1.ThinkingBudgetRange + 1, // 13: pluggableharness.model.v1.CachingSpec.mode:type_name -> pluggableharness.model.v1.CachingMode + 47, // 14: pluggableharness.model.v1.PricingTier.effective_from:type_name -> google.protobuf.Timestamp + 47, // 15: pluggableharness.model.v1.PricingTier.effective_until:type_name -> google.protobuf.Timestamp + 16, // 16: pluggableharness.model.v1.Pricing.tiers:type_name -> pluggableharness.model.v1.PricingTier + 48, // 17: pluggableharness.model.v1.StreamCompletionRequest.messages:type_name -> pluggableharness.content.v1.Message + 20, // 18: pluggableharness.model.v1.StreamCompletionRequest.tools:type_name -> pluggableharness.model.v1.ToolDeclaration + 21, // 19: pluggableharness.model.v1.StreamCompletionRequest.params:type_name -> pluggableharness.model.v1.GenerationParams + 49, // 20: pluggableharness.model.v1.StreamCompletionRequest.assembled_context:type_name -> pluggableharness.content.v1.ContextSection + 50, // 21: pluggableharness.model.v1.StreamCompletionRequest.call_context:type_name -> pluggableharness.common.v1.CallContext + 19, // 22: pluggableharness.model.v1.StreamCompletionRequest.cache_breakpoints:type_name -> pluggableharness.model.v1.CacheBreakpoint + 32, // 23: pluggableharness.model.v1.CacheBreakpoint.after_assembled_context:type_name -> pluggableharness.model.v1.CacheBreakpoint.AfterAssembledContext + 33, // 24: pluggableharness.model.v1.CacheBreakpoint.after_tools:type_name -> pluggableharness.model.v1.CacheBreakpoint.AfterTools + 51, // 25: pluggableharness.model.v1.ToolDeclaration.input_schema:type_name -> pluggableharness.schema.v1.Schema + 22, // 26: pluggableharness.model.v1.GenerationParams.tool_choice:type_name -> pluggableharness.model.v1.ToolChoice + 2, // 27: pluggableharness.model.v1.ToolChoice.mode:type_name -> pluggableharness.model.v1.ToolChoiceMode + 34, // 28: pluggableharness.model.v1.StreamEvent.text_delta:type_name -> pluggableharness.model.v1.StreamEvent.TextDelta + 35, // 29: pluggableharness.model.v1.StreamEvent.thinking_delta:type_name -> pluggableharness.model.v1.StreamEvent.ThinkingDelta + 36, // 30: pluggableharness.model.v1.StreamEvent.thinking_signature:type_name -> pluggableharness.model.v1.StreamEvent.ThinkingSignature + 37, // 31: pluggableharness.model.v1.StreamEvent.tool_call_start:type_name -> pluggableharness.model.v1.StreamEvent.ToolCallStart + 38, // 32: pluggableharness.model.v1.StreamEvent.tool_call_delta:type_name -> pluggableharness.model.v1.StreamEvent.ToolCallDelta + 39, // 33: pluggableharness.model.v1.StreamEvent.tool_call_done:type_name -> pluggableharness.model.v1.StreamEvent.ToolCallDone + 24, // 34: pluggableharness.model.v1.StreamEvent.usage:type_name -> pluggableharness.model.v1.Usage + 40, // 35: pluggableharness.model.v1.StreamEvent.stop:type_name -> pluggableharness.model.v1.StreamEvent.Stop + 41, // 36: pluggableharness.model.v1.StreamEvent.error:type_name -> pluggableharness.model.v1.StreamEvent.Error + 52, // 37: pluggableharness.model.v1.RenderResponse.tree:type_name -> pluggableharness.render.v1.RenderTree + 4, // 38: pluggableharness.model.v1.ModelError.category:type_name -> pluggableharness.model.v1.ModelErrorCategory + 53, // 39: pluggableharness.model.v1.ModelError.retry_after:type_name -> google.protobuf.Duration + 3, // 40: pluggableharness.model.v1.StreamEvent.Stop.reason:type_name -> pluggableharness.model.v1.StopReason + 29, // 41: pluggableharness.model.v1.StreamEvent.Error.error:type_name -> pluggableharness.model.v1.ModelError + 5, // 42: pluggableharness.model.v1.ModelService.GetCapabilities:input_type -> pluggableharness.model.v1.GetCapabilitiesRequest + 8, // 43: pluggableharness.model.v1.ModelService.Configure:input_type -> pluggableharness.model.v1.ConfigureRequest + 18, // 44: pluggableharness.model.v1.ModelService.StreamCompletion:input_type -> pluggableharness.model.v1.StreamCompletionRequest + 25, // 45: pluggableharness.model.v1.ModelService.CountTokens:input_type -> pluggableharness.model.v1.CountTokensRequest + 27, // 46: pluggableharness.model.v1.ModelService.Render:input_type -> pluggableharness.model.v1.RenderRequest + 10, // 47: pluggableharness.model.v1.ModelService.Describe:input_type -> pluggableharness.model.v1.DescribeRequest + 6, // 48: pluggableharness.model.v1.ModelService.GetCapabilities:output_type -> pluggableharness.model.v1.GetCapabilitiesResponse + 9, // 49: pluggableharness.model.v1.ModelService.Configure:output_type -> pluggableharness.model.v1.ConfigureResponse + 23, // 50: pluggableharness.model.v1.ModelService.StreamCompletion:output_type -> pluggableharness.model.v1.StreamEvent + 26, // 51: pluggableharness.model.v1.ModelService.CountTokens:output_type -> pluggableharness.model.v1.CountTokensResponse + 28, // 52: pluggableharness.model.v1.ModelService.Render:output_type -> pluggableharness.model.v1.RenderResponse + 11, // 53: pluggableharness.model.v1.ModelService.Describe:output_type -> pluggableharness.model.v1.DescribeResponse 48, // [48:54] is the sub-list for method output_type 42, // [42:48] is the sub-list for method input_type 42, // [42:42] is the sub-list for extension type_name @@ -3453,23 +3453,23 @@ var file_pluggableharness_agent_model_v1_model_proto_depIdxs = []int32{ 0, // [0:42] is the sub-list for field type_name } -func init() { file_pluggableharness_agent_model_v1_model_proto_init() } -func file_pluggableharness_agent_model_v1_model_proto_init() { - if File_pluggableharness_agent_model_v1_model_proto != nil { +func init() { file_pluggableharness_model_v1_model_proto_init() } +func file_pluggableharness_model_v1_model_proto_init() { + if File_pluggableharness_model_v1_model_proto != nil { return } - file_pluggableharness_agent_model_v1_model_proto_msgTypes[7].OneofWrappers = []any{} - file_pluggableharness_agent_model_v1_model_proto_msgTypes[9].OneofWrappers = []any{} - file_pluggableharness_agent_model_v1_model_proto_msgTypes[11].OneofWrappers = []any{} - file_pluggableharness_agent_model_v1_model_proto_msgTypes[13].OneofWrappers = []any{} - file_pluggableharness_agent_model_v1_model_proto_msgTypes[14].OneofWrappers = []any{ + file_pluggableharness_model_v1_model_proto_msgTypes[7].OneofWrappers = []any{} + file_pluggableharness_model_v1_model_proto_msgTypes[9].OneofWrappers = []any{} + file_pluggableharness_model_v1_model_proto_msgTypes[11].OneofWrappers = []any{} + file_pluggableharness_model_v1_model_proto_msgTypes[13].OneofWrappers = []any{} + file_pluggableharness_model_v1_model_proto_msgTypes[14].OneofWrappers = []any{ (*CacheBreakpoint_AfterAssembledContext_)(nil), (*CacheBreakpoint_AfterTools_)(nil), (*CacheBreakpoint_AfterMessageIndex)(nil), } - file_pluggableharness_agent_model_v1_model_proto_msgTypes[16].OneofWrappers = []any{} - file_pluggableharness_agent_model_v1_model_proto_msgTypes[17].OneofWrappers = []any{} - file_pluggableharness_agent_model_v1_model_proto_msgTypes[18].OneofWrappers = []any{ + file_pluggableharness_model_v1_model_proto_msgTypes[16].OneofWrappers = []any{} + file_pluggableharness_model_v1_model_proto_msgTypes[17].OneofWrappers = []any{} + file_pluggableharness_model_v1_model_proto_msgTypes[18].OneofWrappers = []any{ (*StreamEvent_TextDelta_)(nil), (*StreamEvent_ThinkingDelta_)(nil), (*StreamEvent_ThinkingSignature_)(nil), @@ -3480,25 +3480,25 @@ func file_pluggableharness_agent_model_v1_model_proto_init() { (*StreamEvent_Stop_)(nil), (*StreamEvent_Error_)(nil), } - file_pluggableharness_agent_model_v1_model_proto_msgTypes[19].OneofWrappers = []any{} - file_pluggableharness_agent_model_v1_model_proto_msgTypes[24].OneofWrappers = []any{} - file_pluggableharness_agent_model_v1_model_proto_msgTypes[35].OneofWrappers = []any{} + file_pluggableharness_model_v1_model_proto_msgTypes[19].OneofWrappers = []any{} + file_pluggableharness_model_v1_model_proto_msgTypes[24].OneofWrappers = []any{} + file_pluggableharness_model_v1_model_proto_msgTypes[35].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_model_v1_model_proto_rawDesc), len(file_pluggableharness_agent_model_v1_model_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_model_v1_model_proto_rawDesc), len(file_pluggableharness_model_v1_model_proto_rawDesc)), NumEnums: 5, NumMessages: 37, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_pluggableharness_agent_model_v1_model_proto_goTypes, - DependencyIndexes: file_pluggableharness_agent_model_v1_model_proto_depIdxs, - EnumInfos: file_pluggableharness_agent_model_v1_model_proto_enumTypes, - MessageInfos: file_pluggableharness_agent_model_v1_model_proto_msgTypes, + GoTypes: file_pluggableharness_model_v1_model_proto_goTypes, + DependencyIndexes: file_pluggableharness_model_v1_model_proto_depIdxs, + EnumInfos: file_pluggableharness_model_v1_model_proto_enumTypes, + MessageInfos: file_pluggableharness_model_v1_model_proto_msgTypes, }.Build() - File_pluggableharness_agent_model_v1_model_proto = out.File - file_pluggableharness_agent_model_v1_model_proto_goTypes = nil - file_pluggableharness_agent_model_v1_model_proto_depIdxs = nil + File_pluggableharness_model_v1_model_proto = out.File + file_pluggableharness_model_v1_model_proto_goTypes = nil + file_pluggableharness_model_v1_model_proto_depIdxs = nil } diff --git a/pkg/model/proto/v1/model_grpc.pb.go b/pkg/model/proto/v1/model_grpc.pb.go index 738d818..f3f60f5 100644 --- a/pkg/model/proto/v1/model_grpc.pb.go +++ b/pkg/model/proto/v1/model_grpc.pb.go @@ -2,9 +2,9 @@ // versions: // - protoc-gen-go-grpc v1.6.2 // - protoc (unknown) -// source: pluggableharness/agent/model/v1/model.proto +// source: pluggableharness/model/v1/model.proto -// Package pluggableharness.agent.model.v1 defines the model (LLM vendor) provider +// Package pluggableharness.model.v1 defines the model (LLM vendor) provider // plugin protocol described in specifications/model.md — see // .claude/rules/proto.md — plus the two distinct model-identity shapes used // across the other specs. The identity shapes are deliberately NOT unified @@ -29,12 +29,12 @@ import ( const _ = grpc.SupportPackageIsVersion9 const ( - ModelService_GetCapabilities_FullMethodName = "/pluggableharness.agent.model.v1.ModelService/GetCapabilities" - ModelService_Configure_FullMethodName = "/pluggableharness.agent.model.v1.ModelService/Configure" - ModelService_StreamCompletion_FullMethodName = "/pluggableharness.agent.model.v1.ModelService/StreamCompletion" - ModelService_CountTokens_FullMethodName = "/pluggableharness.agent.model.v1.ModelService/CountTokens" - ModelService_Render_FullMethodName = "/pluggableharness.agent.model.v1.ModelService/Render" - ModelService_Describe_FullMethodName = "/pluggableharness.agent.model.v1.ModelService/Describe" + ModelService_GetCapabilities_FullMethodName = "/pluggableharness.model.v1.ModelService/GetCapabilities" + ModelService_Configure_FullMethodName = "/pluggableharness.model.v1.ModelService/Configure" + ModelService_StreamCompletion_FullMethodName = "/pluggableharness.model.v1.ModelService/StreamCompletion" + ModelService_CountTokens_FullMethodName = "/pluggableharness.model.v1.ModelService/CountTokens" + ModelService_Render_FullMethodName = "/pluggableharness.model.v1.ModelService/Render" + ModelService_Describe_FullMethodName = "/pluggableharness.model.v1.ModelService/Describe" ) // ModelServiceClient is the client API for ModelService service. @@ -402,7 +402,7 @@ func _ModelService_Describe_Handler(srv interface{}, ctx context.Context, dec fu // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) var ModelService_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "pluggableharness.agent.model.v1.ModelService", + ServiceName: "pluggableharness.model.v1.ModelService", HandlerType: (*ModelServiceServer)(nil), Methods: []grpc.MethodDesc{ { @@ -433,5 +433,5 @@ var ModelService_ServiceDesc = grpc.ServiceDesc{ ServerStreams: true, }, }, - Metadata: "pluggableharness/agent/model/v1/model.proto", + Metadata: "pluggableharness/model/v1/model.proto", } diff --git a/pkg/plan/proto/v1/plan.pb.go b/pkg/plan/proto/v1/plan.pb.go index f3a463a..359b2bc 100644 --- a/pkg/plan/proto/v1/plan.pb.go +++ b/pkg/plan/proto/v1/plan.pb.go @@ -2,9 +2,9 @@ // versions: // protoc-gen-go v1.36.11 // protoc (unknown) -// source: pluggableharness/agent/plan/v1/plan.proto +// source: pluggableharness/plan/v1/plan.proto -// Package pluggableharness.agent.plan.v1 defines the plan/apply gate's data types +// Package pluggableharness.plan.v1 defines the plan/apply gate's data types // (specifications/agent-loop.md §5.1). A Plan collects every resource call // identified in a turn; each PlanItem is evaluated independently against // policy (agent-loop.md §5.1: three resource calls against three @@ -89,11 +89,11 @@ func (x PlanDecision) String() string { } func (PlanDecision) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_plan_v1_plan_proto_enumTypes[0].Descriptor() + return file_pluggableharness_plan_v1_plan_proto_enumTypes[0].Descriptor() } func (PlanDecision) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_plan_v1_plan_proto_enumTypes[0] + return &file_pluggableharness_plan_v1_plan_proto_enumTypes[0] } func (x PlanDecision) Number() protoreflect.EnumNumber { @@ -102,7 +102,7 @@ func (x PlanDecision) Number() protoreflect.EnumNumber { // Deprecated: Use PlanDecision.Descriptor instead. func (PlanDecision) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_plan_v1_plan_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_plan_v1_plan_proto_rawDescGZIP(), []int{0} } // ApplyOutcome classifies how one plan item's apply attempt concluded. @@ -160,11 +160,11 @@ func (x ApplyResult_ApplyOutcome) String() string { } func (ApplyResult_ApplyOutcome) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_plan_v1_plan_proto_enumTypes[1].Descriptor() + return file_pluggableharness_plan_v1_plan_proto_enumTypes[1].Descriptor() } func (ApplyResult_ApplyOutcome) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_plan_v1_plan_proto_enumTypes[1] + return &file_pluggableharness_plan_v1_plan_proto_enumTypes[1] } func (x ApplyResult_ApplyOutcome) Number() protoreflect.EnumNumber { @@ -173,7 +173,7 @@ func (x ApplyResult_ApplyOutcome) Number() protoreflect.EnumNumber { // Deprecated: Use ApplyResult_ApplyOutcome.Descriptor instead. func (ApplyResult_ApplyOutcome) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_plan_v1_plan_proto_rawDescGZIP(), []int{2, 0} + return file_pluggableharness_plan_v1_plan_proto_rawDescGZIP(), []int{2, 0} } // PlanItem is one resource (or policy-checked data_source/interactive) @@ -182,28 +182,28 @@ type PlanItem struct { state protoimpl.MessageState `protogen:"open.v1"` // This item's own id, stable within the plan. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // The originating tool call's id (matches pluggableharness.agent.content.v1 - // ToolUseBlock.id / pluggableharness.agent.tool.v1 ToolCall.id). + // The originating tool call's id (matches pluggableharness.content.v1 + // ToolUseBlock.id / pluggableharness.tool.v1 ToolCall.id). ToolCallId string `protobuf:"bytes,2,opt,name=tool_call_id,json=toolCallId,proto3" json:"tool_call_id,omitempty"` // The declared name of the tool provider plugin this call targets. Provider string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"` // The tool operation being called (tool.md §2 ToolSchema.name). ToolName string `protobuf:"bytes,4,opt,name=tool_name,json=toolName,proto3" json:"tool_name,omitempty"` // The call's parsed arguments — the kernel's canonical ToolCall - // representation (model.md §6 / pluggableharness.agent.schema.v1's subset governs + // representation (model.md §6 / pluggableharness.schema.v1's subset governs // its shape). A Struct per .claude/rules/proto.md's runtime-JSON // carve-out. Input *structpb.Struct `protobuf:"bytes,5,opt,name=input,proto3" json:"input,omitempty"` // This item's current decision. - Decision PlanDecision `protobuf:"varint,6,opt,name=decision,proto3,enum=pluggableharness.agent.plan.v1.PlanDecision" json:"decision,omitempty"` + Decision PlanDecision `protobuf:"varint,6,opt,name=decision,proto3,enum=pluggableharness.plan.v1.PlanDecision" json:"decision,omitempty"` // The name of the policy rule or subscriber that produced `decision`, // for audit (state-backend.md §4.4 plan_items.decided_by). DecidedBy string `protobuf:"bytes,7,opt,name=decided_by,json=decidedBy,proto3" json:"decided_by,omitempty"` // Snapshot of ToolSchema.kind (tool/data-types.md#toolschema) for the // operation this item calls, at plan-construction time. - Kind v1.ToolKind `protobuf:"varint,8,opt,name=kind,proto3,enum=pluggableharness.agent.tool.v1.ToolKind" json:"kind,omitempty"` + Kind v1.ToolKind `protobuf:"varint,8,opt,name=kind,proto3,enum=pluggableharness.tool.v1.ToolKind" json:"kind,omitempty"` // Snapshot of ToolSchema.risk, at plan-construction time. - Risk v1.RiskClass `protobuf:"varint,9,opt,name=risk,proto3,enum=pluggableharness.agent.tool.v1.RiskClass" json:"risk,omitempty"` + Risk v1.RiskClass `protobuf:"varint,9,opt,name=risk,proto3,enum=pluggableharness.tool.v1.RiskClass" json:"risk,omitempty"` // Snapshot of ToolSchema.description, at plan-construction time. Description string `protobuf:"bytes,10,opt,name=description,proto3" json:"description,omitempty"` // The tool provider's dry-run preview of this call's effect, when the @@ -222,7 +222,7 @@ type PlanItem struct { func (x *PlanItem) Reset() { *x = PlanItem{} - mi := &file_pluggableharness_agent_plan_v1_plan_proto_msgTypes[0] + mi := &file_pluggableharness_plan_v1_plan_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -234,7 +234,7 @@ func (x *PlanItem) String() string { func (*PlanItem) ProtoMessage() {} func (x *PlanItem) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_plan_v1_plan_proto_msgTypes[0] + mi := &file_pluggableharness_plan_v1_plan_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -247,7 +247,7 @@ func (x *PlanItem) ProtoReflect() protoreflect.Message { // Deprecated: Use PlanItem.ProtoReflect.Descriptor instead. func (*PlanItem) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_plan_v1_plan_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_plan_v1_plan_proto_rawDescGZIP(), []int{0} } func (x *PlanItem) GetId() string { @@ -340,7 +340,7 @@ type Plan struct { func (x *Plan) Reset() { *x = Plan{} - mi := &file_pluggableharness_agent_plan_v1_plan_proto_msgTypes[1] + mi := &file_pluggableharness_plan_v1_plan_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -352,7 +352,7 @@ func (x *Plan) String() string { func (*Plan) ProtoMessage() {} func (x *Plan) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_plan_v1_plan_proto_msgTypes[1] + mi := &file_pluggableharness_plan_v1_plan_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -365,7 +365,7 @@ func (x *Plan) ProtoReflect() protoreflect.Message { // Deprecated: Use Plan.ProtoReflect.Descriptor instead. func (*Plan) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_plan_v1_plan_proto_rawDescGZIP(), []int{1} + return file_pluggableharness_plan_v1_plan_proto_rawDescGZIP(), []int{1} } func (x *Plan) GetTurnId() string { @@ -386,7 +386,7 @@ func (x *Plan) GetItems() []*PlanItem { // once every item in its Plan has reached a terminal ApplyOutcome, per // agent-loop.md §5.2. Homed in plan.v1 (rather than the forthcoming // event.v1 package that would otherwise seem the more obvious owner) so -// both pluggableharness.agent.hook.v1's PostApplyPayload and event.v1's +// both pluggableharness.hook.v1's PostApplyPayload and event.v1's // future EVENT_KIND_APPLY payload can reference this exact message // without either importing the other — plan.v1 has no dependency on // either, keeping the graph acyclic. @@ -403,7 +403,7 @@ type ApplyResult struct { func (x *ApplyResult) Reset() { *x = ApplyResult{} - mi := &file_pluggableharness_agent_plan_v1_plan_proto_msgTypes[2] + mi := &file_pluggableharness_plan_v1_plan_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -415,7 +415,7 @@ func (x *ApplyResult) String() string { func (*ApplyResult) ProtoMessage() {} func (x *ApplyResult) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_plan_v1_plan_proto_msgTypes[2] + mi := &file_pluggableharness_plan_v1_plan_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -428,7 +428,7 @@ func (x *ApplyResult) ProtoReflect() protoreflect.Message { // Deprecated: Use ApplyResult.ProtoReflect.Descriptor instead. func (*ApplyResult) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_plan_v1_plan_proto_rawDescGZIP(), []int{2} + return file_pluggableharness_plan_v1_plan_proto_rawDescGZIP(), []int{2} } func (x *ApplyResult) GetTurnId() string { @@ -455,7 +455,7 @@ type ApplyResult_ApplyItem struct { ToolCallId string `protobuf:"bytes,2,opt,name=tool_call_id,json=toolCallId,proto3" json:"tool_call_id,omitempty"` // How this item's apply attempt concluded. MUST be set (never // APPLY_OUTCOME_UNSPECIFIED). - Outcome ApplyResult_ApplyOutcome `protobuf:"varint,3,opt,name=outcome,proto3,enum=pluggableharness.agent.plan.v1.ApplyResult_ApplyOutcome" json:"outcome,omitempty"` + Outcome ApplyResult_ApplyOutcome `protobuf:"varint,3,opt,name=outcome,proto3,enum=pluggableharness.plan.v1.ApplyResult_ApplyOutcome" json:"outcome,omitempty"` // Absent for APPLY_OUTCOME_DENIED and APPLY_OUTCOME_SKIPPED — // neither outcome executes the underlying tool call, so neither has // a ToolResult/ToolError to carry. @@ -471,7 +471,7 @@ type ApplyResult_ApplyItem struct { func (x *ApplyResult_ApplyItem) Reset() { *x = ApplyResult_ApplyItem{} - mi := &file_pluggableharness_agent_plan_v1_plan_proto_msgTypes[3] + mi := &file_pluggableharness_plan_v1_plan_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -483,7 +483,7 @@ func (x *ApplyResult_ApplyItem) String() string { func (*ApplyResult_ApplyItem) ProtoMessage() {} func (x *ApplyResult_ApplyItem) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_plan_v1_plan_proto_msgTypes[3] + mi := &file_pluggableharness_plan_v1_plan_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -496,7 +496,7 @@ func (x *ApplyResult_ApplyItem) ProtoReflect() protoreflect.Message { // Deprecated: Use ApplyResult_ApplyItem.ProtoReflect.Descriptor instead. func (*ApplyResult_ApplyItem) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_plan_v1_plan_proto_rawDescGZIP(), []int{2, 0} + return file_pluggableharness_plan_v1_plan_proto_rawDescGZIP(), []int{2, 0} } func (x *ApplyResult_ApplyItem) GetPlanItemId() string { @@ -564,44 +564,44 @@ func (*ApplyResult_ApplyItem_ToolResult) isApplyResult_ApplyItem_Result() {} func (*ApplyResult_ApplyItem_ToolError) isApplyResult_ApplyItem_Result() {} -var File_pluggableharness_agent_plan_v1_plan_proto protoreflect.FileDescriptor +var File_pluggableharness_plan_v1_plan_proto protoreflect.FileDescriptor -const file_pluggableharness_agent_plan_v1_plan_proto_rawDesc = "" + +const file_pluggableharness_plan_v1_plan_proto_rawDesc = "" + "\n" + - ")pluggableharness/agent/plan/v1/plan.proto\x12\x1epluggableharness.agent.plan.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a-pluggableharness/agent/render/v1/render.proto\x1a)pluggableharness/agent/tool/v1/tool.proto\"\x85\x04\n" + + "#pluggableharness/plan/v1/plan.proto\x12\x18pluggableharness.plan.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a'pluggableharness/render/v1/render.proto\x1a#pluggableharness/tool/v1/tool.proto\"\xed\x03\n" + "\bPlanItem\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12 \n" + "\ftool_call_id\x18\x02 \x01(\tR\n" + "toolCallId\x12\x1a\n" + "\bprovider\x18\x03 \x01(\tR\bprovider\x12\x1b\n" + "\ttool_name\x18\x04 \x01(\tR\btoolName\x12-\n" + - "\x05input\x18\x05 \x01(\v2\x17.google.protobuf.StructR\x05input\x12H\n" + - "\bdecision\x18\x06 \x01(\x0e2,.pluggableharness.agent.plan.v1.PlanDecisionR\bdecision\x12\x1d\n" + + "\x05input\x18\x05 \x01(\v2\x17.google.protobuf.StructR\x05input\x12B\n" + + "\bdecision\x18\x06 \x01(\x0e2&.pluggableharness.plan.v1.PlanDecisionR\bdecision\x12\x1d\n" + "\n" + - "decided_by\x18\a \x01(\tR\tdecidedBy\x12<\n" + - "\x04kind\x18\b \x01(\x0e2(.pluggableharness.agent.tool.v1.ToolKindR\x04kind\x12=\n" + - "\x04risk\x18\t \x01(\x0e2).pluggableharness.agent.tool.v1.RiskClassR\x04risk\x12 \n" + + "decided_by\x18\a \x01(\tR\tdecidedBy\x126\n" + + "\x04kind\x18\b \x01(\x0e2\".pluggableharness.tool.v1.ToolKindR\x04kind\x127\n" + + "\x04risk\x18\t \x01(\x0e2#.pluggableharness.tool.v1.RiskClassR\x04risk\x12 \n" + "\vdescription\x18\n" + - " \x01(\tR\vdescription\x12K\n" + - "\apreview\x18\v \x01(\v2,.pluggableharness.agent.render.v1.RenderTreeH\x00R\apreview\x88\x01\x01B\n" + + " \x01(\tR\vdescription\x12E\n" + + "\apreview\x18\v \x01(\v2&.pluggableharness.render.v1.RenderTreeH\x00R\apreview\x88\x01\x01B\n" + "\n" + - "\b_preview\"_\n" + + "\b_preview\"Y\n" + "\x04Plan\x12\x17\n" + - "\aturn_id\x18\x01 \x01(\tR\x06turnId\x12>\n" + - "\x05items\x18\x02 \x03(\v2(.pluggableharness.agent.plan.v1.PlanItemR\x05items\"\xd8\x04\n" + + "\aturn_id\x18\x01 \x01(\tR\x06turnId\x128\n" + + "\x05items\x18\x02 \x03(\v2\".pluggableharness.plan.v1.PlanItemR\x05items\"\xc0\x04\n" + "\vApplyResult\x12\x17\n" + - "\aturn_id\x18\x01 \x01(\tR\x06turnId\x12K\n" + - "\x05items\x18\x02 \x03(\v25.pluggableharness.agent.plan.v1.ApplyResult.ApplyItemR\x05items\x1a\xc8\x02\n" + + "\aturn_id\x18\x01 \x01(\tR\x06turnId\x12E\n" + + "\x05items\x18\x02 \x03(\v2/.pluggableharness.plan.v1.ApplyResult.ApplyItemR\x05items\x1a\xb6\x02\n" + "\tApplyItem\x12 \n" + "\fplan_item_id\x18\x01 \x01(\tR\n" + "planItemId\x12 \n" + "\ftool_call_id\x18\x02 \x01(\tR\n" + - "toolCallId\x12R\n" + - "\aoutcome\x18\x03 \x01(\x0e28.pluggableharness.agent.plan.v1.ApplyResult.ApplyOutcomeR\aoutcome\x12M\n" + - "\vtool_result\x18\x04 \x01(\v2*.pluggableharness.agent.tool.v1.ToolResultH\x00R\n" + - "toolResult\x12J\n" + + "toolCallId\x12L\n" + + "\aoutcome\x18\x03 \x01(\x0e22.pluggableharness.plan.v1.ApplyResult.ApplyOutcomeR\aoutcome\x12G\n" + + "\vtool_result\x18\x04 \x01(\v2$.pluggableharness.tool.v1.ToolResultH\x00R\n" + + "toolResult\x12D\n" + "\n" + - "tool_error\x18\x05 \x01(\v2).pluggableharness.agent.tool.v1.ToolErrorH\x00R\ttoolErrorB\b\n" + + "tool_error\x18\x05 \x01(\v2#.pluggableharness.tool.v1.ToolErrorH\x00R\ttoolErrorB\b\n" + "\x06result\"\x97\x01\n" + "\fApplyOutcome\x12\x1d\n" + "\x19APPLY_OUTCOME_UNSPECIFIED\x10\x00\x12\x19\n" + @@ -617,44 +617,44 @@ const file_pluggableharness_agent_plan_v1_plan_proto_rawDesc = "" + "\x12PLAN_DECISION_DENY\x10\x04B google.protobuf.Struct - 0, // 1: pluggableharness.agent.plan.v1.PlanItem.decision:type_name -> pluggableharness.agent.plan.v1.PlanDecision - 7, // 2: pluggableharness.agent.plan.v1.PlanItem.kind:type_name -> pluggableharness.agent.tool.v1.ToolKind - 8, // 3: pluggableharness.agent.plan.v1.PlanItem.risk:type_name -> pluggableharness.agent.tool.v1.RiskClass - 9, // 4: pluggableharness.agent.plan.v1.PlanItem.preview:type_name -> pluggableharness.agent.render.v1.RenderTree - 2, // 5: pluggableharness.agent.plan.v1.Plan.items:type_name -> pluggableharness.agent.plan.v1.PlanItem - 5, // 6: pluggableharness.agent.plan.v1.ApplyResult.items:type_name -> pluggableharness.agent.plan.v1.ApplyResult.ApplyItem - 1, // 7: pluggableharness.agent.plan.v1.ApplyResult.ApplyItem.outcome:type_name -> pluggableharness.agent.plan.v1.ApplyResult.ApplyOutcome - 10, // 8: pluggableharness.agent.plan.v1.ApplyResult.ApplyItem.tool_result:type_name -> pluggableharness.agent.tool.v1.ToolResult - 11, // 9: pluggableharness.agent.plan.v1.ApplyResult.ApplyItem.tool_error:type_name -> pluggableharness.agent.tool.v1.ToolError + (v1.ToolKind)(0), // 7: pluggableharness.tool.v1.ToolKind + (v1.RiskClass)(0), // 8: pluggableharness.tool.v1.RiskClass + (*v11.RenderTree)(nil), // 9: pluggableharness.render.v1.RenderTree + (*v1.ToolResult)(nil), // 10: pluggableharness.tool.v1.ToolResult + (*v1.ToolError)(nil), // 11: pluggableharness.tool.v1.ToolError +} +var file_pluggableharness_plan_v1_plan_proto_depIdxs = []int32{ + 6, // 0: pluggableharness.plan.v1.PlanItem.input:type_name -> google.protobuf.Struct + 0, // 1: pluggableharness.plan.v1.PlanItem.decision:type_name -> pluggableharness.plan.v1.PlanDecision + 7, // 2: pluggableharness.plan.v1.PlanItem.kind:type_name -> pluggableharness.tool.v1.ToolKind + 8, // 3: pluggableharness.plan.v1.PlanItem.risk:type_name -> pluggableharness.tool.v1.RiskClass + 9, // 4: pluggableharness.plan.v1.PlanItem.preview:type_name -> pluggableharness.render.v1.RenderTree + 2, // 5: pluggableharness.plan.v1.Plan.items:type_name -> pluggableharness.plan.v1.PlanItem + 5, // 6: pluggableharness.plan.v1.ApplyResult.items:type_name -> pluggableharness.plan.v1.ApplyResult.ApplyItem + 1, // 7: pluggableharness.plan.v1.ApplyResult.ApplyItem.outcome:type_name -> pluggableharness.plan.v1.ApplyResult.ApplyOutcome + 10, // 8: pluggableharness.plan.v1.ApplyResult.ApplyItem.tool_result:type_name -> pluggableharness.tool.v1.ToolResult + 11, // 9: pluggableharness.plan.v1.ApplyResult.ApplyItem.tool_error:type_name -> pluggableharness.tool.v1.ToolError 10, // [10:10] is the sub-list for method output_type 10, // [10:10] is the sub-list for method input_type 10, // [10:10] is the sub-list for extension type_name @@ -662,13 +662,13 @@ var file_pluggableharness_agent_plan_v1_plan_proto_depIdxs = []int32{ 0, // [0:10] is the sub-list for field type_name } -func init() { file_pluggableharness_agent_plan_v1_plan_proto_init() } -func file_pluggableharness_agent_plan_v1_plan_proto_init() { - if File_pluggableharness_agent_plan_v1_plan_proto != nil { +func init() { file_pluggableharness_plan_v1_plan_proto_init() } +func file_pluggableharness_plan_v1_plan_proto_init() { + if File_pluggableharness_plan_v1_plan_proto != nil { return } - file_pluggableharness_agent_plan_v1_plan_proto_msgTypes[0].OneofWrappers = []any{} - file_pluggableharness_agent_plan_v1_plan_proto_msgTypes[3].OneofWrappers = []any{ + file_pluggableharness_plan_v1_plan_proto_msgTypes[0].OneofWrappers = []any{} + file_pluggableharness_plan_v1_plan_proto_msgTypes[3].OneofWrappers = []any{ (*ApplyResult_ApplyItem_ToolResult)(nil), (*ApplyResult_ApplyItem_ToolError)(nil), } @@ -676,18 +676,18 @@ func file_pluggableharness_agent_plan_v1_plan_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_plan_v1_plan_proto_rawDesc), len(file_pluggableharness_agent_plan_v1_plan_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_plan_v1_plan_proto_rawDesc), len(file_pluggableharness_plan_v1_plan_proto_rawDesc)), NumEnums: 2, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, - GoTypes: file_pluggableharness_agent_plan_v1_plan_proto_goTypes, - DependencyIndexes: file_pluggableharness_agent_plan_v1_plan_proto_depIdxs, - EnumInfos: file_pluggableharness_agent_plan_v1_plan_proto_enumTypes, - MessageInfos: file_pluggableharness_agent_plan_v1_plan_proto_msgTypes, + GoTypes: file_pluggableharness_plan_v1_plan_proto_goTypes, + DependencyIndexes: file_pluggableharness_plan_v1_plan_proto_depIdxs, + EnumInfos: file_pluggableharness_plan_v1_plan_proto_enumTypes, + MessageInfos: file_pluggableharness_plan_v1_plan_proto_msgTypes, }.Build() - File_pluggableharness_agent_plan_v1_plan_proto = out.File - file_pluggableharness_agent_plan_v1_plan_proto_goTypes = nil - file_pluggableharness_agent_plan_v1_plan_proto_depIdxs = nil + File_pluggableharness_plan_v1_plan_proto = out.File + file_pluggableharness_plan_v1_plan_proto_goTypes = nil + file_pluggableharness_plan_v1_plan_proto_depIdxs = nil } diff --git a/pkg/render/proto/v1/render.pb.go b/pkg/render/proto/v1/render.pb.go index 67344ee..15e7e76 100644 --- a/pkg/render/proto/v1/render.pb.go +++ b/pkg/render/proto/v1/render.pb.go @@ -2,9 +2,9 @@ // versions: // protoc-gen-go v1.36.11 // protoc (unknown) -// source: pluggableharness/agent/render/v1/render.proto +// source: pluggableharness/render/v1/render.proto -// Package pluggableharness.agent.render.v1 defines the Emit->Render->Paint intermediate +// Package pluggableharness.render.v1 defines the Emit->Render->Paint intermediate // representation described in specifications/frontend.md §1. Every plugin // category's optional Render() RPC (model.md §7, tool.md §7, // context.md §9, memory.md §10) returns this; every frontend/widget Paints @@ -93,11 +93,11 @@ func (x Region) String() string { } func (Region) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_render_v1_render_proto_enumTypes[0].Descriptor() + return file_pluggableharness_render_v1_render_proto_enumTypes[0].Descriptor() } func (Region) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_render_v1_render_proto_enumTypes[0] + return &file_pluggableharness_render_v1_render_proto_enumTypes[0] } func (x Region) Number() protoreflect.EnumNumber { @@ -106,7 +106,7 @@ func (x Region) Number() protoreflect.EnumNumber { // Deprecated: Use Region.Descriptor instead. func (Region) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_render_v1_render_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_render_v1_render_proto_rawDescGZIP(), []int{0} } // TextStyle is a hint for how a TextNode's content should be presented. @@ -166,11 +166,11 @@ func (x TextStyle) String() string { } func (TextStyle) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_render_v1_render_proto_enumTypes[1].Descriptor() + return file_pluggableharness_render_v1_render_proto_enumTypes[1].Descriptor() } func (TextStyle) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_render_v1_render_proto_enumTypes[1] + return &file_pluggableharness_render_v1_render_proto_enumTypes[1] } func (x TextStyle) Number() protoreflect.EnumNumber { @@ -179,7 +179,7 @@ func (x TextStyle) Number() protoreflect.EnumNumber { // Deprecated: Use TextStyle.Descriptor instead. func (TextStyle) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_render_v1_render_proto_rawDescGZIP(), []int{1} + return file_pluggableharness_render_v1_render_proto_rawDescGZIP(), []int{1} } // DiffLineOp classifies one line of a DiffHunk, mirroring unified diff's @@ -225,11 +225,11 @@ func (x DiffLineOp) String() string { } func (DiffLineOp) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_render_v1_render_proto_enumTypes[2].Descriptor() + return file_pluggableharness_render_v1_render_proto_enumTypes[2].Descriptor() } func (DiffLineOp) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_render_v1_render_proto_enumTypes[2] + return &file_pluggableharness_render_v1_render_proto_enumTypes[2] } func (x DiffLineOp) Number() protoreflect.EnumNumber { @@ -238,7 +238,7 @@ func (x DiffLineOp) Number() protoreflect.EnumNumber { // Deprecated: Use DiffLineOp.Descriptor instead. func (DiffLineOp) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_render_v1_render_proto_rawDescGZIP(), []int{2} + return file_pluggableharness_render_v1_render_proto_rawDescGZIP(), []int{2} } // RenderTree is the return type of every category's Render() RPC. @@ -257,7 +257,7 @@ type RenderTree struct { func (x *RenderTree) Reset() { *x = RenderTree{} - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[0] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -269,7 +269,7 @@ func (x *RenderTree) String() string { func (*RenderTree) ProtoMessage() {} func (x *RenderTree) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[0] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -282,7 +282,7 @@ func (x *RenderTree) ProtoReflect() protoreflect.Message { // Deprecated: Use RenderTree.ProtoReflect.Descriptor instead. func (*RenderTree) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_render_v1_render_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_render_v1_render_proto_rawDescGZIP(), []int{0} } func (x *RenderTree) GetRoot() *RenderNode { @@ -298,7 +298,7 @@ func (x *RenderTree) GetRoot() *RenderNode { type PlacedContent struct { state protoimpl.MessageState `protogen:"open.v1"` // Where this content should be placed. - Region Region `protobuf:"varint,1,opt,name=region,proto3,enum=pluggableharness.agent.render.v1.Region" json:"region,omitempty"` + Region Region `protobuf:"varint,1,opt,name=region,proto3,enum=pluggableharness.render.v1.Region" json:"region,omitempty"` // The content to place. Content *RenderTree `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"` // True: replace this producer's prior content in `region`. False: @@ -313,7 +313,7 @@ type PlacedContent struct { func (x *PlacedContent) Reset() { *x = PlacedContent{} - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[1] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -325,7 +325,7 @@ func (x *PlacedContent) String() string { func (*PlacedContent) ProtoMessage() {} func (x *PlacedContent) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[1] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -338,7 +338,7 @@ func (x *PlacedContent) ProtoReflect() protoreflect.Message { // Deprecated: Use PlacedContent.ProtoReflect.Descriptor instead. func (*PlacedContent) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_render_v1_render_proto_rawDescGZIP(), []int{1} + return file_pluggableharness_render_v1_render_proto_rawDescGZIP(), []int{1} } func (x *PlacedContent) GetRegion() Region { @@ -373,7 +373,7 @@ func (x *PlacedContent) GetPriority() int32 { type DiffLine struct { state protoimpl.MessageState `protogen:"open.v1"` // How this line relates to the old/new versions. - Op DiffLineOp `protobuf:"varint,1,opt,name=op,proto3,enum=pluggableharness.agent.render.v1.DiffLineOp" json:"op,omitempty"` + Op DiffLineOp `protobuf:"varint,1,opt,name=op,proto3,enum=pluggableharness.render.v1.DiffLineOp" json:"op,omitempty"` // The line's text, without a diff-marker prefix (that's `op`'s job). Text string `protobuf:"bytes,2,opt,name=text,proto3" json:"text,omitempty"` unknownFields protoimpl.UnknownFields @@ -382,7 +382,7 @@ type DiffLine struct { func (x *DiffLine) Reset() { *x = DiffLine{} - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[2] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -394,7 +394,7 @@ func (x *DiffLine) String() string { func (*DiffLine) ProtoMessage() {} func (x *DiffLine) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[2] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -407,7 +407,7 @@ func (x *DiffLine) ProtoReflect() protoreflect.Message { // Deprecated: Use DiffLine.ProtoReflect.Descriptor instead. func (*DiffLine) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_render_v1_render_proto_rawDescGZIP(), []int{2} + return file_pluggableharness_render_v1_render_proto_rawDescGZIP(), []int{2} } func (x *DiffLine) GetOp() DiffLineOp { @@ -447,7 +447,7 @@ type DiffHunk struct { func (x *DiffHunk) Reset() { *x = DiffHunk{} - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[3] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -459,7 +459,7 @@ func (x *DiffHunk) String() string { func (*DiffHunk) ProtoMessage() {} func (x *DiffHunk) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[3] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -472,7 +472,7 @@ func (x *DiffHunk) ProtoReflect() protoreflect.Message { // Deprecated: Use DiffHunk.ProtoReflect.Descriptor instead. func (*DiffHunk) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_render_v1_render_proto_rawDescGZIP(), []int{3} + return file_pluggableharness_render_v1_render_proto_rawDescGZIP(), []int{3} } func (x *DiffHunk) GetOldStart() int32 { @@ -534,7 +534,7 @@ type RenderNode struct { func (x *RenderNode) Reset() { *x = RenderNode{} - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[4] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -546,7 +546,7 @@ func (x *RenderNode) String() string { func (*RenderNode) ProtoMessage() {} func (x *RenderNode) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[4] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -559,7 +559,7 @@ func (x *RenderNode) ProtoReflect() protoreflect.Message { // Deprecated: Use RenderNode.ProtoReflect.Descriptor instead. func (*RenderNode) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_render_v1_render_proto_rawDescGZIP(), []int{4} + return file_pluggableharness_render_v1_render_proto_rawDescGZIP(), []int{4} } func (x *RenderNode) GetNode() isRenderNode_Node { @@ -729,14 +729,14 @@ type TextNode struct { // The text content. Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` // Optional presentation hint. Unset means "frontend's default style". - Style *TextStyle `protobuf:"varint,2,opt,name=style,proto3,enum=pluggableharness.agent.render.v1.TextStyle,oneof" json:"style,omitempty"` + Style *TextStyle `protobuf:"varint,2,opt,name=style,proto3,enum=pluggableharness.render.v1.TextStyle,oneof" json:"style,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *TextNode) Reset() { *x = TextNode{} - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[5] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -748,7 +748,7 @@ func (x *TextNode) String() string { func (*TextNode) ProtoMessage() {} func (x *TextNode) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[5] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -761,7 +761,7 @@ func (x *TextNode) ProtoReflect() protoreflect.Message { // Deprecated: Use TextNode.ProtoReflect.Descriptor instead. func (*TextNode) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_render_v1_render_proto_rawDescGZIP(), []int{5} + return file_pluggableharness_render_v1_render_proto_rawDescGZIP(), []int{5} } func (x *TextNode) GetContent() string { @@ -792,7 +792,7 @@ type CodeBlockNode struct { func (x *CodeBlockNode) Reset() { *x = CodeBlockNode{} - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[6] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -804,7 +804,7 @@ func (x *CodeBlockNode) String() string { func (*CodeBlockNode) ProtoMessage() {} func (x *CodeBlockNode) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[6] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -817,7 +817,7 @@ func (x *CodeBlockNode) ProtoReflect() protoreflect.Message { // Deprecated: Use CodeBlockNode.ProtoReflect.Descriptor instead. func (*CodeBlockNode) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_render_v1_render_proto_rawDescGZIP(), []int{6} + return file_pluggableharness_render_v1_render_proto_rawDescGZIP(), []int{6} } func (x *CodeBlockNode) GetLanguage() string { @@ -847,7 +847,7 @@ type DiffNode struct { func (x *DiffNode) Reset() { *x = DiffNode{} - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[7] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -859,7 +859,7 @@ func (x *DiffNode) String() string { func (*DiffNode) ProtoMessage() {} func (x *DiffNode) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[7] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -872,7 +872,7 @@ func (x *DiffNode) ProtoReflect() protoreflect.Message { // Deprecated: Use DiffNode.ProtoReflect.Descriptor instead. func (*DiffNode) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_render_v1_render_proto_rawDescGZIP(), []int{7} + return file_pluggableharness_render_v1_render_proto_rawDescGZIP(), []int{7} } func (x *DiffNode) GetHunks() []*DiffHunk { @@ -894,7 +894,7 @@ type TableRow struct { func (x *TableRow) Reset() { *x = TableRow{} - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[8] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -906,7 +906,7 @@ func (x *TableRow) String() string { func (*TableRow) ProtoMessage() {} func (x *TableRow) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[8] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -919,7 +919,7 @@ func (x *TableRow) ProtoReflect() protoreflect.Message { // Deprecated: Use TableRow.ProtoReflect.Descriptor instead. func (*TableRow) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_render_v1_render_proto_rawDescGZIP(), []int{8} + return file_pluggableharness_render_v1_render_proto_rawDescGZIP(), []int{8} } func (x *TableRow) GetCells() []string { @@ -943,7 +943,7 @@ type TableNode struct { func (x *TableNode) Reset() { *x = TableNode{} - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[9] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -955,7 +955,7 @@ func (x *TableNode) String() string { func (*TableNode) ProtoMessage() {} func (x *TableNode) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[9] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -968,7 +968,7 @@ func (x *TableNode) ProtoReflect() protoreflect.Message { // Deprecated: Use TableNode.ProtoReflect.Descriptor instead. func (*TableNode) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_render_v1_render_proto_rawDescGZIP(), []int{9} + return file_pluggableharness_render_v1_render_proto_rawDescGZIP(), []int{9} } func (x *TableNode) GetHeaders() []string { @@ -998,7 +998,7 @@ type LinkNode struct { func (x *LinkNode) Reset() { *x = LinkNode{} - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[10] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1010,7 +1010,7 @@ func (x *LinkNode) String() string { func (*LinkNode) ProtoMessage() {} func (x *LinkNode) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[10] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1023,7 +1023,7 @@ func (x *LinkNode) ProtoReflect() protoreflect.Message { // Deprecated: Use LinkNode.ProtoReflect.Descriptor instead. func (*LinkNode) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_render_v1_render_proto_rawDescGZIP(), []int{10} + return file_pluggableharness_render_v1_render_proto_rawDescGZIP(), []int{10} } func (x *LinkNode) GetText() string { @@ -1053,7 +1053,7 @@ type ListNode struct { func (x *ListNode) Reset() { *x = ListNode{} - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[11] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1065,7 +1065,7 @@ func (x *ListNode) String() string { func (*ListNode) ProtoMessage() {} func (x *ListNode) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[11] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1078,7 +1078,7 @@ func (x *ListNode) ProtoReflect() protoreflect.Message { // Deprecated: Use ListNode.ProtoReflect.Descriptor instead. func (*ListNode) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_render_v1_render_proto_rawDescGZIP(), []int{11} + return file_pluggableharness_render_v1_render_proto_rawDescGZIP(), []int{11} } func (x *ListNode) GetItems() []*RenderNode { @@ -1107,7 +1107,7 @@ type GroupNode struct { func (x *GroupNode) Reset() { *x = GroupNode{} - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[12] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1119,7 +1119,7 @@ func (x *GroupNode) String() string { func (*GroupNode) ProtoMessage() {} func (x *GroupNode) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[12] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1132,7 +1132,7 @@ func (x *GroupNode) ProtoReflect() protoreflect.Message { // Deprecated: Use GroupNode.ProtoReflect.Descriptor instead. func (*GroupNode) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_render_v1_render_proto_rawDescGZIP(), []int{12} + return file_pluggableharness_render_v1_render_proto_rawDescGZIP(), []int{12} } func (x *GroupNode) GetChildren() []*RenderNode { @@ -1158,7 +1158,7 @@ type CollapsibleNode struct { func (x *CollapsibleNode) Reset() { *x = CollapsibleNode{} - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[13] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1170,7 +1170,7 @@ func (x *CollapsibleNode) String() string { func (*CollapsibleNode) ProtoMessage() {} func (x *CollapsibleNode) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[13] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1183,7 +1183,7 @@ func (x *CollapsibleNode) ProtoReflect() protoreflect.Message { // Deprecated: Use CollapsibleNode.ProtoReflect.Descriptor instead. func (*CollapsibleNode) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_render_v1_render_proto_rawDescGZIP(), []int{13} + return file_pluggableharness_render_v1_render_proto_rawDescGZIP(), []int{13} } func (x *CollapsibleNode) GetSummary() string { @@ -1222,7 +1222,7 @@ type SubSessionNode struct { func (x *SubSessionNode) Reset() { *x = SubSessionNode{} - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[14] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1234,7 +1234,7 @@ func (x *SubSessionNode) String() string { func (*SubSessionNode) ProtoMessage() {} func (x *SubSessionNode) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[14] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1247,7 +1247,7 @@ func (x *SubSessionNode) ProtoReflect() protoreflect.Message { // Deprecated: Use SubSessionNode.ProtoReflect.Descriptor instead. func (*SubSessionNode) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_render_v1_render_proto_rawDescGZIP(), []int{14} + return file_pluggableharness_render_v1_render_proto_rawDescGZIP(), []int{14} } func (x *SubSessionNode) GetSessionId() string { @@ -1296,7 +1296,7 @@ type ActionNode struct { func (x *ActionNode) Reset() { *x = ActionNode{} - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[15] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1308,7 +1308,7 @@ func (x *ActionNode) String() string { func (*ActionNode) ProtoMessage() {} func (x *ActionNode) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_render_v1_render_proto_msgTypes[15] + mi := &file_pluggableharness_render_v1_render_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1321,7 +1321,7 @@ func (x *ActionNode) ProtoReflect() protoreflect.Message { // Deprecated: Use ActionNode.ProtoReflect.Descriptor instead. func (*ActionNode) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_render_v1_render_proto_rawDescGZIP(), []int{15} + return file_pluggableharness_render_v1_render_proto_rawDescGZIP(), []int{15} } func (x *ActionNode) GetId() string { @@ -1359,71 +1359,71 @@ func (x *ActionNode) GetProvider() string { return "" } -var File_pluggableharness_agent_render_v1_render_proto protoreflect.FileDescriptor +var File_pluggableharness_render_v1_render_proto protoreflect.FileDescriptor -const file_pluggableharness_agent_render_v1_render_proto_rawDesc = "" + +const file_pluggableharness_render_v1_render_proto_rawDesc = "" + "\n" + - "-pluggableharness/agent/render/v1/render.proto\x12 pluggableharness.agent.render.v1\x1a\x1cgoogle/protobuf/struct.proto\"N\n" + + "'pluggableharness/render/v1/render.proto\x12\x1apluggableharness.render.v1\x1a\x1cgoogle/protobuf/struct.proto\"H\n" + "\n" + - "RenderTree\x12@\n" + - "\x04root\x18\x01 \x01(\v2,.pluggableharness.agent.render.v1.RenderNodeR\x04root\"\xe1\x01\n" + - "\rPlacedContent\x12@\n" + - "\x06region\x18\x01 \x01(\x0e2(.pluggableharness.agent.render.v1.RegionR\x06region\x12F\n" + - "\acontent\x18\x02 \x01(\v2,.pluggableharness.agent.render.v1.RenderTreeR\acontent\x12\x18\n" + + "RenderTree\x12:\n" + + "\x04root\x18\x01 \x01(\v2&.pluggableharness.render.v1.RenderNodeR\x04root\"\xd5\x01\n" + + "\rPlacedContent\x12:\n" + + "\x06region\x18\x01 \x01(\x0e2\".pluggableharness.render.v1.RegionR\x06region\x12@\n" + + "\acontent\x18\x02 \x01(\v2&.pluggableharness.render.v1.RenderTreeR\acontent\x12\x18\n" + "\areplace\x18\x03 \x01(\bR\areplace\x12\x1f\n" + "\bpriority\x18\x04 \x01(\x05H\x00R\bpriority\x88\x01\x01B\v\n" + - "\t_priority\"\\\n" + - "\bDiffLine\x12<\n" + - "\x02op\x18\x01 \x01(\x0e2,.pluggableharness.agent.render.v1.DiffLineOpR\x02op\x12\x12\n" + - "\x04text\x18\x02 \x01(\tR\x04text\"\xc0\x01\n" + + "\t_priority\"V\n" + + "\bDiffLine\x126\n" + + "\x02op\x18\x01 \x01(\x0e2&.pluggableharness.render.v1.DiffLineOpR\x02op\x12\x12\n" + + "\x04text\x18\x02 \x01(\tR\x04text\"\xba\x01\n" + "\bDiffHunk\x12\x1b\n" + "\told_start\x18\x01 \x01(\x05R\boldStart\x12\x1b\n" + "\told_lines\x18\x02 \x01(\x05R\boldLines\x12\x1b\n" + "\tnew_start\x18\x03 \x01(\x05R\bnewStart\x12\x1b\n" + - "\tnew_lines\x18\x04 \x01(\x05R\bnewLines\x12@\n" + - "\x05lines\x18\x05 \x03(\v2*.pluggableharness.agent.render.v1.DiffLineR\x05lines\"\xec\x05\n" + + "\tnew_lines\x18\x04 \x01(\x05R\bnewLines\x12:\n" + + "\x05lines\x18\x05 \x03(\v2$.pluggableharness.render.v1.DiffLineR\x05lines\"\xb0\x05\n" + "\n" + - "RenderNode\x12@\n" + - "\x04text\x18\x01 \x01(\v2*.pluggableharness.agent.render.v1.TextNodeH\x00R\x04text\x12P\n" + + "RenderNode\x12:\n" + + "\x04text\x18\x01 \x01(\v2$.pluggableharness.render.v1.TextNodeH\x00R\x04text\x12J\n" + "\n" + - "code_block\x18\x02 \x01(\v2/.pluggableharness.agent.render.v1.CodeBlockNodeH\x00R\tcodeBlock\x12@\n" + - "\x04diff\x18\x03 \x01(\v2*.pluggableharness.agent.render.v1.DiffNodeH\x00R\x04diff\x12C\n" + - "\x05table\x18\x04 \x01(\v2+.pluggableharness.agent.render.v1.TableNodeH\x00R\x05table\x12@\n" + - "\x04link\x18\x05 \x01(\v2*.pluggableharness.agent.render.v1.LinkNodeH\x00R\x04link\x12@\n" + - "\x04list\x18\x06 \x01(\v2*.pluggableharness.agent.render.v1.ListNodeH\x00R\x04list\x12C\n" + - "\x05group\x18\a \x01(\v2+.pluggableharness.agent.render.v1.GroupNodeH\x00R\x05group\x12U\n" + - "\vcollapsible\x18\b \x01(\v21.pluggableharness.agent.render.v1.CollapsibleNodeH\x00R\vcollapsible\x12S\n" + - "\vsub_session\x18\t \x01(\v20.pluggableharness.agent.render.v1.SubSessionNodeH\x00R\n" + - "subSession\x12F\n" + + "code_block\x18\x02 \x01(\v2).pluggableharness.render.v1.CodeBlockNodeH\x00R\tcodeBlock\x12:\n" + + "\x04diff\x18\x03 \x01(\v2$.pluggableharness.render.v1.DiffNodeH\x00R\x04diff\x12=\n" + + "\x05table\x18\x04 \x01(\v2%.pluggableharness.render.v1.TableNodeH\x00R\x05table\x12:\n" + + "\x04link\x18\x05 \x01(\v2$.pluggableharness.render.v1.LinkNodeH\x00R\x04link\x12:\n" + + "\x04list\x18\x06 \x01(\v2$.pluggableharness.render.v1.ListNodeH\x00R\x04list\x12=\n" + + "\x05group\x18\a \x01(\v2%.pluggableharness.render.v1.GroupNodeH\x00R\x05group\x12O\n" + + "\vcollapsible\x18\b \x01(\v2+.pluggableharness.render.v1.CollapsibleNodeH\x00R\vcollapsible\x12M\n" + + "\vsub_session\x18\t \x01(\v2*.pluggableharness.render.v1.SubSessionNodeH\x00R\n" + + "subSession\x12@\n" + "\x06action\x18\n" + - " \x01(\v2,.pluggableharness.agent.render.v1.ActionNodeH\x00R\x06actionB\x06\n" + - "\x04node\"v\n" + + " \x01(\v2&.pluggableharness.render.v1.ActionNodeH\x00R\x06actionB\x06\n" + + "\x04node\"p\n" + "\bTextNode\x12\x18\n" + - "\acontent\x18\x01 \x01(\tR\acontent\x12F\n" + - "\x05style\x18\x02 \x01(\x0e2+.pluggableharness.agent.render.v1.TextStyleH\x00R\x05style\x88\x01\x01B\b\n" + + "\acontent\x18\x01 \x01(\tR\acontent\x12@\n" + + "\x05style\x18\x02 \x01(\x0e2%.pluggableharness.render.v1.TextStyleH\x00R\x05style\x88\x01\x01B\b\n" + "\x06_style\"W\n" + "\rCodeBlockNode\x12\x1f\n" + "\blanguage\x18\x01 \x01(\tH\x00R\blanguage\x88\x01\x01\x12\x18\n" + "\acontent\x18\x02 \x01(\tR\acontentB\v\n" + - "\t_language\"L\n" + - "\bDiffNode\x12@\n" + - "\x05hunks\x18\x01 \x03(\v2*.pluggableharness.agent.render.v1.DiffHunkR\x05hunks\" \n" + + "\t_language\"F\n" + + "\bDiffNode\x12:\n" + + "\x05hunks\x18\x01 \x03(\v2$.pluggableharness.render.v1.DiffHunkR\x05hunks\" \n" + "\bTableRow\x12\x14\n" + - "\x05cells\x18\x01 \x03(\tR\x05cells\"e\n" + + "\x05cells\x18\x01 \x03(\tR\x05cells\"_\n" + "\tTableNode\x12\x18\n" + - "\aheaders\x18\x01 \x03(\tR\aheaders\x12>\n" + - "\x04rows\x18\x02 \x03(\v2*.pluggableharness.agent.render.v1.TableRowR\x04rows\"0\n" + + "\aheaders\x18\x01 \x03(\tR\aheaders\x128\n" + + "\x04rows\x18\x02 \x03(\v2$.pluggableharness.render.v1.TableRowR\x04rows\"0\n" + "\bLinkNode\x12\x12\n" + "\x04text\x18\x01 \x01(\tR\x04text\x12\x10\n" + - "\x03url\x18\x02 \x01(\tR\x03url\"h\n" + - "\bListNode\x12B\n" + - "\x05items\x18\x01 \x03(\v2,.pluggableharness.agent.render.v1.RenderNodeR\x05items\x12\x18\n" + - "\aordered\x18\x02 \x01(\bR\aordered\"U\n" + - "\tGroupNode\x12H\n" + - "\bchildren\x18\x01 \x03(\v2,.pluggableharness.agent.render.v1.RenderNodeR\bchildren\"\xa7\x01\n" + + "\x03url\x18\x02 \x01(\tR\x03url\"b\n" + + "\bListNode\x12<\n" + + "\x05items\x18\x01 \x03(\v2&.pluggableharness.render.v1.RenderNodeR\x05items\x12\x18\n" + + "\aordered\x18\x02 \x01(\bR\aordered\"O\n" + + "\tGroupNode\x12B\n" + + "\bchildren\x18\x01 \x03(\v2&.pluggableharness.render.v1.RenderNodeR\bchildren\"\xa1\x01\n" + "\x0fCollapsibleNode\x12\x18\n" + - "\asummary\x18\x01 \x01(\tR\asummary\x12H\n" + - "\bchildren\x18\x02 \x03(\v2,.pluggableharness.agent.render.v1.RenderNodeR\bchildren\x120\n" + + "\asummary\x18\x01 \x01(\tR\asummary\x12B\n" + + "\bchildren\x18\x02 \x03(\v2&.pluggableharness.render.v1.RenderNodeR\bchildren\x120\n" + "\x14collapsed_by_default\x18\x03 \x01(\bR\x12collapsedByDefault\"I\n" + "\x0eSubSessionNode\x12\x1d\n" + "\n" + @@ -1462,64 +1462,64 @@ const file_pluggableharness_agent_render_v1_render_proto_rawDesc = "" + "\x13DIFF_LINE_OP_REMOVE\x10\x03B@Z>github.com/pluggableharness/agent/pkg/render/proto/v1;renderv1b\x06proto3" var ( - file_pluggableharness_agent_render_v1_render_proto_rawDescOnce sync.Once - file_pluggableharness_agent_render_v1_render_proto_rawDescData []byte + file_pluggableharness_render_v1_render_proto_rawDescOnce sync.Once + file_pluggableharness_render_v1_render_proto_rawDescData []byte ) -func file_pluggableharness_agent_render_v1_render_proto_rawDescGZIP() []byte { - file_pluggableharness_agent_render_v1_render_proto_rawDescOnce.Do(func() { - file_pluggableharness_agent_render_v1_render_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_render_v1_render_proto_rawDesc), len(file_pluggableharness_agent_render_v1_render_proto_rawDesc))) +func file_pluggableharness_render_v1_render_proto_rawDescGZIP() []byte { + file_pluggableharness_render_v1_render_proto_rawDescOnce.Do(func() { + file_pluggableharness_render_v1_render_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pluggableharness_render_v1_render_proto_rawDesc), len(file_pluggableharness_render_v1_render_proto_rawDesc))) }) - return file_pluggableharness_agent_render_v1_render_proto_rawDescData -} - -var file_pluggableharness_agent_render_v1_render_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_pluggableharness_agent_render_v1_render_proto_msgTypes = make([]protoimpl.MessageInfo, 16) -var file_pluggableharness_agent_render_v1_render_proto_goTypes = []any{ - (Region)(0), // 0: pluggableharness.agent.render.v1.Region - (TextStyle)(0), // 1: pluggableharness.agent.render.v1.TextStyle - (DiffLineOp)(0), // 2: pluggableharness.agent.render.v1.DiffLineOp - (*RenderTree)(nil), // 3: pluggableharness.agent.render.v1.RenderTree - (*PlacedContent)(nil), // 4: pluggableharness.agent.render.v1.PlacedContent - (*DiffLine)(nil), // 5: pluggableharness.agent.render.v1.DiffLine - (*DiffHunk)(nil), // 6: pluggableharness.agent.render.v1.DiffHunk - (*RenderNode)(nil), // 7: pluggableharness.agent.render.v1.RenderNode - (*TextNode)(nil), // 8: pluggableharness.agent.render.v1.TextNode - (*CodeBlockNode)(nil), // 9: pluggableharness.agent.render.v1.CodeBlockNode - (*DiffNode)(nil), // 10: pluggableharness.agent.render.v1.DiffNode - (*TableRow)(nil), // 11: pluggableharness.agent.render.v1.TableRow - (*TableNode)(nil), // 12: pluggableharness.agent.render.v1.TableNode - (*LinkNode)(nil), // 13: pluggableharness.agent.render.v1.LinkNode - (*ListNode)(nil), // 14: pluggableharness.agent.render.v1.ListNode - (*GroupNode)(nil), // 15: pluggableharness.agent.render.v1.GroupNode - (*CollapsibleNode)(nil), // 16: pluggableharness.agent.render.v1.CollapsibleNode - (*SubSessionNode)(nil), // 17: pluggableharness.agent.render.v1.SubSessionNode - (*ActionNode)(nil), // 18: pluggableharness.agent.render.v1.ActionNode + return file_pluggableharness_render_v1_render_proto_rawDescData +} + +var file_pluggableharness_render_v1_render_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_pluggableharness_render_v1_render_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_pluggableharness_render_v1_render_proto_goTypes = []any{ + (Region)(0), // 0: pluggableharness.render.v1.Region + (TextStyle)(0), // 1: pluggableharness.render.v1.TextStyle + (DiffLineOp)(0), // 2: pluggableharness.render.v1.DiffLineOp + (*RenderTree)(nil), // 3: pluggableharness.render.v1.RenderTree + (*PlacedContent)(nil), // 4: pluggableharness.render.v1.PlacedContent + (*DiffLine)(nil), // 5: pluggableharness.render.v1.DiffLine + (*DiffHunk)(nil), // 6: pluggableharness.render.v1.DiffHunk + (*RenderNode)(nil), // 7: pluggableharness.render.v1.RenderNode + (*TextNode)(nil), // 8: pluggableharness.render.v1.TextNode + (*CodeBlockNode)(nil), // 9: pluggableharness.render.v1.CodeBlockNode + (*DiffNode)(nil), // 10: pluggableharness.render.v1.DiffNode + (*TableRow)(nil), // 11: pluggableharness.render.v1.TableRow + (*TableNode)(nil), // 12: pluggableharness.render.v1.TableNode + (*LinkNode)(nil), // 13: pluggableharness.render.v1.LinkNode + (*ListNode)(nil), // 14: pluggableharness.render.v1.ListNode + (*GroupNode)(nil), // 15: pluggableharness.render.v1.GroupNode + (*CollapsibleNode)(nil), // 16: pluggableharness.render.v1.CollapsibleNode + (*SubSessionNode)(nil), // 17: pluggableharness.render.v1.SubSessionNode + (*ActionNode)(nil), // 18: pluggableharness.render.v1.ActionNode (*structpb.Struct)(nil), // 19: google.protobuf.Struct } -var file_pluggableharness_agent_render_v1_render_proto_depIdxs = []int32{ - 7, // 0: pluggableharness.agent.render.v1.RenderTree.root:type_name -> pluggableharness.agent.render.v1.RenderNode - 0, // 1: pluggableharness.agent.render.v1.PlacedContent.region:type_name -> pluggableharness.agent.render.v1.Region - 3, // 2: pluggableharness.agent.render.v1.PlacedContent.content:type_name -> pluggableharness.agent.render.v1.RenderTree - 2, // 3: pluggableharness.agent.render.v1.DiffLine.op:type_name -> pluggableharness.agent.render.v1.DiffLineOp - 5, // 4: pluggableharness.agent.render.v1.DiffHunk.lines:type_name -> pluggableharness.agent.render.v1.DiffLine - 8, // 5: pluggableharness.agent.render.v1.RenderNode.text:type_name -> pluggableharness.agent.render.v1.TextNode - 9, // 6: pluggableharness.agent.render.v1.RenderNode.code_block:type_name -> pluggableharness.agent.render.v1.CodeBlockNode - 10, // 7: pluggableharness.agent.render.v1.RenderNode.diff:type_name -> pluggableharness.agent.render.v1.DiffNode - 12, // 8: pluggableharness.agent.render.v1.RenderNode.table:type_name -> pluggableharness.agent.render.v1.TableNode - 13, // 9: pluggableharness.agent.render.v1.RenderNode.link:type_name -> pluggableharness.agent.render.v1.LinkNode - 14, // 10: pluggableharness.agent.render.v1.RenderNode.list:type_name -> pluggableharness.agent.render.v1.ListNode - 15, // 11: pluggableharness.agent.render.v1.RenderNode.group:type_name -> pluggableharness.agent.render.v1.GroupNode - 16, // 12: pluggableharness.agent.render.v1.RenderNode.collapsible:type_name -> pluggableharness.agent.render.v1.CollapsibleNode - 17, // 13: pluggableharness.agent.render.v1.RenderNode.sub_session:type_name -> pluggableharness.agent.render.v1.SubSessionNode - 18, // 14: pluggableharness.agent.render.v1.RenderNode.action:type_name -> pluggableharness.agent.render.v1.ActionNode - 1, // 15: pluggableharness.agent.render.v1.TextNode.style:type_name -> pluggableharness.agent.render.v1.TextStyle - 6, // 16: pluggableharness.agent.render.v1.DiffNode.hunks:type_name -> pluggableharness.agent.render.v1.DiffHunk - 11, // 17: pluggableharness.agent.render.v1.TableNode.rows:type_name -> pluggableharness.agent.render.v1.TableRow - 7, // 18: pluggableharness.agent.render.v1.ListNode.items:type_name -> pluggableharness.agent.render.v1.RenderNode - 7, // 19: pluggableharness.agent.render.v1.GroupNode.children:type_name -> pluggableharness.agent.render.v1.RenderNode - 7, // 20: pluggableharness.agent.render.v1.CollapsibleNode.children:type_name -> pluggableharness.agent.render.v1.RenderNode - 19, // 21: pluggableharness.agent.render.v1.ActionNode.args:type_name -> google.protobuf.Struct +var file_pluggableharness_render_v1_render_proto_depIdxs = []int32{ + 7, // 0: pluggableharness.render.v1.RenderTree.root:type_name -> pluggableharness.render.v1.RenderNode + 0, // 1: pluggableharness.render.v1.PlacedContent.region:type_name -> pluggableharness.render.v1.Region + 3, // 2: pluggableharness.render.v1.PlacedContent.content:type_name -> pluggableharness.render.v1.RenderTree + 2, // 3: pluggableharness.render.v1.DiffLine.op:type_name -> pluggableharness.render.v1.DiffLineOp + 5, // 4: pluggableharness.render.v1.DiffHunk.lines:type_name -> pluggableharness.render.v1.DiffLine + 8, // 5: pluggableharness.render.v1.RenderNode.text:type_name -> pluggableharness.render.v1.TextNode + 9, // 6: pluggableharness.render.v1.RenderNode.code_block:type_name -> pluggableharness.render.v1.CodeBlockNode + 10, // 7: pluggableharness.render.v1.RenderNode.diff:type_name -> pluggableharness.render.v1.DiffNode + 12, // 8: pluggableharness.render.v1.RenderNode.table:type_name -> pluggableharness.render.v1.TableNode + 13, // 9: pluggableharness.render.v1.RenderNode.link:type_name -> pluggableharness.render.v1.LinkNode + 14, // 10: pluggableharness.render.v1.RenderNode.list:type_name -> pluggableharness.render.v1.ListNode + 15, // 11: pluggableharness.render.v1.RenderNode.group:type_name -> pluggableharness.render.v1.GroupNode + 16, // 12: pluggableharness.render.v1.RenderNode.collapsible:type_name -> pluggableharness.render.v1.CollapsibleNode + 17, // 13: pluggableharness.render.v1.RenderNode.sub_session:type_name -> pluggableharness.render.v1.SubSessionNode + 18, // 14: pluggableharness.render.v1.RenderNode.action:type_name -> pluggableharness.render.v1.ActionNode + 1, // 15: pluggableharness.render.v1.TextNode.style:type_name -> pluggableharness.render.v1.TextStyle + 6, // 16: pluggableharness.render.v1.DiffNode.hunks:type_name -> pluggableharness.render.v1.DiffHunk + 11, // 17: pluggableharness.render.v1.TableNode.rows:type_name -> pluggableharness.render.v1.TableRow + 7, // 18: pluggableharness.render.v1.ListNode.items:type_name -> pluggableharness.render.v1.RenderNode + 7, // 19: pluggableharness.render.v1.GroupNode.children:type_name -> pluggableharness.render.v1.RenderNode + 7, // 20: pluggableharness.render.v1.CollapsibleNode.children:type_name -> pluggableharness.render.v1.RenderNode + 19, // 21: pluggableharness.render.v1.ActionNode.args:type_name -> google.protobuf.Struct 22, // [22:22] is the sub-list for method output_type 22, // [22:22] is the sub-list for method input_type 22, // [22:22] is the sub-list for extension type_name @@ -1527,13 +1527,13 @@ var file_pluggableharness_agent_render_v1_render_proto_depIdxs = []int32{ 0, // [0:22] is the sub-list for field type_name } -func init() { file_pluggableharness_agent_render_v1_render_proto_init() } -func file_pluggableharness_agent_render_v1_render_proto_init() { - if File_pluggableharness_agent_render_v1_render_proto != nil { +func init() { file_pluggableharness_render_v1_render_proto_init() } +func file_pluggableharness_render_v1_render_proto_init() { + if File_pluggableharness_render_v1_render_proto != nil { return } - file_pluggableharness_agent_render_v1_render_proto_msgTypes[1].OneofWrappers = []any{} - file_pluggableharness_agent_render_v1_render_proto_msgTypes[4].OneofWrappers = []any{ + file_pluggableharness_render_v1_render_proto_msgTypes[1].OneofWrappers = []any{} + file_pluggableharness_render_v1_render_proto_msgTypes[4].OneofWrappers = []any{ (*RenderNode_Text)(nil), (*RenderNode_CodeBlock)(nil), (*RenderNode_Diff)(nil), @@ -1545,24 +1545,24 @@ func file_pluggableharness_agent_render_v1_render_proto_init() { (*RenderNode_SubSession)(nil), (*RenderNode_Action)(nil), } - file_pluggableharness_agent_render_v1_render_proto_msgTypes[5].OneofWrappers = []any{} - file_pluggableharness_agent_render_v1_render_proto_msgTypes[6].OneofWrappers = []any{} + file_pluggableharness_render_v1_render_proto_msgTypes[5].OneofWrappers = []any{} + file_pluggableharness_render_v1_render_proto_msgTypes[6].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_render_v1_render_proto_rawDesc), len(file_pluggableharness_agent_render_v1_render_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_render_v1_render_proto_rawDesc), len(file_pluggableharness_render_v1_render_proto_rawDesc)), NumEnums: 3, NumMessages: 16, NumExtensions: 0, NumServices: 0, }, - GoTypes: file_pluggableharness_agent_render_v1_render_proto_goTypes, - DependencyIndexes: file_pluggableharness_agent_render_v1_render_proto_depIdxs, - EnumInfos: file_pluggableharness_agent_render_v1_render_proto_enumTypes, - MessageInfos: file_pluggableharness_agent_render_v1_render_proto_msgTypes, + GoTypes: file_pluggableharness_render_v1_render_proto_goTypes, + DependencyIndexes: file_pluggableharness_render_v1_render_proto_depIdxs, + EnumInfos: file_pluggableharness_render_v1_render_proto_enumTypes, + MessageInfos: file_pluggableharness_render_v1_render_proto_msgTypes, }.Build() - File_pluggableharness_agent_render_v1_render_proto = out.File - file_pluggableharness_agent_render_v1_render_proto_goTypes = nil - file_pluggableharness_agent_render_v1_render_proto_depIdxs = nil + File_pluggableharness_render_v1_render_proto = out.File + file_pluggableharness_render_v1_render_proto_goTypes = nil + file_pluggableharness_render_v1_render_proto_depIdxs = nil } diff --git a/pkg/schema/proto/v1/schema.pb.go b/pkg/schema/proto/v1/schema.pb.go index 93e8b03..9ad78e2 100644 --- a/pkg/schema/proto/v1/schema.pb.go +++ b/pkg/schema/proto/v1/schema.pb.go @@ -2,9 +2,9 @@ // versions: // protoc-gen-go v1.36.11 // protoc (unknown) -// source: pluggableharness/agent/schema/v1/schema.proto +// source: pluggableharness/schema/v1/schema.proto -// Package pluggableharness.agent.schema.v1 defines the restricted JSON-Schema subset +// Package pluggableharness.schema.v1 defines the restricted JSON-Schema subset // described in specifications/model.md §6, shared by tool input/output // schemas (specifications/tool.md §2) and model tool-calling declarations // (specifications/model.md §6). Deliberately NOT full JSON Schema: no @@ -84,11 +84,11 @@ func (x SchemaType) String() string { } func (SchemaType) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_schema_v1_schema_proto_enumTypes[0].Descriptor() + return file_pluggableharness_schema_v1_schema_proto_enumTypes[0].Descriptor() } func (SchemaType) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_schema_v1_schema_proto_enumTypes[0] + return &file_pluggableharness_schema_v1_schema_proto_enumTypes[0] } func (x SchemaType) Number() protoreflect.EnumNumber { @@ -97,7 +97,7 @@ func (x SchemaType) Number() protoreflect.EnumNumber { // Deprecated: Use SchemaType.Descriptor instead. func (SchemaType) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_schema_v1_schema_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_schema_v1_schema_proto_rawDescGZIP(), []int{0} } // Schema is one node of the restricted JSON-Schema subset. It is @@ -110,7 +110,7 @@ func (SchemaType) EnumDescriptor() ([]byte, []int) { type Schema struct { state protoimpl.MessageState `protogen:"open.v1"` // The JSON type this node describes. MUST be set. - Type SchemaType `protobuf:"varint,1,opt,name=type,proto3,enum=pluggableharness.agent.schema.v1.SchemaType" json:"type,omitempty"` + Type SchemaType `protobuf:"varint,1,opt,name=type,proto3,enum=pluggableharness.schema.v1.SchemaType" json:"type,omitempty"` // Human-readable description of what this node represents. Shown to the // model (as part of a tool's declared schema) and in plan-diff UI. Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` @@ -134,7 +134,7 @@ type Schema struct { func (x *Schema) Reset() { *x = Schema{} - mi := &file_pluggableharness_agent_schema_v1_schema_proto_msgTypes[0] + mi := &file_pluggableharness_schema_v1_schema_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -146,7 +146,7 @@ func (x *Schema) String() string { func (*Schema) ProtoMessage() {} func (x *Schema) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_schema_v1_schema_proto_msgTypes[0] + mi := &file_pluggableharness_schema_v1_schema_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -159,7 +159,7 @@ func (x *Schema) ProtoReflect() protoreflect.Message { // Deprecated: Use Schema.ProtoReflect.Descriptor instead. func (*Schema) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_schema_v1_schema_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_schema_v1_schema_proto_rawDescGZIP(), []int{0} } func (x *Schema) GetType() SchemaType { @@ -204,24 +204,24 @@ func (x *Schema) GetEnumValues() []string { return nil } -var File_pluggableharness_agent_schema_v1_schema_proto protoreflect.FileDescriptor +var File_pluggableharness_schema_v1_schema_proto protoreflect.FileDescriptor -const file_pluggableharness_agent_schema_v1_schema_proto_rawDesc = "" + +const file_pluggableharness_schema_v1_schema_proto_rawDesc = "" + "\n" + - "-pluggableharness/agent/schema/v1/schema.proto\x12 pluggableharness.agent.schema.v1\"\xac\x03\n" + - "\x06Schema\x12@\n" + - "\x04type\x18\x01 \x01(\x0e2,.pluggableharness.agent.schema.v1.SchemaTypeR\x04type\x12 \n" + - "\vdescription\x18\x02 \x01(\tR\vdescription\x12X\n" + + "'pluggableharness/schema/v1/schema.proto\x12\x1apluggableharness.schema.v1\"\x94\x03\n" + + "\x06Schema\x12:\n" + + "\x04type\x18\x01 \x01(\x0e2&.pluggableharness.schema.v1.SchemaTypeR\x04type\x12 \n" + + "\vdescription\x18\x02 \x01(\tR\vdescription\x12R\n" + "\n" + - "properties\x18\x03 \x03(\v28.pluggableharness.agent.schema.v1.Schema.PropertiesEntryR\n" + + "properties\x18\x03 \x03(\v22.pluggableharness.schema.v1.Schema.PropertiesEntryR\n" + "properties\x12\x1a\n" + - "\brequired\x18\x04 \x03(\tR\brequired\x12>\n" + - "\x05items\x18\x05 \x01(\v2(.pluggableharness.agent.schema.v1.SchemaR\x05items\x12\x1f\n" + + "\brequired\x18\x04 \x03(\tR\brequired\x128\n" + + "\x05items\x18\x05 \x01(\v2\".pluggableharness.schema.v1.SchemaR\x05items\x12\x1f\n" + "\venum_values\x18\x06 \x03(\tR\n" + - "enumValues\x1ag\n" + + "enumValues\x1aa\n" + "\x0fPropertiesEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x12>\n" + - "\x05value\x18\x02 \x01(\v2(.pluggableharness.agent.schema.v1.SchemaR\x05value:\x028\x01*\xa1\x01\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x128\n" + + "\x05value\x18\x02 \x01(\v2\".pluggableharness.schema.v1.SchemaR\x05value:\x028\x01*\xa1\x01\n" + "\n" + "SchemaType\x12\x1b\n" + "\x17SCHEMA_TYPE_UNSPECIFIED\x10\x00\x12\x16\n" + @@ -232,29 +232,29 @@ const file_pluggableharness_agent_schema_v1_schema_proto_rawDesc = "" + "\x11SCHEMA_TYPE_ARRAY\x10\x05B@Z>github.com/pluggableharness/agent/pkg/schema/proto/v1;schemav1b\x06proto3" var ( - file_pluggableharness_agent_schema_v1_schema_proto_rawDescOnce sync.Once - file_pluggableharness_agent_schema_v1_schema_proto_rawDescData []byte + file_pluggableharness_schema_v1_schema_proto_rawDescOnce sync.Once + file_pluggableharness_schema_v1_schema_proto_rawDescData []byte ) -func file_pluggableharness_agent_schema_v1_schema_proto_rawDescGZIP() []byte { - file_pluggableharness_agent_schema_v1_schema_proto_rawDescOnce.Do(func() { - file_pluggableharness_agent_schema_v1_schema_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_schema_v1_schema_proto_rawDesc), len(file_pluggableharness_agent_schema_v1_schema_proto_rawDesc))) +func file_pluggableharness_schema_v1_schema_proto_rawDescGZIP() []byte { + file_pluggableharness_schema_v1_schema_proto_rawDescOnce.Do(func() { + file_pluggableharness_schema_v1_schema_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pluggableharness_schema_v1_schema_proto_rawDesc), len(file_pluggableharness_schema_v1_schema_proto_rawDesc))) }) - return file_pluggableharness_agent_schema_v1_schema_proto_rawDescData + return file_pluggableharness_schema_v1_schema_proto_rawDescData } -var file_pluggableharness_agent_schema_v1_schema_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_pluggableharness_agent_schema_v1_schema_proto_msgTypes = make([]protoimpl.MessageInfo, 2) -var file_pluggableharness_agent_schema_v1_schema_proto_goTypes = []any{ - (SchemaType)(0), // 0: pluggableharness.agent.schema.v1.SchemaType - (*Schema)(nil), // 1: pluggableharness.agent.schema.v1.Schema - nil, // 2: pluggableharness.agent.schema.v1.Schema.PropertiesEntry +var file_pluggableharness_schema_v1_schema_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_pluggableharness_schema_v1_schema_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_pluggableharness_schema_v1_schema_proto_goTypes = []any{ + (SchemaType)(0), // 0: pluggableharness.schema.v1.SchemaType + (*Schema)(nil), // 1: pluggableharness.schema.v1.Schema + nil, // 2: pluggableharness.schema.v1.Schema.PropertiesEntry } -var file_pluggableharness_agent_schema_v1_schema_proto_depIdxs = []int32{ - 0, // 0: pluggableharness.agent.schema.v1.Schema.type:type_name -> pluggableharness.agent.schema.v1.SchemaType - 2, // 1: pluggableharness.agent.schema.v1.Schema.properties:type_name -> pluggableharness.agent.schema.v1.Schema.PropertiesEntry - 1, // 2: pluggableharness.agent.schema.v1.Schema.items:type_name -> pluggableharness.agent.schema.v1.Schema - 1, // 3: pluggableharness.agent.schema.v1.Schema.PropertiesEntry.value:type_name -> pluggableharness.agent.schema.v1.Schema +var file_pluggableharness_schema_v1_schema_proto_depIdxs = []int32{ + 0, // 0: pluggableharness.schema.v1.Schema.type:type_name -> pluggableharness.schema.v1.SchemaType + 2, // 1: pluggableharness.schema.v1.Schema.properties:type_name -> pluggableharness.schema.v1.Schema.PropertiesEntry + 1, // 2: pluggableharness.schema.v1.Schema.items:type_name -> pluggableharness.schema.v1.Schema + 1, // 3: pluggableharness.schema.v1.Schema.PropertiesEntry.value:type_name -> pluggableharness.schema.v1.Schema 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name @@ -262,27 +262,27 @@ var file_pluggableharness_agent_schema_v1_schema_proto_depIdxs = []int32{ 0, // [0:4] is the sub-list for field type_name } -func init() { file_pluggableharness_agent_schema_v1_schema_proto_init() } -func file_pluggableharness_agent_schema_v1_schema_proto_init() { - if File_pluggableharness_agent_schema_v1_schema_proto != nil { +func init() { file_pluggableharness_schema_v1_schema_proto_init() } +func file_pluggableharness_schema_v1_schema_proto_init() { + if File_pluggableharness_schema_v1_schema_proto != nil { return } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_schema_v1_schema_proto_rawDesc), len(file_pluggableharness_agent_schema_v1_schema_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_schema_v1_schema_proto_rawDesc), len(file_pluggableharness_schema_v1_schema_proto_rawDesc)), NumEnums: 1, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, - GoTypes: file_pluggableharness_agent_schema_v1_schema_proto_goTypes, - DependencyIndexes: file_pluggableharness_agent_schema_v1_schema_proto_depIdxs, - EnumInfos: file_pluggableharness_agent_schema_v1_schema_proto_enumTypes, - MessageInfos: file_pluggableharness_agent_schema_v1_schema_proto_msgTypes, + GoTypes: file_pluggableharness_schema_v1_schema_proto_goTypes, + DependencyIndexes: file_pluggableharness_schema_v1_schema_proto_depIdxs, + EnumInfos: file_pluggableharness_schema_v1_schema_proto_enumTypes, + MessageInfos: file_pluggableharness_schema_v1_schema_proto_msgTypes, }.Build() - File_pluggableharness_agent_schema_v1_schema_proto = out.File - file_pluggableharness_agent_schema_v1_schema_proto_goTypes = nil - file_pluggableharness_agent_schema_v1_schema_proto_depIdxs = nil + File_pluggableharness_schema_v1_schema_proto = out.File + file_pluggableharness_schema_v1_schema_proto_goTypes = nil + file_pluggableharness_schema_v1_schema_proto_depIdxs = nil } diff --git a/pkg/session/proto/v1/session.pb.go b/pkg/session/proto/v1/session.pb.go index 1914f77..d222d97 100644 --- a/pkg/session/proto/v1/session.pb.go +++ b/pkg/session/proto/v1/session.pb.go @@ -2,9 +2,9 @@ // versions: // protoc-gen-go v1.36.11 // protoc (unknown) -// source: pluggableharness/agent/session/v1/session.proto +// source: pluggableharness/session/v1/session.proto -// Package pluggableharness.agent.session.v1 defines the session lifecycle status enum +// Package pluggableharness.session.v1 defines the session lifecycle status enum // shared by kernel-callbacks.md §1's RunSessionResult, state-backend.md // §4.2's session_meta.status column, and frontend.md §3.2's // session_tree_update ServerEvent. @@ -92,11 +92,11 @@ func (x SessionStatus) String() string { } func (SessionStatus) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_session_v1_session_proto_enumTypes[0].Descriptor() + return file_pluggableharness_session_v1_session_proto_enumTypes[0].Descriptor() } func (SessionStatus) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_session_v1_session_proto_enumTypes[0] + return &file_pluggableharness_session_v1_session_proto_enumTypes[0] } func (x SessionStatus) Number() protoreflect.EnumNumber { @@ -105,7 +105,7 @@ func (x SessionStatus) Number() protoreflect.EnumNumber { // Deprecated: Use SessionStatus.Descriptor instead. func (SessionStatus) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_session_v1_session_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_session_v1_session_proto_rawDescGZIP(), []int{0} } // SessionInfo is a session's shareable summary, mirroring @@ -125,7 +125,7 @@ type SessionInfo struct { // The agent.hcl profile this session was created under. Profile string `protobuf:"bytes,3,opt,name=profile,proto3" json:"profile,omitempty"` // The session's current lifecycle status. - Status SessionStatus `protobuf:"varint,4,opt,name=status,proto3,enum=pluggableharness.agent.session.v1.SessionStatus" json:"status,omitempty"` + Status SessionStatus `protobuf:"varint,4,opt,name=status,proto3,enum=pluggableharness.session.v1.SessionStatus" json:"status,omitempty"` // The session's depth in its ancestor chain — mirrors // session_meta.depth (agent-loop/subagents.md#depth-limits). Depth int32 `protobuf:"varint,5,opt,name=depth,proto3" json:"depth,omitempty"` @@ -144,7 +144,7 @@ type SessionInfo struct { func (x *SessionInfo) Reset() { *x = SessionInfo{} - mi := &file_pluggableharness_agent_session_v1_session_proto_msgTypes[0] + mi := &file_pluggableharness_session_v1_session_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -156,7 +156,7 @@ func (x *SessionInfo) String() string { func (*SessionInfo) ProtoMessage() {} func (x *SessionInfo) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_session_v1_session_proto_msgTypes[0] + mi := &file_pluggableharness_session_v1_session_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -169,7 +169,7 @@ func (x *SessionInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use SessionInfo.ProtoReflect.Descriptor instead. func (*SessionInfo) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_session_v1_session_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_session_v1_session_proto_rawDescGZIP(), []int{0} } func (x *SessionInfo) GetSessionId() string { @@ -228,17 +228,17 @@ func (x *SessionInfo) GetCostUsd() float64 { return 0 } -var File_pluggableharness_agent_session_v1_session_proto protoreflect.FileDescriptor +var File_pluggableharness_session_v1_session_proto protoreflect.FileDescriptor -const file_pluggableharness_agent_session_v1_session_proto_rawDesc = "" + +const file_pluggableharness_session_v1_session_proto_rawDesc = "" + "\n" + - "/pluggableharness/agent/session/v1/session.proto\x12!pluggableharness.agent.session.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\x9e\x03\n" + + ")pluggableharness/session/v1/session.proto\x12\x1bpluggableharness.session.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\x98\x03\n" + "\vSessionInfo\x12\x1d\n" + "\n" + "session_id\x18\x01 \x01(\tR\tsessionId\x12/\n" + "\x11parent_session_id\x18\x02 \x01(\tH\x00R\x0fparentSessionId\x88\x01\x01\x12\x18\n" + - "\aprofile\x18\x03 \x01(\tR\aprofile\x12H\n" + - "\x06status\x18\x04 \x01(\x0e20.pluggableharness.agent.session.v1.SessionStatusR\x06status\x12\x14\n" + + "\aprofile\x18\x03 \x01(\tR\aprofile\x12B\n" + + "\x06status\x18\x04 \x01(\x0e2*.pluggableharness.session.v1.SessionStatusR\x06status\x12\x14\n" + "\x05depth\x18\x05 \x01(\x05R\x05depth\x129\n" + "\n" + "started_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\x12:\n" + @@ -258,28 +258,28 @@ const file_pluggableharness_agent_session_v1_session_proto_rawDesc = "" + "\x15SESSION_STATUS_FAILED\x10\aBBZ@github.com/pluggableharness/agent/pkg/session/proto/v1;sessionv1b\x06proto3" var ( - file_pluggableharness_agent_session_v1_session_proto_rawDescOnce sync.Once - file_pluggableharness_agent_session_v1_session_proto_rawDescData []byte + file_pluggableharness_session_v1_session_proto_rawDescOnce sync.Once + file_pluggableharness_session_v1_session_proto_rawDescData []byte ) -func file_pluggableharness_agent_session_v1_session_proto_rawDescGZIP() []byte { - file_pluggableharness_agent_session_v1_session_proto_rawDescOnce.Do(func() { - file_pluggableharness_agent_session_v1_session_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_session_v1_session_proto_rawDesc), len(file_pluggableharness_agent_session_v1_session_proto_rawDesc))) +func file_pluggableharness_session_v1_session_proto_rawDescGZIP() []byte { + file_pluggableharness_session_v1_session_proto_rawDescOnce.Do(func() { + file_pluggableharness_session_v1_session_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pluggableharness_session_v1_session_proto_rawDesc), len(file_pluggableharness_session_v1_session_proto_rawDesc))) }) - return file_pluggableharness_agent_session_v1_session_proto_rawDescData + return file_pluggableharness_session_v1_session_proto_rawDescData } -var file_pluggableharness_agent_session_v1_session_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_pluggableharness_agent_session_v1_session_proto_msgTypes = make([]protoimpl.MessageInfo, 1) -var file_pluggableharness_agent_session_v1_session_proto_goTypes = []any{ - (SessionStatus)(0), // 0: pluggableharness.agent.session.v1.SessionStatus - (*SessionInfo)(nil), // 1: pluggableharness.agent.session.v1.SessionInfo +var file_pluggableharness_session_v1_session_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_pluggableharness_session_v1_session_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_pluggableharness_session_v1_session_proto_goTypes = []any{ + (SessionStatus)(0), // 0: pluggableharness.session.v1.SessionStatus + (*SessionInfo)(nil), // 1: pluggableharness.session.v1.SessionInfo (*timestamppb.Timestamp)(nil), // 2: google.protobuf.Timestamp } -var file_pluggableharness_agent_session_v1_session_proto_depIdxs = []int32{ - 0, // 0: pluggableharness.agent.session.v1.SessionInfo.status:type_name -> pluggableharness.agent.session.v1.SessionStatus - 2, // 1: pluggableharness.agent.session.v1.SessionInfo.started_at:type_name -> google.protobuf.Timestamp - 2, // 2: pluggableharness.agent.session.v1.SessionInfo.ended_at:type_name -> google.protobuf.Timestamp +var file_pluggableharness_session_v1_session_proto_depIdxs = []int32{ + 0, // 0: pluggableharness.session.v1.SessionInfo.status:type_name -> pluggableharness.session.v1.SessionStatus + 2, // 1: pluggableharness.session.v1.SessionInfo.started_at:type_name -> google.protobuf.Timestamp + 2, // 2: pluggableharness.session.v1.SessionInfo.ended_at:type_name -> google.protobuf.Timestamp 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name @@ -287,28 +287,28 @@ var file_pluggableharness_agent_session_v1_session_proto_depIdxs = []int32{ 0, // [0:3] is the sub-list for field type_name } -func init() { file_pluggableharness_agent_session_v1_session_proto_init() } -func file_pluggableharness_agent_session_v1_session_proto_init() { - if File_pluggableharness_agent_session_v1_session_proto != nil { +func init() { file_pluggableharness_session_v1_session_proto_init() } +func file_pluggableharness_session_v1_session_proto_init() { + if File_pluggableharness_session_v1_session_proto != nil { return } - file_pluggableharness_agent_session_v1_session_proto_msgTypes[0].OneofWrappers = []any{} + file_pluggableharness_session_v1_session_proto_msgTypes[0].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_session_v1_session_proto_rawDesc), len(file_pluggableharness_agent_session_v1_session_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_session_v1_session_proto_rawDesc), len(file_pluggableharness_session_v1_session_proto_rawDesc)), NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, - GoTypes: file_pluggableharness_agent_session_v1_session_proto_goTypes, - DependencyIndexes: file_pluggableharness_agent_session_v1_session_proto_depIdxs, - EnumInfos: file_pluggableharness_agent_session_v1_session_proto_enumTypes, - MessageInfos: file_pluggableharness_agent_session_v1_session_proto_msgTypes, + GoTypes: file_pluggableharness_session_v1_session_proto_goTypes, + DependencyIndexes: file_pluggableharness_session_v1_session_proto_depIdxs, + EnumInfos: file_pluggableharness_session_v1_session_proto_enumTypes, + MessageInfos: file_pluggableharness_session_v1_session_proto_msgTypes, }.Build() - File_pluggableharness_agent_session_v1_session_proto = out.File - file_pluggableharness_agent_session_v1_session_proto_goTypes = nil - file_pluggableharness_agent_session_v1_session_proto_depIdxs = nil + File_pluggableharness_session_v1_session_proto = out.File + file_pluggableharness_session_v1_session_proto_goTypes = nil + file_pluggableharness_session_v1_session_proto_depIdxs = nil } diff --git a/pkg/slashcommand/proto/v1/slashcommand.pb.go b/pkg/slashcommand/proto/v1/slashcommand.pb.go index 341b783..f48e780 100644 --- a/pkg/slashcommand/proto/v1/slashcommand.pb.go +++ b/pkg/slashcommand/proto/v1/slashcommand.pb.go @@ -2,9 +2,9 @@ // versions: // protoc-gen-go v1.36.11 // protoc (unknown) -// source: pluggableharness/agent/slashcommand/v1/slashcommand.proto +// source: pluggableharness/slashcommand/v1/slashcommand.proto -// Package pluggableharness.agent.slashcommand.v1 defines the slash-command declaration +// Package pluggableharness.slashcommand.v1 defines the slash-command declaration // shape described in specifications/configuration.md §5 (and equivalently // specifications/frontend.md §5). Declarable as an optional repeated field // in every category's capability response: model.md §2 Capabilities, @@ -70,11 +70,11 @@ func (x Dispatch) String() string { } func (Dispatch) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_enumTypes[0].Descriptor() + return file_pluggableharness_slashcommand_v1_slashcommand_proto_enumTypes[0].Descriptor() } func (Dispatch) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_enumTypes[0] + return &file_pluggableharness_slashcommand_v1_slashcommand_proto_enumTypes[0] } func (x Dispatch) Number() protoreflect.EnumNumber { @@ -83,7 +83,7 @@ func (x Dispatch) Number() protoreflect.EnumNumber { // Deprecated: Use Dispatch.Descriptor instead. func (Dispatch) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_slashcommand_v1_slashcommand_proto_rawDescGZIP(), []int{0} } // SlashCommandSpec declares one slash command a plugin contributes. @@ -97,7 +97,7 @@ type SlashCommandSpec struct { // wherever else the frontend surfaces available commands. Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` // How this command is dispatched when invoked. - Dispatch Dispatch `protobuf:"varint,3,opt,name=dispatch,proto3,enum=pluggableharness.agent.slashcommand.v1.Dispatch" json:"dispatch,omitempty"` + Dispatch Dispatch `protobuf:"varint,3,opt,name=dispatch,proto3,enum=pluggableharness.slashcommand.v1.Dispatch" json:"dispatch,omitempty"` // The tool operation to invoke. MUST be set if and only if // dispatch == DISPATCH_DIRECT_INVOKE, and MUST name one of this same // provider's own tool operations (tool.md §2.1) — a provider cannot @@ -112,7 +112,7 @@ type SlashCommandSpec struct { func (x *SlashCommandSpec) Reset() { *x = SlashCommandSpec{} - mi := &file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_msgTypes[0] + mi := &file_pluggableharness_slashcommand_v1_slashcommand_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -124,7 +124,7 @@ func (x *SlashCommandSpec) String() string { func (*SlashCommandSpec) ProtoMessage() {} func (x *SlashCommandSpec) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_msgTypes[0] + mi := &file_pluggableharness_slashcommand_v1_slashcommand_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -137,7 +137,7 @@ func (x *SlashCommandSpec) ProtoReflect() protoreflect.Message { // Deprecated: Use SlashCommandSpec.ProtoReflect.Descriptor instead. func (*SlashCommandSpec) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_slashcommand_v1_slashcommand_proto_rawDescGZIP(), []int{0} } func (x *SlashCommandSpec) GetName() string { @@ -175,15 +175,15 @@ func (x *SlashCommandSpec) GetTemplate() string { return "" } -var File_pluggableharness_agent_slashcommand_v1_slashcommand_proto protoreflect.FileDescriptor +var File_pluggableharness_slashcommand_v1_slashcommand_proto protoreflect.FileDescriptor -const file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_rawDesc = "" + +const file_pluggableharness_slashcommand_v1_slashcommand_proto_rawDesc = "" + "\n" + - "9pluggableharness/agent/slashcommand/v1/slashcommand.proto\x12&pluggableharness.agent.slashcommand.v1\"\xf4\x01\n" + + "3pluggableharness/slashcommand/v1/slashcommand.proto\x12 pluggableharness.slashcommand.v1\"\xee\x01\n" + "\x10SlashCommandSpec\x12\x12\n" + "\x04name\x18\x01 \x01(\tR\x04name\x12 \n" + - "\vdescription\x18\x02 \x01(\tR\vdescription\x12L\n" + - "\bdispatch\x18\x03 \x01(\x0e20.pluggableharness.agent.slashcommand.v1.DispatchR\bdispatch\x12 \n" + + "\vdescription\x18\x02 \x01(\tR\vdescription\x12F\n" + + "\bdispatch\x18\x03 \x01(\x0e2*.pluggableharness.slashcommand.v1.DispatchR\bdispatch\x12 \n" + "\ttool_name\x18\x04 \x01(\tH\x00R\btoolName\x88\x01\x01\x12\x1f\n" + "\btemplate\x18\x05 \x01(\tH\x01R\btemplate\x88\x01\x01B\f\n" + "\n" + @@ -195,25 +195,25 @@ const file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_rawDesc = " "\x19DISPATCH_PROMPT_EXPANSION\x10\x02BLZJgithub.com/pluggableharness/agent/pkg/slashcommand/proto/v1;slashcommandv1b\x06proto3" var ( - file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_rawDescOnce sync.Once - file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_rawDescData []byte + file_pluggableharness_slashcommand_v1_slashcommand_proto_rawDescOnce sync.Once + file_pluggableharness_slashcommand_v1_slashcommand_proto_rawDescData []byte ) -func file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_rawDescGZIP() []byte { - file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_rawDescOnce.Do(func() { - file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_rawDesc), len(file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_rawDesc))) +func file_pluggableharness_slashcommand_v1_slashcommand_proto_rawDescGZIP() []byte { + file_pluggableharness_slashcommand_v1_slashcommand_proto_rawDescOnce.Do(func() { + file_pluggableharness_slashcommand_v1_slashcommand_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pluggableharness_slashcommand_v1_slashcommand_proto_rawDesc), len(file_pluggableharness_slashcommand_v1_slashcommand_proto_rawDesc))) }) - return file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_rawDescData + return file_pluggableharness_slashcommand_v1_slashcommand_proto_rawDescData } -var file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_msgTypes = make([]protoimpl.MessageInfo, 1) -var file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_goTypes = []any{ - (Dispatch)(0), // 0: pluggableharness.agent.slashcommand.v1.Dispatch - (*SlashCommandSpec)(nil), // 1: pluggableharness.agent.slashcommand.v1.SlashCommandSpec +var file_pluggableharness_slashcommand_v1_slashcommand_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_pluggableharness_slashcommand_v1_slashcommand_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_pluggableharness_slashcommand_v1_slashcommand_proto_goTypes = []any{ + (Dispatch)(0), // 0: pluggableharness.slashcommand.v1.Dispatch + (*SlashCommandSpec)(nil), // 1: pluggableharness.slashcommand.v1.SlashCommandSpec } -var file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_depIdxs = []int32{ - 0, // 0: pluggableharness.agent.slashcommand.v1.SlashCommandSpec.dispatch:type_name -> pluggableharness.agent.slashcommand.v1.Dispatch +var file_pluggableharness_slashcommand_v1_slashcommand_proto_depIdxs = []int32{ + 0, // 0: pluggableharness.slashcommand.v1.SlashCommandSpec.dispatch:type_name -> pluggableharness.slashcommand.v1.Dispatch 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name @@ -221,28 +221,28 @@ var file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_depIdxs = []i 0, // [0:1] is the sub-list for field type_name } -func init() { file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_init() } -func file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_init() { - if File_pluggableharness_agent_slashcommand_v1_slashcommand_proto != nil { +func init() { file_pluggableharness_slashcommand_v1_slashcommand_proto_init() } +func file_pluggableharness_slashcommand_v1_slashcommand_proto_init() { + if File_pluggableharness_slashcommand_v1_slashcommand_proto != nil { return } - file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_msgTypes[0].OneofWrappers = []any{} + file_pluggableharness_slashcommand_v1_slashcommand_proto_msgTypes[0].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_rawDesc), len(file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_slashcommand_v1_slashcommand_proto_rawDesc), len(file_pluggableharness_slashcommand_v1_slashcommand_proto_rawDesc)), NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, - GoTypes: file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_goTypes, - DependencyIndexes: file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_depIdxs, - EnumInfos: file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_enumTypes, - MessageInfos: file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_msgTypes, + GoTypes: file_pluggableharness_slashcommand_v1_slashcommand_proto_goTypes, + DependencyIndexes: file_pluggableharness_slashcommand_v1_slashcommand_proto_depIdxs, + EnumInfos: file_pluggableharness_slashcommand_v1_slashcommand_proto_enumTypes, + MessageInfos: file_pluggableharness_slashcommand_v1_slashcommand_proto_msgTypes, }.Build() - File_pluggableharness_agent_slashcommand_v1_slashcommand_proto = out.File - file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_goTypes = nil - file_pluggableharness_agent_slashcommand_v1_slashcommand_proto_depIdxs = nil + File_pluggableharness_slashcommand_v1_slashcommand_proto = out.File + file_pluggableharness_slashcommand_v1_slashcommand_proto_goTypes = nil + file_pluggableharness_slashcommand_v1_slashcommand_proto_depIdxs = nil } diff --git a/pkg/tool/proto/v1/tool.pb.go b/pkg/tool/proto/v1/tool.pb.go index 35f1fbe..a5331d4 100644 --- a/pkg/tool/proto/v1/tool.pb.go +++ b/pkg/tool/proto/v1/tool.pb.go @@ -2,9 +2,9 @@ // versions: // protoc-gen-go v1.36.11 // protoc (unknown) -// source: pluggableharness/agent/tool/v1/tool.proto +// source: pluggableharness/tool/v1/tool.proto -// Package pluggableharness.agent.tool.v1 defines the tool provider plugin protocol +// Package pluggableharness.tool.v1 defines the tool provider plugin protocol // described in specifications/tool.md — the wire contract for file I/O, // shell execution, search, web access, task tracking, sub-agent spawning, // and similar operations. @@ -79,11 +79,11 @@ func (x ToolKind) String() string { } func (ToolKind) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_tool_v1_tool_proto_enumTypes[0].Descriptor() + return file_pluggableharness_tool_v1_tool_proto_enumTypes[0].Descriptor() } func (ToolKind) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_tool_v1_tool_proto_enumTypes[0] + return &file_pluggableharness_tool_v1_tool_proto_enumTypes[0] } func (x ToolKind) Number() protoreflect.EnumNumber { @@ -92,7 +92,7 @@ func (x ToolKind) Number() protoreflect.EnumNumber { // Deprecated: Use ToolKind.Descriptor instead. func (ToolKind) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_tool_v1_tool_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_tool_v1_tool_proto_rawDescGZIP(), []int{0} } // RiskClass classifies an operation's blast radius, per tool.md §2. Orthogonal @@ -158,11 +158,11 @@ func (x RiskClass) String() string { } func (RiskClass) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_tool_v1_tool_proto_enumTypes[1].Descriptor() + return file_pluggableharness_tool_v1_tool_proto_enumTypes[1].Descriptor() } func (RiskClass) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_tool_v1_tool_proto_enumTypes[1] + return &file_pluggableharness_tool_v1_tool_proto_enumTypes[1] } func (x RiskClass) Number() protoreflect.EnumNumber { @@ -171,7 +171,7 @@ func (x RiskClass) Number() protoreflect.EnumNumber { // Deprecated: Use RiskClass.Descriptor instead. func (RiskClass) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_tool_v1_tool_proto_rawDescGZIP(), []int{1} + return file_pluggableharness_tool_v1_tool_proto_rawDescGZIP(), []int{1} } // OutputStream distinguishes which underlying stream an OutputChunk came @@ -213,11 +213,11 @@ func (x OutputStream) String() string { } func (OutputStream) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_tool_v1_tool_proto_enumTypes[2].Descriptor() + return file_pluggableharness_tool_v1_tool_proto_enumTypes[2].Descriptor() } func (OutputStream) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_tool_v1_tool_proto_enumTypes[2] + return &file_pluggableharness_tool_v1_tool_proto_enumTypes[2] } func (x OutputStream) Number() protoreflect.EnumNumber { @@ -226,7 +226,7 @@ func (x OutputStream) Number() protoreflect.EnumNumber { // Deprecated: Use OutputStream.Descriptor instead. func (OutputStream) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_tool_v1_tool_proto_rawDescGZIP(), []int{2} + return file_pluggableharness_tool_v1_tool_proto_rawDescGZIP(), []int{2} } // ToolErrorCategory classifies why an Invoke call failed, per tool.md §8. @@ -310,11 +310,11 @@ func (x ToolErrorCategory) String() string { } func (ToolErrorCategory) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_tool_v1_tool_proto_enumTypes[3].Descriptor() + return file_pluggableharness_tool_v1_tool_proto_enumTypes[3].Descriptor() } func (ToolErrorCategory) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_tool_v1_tool_proto_enumTypes[3] + return &file_pluggableharness_tool_v1_tool_proto_enumTypes[3] } func (x ToolErrorCategory) Number() protoreflect.EnumNumber { @@ -323,7 +323,7 @@ func (x ToolErrorCategory) Number() protoreflect.EnumNumber { // Deprecated: Use ToolErrorCategory.Descriptor instead. func (ToolErrorCategory) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_tool_v1_tool_proto_rawDescGZIP(), []int{3} + return file_pluggableharness_tool_v1_tool_proto_rawDescGZIP(), []int{3} } // GetSchemaRequest carries no fields — GetSchema takes no parameters. @@ -335,7 +335,7 @@ type GetSchemaRequest struct { func (x *GetSchemaRequest) Reset() { *x = GetSchemaRequest{} - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[0] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -347,7 +347,7 @@ func (x *GetSchemaRequest) String() string { func (*GetSchemaRequest) ProtoMessage() {} func (x *GetSchemaRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[0] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -360,7 +360,7 @@ func (x *GetSchemaRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSchemaRequest.ProtoReflect.Descriptor instead. func (*GetSchemaRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_tool_v1_tool_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_tool_v1_tool_proto_rawDescGZIP(), []int{0} } // GetSchemaResponse is this provider's complete capability advertisement. @@ -381,14 +381,14 @@ type GetSchemaResponse struct { // agent.hcl hook{} blocks. Lets the kernel validate a hook{} declaration // at config-load time instead of discovering an unsupported subscription // only when that hook point first fires. - SupportedHookPoints []v12.HookPoint `protobuf:"varint,4,rep,packed,name=supported_hook_points,json=supportedHookPoints,proto3,enum=pluggableharness.agent.common.v1.HookPoint" json:"supported_hook_points,omitempty"` + SupportedHookPoints []v12.HookPoint `protobuf:"varint,4,rep,packed,name=supported_hook_points,json=supportedHookPoints,proto3,enum=pluggableharness.common.v1.HookPoint" json:"supported_hook_points,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetSchemaResponse) Reset() { *x = GetSchemaResponse{} - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[1] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -400,7 +400,7 @@ func (x *GetSchemaResponse) String() string { func (*GetSchemaResponse) ProtoMessage() {} func (x *GetSchemaResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[1] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -413,7 +413,7 @@ func (x *GetSchemaResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSchemaResponse.ProtoReflect.Descriptor instead. func (*GetSchemaResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_tool_v1_tool_proto_rawDescGZIP(), []int{1} + return file_pluggableharness_tool_v1_tool_proto_rawDescGZIP(), []int{1} } func (x *GetSchemaResponse) GetTools() []*ToolSchema { @@ -456,7 +456,7 @@ type ConfigureRequest struct { func (x *ConfigureRequest) Reset() { *x = ConfigureRequest{} - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[2] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -468,7 +468,7 @@ func (x *ConfigureRequest) String() string { func (*ConfigureRequest) ProtoMessage() {} func (x *ConfigureRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[2] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -481,7 +481,7 @@ func (x *ConfigureRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigureRequest.ProtoReflect.Descriptor instead. func (*ConfigureRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_tool_v1_tool_proto_rawDescGZIP(), []int{2} + return file_pluggableharness_tool_v1_tool_proto_rawDescGZIP(), []int{2} } func (x *ConfigureRequest) GetConfig() *structpb.Struct { @@ -502,7 +502,7 @@ type ConfigureResponse struct { func (x *ConfigureResponse) Reset() { *x = ConfigureResponse{} - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[3] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -514,7 +514,7 @@ func (x *ConfigureResponse) String() string { func (*ConfigureResponse) ProtoMessage() {} func (x *ConfigureResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[3] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -527,7 +527,7 @@ func (x *ConfigureResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigureResponse.ProtoReflect.Descriptor instead. func (*ConfigureResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_tool_v1_tool_proto_rawDescGZIP(), []int{3} + return file_pluggableharness_tool_v1_tool_proto_rawDescGZIP(), []int{3} } // ConcurrencySpec declares whether this operation's Invoke calls may run @@ -557,7 +557,7 @@ type ConcurrencySpec struct { func (x *ConcurrencySpec) Reset() { *x = ConcurrencySpec{} - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[4] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -569,7 +569,7 @@ func (x *ConcurrencySpec) String() string { func (*ConcurrencySpec) ProtoMessage() {} func (x *ConcurrencySpec) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[4] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -582,7 +582,7 @@ func (x *ConcurrencySpec) ProtoReflect() protoreflect.Message { // Deprecated: Use ConcurrencySpec.ProtoReflect.Descriptor instead. func (*ConcurrencySpec) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_tool_v1_tool_proto_rawDescGZIP(), []int{4} + return file_pluggableharness_tool_v1_tool_proto_rawDescGZIP(), []int{4} } func (x *ConcurrencySpec) GetSafe() bool { @@ -605,9 +605,9 @@ type ToolSchema struct { // MUST — unique within this provider's namespace, e.g. "read_file". Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // MUST — drives the plan/apply gate. - Kind ToolKind `protobuf:"varint,2,opt,name=kind,proto3,enum=pluggableharness.agent.tool.v1.ToolKind" json:"kind,omitempty"` + Kind ToolKind `protobuf:"varint,2,opt,name=kind,proto3,enum=pluggableharness.tool.v1.ToolKind" json:"kind,omitempty"` // MUST — see RiskClass. - Risk RiskClass `protobuf:"varint,3,opt,name=risk,proto3,enum=pluggableharness.agent.tool.v1.RiskClass" json:"risk,omitempty"` + Risk RiskClass `protobuf:"varint,3,opt,name=risk,proto3,enum=pluggableharness.tool.v1.RiskClass" json:"risk,omitempty"` // MUST — shown to the model for tool selection and in plan diffs. Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` // MUST — the common JSON-Schema subset per model.md §6, describing the @@ -639,7 +639,7 @@ type ToolSchema struct { func (x *ToolSchema) Reset() { *x = ToolSchema{} - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[5] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -651,7 +651,7 @@ func (x *ToolSchema) String() string { func (*ToolSchema) ProtoMessage() {} func (x *ToolSchema) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[5] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -664,7 +664,7 @@ func (x *ToolSchema) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolSchema.ProtoReflect.Descriptor instead. func (*ToolSchema) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_tool_v1_tool_proto_rawDescGZIP(), []int{5} + return file_pluggableharness_tool_v1_tool_proto_rawDescGZIP(), []int{5} } func (x *ToolSchema) GetName() string { @@ -750,7 +750,7 @@ type InvokeRequest struct { func (x *InvokeRequest) Reset() { *x = InvokeRequest{} - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[6] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -762,7 +762,7 @@ func (x *InvokeRequest) String() string { func (*InvokeRequest) ProtoMessage() {} func (x *InvokeRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[6] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -775,7 +775,7 @@ func (x *InvokeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InvokeRequest.ProtoReflect.Descriptor instead. func (*InvokeRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_tool_v1_tool_proto_rawDescGZIP(), []int{6} + return file_pluggableharness_tool_v1_tool_proto_rawDescGZIP(), []int{6} } func (x *InvokeRequest) GetCall() *ToolCall { @@ -798,7 +798,7 @@ type InvokeResponse struct { func (x *InvokeResponse) Reset() { *x = InvokeResponse{} - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[7] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -810,7 +810,7 @@ func (x *InvokeResponse) String() string { func (*InvokeResponse) ProtoMessage() {} func (x *InvokeResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[7] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -823,7 +823,7 @@ func (x *InvokeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use InvokeResponse.ProtoReflect.Descriptor instead. func (*InvokeResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_tool_v1_tool_proto_rawDescGZIP(), []int{7} + return file_pluggableharness_tool_v1_tool_proto_rawDescGZIP(), []int{7} } func (x *InvokeResponse) GetEvent() *ToolEvent { @@ -851,7 +851,7 @@ type ToolCall struct { // session's working_directory, which any process-backed operation // (the reference catalog's exec.bash, read_file, and similar) MUST // resolve relative-path arguments against. See - // pluggableharness.agent.common.v1.CallContext. + // pluggableharness.common.v1.CallContext. CallContext *v12.CallContext `protobuf:"bytes,4,opt,name=call_context,json=callContext,proto3" json:"call_context,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -859,7 +859,7 @@ type ToolCall struct { func (x *ToolCall) Reset() { *x = ToolCall{} - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[8] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -871,7 +871,7 @@ func (x *ToolCall) String() string { func (*ToolCall) ProtoMessage() {} func (x *ToolCall) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[8] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -884,7 +884,7 @@ func (x *ToolCall) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolCall.ProtoReflect.Descriptor instead. func (*ToolCall) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_tool_v1_tool_proto_rawDescGZIP(), []int{8} + return file_pluggableharness_tool_v1_tool_proto_rawDescGZIP(), []int{8} } func (x *ToolCall) GetId() string { @@ -937,7 +937,7 @@ type ToolEvent struct { func (x *ToolEvent) Reset() { *x = ToolEvent{} - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[9] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -949,7 +949,7 @@ func (x *ToolEvent) String() string { func (*ToolEvent) ProtoMessage() {} func (x *ToolEvent) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[9] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -962,7 +962,7 @@ func (x *ToolEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolEvent.ProtoReflect.Descriptor instead. func (*ToolEvent) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_tool_v1_tool_proto_rawDescGZIP(), []int{9} + return file_pluggableharness_tool_v1_tool_proto_rawDescGZIP(), []int{9} } func (x *ToolEvent) GetEvent() isToolEvent_Event { @@ -1086,7 +1086,7 @@ type ToolResult struct { func (x *ToolResult) Reset() { *x = ToolResult{} - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[10] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1098,7 +1098,7 @@ func (x *ToolResult) String() string { func (*ToolResult) ProtoMessage() {} func (x *ToolResult) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[10] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1111,7 +1111,7 @@ func (x *ToolResult) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolResult.ProtoReflect.Descriptor instead. func (*ToolResult) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_tool_v1_tool_proto_rawDescGZIP(), []int{10} + return file_pluggableharness_tool_v1_tool_proto_rawDescGZIP(), []int{10} } func (x *ToolResult) GetPayload() *structpb.Struct { @@ -1125,7 +1125,7 @@ func (x *ToolResult) GetPayload() *structpb.Struct { type ToolError struct { state protoimpl.MessageState `protogen:"open.v1"` // MUST. - Category ToolErrorCategory `protobuf:"varint,1,opt,name=category,proto3,enum=pluggableharness.agent.tool.v1.ToolErrorCategory" json:"category,omitempty"` + Category ToolErrorCategory `protobuf:"varint,1,opt,name=category,proto3,enum=pluggableharness.tool.v1.ToolErrorCategory" json:"category,omitempty"` // MUST — human-readable. Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` // MUST. @@ -1139,7 +1139,7 @@ type ToolError struct { func (x *ToolError) Reset() { *x = ToolError{} - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[11] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1151,7 +1151,7 @@ func (x *ToolError) String() string { func (*ToolError) ProtoMessage() {} func (x *ToolError) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[11] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1164,7 +1164,7 @@ func (x *ToolError) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolError.ProtoReflect.Descriptor instead. func (*ToolError) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_tool_v1_tool_proto_rawDescGZIP(), []int{11} + return file_pluggableharness_tool_v1_tool_proto_rawDescGZIP(), []int{11} } func (x *ToolError) GetCategory() ToolErrorCategory { @@ -1213,7 +1213,7 @@ type RenderRequest struct { func (x *RenderRequest) Reset() { *x = RenderRequest{} - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[12] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1225,7 +1225,7 @@ func (x *RenderRequest) String() string { func (*RenderRequest) ProtoMessage() {} func (x *RenderRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[12] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1238,7 +1238,7 @@ func (x *RenderRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RenderRequest.ProtoReflect.Descriptor instead. func (*RenderRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_tool_v1_tool_proto_rawDescGZIP(), []int{12} + return file_pluggableharness_tool_v1_tool_proto_rawDescGZIP(), []int{12} } func (x *RenderRequest) GetPayload() []byte { @@ -1268,7 +1268,7 @@ type RenderResponse struct { func (x *RenderResponse) Reset() { *x = RenderResponse{} - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[13] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1280,7 +1280,7 @@ func (x *RenderResponse) String() string { func (*RenderResponse) ProtoMessage() {} func (x *RenderResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[13] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1293,7 +1293,7 @@ func (x *RenderResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RenderResponse.ProtoReflect.Descriptor instead. func (*RenderResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_tool_v1_tool_proto_rawDescGZIP(), []int{13} + return file_pluggableharness_tool_v1_tool_proto_rawDescGZIP(), []int{13} } func (x *RenderResponse) GetTree() *v14.RenderTree { @@ -1315,7 +1315,7 @@ type PreviewRequest struct { func (x *PreviewRequest) Reset() { *x = PreviewRequest{} - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[14] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1327,7 +1327,7 @@ func (x *PreviewRequest) String() string { func (*PreviewRequest) ProtoMessage() {} func (x *PreviewRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[14] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1340,7 +1340,7 @@ func (x *PreviewRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PreviewRequest.ProtoReflect.Descriptor instead. func (*PreviewRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_tool_v1_tool_proto_rawDescGZIP(), []int{14} + return file_pluggableharness_tool_v1_tool_proto_rawDescGZIP(), []int{14} } func (x *PreviewRequest) GetCall() *ToolCall { @@ -1353,9 +1353,9 @@ func (x *PreviewRequest) GetCall() *ToolCall { // PreviewResponse carries a dry-run, human-readable description of what // Invoke(call) would do, per protocol.md#preview — e.g. an edit tool // returns the diff it would apply. Rendered into the plan/apply gate's -// permission UI via PlanItem.preview (pluggableharness.agent.plan.v1, +// permission UI via PlanItem.preview (pluggableharness.plan.v1, // a sibling protocol revision) — that field and this response share the -// same pluggableharness.agent.render.v1.RenderTree type by design, so a +// same pluggableharness.render.v1.RenderTree type by design, so a // Preview call's output and a plan item's stored preview are // interchangeable. type PreviewResponse struct { @@ -1371,7 +1371,7 @@ type PreviewResponse struct { func (x *PreviewResponse) Reset() { *x = PreviewResponse{} - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[15] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1383,7 +1383,7 @@ func (x *PreviewResponse) String() string { func (*PreviewResponse) ProtoMessage() {} func (x *PreviewResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[15] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1396,7 +1396,7 @@ func (x *PreviewResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PreviewResponse.ProtoReflect.Descriptor instead. func (*PreviewResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_tool_v1_tool_proto_rawDescGZIP(), []int{15} + return file_pluggableharness_tool_v1_tool_proto_rawDescGZIP(), []int{15} } func (x *PreviewResponse) GetPreview() *v14.RenderTree { @@ -1415,7 +1415,7 @@ type DescribeRequest struct { func (x *DescribeRequest) Reset() { *x = DescribeRequest{} - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[16] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1427,7 +1427,7 @@ func (x *DescribeRequest) String() string { func (*DescribeRequest) ProtoMessage() {} func (x *DescribeRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[16] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1440,7 +1440,7 @@ func (x *DescribeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DescribeRequest.ProtoReflect.Descriptor instead. func (*DescribeRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_tool_v1_tool_proto_rawDescGZIP(), []int{16} + return file_pluggableharness_tool_v1_tool_proto_rawDescGZIP(), []int{16} } // DescribeResponse reports this plugin build's own identity, per @@ -1458,7 +1458,7 @@ type DescribeResponse struct { func (x *DescribeResponse) Reset() { *x = DescribeResponse{} - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[17] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1470,7 +1470,7 @@ func (x *DescribeResponse) String() string { func (*DescribeResponse) ProtoMessage() {} func (x *DescribeResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[17] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1483,7 +1483,7 @@ func (x *DescribeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DescribeResponse.ProtoReflect.Descriptor instead. func (*DescribeResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_tool_v1_tool_proto_rawDescGZIP(), []int{17} + return file_pluggableharness_tool_v1_tool_proto_rawDescGZIP(), []int{17} } func (x *DescribeResponse) GetProducer() *v12.ProducerRef { @@ -1498,7 +1498,7 @@ func (x *DescribeResponse) GetProducer() *v12.ProducerRef { type ToolEvent_OutputChunk struct { state protoimpl.MessageState `protogen:"open.v1"` // Which stream this chunk came from. - Stream OutputStream `protobuf:"varint,1,opt,name=stream,proto3,enum=pluggableharness.agent.tool.v1.OutputStream" json:"stream,omitempty"` + Stream OutputStream `protobuf:"varint,1,opt,name=stream,proto3,enum=pluggableharness.tool.v1.OutputStream" json:"stream,omitempty"` // The chunk's raw bytes. Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` unknownFields protoimpl.UnknownFields @@ -1507,7 +1507,7 @@ type ToolEvent_OutputChunk struct { func (x *ToolEvent_OutputChunk) Reset() { *x = ToolEvent_OutputChunk{} - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[18] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1519,7 +1519,7 @@ func (x *ToolEvent_OutputChunk) String() string { func (*ToolEvent_OutputChunk) ProtoMessage() {} func (x *ToolEvent_OutputChunk) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[18] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1532,7 +1532,7 @@ func (x *ToolEvent_OutputChunk) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolEvent_OutputChunk.ProtoReflect.Descriptor instead. func (*ToolEvent_OutputChunk) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_tool_v1_tool_proto_rawDescGZIP(), []int{9, 0} + return file_pluggableharness_tool_v1_tool_proto_rawDescGZIP(), []int{9, 0} } func (x *ToolEvent_OutputChunk) GetStream() OutputStream { @@ -1564,7 +1564,7 @@ type ToolEvent_Progress struct { func (x *ToolEvent_Progress) Reset() { *x = ToolEvent_Progress{} - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[19] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1576,7 +1576,7 @@ func (x *ToolEvent_Progress) String() string { func (*ToolEvent_Progress) ProtoMessage() {} func (x *ToolEvent_Progress) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[19] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1589,7 +1589,7 @@ func (x *ToolEvent_Progress) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolEvent_Progress.ProtoReflect.Descriptor instead. func (*ToolEvent_Progress) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_tool_v1_tool_proto_rawDescGZIP(), []int{9, 1} + return file_pluggableharness_tool_v1_tool_proto_rawDescGZIP(), []int{9, 1} } func (x *ToolEvent_Progress) GetMessage() string { @@ -1618,7 +1618,7 @@ type ToolEvent_PartialResult struct { func (x *ToolEvent_PartialResult) Reset() { *x = ToolEvent_PartialResult{} - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[20] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1630,7 +1630,7 @@ func (x *ToolEvent_PartialResult) String() string { func (*ToolEvent_PartialResult) ProtoMessage() {} func (x *ToolEvent_PartialResult) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[20] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1643,7 +1643,7 @@ func (x *ToolEvent_PartialResult) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolEvent_PartialResult.ProtoReflect.Descriptor instead. func (*ToolEvent_PartialResult) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_tool_v1_tool_proto_rawDescGZIP(), []int{9, 2} + return file_pluggableharness_tool_v1_tool_proto_rawDescGZIP(), []int{9, 2} } func (x *ToolEvent_PartialResult) GetPayload() *structpb.Struct { @@ -1670,7 +1670,7 @@ type ToolEvent_ExitStatus struct { func (x *ToolEvent_ExitStatus) Reset() { *x = ToolEvent_ExitStatus{} - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[21] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1682,7 +1682,7 @@ func (x *ToolEvent_ExitStatus) String() string { func (*ToolEvent_ExitStatus) ProtoMessage() {} func (x *ToolEvent_ExitStatus) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[21] + mi := &file_pluggableharness_tool_v1_tool_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1695,7 +1695,7 @@ func (x *ToolEvent_ExitStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolEvent_ExitStatus.ProtoReflect.Descriptor instead. func (*ToolEvent_ExitStatus) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_tool_v1_tool_proto_rawDescGZIP(), []int{9, 3} + return file_pluggableharness_tool_v1_tool_proto_rawDescGZIP(), []int{9, 3} } func (x *ToolEvent_ExitStatus) GetExitCode() int32 { @@ -1712,59 +1712,59 @@ func (x *ToolEvent_ExitStatus) GetSignal() string { return "" } -var File_pluggableharness_agent_tool_v1_tool_proto protoreflect.FileDescriptor +var File_pluggableharness_tool_v1_tool_proto protoreflect.FileDescriptor -const file_pluggableharness_agent_tool_v1_tool_proto_rawDesc = "" + +const file_pluggableharness_tool_v1_tool_proto_rawDesc = "" + "\n" + - ")pluggableharness/agent/tool/v1/tool.proto\x12\x1epluggableharness.agent.tool.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a-pluggableharness/agent/common/v1/common.proto\x1a-pluggableharness/agent/config/v1/config.proto\x1a-pluggableharness/agent/render/v1/render.proto\x1a-pluggableharness/agent/schema/v1/schema.proto\x1a9pluggableharness/agent/slashcommand/v1/slashcommand.proto\"\x12\n" + - "\x10GetSchemaRequest\"\xec\x02\n" + - "\x11GetSchemaResponse\x12@\n" + - "\x05tools\x18\x01 \x03(\v2*.pluggableharness.agent.tool.v1.ToolSchemaR\x05tools\x12_\n" + - "\x0eslash_commands\x18\x02 \x03(\v28.pluggableharness.agent.slashcommand.v1.SlashCommandSpecR\rslashCommands\x12S\n" + - "\rconfig_schema\x18\x03 \x01(\v2..pluggableharness.agent.config.v1.ConfigSchemaR\fconfigSchema\x12_\n" + - "\x15supported_hook_points\x18\x04 \x03(\x0e2+.pluggableharness.agent.common.v1.HookPointR\x13supportedHookPoints\"C\n" + + "#pluggableharness/tool/v1/tool.proto\x12\x18pluggableharness.tool.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a'pluggableharness/common/v1/common.proto\x1a'pluggableharness/config/v1/config.proto\x1a'pluggableharness/render/v1/render.proto\x1a'pluggableharness/schema/v1/schema.proto\x1a3pluggableharness/slashcommand/v1/slashcommand.proto\"\x12\n" + + "\x10GetSchemaRequest\"\xd4\x02\n" + + "\x11GetSchemaResponse\x12:\n" + + "\x05tools\x18\x01 \x03(\v2$.pluggableharness.tool.v1.ToolSchemaR\x05tools\x12Y\n" + + "\x0eslash_commands\x18\x02 \x03(\v22.pluggableharness.slashcommand.v1.SlashCommandSpecR\rslashCommands\x12M\n" + + "\rconfig_schema\x18\x03 \x01(\v2(.pluggableharness.config.v1.ConfigSchemaR\fconfigSchema\x12Y\n" + + "\x15supported_hook_points\x18\x04 \x03(\x0e2%.pluggableharness.common.v1.HookPointR\x13supportedHookPoints\"C\n" + "\x10ConfigureRequest\x12/\n" + "\x06config\x18\x01 \x01(\v2\x17.google.protobuf.StructR\x06config\"\x13\n" + "\x11ConfigureResponse\"D\n" + "\x0fConcurrencySpec\x12\x12\n" + "\x04safe\x18\x01 \x01(\bR\x04safe\x12\x1d\n" + "\n" + - "key_fields\x18\x02 \x03(\tR\tkeyFields\"\xc9\x04\n" + + "key_fields\x18\x02 \x03(\tR\tkeyFields\"\xab\x04\n" + "\n" + "ToolSchema\x12\x12\n" + - "\x04name\x18\x01 \x01(\tR\x04name\x12<\n" + - "\x04kind\x18\x02 \x01(\x0e2(.pluggableharness.agent.tool.v1.ToolKindR\x04kind\x12=\n" + - "\x04risk\x18\x03 \x01(\x0e2).pluggableharness.agent.tool.v1.RiskClassR\x04risk\x12 \n" + - "\vdescription\x18\x04 \x01(\tR\vdescription\x12K\n" + - "\finput_schema\x18\x05 \x01(\v2(.pluggableharness.agent.schema.v1.SchemaR\vinputSchema\x12M\n" + - "\routput_schema\x18\x06 \x01(\v2(.pluggableharness.agent.schema.v1.SchemaR\foutputSchema\x12\x1c\n" + - "\tstreaming\x18\a \x01(\bR\tstreaming\x12Q\n" + - "\vconcurrency\x18\b \x01(\v2/.pluggableharness.agent.tool.v1.ConcurrencySpecR\vconcurrency\x12G\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x126\n" + + "\x04kind\x18\x02 \x01(\x0e2\".pluggableharness.tool.v1.ToolKindR\x04kind\x127\n" + + "\x04risk\x18\x03 \x01(\x0e2#.pluggableharness.tool.v1.RiskClassR\x04risk\x12 \n" + + "\vdescription\x18\x04 \x01(\tR\vdescription\x12E\n" + + "\finput_schema\x18\x05 \x01(\v2\".pluggableharness.schema.v1.SchemaR\vinputSchema\x12G\n" + + "\routput_schema\x18\x06 \x01(\v2\".pluggableharness.schema.v1.SchemaR\foutputSchema\x12\x1c\n" + + "\tstreaming\x18\a \x01(\bR\tstreaming\x12K\n" + + "\vconcurrency\x18\b \x01(\v2).pluggableharness.tool.v1.ConcurrencySpecR\vconcurrency\x12G\n" + "\x0fdefault_timeout\x18\t \x01(\v2\x19.google.protobuf.DurationH\x00R\x0edefaultTimeout\x88\x01\x01\x12\x1e\n" + "\n" + "idempotent\x18\n" + " \x01(\bR\n" + "idempotentB\x12\n" + - "\x10_default_timeout\"M\n" + - "\rInvokeRequest\x12<\n" + - "\x04call\x18\x01 \x01(\v2(.pluggableharness.agent.tool.v1.ToolCallR\x04call\"Q\n" + - "\x0eInvokeResponse\x12?\n" + - "\x05event\x18\x01 \x01(\v2).pluggableharness.agent.tool.v1.ToolEventR\x05event\"\xc0\x01\n" + + "\x10_default_timeout\"G\n" + + "\rInvokeRequest\x126\n" + + "\x04call\x18\x01 \x01(\v2\".pluggableharness.tool.v1.ToolCallR\x04call\"K\n" + + "\x0eInvokeResponse\x129\n" + + "\x05event\x18\x01 \x01(\v2#.pluggableharness.tool.v1.ToolEventR\x05event\"\xba\x01\n" + "\bToolCall\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n" + "\ttool_name\x18\x02 \x01(\tR\btoolName\x125\n" + - "\targuments\x18\x03 \x01(\v2\x17.google.protobuf.StructR\targuments\x12P\n" + - "\fcall_context\x18\x04 \x01(\v2-.pluggableharness.agent.common.v1.CallContextR\vcallContext\"\xf4\x06\n" + - "\tToolEvent\x12Z\n" + - "\foutput_chunk\x18\x01 \x01(\v25.pluggableharness.agent.tool.v1.ToolEvent.OutputChunkH\x00R\voutputChunk\x12P\n" + - "\bprogress\x18\x02 \x01(\v22.pluggableharness.agent.tool.v1.ToolEvent.ProgressH\x00R\bprogress\x12`\n" + - "\x0epartial_result\x18\x03 \x01(\v27.pluggableharness.agent.tool.v1.ToolEvent.PartialResultH\x00R\rpartialResult\x12W\n" + - "\vexit_status\x18\x04 \x01(\v24.pluggableharness.agent.tool.v1.ToolEvent.ExitStatusH\x00R\n" + - "exitStatus\x12D\n" + - "\x06result\x18\x05 \x01(\v2*.pluggableharness.agent.tool.v1.ToolResultH\x00R\x06result\x12A\n" + - "\x05error\x18\x06 \x01(\v2).pluggableharness.agent.tool.v1.ToolErrorH\x00R\x05error\x1ag\n" + - "\vOutputChunk\x12D\n" + - "\x06stream\x18\x01 \x01(\x0e2,.pluggableharness.agent.tool.v1.OutputStreamR\x06stream\x12\x12\n" + + "\targuments\x18\x03 \x01(\v2\x17.google.protobuf.StructR\targuments\x12J\n" + + "\fcall_context\x18\x04 \x01(\v2'.pluggableharness.common.v1.CallContextR\vcallContext\"\xca\x06\n" + + "\tToolEvent\x12T\n" + + "\foutput_chunk\x18\x01 \x01(\v2/.pluggableharness.tool.v1.ToolEvent.OutputChunkH\x00R\voutputChunk\x12J\n" + + "\bprogress\x18\x02 \x01(\v2,.pluggableharness.tool.v1.ToolEvent.ProgressH\x00R\bprogress\x12Z\n" + + "\x0epartial_result\x18\x03 \x01(\v21.pluggableharness.tool.v1.ToolEvent.PartialResultH\x00R\rpartialResult\x12Q\n" + + "\vexit_status\x18\x04 \x01(\v2..pluggableharness.tool.v1.ToolEvent.ExitStatusH\x00R\n" + + "exitStatus\x12>\n" + + "\x06result\x18\x05 \x01(\v2$.pluggableharness.tool.v1.ToolResultH\x00R\x06result\x12;\n" + + "\x05error\x18\x06 \x01(\v2#.pluggableharness.tool.v1.ToolErrorH\x00R\x05error\x1aa\n" + + "\vOutputChunk\x12>\n" + + "\x06stream\x18\x01 \x01(\x0e2&.pluggableharness.tool.v1.OutputStreamR\x06stream\x12\x12\n" + "\x04data\x18\x02 \x01(\fR\x04data\x1al\n" + "\bProgress\x12\x18\n" + "\amessage\x18\x01 \x01(\tR\amessage\x120\n" + @@ -1780,9 +1780,9 @@ const file_pluggableharness_agent_tool_v1_tool_proto_rawDesc = "" + "\x05event\"?\n" + "\n" + "ToolResult\x121\n" + - "\apayload\x18\x01 \x01(\v2\x17.google.protobuf.StructR\apayload\"\xd6\x01\n" + - "\tToolError\x12M\n" + - "\bcategory\x18\x01 \x01(\x0e21.pluggableharness.agent.tool.v1.ToolErrorCategoryR\bcategory\x12\x18\n" + + "\apayload\x18\x01 \x01(\v2\x17.google.protobuf.StructR\apayload\"\xd0\x01\n" + + "\tToolError\x12G\n" + + "\bcategory\x18\x01 \x01(\x0e2+.pluggableharness.tool.v1.ToolErrorCategoryR\bcategory\x12\x18\n" + "\amessage\x18\x02 \x01(\tR\amessage\x12\x1c\n" + "\tretryable\x18\x03 \x01(\bR\tretryable\x126\n" + "\adetails\x18\x04 \x01(\v2\x17.google.protobuf.StructH\x00R\adetails\x88\x01\x01B\n" + @@ -1790,16 +1790,16 @@ const file_pluggableharness_agent_tool_v1_tool_proto_rawDesc = "" + "\b_details\"P\n" + "\rRenderRequest\x12\x18\n" + "\apayload\x18\x01 \x01(\fR\apayload\x12%\n" + - "\x0eschema_version\x18\x02 \x01(\tR\rschemaVersion\"R\n" + - "\x0eRenderResponse\x12@\n" + - "\x04tree\x18\x01 \x01(\v2,.pluggableharness.agent.render.v1.RenderTreeR\x04tree\"N\n" + - "\x0ePreviewRequest\x12<\n" + - "\x04call\x18\x01 \x01(\v2(.pluggableharness.agent.tool.v1.ToolCallR\x04call\"Y\n" + - "\x0fPreviewResponse\x12F\n" + - "\apreview\x18\x01 \x01(\v2,.pluggableharness.agent.render.v1.RenderTreeR\apreview\"\x11\n" + - "\x0fDescribeRequest\"]\n" + - "\x10DescribeResponse\x12I\n" + - "\bproducer\x18\x01 \x01(\v2-.pluggableharness.agent.common.v1.ProducerRefR\bproducer*s\n" + + "\x0eschema_version\x18\x02 \x01(\tR\rschemaVersion\"L\n" + + "\x0eRenderResponse\x12:\n" + + "\x04tree\x18\x01 \x01(\v2&.pluggableharness.render.v1.RenderTreeR\x04tree\"H\n" + + "\x0ePreviewRequest\x126\n" + + "\x04call\x18\x01 \x01(\v2\".pluggableharness.tool.v1.ToolCallR\x04call\"S\n" + + "\x0fPreviewResponse\x12@\n" + + "\apreview\x18\x01 \x01(\v2&.pluggableharness.render.v1.RenderTreeR\apreview\"\x11\n" + + "\x0fDescribeRequest\"W\n" + + "\x10DescribeResponse\x12C\n" + + "\bproducer\x18\x01 \x01(\v2'.pluggableharness.common.v1.ProducerRefR\bproducer*s\n" + "\bToolKind\x12\x19\n" + "\x15TOOL_KIND_UNSPECIFIED\x10\x00\x12\x16\n" + "\x12TOOL_KIND_RESOURCE\x10\x01\x12\x19\n" + @@ -1826,109 +1826,109 @@ const file_pluggableharness_agent_tool_v1_tool_proto_rawDesc = "" + "(TOOL_ERROR_CATEGORY_CONCURRENCY_CONFLICT\x10\x06\x12!\n" + "\x1dTOOL_ERROR_CATEGORY_CANCELLED\x10\a\x12'\n" + "#TOOL_ERROR_CATEGORY_PROCESS_CRASHED\x10\b\x12\x1f\n" + - "\x1bTOOL_ERROR_CATEGORY_UNKNOWN\x10\t2\xa0\x05\n" + - "\vToolService\x12p\n" + - "\tGetSchema\x120.pluggableharness.agent.tool.v1.GetSchemaRequest\x1a1.pluggableharness.agent.tool.v1.GetSchemaResponse\x12p\n" + - "\tConfigure\x120.pluggableharness.agent.tool.v1.ConfigureRequest\x1a1.pluggableharness.agent.tool.v1.ConfigureResponse\x12i\n" + - "\x06Invoke\x12-.pluggableharness.agent.tool.v1.InvokeRequest\x1a..pluggableharness.agent.tool.v1.InvokeResponse0\x01\x12g\n" + - "\x06Render\x12-.pluggableharness.agent.tool.v1.RenderRequest\x1a..pluggableharness.agent.tool.v1.RenderResponse\x12j\n" + - "\aPreview\x12..pluggableharness.agent.tool.v1.PreviewRequest\x1a/.pluggableharness.agent.tool.v1.PreviewResponse\x12m\n" + - "\bDescribe\x12/.pluggableharness.agent.tool.v1.DescribeRequest\x1a0.pluggableharness.agent.tool.v1.DescribeResponseB pluggableharness.agent.tool.v1.ToolSchema - 26, // 1: pluggableharness.agent.tool.v1.GetSchemaResponse.slash_commands:type_name -> pluggableharness.agent.slashcommand.v1.SlashCommandSpec - 27, // 2: pluggableharness.agent.tool.v1.GetSchemaResponse.config_schema:type_name -> pluggableharness.agent.config.v1.ConfigSchema - 28, // 3: pluggableharness.agent.tool.v1.GetSchemaResponse.supported_hook_points:type_name -> pluggableharness.agent.common.v1.HookPoint - 29, // 4: pluggableharness.agent.tool.v1.ConfigureRequest.config:type_name -> google.protobuf.Struct - 0, // 5: pluggableharness.agent.tool.v1.ToolSchema.kind:type_name -> pluggableharness.agent.tool.v1.ToolKind - 1, // 6: pluggableharness.agent.tool.v1.ToolSchema.risk:type_name -> pluggableharness.agent.tool.v1.RiskClass - 30, // 7: pluggableharness.agent.tool.v1.ToolSchema.input_schema:type_name -> pluggableharness.agent.schema.v1.Schema - 30, // 8: pluggableharness.agent.tool.v1.ToolSchema.output_schema:type_name -> pluggableharness.agent.schema.v1.Schema - 8, // 9: pluggableharness.agent.tool.v1.ToolSchema.concurrency:type_name -> pluggableharness.agent.tool.v1.ConcurrencySpec - 31, // 10: pluggableharness.agent.tool.v1.ToolSchema.default_timeout:type_name -> google.protobuf.Duration - 12, // 11: pluggableharness.agent.tool.v1.InvokeRequest.call:type_name -> pluggableharness.agent.tool.v1.ToolCall - 13, // 12: pluggableharness.agent.tool.v1.InvokeResponse.event:type_name -> pluggableharness.agent.tool.v1.ToolEvent - 29, // 13: pluggableharness.agent.tool.v1.ToolCall.arguments:type_name -> google.protobuf.Struct - 32, // 14: pluggableharness.agent.tool.v1.ToolCall.call_context:type_name -> pluggableharness.agent.common.v1.CallContext - 22, // 15: pluggableharness.agent.tool.v1.ToolEvent.output_chunk:type_name -> pluggableharness.agent.tool.v1.ToolEvent.OutputChunk - 23, // 16: pluggableharness.agent.tool.v1.ToolEvent.progress:type_name -> pluggableharness.agent.tool.v1.ToolEvent.Progress - 24, // 17: pluggableharness.agent.tool.v1.ToolEvent.partial_result:type_name -> pluggableharness.agent.tool.v1.ToolEvent.PartialResult - 25, // 18: pluggableharness.agent.tool.v1.ToolEvent.exit_status:type_name -> pluggableharness.agent.tool.v1.ToolEvent.ExitStatus - 14, // 19: pluggableharness.agent.tool.v1.ToolEvent.result:type_name -> pluggableharness.agent.tool.v1.ToolResult - 15, // 20: pluggableharness.agent.tool.v1.ToolEvent.error:type_name -> pluggableharness.agent.tool.v1.ToolError - 29, // 21: pluggableharness.agent.tool.v1.ToolResult.payload:type_name -> google.protobuf.Struct - 3, // 22: pluggableharness.agent.tool.v1.ToolError.category:type_name -> pluggableharness.agent.tool.v1.ToolErrorCategory - 29, // 23: pluggableharness.agent.tool.v1.ToolError.details:type_name -> google.protobuf.Struct - 33, // 24: pluggableharness.agent.tool.v1.RenderResponse.tree:type_name -> pluggableharness.agent.render.v1.RenderTree - 12, // 25: pluggableharness.agent.tool.v1.PreviewRequest.call:type_name -> pluggableharness.agent.tool.v1.ToolCall - 33, // 26: pluggableharness.agent.tool.v1.PreviewResponse.preview:type_name -> pluggableharness.agent.render.v1.RenderTree - 34, // 27: pluggableharness.agent.tool.v1.DescribeResponse.producer:type_name -> pluggableharness.agent.common.v1.ProducerRef - 2, // 28: pluggableharness.agent.tool.v1.ToolEvent.OutputChunk.stream:type_name -> pluggableharness.agent.tool.v1.OutputStream - 29, // 29: pluggableharness.agent.tool.v1.ToolEvent.PartialResult.payload:type_name -> google.protobuf.Struct - 4, // 30: pluggableharness.agent.tool.v1.ToolService.GetSchema:input_type -> pluggableharness.agent.tool.v1.GetSchemaRequest - 6, // 31: pluggableharness.agent.tool.v1.ToolService.Configure:input_type -> pluggableharness.agent.tool.v1.ConfigureRequest - 10, // 32: pluggableharness.agent.tool.v1.ToolService.Invoke:input_type -> pluggableharness.agent.tool.v1.InvokeRequest - 16, // 33: pluggableharness.agent.tool.v1.ToolService.Render:input_type -> pluggableharness.agent.tool.v1.RenderRequest - 18, // 34: pluggableharness.agent.tool.v1.ToolService.Preview:input_type -> pluggableharness.agent.tool.v1.PreviewRequest - 20, // 35: pluggableharness.agent.tool.v1.ToolService.Describe:input_type -> pluggableharness.agent.tool.v1.DescribeRequest - 5, // 36: pluggableharness.agent.tool.v1.ToolService.GetSchema:output_type -> pluggableharness.agent.tool.v1.GetSchemaResponse - 7, // 37: pluggableharness.agent.tool.v1.ToolService.Configure:output_type -> pluggableharness.agent.tool.v1.ConfigureResponse - 11, // 38: pluggableharness.agent.tool.v1.ToolService.Invoke:output_type -> pluggableharness.agent.tool.v1.InvokeResponse - 17, // 39: pluggableharness.agent.tool.v1.ToolService.Render:output_type -> pluggableharness.agent.tool.v1.RenderResponse - 19, // 40: pluggableharness.agent.tool.v1.ToolService.Preview:output_type -> pluggableharness.agent.tool.v1.PreviewResponse - 21, // 41: pluggableharness.agent.tool.v1.ToolService.Describe:output_type -> pluggableharness.agent.tool.v1.DescribeResponse + (*v12.CallContext)(nil), // 32: pluggableharness.common.v1.CallContext + (*v14.RenderTree)(nil), // 33: pluggableharness.render.v1.RenderTree + (*v12.ProducerRef)(nil), // 34: pluggableharness.common.v1.ProducerRef +} +var file_pluggableharness_tool_v1_tool_proto_depIdxs = []int32{ + 9, // 0: pluggableharness.tool.v1.GetSchemaResponse.tools:type_name -> pluggableharness.tool.v1.ToolSchema + 26, // 1: pluggableharness.tool.v1.GetSchemaResponse.slash_commands:type_name -> pluggableharness.slashcommand.v1.SlashCommandSpec + 27, // 2: pluggableharness.tool.v1.GetSchemaResponse.config_schema:type_name -> pluggableharness.config.v1.ConfigSchema + 28, // 3: pluggableharness.tool.v1.GetSchemaResponse.supported_hook_points:type_name -> pluggableharness.common.v1.HookPoint + 29, // 4: pluggableharness.tool.v1.ConfigureRequest.config:type_name -> google.protobuf.Struct + 0, // 5: pluggableharness.tool.v1.ToolSchema.kind:type_name -> pluggableharness.tool.v1.ToolKind + 1, // 6: pluggableharness.tool.v1.ToolSchema.risk:type_name -> pluggableharness.tool.v1.RiskClass + 30, // 7: pluggableharness.tool.v1.ToolSchema.input_schema:type_name -> pluggableharness.schema.v1.Schema + 30, // 8: pluggableharness.tool.v1.ToolSchema.output_schema:type_name -> pluggableharness.schema.v1.Schema + 8, // 9: pluggableharness.tool.v1.ToolSchema.concurrency:type_name -> pluggableharness.tool.v1.ConcurrencySpec + 31, // 10: pluggableharness.tool.v1.ToolSchema.default_timeout:type_name -> google.protobuf.Duration + 12, // 11: pluggableharness.tool.v1.InvokeRequest.call:type_name -> pluggableharness.tool.v1.ToolCall + 13, // 12: pluggableharness.tool.v1.InvokeResponse.event:type_name -> pluggableharness.tool.v1.ToolEvent + 29, // 13: pluggableharness.tool.v1.ToolCall.arguments:type_name -> google.protobuf.Struct + 32, // 14: pluggableharness.tool.v1.ToolCall.call_context:type_name -> pluggableharness.common.v1.CallContext + 22, // 15: pluggableharness.tool.v1.ToolEvent.output_chunk:type_name -> pluggableharness.tool.v1.ToolEvent.OutputChunk + 23, // 16: pluggableharness.tool.v1.ToolEvent.progress:type_name -> pluggableharness.tool.v1.ToolEvent.Progress + 24, // 17: pluggableharness.tool.v1.ToolEvent.partial_result:type_name -> pluggableharness.tool.v1.ToolEvent.PartialResult + 25, // 18: pluggableharness.tool.v1.ToolEvent.exit_status:type_name -> pluggableharness.tool.v1.ToolEvent.ExitStatus + 14, // 19: pluggableharness.tool.v1.ToolEvent.result:type_name -> pluggableharness.tool.v1.ToolResult + 15, // 20: pluggableharness.tool.v1.ToolEvent.error:type_name -> pluggableharness.tool.v1.ToolError + 29, // 21: pluggableharness.tool.v1.ToolResult.payload:type_name -> google.protobuf.Struct + 3, // 22: pluggableharness.tool.v1.ToolError.category:type_name -> pluggableharness.tool.v1.ToolErrorCategory + 29, // 23: pluggableharness.tool.v1.ToolError.details:type_name -> google.protobuf.Struct + 33, // 24: pluggableharness.tool.v1.RenderResponse.tree:type_name -> pluggableharness.render.v1.RenderTree + 12, // 25: pluggableharness.tool.v1.PreviewRequest.call:type_name -> pluggableharness.tool.v1.ToolCall + 33, // 26: pluggableharness.tool.v1.PreviewResponse.preview:type_name -> pluggableharness.render.v1.RenderTree + 34, // 27: pluggableharness.tool.v1.DescribeResponse.producer:type_name -> pluggableharness.common.v1.ProducerRef + 2, // 28: pluggableharness.tool.v1.ToolEvent.OutputChunk.stream:type_name -> pluggableharness.tool.v1.OutputStream + 29, // 29: pluggableharness.tool.v1.ToolEvent.PartialResult.payload:type_name -> google.protobuf.Struct + 4, // 30: pluggableharness.tool.v1.ToolService.GetSchema:input_type -> pluggableharness.tool.v1.GetSchemaRequest + 6, // 31: pluggableharness.tool.v1.ToolService.Configure:input_type -> pluggableharness.tool.v1.ConfigureRequest + 10, // 32: pluggableharness.tool.v1.ToolService.Invoke:input_type -> pluggableharness.tool.v1.InvokeRequest + 16, // 33: pluggableharness.tool.v1.ToolService.Render:input_type -> pluggableharness.tool.v1.RenderRequest + 18, // 34: pluggableharness.tool.v1.ToolService.Preview:input_type -> pluggableharness.tool.v1.PreviewRequest + 20, // 35: pluggableharness.tool.v1.ToolService.Describe:input_type -> pluggableharness.tool.v1.DescribeRequest + 5, // 36: pluggableharness.tool.v1.ToolService.GetSchema:output_type -> pluggableharness.tool.v1.GetSchemaResponse + 7, // 37: pluggableharness.tool.v1.ToolService.Configure:output_type -> pluggableharness.tool.v1.ConfigureResponse + 11, // 38: pluggableharness.tool.v1.ToolService.Invoke:output_type -> pluggableharness.tool.v1.InvokeResponse + 17, // 39: pluggableharness.tool.v1.ToolService.Render:output_type -> pluggableharness.tool.v1.RenderResponse + 19, // 40: pluggableharness.tool.v1.ToolService.Preview:output_type -> pluggableharness.tool.v1.PreviewResponse + 21, // 41: pluggableharness.tool.v1.ToolService.Describe:output_type -> pluggableharness.tool.v1.DescribeResponse 36, // [36:42] is the sub-list for method output_type 30, // [30:36] is the sub-list for method input_type 30, // [30:30] is the sub-list for extension type_name @@ -1936,13 +1936,13 @@ var file_pluggableharness_agent_tool_v1_tool_proto_depIdxs = []int32{ 0, // [0:30] is the sub-list for field type_name } -func init() { file_pluggableharness_agent_tool_v1_tool_proto_init() } -func file_pluggableharness_agent_tool_v1_tool_proto_init() { - if File_pluggableharness_agent_tool_v1_tool_proto != nil { +func init() { file_pluggableharness_tool_v1_tool_proto_init() } +func file_pluggableharness_tool_v1_tool_proto_init() { + if File_pluggableharness_tool_v1_tool_proto != nil { return } - file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[5].OneofWrappers = []any{} - file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[9].OneofWrappers = []any{ + file_pluggableharness_tool_v1_tool_proto_msgTypes[5].OneofWrappers = []any{} + file_pluggableharness_tool_v1_tool_proto_msgTypes[9].OneofWrappers = []any{ (*ToolEvent_OutputChunk_)(nil), (*ToolEvent_Progress_)(nil), (*ToolEvent_PartialResult_)(nil), @@ -1950,25 +1950,25 @@ func file_pluggableharness_agent_tool_v1_tool_proto_init() { (*ToolEvent_Result)(nil), (*ToolEvent_Error)(nil), } - file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[11].OneofWrappers = []any{} - file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[19].OneofWrappers = []any{} - file_pluggableharness_agent_tool_v1_tool_proto_msgTypes[21].OneofWrappers = []any{} + file_pluggableharness_tool_v1_tool_proto_msgTypes[11].OneofWrappers = []any{} + file_pluggableharness_tool_v1_tool_proto_msgTypes[19].OneofWrappers = []any{} + file_pluggableharness_tool_v1_tool_proto_msgTypes[21].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_tool_v1_tool_proto_rawDesc), len(file_pluggableharness_agent_tool_v1_tool_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_tool_v1_tool_proto_rawDesc), len(file_pluggableharness_tool_v1_tool_proto_rawDesc)), NumEnums: 4, NumMessages: 22, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_pluggableharness_agent_tool_v1_tool_proto_goTypes, - DependencyIndexes: file_pluggableharness_agent_tool_v1_tool_proto_depIdxs, - EnumInfos: file_pluggableharness_agent_tool_v1_tool_proto_enumTypes, - MessageInfos: file_pluggableharness_agent_tool_v1_tool_proto_msgTypes, + GoTypes: file_pluggableharness_tool_v1_tool_proto_goTypes, + DependencyIndexes: file_pluggableharness_tool_v1_tool_proto_depIdxs, + EnumInfos: file_pluggableharness_tool_v1_tool_proto_enumTypes, + MessageInfos: file_pluggableharness_tool_v1_tool_proto_msgTypes, }.Build() - File_pluggableharness_agent_tool_v1_tool_proto = out.File - file_pluggableharness_agent_tool_v1_tool_proto_goTypes = nil - file_pluggableharness_agent_tool_v1_tool_proto_depIdxs = nil + File_pluggableharness_tool_v1_tool_proto = out.File + file_pluggableharness_tool_v1_tool_proto_goTypes = nil + file_pluggableharness_tool_v1_tool_proto_depIdxs = nil } diff --git a/pkg/tool/proto/v1/tool_grpc.pb.go b/pkg/tool/proto/v1/tool_grpc.pb.go index 321fe96..0b7a8d2 100644 --- a/pkg/tool/proto/v1/tool_grpc.pb.go +++ b/pkg/tool/proto/v1/tool_grpc.pb.go @@ -2,9 +2,9 @@ // versions: // - protoc-gen-go-grpc v1.6.2 // - protoc (unknown) -// source: pluggableharness/agent/tool/v1/tool.proto +// source: pluggableharness/tool/v1/tool.proto -// Package pluggableharness.agent.tool.v1 defines the tool provider plugin protocol +// Package pluggableharness.tool.v1 defines the tool provider plugin protocol // described in specifications/tool.md — the wire contract for file I/O, // shell execution, search, web access, task tracking, sub-agent spawning, // and similar operations. @@ -24,12 +24,12 @@ import ( const _ = grpc.SupportPackageIsVersion9 const ( - ToolService_GetSchema_FullMethodName = "/pluggableharness.agent.tool.v1.ToolService/GetSchema" - ToolService_Configure_FullMethodName = "/pluggableharness.agent.tool.v1.ToolService/Configure" - ToolService_Invoke_FullMethodName = "/pluggableharness.agent.tool.v1.ToolService/Invoke" - ToolService_Render_FullMethodName = "/pluggableharness.agent.tool.v1.ToolService/Render" - ToolService_Preview_FullMethodName = "/pluggableharness.agent.tool.v1.ToolService/Preview" - ToolService_Describe_FullMethodName = "/pluggableharness.agent.tool.v1.ToolService/Describe" + ToolService_GetSchema_FullMethodName = "/pluggableharness.tool.v1.ToolService/GetSchema" + ToolService_Configure_FullMethodName = "/pluggableharness.tool.v1.ToolService/Configure" + ToolService_Invoke_FullMethodName = "/pluggableharness.tool.v1.ToolService/Invoke" + ToolService_Render_FullMethodName = "/pluggableharness.tool.v1.ToolService/Render" + ToolService_Preview_FullMethodName = "/pluggableharness.tool.v1.ToolService/Preview" + ToolService_Describe_FullMethodName = "/pluggableharness.tool.v1.ToolService/Describe" ) // ToolServiceClient is the client API for ToolService service. @@ -349,7 +349,7 @@ func _ToolService_Describe_Handler(srv interface{}, ctx context.Context, dec fun // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) var ToolService_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "pluggableharness.agent.tool.v1.ToolService", + ServiceName: "pluggableharness.tool.v1.ToolService", HandlerType: (*ToolServiceServer)(nil), Methods: []grpc.MethodDesc{ { @@ -380,5 +380,5 @@ var ToolService_ServiceDesc = grpc.ServiceDesc{ ServerStreams: true, }, }, - Metadata: "pluggableharness/agent/tool/v1/tool.proto", + Metadata: "pluggableharness/tool/v1/tool.proto", } diff --git a/pkg/widget/proto/v1/widget.pb.go b/pkg/widget/proto/v1/widget.pb.go index 8b4c44c..09b4d5e 100644 --- a/pkg/widget/proto/v1/widget.pb.go +++ b/pkg/widget/proto/v1/widget.pb.go @@ -2,9 +2,9 @@ // versions: // protoc-gen-go v1.36.11 // protoc (unknown) -// source: pluggableharness/agent/widget/v1/widget.proto +// source: pluggableharness/widget/v1/widget.proto -// Package pluggableharness.agent.widget.v1 defines the widget provider plugin protocol +// Package pluggableharness.widget.v1 defines the widget provider plugin protocol // described in specifications/frontend.md §4 (Attach, action dispatch, ...). // Messages and RPCs are added incrementally as the protocol is finalized; // this file currently scaffolds the buf toolchain wiring — see @@ -76,11 +76,11 @@ func (x WidgetErrorCategory) String() string { } func (WidgetErrorCategory) Descriptor() protoreflect.EnumDescriptor { - return file_pluggableharness_agent_widget_v1_widget_proto_enumTypes[0].Descriptor() + return file_pluggableharness_widget_v1_widget_proto_enumTypes[0].Descriptor() } func (WidgetErrorCategory) Type() protoreflect.EnumType { - return &file_pluggableharness_agent_widget_v1_widget_proto_enumTypes[0] + return &file_pluggableharness_widget_v1_widget_proto_enumTypes[0] } func (x WidgetErrorCategory) Number() protoreflect.EnumNumber { @@ -89,7 +89,7 @@ func (x WidgetErrorCategory) Number() protoreflect.EnumNumber { // Deprecated: Use WidgetErrorCategory.Descriptor instead. func (WidgetErrorCategory) EnumDescriptor() ([]byte, []int) { - return file_pluggableharness_agent_widget_v1_widget_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_widget_v1_widget_proto_rawDescGZIP(), []int{0} } // DescribeRequest carries no fields — Describe takes no parameters. @@ -101,7 +101,7 @@ type DescribeRequest struct { func (x *DescribeRequest) Reset() { *x = DescribeRequest{} - mi := &file_pluggableharness_agent_widget_v1_widget_proto_msgTypes[0] + mi := &file_pluggableharness_widget_v1_widget_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -113,7 +113,7 @@ func (x *DescribeRequest) String() string { func (*DescribeRequest) ProtoMessage() {} func (x *DescribeRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_widget_v1_widget_proto_msgTypes[0] + mi := &file_pluggableharness_widget_v1_widget_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -126,7 +126,7 @@ func (x *DescribeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DescribeRequest.ProtoReflect.Descriptor instead. func (*DescribeRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_widget_v1_widget_proto_rawDescGZIP(), []int{0} + return file_pluggableharness_widget_v1_widget_proto_rawDescGZIP(), []int{0} } // DescribeResponse reports this plugin build's own identity, obtained @@ -142,7 +142,7 @@ type DescribeResponse struct { func (x *DescribeResponse) Reset() { *x = DescribeResponse{} - mi := &file_pluggableharness_agent_widget_v1_widget_proto_msgTypes[1] + mi := &file_pluggableharness_widget_v1_widget_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -154,7 +154,7 @@ func (x *DescribeResponse) String() string { func (*DescribeResponse) ProtoMessage() {} func (x *DescribeResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_widget_v1_widget_proto_msgTypes[1] + mi := &file_pluggableharness_widget_v1_widget_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -167,7 +167,7 @@ func (x *DescribeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DescribeResponse.ProtoReflect.Descriptor instead. func (*DescribeResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_widget_v1_widget_proto_rawDescGZIP(), []int{1} + return file_pluggableharness_widget_v1_widget_proto_rawDescGZIP(), []int{1} } func (x *DescribeResponse) GetProducer() *v1.ProducerRef { @@ -187,7 +187,7 @@ type GetCapabilitiesRequest struct { func (x *GetCapabilitiesRequest) Reset() { *x = GetCapabilitiesRequest{} - mi := &file_pluggableharness_agent_widget_v1_widget_proto_msgTypes[2] + mi := &file_pluggableharness_widget_v1_widget_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -199,7 +199,7 @@ func (x *GetCapabilitiesRequest) String() string { func (*GetCapabilitiesRequest) ProtoMessage() {} func (x *GetCapabilitiesRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_widget_v1_widget_proto_msgTypes[2] + mi := &file_pluggableharness_widget_v1_widget_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -212,7 +212,7 @@ func (x *GetCapabilitiesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCapabilitiesRequest.ProtoReflect.Descriptor instead. func (*GetCapabilitiesRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_widget_v1_widget_proto_rawDescGZIP(), []int{2} + return file_pluggableharness_widget_v1_widget_proto_rawDescGZIP(), []int{2} } // GetCapabilitiesResponse wraps WidgetCapabilities for the RPC signature, @@ -226,7 +226,7 @@ type GetCapabilitiesResponse struct { func (x *GetCapabilitiesResponse) Reset() { *x = GetCapabilitiesResponse{} - mi := &file_pluggableharness_agent_widget_v1_widget_proto_msgTypes[3] + mi := &file_pluggableharness_widget_v1_widget_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -238,7 +238,7 @@ func (x *GetCapabilitiesResponse) String() string { func (*GetCapabilitiesResponse) ProtoMessage() {} func (x *GetCapabilitiesResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_widget_v1_widget_proto_msgTypes[3] + mi := &file_pluggableharness_widget_v1_widget_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -251,7 +251,7 @@ func (x *GetCapabilitiesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCapabilitiesResponse.ProtoReflect.Descriptor instead. func (*GetCapabilitiesResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_widget_v1_widget_proto_rawDescGZIP(), []int{3} + return file_pluggableharness_widget_v1_widget_proto_rawDescGZIP(), []int{3} } func (x *GetCapabilitiesResponse) GetCapabilities() *WidgetCapabilities { @@ -266,7 +266,7 @@ func (x *GetCapabilitiesResponse) GetCapabilities() *WidgetCapabilities { type WidgetCapabilities struct { state protoimpl.MessageState `protogen:"open.v1"` // MUST — the regions this widget intends to contribute to. - Regions []v11.Region `protobuf:"varint,1,rep,packed,name=regions,proto3,enum=pluggableharness.agent.render.v1.Region" json:"regions,omitempty"` + Regions []v11.Region `protobuf:"varint,1,rep,packed,name=regions,proto3,enum=pluggableharness.render.v1.Region" json:"regions,omitempty"` // This provider's agent.hcl config schema, per configuration.md §4 — // what fields Configure's request may be decoded from. ConfigSchema *v12.ConfigSchema `protobuf:"bytes,2,opt,name=config_schema,json=configSchema,proto3" json:"config_schema,omitempty"` @@ -274,14 +274,14 @@ type WidgetCapabilities struct { // (agent-loop/hook-dispatch.md), so a mis-declared agent.hcl hook{} // block naming an unsupported point can be rejected at config-load // time rather than failing at first dispatch. - SupportedHookPoints []v1.HookPoint `protobuf:"varint,3,rep,packed,name=supported_hook_points,json=supportedHookPoints,proto3,enum=pluggableharness.agent.common.v1.HookPoint" json:"supported_hook_points,omitempty"` + SupportedHookPoints []v1.HookPoint `protobuf:"varint,3,rep,packed,name=supported_hook_points,json=supportedHookPoints,proto3,enum=pluggableharness.common.v1.HookPoint" json:"supported_hook_points,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *WidgetCapabilities) Reset() { *x = WidgetCapabilities{} - mi := &file_pluggableharness_agent_widget_v1_widget_proto_msgTypes[4] + mi := &file_pluggableharness_widget_v1_widget_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -293,7 +293,7 @@ func (x *WidgetCapabilities) String() string { func (*WidgetCapabilities) ProtoMessage() {} func (x *WidgetCapabilities) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_widget_v1_widget_proto_msgTypes[4] + mi := &file_pluggableharness_widget_v1_widget_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -306,7 +306,7 @@ func (x *WidgetCapabilities) ProtoReflect() protoreflect.Message { // Deprecated: Use WidgetCapabilities.ProtoReflect.Descriptor instead. func (*WidgetCapabilities) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_widget_v1_widget_proto_rawDescGZIP(), []int{4} + return file_pluggableharness_widget_v1_widget_proto_rawDescGZIP(), []int{4} } func (x *WidgetCapabilities) GetRegions() []v11.Region { @@ -341,7 +341,7 @@ type ConfigureRequest struct { func (x *ConfigureRequest) Reset() { *x = ConfigureRequest{} - mi := &file_pluggableharness_agent_widget_v1_widget_proto_msgTypes[5] + mi := &file_pluggableharness_widget_v1_widget_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -353,7 +353,7 @@ func (x *ConfigureRequest) String() string { func (*ConfigureRequest) ProtoMessage() {} func (x *ConfigureRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_widget_v1_widget_proto_msgTypes[5] + mi := &file_pluggableharness_widget_v1_widget_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -366,7 +366,7 @@ func (x *ConfigureRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigureRequest.ProtoReflect.Descriptor instead. func (*ConfigureRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_widget_v1_widget_proto_rawDescGZIP(), []int{5} + return file_pluggableharness_widget_v1_widget_proto_rawDescGZIP(), []int{5} } func (x *ConfigureRequest) GetConfig() *structpb.Struct { @@ -386,7 +386,7 @@ type ConfigureResponse struct { func (x *ConfigureResponse) Reset() { *x = ConfigureResponse{} - mi := &file_pluggableharness_agent_widget_v1_widget_proto_msgTypes[6] + mi := &file_pluggableharness_widget_v1_widget_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -398,7 +398,7 @@ func (x *ConfigureResponse) String() string { func (*ConfigureResponse) ProtoMessage() {} func (x *ConfigureResponse) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_widget_v1_widget_proto_msgTypes[6] + mi := &file_pluggableharness_widget_v1_widget_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -411,7 +411,7 @@ func (x *ConfigureResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigureResponse.ProtoReflect.Descriptor instead. func (*ConfigureResponse) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_widget_v1_widget_proto_rawDescGZIP(), []int{6} + return file_pluggableharness_widget_v1_widget_proto_rawDescGZIP(), []int{6} } // AttachRequest identifies which session's widget instance to attach to. @@ -425,7 +425,7 @@ type AttachRequest struct { func (x *AttachRequest) Reset() { *x = AttachRequest{} - mi := &file_pluggableharness_agent_widget_v1_widget_proto_msgTypes[7] + mi := &file_pluggableharness_widget_v1_widget_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -437,7 +437,7 @@ func (x *AttachRequest) String() string { func (*AttachRequest) ProtoMessage() {} func (x *AttachRequest) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_widget_v1_widget_proto_msgTypes[7] + mi := &file_pluggableharness_widget_v1_widget_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -450,7 +450,7 @@ func (x *AttachRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AttachRequest.ProtoReflect.Descriptor instead. func (*AttachRequest) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_widget_v1_widget_proto_rawDescGZIP(), []int{7} + return file_pluggableharness_widget_v1_widget_proto_rawDescGZIP(), []int{7} } func (x *AttachRequest) GetSessionId() string { @@ -465,7 +465,7 @@ func (x *AttachRequest) GetSessionId() string { type WidgetUpdate struct { state protoimpl.MessageState `protogen:"open.v1"` // Which region this update places content into. - Region v11.Region `protobuf:"varint,1,opt,name=region,proto3,enum=pluggableharness.agent.render.v1.Region" json:"region,omitempty"` + Region v11.Region `protobuf:"varint,1,opt,name=region,proto3,enum=pluggableharness.render.v1.Region" json:"region,omitempty"` // The content to place. Content *v11.RenderTree `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"` // True: replace this widget's prior content in `region`. False: append. @@ -476,7 +476,7 @@ type WidgetUpdate struct { func (x *WidgetUpdate) Reset() { *x = WidgetUpdate{} - mi := &file_pluggableharness_agent_widget_v1_widget_proto_msgTypes[8] + mi := &file_pluggableharness_widget_v1_widget_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -488,7 +488,7 @@ func (x *WidgetUpdate) String() string { func (*WidgetUpdate) ProtoMessage() {} func (x *WidgetUpdate) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_widget_v1_widget_proto_msgTypes[8] + mi := &file_pluggableharness_widget_v1_widget_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -501,7 +501,7 @@ func (x *WidgetUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use WidgetUpdate.ProtoReflect.Descriptor instead. func (*WidgetUpdate) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_widget_v1_widget_proto_rawDescGZIP(), []int{8} + return file_pluggableharness_widget_v1_widget_proto_rawDescGZIP(), []int{8} } func (x *WidgetUpdate) GetRegion() v11.Region { @@ -535,7 +535,7 @@ func (x *WidgetUpdate) GetReplace() bool { type WidgetError struct { state protoimpl.MessageState `protogen:"open.v1"` // The error's category. - Category WidgetErrorCategory `protobuf:"varint,1,opt,name=category,proto3,enum=pluggableharness.agent.widget.v1.WidgetErrorCategory" json:"category,omitempty"` + Category WidgetErrorCategory `protobuf:"varint,1,opt,name=category,proto3,enum=pluggableharness.widget.v1.WidgetErrorCategory" json:"category,omitempty"` // A human-readable message. Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` unknownFields protoimpl.UnknownFields @@ -544,7 +544,7 @@ type WidgetError struct { func (x *WidgetError) Reset() { *x = WidgetError{} - mi := &file_pluggableharness_agent_widget_v1_widget_proto_msgTypes[9] + mi := &file_pluggableharness_widget_v1_widget_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -556,7 +556,7 @@ func (x *WidgetError) String() string { func (*WidgetError) ProtoMessage() {} func (x *WidgetError) ProtoReflect() protoreflect.Message { - mi := &file_pluggableharness_agent_widget_v1_widget_proto_msgTypes[9] + mi := &file_pluggableharness_widget_v1_widget_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -569,7 +569,7 @@ func (x *WidgetError) ProtoReflect() protoreflect.Message { // Deprecated: Use WidgetError.ProtoReflect.Descriptor instead. func (*WidgetError) Descriptor() ([]byte, []int) { - return file_pluggableharness_agent_widget_v1_widget_proto_rawDescGZIP(), []int{9} + return file_pluggableharness_widget_v1_widget_proto_rawDescGZIP(), []int{9} } func (x *WidgetError) GetCategory() WidgetErrorCategory { @@ -586,96 +586,96 @@ func (x *WidgetError) GetMessage() string { return "" } -var File_pluggableharness_agent_widget_v1_widget_proto protoreflect.FileDescriptor +var File_pluggableharness_widget_v1_widget_proto protoreflect.FileDescriptor -const file_pluggableharness_agent_widget_v1_widget_proto_rawDesc = "" + +const file_pluggableharness_widget_v1_widget_proto_rawDesc = "" + "\n" + - "-pluggableharness/agent/widget/v1/widget.proto\x12 pluggableharness.agent.widget.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a-pluggableharness/agent/common/v1/common.proto\x1a-pluggableharness/agent/config/v1/config.proto\x1a-pluggableharness/agent/render/v1/render.proto\"\x11\n" + - "\x0fDescribeRequest\"]\n" + - "\x10DescribeResponse\x12I\n" + - "\bproducer\x18\x01 \x01(\v2-.pluggableharness.agent.common.v1.ProducerRefR\bproducer\"\x18\n" + - "\x16GetCapabilitiesRequest\"s\n" + - "\x17GetCapabilitiesResponse\x12X\n" + - "\fcapabilities\x18\x01 \x01(\v24.pluggableharness.agent.widget.v1.WidgetCapabilitiesR\fcapabilities\"\x8e\x02\n" + - "\x12WidgetCapabilities\x12B\n" + - "\aregions\x18\x01 \x03(\x0e2(.pluggableharness.agent.render.v1.RegionR\aregions\x12S\n" + - "\rconfig_schema\x18\x02 \x01(\v2..pluggableharness.agent.config.v1.ConfigSchemaR\fconfigSchema\x12_\n" + - "\x15supported_hook_points\x18\x03 \x03(\x0e2+.pluggableharness.agent.common.v1.HookPointR\x13supportedHookPoints\"C\n" + + "'pluggableharness/widget/v1/widget.proto\x12\x1apluggableharness.widget.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a'pluggableharness/common/v1/common.proto\x1a'pluggableharness/config/v1/config.proto\x1a'pluggableharness/render/v1/render.proto\"\x11\n" + + "\x0fDescribeRequest\"W\n" + + "\x10DescribeResponse\x12C\n" + + "\bproducer\x18\x01 \x01(\v2'.pluggableharness.common.v1.ProducerRefR\bproducer\"\x18\n" + + "\x16GetCapabilitiesRequest\"m\n" + + "\x17GetCapabilitiesResponse\x12R\n" + + "\fcapabilities\x18\x01 \x01(\v2..pluggableharness.widget.v1.WidgetCapabilitiesR\fcapabilities\"\xfc\x01\n" + + "\x12WidgetCapabilities\x12<\n" + + "\aregions\x18\x01 \x03(\x0e2\".pluggableharness.render.v1.RegionR\aregions\x12M\n" + + "\rconfig_schema\x18\x02 \x01(\v2(.pluggableharness.config.v1.ConfigSchemaR\fconfigSchema\x12Y\n" + + "\x15supported_hook_points\x18\x03 \x03(\x0e2%.pluggableharness.common.v1.HookPointR\x13supportedHookPoints\"C\n" + "\x10ConfigureRequest\x12/\n" + "\x06config\x18\x01 \x01(\v2\x17.google.protobuf.StructR\x06config\"\x13\n" + "\x11ConfigureResponse\".\n" + "\rAttachRequest\x12\x1d\n" + "\n" + - "session_id\x18\x01 \x01(\tR\tsessionId\"\xb2\x01\n" + - "\fWidgetUpdate\x12@\n" + - "\x06region\x18\x01 \x01(\x0e2(.pluggableharness.agent.render.v1.RegionR\x06region\x12F\n" + - "\acontent\x18\x02 \x01(\v2,.pluggableharness.agent.render.v1.RenderTreeR\acontent\x12\x18\n" + - "\areplace\x18\x03 \x01(\bR\areplace\"z\n" + - "\vWidgetError\x12Q\n" + - "\bcategory\x18\x01 \x01(\x0e25.pluggableharness.agent.widget.v1.WidgetErrorCategoryR\bcategory\x12\x18\n" + + "session_id\x18\x01 \x01(\tR\tsessionId\"\xa6\x01\n" + + "\fWidgetUpdate\x12:\n" + + "\x06region\x18\x01 \x01(\x0e2\".pluggableharness.render.v1.RegionR\x06region\x12@\n" + + "\acontent\x18\x02 \x01(\v2&.pluggableharness.render.v1.RenderTreeR\acontent\x12\x18\n" + + "\areplace\x18\x03 \x01(\bR\areplace\"t\n" + + "\vWidgetError\x12K\n" + + "\bcategory\x18\x01 \x01(\x0e2/.pluggableharness.widget.v1.WidgetErrorCategoryR\bcategory\x12\x18\n" + "\amessage\x18\x02 \x01(\tR\amessage*\xb6\x01\n" + "\x13WidgetErrorCategory\x12%\n" + "!WIDGET_ERROR_CATEGORY_UNSPECIFIED\x10\x00\x12'\n" + "#WIDGET_ERROR_CATEGORY_RENDER_FAILED\x10\x01\x12,\n" + "(WIDGET_ERROR_CATEGORY_REGION_UNSUPPORTED\x10\x02\x12!\n" + - "\x1dWIDGET_ERROR_CATEGORY_UNKNOWN\x10\x032\xee\x03\n" + - "\rWidgetService\x12\x86\x01\n" + - "\x0fGetCapabilities\x128.pluggableharness.agent.widget.v1.GetCapabilitiesRequest\x1a9.pluggableharness.agent.widget.v1.GetCapabilitiesResponse\x12t\n" + - "\tConfigure\x122.pluggableharness.agent.widget.v1.ConfigureRequest\x1a3.pluggableharness.agent.widget.v1.ConfigureResponse\x12k\n" + - "\x06Attach\x12/.pluggableharness.agent.widget.v1.AttachRequest\x1a..pluggableharness.agent.widget.v1.WidgetUpdate0\x01\x12q\n" + - "\bDescribe\x121.pluggableharness.agent.widget.v1.DescribeRequest\x1a2.pluggableharness.agent.widget.v1.DescribeResponseB@Z>github.com/pluggableharness/agent/pkg/widget/proto/v1;widgetv1b\x06proto3" + "\x1dWIDGET_ERROR_CATEGORY_UNKNOWN\x10\x032\xbd\x03\n" + + "\rWidgetService\x12z\n" + + "\x0fGetCapabilities\x122.pluggableharness.widget.v1.GetCapabilitiesRequest\x1a3.pluggableharness.widget.v1.GetCapabilitiesResponse\x12h\n" + + "\tConfigure\x12,.pluggableharness.widget.v1.ConfigureRequest\x1a-.pluggableharness.widget.v1.ConfigureResponse\x12_\n" + + "\x06Attach\x12).pluggableharness.widget.v1.AttachRequest\x1a(.pluggableharness.widget.v1.WidgetUpdate0\x01\x12e\n" + + "\bDescribe\x12+.pluggableharness.widget.v1.DescribeRequest\x1a,.pluggableharness.widget.v1.DescribeResponseB@Z>github.com/pluggableharness/agent/pkg/widget/proto/v1;widgetv1b\x06proto3" var ( - file_pluggableharness_agent_widget_v1_widget_proto_rawDescOnce sync.Once - file_pluggableharness_agent_widget_v1_widget_proto_rawDescData []byte + file_pluggableharness_widget_v1_widget_proto_rawDescOnce sync.Once + file_pluggableharness_widget_v1_widget_proto_rawDescData []byte ) -func file_pluggableharness_agent_widget_v1_widget_proto_rawDescGZIP() []byte { - file_pluggableharness_agent_widget_v1_widget_proto_rawDescOnce.Do(func() { - file_pluggableharness_agent_widget_v1_widget_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_widget_v1_widget_proto_rawDesc), len(file_pluggableharness_agent_widget_v1_widget_proto_rawDesc))) +func file_pluggableharness_widget_v1_widget_proto_rawDescGZIP() []byte { + file_pluggableharness_widget_v1_widget_proto_rawDescOnce.Do(func() { + file_pluggableharness_widget_v1_widget_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pluggableharness_widget_v1_widget_proto_rawDesc), len(file_pluggableharness_widget_v1_widget_proto_rawDesc))) }) - return file_pluggableharness_agent_widget_v1_widget_proto_rawDescData -} - -var file_pluggableharness_agent_widget_v1_widget_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_pluggableharness_agent_widget_v1_widget_proto_msgTypes = make([]protoimpl.MessageInfo, 10) -var file_pluggableharness_agent_widget_v1_widget_proto_goTypes = []any{ - (WidgetErrorCategory)(0), // 0: pluggableharness.agent.widget.v1.WidgetErrorCategory - (*DescribeRequest)(nil), // 1: pluggableharness.agent.widget.v1.DescribeRequest - (*DescribeResponse)(nil), // 2: pluggableharness.agent.widget.v1.DescribeResponse - (*GetCapabilitiesRequest)(nil), // 3: pluggableharness.agent.widget.v1.GetCapabilitiesRequest - (*GetCapabilitiesResponse)(nil), // 4: pluggableharness.agent.widget.v1.GetCapabilitiesResponse - (*WidgetCapabilities)(nil), // 5: pluggableharness.agent.widget.v1.WidgetCapabilities - (*ConfigureRequest)(nil), // 6: pluggableharness.agent.widget.v1.ConfigureRequest - (*ConfigureResponse)(nil), // 7: pluggableharness.agent.widget.v1.ConfigureResponse - (*AttachRequest)(nil), // 8: pluggableharness.agent.widget.v1.AttachRequest - (*WidgetUpdate)(nil), // 9: pluggableharness.agent.widget.v1.WidgetUpdate - (*WidgetError)(nil), // 10: pluggableharness.agent.widget.v1.WidgetError - (*v1.ProducerRef)(nil), // 11: pluggableharness.agent.common.v1.ProducerRef - (v11.Region)(0), // 12: pluggableharness.agent.render.v1.Region - (*v12.ConfigSchema)(nil), // 13: pluggableharness.agent.config.v1.ConfigSchema - (v1.HookPoint)(0), // 14: pluggableharness.agent.common.v1.HookPoint + return file_pluggableharness_widget_v1_widget_proto_rawDescData +} + +var file_pluggableharness_widget_v1_widget_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_pluggableharness_widget_v1_widget_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_pluggableharness_widget_v1_widget_proto_goTypes = []any{ + (WidgetErrorCategory)(0), // 0: pluggableharness.widget.v1.WidgetErrorCategory + (*DescribeRequest)(nil), // 1: pluggableharness.widget.v1.DescribeRequest + (*DescribeResponse)(nil), // 2: pluggableharness.widget.v1.DescribeResponse + (*GetCapabilitiesRequest)(nil), // 3: pluggableharness.widget.v1.GetCapabilitiesRequest + (*GetCapabilitiesResponse)(nil), // 4: pluggableharness.widget.v1.GetCapabilitiesResponse + (*WidgetCapabilities)(nil), // 5: pluggableharness.widget.v1.WidgetCapabilities + (*ConfigureRequest)(nil), // 6: pluggableharness.widget.v1.ConfigureRequest + (*ConfigureResponse)(nil), // 7: pluggableharness.widget.v1.ConfigureResponse + (*AttachRequest)(nil), // 8: pluggableharness.widget.v1.AttachRequest + (*WidgetUpdate)(nil), // 9: pluggableharness.widget.v1.WidgetUpdate + (*WidgetError)(nil), // 10: pluggableharness.widget.v1.WidgetError + (*v1.ProducerRef)(nil), // 11: pluggableharness.common.v1.ProducerRef + (v11.Region)(0), // 12: pluggableharness.render.v1.Region + (*v12.ConfigSchema)(nil), // 13: pluggableharness.config.v1.ConfigSchema + (v1.HookPoint)(0), // 14: pluggableharness.common.v1.HookPoint (*structpb.Struct)(nil), // 15: google.protobuf.Struct - (*v11.RenderTree)(nil), // 16: pluggableharness.agent.render.v1.RenderTree -} -var file_pluggableharness_agent_widget_v1_widget_proto_depIdxs = []int32{ - 11, // 0: pluggableharness.agent.widget.v1.DescribeResponse.producer:type_name -> pluggableharness.agent.common.v1.ProducerRef - 5, // 1: pluggableharness.agent.widget.v1.GetCapabilitiesResponse.capabilities:type_name -> pluggableharness.agent.widget.v1.WidgetCapabilities - 12, // 2: pluggableharness.agent.widget.v1.WidgetCapabilities.regions:type_name -> pluggableharness.agent.render.v1.Region - 13, // 3: pluggableharness.agent.widget.v1.WidgetCapabilities.config_schema:type_name -> pluggableharness.agent.config.v1.ConfigSchema - 14, // 4: pluggableharness.agent.widget.v1.WidgetCapabilities.supported_hook_points:type_name -> pluggableharness.agent.common.v1.HookPoint - 15, // 5: pluggableharness.agent.widget.v1.ConfigureRequest.config:type_name -> google.protobuf.Struct - 12, // 6: pluggableharness.agent.widget.v1.WidgetUpdate.region:type_name -> pluggableharness.agent.render.v1.Region - 16, // 7: pluggableharness.agent.widget.v1.WidgetUpdate.content:type_name -> pluggableharness.agent.render.v1.RenderTree - 0, // 8: pluggableharness.agent.widget.v1.WidgetError.category:type_name -> pluggableharness.agent.widget.v1.WidgetErrorCategory - 3, // 9: pluggableharness.agent.widget.v1.WidgetService.GetCapabilities:input_type -> pluggableharness.agent.widget.v1.GetCapabilitiesRequest - 6, // 10: pluggableharness.agent.widget.v1.WidgetService.Configure:input_type -> pluggableharness.agent.widget.v1.ConfigureRequest - 8, // 11: pluggableharness.agent.widget.v1.WidgetService.Attach:input_type -> pluggableharness.agent.widget.v1.AttachRequest - 1, // 12: pluggableharness.agent.widget.v1.WidgetService.Describe:input_type -> pluggableharness.agent.widget.v1.DescribeRequest - 4, // 13: pluggableharness.agent.widget.v1.WidgetService.GetCapabilities:output_type -> pluggableharness.agent.widget.v1.GetCapabilitiesResponse - 7, // 14: pluggableharness.agent.widget.v1.WidgetService.Configure:output_type -> pluggableharness.agent.widget.v1.ConfigureResponse - 9, // 15: pluggableharness.agent.widget.v1.WidgetService.Attach:output_type -> pluggableharness.agent.widget.v1.WidgetUpdate - 2, // 16: pluggableharness.agent.widget.v1.WidgetService.Describe:output_type -> pluggableharness.agent.widget.v1.DescribeResponse + (*v11.RenderTree)(nil), // 16: pluggableharness.render.v1.RenderTree +} +var file_pluggableharness_widget_v1_widget_proto_depIdxs = []int32{ + 11, // 0: pluggableharness.widget.v1.DescribeResponse.producer:type_name -> pluggableharness.common.v1.ProducerRef + 5, // 1: pluggableharness.widget.v1.GetCapabilitiesResponse.capabilities:type_name -> pluggableharness.widget.v1.WidgetCapabilities + 12, // 2: pluggableharness.widget.v1.WidgetCapabilities.regions:type_name -> pluggableharness.render.v1.Region + 13, // 3: pluggableharness.widget.v1.WidgetCapabilities.config_schema:type_name -> pluggableharness.config.v1.ConfigSchema + 14, // 4: pluggableharness.widget.v1.WidgetCapabilities.supported_hook_points:type_name -> pluggableharness.common.v1.HookPoint + 15, // 5: pluggableharness.widget.v1.ConfigureRequest.config:type_name -> google.protobuf.Struct + 12, // 6: pluggableharness.widget.v1.WidgetUpdate.region:type_name -> pluggableharness.render.v1.Region + 16, // 7: pluggableharness.widget.v1.WidgetUpdate.content:type_name -> pluggableharness.render.v1.RenderTree + 0, // 8: pluggableharness.widget.v1.WidgetError.category:type_name -> pluggableharness.widget.v1.WidgetErrorCategory + 3, // 9: pluggableharness.widget.v1.WidgetService.GetCapabilities:input_type -> pluggableharness.widget.v1.GetCapabilitiesRequest + 6, // 10: pluggableharness.widget.v1.WidgetService.Configure:input_type -> pluggableharness.widget.v1.ConfigureRequest + 8, // 11: pluggableharness.widget.v1.WidgetService.Attach:input_type -> pluggableharness.widget.v1.AttachRequest + 1, // 12: pluggableharness.widget.v1.WidgetService.Describe:input_type -> pluggableharness.widget.v1.DescribeRequest + 4, // 13: pluggableharness.widget.v1.WidgetService.GetCapabilities:output_type -> pluggableharness.widget.v1.GetCapabilitiesResponse + 7, // 14: pluggableharness.widget.v1.WidgetService.Configure:output_type -> pluggableharness.widget.v1.ConfigureResponse + 9, // 15: pluggableharness.widget.v1.WidgetService.Attach:output_type -> pluggableharness.widget.v1.WidgetUpdate + 2, // 16: pluggableharness.widget.v1.WidgetService.Describe:output_type -> pluggableharness.widget.v1.DescribeResponse 13, // [13:17] is the sub-list for method output_type 9, // [9:13] is the sub-list for method input_type 9, // [9:9] is the sub-list for extension type_name @@ -683,27 +683,27 @@ var file_pluggableharness_agent_widget_v1_widget_proto_depIdxs = []int32{ 0, // [0:9] is the sub-list for field type_name } -func init() { file_pluggableharness_agent_widget_v1_widget_proto_init() } -func file_pluggableharness_agent_widget_v1_widget_proto_init() { - if File_pluggableharness_agent_widget_v1_widget_proto != nil { +func init() { file_pluggableharness_widget_v1_widget_proto_init() } +func file_pluggableharness_widget_v1_widget_proto_init() { + if File_pluggableharness_widget_v1_widget_proto != nil { return } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_agent_widget_v1_widget_proto_rawDesc), len(file_pluggableharness_agent_widget_v1_widget_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_pluggableharness_widget_v1_widget_proto_rawDesc), len(file_pluggableharness_widget_v1_widget_proto_rawDesc)), NumEnums: 1, NumMessages: 10, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_pluggableharness_agent_widget_v1_widget_proto_goTypes, - DependencyIndexes: file_pluggableharness_agent_widget_v1_widget_proto_depIdxs, - EnumInfos: file_pluggableharness_agent_widget_v1_widget_proto_enumTypes, - MessageInfos: file_pluggableharness_agent_widget_v1_widget_proto_msgTypes, + GoTypes: file_pluggableharness_widget_v1_widget_proto_goTypes, + DependencyIndexes: file_pluggableharness_widget_v1_widget_proto_depIdxs, + EnumInfos: file_pluggableharness_widget_v1_widget_proto_enumTypes, + MessageInfos: file_pluggableharness_widget_v1_widget_proto_msgTypes, }.Build() - File_pluggableharness_agent_widget_v1_widget_proto = out.File - file_pluggableharness_agent_widget_v1_widget_proto_goTypes = nil - file_pluggableharness_agent_widget_v1_widget_proto_depIdxs = nil + File_pluggableharness_widget_v1_widget_proto = out.File + file_pluggableharness_widget_v1_widget_proto_goTypes = nil + file_pluggableharness_widget_v1_widget_proto_depIdxs = nil } diff --git a/pkg/widget/proto/v1/widget_grpc.pb.go b/pkg/widget/proto/v1/widget_grpc.pb.go index b8ca628..f98e92c 100644 --- a/pkg/widget/proto/v1/widget_grpc.pb.go +++ b/pkg/widget/proto/v1/widget_grpc.pb.go @@ -2,9 +2,9 @@ // versions: // - protoc-gen-go-grpc v1.6.2 // - protoc (unknown) -// source: pluggableharness/agent/widget/v1/widget.proto +// source: pluggableharness/widget/v1/widget.proto -// Package pluggableharness.agent.widget.v1 defines the widget provider plugin protocol +// Package pluggableharness.widget.v1 defines the widget provider plugin protocol // described in specifications/frontend.md §4 (Attach, action dispatch, ...). // Messages and RPCs are added incrementally as the protocol is finalized; // this file currently scaffolds the buf toolchain wiring — see @@ -25,10 +25,10 @@ import ( const _ = grpc.SupportPackageIsVersion9 const ( - WidgetService_GetCapabilities_FullMethodName = "/pluggableharness.agent.widget.v1.WidgetService/GetCapabilities" - WidgetService_Configure_FullMethodName = "/pluggableharness.agent.widget.v1.WidgetService/Configure" - WidgetService_Attach_FullMethodName = "/pluggableharness.agent.widget.v1.WidgetService/Attach" - WidgetService_Describe_FullMethodName = "/pluggableharness.agent.widget.v1.WidgetService/Describe" + WidgetService_GetCapabilities_FullMethodName = "/pluggableharness.widget.v1.WidgetService/GetCapabilities" + WidgetService_Configure_FullMethodName = "/pluggableharness.widget.v1.WidgetService/Configure" + WidgetService_Attach_FullMethodName = "/pluggableharness.widget.v1.WidgetService/Attach" + WidgetService_Describe_FullMethodName = "/pluggableharness.widget.v1.WidgetService/Describe" ) // WidgetServiceClient is the client API for WidgetService service. @@ -292,7 +292,7 @@ func _WidgetService_Describe_Handler(srv interface{}, ctx context.Context, dec f // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) var WidgetService_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "pluggableharness.agent.widget.v1.WidgetService", + ServiceName: "pluggableharness.widget.v1.WidgetService", HandlerType: (*WidgetServiceServer)(nil), Methods: []grpc.MethodDesc{ { @@ -315,5 +315,5 @@ var WidgetService_ServiceDesc = grpc.ServiceDesc{ ServerStreams: true, }, }, - Metadata: "pluggableharness/agent/widget/v1/widget.proto", + Metadata: "pluggableharness/widget/v1/widget.proto", }