@stigmer/protos 0.0.49 → 0.0.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@ import type { PendingApproval } from "./approval_pb";
3
3
  import type { ExecutionArtifact } from "./artifact_pb";
4
4
  import type { ContextInfo, ResolvedExecutionContext } from "./context_pb";
5
5
  import type { ExecutionPhase, TodoStatus } from "./enum_pb";
6
- import type { AgentMessage, ToolCall } from "./message_pb";
6
+ import type { AgentMessage } from "./message_pb";
7
7
  import type { AgentExecutionSpec } from "./spec_pb";
8
8
  import type { SubAgentExecution } from "./subagent_pb";
9
9
  import type { UsageMetrics } from "./usage_pb";
@@ -49,7 +49,7 @@ export type AgentExecution = Message<"ai.stigmer.agentic.agentexecution.v1.Agent
49
49
  spec?: AgentExecutionSpec;
50
50
  /**
51
51
  * System-managed execution state and results.
52
- * Contains: messages, phase, tool_calls, sub_agents, canvas_layout, timestamps, errors
52
+ * Contains: messages, phase, sub_agents, pending_approvals, timestamps, errors
53
53
  *
54
54
  * @generated from field: ai.stigmer.agentic.agentexecution.v1.AgentExecutionStatus status = 5;
55
55
  */
@@ -89,14 +89,6 @@ export type AgentExecutionStatus = Message<"ai.stigmer.agentic.agentexecution.v1
89
89
  * @generated from field: ai.stigmer.agentic.agentexecution.v1.ExecutionPhase phase = 2;
90
90
  */
91
91
  phase: ExecutionPhase;
92
- /**
93
- * Tool calls made during this execution.
94
- * Tracked separately for easier querying and display.
95
- * Also referenced within messages[].tool_calls for conversation context.
96
- *
97
- * @generated from field: repeated ai.stigmer.agentic.agentexecution.v1.ToolCall tool_calls = 3;
98
- */
99
- toolCalls: ToolCall[];
100
92
  /**
101
93
  * Sub-agent executions invoked during this execution.
102
94
  * Tracks when the main agent delegates work to specialized sub-agents.
@@ -188,20 +180,27 @@ export type AgentExecutionStatus = Message<"ai.stigmer.agentic.agentexecution.v1
188
180
  */
189
181
  resolvedContext?: ResolvedExecutionContext;
190
182
  /**
191
- * All pending approval requests for this execution.
183
+ * Active pending approval requests for this execution.
184
+ *
185
+ * Computed server-side by the Go/Java UpdateStatus handlers on every write.
186
+ * The handler scans messages[].tool_calls and
187
+ * sub_agent_executions[].messages[].tool_calls, collecting entries where
188
+ * status == WAITING_APPROVAL && requires_approval == true, and projects
189
+ * them into PendingApproval entries.
190
+ *
191
+ * Because this field is recomputed (not merged), it is always consistent
192
+ * with the authoritative tool call state embedded in messages. No lifecycle
193
+ * state machine, no merge logic, no forward-only enforcement needed.
194
+ *
195
+ * Sub-agent approvals are included with from_sub_agent=true and
196
+ * sub_agent_name set, so the UI can attribute each approval to its origin.
192
197
  *
193
198
  * Lifecycle:
194
- * 1. Populated after the event stream ends, by querying graph state for
195
- * pending interrupts. Each interrupt is matched to a tool call.
196
- * 2. Phase changes to EXECUTION_WAITING_FOR_APPROVAL.
197
- * 3. User submits decisions via SubmitApproval RPC (one per tool call).
198
- * 4. After ALL entries have decisions, the Temporal workflow signals resume.
199
- * 5. On resume, all decisions are sent to LangGraph in a single Command.
200
- *
201
- * When populated:
202
- * - Each entry's tool_call_id matches an entry in tool_calls[] with status
203
- * WAITING_APPROVAL
204
- * - Each entry carries its interrupt_id for targeted resume
199
+ * 1. Agent-runner sets ToolCall.status = WAITING_APPROVAL on the message
200
+ * 2. UpdateStatus handler recomputes this field, entry appears
201
+ * 3. Phase changes to EXECUTION_WAITING_FOR_APPROVAL
202
+ * 4. User submits decisions via SubmitApproval RPC (one per tool call)
203
+ * 5. Agent resumes, ToolCall.status advances, next recompute drops the entry
205
204
  *
206
205
  * Empty when no approvals are pending.
207
206
  *
@@ -16,7 +16,7 @@ import { file_buf_validate_validate } from "../../../../../buf/validate/validate
16
16
  /**
17
17
  * Describes the file ai/stigmer/agentic/agentexecution/v1/api.proto.
18
18
  */
