@stigmer/protos 3.1.17 → 3.2.0

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.
Files changed (59) hide show
  1. package/ai/stigmer/agentic/agentchannel/v1/command_connect.d.ts +37 -6
  2. package/ai/stigmer/agentic/agentchannel/v1/command_connect.js +37 -6
  3. package/ai/stigmer/agentic/agentchannel/v1/command_connect.js.map +1 -1
  4. package/ai/stigmer/agentic/agentchannel/v1/command_pb.d.ts +37 -6
  5. package/ai/stigmer/agentic/agentchannel/v1/command_pb.js.map +1 -1
  6. package/ai/stigmer/agentic/agentchannel/v1/delivery_pb.d.ts +40 -0
  7. package/ai/stigmer/agentic/agentchannel/v1/delivery_pb.js +6 -1
  8. package/ai/stigmer/agentic/agentchannel/v1/delivery_pb.js.map +1 -1
  9. package/ai/stigmer/agentic/agentchannel/v1/io_pb.d.ts +22 -3
  10. package/ai/stigmer/agentic/agentchannel/v1/io_pb.js +1 -1
  11. package/ai/stigmer/agentic/agentchannel/v1/io_pb.js.map +1 -1
  12. package/ai/stigmer/agentic/agentchannel/v1/spec_pb.d.ts +100 -2
  13. package/ai/stigmer/agentic/agentchannel/v1/spec_pb.js +6 -1
  14. package/ai/stigmer/agentic/agentchannel/v1/spec_pb.js.map +1 -1
  15. package/ai/stigmer/agentic/agentchannel/v1/status_pb.d.ts +87 -0
  16. package/ai/stigmer/agentic/agentchannel/v1/status_pb.js +6 -1
  17. package/ai/stigmer/agentic/agentchannel/v1/status_pb.js.map +1 -1
  18. package/ai/stigmer/agentic/channelapp/v1/api_pb.d.ts +68 -0
  19. package/ai/stigmer/agentic/channelapp/v1/api_pb.js +18 -0
  20. package/ai/stigmer/agentic/channelapp/v1/api_pb.js.map +1 -0
  21. package/ai/stigmer/agentic/channelapp/v1/command_connect.d.ts +93 -0
  22. package/ai/stigmer/agentic/channelapp/v1/command_connect.js +101 -0
  23. package/ai/stigmer/agentic/channelapp/v1/command_connect.js.map +1 -0
  24. package/ai/stigmer/agentic/channelapp/v1/command_pb.d.ts +93 -0
  25. package/ai/stigmer/agentic/channelapp/v1/command_pb.js +25 -0
  26. package/ai/stigmer/agentic/channelapp/v1/command_pb.js.map +1 -0
  27. package/ai/stigmer/agentic/channelapp/v1/io_pb.d.ts +44 -0
  28. package/ai/stigmer/agentic/channelapp/v1/io_pb.js +21 -0
  29. package/ai/stigmer/agentic/channelapp/v1/io_pb.js.map +1 -0
  30. package/ai/stigmer/agentic/channelapp/v1/query_connect.d.ts +70 -0
  31. package/ai/stigmer/agentic/channelapp/v1/query_connect.js +79 -0
  32. package/ai/stigmer/agentic/channelapp/v1/query_connect.js.map +1 -0
  33. package/ai/stigmer/agentic/channelapp/v1/query_pb.d.ts +72 -0
  34. package/ai/stigmer/agentic/channelapp/v1/query_pb.js +27 -0
  35. package/ai/stigmer/agentic/channelapp/v1/query_pb.js.map +1 -0
  36. package/ai/stigmer/agentic/channelapp/v1/spec_pb.d.ts +165 -0
  37. package/ai/stigmer/agentic/channelapp/v1/spec_pb.js +25 -0
  38. package/ai/stigmer/agentic/channelapp/v1/spec_pb.js.map +1 -0
  39. package/ai/stigmer/agentic/session/v1/io_pb.d.ts +30 -0
  40. package/ai/stigmer/agentic/session/v1/io_pb.js +7 -2
  41. package/ai/stigmer/agentic/session/v1/io_pb.js.map +1 -1
  42. package/ai/stigmer/agentic/session/v1/query_connect.d.ts +22 -0
  43. package/ai/stigmer/agentic/session/v1/query_connect.js +23 -1
  44. package/ai/stigmer/agentic/session/v1/query_connect.js.map +1 -1
  45. package/ai/stigmer/agentic/session/v1/query_pb.d.ts +22 -1
  46. package/ai/stigmer/agentic/session/v1/query_pb.js +1 -1
  47. package/ai/stigmer/agentic/session/v1/query_pb.js.map +1 -1
  48. package/ai/stigmer/agentic/workflowexecution/v1/io_pb.d.ts +6 -2
  49. package/ai/stigmer/agentic/workflowexecution/v1/io_pb.js.map +1 -1
  50. package/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb.d.ts +7 -0
  51. package/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb.js +8 -1
  52. package/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb.js.map +1 -1
  53. package/ai/stigmer/iam/v1/enum_pb.d.ts +9 -1
  54. package/ai/stigmer/iam/v1/enum_pb.js +9 -1
  55. package/ai/stigmer/iam/v1/enum_pb.js.map +1 -1
  56. package/google/rpc/error_details_pb.d.ts +580 -0
  57. package/google/rpc/error_details_pb.js +90 -0
  58. package/google/rpc/error_details_pb.js.map +1 -0
  59. package/package.json +1 -1
