@wildo-ai/external-connectors-models 1.1.2 → 1.1.3

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 (86) hide show
  1. package/dist/esm/.native.tsbuildinfo +1 -0
  2. package/dist/esm/core/commons.external-connectors-models.schemas.d.ts +45 -7
  3. package/dist/esm/core/commons.external-connectors-models.schemas.d.ts.map +1 -1
  4. package/dist/esm/core/commons.external-connectors-models.schemas.js +42 -5
  5. package/dist/esm/core/commons.external-connectors-models.schemas.js.map +1 -1
  6. package/dist/esm/core/operation-classification.external-connectors-models.schemas.d.ts +13 -0
  7. package/dist/esm/core/operation-classification.external-connectors-models.schemas.d.ts.map +1 -0
  8. package/dist/esm/core/operation-classification.external-connectors-models.schemas.js +14 -0
  9. package/dist/esm/core/operation-classification.external-connectors-models.schemas.js.map +1 -0
  10. package/dist/esm/core/protocols.external-connectors-models.schemas.d.ts +0 -25
  11. package/dist/esm/core/protocols.external-connectors-models.schemas.d.ts.map +1 -1
  12. package/dist/esm/core/protocols.external-connectors-models.schemas.js.map +1 -1
  13. package/dist/esm/core/security.external-connectors-models.schemas.d.ts +132 -2
  14. package/dist/esm/core/security.external-connectors-models.schemas.d.ts.map +1 -1
  15. package/dist/esm/core/security.external-connectors-models.schemas.js +164 -0
  16. package/dist/esm/core/security.external-connectors-models.schemas.js.map +1 -1
  17. package/dist/esm/features/core.external-connectors-models.schemas.d.ts +0 -63
  18. package/dist/esm/features/core.external-connectors-models.schemas.d.ts.map +0 -1
  19. package/dist/esm/features/core.external-connectors-models.schemas.js +0 -101
  20. package/dist/esm/features/core.external-connectors-models.schemas.js.map +0 -1
  21. package/dist/esm/features/email.external-connectors-models.schemas.d.ts +0 -181
  22. package/dist/esm/features/email.external-connectors-models.schemas.d.ts.map +0 -1
  23. package/dist/esm/features/email.external-connectors-models.schemas.js +0 -34
  24. package/dist/esm/features/email.external-connectors-models.schemas.js.map +0 -1
  25. package/dist/esm/features/hooks.external-connectors-models.schemas.d.ts +0 -101
  26. package/dist/esm/features/hooks.external-connectors-models.schemas.d.ts.map +0 -1
  27. package/dist/esm/features/hooks.external-connectors-models.schemas.js +0 -11
  28. package/dist/esm/features/hooks.external-connectors-models.schemas.js.map +0 -1
  29. package/dist/esm/features/sms.external-connectors-models.schemas.d.ts +0 -21
  30. package/dist/esm/features/sms.external-connectors-models.schemas.d.ts.map +0 -1
  31. package/dist/esm/features/sms.external-connectors-models.schemas.js +0 -8
  32. package/dist/esm/features/sms.external-connectors-models.schemas.js.map +0 -1
  33. package/dist/esm/index.d.ts +3 -9
  34. package/dist/esm/index.d.ts.map +1 -1
  35. package/dist/esm/index.js +6 -10
  36. package/dist/esm/index.js.map +1 -1
  37. package/dist/esm/protocols/a2a.external-connectors-models.schemas.d.ts +0 -57
  38. package/dist/esm/protocols/a2a.external-connectors-models.schemas.d.ts.map +0 -1
  39. package/dist/esm/protocols/a2a.external-connectors-models.schemas.js +0 -73
  40. package/dist/esm/protocols/a2a.external-connectors-models.schemas.js.map +0 -1
  41. package/dist/esm/protocols/agent-client-protocol.external-connectors-models.schemas.d.ts +110 -3
  42. package/dist/esm/protocols/agent-client-protocol.external-connectors-models.schemas.d.ts.map +1 -1
  43. package/dist/esm/protocols/agent-client-protocol.external-connectors-models.schemas.js +140 -1
  44. package/dist/esm/protocols/agent-client-protocol.external-connectors-models.schemas.js.map +1 -1
  45. package/dist/esm/protocols/billing.standard-interface.schemas.d.ts +154 -0
  46. package/dist/esm/protocols/billing.standard-interface.schemas.d.ts.map +1 -1
  47. package/dist/esm/protocols/billing.standard-interface.schemas.js +50 -1
  48. package/dist/esm/protocols/billing.standard-interface.schemas.js.map +1 -1
  49. package/dist/esm/protocols/email.external-connectors-models.schemas.d.ts +1 -1
  50. package/dist/esm/protocols/email.standard-interface.schemas.d.ts +5 -5
  51. package/dist/esm/protocols/git.external-connectors-models.schemas.d.ts +0 -14
  52. package/dist/esm/protocols/git.external-connectors-models.schemas.d.ts.map +0 -1
  53. package/dist/esm/protocols/git.external-connectors-models.schemas.js +0 -9
  54. package/dist/esm/protocols/git.external-connectors-models.schemas.js.map +0 -1
  55. package/dist/esm/protocols/grpc.external-connectors-models.schemas.d.ts +0 -14
  56. package/dist/esm/protocols/grpc.external-connectors-models.schemas.d.ts.map +0 -1
  57. package/dist/esm/protocols/grpc.external-connectors-models.schemas.js +0 -9
  58. package/dist/esm/protocols/grpc.external-connectors-models.schemas.js.map +0 -1
  59. package/dist/esm/protocols/hooks-capability.external-connectors-models.schemas.d.ts +101 -0
  60. package/dist/esm/protocols/hooks-capability.external-connectors-models.schemas.d.ts.map +1 -0
  61. package/dist/esm/protocols/hooks-capability.external-connectors-models.schemas.js +11 -0
  62. package/dist/esm/protocols/hooks-capability.external-connectors-models.schemas.js.map +1 -0
  63. package/dist/esm/protocols/llm.external-connectors-models.schemas.d.ts +36 -19
  64. package/dist/esm/protocols/llm.external-connectors-models.schemas.d.ts.map +1 -1
  65. package/dist/esm/protocols/llm.external-connectors-models.schemas.js +90 -28
  66. package/dist/esm/protocols/llm.external-connectors-models.schemas.js.map +1 -1
  67. package/dist/esm/protocols/mcp.external-connectors-models.schemas.d.ts +0 -60
  68. package/dist/esm/protocols/mcp.external-connectors-models.schemas.d.ts.map +0 -1
  69. package/dist/esm/protocols/mcp.external-connectors-models.schemas.js +0 -35
  70. package/dist/esm/protocols/mcp.external-connectors-models.schemas.js.map +0 -1
  71. package/dist/esm/protocols/oauth2.external-connectors-models.schemas.d.ts +2 -2
  72. package/dist/esm/protocols/rest-api.external-connectors-models.schemas.d.ts +1 -89
  73. package/dist/esm/protocols/rest-api.external-connectors-models.schemas.d.ts.map +1 -1
  74. package/dist/esm/protocols/rest-api.external-connectors-models.schemas.js +1 -83
  75. package/dist/esm/protocols/rest-api.external-connectors-models.schemas.js.map +1 -1
  76. package/dist/esm/protocols/rest-operations.external-connectors-models.schemas.d.ts +370 -0
  77. package/dist/esm/protocols/rest-operations.external-connectors-models.schemas.d.ts.map +1 -0
  78. package/dist/esm/protocols/rest-operations.external-connectors-models.schemas.js +89 -0
  79. package/dist/esm/protocols/rest-operations.external-connectors-models.schemas.js.map +1 -0
  80. package/dist/esm/protocols/saml.external-connectors-models.schemas.d.ts +0 -135
  81. package/dist/esm/protocols/saml.external-connectors-models.schemas.d.ts.map +0 -1
  82. package/dist/esm/protocols/saml.external-connectors-models.schemas.js +0 -9
  83. package/dist/esm/protocols/saml.external-connectors-models.schemas.js.map +0 -1
  84. package/dist/esm/protocols/sms.standard-interface.schemas.d.ts +2 -2
  85. package/dist/tsconfig.build.tsbuildinfo +1 -1
  86. package/package.json +2 -2