19
- export const file_ai_stigmer_agentic_agentexecution_v1_api = /*@__PURE__*/ fileDesc("Ci5haS9zdGlnbWVyL2FnZW50aWMvYWdlbnRleGVjdXRpb24vdjEvYXBpLnByb3RvEiRhaS5zdGlnbWVyLmFnZW50aWMuYWdlbnRleGVjdXRpb24udjEiywIKDkFnZW50RXhlY3V0aW9uEjEKC2FwaV92ZXJzaW9uGAEgASgJQhy6SBlyFwoVYWdlbnRpYy5zdGlnbWVyLmFpL3YxEiMKBGtpbmQYAiABKAlCFbpIEnIQCg5BZ2VudEV4ZWN1dGlvbhJNCghtZXRhZGF0YRgDIAEoCzIzLmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZU1ldGFkYXRhQga6SAPIAQESRgoEc3BlYxgEIAEoCzI4LmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5BZ2VudEV4ZWN1dGlvblNwZWMSSgoGc3RhdHVzGAUgASgLMjouYWkuc3RpZ21lci5hZ2VudGljLmFnZW50ZXhlY3V0aW9uLnYxLkFnZW50RXhlY3V0aW9uU3RhdHVzIpAIChRBZ2VudEV4ZWN1dGlvblN0YXR1cxI/CgVhdWRpdBhjIAEoCzIwLmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZUF1ZGl0EkQKCG1lc3NhZ2VzGAEgAygLMjIuYWkuc3RpZ21lci5hZ2VudGljLmFnZW50ZXhlY3V0aW9uLnYxLkFnZW50TWVzc2FnZRJNCgVwaGFzZRgCIAEoDjI0LmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5FeGVjdXRpb25QaGFzZUIIukgFggECEAESQgoKdG9vbF9jYWxscxgDIAMoCzIuLmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5Ub29sQ2FsbBJVChRzdWJfYWdlbnRfZXhlY3V0aW9ucxgEIAMoCzI3LmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5TdWJBZ2VudEV4ZWN1dGlvbhINCgVlcnJvchgGIAEoCRISCgpzdGFydGVkX2F0GAcgASgJEhQKDGNvbXBsZXRlZF9hdBgIIAEoCRJUCgV0b2RvcxgJIAMoCzJFLmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5BZ2VudEV4ZWN1dGlvblN0YXR1cy5Ub2Rvc0VudHJ5EhYKDmNhbGxiYWNrX3Rva2VuGAogASgMEkEKBXVzYWdlGAsgASgLMjIuYWkuc3RpZ21lci5hZ2VudGljLmFnZW50ZXhlY3V0aW9uLnYxLlVzYWdlTWV0cmljcxJYChByZXNvbHZlZF9jb250ZXh0GAwgASgLMj4uYWkuc3RpZ21lci5hZ2VudGljLmFnZW50ZXhlY3V0aW9uLnYxLlJlc29sdmVkRXhlY3V0aW9uQ29udGV4dBJQChFwZW5kaW5nX2FwcHJvdmFscxgQIAMoCzI1LmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5QZW5kaW5nQXBwcm92YWwSRwoMY29udGV4dF9pbmZvGA4gASgLMjEuYWkuc3RpZ21lci5hZ2VudGljLmFnZW50ZXhlY3V0aW9uLnYxLkNvbnRleHRJbmZvEkoKCWFydGlmYWN0cxgPIAMoCzI3LmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5FeGVjdXRpb25BcnRpZmFjdBpcCgpUb2Rvc0VudHJ5EgsKA2tleRgBIAEoCRI9CgV2YWx1ZRgCIAEoCzIuLmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5Ub2RvSXRlbToCOAEikQEKCFRvZG9JdGVtEgoKAmlkGAEgASgJEg8KB2NvbnRlbnQYAiABKAkSQAoGc3RhdHVzGAMgASgOMjAuYWkuc3RpZ21lci5hZ2VudGljLmFnZW50ZXhlY3V0aW9uLnYxLlRvZG9TdGF0dXMSEgoKY3JlYXRlZF9hdBgEIAEoCRISCgp1cGRhdGVkX2F0GAUgASgJYgZwcm90bzM", [file_ai_stigmer_agentic_agentexecution_v1_approval, file_ai_stigmer_agentic_agentexecution_v1_artifact, file_ai_stigmer_agentic_agentexecution_v1_context, file_ai_stigmer_agentic_agentexecution_v1_enum, file_ai_stigmer_agentic_agentexecution_v1_message, file_ai_stigmer_agentic_agentexecution_v1_spec, file_ai_stigmer_agentic_agentexecution_v1_subagent, file_ai_stigmer_agentic_agentexecution_v1_usage, file_ai_stigmer_commons_apiresource_metadata, file_ai_stigmer_commons_apiresource_status, file_buf_validate_validate]);
19
+ export const file_ai_stigmer_agentic_agentexecution_v1_api = /*@__PURE__*/ fileDesc("Ci5haS9zdGlnbWVyL2FnZW50aWMvYWdlbnRleGVjdXRpb24vdjEvYXBpLnByb3RvEiRhaS5zdGlnbWVyLmFnZW50aWMuYWdlbnRleGVjdXRpb24udjEiywIKDkFnZW50RXhlY3V0aW9uEjEKC2FwaV92ZXJzaW9uGAEgASgJQhy6SBlyFwoVYWdlbnRpYy5zdGlnbWVyLmFpL3YxEiMKBGtpbmQYAiABKAlCFbpIEnIQCg5BZ2VudEV4ZWN1dGlvbhJNCghtZXRhZGF0YRgDIAEoCzIzLmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZU1ldGFkYXRhQga6SAPIAQESRgoEc3BlYxgEIAEoCzI4LmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5BZ2VudEV4ZWN1dGlvblNwZWMSSgoGc3RhdHVzGAUgASgLMjouYWkuc3RpZ21lci5hZ2VudGljLmFnZW50ZXhlY3V0aW9uLnYxLkFnZW50RXhlY3V0aW9uU3RhdHVzIswHChRBZ2VudEV4ZWN1dGlvblN0YXR1cxI/CgVhdWRpdBhjIAEoCzIwLmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZUF1ZGl0EkQKCG1lc3NhZ2VzGAEgAygLMjIuYWkuc3RpZ21lci5hZ2VudGljLmFnZW50ZXhlY3V0aW9uLnYxLkFnZW50TWVzc2FnZRJNCgVwaGFzZRgCIAEoDjI0LmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5FeGVjdXRpb25QaGFzZUIIukgFggECEAESVQoUc3ViX2FnZW50X2V4ZWN1dGlvbnMYBCADKAsyNy5haS5zdGlnbWVyLmFnZW50aWMuYWdlbnRleGVjdXRpb24udjEuU3ViQWdlbnRFeGVjdXRpb24SDQoFZXJyb3IYBiABKAkSEgoKc3RhcnRlZF9hdBgHIAEoCRIUCgxjb21wbGV0ZWRfYXQYCCABKAkSVAoFdG9kb3MYCSADKAsyRS5haS5zdGlnbWVyLmFnZW50aWMuYWdlbnRleGVjdXRpb24udjEuQWdlbnRFeGVjdXRpb25TdGF0dXMuVG9kb3NFbnRyeRIWCg5jYWxsYmFja190b2tlbhgKIAEoDBJBCgV1c2FnZRgLIAEoCzIyLmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5Vc2FnZU1ldHJpY3MSWAoQcmVzb2x2ZWRfY29udGV4dBgMIAEoCzI+LmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5SZXNvbHZlZEV4ZWN1dGlvbkNvbnRleHQSUAoRcGVuZGluZ19hcHByb3ZhbHMYECADKAsyNS5haS5zdGlnbWVyLmFnZW50aWMuYWdlbnRleGVjdXRpb24udjEuUGVuZGluZ0FwcHJvdmFsEkcKDGNvbnRleHRfaW5mbxgOIAEoCzIxLmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5Db250ZXh0SW5mbxJKCglhcnRpZmFjdHMYDyADKAsyNy5haS5zdGlnbWVyLmFnZW50aWMuYWdlbnRleGVjdXRpb24udjEuRXhlY3V0aW9uQXJ0aWZhY3QaXAoKVG9kb3NFbnRyeRILCgNrZXkYASABKAkSPQoFdmFsdWUYAiABKAsyLi5haS5zdGlnbWVyLmFnZW50aWMuYWdlbnRleGVjdXRpb24udjEuVG9kb0l0ZW06AjgBIpEBCghUb2RvSXRlbRIKCgJpZBgBIAEoCRIPCgdjb250ZW50GAIgASgJEkAKBnN0YXR1cxgDIAEoDjIwLmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5Ub2RvU3RhdHVzEhIKCmNyZWF0ZWRfYXQYBCABKAkSEgoKdXBkYXRlZF9hdBgFIAEoCWIGcHJvdG8z", [file_ai_stigmer_agentic_agentexecution_v1_approval, file_ai_stigmer_agentic_agentexecution_v1_artifact, file_ai_stigmer_agentic_agentexecution_v1_context, file_ai_stigmer_agentic_agentexecution_v1_enum, file_ai_stigmer_agentic_agentexecution_v1_message, file_ai_stigmer_agentic_agentexecution_v1_spec, file_ai_stigmer_agentic_agentexecution_v1_subagent, file_ai_stigmer_agentic_agentexecution_v1_usage, file_ai_stigmer_commons_apiresource_metadata, file_ai_stigmer_commons_apiresource_status, file_buf_validate_validate]);
20
20
  /**
21
21
  * Describes the message ai.stigmer.agentic.agentexecution.v1.AgentExecution.
22
22
  * Use `create(AgentExecutionSchema)` to create a new message.
@@ -1 +1 @@
1
- {"version":3,"file":"api_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/agentexecution/v1/api_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,oIAAoI;AACpI,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,kDAAkD,EAAE,MAAM,eAAe,CAAC;AAEnF,OAAO,EAAE,kDAAkD,EAAE,MAAM,eAAe,CAAC;AAEnF,OAAO,EAAE,iDAAiD,EAAE,MAAM,cAAc,CAAC;AAEjF,OAAO,EAAE,8CAA8C,EAAE,MAAM,WAAW,CAAC;AAE3E,OAAO,EAAE,iDAAiD,EAAE,MAAM,cAAc,CAAC;AAEjF,OAAO,EAAE,8CAA8C,EAAE,MAAM,WAAW,CAAC;AAE3E,OAAO,EAAE,kDAAkD,EAAE,MAAM,eAAe,CAAC;AAEnF,OAAO,EAAE,+CAA+C,EAAE,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAE,4CAA4C,EAAE,MAAM,0CAA0C,CAAC;AAExG,OAAO,EAAE,0CAA0C,EAAE,MAAM,wCAAwC,CAAC;AACpG,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAGrF;;GAEG;AACH,MAAM,CAAC,MAAM,6CAA6C,GAAY,aAAa,CACjF,QAAQ,CAAC,inEAAinE,EAAE,CAAC,kDAAkD,EAAE,kDAAkD,EAAE,iDAAiD,EAAE,8CAA8C,EAAE,iDAAiD,EAAE,8CAA8C,EAAE,kDAAkD,EAAE,+CAA+C,EAAE,4CAA4C,EAAE,0CAA0C,EAAE,0BAA0B,CAAC,CAAC,CAAC;AAgDzoF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA+B,aAAa,CAC3E,WAAW,CAAC,6CAA6C,EAAE,CAAC,CAAC,CAAC;AAyMhE;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAqC,aAAa,CACvF,WAAW,CAAC,6CAA6C,EAAE,CAAC,CAAC,CAAC;AA6ChE;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAyB,aAAa,CAC/D,WAAW,CAAC,6CAA6C,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"api_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/agentexecution/v1/api_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,oIAAoI;AACpI,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,kDAAkD,EAAE,MAAM,eAAe,CAAC;AAEnF,OAAO,EAAE,kDAAkD,EAAE,MAAM,eAAe,CAAC;AAEnF,OAAO,EAAE,iDAAiD,EAAE,MAAM,cAAc,CAAC;AAEjF,OAAO,EAAE,8CAA8C,EAAE,MAAM,WAAW,CAAC;AAE3E,OAAO,EAAE,iDAAiD,EAAE,MAAM,cAAc,CAAC;AAEjF,OAAO,EAAE,8CAA8C,EAAE,MAAM,WAAW,CAAC;AAE3E,OAAO,EAAE,kDAAkD,EAAE,MAAM,eAAe,CAAC;AAEnF,OAAO,EAAE,+CAA+C,EAAE,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAE,4CAA4C,EAAE,MAAM,0CAA0C,CAAC;AAExG,OAAO,EAAE,0CAA0C,EAAE,MAAM,wCAAwC,CAAC;AACpG,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAGrF;;GAEG;AACH,MAAM,CAAC,MAAM,6CAA6C,GAAY,aAAa,CACjF,QAAQ,CAAC,shEAAshE,EAAE,CAAC,kDAAkD,EAAE,kDAAkD,EAAE,iDAAiD,EAAE,8CAA8C,EAAE,iDAAiD,EAAE,8CAA8C,EAAE,kDAAkD,EAAE,+CAA+C,EAAE,4CAA4C,EAAE,0CAA0C,EAAE,0BAA0B,CAAC,CAAC,CAAC;AAgD9iF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA+B,aAAa,CAC3E,WAAW,CAAC,6CAA6C,EAAE,CAAC,CAAC,CAAC;AAuMhE;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAqC,aAAa,CACvF,WAAW,CAAC,6CAA6C,EAAE,CAAC,CAAC,CAAC;AA6ChE;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAyB,aAAa,CAC/D,WAAW,CAAC,6CAA6C,EAAE,CAAC,CAAC,CAAC"}
@@ -1,38 +1,34 @@
1
- import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
2
- import type { ApprovalAction } from "./enum_pb";
1
+ import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
3
2
  import type { Message } from "@bufbuild/protobuf";
4
3
  /**
5
4
  * Describes the file ai/stigmer/agentic/agentexecution/v1/approval.proto.
6
5
  */
7
6
  export declare const file_ai_stigmer_agentic_agentexecution_v1_approval: GenFile;