@@ -71,16 +71,31 @@ export declare const AgentChannelCommandController: {
71
71
  /**
72
72
  * Start the provider install flow for an agent channel.
73
73
  *
74
- * Returns the provider authorization URL to redirect the installing
75
- * user to, plus the single-use state that completeInstall verifies.
74
+ * For redirect-installed providers (Slack) the output carries the
75
+ * provider authorization URL to redirect the installing user to, plus
76
+ * the single-use state that completeInstall verifies. For
77
+ * direct-installed providers (WhatsApp) the install runs to completion
78
+ * inside this RPC and the output carries completed=true instead.
79
+ *
80
+ * Refusals a client should branch on carry a google.rpc.ErrorInfo
81
+ * detail (domain "stigmer.ai") on the standard grpc-status-details-bin
82
+ * trailer, alongside the human-readable FAILED_PRECONDITION message:
83
+ *
84
+ * - WHATSAPP_NUMBER_ALREADY_CONNECTED — the WhatsApp Business number
85
+ * already serves an agent through this channel app (one agent per
86
+ * number per app). Metadata: display_phone_number (the occupied
87
+ * number), channel_app_id (the serving app).
76
88
  *
77
89
  * @internal
78
90
  * Authorization: requires can_edit on the agent channel — installing
79
91
  * grants a workspace access to the agent runtime, the same bar as
80
- * enabling. Generates and persists the single-use state (pending-state
81
- * pattern from MCP OAuth). Cloud-first runtime: the OSS edition stores
82
- * channel resources but returns FAILED_PRECONDITION here (documented
83
- * posture, decision 001 D-g / T02 §0-b).
92
+ * enabling. Redirect style generates and persists the single-use state
93
+ * (pending-state pattern from MCP OAuth); direct style validates
94
+ * against the provider, persists the status, and maps the
95
+ * duplicate-number refusal (the completeInstall duplicate-workspace
96
+ * mechanism). Cloud-first runtime: the OSS edition stores channel
97
+ * resources but returns FAILED_PRECONDITION here (documented posture,
98
+ * decision 001 D-g / T02 §0-b).
84
99
  *
85
100
  * @generated from rpc ai.stigmer.agentic.agentchannel.v1.AgentChannelCommandController.initiateInstall
86
101
  */
@@ -98,6 +113,22 @@ export declare const AgentChannelCommandController: {
98
113
  * success the channel's status carries the install facts and the
99
114
  * channel begins serving (subject to spec.enabled).
100
115
  *
116
+ * Refusals a client should branch on carry a google.rpc.ErrorInfo
117
+ * detail (domain "stigmer.ai") on the standard grpc-status-details-bin
118
+ * trailer, alongside the human-readable FAILED_PRECONDITION message:
119
+ *
120
+ * - SLACK_WORKSPACE_ALREADY_CONNECTED — the workspace already hosts
121
+ * an agent through this serving app (one agent per workspace per
122
+ * app). Metadata: team_name (the occupied workspace),
123
+ * channel_app_id (the serving app; empty = platform app).
124
+ * - CHANNEL_INSTALL_STATE_INVALID — the state parameter is missing,
125
+ * expired, or replayed; restart the install.
126
+ * - SLACK_ENTERPRISE_INSTALL_UNSUPPORTED — an Enterprise Grid
127
+ * org-wide install was attempted; install into a single workspace.
128
+ *
129
+ * Other refusals (unconfigured deployment, provider-refused code
130
+ * exchange) carry no reason — their message is the interface.
131
+ *
101
132
  * @internal
102
133
  * Authorization: requires can_edit on the agent channel — the same bar
103
134
  * as initiateInstall (the two halves of one flow). The handler consumes
@@ -78,16 +78,31 @@ export const AgentChannelCommandController = {
78
78
  /**
79
79
  * Start the provider install flow for an agent channel.
80
80
  *
81
- * Returns the provider authorization URL to redirect the installing
82
- * user to, plus the single-use state that completeInstall verifies.
81
+ * For redirect-installed providers (Slack) the output carries the
82
+ * provider authorization URL to redirect the installing user to, plus
83
+ * the single-use state that completeInstall verifies. For
84
+ * direct-installed providers (WhatsApp) the install runs to completion
85
+ * inside this RPC and the output carries completed=true instead.
86
+ *
87
+ * Refusals a client should branch on carry a google.rpc.ErrorInfo
88
+ * detail (domain "stigmer.ai") on the standard grpc-status-details-bin
89
+ * trailer, alongside the human-readable FAILED_PRECONDITION message:
90
+ *
91
+ * - WHATSAPP_NUMBER_ALREADY_CONNECTED — the WhatsApp Business number
92
+ * already serves an agent through this channel app (one agent per
93
+ * number per app). Metadata: display_phone_number (the occupied
94
+ * number), channel_app_id (the serving app).
83
95
  *
84
96
  * @internal
85
97
  * Authorization: requires can_edit on the agent channel — installing
86
98
  * grants a workspace access to the agent runtime, the same bar as
87
- * enabling. Generates and persists the single-use state (pending-state
88
- * pattern from MCP OAuth). Cloud-first runtime: the OSS edition stores
89
- * channel resources but returns FAILED_PRECONDITION here (documented
90
- * posture, decision 001 D-g / T02 §0-b).
99
+ * enabling. Redirect style generates and persists the single-use state
100
+ * (pending-state pattern from MCP OAuth); direct style validates
101
+ * against the provider, persists the status, and maps the
102
+ * duplicate-number refusal (the completeInstall duplicate-workspace
103
+ * mechanism). Cloud-first runtime: the OSS edition stores channel
104
+ * resources but returns FAILED_PRECONDITION here (documented posture,
105
+ * decision 001 D-g / T02 §0-b).
91
106
  *
92
107
  * @generated from rpc ai.stigmer.agentic.agentchannel.v1.AgentChannelCommandController.initiateInstall
93
108
  */
@@ -105,6 +120,22 @@ export const AgentChannelCommandController = {
105
120
  * success the channel's status carries the install facts and the
106
121
  * channel begins serving (subject to spec.enabled).
107
122
  *
123
+ * Refusals a client should branch on carry a google.rpc.ErrorInfo
124
+ * detail (domain "stigmer.ai") on the standard grpc-status-details-bin
125
+ * trailer, alongside the human-readable FAILED_PRECONDITION message:
126
+ *
127
+ * - SLACK_WORKSPACE_ALREADY_CONNECTED — the workspace already hosts
128
+ * an agent through this serving app (one agent per workspace per
129
+ * app). Metadata: team_name (the occupied workspace),
130
+ * channel_app_id (the serving app; empty = platform app).
131
+ * - CHANNEL_INSTALL_STATE_INVALID — the state parameter is missing,
132
+ * expired, or replayed; restart the install.
133
+ * - SLACK_ENTERPRISE_INSTALL_UNSUPPORTED — an Enterprise Grid
134
+ * org-wide install was attempted; install into a single workspace.
135
+ *
136
+ * Other refusals (unconfigured deployment, provider-refused code
137
+ * exchange) carry no reason — their message is the interface.
138
+ *
108
139
  * @internal
109
140
  * Authorization: requires can_edit on the agent channel — the same bar
110
141
  * as initiateInstall (the two halves of one flow). The handler consumes
@@ -1 +1 @@
1
- {"version":3,"file":"command_connect.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/agentchannel/v1/command_connect.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,oIAAoI;AACpI,oBAAoB;AACpB,cAAc;AAEd,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AAEnI;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,QAAQ,EAAE,kEAAkE;IAC5E,OAAO,EAAE;QACP;;;;;;;;;;WAUG;QACH,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,CAAC,EAAE,YAAY;YACf,CAAC,EAAE,YAAY;YACf,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;;;;WAiBG;QACH,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,CAAC,EAAE,YAAY;YACf,CAAC,EAAE,YAAY;YACf,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;WAcG;QACH,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,CAAC,EAAE,YAAY;YACf,CAAC,EAAE,YAAY;YACf,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;;WAeG;QACH,eAAe,EAAE;YACf,IAAI,EAAE,iBAAiB;YACvB,CAAC,EAAE,2BAA2B;YAC9B,CAAC,EAAE,4BAA4B;YAC/B,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;;;;WAiBG;QACH,eAAe,EAAE;YACf,IAAI,EAAE,iBAAiB;YACvB,CAAC,EAAE,2BAA2B;YAC9B,CAAC,EAAE,YAAY;YACf,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;WAcG;QACH,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,CAAC,EAAE,cAAc;YACjB,CAAC,EAAE,YAAY;YACf,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;KACF;CACO,CAAC"}
1
+ {"version":3,"file":"command_connect.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/agentchannel/v1/command_connect.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,oIAAoI;AACpI,oBAAoB;AACpB,cAAc;AAEd,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AAEnI;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,QAAQ,EAAE,kEAAkE;IAC5E,OAAO,EAAE;QACP;;;;;;;;;;WAUG;QACH,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,CAAC,EAAE,YAAY;YACf,CAAC,EAAE,YAAY;YACf,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;;;;WAiBG;QACH,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,CAAC,EAAE,YAAY;YACf,CAAC,EAAE,YAAY;YACf,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;WAcG;QACH,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,CAAC,EAAE,YAAY;YACf,CAAC,EAAE,YAAY;YACf,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA8BG;QACH,eAAe,EAAE;YACf,IAAI,EAAE,iBAAiB;YACvB,CAAC,EAAE,2BAA2B;YAC9B,CAAC,EAAE,4BAA4B;YAC/B,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAiCG;QACH,eAAe,EAAE;YACf,IAAI,EAAE,iBAAiB;YACvB,CAAC,EAAE,2BAA2B;YAC9B,CAAC,EAAE,YAAY;YACf,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;WAcG;QACH,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,CAAC,EAAE,cAAc;YACjB,CAAC,EAAE,YAAY;YACf,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;KACF;CACO,CAAC"}
@@ -73,16 +73,31 @@ export declare const AgentChannelCommandController: GenService<{
73
73
  /**
74
74
  * Start the provider install flow for an agent channel.
75
75
  *
76
- * Returns the provider authorization URL to redirect the installing
77
- * user to, plus the single-use state that completeInstall verifies.
76
+ * For redirect-installed providers (Slack) the output carries the
77
+ * provider authorization URL to redirect the installing user to, plus
78
+ * the single-use state that completeInstall verifies. For
79
+ * direct-installed providers (WhatsApp) the install runs to completion
80
+ * inside this RPC and the output carries completed=true instead.
81
+ *
82
+ * Refusals a client should branch on carry a google.rpc.ErrorInfo
83
+ * detail (domain "stigmer.ai") on the standard grpc-status-details-bin
84
+ * trailer, alongside the human-readable FAILED_PRECONDITION message:
85
+ *
86
+ * - WHATSAPP_NUMBER_ALREADY_CONNECTED — the WhatsApp Business number
87
+ * already serves an agent through this channel app (one agent per
88
+ * number per app). Metadata: display_phone_number (the occupied
89
+ * number), channel_app_id (the serving app).
78
90
  *
79
91
  * @internal
80
92
  * Authorization: requires can_edit on the agent channel — installing
81
93
  * grants a workspace access to the agent runtime, the same bar as
82
- * enabling. Generates and persists the single-use state (pending-state
83
- * pattern from MCP OAuth). Cloud-first runtime: the OSS edition stores
84
- * channel resources but returns FAILED_PRECONDITION here (documented
85
- * posture, decision 001 D-g / T02 §0-b).
94
+ * enabling. Redirect style generates and persists the single-use state
95
+ * (pending-state pattern from MCP OAuth); direct style validates
96
+ * against the provider, persists the status, and maps the
97
+ * duplicate-number refusal (the completeInstall duplicate-workspace
98
+ * mechanism). Cloud-first runtime: the OSS edition stores channel
99
+ * resources but returns FAILED_PRECONDITION here (documented posture,
100
+ * decision 001 D-g / T02 §0-b).
86
101
  *
87
102
  * @generated from rpc ai.stigmer.agentic.agentchannel.v1.AgentChannelCommandController.initiateInstall
88
103
  */
@@ -99,6 +114,22 @@ export declare const AgentChannelCommandController: GenService<{
99
114
  * success the channel's status carries the install facts and the
100
115
  * channel begins serving (subject to spec.enabled).
101
116
  *
117
+ * Refusals a client should branch on carry a google.rpc.ErrorInfo
118
+ * detail (domain "stigmer.ai") on the standard grpc-status-details-bin
119
+ * trailer, alongside the human-readable FAILED_PRECONDITION message:
120
+ *
121
+ * - SLACK_WORKSPACE_ALREADY_CONNECTED — the workspace already hosts
122
+ * an agent through this serving app (one agent per workspace per
123
+ * app). Metadata: team_name (the occupied workspace),
124
+ * channel_app_id (the serving app; empty = platform app).
125
+ * - CHANNEL_INSTALL_STATE_INVALID — the state parameter is missing,
126
+ * expired, or replayed; restart the install.
127
+ * - SLACK_ENTERPRISE_INSTALL_UNSUPPORTED — an Enterprise Grid
128
+ * org-wide install was attempted; install into a single workspace.
129
+ *
130
+ * Other refusals (unconfigured deployment, provider-refused code
131
+ * exchange) carry no reason — their message is the interface.
132
+ *
102
133
  * @internal
103
134
  * Authorization: requires can_edit on the agent channel — the same bar
104
135
  * as initiateInstall (the two halves of one flow). The handler consumes
@@ -1 +1 @@
1
- {"version":3,"file":"command_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/agentchannel/v1/command_pb.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,oIAAoI;AACpI,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,2CAA2C,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,EAAE,0CAA0C,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,uDAAuD,EAAE,MAAM,wDAAwD,CAAC;AACjI,OAAO,EAAE,0CAA0C,EAAE,MAAM,2CAA2C,CAAC;AAEvG;;GAEG;AACH,MAAM,CAAC,MAAM,+CAA+C,GAAY,aAAa,CACnF,QAAQ,CAAC,y8CAAy8C,EAAE,CAAC,2CAA2C,EAAE,0CAA0C,EAAE,uDAAuD,EAAE,0CAA0C,CAAC,CAAC,CAAC;AAEtpD;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GA4HrC,aAAa,CAChB,WAAW,CAAC,+CAA+C,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"command_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/agentchannel/v1/command_pb.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,oIAAoI;AACpI,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,2CAA2C,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,EAAE,0CAA0C,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,uDAAuD,EAAE,MAAM,wDAAwD,CAAC;AACjI,OAAO,EAAE,0CAA0C,EAAE,MAAM,2CAA2C,CAAC;AAEvG;;GAEG;AACH,MAAM,CAAC,MAAM,+CAA+C,GAAY,aAAa,CACnF,QAAQ,CAAC,y8CAAy8C,EAAE,CAAC,2CAA2C,EAAE,0CAA0C,EAAE,uDAAuD,EAAE,0CAA0C,CAAC,CAAC,CAAC;AAEtpD;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GA2JrC,aAAa,CAChB,WAAW,CAAC,+CAA+C,EAAE,CAAC,CAAC,CAAC"}
@@ -103,6 +103,14 @@ export type ChannelDelivery = Message<"ai.stigmer.agentic.agentchannel.v1.Channe
103
103
  */
104
104
  value: SlackDeliveryContext;
105
105
  case: "slack";
106
+ } | {
107
+ /**
108
+ * WhatsApp delivery context.
109
+ *
110
+ * @generated from field: ai.stigmer.agentic.agentchannel.v1.WhatsAppDeliveryContext whatsapp = 16;
111
+ */
112
+ value: WhatsAppDeliveryContext;
113
+ case: "whatsapp";
106
114
  } | {
107
115
  case: undefined;
108
116
  value?: undefined;
@@ -167,6 +175,38 @@ export type SlackDeliveryContext = Message<"ai.stigmer.agentic.agentchannel.v1.S
167
175
  * Use `create(SlackDeliveryContextSchema)` to create a new message.
168
176
  */
169
177
  export declare const SlackDeliveryContextSchema: GenMessage<SlackDeliveryContext>;
178
+ /**
179
+ * WhatsAppDeliveryContext carries what the WhatsApp deliverer needs to
180
+ * send the reply through the Meta Cloud API.
181
+ *
182
+ * @internal
183
+ * No placeholder field: WhatsApp cannot edit a sent message, so there is
184
+ * no "thinking" message to update (the Slack chat.update UX has no
185
+ * analog). No credentials either — the deliverer loads the channel by
186
+ * agent_channel_id and resolves the access token from its ChannelApp
187
+ * (DD-WA-3), the SlackOutboundDeliverer channel-load pattern.
188
+ *
189
+ * @generated from message ai.stigmer.agentic.agentchannel.v1.WhatsAppDeliveryContext
190
+ */
191
+ export type WhatsAppDeliveryContext = Message<"ai.stigmer.agentic.agentchannel.v1.WhatsAppDeliveryContext"> & {
192
+ /**
193
+ * Phone number ID the reply sends FROM (the business number).
194
+ *
195
+ * @generated from field: string phone_number_id = 1;
196
+ */
197
+ phoneNumberId: string;
198
+ /**
199
+ * WhatsApp user id (wa_id) the reply sends TO.
200
+ *
201
+ * @generated from field: string recipient_wa_id = 2;
202
+ */
203
+ recipientWaId: string;
204
+ };
205
+ /**
206
+ * Describes the message ai.stigmer.agentic.agentchannel.v1.WhatsAppDeliveryContext.
207
+ * Use `create(WhatsAppDeliveryContextSchema)` to create a new message.
208
+ */
209
+ export declare const WhatsAppDeliveryContextSchema: GenMessage<WhatsAppDeliveryContext>;
170
210
  /**
171
211
  * ChannelDeliveryStatus is the delivery record lifecycle.
172
212
  *
@@ -6,7 +6,7 @@ import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
6
6
  /**
7
7
  * Describes the file ai/stigmer/agentic/agentchannel/v1/delivery.proto.
8
8
  */
9
- export const file_ai_stigmer_agentic_agentchannel_v1_delivery = /*@__PURE__*/ fileDesc("CjFhaS9zdGlnbWVyL2FnZW50aWMvYWdlbnRjaGFubmVsL3YxL2RlbGl2ZXJ5LnByb3RvEiJhaS5zdGlnbWVyLmFnZW50aWMuYWdlbnRjaGFubmVsLnYxIqoECg9DaGFubmVsRGVsaXZlcnkSEwoLZGVsaXZlcnlfaWQYASABKAkSGAoQYWdlbnRfY2hhbm5lbF9pZBgCIAEoCRILCgNvcmcYAyABKAkSFAoMZXhlY3V0aW9uX2lkGAQgASgJEhIKCnNlc3Npb25faWQYBSABKAkSGAoQY29udmVyc2F0aW9uX2tleRgGIAEoCRIZChFleHRlcm5hbF91c2VyX2tleRgHIAEoCRJJCgZzdGF0dXMYCCABKA4yOS5haS5zdGlnbWVyLmFnZW50aWMuYWdlbnRjaGFubmVsLnYxLkNoYW5uZWxEZWxpdmVyeVN0YXR1cxIQCghhdHRlbXB0cxgJIAEoBRISCgpsYXN0X2Vycm9yGAogASgJEhcKD2lkZW1wb3RlbmN5X2tleRgLIAEoCRJJCgVzbGFjaxgMIAEoCzI4LmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGNoYW5uZWwudjEuU2xhY2tEZWxpdmVyeUNvbnRleHRIABIuCgpjcmVhdGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIzCg9uZXh0X2F0dGVtcHRfYXQYDyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhIKEGRlbGl2ZXJ5X2NvbnRleHQiVQoUU2xhY2tEZWxpdmVyeUNvbnRleHQSEgoKY2hhbm5lbF9pZBgBIAEoCRIRCgl0aHJlYWRfdHMYAiABKAkSFgoOcGxhY2Vob2xkZXJfdHMYAyABKAkqeAoVQ2hhbm5lbERlbGl2ZXJ5U3RhdHVzEicKI2NoYW5uZWxfZGVsaXZlcnlfc3RhdHVzX3Vuc3BlY2lmaWVkEAASCwoHcGVuZGluZxABEg4KCmRlbGl2ZXJpbmcQAhINCglkZWxpdmVyZWQQAxIKCgZmYWlsZWQQBGIGcHJvdG8z", [file_google_protobuf_timestamp]);
9
+ export const file_ai_stigmer_agentic_agentchannel_v1_delivery = /*@__PURE__*/ fileDesc("CjFhaS9zdGlnbWVyL2FnZW50aWMvYWdlbnRjaGFubmVsL3YxL2RlbGl2ZXJ5LnByb3RvEiJhaS5zdGlnbWVyLmFnZW50aWMuYWdlbnRjaGFubmVsLnYxIvsECg9DaGFubmVsRGVsaXZlcnkSEwoLZGVsaXZlcnlfaWQYASABKAkSGAoQYWdlbnRfY2hhbm5lbF9pZBgCIAEoCRILCgNvcmcYAyABKAkSFAoMZXhlY3V0aW9uX2lkGAQgASgJEhIKCnNlc3Npb25faWQYBSABKAkSGAoQY29udmVyc2F0aW9uX2tleRgGIAEoCRIZChFleHRlcm5hbF91c2VyX2tleRgHIAEoCRJJCgZzdGF0dXMYCCABKA4yOS5haS5zdGlnbWVyLmFnZW50aWMuYWdlbnRjaGFubmVsLnYxLkNoYW5uZWxEZWxpdmVyeVN0YXR1cxIQCghhdHRlbXB0cxgJIAEoBRISCgpsYXN0X2Vycm9yGAogASgJEhcKD2lkZW1wb3RlbmN5X2tleRgLIAEoCRJJCgVzbGFjaxgMIAEoCzI4LmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGNoYW5uZWwudjEuU2xhY2tEZWxpdmVyeUNvbnRleHRIABJPCgh3aGF0c2FwcBgQIAEoCzI7LmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGNoYW5uZWwudjEuV2hhdHNBcHBEZWxpdmVyeUNvbnRleHRIABIuCgpjcmVhdGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIzCg9uZXh0X2F0dGVtcHRfYXQYDyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhIKEGRlbGl2ZXJ5X2NvbnRleHQiVQoUU2xhY2tEZWxpdmVyeUNvbnRleHQSEgoKY2hhbm5lbF9pZBgBIAEoCRIRCgl0aHJlYWRfdHMYAiABKAkSFgoOcGxhY2Vob2xkZXJfdHMYAyABKAkiSwoXV2hhdHNBcHBEZWxpdmVyeUNvbnRleHQSFwoPcGhvbmVfbnVtYmVyX2lkGAEgASgJEhcKD3JlY2lwaWVudF93YV9pZBgCIAEoCSp4ChVDaGFubmVsRGVsaXZlcnlTdGF0dXMSJwojY2hhbm5lbF9kZWxpdmVyeV9zdGF0dXNfdW5zcGVjaWZpZWQQABILCgdwZW5kaW5nEAESDgoKZGVsaXZlcmluZxACEg0KCWRlbGl2ZXJlZBADEgoKBmZhaWxlZBAEYgZwcm90bzM", [file_google_protobuf_timestamp]);
10
10
  /**
11
11
  * Describes the message ai.stigmer.agentic.agentchannel.v1.ChannelDelivery.
12
12
  * Use `create(ChannelDeliverySchema)` to create a new message.
@@ -17,6 +17,11 @@ export const ChannelDeliverySchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_a
17
17
  * Use `create(SlackDeliveryContextSchema)` to create a new message.
18
18
  */
19
19
  export const SlackDeliveryContextSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_agentic_agentchannel_v1_delivery, 1);
20
+ /**
21
+ * Describes the message ai.stigmer.agentic.agentchannel.v1.WhatsAppDeliveryContext.
22
+ * Use `create(WhatsAppDeliveryContextSchema)` to create a new message.
23
+ */
24
+ export const WhatsAppDeliveryContextSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_agentic_agentchannel_v1_delivery, 2);
20
25
  /**
21
26
  * ChannelDeliveryStatus is the delivery record lifecycle.
22
27
  *
@@ -1 +1 @@
1
- {"version":3,"file":"delivery_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/agentchannel/v1/delivery_pb.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,qIAAqI;AACrI,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE/E,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAGxE;;GAEG;AACH,MAAM,CAAC,MAAM,gDAAgD,GAAY,aAAa,CACpF,QAAQ,CAAC,8nCAA8nC,EAAE,CAAC,8BAA8B,CAAC,CAAC,CAAC;AAuI7qC;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAgC,aAAa,CAC7E,WAAW,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC;AAoCnE;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAqC,aAAa,CACvF,WAAW,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC;AAEnE;;;;;;;;;GASG;AACH,MAAM,CAAN,IAAY,qBAmCX;AAnCD,WAAY,qBAAqB;IAC/B;;;;OAIG;IACH,+HAAuC,CAAA;IAEvC;;;;OAIG;IACH,uEAAW,CAAA;IAEX;;;;OAIG;IACH,6EAAc,CAAA;IAEd;;;;OAIG;IACH,2EAAa,CAAA;IAEb;;;;OAIG;IACH,qEAAU,CAAA;AACZ,CAAC,EAnCW,qBAAqB,KAArB,qBAAqB,QAmChC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAmC,aAAa,CACtF,QAAQ,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"delivery_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/agentchannel/v1/delivery_pb.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,qIAAqI;AACrI,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE/E,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAGxE;;GAEG;AACH,MAAM,CAAC,MAAM,gDAAgD,GAAY,aAAa,CACpF,QAAQ,CAAC,i1CAAi1C,EAAE,CAAC,8BAA8B,CAAC,CAAC,CAAC;AA+Ih4C;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAgC,aAAa,CAC7E,WAAW,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC;AAoCnE;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAqC,aAAa,CACvF,WAAW,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC;AA+BnE;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAwC,aAAa,CAC7F,WAAW,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC;AAEnE;;;;;;;;;GASG;AACH,MAAM,CAAN,IAAY,qBAmCX;AAnCD,WAAY,qBAAqB;IAC/B;;;;OAIG;IACH,+HAAuC,CAAA;IAEvC;;;;OAIG;IACH,uEAAW,CAAA;IAEX;;;;OAIG;IACH,6EAAc,CAAA;IAEd;;;;OAIG;IACH,2EAAa,CAAA;IAEb;;;;OAIG;IACH,qEAAU,CAAA;AACZ,CAAC,EAnCW,qBAAqB,KAArB,qBAAqB,QAmChC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAmC,aAAa,CACtF,QAAQ,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC"}
@@ -141,22 +141,27 @@ export declare const InitiateChannelInstallInputSchema: GenMessage<InitiateChann
141
141
  /**
142
142
  * Output of the initiate-install RPC.
143
143
  *
144
- * The caller redirects the user to authorization_url; the provider
144
+ * Two install styles share this output. For redirect-installed providers
145
+ * (Slack) the caller redirects the user to authorization_url; the provider
145
146
  * redirects back to the console, which completes the install with the
146
- * completeInstall RPC.
147
+ * completeInstall RPC. For direct-installed providers (WhatsApp) the
148
+ * install completes inside this RPC: completed is true and there is
149
+ * nothing to redirect to — refresh the channel to see its install facts.
147
150
  *
148
151
  * @generated from message ai.stigmer.agentic.agentchannel.v1.InitiateChannelInstallOutput
149
152
  */
150
153
  export type InitiateChannelInstallOutput = Message<"ai.stigmer.agentic.agentchannel.v1.InitiateChannelInstallOutput"> & {
151
154
  /**
152
155
  * Provider authorization URL to redirect the installing user to
153
- * (for Slack: the "Add to Slack" consent screen).
156
+ * (for Slack: the "Add to Slack" consent screen). Empty when the
157
+ * install completed directly.
154
158
  *
155
159
  * @generated from field: string authorization_url = 1;
156
160
  */
157
161
  authorizationUrl: string;
158
162
  /**
159
163
  * Single-use opaque state parameter bound to this install attempt.
164
+ * Empty when the install completed directly.
160
165
  *
161
166
  * @internal
162
167
  * Persisted server-side (PendingOAuthStateDocument pattern) and consumed
@@ -165,6 +170,20 @@ export type InitiateChannelInstallOutput = Message<"ai.stigmer.agentic.agentchan
165
170
  * @generated from field: string state = 2;
166
171
  */
167
172
  state: string;
173
+ /**
174
+ * True when the install completed synchronously inside this RPC
175
+ * (direct-installed providers). Clients branch on this field — never on
176
+ * provider knowledge of their own — so the server stays the single
177
+ * source of install-style truth.
178
+ *
179
+ * @internal
180
+ * DD-WA-1b. The seam behind it is the sealed ChannelInstaller split:
181
+ * AuthorizationRedirectInstaller populates authorization_url + state;
182
+ * DirectInstaller populates completed.
183
+ *
184
+ * @generated from field: bool completed = 3;
185
+ */
186
+ completed: boolean;
168
187
  };
169
188
  /**
170
189
  * Describes the message ai.stigmer.agentic.agentchannel.v1.InitiateChannelInstallOutput.
@@ -8,7 +8,7 @@ import { file_buf_validate_validate } from "../../../../../buf/validate/validate
8
8
  /**
9
9
  * Describes the file ai/stigmer/agentic/agentchannel/v1/io.proto.
10
10
  */
11
- export const file_ai_stigmer_agentic_agentchannel_v1_io = /*@__PURE__*/ fileDesc("CithaS9zdGlnbWVyL2FnZW50aWMvYWdlbnRjaGFubmVsL3YxL2lvLnByb3RvEiJhaS5zdGlnbWVyLmFnZW50aWMuYWdlbnRjaGFubmVsLnYxIicKDkFnZW50Q2hhbm5lbElkEhUKBXZhbHVlGAEgASgJQga6SAPIAQEifAoeR2V0QWdlbnRDaGFubmVsc0J5QWdlbnRSZXF1ZXN0EhgKCGFnZW50X2lkGAEgASgJQga6SAPIAQESMwoJcGFnZV9pbmZvGAIgASgLMiAuYWkuc3RpZ21lci5jb21tb25zLnJwYy5QYWdlSW5mbxILCgNvcmcYAyABKAkiaAoQQWdlbnRDaGFubmVsTGlzdBITCgt0b3RhbF9jb3VudBgBIAEoBRI/CgVpdGVtcxgCIAMoCzIwLmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGNoYW5uZWwudjEuQWdlbnRDaGFubmVsIu4BChhMaXN0QWdlbnRDaGFubmVsc1JlcXVlc3QSFAoDb3JnGAEgASgJQge6SARyAhABElgKBmxhYmVscxgCIAMoCzJILmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGNoYW5uZWwudjEuTGlzdEFnZW50Q2hhbm5lbHNSZXF1ZXN0LkxhYmVsc0VudHJ5EjMKCXBhZ2VfaW5mbxgDIAEoCzIgLmFpLnN0aWdtZXIuY29tbW9ucy5ycGMuUGFnZUluZm8aLQoLTGFiZWxzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASI6ChtJbml0aWF0ZUNoYW5uZWxJbnN0YWxsSW5wdXQSGwoLcmVzb3VyY2VfaWQYASABKAlCBrpIA8gBASJIChxJbml0aWF0ZUNoYW5uZWxJbnN0YWxsT3V0cHV0EhkKEWF1dGhvcml6YXRpb25fdXJsGAEgASgJEg0KBXN0YXRlGAIgASgJImcKG0NvbXBsZXRlQ2hhbm5lbEluc3RhbGxJbnB1dBIbCgtyZXNvdXJjZV9pZBgBIAEoCUIGukgDyAEBEhUKBXN0YXRlGAIgASgJQga6SAPIAQESFAoEY29kZRgDIAEoCUIGukgDyAEBYgZwcm90bzM", [file_ai_stigmer_agentic_agentchannel_v1_api, file_ai_stigmer_commons_rpc_pagination, file_buf_validate_validate]);
11
+ export const file_ai_stigmer_agentic_agentchannel_v1_io = /*@__PURE__*/ fileDesc("CithaS9zdGlnbWVyL2FnZW50aWMvYWdlbnRjaGFubmVsL3YxL2lvLnByb3RvEiJhaS5zdGlnbWVyLmFnZW50aWMuYWdlbnRjaGFubmVsLnYxIicKDkFnZW50Q2hhbm5lbElkEhUKBXZhbHVlGAEgASgJQga6SAPIAQEifAoeR2V0QWdlbnRDaGFubmVsc0J5QWdlbnRSZXF1ZXN0EhgKCGFnZW50X2lkGAEgASgJQga6SAPIAQESMwoJcGFnZV9pbmZvGAIgASgLMiAuYWkuc3RpZ21lci5jb21tb25zLnJwYy5QYWdlSW5mbxILCgNvcmcYAyABKAkiaAoQQWdlbnRDaGFubmVsTGlzdBITCgt0b3RhbF9jb3VudBgBIAEoBRI/CgVpdGVtcxgCIAMoCzIwLmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGNoYW5uZWwudjEuQWdlbnRDaGFubmVsIu4BChhMaXN0QWdlbnRDaGFubmVsc1JlcXVlc3QSFAoDb3JnGAEgASgJQge6SARyAhABElgKBmxhYmVscxgCIAMoCzJILmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGNoYW5uZWwudjEuTGlzdEFnZW50Q2hhbm5lbHNSZXF1ZXN0LkxhYmVsc0VudHJ5EjMKCXBhZ2VfaW5mbxgDIAEoCzIgLmFpLnN0aWdtZXIuY29tbW9ucy5ycGMuUGFnZUluZm8aLQoLTGFiZWxzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASI6ChtJbml0aWF0ZUNoYW5uZWxJbnN0YWxsSW5wdXQSGwoLcmVzb3VyY2VfaWQYASABKAlCBrpIA8gBASJbChxJbml0aWF0ZUNoYW5uZWxJbnN0YWxsT3V0cHV0EhkKEWF1dGhvcml6YXRpb25fdXJsGAEgASgJEg0KBXN0YXRlGAIgASgJEhEKCWNvbXBsZXRlZBgDIAEoCCJnChtDb21wbGV0ZUNoYW5uZWxJbnN0YWxsSW5wdXQSGwoLcmVzb3VyY2VfaWQYASABKAlCBrpIA8gBARIVCgVzdGF0ZRgCIAEoCUIGukgDyAEBEhQKBGNvZGUYAyABKAlCBrpIA8gBAWIGcHJvdG8z", [file_ai_stigmer_agentic_agentchannel_v1_api, file_ai_stigmer_commons_rpc_pagination, file_buf_validate_validate]);
12
12
  /**
13
13
  * Describes the message ai.stigmer.agentic.agentchannel.v1.AgentChannelId.
14
14
  * Use `create(AgentChannelIdSchema)` to create a new message.
@@ -1 +1 @@
1
- {"version":3,"file":"io_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/agentchannel/v1/io_pb.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,+HAA+H;AAC/H,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,2CAA2C,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,EAAE,sCAAsC,EAAE,MAAM,uCAAuC,CAAC;AAC/F,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAGxF;;GAEG;AACH,MAAM,CAAC,MAAM,0CAA0C,GAAY,aAAa,CAC9E,QAAQ,CAAC,qmCAAqmC,EAAE,CAAC,2CAA2C,EAAE,sCAAsC,EAAE,0BAA0B,CAAC,CAAC,CAAC;AAgBruC;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA+B,aAAa,CAC3E,WAAW,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;AAwC7D;;;GAGG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAA+C,aAAa,CAC3G,WAAW,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;AAuB7D;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAiC,aAAa,CAC/E,WAAW,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;AA8B7D;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAyC,aAAa,CAC/F,WAAW,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;AAgB7D;;;GAGG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAA4C,aAAa,CACrG,WAAW,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;AAgC7D;;;GAGG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAA6C,aAAa,CACvG,WAAW,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;AAiC7D;;;GAGG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAA4C,aAAa,CACrG,WAAW,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"io_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/agentchannel/v1/io_pb.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,+HAA+H;AAC/H,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,2CAA2C,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,EAAE,sCAAsC,EAAE,MAAM,uCAAuC,CAAC;AAC/F,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAGxF;;GAEG;AACH,MAAM,CAAC,MAAM,0CAA0C,GAAY,aAAa,CAC9E,QAAQ,CAAC,8nCAA8nC,EAAE,CAAC,2CAA2C,EAAE,sCAAsC,EAAE,0BAA0B,CAAC,CAAC,CAAC;AAgB9vC;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA+B,aAAa,CAC3E,WAAW,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;AAwC7D;;;GAGG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAA+C,aAAa,CAC3G,WAAW,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;AAuB7D;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAiC,aAAa,CAC/E,WAAW,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;AA8B7D;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAyC,aAAa,CAC/F,WAAW,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;AAgB7D;;;GAGG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAA4C,aAAa,CACrG,WAAW,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;AAoD7D;;;GAGG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAA6C,aAAa,CACvG,WAAW,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;AAiC7D;;;GAGG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAA4C,aAAa,CACrG,WAAW,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC"}
@@ -9,8 +9,9 @@ export declare const file_ai_stigmer_agentic_agentchannel_v1_spec: GenFile;
9
9
  * AgentChannelSpec defines the configurable properties of an agent channel.
10
10
  *
11
11
  * The spec is deliberately small: which agent serves the channel, whether
12
- * serving is enabled, and which provider the channel targets. Workspace
13
- * identity and credentials are produced by the install flow and live in
12
+ * serving is enabled, which provider the channel targets, and which
13
+ * environments supply the agent's tool credentials. Workspace identity and
14
+ * provider credentials are produced by the install flow and live in
14
15
  * status — a declarative apply can never clobber them.
15
16
  *
16
17
  * @internal
@@ -69,10 +70,69 @@ export type AgentChannelSpec = Message<"ai.stigmer.agentic.agentchannel.v1.Agent
69
70
  */
70
71
  value: SlackChannelConfig;
71
72
  case: "slack";
73
+ } | {
74
+ /**
75
+ * WhatsApp Business number connection (Meta Cloud API).
76
+ *
77
+ * @generated from field: ai.stigmer.agentic.agentchannel.v1.WhatsAppChannelConfig whatsapp = 6;
78
+ */
79
+ value: WhatsAppChannelConfig;
80
+ case: "whatsapp";
72
81
  } | {
73
82
  case: undefined;
74
83
  value?: undefined;
75
84
  };
85
+ /**
86
+ * References to Environment resources whose values are provided to
87
+ * conversations on this channel.
88
+ *
89
+ * This is how a tool-using agent becomes chattable over a channel: bind
90
+ * an org-shared environment holding the needed credentials (for example
91
+ * a read-only API token), and channel executions receive its values at
92
+ * runtime. The agent and its default instance stay untouched.
93
+ *
94
+ * @internal
95
+ * The AgentShareSpec.environment_refs analog (decision 011: sharing is
96
+ * a channel — both connection kinds carry their own credentials).
97
+ * Resolved in the channel's org through the org-shared environment
98
+ * resolution seam (EnvironmentRuntimeResolutionService /
99
+ * OrgSharedEnvironmentPolicy): each referenced environment must be
100
+ * visibility_org in the channel's org, or the merge skips it with a
101
+ * diagnostic. Merged at channel execution-context build time only,
102
+ * lowest priority (instance refs and runtime_env override on key
103
+ * conflicts) — never bound to the agent's system-managed default
104
+ * instance. No write-time existence or visibility check, matching the
105
+ * share: enforcement lives solely at runtime resolution, which fails
106
+ * closed. Unlike the share there is no audience CEL — channels have no
107
+ * audience concept, and the same-org invariant (agent_ref.org ==
108
+ * metadata.org) already scopes resolution.
109
+ *
110
+ * @generated from field: repeated ai.stigmer.commons.apiresource.ApiResourceReference environment_refs = 4;
111
+ */
112
+ environmentRefs: ApiResourceReference[];
113
+ /**
114
+ * Reference to the ChannelApp this channel installs through.
115
+ *
116
+ * For Slack, absent means the channel uses the platform's shared
117
+ * Stigmer app — the zero-setup default. Set it to install through your
118
+ * own provider app instead: the bot carries the app's name and icon,
119
+ * and each app is its own bot identity, so multiple agents can serve
120
+ * one workspace. For WhatsApp the reference is required — every
121
+ * WhatsApp channel installs through your own Meta app (DD-WA-2).
122
+ *
123
+ * @internal
124
+ * T04 item 2. Invariants (enforced in handlers of both editions):
125
+ * app_ref.org must equal metadata.org (secrets never cross orgs — the
126
+ * agent_ref rule), and the ref is immutable while install_state ==
127
+ * installed (the workspace granted THAT app; switching apps requires
128
+ * re-install, so pending/revoked channels may rebind freely). No
129
+ * write-time existence or provider-match check, matching the
130
+ * environment_refs posture: the install flow resolves the app and
131
+ * fails closed on a missing or wrong-provider reference.
132
+ *
133
+ * @generated from field: ai.stigmer.commons.apiresource.ApiResourceReference app_ref = 5;
134
+ */
135
+ appRef?: ApiResourceReference;
76
136
  };
77
137
  /**
78
138
  * Describes the message ai.stigmer.agentic.agentchannel.v1.AgentChannelSpec.
@@ -100,3 +160,41 @@ export type SlackChannelConfig = Message<"ai.stigmer.agentic.agentchannel.v1.Sla
100
160
  * Use `create(SlackChannelConfigSchema)` to create a new message.
101
161
  */
102
162
  export declare const SlackChannelConfigSchema: GenMessage<SlackChannelConfig>;
163
+ /**
164
+ * WhatsAppChannelConfig selects WhatsApp as the channel provider and names
165
+ * the WhatsApp Business phone number the channel serves.
166
+ *
167
+ * WhatsApp channels install through your own Meta app registered as a
168
+ * ChannelApp: `spec.app_ref` is required for this provider (there is no
169
+ * shared platform WhatsApp app). Installing validates the number against
170
+ * the Meta Cloud API and records the observed facts in status.
171
+ *
172
+ * @internal
173
+ * DD-WA-2: unlike Slack, WhatsApp v1 is BYO-only — app_ref presence is
174
+ * enforced in the create/update/apply handlers of both editions (the
175
+ * oneof-conditional rule does not fit a field-level CEL). phone_number_id
176
+ * lives in SPEC because it is genuinely user-declared (a WABA holds many
177
+ * numbers; the owner picks which one this agent serves) — the P1
178
+ * honest-modeling rule, not an exception to it. The install flow echoes it
179
+ * into status.whatsapp as the routing/uniqueness fact, mirroring
180
+ * status.slack.team_id.
181
+ *
182
+ * @generated from message ai.stigmer.agentic.agentchannel.v1.WhatsAppChannelConfig
183
+ */
184
+ export type WhatsAppChannelConfig = Message<"ai.stigmer.agentic.agentchannel.v1.WhatsAppChannelConfig"> & {
185
+ /**
186
+ * Phone number ID of the WhatsApp Business number this channel serves,
187
+ * from Meta's WhatsApp Manager (API Setup), e.g. "106540352242922".
188
+ *
189
+ * This is the Cloud API's identifier for the number — not the phone
190
+ * number itself.
191
+ *
192
+ * @generated from field: string phone_number_id = 1;
193
+ */
194
+ phoneNumberId: string;
195
+ };
196
+ /**
197
+ * Describes the message ai.stigmer.agentic.agentchannel.v1.WhatsAppChannelConfig.
198
+ * Use `create(WhatsAppChannelConfigSchema)` to create a new message.
199
+ */
200
+ export declare const WhatsAppChannelConfigSchema: GenMessage<WhatsAppChannelConfig>;
@@ -8,7 +8,7 @@ import { file_buf_validate_validate } from "../../../../../buf/validate/validate
8
8
  /**
9
9
  * Describes the file ai/stigmer/agentic/agentchannel/v1/spec.proto.
10
10
  */
11
- export const file_ai_stigmer_agentic_agentchannel_v1_spec = /*@__PURE__*/ fileDesc("Ci1haS9zdGlnbWVyL2FnZW50aWMvYWdlbnRjaGFubmVsL3YxL3NwZWMucHJvdG8SImFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGNoYW5uZWwudjEitQIKEEFnZW50Q2hhbm5lbFNwZWMSrAEKCWFnZW50X3JlZhgBIAEoCzI0LmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZVJlZmVyZW5jZUJjukhcugFWCg5hZ2VudF9yZWYua2luZBIzYWdlbnRfcmVmIG11c3QgcmVmZXJlbmNlIGEgcmVzb3VyY2Ugd2l0aCBraW5kPWFnZW50Gg90aGlzLmtpbmQgPT0gNDDIAQHghSwoEg8KB2VuYWJsZWQYAiABKAgSRwoFc2xhY2sYAyABKAsyNi5haS5zdGlnbWVyLmFnZW50aWMuYWdlbnRjaGFubmVsLnYxLlNsYWNrQ2hhbm5lbENvbmZpZ0gAQhgKD3Byb3ZpZGVyX2NvbmZpZxIFukgCCAEiFAoSU2xhY2tDaGFubmVsQ29uZmlnYgZwcm90bzM", [file_ai_stigmer_commons_apiresource_field_options, file_ai_stigmer_commons_apiresource_io, file_buf_validate_validate]);
11
+ export const file_ai_stigmer_agentic_agentchannel_v1_spec = /*@__PURE__*/ fileDesc("Ci1haS9zdGlnbWVyL2FnZW50aWMvYWdlbnRjaGFubmVsL3YxL3NwZWMucHJvdG8SImFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGNoYW5uZWwudjEijgYKEEFnZW50Q2hhbm5lbFNwZWMSrAEKCWFnZW50X3JlZhgBIAEoCzI0LmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZVJlZmVyZW5jZUJjukhcugFWCg5hZ2VudF9yZWYua2luZBIzYWdlbnRfcmVmIG11c3QgcmVmZXJlbmNlIGEgcmVzb3VyY2Ugd2l0aCBraW5kPWFnZW50Gg90aGlzLmtpbmQgPT0gNDDIAQHghSwoEg8KB2VuYWJsZWQYAiABKAgSRwoFc2xhY2sYAyABKAsyNi5haS5zdGlnbWVyLmFnZW50aWMuYWdlbnRjaGFubmVsLnYxLlNsYWNrQ2hhbm5lbENvbmZpZ0gAEk0KCHdoYXRzYXBwGAYgASgLMjkuYWkuc3RpZ21lci5hZ2VudGljLmFnZW50Y2hhbm5lbC52MS5XaGF0c0FwcENoYW5uZWxDb25maWdIABLIAQoQZW52aXJvbm1lbnRfcmVmcxgEIAMoCzI0LmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZVJlZmVyZW5jZUJ4ukhxkgFuImy6AWkKFWVudmlyb25tZW50X3JlZnMua2luZBI/ZW52aXJvbm1lbnRfcmVmcyBtdXN0IHJlZmVyZW5jZSByZXNvdXJjZXMgd2l0aCBraW5kPWVudmlyb25tZW50Gg90aGlzLmtpbmQgPT0gNTPghSw1ErwBCgdhcHBfcmVmGAUgASgLMjQuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLkFwaVJlc291cmNlUmVmZXJlbmNlQnW6SG66AWsKDGFwcF9yZWYua2luZBI3YXBwX3JlZiBtdXN0IHJlZmVyZW5jZSBhIHJlc291cmNlIHdpdGgga2luZD1jaGFubmVsX2FwcBoidGhpcy5zbHVnID09ICcnIHx8IHRoaXMua2luZCA9PSA0OOCFLDBCGAoPcHJvdmlkZXJfY29uZmlnEgW6SAIIASIUChJTbGFja0NoYW5uZWxDb25maWciOQoVV2hhdHNBcHBDaGFubmVsQ29uZmlnEiAKD3Bob25lX251bWJlcl9pZBgBIAEoCUIHukgEcgIQAWIGcHJvdG8z", [file_ai_stigmer_commons_apiresource_field_options, file_ai_stigmer_commons_apiresource_io, file_buf_validate_validate]);
12
12
  /**
13
13
  * Describes the message ai.stigmer.agentic.agentchannel.v1.AgentChannelSpec.
14
14
  * Use `create(AgentChannelSpecSchema)` to create a new message.
@@ -19,4 +19,9 @@ export const AgentChannelSpecSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_
19
19
  * Use `create(SlackChannelConfigSchema)` to create a new message.
20
20
  */
21
21
  export const SlackChannelConfigSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_agentic_agentchannel_v1_spec, 1);
22
+ /**
23
+ * Describes the message ai.stigmer.agentic.agentchannel.v1.WhatsAppChannelConfig.
24
+ * Use `create(WhatsAppChannelConfigSchema)` to create a new message.
25
+ */
26
+ export const WhatsAppChannelConfigSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_agentic_agentchannel_v1_spec, 2);
22
27
  //# sourceMappingURL=spec_pb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spec_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/agentchannel/v1/spec_pb.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,iIAAiI;AACjI,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,iDAAiD,EAAE,MAAM,kDAAkD,CAAC;AAErH,OAAO,EAAE,sCAAsC,EAAE,MAAM,uCAAuC,CAAC;AAC/F,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAGxF;;GAEG;AACH,MAAM,CAAC,MAAM,4CAA4C,GAAY,aAAa,CAChF,QAAQ,CAAC,yjBAAyjB,EAAE,CAAC,iDAAiD,EAAE,sCAAsC,EAAE,0BAA0B,CAAC,CAAC,CAAC;AAuE/rB;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAiC,aAAa,CAC/E,WAAW,CAAC,4CAA4C,EAAE,CAAC,CAAC,CAAC;AAoB/D;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAmC,aAAa,CACnF,WAAW,CAAC,4CAA4C,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"spec_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/agentic/agentchannel/v1/spec_pb.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,iIAAiI;AACjI,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,iDAAiD,EAAE,MAAM,kDAAkD,CAAC;AAErH,OAAO,EAAE,sCAAsC,EAAE,MAAM,uCAAuC,CAAC;AAC/F,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAGxF;;GAEG;AACH,MAAM,CAAC,MAAM,4CAA4C,GAAY,aAAa,CAChF,QAAQ,CAAC,8vCAA8vC,EAAE,CAAC,iDAAiD,EAAE,sCAAsC,EAAE,0BAA0B,CAAC,CAAC,CAAC;AAqIp4C;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAiC,aAAa,CAC/E,WAAW,CAAC,4CAA4C,EAAE,CAAC,CAAC,CAAC;AAoB/D;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAmC,aAAa,CACnF,WAAW,CAAC,4CAA4C,EAAE,CAAC,CAAC,CAAC;AAoC/D;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAsC,aAAa,CACzF,WAAW,CAAC,4CAA4C,EAAE,CAAC,CAAC,CAAC"}
@@ -43,6 +43,14 @@ export type AgentChannelStatus = Message<"ai.stigmer.agentic.agentchannel.v1.Age
43
43
  */
44
44
  value: SlackInstallStatus;
45
45
  case: "slack";
46
+ } | {
47
+ /**
48
+ * WhatsApp Business number install facts.
49
+ *
50
+ * @generated from field: ai.stigmer.agentic.agentchannel.v1.WhatsAppInstallStatus whatsapp = 4;
51
+ */
52
+ value: WhatsAppInstallStatus;
53
+ case: "whatsapp";
46
54
  } | {
47
55
  case: undefined;
48
56
  value?: undefined;
@@ -123,12 +131,91 @@ export type SlackInstallStatus = Message<"ai.stigmer.agentic.agentchannel.v1.Sla
123
131
  * @generated from field: google.protobuf.Timestamp installed_at = 6;
124
132
  */
125
133
  installedAt?: Timestamp;
134
+ /**
135
+ * ID of the ChannelApp the install went through; empty for installs
136
+ * of the platform's shared Stigmer app.
137
+ *
138
+ * @internal
139
+ * Written by the install completion path from the resolved
140
+ * spec.app_ref (sole writer, like every install fact). Discriminates
141
+ * routing and workspace uniqueness once multiple apps can serve one
142
+ * workspace: lookups key on (team_id, channel_app_id) and the
143
+ * partial-unique installed index is compound over both (decision 007
144
+ * as amended by T04 item 2). Existing platform installs predate the
145
+ * field; a missing value means the platform app — no backfill.
146
+ *
147
+ * @generated from field: string channel_app_id = 7;
148
+ */
149
+ channelAppId: string;
126
150
  };