@@ -1,73 +0,0 @@
1
- import { z } from "zod";
2
- import { ExternalProvider_Auth_Kind } from "../core/security.external-connectors-models.schemas.js";
3
- import { ExternalProvider_ExchangeProtocol_Kind, ExternalProvider_ExchangeProtocol_Status_BaseSchema } from "../core/commons.external-connectors-models.schemas.js";
4
- //===============================================================
5
- // A2A (Agent-to-Agent) Protocol
6
- // --------
7
- // Protocol for agent-to-agent communication enabling autonomous
8
- // collaboration between AI agents. Supports discovery, negotiation,
9
- // delegation, and coordination patterns with security and trust.
10
- //===============================================================
11
- export var A2A_CapabilityType;
12
- (function (A2A_CapabilityType) {
13
- A2A_CapabilityType["TASK_EXECUTION"] = "task_execution";
14
- A2A_CapabilityType["INFORMATION_RETRIEVAL"] = "information_retrieval";
15
- A2A_CapabilityType["DECISION_MAKING"] = "decision_making";
16
- A2A_CapabilityType["PLANNING"] = "planning";
17
- A2A_CapabilityType["MONITORING"] = "monitoring";
18
- A2A_CapabilityType["COORDINATION"] = "coordination";
19
- })(A2A_CapabilityType || (A2A_CapabilityType = {}));
20
- export const A2A_AgentRefSchema = z.object({
21
- providerRef: z.string(),
22
- agentRef: z.string(),
23
- });
24
- export const A2A_AgentCapabilitySchema = z.object({
25
- type: z.enum(A2A_CapabilityType),
26
- name: z.string(),
27
- description: z.string(),
28
- parameters: z.record(z.string(), z.unknown()).optional(),
29
- cost: z.number().optional(),
30
- estimatedDuration: z.number().optional(),
31
- qualityMetrics: z.record(z.string(), z.number()).optional(),
32
- });
33
- export const A2A_Agent_AuthKind = [
34
- ExternalProvider_Auth_Kind.NONE,
35
- ExternalProvider_Auth_Kind.API_KEY,
36
- ExternalProvider_Auth_Kind.BEARER,
37
- ExternalProvider_Auth_Kind.BASIC,
38
- ExternalProvider_Auth_Kind.OAUTH2,
39
- ExternalProvider_Auth_Kind.MUTUAL_TLS
40
- ];
41
- // ------------------------------------------------------------
42
- // OPERATIONS
43
- // ------------------------------------------------------------
44
- export var A2A_OperationKind;
45
- (function (A2A_OperationKind) {
46
- A2A_OperationKind["MESSAGE"] = "message";
47
- A2A_OperationKind["DELEGATION"] = "delegation";
48
- A2A_OperationKind["NEGOTIATION"] = "negotiation";
49
- })(A2A_OperationKind || (A2A_OperationKind = {}));
50
- export var A2A_MessageKind;
51
- (function (A2A_MessageKind) {
52
- A2A_MessageKind["REQUEST"] = "request";
53
- A2A_MessageKind["RESPONSE"] = "response";
54
- A2A_MessageKind["INFORMATION"] = "information";
55
- A2A_MessageKind["COORDINATION"] = "coordination";
56
- A2A_MessageKind["ERROR"] = "error";
57
- })(A2A_MessageKind || (A2A_MessageKind = {}));
58
- export var A2A_Delegation_Status;
59
- (function (A2A_Delegation_Status) {
60
- A2A_Delegation_Status["PENDING"] = "pending";
61
- A2A_Delegation_Status["ACCEPTED"] = "accepted";
62
- A2A_Delegation_Status["REJECTED"] = "rejected";
63
- A2A_Delegation_Status["IN_PROGRESS"] = "in_progress";
64
- A2A_Delegation_Status["COMPLETED"] = "completed";
65
- A2A_Delegation_Status["FAILED"] = "failed";
66
- })(A2A_Delegation_Status || (A2A_Delegation_Status = {}));
67
- //===============================================================
68
- // STATUS
69
- //===============================================================
70
- export const A2AProvider_StatusSchema = ExternalProvider_ExchangeProtocol_Status_BaseSchema.extend({
71
- protocolKind: z.literal(ExternalProvider_ExchangeProtocol_Kind.A2A_CONNECTOR),
72
- });
73
- //# sourceMappingURL=a2a.external-connectors-models.schemas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"a2a.external-connectors-models.schemas.js","sourceRoot":"","sources":["../../../../src/protocols/a2a.external-connectors-models.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,0BAA0B,EAAE,MAAM,qDAAqD,CAAC;AACjG,OAAO,EAAwD,sCAAsC,EAAiG,mDAAmD,EAAE,MAAM,oDAAoD,CAAC;AAEtT,iEAAiE;AACjE,gCAAgC;AAChC,WAAW;AACX,gEAAgE;AAChE,oEAAoE;AACpE,iEAAiE;AACjE,iEAAiE;AAGjE,MAAM,CAAN,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC5B,uDAAiC,CAAA;IACjC,qEAA+C,CAAA;IAC/C,yDAAmC,CAAA;IACnC,2CAAqB,CAAA;IACrB,+CAAyB,CAAA;IACzB,mDAA6B,CAAA;AAC/B,CAAC,EAPW,kBAAkB,KAAlB,kBAAkB,QAO7B;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACxD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC5D,CAAC,CAAC;AAKH,MAAM,CAAC,MAAM,kBAAkB,GAA0C;IACvE,0BAA0B,CAAC,IAAI;IAC/B,0BAA0B,CAAC,OAAO;IAClC,0BAA0B,CAAC,MAAM;IACjC,0BAA0B,CAAC,KAAK;IAChC,0BAA0B,CAAC,MAAM;IACjC,0BAA0B,CAAC,UAAU;CACtC,CAAC;AAOF,+DAA+D;AAC/D,aAAa;AACb,+DAA+D;AAI/D,MAAM,CAAN,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,wCAAmB,CAAA;IACnB,8CAAyB,CAAA;IACzB,gDAA2B,CAAA;AAE7B,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B;AACD,MAAM,CAAN,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,sCAAmB,CAAA;IACnB,wCAAqB,CAAA;IACrB,8CAA2B,CAAA;IAC3B,gDAA6B,CAAA;IAC7B,kCAAe,CAAA;AACjB,CAAC,EANW,eAAe,KAAf,eAAe,QAM1B;AAID,MAAM,CAAN,IAAY,qBAOX;AAPD,WAAY,qBAAqB;IAC/B,4CAAmB,CAAA;IACnB,8CAAqB,CAAA;IACrB,8CAAqB,CAAA;IACrB,oDAA2B,CAAA;IAC3B,gDAAuB,CAAA;IACvB,0CAAiB,CAAA;AACnB,CAAC,EAPW,qBAAqB,KAArB,qBAAqB,QAOhC;AAGD,iEAAiE;AACjE,SAAS;AACT,iEAAiE;AAEjE,MAAM,CAAC,MAAM,wBAAwB,GAAG,mDAAmD,CAAC,MAAM,CAAC;IACjG,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,sCAAsC,CAAC,aAAa,CAAC;CAC9E,CAAC,CAAC","sourcesContent":["import { z } from \"zod\";\nimport { ExternalProvider_Auth_Kind } from \"../core/security.external-connectors-models.schemas\";\nimport { ExternalProvider_ExchangeProtocol_Configuration_Base, ExternalProvider_ExchangeProtocol_Kind, ExternalProvider_ExchangeProtocol_Profile_Base, ExternalProvider_ExchangeProtocol_Status_Base, ExternalProvider_ExchangeProtocol_Status_BaseSchema } from \"../core/commons.external-connectors-models.schemas\";\n\n//===============================================================\n// A2A (Agent-to-Agent) Protocol\n// --------\n// Protocol for agent-to-agent communication enabling autonomous\n// collaboration between AI agents. Supports discovery, negotiation,\n// delegation, and coordination patterns with security and trust.\n//===============================================================\n\n\nexport enum A2A_CapabilityType {\n TASK_EXECUTION = \"task_execution\",\n INFORMATION_RETRIEVAL = \"information_retrieval\",\n DECISION_MAKING = \"decision_making\",\n PLANNING = \"planning\",\n MONITORING = \"monitoring\",\n COORDINATION = \"coordination\",\n}\n\nexport const A2A_AgentRefSchema = z.object({\n providerRef: z.string(),\n agentRef: z.string(),\n});\n\nexport const A2A_AgentCapabilitySchema = z.object({\n type: z.enum(A2A_CapabilityType),\n name: z.string(),\n description: z.string(),\n parameters: z.record(z.string(), z.unknown()).optional(),\n cost: z.number().optional(),\n estimatedDuration: z.number().optional(),\n qualityMetrics: z.record(z.string(), z.number()).optional(),\n});\n\nexport type A2A_AgentRef = z.infer<typeof A2A_AgentRefSchema>;\nexport type A2A_AgentCapability = z.infer<typeof A2A_AgentCapabilitySchema>;\n\nexport const A2A_Agent_AuthKind: readonly ExternalProvider_Auth_Kind[] = [ \n ExternalProvider_Auth_Kind.NONE, \n ExternalProvider_Auth_Kind.API_KEY, \n ExternalProvider_Auth_Kind.BEARER, \n ExternalProvider_Auth_Kind.BASIC, \n ExternalProvider_Auth_Kind.OAUTH2, \n ExternalProvider_Auth_Kind.MUTUAL_TLS \n];\n\n\nexport type A2A_AgentProfile = ExternalProvider_ExchangeProtocol_Profile_Base;\n\nexport type A2A_Configuration = ExternalProvider_ExchangeProtocol_Configuration_Base;\n\n// ------------------------------------------------------------\n// OPERATIONS\n// ------------------------------------------------------------\n\n\n\nexport enum A2A_OperationKind {\n MESSAGE = \"message\",\n DELEGATION = \"delegation\",\n NEGOTIATION = \"negotiation\",\n \n}\nexport enum A2A_MessageKind {\n REQUEST = \"request\",\n RESPONSE = \"response\",\n INFORMATION = \"information\",\n COORDINATION = \"coordination\",\n ERROR = \"error\",\n}\n\n\n\nexport enum A2A_Delegation_Status {\n PENDING = \"pending\",\n ACCEPTED = \"accepted\",\n REJECTED = \"rejected\",\n IN_PROGRESS = \"in_progress\",\n COMPLETED = \"completed\",\n FAILED = \"failed\",\n}\n\n\n//===============================================================\n// STATUS\n//===============================================================\n\nexport const A2AProvider_StatusSchema = ExternalProvider_ExchangeProtocol_Status_BaseSchema.extend({\n protocolKind: z.literal(ExternalProvider_ExchangeProtocol_Kind.A2A_CONNECTOR),\n});\nexport type A2AProvider_Status = z.infer<typeof A2AProvider_StatusSchema>;\n"]}
@@ -63,10 +63,19 @@ export declare enum AgentClientProtocol_WorkingDirectoryPolicy {
63
63
  * what lets an application say "no session started from this profile may ever
64
64
  * skip the permission gate" independently of what any individual run requests.
65
65
  *
66
- * Ordering is meaningful and increasing: PROMPT_ALWAYS < AUTO_ACCEPT_EDITS <
66
+ * Ordering is meaningful and increasing over all FIVE members: PROMPT_ALWAYS <
67
+ * AUTO_ACCEPT_READS < AUTO_ACCEPT_EDITS < AUTO_ACCEPT_READS_AND_EDITS <
67
68
  * UNRESTRICTED. Compare through {@link agentClientProtocolPermissionCeilingRank}
68
69
  * rather than by string, so the ordering has one definition.
70
+ *
71
+ * Read that order as a CLAMP — how much is pre-approved without a human — and never
72
+ * as containment. The ceilings are kind-SETS and are deliberately not nested:
73
+ * AUTO_ACCEPT_EDITS outranks AUTO_ACCEPT_READS and still refuses `fetch`, which is
74
+ * exactly why AUTO_ACCEPT_READS_AND_EDITS had to be added rather than being implied
75
+ * by the higher rank. Each member's own docstring states the set it admits, and the
76
+ * rank function carries the full argument for why containment is the wrong reading.
69
77
  */
78
+ /** @wildo_source:part:start acp.permission-ceiling facet:layer:config facet:audience:app-developer */
70
79
  export declare enum AgentClientProtocol_PermissionCeiling {
71
80
  /**
72
81
  * Every permission request the agent raises must be answered by the client.
@@ -134,6 +143,7 @@ export declare enum AgentClientProtocol_PermissionCeiling {
134
143
  /** No permission gate. Reserve for a disposable or isolated workspace. */
135
144
  UNRESTRICTED = "unrestricted"
136
145
  }
146
+ /** @wildo_source:part:end acp.permission-ceiling */
137
147
  /**
138
148
  * Increasing rank for {@link AgentClientProtocol_PermissionCeiling}; the single ordering definition.
139
149
  *
@@ -154,6 +164,95 @@ export declare enum AgentClientProtocol_PermissionCeiling {
154
164
  * the read direction should mean.
155
165
  */
156
166
  export declare function agentClientProtocolPermissionCeilingRank(ceiling: AgentClientProtocol_PermissionCeiling): number;
167
+ /**
168
+ * Whether THIS agent raises `session/request_permission` before it mutates —
169
+ * the one property that decides whether Wildo's in-flight guards can fire at all.
170
+ *
171
+ * # Why a permission ceiling needs this to mean anything
172
+ *
173
+ * Both of Wildo's in-flight controls are enforced in the CLIENT's ANSWER to a
174
+ * permission request: {@link AgentClientProtocol_PermissionCeiling} decides the
175
+ * tool KIND, and the dispatch's location predicate decides the PATHS. Neither is
176
+ * a sandbox, an interposed filesystem, or a syscall filter — they are answers.
177
+ * So an agent that writes without asking is bound by neither, and the ceiling
178
+ * an application authored is a LABEL rather than a guarantee.
179
+ *
180
+ * That is not hypothetical and it is not a fault in the agents. MEASURED with
181
+ * `wildo acp probe`:
182
+ *
183
+ * - Codex (`@agentclientprotocol/codex-acp`, 2026-09-06) raises nothing before
184
+ * an in-workspace write in ANY of its three modes, including with an explicit
185
+ * `approval_policy = "untrusted"`. Its safety model is a SANDBOX, so an
186
+ * in-workspace write is safe by ITS construction and there is nothing to ask
187
+ * about. A different architecture, not a defect.
188
+ * - OpenCode (1.18.27, 2026-09-04/05) does the same under its DEFAULT
189
+ * configuration, and escalates correctly when pointed at a permission
190
+ * configuration file. So for that agent the answer is conditional on
191
+ * something the HOST supplies.
192
+ * - Claude's adapter (`@agentclientprotocol/claude-agent-acp` 0.73.0) raises,
193
+ * and both guards fire.
194
+ *
195
+ * # Why it is DECLARED rather than inferred, and why it is required
196
+ *
197
+ * It cannot be inferred before a run: an agent that never asks and an agent that
198
+ * had nothing to ask about are indistinguishable from an empty decision list, and
199
+ * by the time the list is empty the workspace has already been mutated. The
200
+ * post-run change set remains the authoritative account of what a run touched —
201
+ * this declaration is what lets the framework say, BEFORE the run, whether that
202
+ * change set is the only account there will be.
203
+ *
204
+ * The provider declares it because the provider is the party that ran the probe.
205
+ * It is REQUIRED on the runtime contract for the same reason `modelDelivery` is:
206
+ * this lane has now shipped three safety-relevant fields that were authored,
207
+ * documented and read by nothing (`hostConfigurationInheritance`, the model
208
+ * channel, the provider's inherited environment). An author who cannot ship the
209
+ * gap is better than one who discovers it on a dispatched run.
210
+ *
211
+ * It is a CLAIM, never an alibi. The companion still judges each completed run
212
+ * from that run's OWN permission decisions and change set, so an agent whose
213
+ * behaviour changes between versions cannot keep a stale, reassuring declaration.
214
+ */
215
+ /** @wildo_source:part:start acp.permission-escalation facet:layer:config facet:audience:app-developer */
216
+ export declare enum AgentClientProtocol_PermissionEscalationBehaviour {
217
+ /**
218
+ * The agent escalates before mutating, so the ceiling and the mutation scope
219
+ * are both enforceable in flight. The only value under which a ceiling
220
+ * narrower than UNRESTRICTED means what it says.
221
+ */
222
+ RAISES_BEFORE_MUTATION = "raises_before_mutation",
223
+ /**
224
+ * The agent escalates ONLY when the host points it at a permission
225
+ * configuration it does not adopt by default.
226
+ *
227
+ * The configuration is therefore not hardening — it is the condition under
228
+ * which the agent may be dispatched with a gate at all, and the variable that
229
+ * carries the pointer is named on the contract so the dispatch can CHECK that
230
+ * a profile supplies it instead of trusting a docstring that says it must.
231
+ */
232
+ RAISES_ONLY_UNDER_HOST_CONFIGURATION = "raises_only_under_host_configuration",
233
+ /**
234
+ * The agent never escalates before mutating, under any configuration this
235
+ * framework can supply. Its own safety model is elsewhere (a sandbox), and
236
+ * Wildo's in-flight guards are inert for it by construction — the post-run
237
+ * change set is the only account of what it touched.
238
+ */
239
+ NEVER_RAISES = "never_raises"
240
+ }
241
+ /** @wildo_source:part:end acp.permission-escalation */
242
+ /**
243
+ * Can Wildo's in-flight permission ceiling and mutation-scope predicate fire for
244
+ * this agent, as it will actually be started?
245
+ *
246
+ * The single definition of that question, so the dispatch's refusal, the run's
247
+ * recorded metadata and any operator-facing report cannot disagree about it.
248
+ *
249
+ * `escalationConfigurationSupplied` answers only the conditional member: it is
250
+ * whether the composed child environment will actually carry the pointer the
251
+ * contract names. Deliberately a parameter rather than something this function
252
+ * reads, because the environment is composed by the dispatch and a predicate
253
+ * that guessed at it would be a second, quieter answer.
254
+ */
255
+ export declare function agentClientProtocolInFlightGuardsCanFire(behaviour: AgentClientProtocol_PermissionEscalationBehaviour, escalationConfigurationSupplied: boolean): boolean;
157
256
  /**
158
257
  * How much of the HOST MACHINE's agent configuration a session inherits.
159
258
  *
@@ -170,6 +269,7 @@ export declare function agentClientProtocolPermissionCeilingRank(ceiling: AgentC
170
269
  * application teaches the agent to use its framework. What it should not
171
270
  * silently absorb is whoever happens to be logged in.
172
271
  */
272
+ /** @wildo_source:part:start acp.host-configuration-inheritance facet:layer:config facet:audience:app-developer */
173
273
  export declare enum AgentClientProtocol_HostConfigurationInheritance {
174
274
  /** No filesystem-sourced agent configuration. The prompt is the whole instruction. */
175
275
  ISOLATED = "isolated",
@@ -187,12 +287,14 @@ export declare enum AgentClientProtocol_HostConfigurationInheritance {
187
287
  */
188
288
  HOST_INHERITED = "host_inherited"
189
289
  }
290
+ /** @wildo_source:part:end acp.host-configuration-inheritance */
190
291
  /**
191
292
  * One authored way to start an ACP agent.
192
293
  *
193
294
  * Mirrors the shape a provider's execution profiles have always had: the
194
295
  * spawnable command plus the policy that decides whether it may run at all.
195
296
  */
297
+ /** @wildo_source:part:start acp.execution-profile facet:layer:config facet:audience:app-developer */
196
298
  export declare const AgentClientProtocol_ExecutionProfileSchema: z.ZodObject<{
197
299
  runnerHost: z.ZodDefault<z.ZodEnum<typeof AgentClientProtocol_RunnerHost>>;
198
300
  command: z.ZodOptional<z.ZodString>;
@@ -214,6 +316,7 @@ export declare const AgentClientProtocol_ExecutionProfileSchema: z.ZodObject<{
214
316
  sessionMetaExtensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
215
317
  }, z.core.$strict>;
216
318
  export type AgentClientProtocol_ExecutionProfile = z.infer<typeof AgentClientProtocol_ExecutionProfileSchema>;
319
+ /** @wildo_source:part:end acp.execution-profile */
217
320
  /**
218
321
  * Transport capability metadata for an ACP-speaking provider.
219
322
  *
@@ -290,10 +393,10 @@ export declare const AgentClientProtocol_ProfileSchema: z.ZodObject<{
290
393
  extraAuthParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
291
394
  extraTokenParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
292
395
  tokenFormat: z.ZodDefault<z.ZodEnum<{
293
- token: "token";
396
+ custom: "custom";
294
397
  bearer: "bearer";
398
+ token: "token";
295
399
  oauth: "oauth";
296
- custom: "custom";
297
400
  }>>;
298
401
  customTokenPrefix: z.ZodOptional<z.ZodString>;
299
402
  }, z.core.$strip>, z.ZodObject<{
@@ -548,6 +651,8 @@ export declare const AgentClientProtocol_ExecutionTransportMetadataSchema: z.Zod
548
651
  agentName: z.ZodOptional<z.ZodString>;
549
652
  agentVersion: z.ZodOptional<z.ZodString>;
550
653
  sessionModeId: z.ZodOptional<z.ZodString>;
654
+ permissionEscalation: z.ZodOptional<z.ZodEnum<typeof AgentClientProtocol_PermissionEscalationBehaviour>>;
655
+ inFlightPermissionGuardsCanFire: z.ZodOptional<z.ZodBoolean>;
551
656
  sessionId: z.ZodOptional<z.ZodString>;
552
657
  }, z.core.$strip>;
553
658
  export type AgentClientProtocol_ExecutionTransportMetadata = z.infer<typeof AgentClientProtocol_ExecutionTransportMetadataSchema>;
@@ -579,6 +684,8 @@ export declare const CodingAgent_OperationContext_BaseSchema: z.ZodObject<{
579
684
  agentName: z.ZodOptional<z.ZodString>;
580
685
  agentVersion: z.ZodOptional<z.ZodString>;
581
686
  sessionModeId: z.ZodOptional<z.ZodString>;
687
+ permissionEscalation: z.ZodOptional<z.ZodEnum<typeof AgentClientProtocol_PermissionEscalationBehaviour>>;
688
+ inFlightPermissionGuardsCanFire: z.ZodOptional<z.ZodBoolean>;
582
689
  sessionId: z.ZodOptional<z.ZodString>;
583
690
  }, z.core.$strip>>;
584
691
  }, z.core.$strip>;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-client-protocol.external-connectors-models.schemas.d.ts","sourceRoot":"","sources":["../../../../src/protocols/agent-client-protocol.external-connectors-models.schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-client-protocol.external-connectors-models.schemas.d.ts","sourceRoot":"","sources":["../../../../src/protocols/agent-client-protocol.external-connectors-models.schemas.ts"],"names":[],"mappings":"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"}
@@ -99,10 +99,19 @@ export var AgentClientProtocol_WorkingDirectoryPolicy;
99
99
  * what lets an application say "no session started from this profile may ever
100
100
  * skip the permission gate" independently of what any individual run requests.
101
101
  *
102
- * Ordering is meaningful and increasing: PROMPT_ALWAYS < AUTO_ACCEPT_EDITS <
102
+ * Ordering is meaningful and increasing over all FIVE members: PROMPT_ALWAYS <
103
+ * AUTO_ACCEPT_READS < AUTO_ACCEPT_EDITS < AUTO_ACCEPT_READS_AND_EDITS <
103
104
  * UNRESTRICTED. Compare through {@link agentClientProtocolPermissionCeilingRank}
104
105
  * rather than by string, so the ordering has one definition.
106
+ *
107
+ * Read that order as a CLAMP — how much is pre-approved without a human — and never
108
+ * as containment. The ceilings are kind-SETS and are deliberately not nested:
109
+ * AUTO_ACCEPT_EDITS outranks AUTO_ACCEPT_READS and still refuses `fetch`, which is
110
+ * exactly why AUTO_ACCEPT_READS_AND_EDITS had to be added rather than being implied
111
+ * by the higher rank. Each member's own docstring states the set it admits, and the
112
+ * rank function carries the full argument for why containment is the wrong reading.
105
113
  */
114
+ /** @wildo_source:part:start acp.permission-ceiling facet:layer:config facet:audience:app-developer */
106
115
  export var AgentClientProtocol_PermissionCeiling;
107
116
  (function (AgentClientProtocol_PermissionCeiling) {
108
117
  /**
@@ -171,6 +180,7 @@ export var AgentClientProtocol_PermissionCeiling;
171
180
  /** No permission gate. Reserve for a disposable or isolated workspace. */
172
181
  AgentClientProtocol_PermissionCeiling["UNRESTRICTED"] = "unrestricted";
173
182
  })(AgentClientProtocol_PermissionCeiling || (AgentClientProtocol_PermissionCeiling = {}));
183
+ /** @wildo_source:part:end acp.permission-ceiling */
174
184
  /**
175
185
  * Increasing rank for {@link AgentClientProtocol_PermissionCeiling}; the single ordering definition.
176
186
  *
@@ -204,6 +214,105 @@ export function agentClientProtocolPermissionCeilingRank(ceiling) {
204
214
  return 4;
205
215
  }
206
216
  }
217
+ /**
218
+ * Whether THIS agent raises `session/request_permission` before it mutates —
219
+ * the one property that decides whether Wildo's in-flight guards can fire at all.
220
+ *
221
+ * # Why a permission ceiling needs this to mean anything
222
+ *
223
+ * Both of Wildo's in-flight controls are enforced in the CLIENT's ANSWER to a
224
+ * permission request: {@link AgentClientProtocol_PermissionCeiling} decides the
225
+ * tool KIND, and the dispatch's location predicate decides the PATHS. Neither is
226
+ * a sandbox, an interposed filesystem, or a syscall filter — they are answers.
227
+ * So an agent that writes without asking is bound by neither, and the ceiling
228
+ * an application authored is a LABEL rather than a guarantee.
229
+ *
230
+ * That is not hypothetical and it is not a fault in the agents. MEASURED with
231
+ * `wildo acp probe`:
232
+ *
233
+ * - Codex (`@agentclientprotocol/codex-acp`, 2026-09-06) raises nothing before
234
+ * an in-workspace write in ANY of its three modes, including with an explicit
235
+ * `approval_policy = "untrusted"`. Its safety model is a SANDBOX, so an
236
+ * in-workspace write is safe by ITS construction and there is nothing to ask
237
+ * about. A different architecture, not a defect.
238
+ * - OpenCode (1.18.27, 2026-09-04/05) does the same under its DEFAULT
239
+ * configuration, and escalates correctly when pointed at a permission
240
+ * configuration file. So for that agent the answer is conditional on
241
+ * something the HOST supplies.
242
+ * - Claude's adapter (`@agentclientprotocol/claude-agent-acp` 0.73.0) raises,
243
+ * and both guards fire.
244
+ *
245
+ * # Why it is DECLARED rather than inferred, and why it is required
246
+ *
247
+ * It cannot be inferred before a run: an agent that never asks and an agent that
248
+ * had nothing to ask about are indistinguishable from an empty decision list, and
249
+ * by the time the list is empty the workspace has already been mutated. The
250
+ * post-run change set remains the authoritative account of what a run touched —
251
+ * this declaration is what lets the framework say, BEFORE the run, whether that
252
+ * change set is the only account there will be.
253
+ *
254
+ * The provider declares it because the provider is the party that ran the probe.
255
+ * It is REQUIRED on the runtime contract for the same reason `modelDelivery` is:
256
+ * this lane has now shipped three safety-relevant fields that were authored,
257
+ * documented and read by nothing (`hostConfigurationInheritance`, the model
258
+ * channel, the provider's inherited environment). An author who cannot ship the
259
+ * gap is better than one who discovers it on a dispatched run.
260
+ *
261
+ * It is a CLAIM, never an alibi. The companion still judges each completed run
262
+ * from that run's OWN permission decisions and change set, so an agent whose
263
+ * behaviour changes between versions cannot keep a stale, reassuring declaration.
264
+ */
265
+ /** @wildo_source:part:start acp.permission-escalation facet:layer:config facet:audience:app-developer */
266
+ export var AgentClientProtocol_PermissionEscalationBehaviour;
267
+ (function (AgentClientProtocol_PermissionEscalationBehaviour) {
268
+ /**
269
+ * The agent escalates before mutating, so the ceiling and the mutation scope
270
+ * are both enforceable in flight. The only value under which a ceiling
271
+ * narrower than UNRESTRICTED means what it says.
272
+ */
273
+ AgentClientProtocol_PermissionEscalationBehaviour["RAISES_BEFORE_MUTATION"] = "raises_before_mutation";
274
+ /**
275
+ * The agent escalates ONLY when the host points it at a permission
276
+ * configuration it does not adopt by default.
277
+ *
278
+ * The configuration is therefore not hardening — it is the condition under
279
+ * which the agent may be dispatched with a gate at all, and the variable that
280
+ * carries the pointer is named on the contract so the dispatch can CHECK that
281
+ * a profile supplies it instead of trusting a docstring that says it must.
282
+ */
283
+ AgentClientProtocol_PermissionEscalationBehaviour["RAISES_ONLY_UNDER_HOST_CONFIGURATION"] = "raises_only_under_host_configuration";
284
+ /**
285
+ * The agent never escalates before mutating, under any configuration this
286
+ * framework can supply. Its own safety model is elsewhere (a sandbox), and
287
+ * Wildo's in-flight guards are inert for it by construction — the post-run
288
+ * change set is the only account of what it touched.
289
+ */
290
+ AgentClientProtocol_PermissionEscalationBehaviour["NEVER_RAISES"] = "never_raises";
291
+ })(AgentClientProtocol_PermissionEscalationBehaviour || (AgentClientProtocol_PermissionEscalationBehaviour = {}));
292
+ /** @wildo_source:part:end acp.permission-escalation */
293
+ /**
294
+ * Can Wildo's in-flight permission ceiling and mutation-scope predicate fire for
295
+ * this agent, as it will actually be started?
296
+ *
297
+ * The single definition of that question, so the dispatch's refusal, the run's
298
+ * recorded metadata and any operator-facing report cannot disagree about it.
299
+ *
300
+ * `escalationConfigurationSupplied` answers only the conditional member: it is
301
+ * whether the composed child environment will actually carry the pointer the
302
+ * contract names. Deliberately a parameter rather than something this function
303
+ * reads, because the environment is composed by the dispatch and a predicate
304
+ * that guessed at it would be a second, quieter answer.
305
+ */
306
+ export function agentClientProtocolInFlightGuardsCanFire(behaviour, escalationConfigurationSupplied) {
307
+ switch (behaviour) {
308
+ case AgentClientProtocol_PermissionEscalationBehaviour.RAISES_BEFORE_MUTATION:
309
+ return true;
310
+ case AgentClientProtocol_PermissionEscalationBehaviour.RAISES_ONLY_UNDER_HOST_CONFIGURATION:
311
+ return escalationConfigurationSupplied;
312
+ case AgentClientProtocol_PermissionEscalationBehaviour.NEVER_RAISES:
313
+ return false;
314
+ }
315
+ }
207
316
  /**
208
317
  * How much of the HOST MACHINE's agent configuration a session inherits.
209
318
  *
@@ -220,6 +329,7 @@ export function agentClientProtocolPermissionCeilingRank(ceiling) {
220
329
  * application teaches the agent to use its framework. What it should not
221
330
  * silently absorb is whoever happens to be logged in.
222
331
  */
332
+ /** @wildo_source:part:start acp.host-configuration-inheritance facet:layer:config facet:audience:app-developer */
223
333
  export var AgentClientProtocol_HostConfigurationInheritance;
224
334
  (function (AgentClientProtocol_HostConfigurationInheritance) {
225
335
  /** No filesystem-sourced agent configuration. The prompt is the whole instruction. */
@@ -238,12 +348,14 @@ export var AgentClientProtocol_HostConfigurationInheritance;
238
348
  */
239
349
  AgentClientProtocol_HostConfigurationInheritance["HOST_INHERITED"] = "host_inherited";
240
350
  })(AgentClientProtocol_HostConfigurationInheritance || (AgentClientProtocol_HostConfigurationInheritance = {}));
351
+ /** @wildo_source:part:end acp.host-configuration-inheritance */
241
352
  /**
242
353
  * One authored way to start an ACP agent.
243
354
  *
244
355
  * Mirrors the shape a provider's execution profiles have always had: the
245
356
  * spawnable command plus the policy that decides whether it may run at all.
246
357
  */
358
+ /** @wildo_source:part:start acp.execution-profile facet:layer:config facet:audience:app-developer */
247
359
  export const AgentClientProtocol_ExecutionProfileSchema = z.object({
248
360
  runnerHost: z.enum(AgentClientProtocol_RunnerHost).default(AgentClientProtocol_RunnerHost.BACKEND_SUBPROCESS),
249
361
  /**
@@ -396,6 +508,7 @@ export const AgentClientProtocol_ExecutionProfileSchema = z.object({
396
508
  });
397
509
  }
398
510
  });
511
+ /** @wildo_source:part:end acp.execution-profile */
399
512
  /**
400
513
  * Transport capability metadata for an ACP-speaking provider.
401
514
  *
@@ -663,6 +776,32 @@ export const AgentClientProtocol_ExecutionTransportMetadataSchema = z.object({
663
776
  * which of the agent's modes that became.
664
777
  */
665
778
  sessionModeId: z.string().optional(),
779
+ /**
780
+ * Whether the agent this run started DECLARES that it escalates before
781
+ * mutating, and whether Wildo's in-flight guards could therefore fire.
782
+ *
783
+ * Recorded on the run because the ceiling alone no longer explains the run:
784
+ * `permissionCeiling: PROMPT_ALWAYS` against an agent that never asks and
785
+ * against one that always asks describe two completely different runs, and
786
+ * nothing else in this metadata tells them apart. A later reader looking at a
787
+ * change set needs to know whether anything stood between the agent and it.
788
+ *
789
+ * Optional because the declaration is a provider fact and a run recorded
790
+ * before this field existed genuinely has no answer — absence must not read as
791
+ * `false`, which would assert an unbound run that may have been fully bound.
792
+ */
793
+ permissionEscalation: z.enum(AgentClientProtocol_PermissionEscalationBehaviour).optional(),
794
+ /**
795
+ * The resolved answer for THIS run, from
796
+ * {@link agentClientProtocolInFlightGuardsCanFire} — the declared behaviour
797
+ * combined with whether the composed environment actually supplied the
798
+ * configuration a conditionally-escalating agent needs.
799
+ *
800
+ * Kept beside the behaviour rather than derived by each reader, because the
801
+ * conditional member cannot be resolved from the behaviour alone and a reader
802
+ * that tried would answer `true` for an agent that was dispatched unconfigured.
803
+ */
804
+ inFlightPermissionGuardsCanFire: z.boolean().optional(),
666
805
  /** The ACP session, retained so a later turn can resume or fork it. */
667
806
  sessionId: z.string().optional(),
668
807
  });