8
7
  /**
9
- * PendingApproval is the single source of truth for approval state.
8
+ * PendingApproval is a UI-facing projection computed server-side from tool
9
+ * call state in messages.
10
10
  *
11
- * ## Purpose
11
+ * ## How It Works
12
12
  *
13
- * This message tracks the full lifecycle of a single tool approval request.
14
- * Every approval-related field on ToolCall (approval_action, approval_decided_at)
15
- * is a projection of the state recorded here. When in doubt, PendingApproval
16
- * is authoritative.
17
- *
18
- * ## Lifecycle Tracking
19
- *
20
- * The lifecycle_state field tracks exactly where this approval is in the
21
- * distributed pipeline (see ApprovalLifecycleState). Each service advances
22
- * the state forward-only, making the approval flow auditable and diagnosable.
13
+ * The Go/Java UpdateStatus handlers recompute this projection on every write
14
+ * by scanning messages[].tool_calls (and sub_agent_executions[].messages[].tool_calls),
15
+ * collecting entries where status == WAITING_APPROVAL && requires_approval == true.
16
+ * Because the list is recomputed rather than merged, it is always consistent
17
+ * with the authoritative tool call state embedded in messages.
23
18
  *
24
19
  * ## Sub-Agent Approvals
25
20
  *
26
- * When a sub-agent's tool requires approval, the main agent's pending_approval
27
- * is populated with from_sub_agent=true. This allows UI to show:
21
+ * When a sub-agent's tool requires approval, the computed projection includes
22
+ * it with from_sub_agent=true and sub_agent_name set. This allows UI to show:
28
23
  * "Sub-agent 'code-reviewer' needs approval to execute 'delete_file'"
29
24
  *
30
25
  * ## Lifecycle
31
26
  *
32
27
  * 1. Tool with requires_approval=true is about to execute
33
- * 2. PendingApproval is populated, phase becomes WAITING_FOR_APPROVAL
34
- * 3. User calls SubmitApproval RPC with their decision
35
- * 4. PendingApproval is cleared, phase returns to IN_PROGRESS (or FAILED on REJECT)
28
+ * 2. Agent-runner sets ToolCall.status = WAITING_APPROVAL on the message
29
+ * 3. Server recomputes pending_approvals, entry appears
30
+ * 4. User calls SubmitApproval RPC with their decision
31
+ * 5. Agent resumes, ToolCall.status advances, next recompute drops the entry
36
32
  *
37
33
  * @generated from message ai.stigmer.agentic.agentexecution.v1.PendingApproval
38
34
  */
@@ -101,86 +97,6 @@ export type PendingApproval = Message<"ai.stigmer.agentic.agentexecution.v1.Pend
101
97
  * @generated from field: string sub_agent_name = 7;
102
98
  */
103
99
  subAgentName: string;
104
- /**
105
- * ID of the child agent execution (for workflow-level approvals only).
106
- *
107
- * Populated when this PendingApproval is surfaced at WorkflowExecution level.
108
- * Empty when pending_approval is on AgentExecution directly.
109
- *
110
- * Use this ID to forward approvals from workflow to child agent via
111
- * AgentExecution.submitApproval RPC.
112
- *
113
- * Format: "aex_abc123xyz456"
114
- *
115
- * @since Phase 5.3 (Approval Forwarding)
116
- *
117
- * @generated from field: string child_agent_execution_id = 8;
118
- */
119
- childAgentExecutionId: string;
120
- /**
121
- * LangGraph interrupt ID for targeted resume.
122
- *
123
- * When the LLM returns multiple tool calls requiring approval in a single
124
- * response, LangGraph creates one interrupt per tool. Each interrupt receives
125
- * a unique ID. On resume, `Command(resume={interrupt_id: value})` must target
126
- * the specific interrupt; otherwise LangGraph raises
127
- * "multiple pending interrupts, you must specify the interrupt id."
128
- *
129
- * Populated by the agent-runner after the event stream ends by querying
130
- * `graph.get_state(config).interrupts`. Matched to the tool call via
131
- * the interrupt's value payload (which contains tool_name).
132
- *
133
- * Empty for legacy executions or single-interrupt scenarios (backward compat).
134
- *
135
- * @since Batch Approval (Multiple Interrupts)
136
- *
137
- * @generated from field: string interrupt_id = 9;
138
- */
139
- interruptId: string;
140
- /**
141
- * Current lifecycle state of this approval.
142
- *
143
- * Tracks which service last advanced this approval and where it is in the
144
- * distributed pipeline. Forward-only: no service may move the state backward.
145
- *
146
- * UI consumers:
147
- * - REQUESTED / INTERRUPT_CAPTURED: Show approval card (action available)
148
- * - DECISION_RECORDED: Show decision badge (approval submitted, awaiting resume)
149
- * - RESUME_RECONCILED / CLEARED: Hidden (approval fully processed)
150
- *
151
- * Defaults to UNSPECIFIED for backward compatibility with existing records.
152
- *
153
- * @since HITL Approval Flow Hardening
154
- *
155
- * @generated from field: ai.stigmer.agentic.agentexecution.v1.ApprovalLifecycleState lifecycle_state = 10;
156
- */
157
- lifecycleState: ApprovalLifecycleState;
158
- /**
159
- * The approval decision recorded for this PendingApproval.
160
- *
161
- * Populated when lifecycle_state advances to DECISION_RECORDED (or later).
162
- * This is the authoritative record of the user's decision. The
163
- * ToolCall.approval_action field is a projection of this value.
164
- *
165
- * UNSPECIFIED when no decision has been made yet.
166
- *
167
- * @since HITL Approval Flow Hardening
168
- *
169
- * @generated from field: ai.stigmer.agentic.agentexecution.v1.ApprovalAction decision_action = 11;
170
- */
171
- decisionAction: ApprovalAction;
172
- /**
173
- * ISO 8601 timestamp when the approval decision was recorded.
174
- *
175
- * Populated alongside decision_action when lifecycle_state advances to
176
- * DECISION_RECORDED. The ToolCall.approval_decided_at field is a projection
177
- * of this value.
178
- *
179
- * @since HITL Approval Flow Hardening
180
- *
181
- * @generated from field: string decision_recorded_at = 12;
182
- */
183
- decisionRecordedAt: string;
184
100
  };
185
101
  /**
186
102
  * Describes the message ai.stigmer.agentic.agentexecution.v1.PendingApproval.
@@ -235,10 +151,10 @@ export type ChildApprovalNotification = Message<"ai.stigmer.agentic.agentexecuti
235
151
  *
236
152
  * Contains one entry per tool call requiring approval. Each entry carries
237
153
  * the full PendingApproval details (tool_call_id, tool_name, message,
238
- * args_preview, requested_at, interrupt_id).
154
+ * args_preview, requested_at).
239
155
  *
240
- * The child_agent_execution_id on each entry is set to execution_id above
241
- * so the parent can correlate approvals to the originating child.
156
+ * The parent workflow wraps each entry in a WorkflowPendingApproval with
157
+ * execution_id above as the child_agent_execution_id for routing.
242
158
  *
243
159
  * One signal, complete picture, no partial states.
244
160
  *
@@ -251,76 +167,3 @@ export type ChildApprovalNotification = Message<"ai.stigmer.agentic.agentexecuti
251
167
  * Use `create(ChildApprovalNotificationSchema)` to create a new message.
252
168
  */
253
169
  export declare const ChildApprovalNotificationSchema: GenMessage<ChildApprovalNotification>;
254
- /**
255
- * ApprovalLifecycleState tracks the progress of a single approval through
256
- * the distributed HITL pipeline.
257
- *
258
- * Each state transition is forward-only — no service may move the state
259
- * backward. This invariant is enforced at every service boundary and makes
260
- * the approval flow auditable and diagnosable.
261
- *
262
- * ## State Machine
263
- *
264
- * UNSPECIFIED ──► REQUESTED ──► INTERRUPT_CAPTURED ──► DECISION_RECORDED ──► RESUME_RECONCILED ──► CLEARED
265
- *
266
- * ## Service Ownership
267
- *
268
- * REQUESTED — Python agent-runner (Phase 1: _populate_pending_approval)
269
- * INTERRUPT_CAPTURED — Python agent-runner (Phase 2: INTERRUPT_CAPTURE)
270
- * DECISION_RECORDED — Go/Java approval handler (RecordApprovalDecisionStep)
271
- * RESUME_RECONCILED — Python agent-runner (RESUME_RECONCILE)
272
- * CLEARED — Go/Java update-status handler (clear-signal sentinel)
273
- *
274
- * ## Diagnostic Value
275
- *
276
- * When an approval flow is stuck, lifecycle_state immediately shows which
277
- * service last touched the record and which transition failed — no log
278
- * correlation required.
279
- *
280
- * @generated from enum ai.stigmer.agentic.agentexecution.v1.ApprovalLifecycleState
281
- */
282
- export declare enum ApprovalLifecycleState {
283
- /**
284
- * @generated from enum value: APPROVAL_LIFECYCLE_UNSPECIFIED = 0;
285
- */
286
- APPROVAL_LIFECYCLE_UNSPECIFIED = 0,
287
- /**
288
- * Phase 1: Tool detected as requiring approval, PendingApproval created.
289
- * Set by Python agent-runner in _populate_pending_approval.
290
- *
291
- * @generated from enum value: APPROVAL_LIFECYCLE_REQUESTED = 1;
292
- */
293
- APPROVAL_LIFECYCLE_REQUESTED = 1,
294
- /**
295
- * Phase 2: LangGraph interrupt_id linked to this PendingApproval.
296
- * Set by Python agent-runner in INTERRUPT_CAPTURE after the event stream.
297
- *
298
- * @generated from enum value: APPROVAL_LIFECYCLE_INTERRUPT_CAPTURED = 2;
299
- */
300
- APPROVAL_LIFECYCLE_INTERRUPT_CAPTURED = 2,
301
- /**
302
- * User submitted a decision, ToolCall updated, Temporal signal sent.
303
- * Set by Go/Java approval handler in RecordApprovalDecisionStep.
304
- *
305
- * @generated from enum value: APPROVAL_LIFECYCLE_DECISION_RECORDED = 3;
306
- */
307
- APPROVAL_LIFECYCLE_DECISION_RECORDED = 3,
308
- /**
309
- * Python read the decision, built resume_dict, reconciled tool call status.
310
- * Set by Python agent-runner in RESUME_RECONCILE.
311
- *
312
- * @generated from enum value: APPROVAL_LIFECYCLE_RESUME_RECONCILED = 4;
313
- */
314
- APPROVAL_LIFECYCLE_RESUME_RECONCILED = 4,
315
- /**
316
- * Clear-signal sentinel sent, DB cleared.
317
- * Set by Python agent-runner when appending the empty-tool_call_id sentinel.
318
- *
319
- * @generated from enum value: APPROVAL_LIFECYCLE_CLEARED = 5;
320
- */
321
- APPROVAL_LIFECYCLE_CLEARED = 5
322
- }
323
- /**
324
- * Describes the enum ai.stigmer.agentic.agentexecution.v1.ApprovalLifecycleState.
325
- */
326
- export declare const ApprovalLifecycleStateSchema: GenEnum<ApprovalLifecycleState>;
@@ -1,12 +1,11 @@
1
1
  // @generated by protoc-gen-es v2.2.2 with parameter "target=ts"