127
151
  /**
128
152
  * Describes the message ai.stigmer.agentic.agentchannel.v1.SlackInstallStatus.
129
153
  * Use `create(SlackInstallStatusSchema)` to create a new message.
130
154
  */
131
155
  export declare const SlackInstallStatusSchema: GenMessage<SlackInstallStatus>;
156
+ /**
157
+ * WhatsAppInstallStatus holds the facts observed when a WhatsApp Business
158
+ * number was connected through the Meta Cloud API.
159
+ *
160
+ * @internal
161
+ * Written by the direct-install path (sole writer, DD-WA-1): the installer
162
+ * validates spec.whatsapp.phone_number_id against the Graph API and echoes
163
+ * it here alongside the observed display facts. The echo is deliberate —
164
+ * routing and uniqueness read STATUS (the install fact), mirroring
165
+ * status.slack.team_id, so a later spec edit can never silently re-route
166
+ * live traffic; the number binding changes only through a re-install.
167
+ *
168
+ * @generated from message ai.stigmer.agentic.agentchannel.v1.WhatsAppInstallStatus
169
+ */
170
+ export type WhatsAppInstallStatus = Message<"ai.stigmer.agentic.agentchannel.v1.WhatsAppInstallStatus"> & {
171
+ /**
172
+ * Phone number ID the install validated and bound, e.g. "106540352242922".
173
+ *
174
+ * @internal
175
+ * The inbound routing key: the webhook receiver resolves the
176
+ * AgentChannel from the event payload's metadata.phone_number_id. One
177
+ * INSTALLED channel per (phone_number_id, channel_app_id), enforced by
178
+ * a compound partial-unique index on installed rows — the
179
+ * status.slack.team_id mechanism (decision 007) applied to WhatsApp.
180
+ *
181
+ * @generated from field: string phone_number_id = 1;
182
+ */
183
+ phoneNumberId: string;
184
+ /**
185
+ * Human-readable phone number at install time, e.g. "+1 555 025 3483".
186
+ *
187
+ * @generated from field: string display_phone_number = 2;
188
+ */
189
+ displayPhoneNumber: string;
190
+ /**
191
+ * WhatsApp Business verified display name of the number at install time.
192
+ *
193
+ * @generated from field: string verified_name = 3;
194
+ */
195
+ verifiedName: string;
196
+ /**
197
+ * ID of the ChannelApp the install went through. Always set for
198
+ * WhatsApp — every WhatsApp channel installs through your own Meta app.
199
+ *
200
+ * @internal
201
+ * Same discriminator role as SlackInstallStatus.channel_app_id; never
202
+ * empty because WhatsApp has no platform app (DD-WA-2).
203
+ *
204
+ * @generated from field: string channel_app_id = 4;
205
+ */
206
+ channelAppId: string;
207
+ /**
208
+ * When the install completed.
209
+ *
210
+ * @generated from field: google.protobuf.Timestamp installed_at = 5;
211
+ */
212
+ installedAt?: Timestamp;
213
+ };
214
+ /**
215
+ * Describes the message ai.stigmer.agentic.agentchannel.v1.WhatsAppInstallStatus.
216
+ * Use `create(WhatsAppInstallStatusSchema)` to create a new message.
217
+ */
218
+ export declare const WhatsAppInstallStatusSchema: GenMessage<WhatsAppInstallStatus>;
132
219
  /**
133
220
  * AgentChannelInstallState tracks the provider install lifecycle.
134
221
  *