2
2
  // @generated from file ai/stigmer/agentic/agentexecution/v1/approval.proto (package ai.stigmer.agentic.agentexecution.v1, syntax proto3)
3
3
  /* eslint-disable */
4
- import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
5
- import { file_ai_stigmer_agentic_agentexecution_v1_enum } from "./enum_pb";
4
+ import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
6
5
  /**
7
6
  * Describes the file ai/stigmer/agentic/agentexecution/v1/approval.proto.
8
7
  */
9
- export const file_ai_stigmer_agentic_agentexecution_v1_approval = /*@__PURE__*/ fileDesc("CjNhaS9zdGlnbWVyL2FnZW50aWMvYWdlbnRleGVjdXRpb24vdjEvYXBwcm92YWwucHJvdG8SJGFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MSKjAwoPUGVuZGluZ0FwcHJvdmFsEhQKDHRvb2xfY2FsbF9pZBgBIAEoCRIRCgl0b29sX25hbWUYAiABKAkSDwoHbWVzc2FnZRgDIAEoCRIUCgxhcmdzX3ByZXZpZXcYBCABKAkSFAoMcmVxdWVzdGVkX2F0GAUgASgJEhYKDmZyb21fc3ViX2FnZW50GAYgASgIEhYKDnN1Yl9hZ2VudF9uYW1lGAcgASgJEiAKGGNoaWxkX2FnZW50X2V4ZWN1dGlvbl9pZBgIIAEoCRIUCgxpbnRlcnJ1cHRfaWQYCSABKAkSVQoPbGlmZWN5Y2xlX3N0YXRlGAogASgOMjwuYWkuc3RpZ21lci5hZ2VudGljLmFnZW50ZXhlY3V0aW9uLnYxLkFwcHJvdmFsTGlmZWN5Y2xlU3RhdGUSTQoPZGVjaXNpb25fYWN0aW9uGAsgASgOMjQuYWkuc3RpZ21lci5hZ2VudGljLmFnZW50ZXhlY3V0aW9uLnYxLkFwcHJvdmFsQWN0aW9uEhwKFGRlY2lzaW9uX3JlY29yZGVkX2F0GAwgASgJIoMBChlDaGlsZEFwcHJvdmFsTm90aWZpY2F0aW9uEhQKDGV4ZWN1dGlvbl9pZBgBIAEoCRJQChFwZW5kaW5nX2FwcHJvdmFscxgCIAMoCzI1LmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5QZW5kaW5nQXBwcm92YWwq/QEKFkFwcHJvdmFsTGlmZWN5Y2xlU3RhdGUSIgoeQVBQUk9WQUxfTElGRUNZQ0xFX1VOU1BFQ0lGSUVEEAASIAocQVBQUk9WQUxfTElGRUNZQ0xFX1JFUVVFU1RFRBABEikKJUFQUFJPVkFMX0xJRkVDWUNMRV9JTlRFUlJVUFRfQ0FQVFVSRUQQAhIoCiRBUFBST1ZBTF9MSUZFQ1lDTEVfREVDSVNJT05fUkVDT1JERUQQAxIoCiRBUFBST1ZBTF9MSUZFQ1lDTEVfUkVTVU1FX1JFQ09OQ0lMRUQQBBIeChpBUFBST1ZBTF9MSUZFQ1lDTEVfQ0xFQVJFRBAFYgZwcm90bzM", [file_ai_stigmer_agentic_agentexecution_v1_enum]);
8
+ export const file_ai_stigmer_agentic_agentexecution_v1_approval = /*@__PURE__*/ fileDesc("CjNhaS9zdGlnbWVyL2FnZW50aWMvYWdlbnRleGVjdXRpb24vdjEvYXBwcm92YWwucHJvdG8SJGFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MSKtAQoPUGVuZGluZ0FwcHJvdmFsEhQKDHRvb2xfY2FsbF9pZBgBIAEoCRIRCgl0b29sX25hbWUYAiABKAkSDwoHbWVzc2FnZRgDIAEoCRIUCgxhcmdzX3ByZXZpZXcYBCABKAkSFAoMcmVxdWVzdGVkX2F0GAUgASgJEhYKDmZyb21fc3ViX2FnZW50GAYgASgIEhYKDnN1Yl9hZ2VudF9uYW1lGAcgASgJSgQICBAJIoMBChlDaGlsZEFwcHJvdmFsTm90aWZpY2F0aW9uEhQKDGV4ZWN1dGlvbl9pZBgBIAEoCRJQChFwZW5kaW5nX2FwcHJvdmFscxgCIAMoCzI1LmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5QZW5kaW5nQXBwcm92YWxiBnByb3RvMw");
10
9
  /**
11
10
  * Describes the message ai.stigmer.agentic.agentexecution.v1.PendingApproval.
12
11
  * Use `create(PendingApprovalSchema)` to create a new message.
@@ -17,78 +16,4 @@ export const PendingApprovalSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_a
17
16
  * Use `create(ChildApprovalNotificationSchema)` to create a new message.
18
17
  */
19
18
  export const ChildApprovalNotificationSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_agentic_agentexecution_v1_approval, 1);
20
- /**
21
- * ApprovalLifecycleState tracks the progress of a single approval through
22
- * the distributed HITL pipeline.
23
- *
24
- * Each state transition is forward-only — no service may move the state
25
- * backward. This invariant is enforced at every service boundary and makes
26
- * the approval flow auditable and diagnosable.
27
- *
28
- * ## State Machine
29
- *
30
- * UNSPECIFIED ──► REQUESTED ──► INTERRUPT_CAPTURED ──► DECISION_RECORDED ──► RESUME_RECONCILED ──► CLEARED
31
- *
32
- * ## Service Ownership
33
- *
34
- * REQUESTED — Python agent-runner (Phase 1: _populate_pending_approval)
35
- * INTERRUPT_CAPTURED — Python agent-runner (Phase 2: INTERRUPT_CAPTURE)
36
- * DECISION_RECORDED — Go/Java approval handler (RecordApprovalDecisionStep)
37
- * RESUME_RECONCILED — Python agent-runner (RESUME_RECONCILE)
38
- * CLEARED — Go/Java update-status handler (clear-signal sentinel)
39
- *
40
- * ## Diagnostic Value
41
- *
42
- * When an approval flow is stuck, lifecycle_state immediately shows which
43
- * service last touched the record and which transition failed — no log
44
- * correlation required.
45
- *
46
- * @generated from enum ai.stigmer.agentic.agentexecution.v1.ApprovalLifecycleState
47
- */
48
- export var ApprovalLifecycleState;
49
- (function (ApprovalLifecycleState) {
50
- /**
51
- * @generated from enum value: APPROVAL_LIFECYCLE_UNSPECIFIED = 0;
52
- */
53
- ApprovalLifecycleState[ApprovalLifecycleState["APPROVAL_LIFECYCLE_UNSPECIFIED"] = 0] = "APPROVAL_LIFECYCLE_UNSPECIFIED";
54
- /**
55
- * Phase 1: Tool detected as requiring approval, PendingApproval created.
56
- * Set by Python agent-runner in _populate_pending_approval.
57
- *
58
- * @generated from enum value: APPROVAL_LIFECYCLE_REQUESTED = 1;
59
- */
60
- ApprovalLifecycleState[ApprovalLifecycleState["APPROVAL_LIFECYCLE_REQUESTED"] = 1] = "APPROVAL_LIFECYCLE_REQUESTED";
61
- /**
62
- * Phase 2: LangGraph interrupt_id linked to this PendingApproval.
63
- * Set by Python agent-runner in INTERRUPT_CAPTURE after the event stream.
64
- *
65
- * @generated from enum value: APPROVAL_LIFECYCLE_INTERRUPT_CAPTURED = 2;
66
- */
67
- ApprovalLifecycleState[ApprovalLifecycleState["APPROVAL_LIFECYCLE_INTERRUPT_CAPTURED"] = 2] = "APPROVAL_LIFECYCLE_INTERRUPT_CAPTURED";
68
- /**
69
- * User submitted a decision, ToolCall updated, Temporal signal sent.
70
- * Set by Go/Java approval handler in RecordApprovalDecisionStep.
71
- *
72
- * @generated from enum value: APPROVAL_LIFECYCLE_DECISION_RECORDED = 3;
73
- */
74
- ApprovalLifecycleState[ApprovalLifecycleState["APPROVAL_LIFECYCLE_DECISION_RECORDED"] = 3] = "APPROVAL_LIFECYCLE_DECISION_RECORDED";
75
- /**
76
- * Python read the decision, built resume_dict, reconciled tool call status.
77
- * Set by Python agent-runner in RESUME_RECONCILE.
78
- *
79
- * @generated from enum value: APPROVAL_LIFECYCLE_RESUME_RECONCILED = 4;
80
- */
81
- ApprovalLifecycleState[ApprovalLifecycleState["APPROVAL_LIFECYCLE_RESUME_RECONCILED"] = 4] = "APPROVAL_LIFECYCLE_RESUME_RECONCILED";
82
- /**
83
- * Clear-signal sentinel sent, DB cleared.
84
- * Set by Python agent-runner when appending the empty-tool_call_id sentinel.
85
- *
86
- * @generated from enum value: APPROVAL_LIFECYCLE_CLEARED = 5;
87
- */
88
- ApprovalLifecycleState[ApprovalLifecycleState["APPROVAL_LIFECYCLE_CLEARED"] = 5] = "APPROVAL_LIFECYCLE_CLEARED";
89
- })(ApprovalLifecycleState || (ApprovalLifecycleState = {}));
90
- /**
91
- * Describes the enum ai.stigmer.agentic.agentexecution.v1.ApprovalLifecycleState.
92
- */
93
- export const ApprovalLifecycleStateSchema = /*@__PURE__*/ enumDesc(file_ai_stigmer_agentic_agentexecution_v1_approval, 0);
94
19
  //# sourceMappingURL=approval_pb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"approval_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/agentexecution/v1/approval_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,yIAAyI;AACzI,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE/E,OAAO,EAAE,8CAA8C,EAAE,MAAM,WAAW,CAAC;AAG3E;;GAEG;AACH,MAAM,CAAC,MAAM,kDAAkD,GAAY,aAAa,CACtF,QAAQ,CAAC,isCAAisC,EAAE,CAAC,8CAA8C,CAAC,CAAC,CAAC;AA+LhwC;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAgC,aAAa,CAC7E,WAAW,CAAC,kDAAkD,EAAE,CAAC,CAAC,CAAC;AA+DrE;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAA0C,aAAa,CACjG,WAAW,CAAC,kDAAkD,EAAE,CAAC,CAAC,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAN,IAAY,sBA6CX;AA7CD,WAAY,sBAAsB;IAChC;;OAEG;IACH,uHAAkC,CAAA;IAElC;;;;;OAKG;IACH,mHAAgC,CAAA;IAEhC;;;;;OAKG;IACH,qIAAyC,CAAA;IAEzC;;;;;OAKG;IACH,mIAAwC,CAAA;IAExC;;;;;OAKG;IACH,mIAAwC,CAAA;IAExC;;;;;OAKG;IACH,+GAA8B,CAAA;AAChC,CAAC,EA7CW,sBAAsB,KAAtB,sBAAsB,QA6CjC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAoC,aAAa,CACxF,QAAQ,CAAC,kDAAkD,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"approval_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/agentexecution/v1/approval_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,yIAAyI;AACzI,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAGrE;;GAEG;AACH,MAAM,CAAC,MAAM,kDAAkD,GAAY,aAAa,CACtF,QAAQ,CAAC,oiBAAoiB,CAAC,CAAC;AAuGjjB;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAgC,aAAa,CAC7E,WAAW,CAAC,kDAAkD,EAAE,CAAC,CAAC,CAAC;AA+DrE;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAA0C,aAAa,CACjG,WAAW,CAAC,kDAAkD,EAAE,CAAC,CAAC,CAAC"}
@@ -264,6 +264,18 @@ export type ToolCall = Message<"ai.stigmer.agentic.agentexecution.v1.ToolCall">
264
264
  * @generated from field: string mcp_server_slug = 17;
265
265
  */
266
266
  mcpServerSlug: string;
267
+ /**
268
+ * Sanitized preview of tool arguments for UI display.
269
+ * Sensitive values (passwords, tokens, keys) are redacted.
270
+ * Populated at tool call creation time by the agent-runner.
271
+ * Used by the server-side ComputePendingApprovals projection
272
+ * and by CLI/UI for inline argument visibility.
273
+ *
274
+ * Example: '{"repository": "acme/repo", "force": true}'
275
+ *
276
+ * @generated from field: string args_preview = 18;
277
+ */
278
+ argsPreview: string;
267
279
  };
268
280
  /**
269
281
  * Describes the message ai.stigmer.agentic.agentexecution.v1.ToolCall.
@@ -8,7 +8,7 @@ import { file_google_protobuf_struct } from "@bufbuild/protobuf/wkt";
8
8
  /**
9
9
  * Describes the file ai/stigmer/agentic/agentexecution/v1/message.proto.
10
10
  */
11
- export const file_ai_stigmer_agentic_agentexecution_v1_message = /*@__PURE__*/ fileDesc("CjJhaS9zdGlnbWVyL2FnZW50aWMvYWdlbnRleGVjdXRpb24vdjEvbWVzc2FnZS5wcm90bxIkYWkuc3RpZ21lci5hZ2VudGljLmFnZW50ZXhlY3V0aW9uLnYxIqoDCgxBZ2VudE1lc3NhZ2USSQoEdHlwZRgBIAEoDjIxLmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5NZXNzYWdlVHlwZUIIukgFggECEAESDwoHY29udGVudBgCIAEoCRIRCgl0aW1lc3RhbXAYAyABKAkSQgoKdG9vbF9jYWxscxgEIAMoCzIuLmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5Ub29sQ2FsbBIpCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFAoMaXNfc3RyZWFtaW5nGAYgASgIEhMKC3Rva2VuX2NvdW50GAcgASgFEh4KFmdlbmVyYXRpb25fZHVyYXRpb25fbXMYCCABKAUSFAoMaW5wdXRfdG9rZW5zGAkgASgFEhUKDW91dHB1dF90b2tlbnMYCiABKAUSGQoRY2FjaGVfcmVhZF90b2tlbnMYCyABKAUSGgoSZXN0aW1hdGVkX2Nvc3RfdXNkGAwgASgBEg0KBW1vZGVsGA0gASgJIr0ECghUb29sQ2FsbBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEiUKBGFyZ3MYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg4KBnJlc3VsdBgEIAEoCRJOCgZzdGF0dXMYBSABKA4yNC5haS5zdGlnbWVyLmFnZW50aWMuYWdlbnRleGVjdXRpb24udjEuVG9vbENhbGxTdGF0dXNCCLpIBYIBAhABElMKEmNvbXBvbmVudF9tZXRhZGF0YRgGIAEoCzI3LmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5Db21wb25lbnRNZXRhZGF0YRISCgpzdGFydGVkX2F0GAcgASgJEhQKDGNvbXBsZXRlZF9hdBgIIAEoCRINCgVlcnJvchgJIAEoCRIZChFyZXF1aXJlc19hcHByb3ZhbBgKIAEoCBIYChBhcHByb3ZhbF9tZXNzYWdlGAsgASgJEh0KFWFwcHJvdmFsX3JlcXVlc3RlZF9hdBgMIAEoCRIbChNhcHByb3ZhbF9kZWNpZGVkX2F0GA0gASgJEhMKC2FwcHJvdmVkX2J5GA4gASgJEk0KD2FwcHJvdmFsX2FjdGlvbhgPIAEoDjI0LmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5BcHByb3ZhbEFjdGlvbhIUCgxpc19zdHJlYW1pbmcYECABKAgSFwoPbWNwX3NlcnZlcl9zbHVnGBEgASgJIoQBChFDb21wb25lbnRNZXRhZGF0YRIWCg5jb21wb25lbnRfdHlwZRgBIAEoCRIXCg9jb21wb25lbnRfZ3JvdXAYAiABKAkSEwoLbGF5b3V0X2hpbnQYAyABKAkSKQoIbWV0YWRhdGEYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0YgZwcm90bzM", [file_ai_stigmer_agentic_agentexecution_v1_enum, file_buf_validate_validate, file_google_protobuf_struct]);
11
+ export const file_ai_stigmer_agentic_agentexecution_v1_message = /*@__PURE__*/ fileDesc("CjJhaS9zdGlnbWVyL2FnZW50aWMvYWdlbnRleGVjdXRpb24vdjEvbWVzc2FnZS5wcm90bxIkYWkuc3RpZ21lci5hZ2VudGljLmFnZW50ZXhlY3V0aW9uLnYxIqoDCgxBZ2VudE1lc3NhZ2USSQoEdHlwZRgBIAEoDjIxLmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5NZXNzYWdlVHlwZUIIukgFggECEAESDwoHY29udGVudBgCIAEoCRIRCgl0aW1lc3RhbXAYAyABKAkSQgoKdG9vbF9jYWxscxgEIAMoCzIuLmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5Ub29sQ2FsbBIpCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFAoMaXNfc3RyZWFtaW5nGAYgASgIEhMKC3Rva2VuX2NvdW50GAcgASgFEh4KFmdlbmVyYXRpb25fZHVyYXRpb25fbXMYCCABKAUSFAoMaW5wdXRfdG9rZW5zGAkgASgFEhUKDW91dHB1dF90b2tlbnMYCiABKAUSGQoRY2FjaGVfcmVhZF90b2tlbnMYCyABKAUSGgoSZXN0aW1hdGVkX2Nvc3RfdXNkGAwgASgBEg0KBW1vZGVsGA0gASgJItMECghUb29sQ2FsbBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEiUKBGFyZ3MYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg4KBnJlc3VsdBgEIAEoCRJOCgZzdGF0dXMYBSABKA4yNC5haS5zdGlnbWVyLmFnZW50aWMuYWdlbnRleGVjdXRpb24udjEuVG9vbENhbGxTdGF0dXNCCLpIBYIBAhABElMKEmNvbXBvbmVudF9tZXRhZGF0YRgGIAEoCzI3LmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5Db21wb25lbnRNZXRhZGF0YRISCgpzdGFydGVkX2F0GAcgASgJEhQKDGNvbXBsZXRlZF9hdBgIIAEoCRINCgVlcnJvchgJIAEoCRIZChFyZXF1aXJlc19hcHByb3ZhbBgKIAEoCBIYChBhcHByb3ZhbF9tZXNzYWdlGAsgASgJEh0KFWFwcHJvdmFsX3JlcXVlc3RlZF9hdBgMIAEoCRIbChNhcHByb3ZhbF9kZWNpZGVkX2F0GA0gASgJEhMKC2FwcHJvdmVkX2J5GA4gASgJEk0KD2FwcHJvdmFsX2FjdGlvbhgPIAEoDjI0LmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5BcHByb3ZhbEFjdGlvbhIUCgxpc19zdHJlYW1pbmcYECABKAgSFwoPbWNwX3NlcnZlcl9zbHVnGBEgASgJEhQKDGFyZ3NfcHJldmlldxgSIAEoCSKEAQoRQ29tcG9uZW50TWV0YWRhdGESFgoOY29tcG9uZW50X3R5cGUYASABKAkSFwoPY29tcG9uZW50X2dyb3VwGAIgASgJEhMKC2xheW91dF9oaW50GAMgASgJEikKCG1ldGFkYXRhGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdGIGcHJvdG8z", [file_ai_stigmer_agentic_agentexecution_v1_enum, file_buf_validate_validate, file_google_protobuf_struct]);
12
12
  /**
13
13
  * Describes the message ai.stigmer.agentic.agentexecution.v1.AgentMessage.
14
14
  * Use `create(AgentMessageSchema)` to create a new message.
@@ -1 +1 @@
1
- {"version":3,"file":"message_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/agentexecution/v1/message_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,wIAAwI;AACxI,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,8CAA8C,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAGrE;;GAEG;AACH,MAAM,CAAC,MAAM,iDAAiD,GAAY,aAAa,CACrF,QAAQ,CAAC,qnDAAqnD,EAAE,CAAC,8CAA8C,EAAE,0BAA0B,EAAE,2BAA2B,CAAC,CAAC,CAAC;AAqH7uD;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA6B,aAAa,CACvE,WAAW,CAAC,iDAAiD,EAAE,CAAC,CAAC,CAAC;AA4KpE;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAyB,aAAa,CAC/D,WAAW,CAAC,iDAAiD,EAAE,CAAC,CAAC,CAAC;AA6CpE;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAkC,aAAa,CACjF,WAAW,CAAC,iDAAiD,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"message_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/agentexecution/v1/message_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,wIAAwI;AACxI,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,8CAA8C,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAGrE;;GAEG;AACH,MAAM,CAAC,MAAM,iDAAiD,GAAY,aAAa,CACrF,QAAQ,CAAC,kpDAAkpD,EAAE,CAAC,8CAA8C,EAAE,0BAA0B,EAAE,2BAA2B,CAAC,CAAC,CAAC;AAqH1wD;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA6B,aAAa,CACvE,WAAW,CAAC,iDAAiD,EAAE,CAAC,CAAC,CAAC;AAyLpE;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAyB,aAAa,CAC/D,WAAW,CAAC,iDAAiD,EAAE,CAAC,CAAC,CAAC;AA6CpE;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAkC,aAAa,CACjF,WAAW,CAAC,iDAAiD,EAAE,CAAC,CAAC,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
2
- import type { PendingApproval } from "./approval_pb";
3
2
  import type { SubAgentStatus } from "./enum_pb";
4
- import type { AgentMessage, ToolCall } from "./message_pb";
3
+ import type { AgentMessage } from "./message_pb";
5
4
  import type { UsageMetrics } from "./usage_pb";
6
5
  import type { JsonObject, Message } from "@bufbuild/protobuf";
7
6
  /**
@@ -78,17 +77,10 @@ export type SubAgentExecution = Message<"ai.stigmer.agentic.agentexecution.v1.Su
78
77
  * @generated from field: google.protobuf.Struct metadata = 9;
79
78
  */
80
79
  metadata?: JsonObject;
81
- /**
82
- * Tool calls made by this sub-agent.
83
- * Captures the sub-agent's internal tool invocations separately from main agent.
84
- * Enables debugging when sub-agent fails (e.g., "failed on 8th tool call").
85
- *
86
- * @generated from field: repeated ai.stigmer.agentic.agentexecution.v1.ToolCall tool_calls = 10;
87
- */
88
- toolCalls: ToolCall[];
89
80
  /**
90
81
  * Messages generated by this sub-agent.
91
82
  * Captures AI responses and tool results within the sub-agent context.
83
+ * Tool calls are embedded in AI messages via AgentMessage.tool_calls.
92
84
  * Ordered chronologically like AgentExecutionStatus.messages.
93
85
  *
94
86
  * @generated from field: repeated ai.stigmer.agentic.agentexecution.v1.AgentMessage messages = 11;
@@ -113,14 +105,6 @@ export type SubAgentExecution = Message<"ai.stigmer.agentic.agentexecution.v1.Su
113
105
  * @generated from field: string subject = 13;
114
106
  */
115
107
  subject: string;
116
- /**
117
- * Approval requests pending within this sub-agent's tool calls.
118
- * Also surfaced at parent AgentExecutionStatus.pending_approvals for
119
- * top-level visibility. Cleared when the approval is resolved.
120
- *
121
- * @generated from field: repeated ai.stigmer.agentic.agentexecution.v1.PendingApproval pending_approvals = 14;
122
- */
123
- pendingApprovals: PendingApproval[];
124
108
  };
125
109
  /**
126
110
  * Describes the message ai.stigmer.agentic.agentexecution.v1.SubAgentExecution.
@@ -2,7 +2,6 @@
2
2
  // @generated from file ai/stigmer/agentic/agentexecution/v1/subagent.proto (package ai.stigmer.agentic.agentexecution.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
  import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
5
- import { file_ai_stigmer_agentic_agentexecution_v1_approval } from "./approval_pb";
6
5
  import { file_ai_stigmer_agentic_agentexecution_v1_enum } from "./enum_pb";
7
6
  import { file_ai_stigmer_agentic_agentexecution_v1_message } from "./message_pb";
8
7
  import { file_ai_stigmer_agentic_agentexecution_v1_usage } from "./usage_pb";
@@ -11,7 +10,7 @@ import { file_google_protobuf_struct } from "@bufbuild/protobuf/wkt";
11
10
  /**
12
11
  * Describes the file ai/stigmer/agentic/agentexecution/v1/subagent.proto.
13
12
  */
14
- export const file_ai_stigmer_agentic_agentexecution_v1_subagent = /*@__PURE__*/ fileDesc("CjNhaS9zdGlnbWVyL2FnZW50aWMvYWdlbnRleGVjdXRpb24vdjEvc3ViYWdlbnQucHJvdG8SJGFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MSKwBAoRU3ViQWdlbnRFeGVjdXRpb24SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRINCgVpbnB1dBgDIAEoCRIOCgZvdXRwdXQYBCABKAkSTgoGc3RhdHVzGAUgASgOMjQuYWkuc3RpZ21lci5hZ2VudGljLmFnZW50ZXhlY3V0aW9uLnYxLlN1YkFnZW50U3RhdHVzQgi6SAWCAQIQARISCgpzdGFydGVkX2F0GAYgASgJEhQKDGNvbXBsZXRlZF9hdBgHIAEoCRINCgVlcnJvchgIIAEoCRIpCghtZXRhZGF0YRgJIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSQgoKdG9vbF9jYWxscxgKIAMoCzIuLmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5Ub29sQ2FsbBJECghtZXNzYWdlcxgLIAMoCzIyLmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5BZ2VudE1lc3NhZ2USQQoFdXNhZ2UYDCABKAsyMi5haS5zdGlnbWVyLmFnZW50aWMuYWdlbnRleGVjdXRpb24udjEuVXNhZ2VNZXRyaWNzEg8KB3N1YmplY3QYDSABKAkSUAoRcGVuZGluZ19hcHByb3ZhbHMYDiADKAsyNS5haS5zdGlnbWVyLmFnZW50aWMuYWdlbnRleGVjdXRpb24udjEuUGVuZGluZ0FwcHJvdmFsYgZwcm90bzM", [file_ai_stigmer_agentic_agentexecution_v1_approval, file_ai_stigmer_agentic_agentexecution_v1_enum, file_ai_stigmer_agentic_agentexecution_v1_message, file_ai_stigmer_agentic_agentexecution_v1_usage, file_buf_validate_validate, file_google_protobuf_struct]);
13
+ export const file_ai_stigmer_agentic_agentexecution_v1_subagent = /*@__PURE__*/ fileDesc("CjNhaS9zdGlnbWVyL2FnZW50aWMvYWdlbnRleGVjdXRpb24vdjEvc3ViYWdlbnQucHJvdG8SJGFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MSKaAwoRU3ViQWdlbnRFeGVjdXRpb24SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRINCgVpbnB1dBgDIAEoCRIOCgZvdXRwdXQYBCABKAkSTgoGc3RhdHVzGAUgASgOMjQuYWkuc3RpZ21lci5hZ2VudGljLmFnZW50ZXhlY3V0aW9uLnYxLlN1YkFnZW50U3RhdHVzQgi6SAWCAQIQARISCgpzdGFydGVkX2F0GAYgASgJEhQKDGNvbXBsZXRlZF9hdBgHIAEoCRINCgVlcnJvchgIIAEoCRIpCghtZXRhZGF0YRgJIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSRAoIbWVzc2FnZXMYCyADKAsyMi5haS5zdGlnbWVyLmFnZW50aWMuYWdlbnRleGVjdXRpb24udjEuQWdlbnRNZXNzYWdlEkEKBXVzYWdlGAwgASgLMjIuYWkuc3RpZ21lci5hZ2VudGljLmFnZW50ZXhlY3V0aW9uLnYxLlVzYWdlTWV0cmljcxIPCgdzdWJqZWN0GA0gASgJYgZwcm90bzM", [file_ai_stigmer_agentic_agentexecution_v1_enum, file_ai_stigmer_agentic_agentexecution_v1_message, file_ai_stigmer_agentic_agentexecution_v1_usage, file_buf_validate_validate, file_google_protobuf_struct]);
15
14
  /**
16
15
  * Describes the message ai.stigmer.agentic.agentexecution.v1.SubAgentExecution.
17
16
  * Use `create(SubAgentExecutionSchema)` to create a new message.
@@ -1 +1 @@
1
- {"version":3,"file":"subagent_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/agentexecution/v1/subagent_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,yIAAyI;AACzI,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,kDAAkD,EAAE,MAAM,eAAe,CAAC;AAEnF,OAAO,EAAE,8CAA8C,EAAE,MAAM,WAAW,CAAC;AAE3E,OAAO,EAAE,iDAAiD,EAAE,MAAM,cAAc,CAAC;AAEjF,OAAO,EAAE,+CAA+C,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAGrE;;GAEG;AACH,MAAM,CAAC,MAAM,kDAAkD,GAAY,aAAa,CACtF,QAAQ,CAAC,q3BAAq3B,EAAE,CAAC,kDAAkD,EAAE,8CAA8C,EAAE,iDAAiD,EAAE,+CAA+C,EAAE,0BAA0B,EAAE,2BAA2B,CAAC,CAAC,CAAC;AAkIroC;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAkC,aAAa,CACjF,WAAW,CAAC,kDAAkD,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"subagent_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/agentexecution/v1/subagent_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,yIAAyI;AACzI,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,8CAA8C,EAAE,MAAM,WAAW,CAAC;AAE3E,OAAO,EAAE,iDAAiD,EAAE,MAAM,cAAc,CAAC;AAEjF,OAAO,EAAE,+CAA+C,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAGrE;;GAEG;AACH,MAAM,CAAC,MAAM,kDAAkD,GAAY,aAAa,CACtF,QAAQ,CAAC,6qBAA6qB,EAAE,CAAC,8CAA8C,EAAE,iDAAiD,EAAE,+CAA+C,EAAE,0BAA0B,EAAE,2BAA2B,CAAC,CAAC,CAAC;AAiHz4B;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAkC,aAAa,CACjF,WAAW,CAAC,kDAAkD,EAAE,CAAC,CAAC,CAAC"}
@@ -379,27 +379,18 @@ export type WorkflowExecutionStatus = Message<"ai.stigmer.agentic.workflowexecut
379
379
  */
380
380
  temporalWorkflowId: string;
381
381
  /**
382
- * Pending approvals from child agent tool executions (HITL Phase 5).
382
+ * Pending approvals from child agent tool executions (HITL).
383
383
  *
384
384
  * Populated when workflow tasks invoke agents that enter
385
385
  * EXECUTION_WAITING_FOR_APPROVAL phase. This surfaces all approval
386
386
  * requests at the workflow level for UI visibility.
387
387
  *
388
- * ## When This Is Populated
388
+ * ## Full-Replace Protocol
389
389
  *
390
- * - At least one task has status WORKFLOW_TASK_WAITING_APPROVAL
391
- * - One or more child AgentExecutions have phase EXECUTION_WAITING_FOR_APPROVAL
392
- * - UI should display approval prompts to the user
393
- * - User can submit approval via WorkflowExecution or AgentExecution API
394
- *
395
- * ## Lifecycle
396
- *
397
- * 1. Child agent enters WAITING_FOR_APPROVAL (tool(s) require approval)
398
- * 2. Child signals parent workflow via Temporal "child_approval_required"
399
- * 3. Workflow updates task status and populates this field with all entries
400
- * 4. Each entry's child_agent_execution_id identifies the originating child
401
- * 5. User submits approvals via WorkflowExecution.SubmitApproval or AgentExecution.SubmitApproval
402
- * 6. Entries are cleared when the child agent completes
390
+ * The workflow-runner always sends the complete set of pending approvals
391
+ * via UpdateStatus. The server replaces the stored list unconditionally:
392
+ * - Non-empty list: child agent(s) need approval
393
+ * - Empty list: all approvals resolved, clear the field
403
394
  *
404
395
  * ## Parallel Agents
405
396
  *
@@ -407,23 +398,50 @@ export type WorkflowExecutionStatus = Message<"ai.stigmer.agentic.workflowexecut
407
398
  * accumulate in this list. Each entry's child_agent_execution_id distinguishes
408
399
  * the source.
409
400
  *
410
- * ## Type Reference
411
- *
412
- * Uses PendingApproval from agentexecution/v1/api.proto for consistency.
413
- * Contains: tool_call_id, tool_name, message, args_preview, requested_at,
414
- * child_agent_execution_id, interrupt_id.
415
- *
416
- * @since Phase 5.1 (Events-Based Approval Notification)
417
- *
418
- * @generated from field: repeated ai.stigmer.agentic.agentexecution.v1.PendingApproval pending_approvals = 9;
401
+ * @generated from field: repeated ai.stigmer.agentic.workflowexecution.v1.WorkflowPendingApproval pending_approvals = 9;
419
402
  */
420
- pendingApprovals: PendingApproval[];
403
+ pendingApprovals: WorkflowPendingApproval[];
421
404
  };
422
405
  /**
423
406
  * Describes the message ai.stigmer.agentic.workflowexecution.v1.WorkflowExecutionStatus.
424
407
  * Use `create(WorkflowExecutionStatusSchema)` to create a new message.
425
408
  */
426
409
  export declare const WorkflowExecutionStatusSchema: GenMessage<WorkflowExecutionStatus>;
410
+ /**
411
+ * WorkflowPendingApproval wraps a PendingApproval from a child agent execution
412
+ * with the routing information needed for workflow-level approval forwarding.
413
+ *
414
+ * PendingApproval is an agentexecution domain type — it describes what tool
415
+ * needs approval. WorkflowPendingApproval adds the workflow-level concern:
416
+ * which child agent execution the approval should be forwarded to.
417
+ *
418
+ * @generated from message ai.stigmer.agentic.workflowexecution.v1.WorkflowPendingApproval
419
+ */
420
+ export type WorkflowPendingApproval = Message<"ai.stigmer.agentic.workflowexecution.v1.WorkflowPendingApproval"> & {
421
+ /**
422
+ * The approval details projected from the child agent's tool call state.
423
+ *
424
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.PendingApproval approval = 1;
425
+ */
426
+ approval?: PendingApproval;
427
+ /**
428
+ * Child agent execution to forward the approval to.
429
+ *
430
+ * Set by the workflow-runner when surfacing child agent approvals
431
+ * at the workflow level. WorkflowExecution.SubmitApproval uses this
432
+ * to route the decision to the correct AgentExecution.SubmitApproval RPC.
433
+ *
434
+ * Format: AgentExecution.metadata.id (e.g., "aex_abc123xyz456")
435
+ *
436
+ * @generated from field: string child_agent_execution_id = 2;
437
+ */
438
+ childAgentExecutionId: string;
439
+ };
440
+ /**
441
+ * Describes the message ai.stigmer.agentic.workflowexecution.v1.WorkflowPendingApproval.
442
+ * Use `create(WorkflowPendingApprovalSchema)` to create a new message.
443
+ */
444
+ export declare const WorkflowPendingApprovalSchema: GenMessage<WorkflowPendingApproval>;
427
445
  /**
428
446
  * WorkflowTask represents a single task within a workflow execution.
429
447
  *
@@ -12,7 +12,7 @@ import { file_google_protobuf_struct } from "@bufbuild/protobuf/wkt";
12
12
  /**
13
13
  * Describes the file ai/stigmer/agentic/workflowexecution/v1/api.proto.
14
14
  */
15
- export const file_ai_stigmer_agentic_workflowexecution_v1_api = /*@__PURE__*/ fileDesc("CjFhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3dleGVjdXRpb24vdjEvYXBpLnByb3RvEidhaS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3dleGVjdXRpb24udjEi3QIKEVdvcmtmbG93RXhlY3V0aW9uEjEKC2FwaV92ZXJzaW9uGAEgASgJQhy6SBlyFwoVYWdlbnRpYy5zdGlnbWVyLmFpL3YxEiYKBGtpbmQYAiABKAlCGLpIFXITChFXb3JrZmxvd0V4ZWN1dGlvbhJNCghtZXRhZGF0YRgDIAEoCzIzLmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZU1ldGFkYXRhQga6SAPIAQESTAoEc3BlYxgEIAEoCzI+LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5Xb3JrZmxvd0V4ZWN1dGlvblNwZWMSUAoGc3RhdHVzGAUgASgLMkAuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLldvcmtmbG93RXhlY3V0aW9uU3RhdHVzIsQDChdXb3JrZmxvd0V4ZWN1dGlvblN0YXR1cxI/CgVhdWRpdBhjIAEoCzIwLmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZUF1ZGl0ElAKBXBoYXNlGAEgASgOMjcuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLkV4ZWN1dGlvblBoYXNlQgi6SAWCAQIQARJECgV0YXNrcxgCIAMoCzI1LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5Xb3JrZmxvd1Rhc2sSJwoGb3V0cHV0GAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBINCgVlcnJvchgEIAEoCRISCgpzdGFydGVkX2F0GAUgASgJEhQKDGNvbXBsZXRlZF9hdBgGIAEoCRIcChR0ZW1wb3JhbF93b3JrZmxvd19pZBgHIAEoCRJQChFwZW5kaW5nX2FwcHJvdmFscxgJIAMoCzI1LmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5QZW5kaW5nQXBwcm92YWwilgMKDFdvcmtmbG93VGFzaxIPCgd0YXNrX2lkGAEgASgJEhEKCXRhc2tfbmFtZRgCIAEoCRJWCgl0YXNrX3R5cGUYAyABKA4yOS5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3dleGVjdXRpb24udjEuV29ya2Zsb3dUYXNrVHlwZUIIukgFggECEAESJgoFaW5wdXQYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EicKBm91dHB1dBgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSVQoGc3RhdHVzGAYgASgOMjsuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLldvcmtmbG93VGFza1N0YXR1c0IIukgFggECEAESEgoKc3RhcnRlZF9hdBgHIAEoCRIUCgxjb21wbGV0ZWRfYXQYCCABKAkSDQoFZXJyb3IYCSABKAkSKQoIbWV0YWRhdGEYCiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0YgZwcm90bzM", [file_ai_stigmer_agentic_agentexecution_v1_approval, file_ai_stigmer_agentic_workflowexecution_v1_enum, file_ai_stigmer_agentic_workflowexecution_v1_spec, file_ai_stigmer_commons_apiresource_metadata, file_ai_stigmer_commons_apiresource_status, file_buf_validate_validate, file_google_protobuf_struct]);
15
+ export const file_ai_stigmer_agentic_workflowexecution_v1_api = /*@__PURE__*/ fileDesc("CjFhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3dleGVjdXRpb24vdjEvYXBpLnByb3RvEidhaS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3dleGVjdXRpb24udjEi3QIKEVdvcmtmbG93RXhlY3V0aW9uEjEKC2FwaV92ZXJzaW9uGAEgASgJQhy6SBlyFwoVYWdlbnRpYy5zdGlnbWVyLmFpL3YxEiYKBGtpbmQYAiABKAlCGLpIFXITChFXb3JrZmxvd0V4ZWN1dGlvbhJNCghtZXRhZGF0YRgDIAEoCzIzLmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZU1ldGFkYXRhQga6SAPIAQESTAoEc3BlYxgEIAEoCzI+LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5Xb3JrZmxvd0V4ZWN1dGlvblNwZWMSUAoGc3RhdHVzGAUgASgLMkAuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLldvcmtmbG93RXhlY3V0aW9uU3RhdHVzIs8DChdXb3JrZmxvd0V4ZWN1dGlvblN0YXR1cxI/CgVhdWRpdBhjIAEoCzIwLmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZUF1ZGl0ElAKBXBoYXNlGAEgASgOMjcuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLkV4ZWN1dGlvblBoYXNlQgi6SAWCAQIQARJECgV0YXNrcxgCIAMoCzI1LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5Xb3JrZmxvd1Rhc2sSJwoGb3V0cHV0GAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBINCgVlcnJvchgEIAEoCRISCgpzdGFydGVkX2F0GAUgASgJEhQKDGNvbXBsZXRlZF9hdBgGIAEoCRIcChR0ZW1wb3JhbF93b3JrZmxvd19pZBgHIAEoCRJbChFwZW5kaW5nX2FwcHJvdmFscxgJIAMoCzJALmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5Xb3JrZmxvd1BlbmRpbmdBcHByb3ZhbCKEAQoXV29ya2Zsb3dQZW5kaW5nQXBwcm92YWwSRwoIYXBwcm92YWwYASABKAsyNS5haS5zdGlnbWVyLmFnZW50aWMuYWdlbnRleGVjdXRpb24udjEuUGVuZGluZ0FwcHJvdmFsEiAKGGNoaWxkX2FnZW50X2V4ZWN1dGlvbl9pZBgCIAEoCSKWAwoMV29ya2Zsb3dUYXNrEg8KB3Rhc2tfaWQYASABKAkSEQoJdGFza19uYW1lGAIgASgJElYKCXRhc2tfdHlwZRgDIAEoDjI5LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5Xb3JrZmxvd1Rhc2tUeXBlQgi6SAWCAQIQARImCgVpbnB1dBgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSJwoGb3V0cHV0GAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBJVCgZzdGF0dXMYBiABKA4yOy5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3dleGVjdXRpb24udjEuV29ya2Zsb3dUYXNrU3RhdHVzQgi6SAWCAQIQARISCgpzdGFydGVkX2F0GAcgASgJEhQKDGNvbXBsZXRlZF9hdBgIIAEoCRINCgVlcnJvchgJIAEoCRIpCghtZXRhZGF0YRgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RiBnByb3RvMw", [file_ai_stigmer_agentic_agentexecution_v1_approval, file_ai_stigmer_agentic_workflowexecution_v1_enum, file_ai_stigmer_agentic_workflowexecution_v1_spec, file_ai_stigmer_commons_apiresource_metadata, file_ai_stigmer_commons_apiresource_status, file_buf_validate_validate, file_google_protobuf_struct]);
16
16
  /**
17
17
  * Describes the message ai.stigmer.agentic.workflowexecution.v1.WorkflowExecution.
18
18
  * Use `create(WorkflowExecutionSchema)` to create a new message.
@@ -23,9 +23,14 @@ export const WorkflowExecutionSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer
23
23
  * Use `create(WorkflowExecutionStatusSchema)` to create a new message.
24
24
  */
25
25
  export const WorkflowExecutionStatusSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_agentic_workflowexecution_v1_api, 1);
26
+ /**
27
+ * Describes the message ai.stigmer.agentic.workflowexecution.v1.WorkflowPendingApproval.
28
+ * Use `create(WorkflowPendingApprovalSchema)` to create a new message.
29
+ */
30
+ export const WorkflowPendingApprovalSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_agentic_workflowexecution_v1_api, 2);
26
31
  /**
27
32
  * Describes the message ai.stigmer.agentic.workflowexecution.v1.WorkflowTask.
28
33
  * Use `create(WorkflowTaskSchema)` to create a new message.
29
34
  */
30
- export const WorkflowTaskSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_agentic_workflowexecution_v1_api, 2);
35
+ export const WorkflowTaskSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_agentic_workflowexecution_v1_api, 3);
31
36
  //# sourceMappingURL=api_pb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/workflowexecution/v1/api_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,0IAA0I;AAC1I,oBAAoB;AAYpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,kDAAkD,EAAE,MAAM,qCAAqC,CAAC;AAEzG,OAAO,EAAE,iDAAiD,EAAE,MAAM,WAAW,CAAC;AAE9E,OAAO,EAAE,iDAAiD,EAAE,MAAM,WAAW,CAAC;AAE9E,OAAO,EAAE,4CAA4C,EAAE,MAAM,0CAA0C,CAAC;AAExG,OAAO,EAAE,0CAA0C,EAAE,MAAM,wCAAwC,CAAC;AACpG,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAGrE;;GAEG;AACH,MAAM,CAAC,MAAM,gDAAgD,GAAY,aAAa,CACpF,QAAQ,CAAC,6tDAA6tD,EAAE,CAAC,kDAAkD,EAAE,iDAAiD,EAAE,iDAAiD,EAAE,4CAA4C,EAAE,0CAA0C,EAAE,0BAA0B,EAAE,2BAA2B,CAAC,CAAC,CAAC;AAoJzhE;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAkC,aAAa,CACjF,WAAW,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC;AAmRnE;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAwC,aAAa,CAC7F,WAAW,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC;AAySnE;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA6B,aAAa,CACvE,WAAW,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"api_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/workflowexecution/v1/api_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,0IAA0I;AAC1I,oBAAoB;AAYpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,kDAAkD,EAAE,MAAM,qCAAqC,CAAC;AAEzG,OAAO,EAAE,iDAAiD,EAAE,MAAM,WAAW,CAAC;AAE9E,OAAO,EAAE,iDAAiD,EAAE,MAAM,WAAW,CAAC;AAE9E,OAAO,EAAE,4CAA4C,EAAE,MAAM,0CAA0C,CAAC;AAExG,OAAO,EAAE,0CAA0C,EAAE,MAAM,wCAAwC,CAAC;AACpG,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAGrE;;GAEG;AACH,MAAM,CAAC,MAAM,gDAAgD,GAAY,aAAa,CACpF,QAAQ,CAAC,g6DAAg6D,EAAE,CAAC,kDAAkD,EAAE,iDAAiD,EAAE,iDAAiD,EAAE,4CAA4C,EAAE,0CAA0C,EAAE,0BAA0B,EAAE,2BAA2B,CAAC,CAAC,CAAC;AAoJ5tE;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAkC,aAAa,CACjF,WAAW,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC;AAkQnE;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAwC,aAAa,CAC7F,WAAW,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC;AAkCnE;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAwC,aAAa,CAC7F,WAAW,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC;AAySnE;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA6B,aAAa,CACvE,WAAW,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stigmer/protos",
3
- "version": "0.0.49",
3
+ "version": "0.0.50",
4
4
  "description": "Generated TypeScript protobuf stubs for Stigmer APIs",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",