@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 +1 @@
1
- {"version":3,"file":"agent-client-protocol.external-connectors-models.schemas.js","sourceRoot":"","sources":["../../../../src/protocols/agent-client-protocol.external-connectors-models.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from \"zod\";\nimport {\n ExternalProvider_OperationContextSchema,\n ExternalProvider_OperationDefinition_Base,\n} from \"../core/operations.external-connectors-models.schemas\";\nimport {\n APPLICATION_ENVIRONMENT,\n ExternalProvider_ExchangeProtocol_Configuration_Base,\n ExternalProvider_ExchangeProtocol_Configuration_BaseSchema,\n ExternalProvider_ExchangeProtocol_Kind,\n ExternalProvider_ExchangeProtocol_Profile_Base,\n ExternalProvider_ExchangeProtocol_Profile_BaseSchema,\n ExternalProvider_ExchangeProtocol_Status_BaseSchema,\n} from \"../core/commons.external-connectors-models.schemas\";\n\n//===============================================================\n// Agent Client Protocol (ACP)\n// --------\n// Execution protocol for CODING AGENTS: a long-lived JSON-RPC 2.0 session over\n// stdio between Wildo (the ACP *client*) and an agent subprocess that reads and\n// writes a workspace, runs commands, and asks permission before doing so.\n//\n// This is Zed's Agent Client Protocol (agentclientprotocol.com), NOT IBM's\n// \"Agent Communication Protocol\" — that one is agent-to-agent and overlaps\n// `A2A_CONNECTOR`. The two share an acronym and nothing else.\n//\n// # Why this is not a one-shot CLI transport with extra fields\n//\n// The transport this REPLACED (removed 2026-08-27) modelled ONE-SHOT command\n// execution: compose argv, feed stdin, wait for exit, parse stdout. Every field\n// it owned (`outputParserMode`, `jsonOutputPath`, per-operation argument\n// templates) described that shape. A\n// coding agent is the opposite shape — a session that streams progress, calls\n// back into the client for permission, survives many turns, and reports token\n// usage as it goes. Modelling it as a one-shot text call is precisely what left\n// the previous lane with no token accounting, no permission channel, no\n// cancellation and no resumption: those are not missing features, they are\n// consequences of the wrong protocol shape.\n//\n// # Deliberately AGENT-NEUTRAL\n//\n// Wildo's default coding agent is Claude Code (through Zed's ACP adapter), but\n// nothing in this contract names it. Every agent-specific concept is either\n// negotiated at runtime (the agent advertises its capabilities and session\n// modes in its `initialize` / `session/new` responses) or authored as opaque\n// `sessionMetaExtensions`. That is what makes selecting a different registered\n// ACP agent a configuration change rather than a new execution lane.\n//===============================================================\n\n/**\n * Where the agent subprocess runs.\n *\n * Only one host exists today, and it is the same constraint the coding lane has\n * always had: the agent must share a filesystem with the workspace it mutates.\n * A remote host is not a variant of this — it would need the workspace shipped\n * to it, which is a different design, so it is deliberately not enumerated\n * until it exists.\n */\nexport enum AgentClientProtocol_RunnerHost {\n BACKEND_SUBPROCESS = \"backend_subprocess\",\n}\n\n/**\n * How the spawned agent authenticates to its own model provider.\n *\n * ACP additionally defines a protocol-level `authenticate` method, advertised\n * through the agent's `authMethods` array. That is NOT enumerated here: when an\n * agent advertises auth methods the runner negotiates them at `initialize`\n * time, which is a runtime handshake rather than authored configuration. These\n * modes describe what the HOST does before the process starts.\n */\nexport enum AgentClientProtocol_AuthMode {\n /** The agent needs no credential (a local model, or an agent that refuses work). */\n NONE = \"none\",\n /**\n * The agent resolves its own credential from host state — an operator's prior\n * interactive login, a keychain entry, an ambient cloud identity. Wildo\n * injects nothing and can see nothing. This is the correct mode for a\n * developer-machine coding agent.\n */\n HOST_MANAGED = \"host_managed\",\n /** Wildo resolves a secret by ref and injects it into the child environment. */\n SECRET_REF_ENV_INJECTION = \"secret_ref_env_injection\",\n}\n\n/**\n * Which directory becomes the ACP session's `cwd`.\n *\n * ACP requires `cwd` to be an ABSOLUTE path and treats it as the session's\n * primary filesystem context. The absolute path itself is never authored here:\n * it is host authority supplied at invocation time, which is what makes a\n * profile portable across applications and machines.\n */\nexport enum AgentClientProtocol_WorkingDirectoryPolicy {\n WORKSPACE_ROOT = \"workspace_root\",\n WORKSPACE_RELATIVE_PATH = \"workspace_relative_path\",\n}\n\n/**\n * The MOST autonomy a session started from this profile may be granted.\n *\n * This is a Wildo-owned vocabulary, deliberately expressed in terms of what the\n * CLIENT must still decide rather than in any agent's mode identifiers. Agents\n * advertise their own modes at `session/new` (Claude's adapter offers\n * `default`, `auto`, `acceptEdits`, `plan`, `dontAsk`, `bypassPermissions`),\n * and those identifiers are agent-specific strings — binding a provider profile\n * to them would make the contract unusable for any other agent and would break\n * the moment an agent renames one.\n *\n * It is a CEILING, not a selection: the caller (for application creation, the\n * autonomy mode of the journey) chooses at or below it. An authored ceiling is\n * what lets an application say \"no session started from this profile may ever\n * skip the permission gate\" independently of what any individual run requests.\n *\n * Ordering is meaningful and increasing: PROMPT_ALWAYS < AUTO_ACCEPT_EDITS <\n * UNRESTRICTED. Compare through {@link agentClientProtocolPermissionCeilingRank}\n * rather than by string, so the ordering has one definition.\n */\nexport enum AgentClientProtocol_PermissionCeiling {\n /**\n * Every permission request the agent raises must be answered by the client.\n *\n * Note what this does and does not promise: it guarantees the CLIENT decides\n * every request the agent RAISES, not that the agent raises one per action.\n * Which tool calls escalate is the agent's own policy — measured against\n * Claude's adapter, file edits and writes prompt while a read-only shell\n * command does not. Treat this as \"no blanket pre-approval\", never as \"a\n * complete inventory of what the agent did\"; that inventory comes from the\n * tool-call stream and, authoritatively, from the change set.\n */\n PROMPT_ALWAYS = \"prompt_always\",\n /**\n * File edits are auto-accepted; everything else must still be answered.\n *\n * \"Must still be answered\" is a promise the CLIENT keeps, and it is only\n * keepable because the runner refuses to hand the decision to the agent.\n * Measured live against Claude's adapter on 2026-08-27: selecting that\n * agent's own `acceptEdits` session mode ALSO auto-approves arbitrary shell\n * commands, so a mutating `printf > file` executed with no permission request\n * at all and wrote outside the task's declared mutation scope. Under the\n * strictest mode the identical prompt escalated and was denied, and nothing\n * was written.\n *\n * So this ceiling is implemented by keeping the agent in its most-escalating\n * mode and auto-allowing edit-kind requests HERE. The agent's similarly named\n * mode is deliberately not selected: it grants strictly more than its name.\n */\n AUTO_ACCEPT_EDITS = \"auto_accept_edits\",\n /**\n * The protocol's NON-MUTATING tool kinds are auto-accepted; everything else must still be\n * answered — and with no human at the other end, that means denied.\n *\n * The read-only lane. `read`, `search`, `fetch` and `think` are exactly the kinds the Agent Client\n * Protocol itself classes as non-mutating; `edit`, `delete` and `move` are its mutating set and are\n * refused here, as are `execute` (which can mutate anything) and `other` (unclassified, so\n * fail-closed).\n *\n * Added 2026-08-29 because neither existing ceiling could express a research agent, MEASURED\n * rather than assumed: a probe under {@link PROMPT_ALWAYS} with every location refused had both\n * `WebFetch` and `WebSearch` arrive as `toolKind: 'fetch'` and be `ceiling_refused`, and the agent\n * ended its turn saying it would not guess a price from memory. So PROMPT_ALWAYS denies research\n * outright, and {@link AUTO_ACCEPT_EDITS} admits precisely the inverse of what research needs.\n */\n AUTO_ACCEPT_READS = \"auto_accept_reads\",\n /**\n * The non-mutating kinds AND the file-mutating kinds are auto-accepted; `execute` and the\n * unclassified `other` must still be answered — and with no human at the other end, that means\n * denied.\n *\n * Added 2026-09-04 for the research-agent evidence store, and MEASURED before it existed rather\n * than after: switching the research profile from {@link AUTO_ACCEPT_READS} to\n * {@link AUTO_ACCEPT_EDITS} — so the agent could persist findings to disk — silently inverted the\n * lane's whole posture, because the ceilings are kind-SETS, not nested ranks: a live compliance\n * run spent two rounds with every WebFetch/WebSearch refused, and its only output was a store\n * note titled \"NO EVIDENCE COLLECTED\". A lane that both reads the world and persists what it\n * read needs this member; neither existing set contains the other.\n *\n * The confinement story is unchanged: this ceiling decides KINDS, and the dispatch's location\n * predicate still decides PATHS — a research profile on this ceiling with a store-only predicate\n * can fetch anything and write only its evidence directory.\n */\n AUTO_ACCEPT_READS_AND_EDITS = \"auto_accept_reads_and_edits\",\n /** No permission gate. Reserve for a disposable or isolated workspace. */\n UNRESTRICTED = \"unrestricted\",\n}\n\n/**\n * Increasing rank for {@link AgentClientProtocol_PermissionCeiling}; the single ordering definition.\n *\n * ## It is a CLAMP order, not a subset lattice — and that distinction is load-bearing\n *\n * Rank answers one question: how much is pre-approved without a human. It is used to LOWER a\n * request that asks for more autonomy than its profile allows, never to reason about which\n * permissions contain which.\n *\n * The sets are deliberately NOT nested. {@link AgentClientProtocol_PermissionCeiling.AUTO_ACCEPT_EDITS}\n * (rank 2) admits the mutating kinds and still refuses `fetch`, while\n * {@link AgentClientProtocol_PermissionCeiling.AUTO_ACCEPT_READS} (rank 1) admits `fetch` and refuses\n * every mutating kind. Reading rank as containment would say the higher ceiling must also admit\n * `fetch` — and making that true would hand every coding agent network access as a side effect of\n * building a research lane. That is a change to the coding lane's posture and it needs its own\n * evidence, not a corollary. Clamping still behaves correctly: a coding profile lowered to\n * AUTO_ACCEPT_READS may fetch and may not edit, which is exactly what asking for less autonomy in\n * the read direction should mean.\n */\nexport function agentClientProtocolPermissionCeilingRank(\n ceiling: AgentClientProtocol_PermissionCeiling,\n): number {\n switch (ceiling) {\n case AgentClientProtocol_PermissionCeiling.PROMPT_ALWAYS:\n return 0;\n case AgentClientProtocol_PermissionCeiling.AUTO_ACCEPT_READS:\n return 1;\n case AgentClientProtocol_PermissionCeiling.AUTO_ACCEPT_EDITS:\n return 2;\n case AgentClientProtocol_PermissionCeiling.AUTO_ACCEPT_READS_AND_EDITS:\n return 3;\n case AgentClientProtocol_PermissionCeiling.UNRESTRICTED:\n return 4;\n }\n}\n\n/**\n * How much of the HOST MACHINE's agent configuration a session inherits.\n *\n * Coding agents read configuration from the filesystem — instructions, skills,\n * slash commands, sub-agent personas, tool permissions — and they layer several\n * scopes. Measured against Claude's ACP adapter, the default is to load ALL of\n * them, including the operator's personal `~/.claude`: a probe session returned\n * roughly forty commands and a persona belonging to the machine running it,\n * none of which the application authored.\n *\n * That inheritance is not simply undesirable, which is why this is a three-way\n * choice rather than a boolean. A dispatched coding task SHOULD read the\n * application's own instructions and installed skills — that is how the\n * application teaches the agent to use its framework. What it should not\n * silently absorb is whoever happens to be logged in.\n */\nexport enum AgentClientProtocol_HostConfigurationInheritance {\n /** No filesystem-sourced agent configuration. The prompt is the whole instruction. */\n ISOLATED = \"isolated\",\n /**\n * Configuration owned by the workspace (its committed instructions, its\n * installed skills, its checked-in settings) — but not the operator's\n * personal configuration. The correct default for a dispatched task.\n */\n APPLICATION_SCOPED = \"application_scoped\",\n /**\n * Everything the agent would load if a human had started it by hand,\n * including operator-level configuration. Honest about what it is: the run\n * then depends on machine state Wildo neither authored nor recorded, so a run\n * is not reproducible on another machine.\n */\n HOST_INHERITED = \"host_inherited\",\n}\n\n/**\n * One authored way to start an ACP agent.\n *\n * Mirrors the shape a provider's execution profiles have always had: the\n * spawnable command plus the policy that decides whether it may run at all.\n */\nexport const AgentClientProtocol_ExecutionProfileSchema = z.object({\n runnerHost: z.enum(AgentClientProtocol_RunnerHost).default(\n AgentClientProtocol_RunnerHost.BACKEND_SUBPROCESS,\n ),\n /**\n * The executable that speaks ACP on stdio — OPTIONAL, and normally omitted.\n *\n * How to START an agent is the PROVIDER's knowledge: the package, the pinned\n * version, the launcher. An application that restates it holds a second copy\n * of a version it does not own, which is how the adapter pin came to be\n * declared in two places with no mechanical link. Omit these and the provider\n * contract supplies them; set them only to run an agent the provider does not\n * describe, and accept owning the version if you do.\n */\n command: z.string().min(1).optional(),\n args: z.array(z.string()).optional(),\n /**\n * Host environment variables forwarded into the child.\n *\n * The runner starts from a minimal identity allowlist and adds only what is\n * named here. Full inheritance is never available: the process that spawns\n * the agent holds platform secrets that must not reach it.\n */\n inheritedEnvironmentVariables: z.array(z.string().min(1)).optional(),\n authMode: z.enum(AgentClientProtocol_AuthMode),\n secretRef: z.string().optional(),\n secretEnvVarName: z.string().optional(),\n /**\n * The environments this profile may run in — REQUIRED, and never widened by\n * default.\n *\n * This is the gate that keeps a workspace-mutating agent out of production.\n * It is carried here explicitly rather than inherited from anything, because\n * the equivalent guard on the protocol this replaces was enforced by a single\n * function that a new transport could have quietly failed to call.\n */\n allowedApplicationEnvironments: z.array(z.enum(APPLICATION_ENVIRONMENT)).min(1),\n /** Optional further narrowing to named platform environments. */\n allowedPlatformEnvironmentIds: z.array(z.string()).optional(),\n workingDirectoryPolicy: z.enum(AgentClientProtocol_WorkingDirectoryPolicy).default(\n AgentClientProtocol_WorkingDirectoryPolicy.WORKSPACE_ROOT,\n ),\n workingDirectoryRelativePath: z.string().optional(),\n permissionCeiling: z.enum(AgentClientProtocol_PermissionCeiling).default(\n AgentClientProtocol_PermissionCeiling.PROMPT_ALWAYS,\n ),\n hostConfigurationInheritance: z.enum(AgentClientProtocol_HostConfigurationInheritance).default(\n AgentClientProtocol_HostConfigurationInheritance.APPLICATION_SCOPED,\n ),\n /**\n * Wall-clock ceiling for one prompt turn.\n *\n * On expiry the runner sends `session/cancel` and waits for the agent to\n * settle rather than killing the process: ACP defines cancellation as\n * cooperative, and an agent that is mid-edit should be allowed to stop\n * cleanly. A hard kill remains the fallback if the agent does not honour it.\n */\n turnTimeoutMs: z.number().int().positive().optional(),\n /**\n * How many times one invocation may AUTO-CONTINUE the agent after it ends a\n * turn with a self-imposed pause (\"shall I continue?\").\n *\n * The autonomous lane's answer to the agent's own checkpoint reflex: a turn\n * classified as SELF_PAUSE is re-prompted to continue on the same session\n * rather than read as a finished result. Bounded because an agent that pauses\n * forever must eventually be settled rather than looped — on exhaustion the\n * run settles with what it has, recorded as such. Zero disables continuation\n * entirely (every END_TURN is final, the pre-2026-09 behaviour).\n */\n maxAutoContinuations: z.number().int().nonnegative().default(8),\n /**\n * How long an operator answer to a parked question stays valid — the deadline\n * stamped onto the suspension as `parkedUntil`.\n *\n * The parked run does NOT hold a live agent process open for this window: the\n * child is closed the moment the run parks (holding it would occupy the lane's\n * single-flight slot while an operator who may never answer decides). Because\n * the agent persists the session on disk, a later answer re-enters it through\n * `session/load` — so this is an informational freshness bound the host and UX\n * surface, not a timer that reaps a process. It applies only when the agent\n * advertises `loadSession`; otherwise the question is real but unanswerable\n * on the same session, and `resumable` says so.\n */\n awaitingInputTtlMs: z.number().int().positive().default(900_000),\n /**\n * Ceiling on the bytes of session events this run PERSISTS.\n *\n * Semantics are TRUNCATE, not reject — deliberately the opposite of the\n * output cap this replaces, which killed a run for being talkative after it\n * had already mutated the workspace. Losing the tail of a transcript is a\n * reporting loss; losing the run is a work loss.\n */\n maximumRecordedEventBytes: z.number().int().positive().optional(),\n /**\n * Opaque, agent-specific options passed as `_meta` on `session/new`.\n *\n * ACP reserves `_meta` for extensions, and agents use it for options their\n * own runtime understands and no other agent would. Keeping it opaque is what\n * keeps the rest of this contract agent-neutral — but it is also unvalidated\n * and unportable by construction, so anything Wildo needs to GUARANTEE (the\n * environment gate, the permission ceiling, configuration inheritance) is a\n * typed field above and never expressed here.\n */\n sessionMetaExtensions: z.record(z.string(), z.unknown()).optional(),\n}).strict().superRefine((profile, context) => {\n if (profile.authMode === AgentClientProtocol_AuthMode.SECRET_REF_ENV_INJECTION && !profile.secretRef) {\n context.addIssue({\n code: \"custom\",\n message: \"`secretRef` is required when `authMode` is `SECRET_REF_ENV_INJECTION`.\",\n path: [\"secretRef\"],\n });\n }\n\n if (profile.authMode === AgentClientProtocol_AuthMode.SECRET_REF_ENV_INJECTION && !profile.secretEnvVarName) {\n context.addIssue({\n code: \"custom\",\n message: \"`secretEnvVarName` is required when `authMode` is `SECRET_REF_ENV_INJECTION`.\",\n path: [\"secretEnvVarName\"],\n });\n }\n\n // A host-managed or unauthenticated profile carrying a secret binding is a\n // contradiction the runner would resolve silently — injecting nothing while\n // the authored configuration claims a credential is in play. Refuse it, so\n // \"this profile injects no secret\" is a property of the schema rather than of\n // a reviewer's reading.\n if (\n profile.authMode !== AgentClientProtocol_AuthMode.SECRET_REF_ENV_INJECTION &&\n (profile.secretRef !== undefined || profile.secretEnvVarName !== undefined)\n ) {\n context.addIssue({\n code: \"custom\",\n message: \"`secretRef`/`secretEnvVarName` are only valid when `authMode` is `SECRET_REF_ENV_INJECTION`.\",\n path: [\"secretRef\"],\n });\n }\n\n if (\n profile.workingDirectoryPolicy === AgentClientProtocol_WorkingDirectoryPolicy.WORKSPACE_RELATIVE_PATH &&\n !profile.workingDirectoryRelativePath\n ) {\n context.addIssue({\n code: \"custom\",\n message: \"`workingDirectoryRelativePath` is required when using `WORKSPACE_RELATIVE_PATH`.\",\n path: [\"workingDirectoryRelativePath\"],\n });\n }\n\n if (\n profile.workingDirectoryPolicy !== AgentClientProtocol_WorkingDirectoryPolicy.WORKSPACE_RELATIVE_PATH &&\n profile.workingDirectoryRelativePath !== undefined\n ) {\n context.addIssue({\n code: \"custom\",\n message: \"`workingDirectoryRelativePath` is only valid when using `WORKSPACE_RELATIVE_PATH`.\",\n path: [\"workingDirectoryRelativePath\"],\n });\n }\n\n // An UNRESTRICTED ceiling on a profile that may run outside development is\n // the one combination with no legitimate reading: it authorises an agent to\n // mutate a non-development workspace with no gate and no record of a decision.\n if (\n profile.permissionCeiling === AgentClientProtocol_PermissionCeiling.UNRESTRICTED &&\n profile.allowedApplicationEnvironments.some((environment) => environment !== APPLICATION_ENVIRONMENT.DEVELOPMENT)\n ) {\n context.addIssue({\n code: \"custom\",\n message:\n \"`permissionCeiling: UNRESTRICTED` is only valid for a profile restricted to the DEVELOPMENT environment.\",\n path: [\"permissionCeiling\"],\n });\n }\n});\nexport type AgentClientProtocol_ExecutionProfile = z.infer<typeof AgentClientProtocol_ExecutionProfileSchema>;\n\n/**\n * Transport capability metadata for an ACP-speaking provider.\n *\n * Note how little is declared here compared with a one-shot CLI contract, and\n * why: ACP agents advertise their own capabilities, session modes and available\n * commands during `initialize` and `session/new`. Re-declaring any of that in\n * authored configuration would create a second source of truth that drifts the\n * first time the agent is upgraded. What remains is what the HOST must know\n * before it opens a connection.\n */\nexport const AgentClientProtocol_ProfileSchema = ExternalProvider_ExchangeProtocol_Profile_BaseSchema.extend({\n supportedRunnerHosts: z.array(z.enum(AgentClientProtocol_RunnerHost)).default([\n AgentClientProtocol_RunnerHost.BACKEND_SUBPROCESS,\n ]),\n /**\n * The ACP major versions this provider is known to speak.\n *\n * ACP negotiates a single integer at `initialize`: the client offers its\n * latest, the agent answers with that or its own. This list is what the\n * runner is willing to accept in that answer — an agent that returns anything\n * else is refused rather than spoken to hopefully.\n */\n supportedProtocolVersions: z.array(z.number().int().positive()).min(1).default([1]),\n /**\n * The semantic operations this transport can execute truthfully.\n *\n * Kept as strings to avoid a circular runtime import with the operation\n * family that consumes this protocol — the same reason the CLI contract this\n * replaces did so.\n */\n supportedOperationKeys: z.array(z.string().min(1)).min(1),\n /**\n * The semantic models valid on this transport.\n *\n * The agent also advertises its own model options per session; this list is\n * the authored subset an application is willing to select from, and it is\n * what a requested model is validated against before a session is opened.\n */\n supportedModels: z.array(z.string().min(1)).min(1),\n supportedAuthModes: z.array(z.enum(AgentClientProtocol_AuthMode)).default([\n AgentClientProtocol_AuthMode.NONE,\n AgentClientProtocol_AuthMode.HOST_MANAGED,\n AgentClientProtocol_AuthMode.SECRET_REF_ENV_INJECTION,\n ]),\n});\nexport type AgentClientProtocol_Profile = ExternalProvider_ExchangeProtocol_Profile_Base & z.infer<typeof AgentClientProtocol_ProfileSchema>;\n\nexport const AgentClientProtocol_ConfigurationSchema = ExternalProvider_ExchangeProtocol_Configuration_BaseSchema.extend({\n defaultExecutionProfileRef: z.string().optional(),\n executionProfiles: z.record(z.string(), AgentClientProtocol_ExecutionProfileSchema),\n}).superRefine((config, context) => {\n if (config.defaultExecutionProfileRef && !config.executionProfiles[config.defaultExecutionProfileRef]) {\n context.addIssue({\n code: \"custom\",\n message: \"`defaultExecutionProfileRef` must reference an existing execution profile.\",\n path: [\"defaultExecutionProfileRef\"],\n });\n }\n});\nexport type AgentClientProtocol_Configuration = ExternalProvider_ExchangeProtocol_Configuration_Base & z.infer<typeof AgentClientProtocol_ConfigurationSchema>;\n\nexport const AgentClientProtocol_StatusSchema = ExternalProvider_ExchangeProtocol_Status_BaseSchema.extend({\n protocolKind: z.literal(ExternalProvider_ExchangeProtocol_Kind.AGENT_CLIENT_PROTOCOL),\n /** The version actually agreed at the last `initialize`, when one succeeded. */\n negotiatedProtocolVersion: z.number().int().positive().optional(),\n /**\n * The agent's self-reported identity from its last `initialize` response.\n *\n * Recorded because the agent is an independently released dependency: when a\n * run starts behaving differently, \"which build answered\" is the first\n * question, and it is not answerable from anything Wildo authored.\n */\n observedAgentName: z.string().optional(),\n observedAgentVersion: z.string().optional(),\n});\nexport type AgentClientProtocol_Status = z.infer<typeof AgentClientProtocol_StatusSchema>;\n\n\n//===============================================================\n// Coding-agent operation family\n// --------\n// The semantic operation an ACP session serves. Deliberately NOT an\n// `LLMProvider_OperationKey`: a run that edits a worktree, executes commands\n// and requests authorisation is a different KIND of work from a text\n// completion, and the two enums being disjoint is what lets an agent\n// configuration be narrowed by its operation key alone.\n//===============================================================\n\nexport enum CodingAgent_OperationKey {\n /** A bounded, scoped change to a workspace, performed by an autonomous agent. */\n RUN_CODING_TASK = \"coding.runCodingTask\",\n}\n\n/**\n * Why a prompt turn ended.\n *\n * The wire values are ACP's own — this is the thin boundary where the\n * protocol's vocabulary is translated into a named one Wildo can branch on and\n * explain. `CANCELLED` in particular must stay distinguishable from `END_TURN`:\n * a cancelled run's partial change set is a different fact from a completed\n * run's, and a lane that conflates them reports work as finished that was\n * interrupted.\n */\nexport enum CodingAgent_StopReason {\n /** The agent finished of its own accord. */\n END_TURN = \"end_turn\",\n /** The model's output limit was reached mid-work. */\n MAX_TOKENS = \"max_tokens\",\n /** The agent's own per-turn request budget was exhausted. */\n MAX_TURN_REQUESTS = \"max_turn_requests\",\n /** The model declined the task. */\n REFUSAL = \"refusal\",\n /** The client asked the session to stop, and the agent complied. */\n CANCELLED = \"cancelled\",\n /**\n * WILDO'S OWN marker, not an ACP wire value: the agent reported a stop reason\n * this protocol version does not define.\n *\n * It exists so an unknown value cannot discard evidence. The alternative —\n * throwing — happens AFTER the turn, i.e. after the workspace has already been\n * mutated, so it would turn a completed run into an error whose change set\n * nobody records. Callers must treat this like `CANCELLED`: not a working\n * result, but a run whose changes are real and must still be captured.\n */\n UNRECOGNISED = \"wildo.unrecognised\",\n}\n\n/**\n * What an END_TURN actually meant — the judgment the turn ladder branches on.\n *\n * ACP delivers every voluntary stop identically: `end_turn` plus whatever the\n * agent last said. Three very different situations arrive in that one shape,\n * and only reading the message tells them apart, which is why this is decided\n * by an auxiliary LLM classification rather than by a heuristic on the text:\n * a regex that recognises \"shall I continue?\" is an invented vocabulary for\n * someone else's prose.\n */\nexport enum CodingAgent_EndOfTurnClassification {\n /** The agent finished the task; the turn is a final result. */\n TASK_COMPLETE = \"task_complete\",\n /**\n * The agent paused of its own accord — \"next?\", \"want me to proceed?\" — a\n * checkpoint reflex, not a need. The ladder answers it with the continuation\n * prompt instead of surfacing it, because at this level those checkpoints are\n * deliberately avoided (autonomy directive, 2026-09-04).\n */\n SELF_PAUSE = \"self_pause\",\n /**\n * The agent asked something only the caller can answer — a real decision, a\n * missing credential, an ambiguity in the task. The session parks and the\n * question is surfaced; auto-continuing would make the agent answer itself.\n */\n NEEDS_INPUT = \"needs_input\",\n /**\n * The classifier itself failed or timed out. FAILS OPEN to settlement: the\n * turn is treated as TASK_COMPLETE, because an auxiliary call must never hang\n * the autonomous lane or discard a mutated workspace — but the failure is\n * recorded as this value rather than laundered into a confident judgment.\n */\n CLASSIFIER_UNAVAILABLE = \"classifier_unavailable\",\n}\n\n/**\n * One auto-continuation the turn ladder performed, recorded per turn boundary.\n *\n * Kept as a record rather than a counter for the same reason permission\n * decisions are: a run that continued five times and one that never paused are\n * different runs, and the difference is diagnosable only if each boundary says\n * what was classified and what was sent back.\n */\nexport const CodingAgent_ContinuationRecordSchema = z.strictObject({\n /** 1-based index of the turn that ENDED at this boundary. */\n turnIndex: z.number().int().positive(),\n classification: z.enum(CodingAgent_EndOfTurnClassification),\n /**\n * The tail of the agent's end-of-turn message the classification was made\n * from. A bounded excerpt, not the transcript — enough to audit the judgment.\n */\n agentMessageTail: z.string().optional(),\n});\nexport type CodingAgent_ContinuationRecord = z.infer<typeof CodingAgent_ContinuationRecordSchema>;\n\n/**\n * A run that STOPPED WITHOUT FINISHING because the agent needs an answer.\n *\n * The ACP sibling of `AgentApprovalSuspension` on the LLM transport: the\n * invocation returns, but its output must not be read as a completed result —\n * `suspension` present means the final message is a QUESTION. The caller\n * surfaces the question, and the answer re-enters the SAME session:\n * `resumable: true` promises the agent advertised `loadSession`, so the session\n * survives the child process and even a host restart.\n */\nexport const CodingAgent_SessionSuspensionSchema = z.strictObject({\n /** The ACP session to resume with the answer. */\n sessionId: z.string().min(1),\n /** The agent's question, verbatim — its end-of-turn message. */\n question: z.string().min(1),\n /** 1-based turn the session parked after. */\n turnIndex: z.number().int().positive(),\n /**\n * Whether the session can be re-entered after the agent process is gone.\n * False when the agent does not advertise `loadSession`: the question is\n * still real, but answering it starts a NEW session that must restate task\n * context — a degradation the caller should surface, not hide.\n */\n resumable: z.boolean(),\n /** When the parked child process will be closed (ISO timestamp). */\n parkedUntil: z.string().optional(),\n});\nexport type CodingAgent_SessionSuspension = z.infer<typeof CodingAgent_SessionSuspensionSchema>;\n\n/**\n * What one coding turn consumed.\n *\n * EVERY field is optional, and that is a statement about the protocol rather\n * than laziness. ACP guarantees only the context-window pair (`used` / `size`)\n * on its usage notification; token breakdowns and monetary cost are agent\n * EXTENSIONS — Claude's adapter reports all of them, another agent may report\n * none. Code that enforces a budget must therefore decide what to do when the\n * number it wants is absent, and the schema makes that unavoidable rather than\n * letting a missing value read as zero.\n *\n * This is the capability the transport it replaces could not express at all:\n * a one-shot CLI reported nothing, so budgets were reduced to wall-clock and\n * run-count proxies.\n */\nexport const CodingAgent_UsageSchema = z.object({\n /** Context-window tokens in use at the end of the turn (ACP: `usage_update.used`). */\n contextUsed: z.number().int().nonnegative().optional(),\n /** Total context window available (ACP: `usage_update.size`). */\n contextWindowSize: z.number().int().nonnegative().optional(),\n inputTokens: z.number().int().nonnegative().optional(),\n outputTokens: z.number().int().nonnegative().optional(),\n /** Tokens READ from the prompt cache — typically the dominant term for a coding turn. */\n cachedReadTokens: z.number().int().nonnegative().optional(),\n /** Tokens WRITTEN to the prompt cache. */\n cachedWriteTokens: z.number().int().nonnegative().optional(),\n totalTokens: z.number().int().nonnegative().optional(),\n /**\n * Monetary cost of the turn, when the agent reports one.\n *\n * Kept as an amount + currency pair rather than a bare number: a budget\n * denominated in an unstated currency is not a budget. Amount is a plain\n * number because it arrives that way; anything that ACCUMULATES cost should\n * round explicitly at its own boundary rather than trusting float addition.\n */\n cost: z.object({\n amount: z.number().nonnegative(),\n currency: z.string().min(1),\n }).optional(),\n});\nexport type CodingAgent_Usage = z.infer<typeof CodingAgent_UsageSchema>;\n\n/**\n * Transport metadata for a completed coding run.\n *\n * Note where this lives: WITH the coding-agent family, not in the LLM\n * protocol's transport union. A coding run is not an LLM call with a different\n * wire format, and recording it inside the LLM execution-metadata union would\n * re-create, one layer down, exactly the mis-modelling this protocol exists to\n * end.\n */\nexport const AgentClientProtocol_ExecutionTransportMetadataSchema = z.object({\n protocolKind: z.literal(ExternalProvider_ExchangeProtocol_Kind.AGENT_CLIENT_PROTOCOL),\n providerRef: z.string(),\n executionProfileRef: z.string(),\n model: z.string().optional(),\n /** The ACP major version agreed at `initialize`. */\n negotiatedProtocolVersion: z.number().int().positive().optional(),\n /** The agent's self-reported build — the first question when a run misbehaves. */\n agentName: z.string().optional(),\n agentVersion: z.string().optional(),\n /**\n * The agent-declared session mode the run actually executed under.\n *\n * Recorded verbatim as the agent named it, because it is the agent's\n * vocabulary and the mapping from Wildo's ceiling is lossy in one direction:\n * knowing the run was clamped to `PROMPT_ALWAYS` does not tell a later reader\n * which of the agent's modes that became.\n */\n sessionModeId: z.string().optional(),\n /** The ACP session, retained so a later turn can resume or fork it. */\n sessionId: z.string().optional(),\n});\nexport type AgentClientProtocol_ExecutionTransportMetadata = z.infer<typeof AgentClientProtocol_ExecutionTransportMetadataSchema>;\n\nexport const CodingAgent_OperationContext_BaseSchema = ExternalProvider_OperationContextSchema.extend({\n usage: CodingAgent_UsageSchema.optional(),\n executionTime: z.number().optional(),\n finishedAt: z.string().optional(),\n transport: AgentClientProtocol_ExecutionTransportMetadataSchema.optional(),\n});\nexport type CodingAgent_OperationContext_Base = z.infer<typeof CodingAgent_OperationContext_BaseSchema>;\n\nexport type CodingAgent_OperationDefinitionBase = ExternalProvider_OperationDefinition_Base & {\n operationContextSchema: typeof CodingAgent_OperationContext_BaseSchema,\n supportedModels?: string[],\n};\n\n// ===============================================================\n// Coding-agent I/O\n// ===============================================================\n\n/**\n * Model-selection configuration for a coding agent.\n *\n * Deliberately smaller than its LLM sibling, and the omissions are the design.\n * There is no `temperature`, `topP` or penalty here: those tune a completion,\n * and an ACP agent is not one — it runs its own inner loop, chooses its own\n * tools and manages its own sampling. Offering an application knobs the\n * transport cannot honour would be worse than offering none, because it would\n * read as configuration and behave as decoration.\n *\n * `maxTokens` is likewise absent: a coding run's budget is enforced by the\n * caller against reported usage after each turn, not requested up front — the\n * agent decides how many model calls its task needs.\n */\nexport const CodingAgent_OperationModelConfiguration_Schema = z.object({\n model: z.string(),\n providerRef: z.string(),\n});\nexport type CodingAgent_OperationModelConfiguration = z.infer<typeof CodingAgent_OperationModelConfiguration_Schema>;\n\nexport const CodingAgent_RunTaskInputSchema = z.object({\n /**\n * The rendered task handed to the agent as the turn's prompt.\n *\n * A single string on purpose: the caller owns task composition (for\n * application creation, a typed task contract renders it), and the transport\n * must not become a second place where task semantics are assembled.\n */\n prompt: z.string().min(1),\n /**\n * The autonomy this particular run asks for.\n *\n * CLAMPED, never honoured blindly: the runner takes the lower of this and the\n * execution profile's `permissionCeiling`. Absent means the profile's ceiling\n * — which is itself the safe default — so omitting it can never widen\n * authority, only leave it where the profile put it.\n */\n requestedPermissionCeiling: z.enum(AgentClientProtocol_PermissionCeiling).optional(),\n /**\n * Present when this run ANSWERS a parked session rather than starting a task.\n *\n * Carries the `sessionId` from a prior run's `suspension`; the transport\n * re-enters that session via `session/load` and delivers `prompt` (the\n * answer) as the next turn. Refused — not degraded — when the agent does not\n * advertise `loadSession`: silently starting a fresh session would present a\n * context-less answer as a continuation.\n */\n continuationOfSessionId: z.string().min(1).optional(),\n});\nexport type CodingAgent_RunTaskInput = z.infer<typeof CodingAgent_RunTaskInputSchema>;\n\nexport const CodingAgent_RunTaskOutputSchema = z.object({\n /** The agent's closing message — its own account of what it did. */\n finalMessage: z.string(),\n stopReason: z.enum(CodingAgent_StopReason),\n /**\n * Absolute paths the agent REPORTED touching, from its tool-call stream.\n *\n * A claim, not a record. An agent reports what its own tooling surfaces, and\n * nothing prevents it writing a file it never mentions — measured against\n * Claude's adapter, file operations happen inside the agent and are reported\n * afterwards rather than routed through the client. Use this to NARROW an\n * attribution question; never as the answer. The authoritative record of what\n * changed is the workspace diff taken around the run.\n */\n reportedFileLocations: z.array(z.string()).optional(),\n /**\n * How many permission requests the client REFUSED during the turn.\n *\n * Recorded because under the strictest ceiling refusal is the NORMAL outcome,\n * not an exception: without this number a run in which the agent proposed five\n * changes and was refused every one is indistinguishable from a run in which\n * it proposed nothing. The agent's own closing message cannot be relied on to\n * say so.\n */\n deniedPermissionCount: z.number().int().nonnegative().optional(),\n /**\n * One record per permission request, with the REASON it was decided.\n *\n * The count above says HOW MANY were refused; this says WHY, which is the half that makes a\n * refusal actionable. A run under an UNRESTRICTED ceiling came back with two refusals and no\n * files written, and nothing recorded could distinguish \"the scope predicate refused a path\"\n * from \"the agent offered no option the client would select\" — opposite defects with an\n * identical outward appearance, and neither diagnosable without dispatching another agent.\n *\n * Deliberately carries no prompt or file CONTENT: the tool kind, the declared paths, the\n * option kinds offered, and the decision.\n */\n permissionDecisions: z.array(z.strictObject({\n allowed: z.boolean(),\n reason: z.string(),\n toolKind: z.string().optional(),\n locations: z.array(z.string()),\n offeredOptionKinds: z.array(z.string()),\n })).optional(),\n /**\n * The agent's verbatim stop reason when it was one this version does not\n * define. Present exactly when `stopReason` is `UNRECOGNISED`.\n */\n rawStopReason: z.string().optional(),\n /**\n * How many prompt turns this invocation drove on the session. Absent means\n * one — the single-turn shape every pre-ladder consumer already assumes.\n */\n turnCount: z.number().int().positive().optional(),\n /**\n * One record per turn boundary the ladder judged — auto-continues, the park,\n * the settlement. See {@link CodingAgent_ContinuationRecordSchema}.\n */\n continuations: z.array(CodingAgent_ContinuationRecordSchema).optional(),\n /**\n * Present when the run PARKED on a genuine question instead of finishing.\n * `finalMessage` is then the QUESTION, and `stopReason` is the wire-true\n * `END_TURN` — this field is what stops that reading as a completed result.\n * Callers that ignore it record work as done that is waiting on an answer.\n */\n suspension: CodingAgent_SessionSuspensionSchema.optional(),\n});\nexport type CodingAgent_RunTaskOutput = z.infer<typeof CodingAgent_RunTaskOutputSchema>;\n"]}
1
+ {"version":3,"file":"agent-client-protocol.external-connectors-models.schemas.js","sourceRoot":"","sources":["../../../../src/protocols/agent-client-protocol.external-connectors-models.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from \"zod\";\nimport {\n ExternalProvider_OperationContextSchema,\n ExternalProvider_OperationDefinition_Base,\n} from \"../core/operations.external-connectors-models.schemas\";\nimport {\n APPLICATION_ENVIRONMENT,\n ExternalProvider_ExchangeProtocol_Configuration_Base,\n ExternalProvider_ExchangeProtocol_Configuration_BaseSchema,\n ExternalProvider_ExchangeProtocol_Kind,\n ExternalProvider_ExchangeProtocol_Profile_Base,\n ExternalProvider_ExchangeProtocol_Profile_BaseSchema,\n ExternalProvider_ExchangeProtocol_Status_BaseSchema,\n} from \"../core/commons.external-connectors-models.schemas\";\n\n//===============================================================\n// Agent Client Protocol (ACP)\n// --------\n// Execution protocol for CODING AGENTS: a long-lived JSON-RPC 2.0 session over\n// stdio between Wildo (the ACP *client*) and an agent subprocess that reads and\n// writes a workspace, runs commands, and asks permission before doing so.\n//\n// This is Zed's Agent Client Protocol (agentclientprotocol.com), NOT IBM's\n// \"Agent Communication Protocol\" — that one is agent-to-agent and overlaps\n// `A2A_CONNECTOR`. The two share an acronym and nothing else.\n//\n// # Why this is not a one-shot CLI transport with extra fields\n//\n// The transport this REPLACED (removed 2026-08-27) modelled ONE-SHOT command\n// execution: compose argv, feed stdin, wait for exit, parse stdout. Every field\n// it owned (`outputParserMode`, `jsonOutputPath`, per-operation argument\n// templates) described that shape. A\n// coding agent is the opposite shape — a session that streams progress, calls\n// back into the client for permission, survives many turns, and reports token\n// usage as it goes. Modelling it as a one-shot text call is precisely what left\n// the previous lane with no token accounting, no permission channel, no\n// cancellation and no resumption: those are not missing features, they are\n// consequences of the wrong protocol shape.\n//\n// # Deliberately AGENT-NEUTRAL\n//\n// Wildo's default coding agent is Claude Code (through Zed's ACP adapter), but\n// nothing in this contract names it. Every agent-specific concept is either\n// negotiated at runtime (the agent advertises its capabilities and session\n// modes in its `initialize` / `session/new` responses) or authored as opaque\n// `sessionMetaExtensions`. That is what makes selecting a different registered\n// ACP agent a configuration change rather than a new execution lane.\n//===============================================================\n\n/**\n * Where the agent subprocess runs.\n *\n * Only one host exists today, and it is the same constraint the coding lane has\n * always had: the agent must share a filesystem with the workspace it mutates.\n * A remote host is not a variant of this — it would need the workspace shipped\n * to it, which is a different design, so it is deliberately not enumerated\n * until it exists.\n */\nexport enum AgentClientProtocol_RunnerHost {\n BACKEND_SUBPROCESS = \"backend_subprocess\",\n}\n\n/**\n * How the spawned agent authenticates to its own model provider.\n *\n * ACP additionally defines a protocol-level `authenticate` method, advertised\n * through the agent's `authMethods` array. That is NOT enumerated here: when an\n * agent advertises auth methods the runner negotiates them at `initialize`\n * time, which is a runtime handshake rather than authored configuration. These\n * modes describe what the HOST does before the process starts.\n */\nexport enum AgentClientProtocol_AuthMode {\n /** The agent needs no credential (a local model, or an agent that refuses work). */\n NONE = \"none\",\n /**\n * The agent resolves its own credential from host state — an operator's prior\n * interactive login, a keychain entry, an ambient cloud identity. Wildo\n * injects nothing and can see nothing. This is the correct mode for a\n * developer-machine coding agent.\n */\n HOST_MANAGED = \"host_managed\",\n /** Wildo resolves a secret by ref and injects it into the child environment. */\n SECRET_REF_ENV_INJECTION = \"secret_ref_env_injection\",\n}\n\n/**\n * Which directory becomes the ACP session's `cwd`.\n *\n * ACP requires `cwd` to be an ABSOLUTE path and treats it as the session's\n * primary filesystem context. The absolute path itself is never authored here:\n * it is host authority supplied at invocation time, which is what makes a\n * profile portable across applications and machines.\n */\nexport enum AgentClientProtocol_WorkingDirectoryPolicy {\n WORKSPACE_ROOT = \"workspace_root\",\n WORKSPACE_RELATIVE_PATH = \"workspace_relative_path\",\n}\n\n/**\n * The MOST autonomy a session started from this profile may be granted.\n *\n * This is a Wildo-owned vocabulary, deliberately expressed in terms of what the\n * CLIENT must still decide rather than in any agent's mode identifiers. Agents\n * advertise their own modes at `session/new` (Claude's adapter offers\n * `default`, `auto`, `acceptEdits`, `plan`, `dontAsk`, `bypassPermissions`),\n * and those identifiers are agent-specific strings — binding a provider profile\n * to them would make the contract unusable for any other agent and would break\n * the moment an agent renames one.\n *\n * It is a CEILING, not a selection: the caller (for application creation, the\n * autonomy mode of the journey) chooses at or below it. An authored ceiling is\n * what lets an application say \"no session started from this profile may ever\n * skip the permission gate\" independently of what any individual run requests.\n *\n * Ordering is meaningful and increasing over all FIVE members: PROMPT_ALWAYS <\n * AUTO_ACCEPT_READS < AUTO_ACCEPT_EDITS < AUTO_ACCEPT_READS_AND_EDITS <\n * UNRESTRICTED. Compare through {@link agentClientProtocolPermissionCeilingRank}\n * rather than by string, so the ordering has one definition.\n *\n * Read that order as a CLAMP — how much is pre-approved without a human — and never\n * as containment. The ceilings are kind-SETS and are deliberately not nested:\n * AUTO_ACCEPT_EDITS outranks AUTO_ACCEPT_READS and still refuses `fetch`, which is\n * exactly why AUTO_ACCEPT_READS_AND_EDITS had to be added rather than being implied\n * by the higher rank. Each member's own docstring states the set it admits, and the\n * rank function carries the full argument for why containment is the wrong reading.\n */\n/** @wildo_source:part:start acp.permission-ceiling facet:layer:config facet:audience:app-developer */\nexport enum AgentClientProtocol_PermissionCeiling {\n /**\n * Every permission request the agent raises must be answered by the client.\n *\n * Note what this does and does not promise: it guarantees the CLIENT decides\n * every request the agent RAISES, not that the agent raises one per action.\n * Which tool calls escalate is the agent's own policy — measured against\n * Claude's adapter, file edits and writes prompt while a read-only shell\n * command does not. Treat this as \"no blanket pre-approval\", never as \"a\n * complete inventory of what the agent did\"; that inventory comes from the\n * tool-call stream and, authoritatively, from the change set.\n */\n PROMPT_ALWAYS = \"prompt_always\",\n /**\n * File edits are auto-accepted; everything else must still be answered.\n *\n * \"Must still be answered\" is a promise the CLIENT keeps, and it is only\n * keepable because the runner refuses to hand the decision to the agent.\n * Measured live against Claude's adapter on 2026-08-27: selecting that\n * agent's own `acceptEdits` session mode ALSO auto-approves arbitrary shell\n * commands, so a mutating `printf > file` executed with no permission request\n * at all and wrote outside the task's declared mutation scope. Under the\n * strictest mode the identical prompt escalated and was denied, and nothing\n * was written.\n *\n * So this ceiling is implemented by keeping the agent in its most-escalating\n * mode and auto-allowing edit-kind requests HERE. The agent's similarly named\n * mode is deliberately not selected: it grants strictly more than its name.\n */\n AUTO_ACCEPT_EDITS = \"auto_accept_edits\",\n /**\n * The protocol's NON-MUTATING tool kinds are auto-accepted; everything else must still be\n * answered — and with no human at the other end, that means denied.\n *\n * The read-only lane. `read`, `search`, `fetch` and `think` are exactly the kinds the Agent Client\n * Protocol itself classes as non-mutating; `edit`, `delete` and `move` are its mutating set and are\n * refused here, as are `execute` (which can mutate anything) and `other` (unclassified, so\n * fail-closed).\n *\n * Added 2026-08-29 because neither existing ceiling could express a research agent, MEASURED\n * rather than assumed: a probe under {@link PROMPT_ALWAYS} with every location refused had both\n * `WebFetch` and `WebSearch` arrive as `toolKind: 'fetch'` and be `ceiling_refused`, and the agent\n * ended its turn saying it would not guess a price from memory. So PROMPT_ALWAYS denies research\n * outright, and {@link AUTO_ACCEPT_EDITS} admits precisely the inverse of what research needs.\n */\n AUTO_ACCEPT_READS = \"auto_accept_reads\",\n /**\n * The non-mutating kinds AND the file-mutating kinds are auto-accepted; `execute` and the\n * unclassified `other` must still be answered — and with no human at the other end, that means\n * denied.\n *\n * Added 2026-09-04 for the research-agent evidence store, and MEASURED before it existed rather\n * than after: switching the research profile from {@link AUTO_ACCEPT_READS} to\n * {@link AUTO_ACCEPT_EDITS} — so the agent could persist findings to disk — silently inverted the\n * lane's whole posture, because the ceilings are kind-SETS, not nested ranks: a live compliance\n * run spent two rounds with every WebFetch/WebSearch refused, and its only output was a store\n * note titled \"NO EVIDENCE COLLECTED\". A lane that both reads the world and persists what it\n * read needs this member; neither existing set contains the other.\n *\n * The confinement story is unchanged: this ceiling decides KINDS, and the dispatch's location\n * predicate still decides PATHS — a research profile on this ceiling with a store-only predicate\n * can fetch anything and write only its evidence directory.\n */\n AUTO_ACCEPT_READS_AND_EDITS = \"auto_accept_reads_and_edits\",\n /** No permission gate. Reserve for a disposable or isolated workspace. */\n UNRESTRICTED = \"unrestricted\",\n}\n/** @wildo_source:part:end acp.permission-ceiling */\n\n/**\n * Increasing rank for {@link AgentClientProtocol_PermissionCeiling}; the single ordering definition.\n *\n * ## It is a CLAMP order, not a subset lattice — and that distinction is load-bearing\n *\n * Rank answers one question: how much is pre-approved without a human. It is used to LOWER a\n * request that asks for more autonomy than its profile allows, never to reason about which\n * permissions contain which.\n *\n * The sets are deliberately NOT nested. {@link AgentClientProtocol_PermissionCeiling.AUTO_ACCEPT_EDITS}\n * (rank 2) admits the mutating kinds and still refuses `fetch`, while\n * {@link AgentClientProtocol_PermissionCeiling.AUTO_ACCEPT_READS} (rank 1) admits `fetch` and refuses\n * every mutating kind. Reading rank as containment would say the higher ceiling must also admit\n * `fetch` — and making that true would hand every coding agent network access as a side effect of\n * building a research lane. That is a change to the coding lane's posture and it needs its own\n * evidence, not a corollary. Clamping still behaves correctly: a coding profile lowered to\n * AUTO_ACCEPT_READS may fetch and may not edit, which is exactly what asking for less autonomy in\n * the read direction should mean.\n */\nexport function agentClientProtocolPermissionCeilingRank(\n ceiling: AgentClientProtocol_PermissionCeiling,\n): number {\n switch (ceiling) {\n case AgentClientProtocol_PermissionCeiling.PROMPT_ALWAYS:\n return 0;\n case AgentClientProtocol_PermissionCeiling.AUTO_ACCEPT_READS:\n return 1;\n case AgentClientProtocol_PermissionCeiling.AUTO_ACCEPT_EDITS:\n return 2;\n case AgentClientProtocol_PermissionCeiling.AUTO_ACCEPT_READS_AND_EDITS:\n return 3;\n case AgentClientProtocol_PermissionCeiling.UNRESTRICTED:\n return 4;\n }\n}\n/**\n * Whether THIS agent raises `session/request_permission` before it mutates —\n * the one property that decides whether Wildo's in-flight guards can fire at all.\n *\n * # Why a permission ceiling needs this to mean anything\n *\n * Both of Wildo's in-flight controls are enforced in the CLIENT's ANSWER to a\n * permission request: {@link AgentClientProtocol_PermissionCeiling} decides the\n * tool KIND, and the dispatch's location predicate decides the PATHS. Neither is\n * a sandbox, an interposed filesystem, or a syscall filter — they are answers.\n * So an agent that writes without asking is bound by neither, and the ceiling\n * an application authored is a LABEL rather than a guarantee.\n *\n * That is not hypothetical and it is not a fault in the agents. MEASURED with\n * `wildo acp probe`:\n *\n * - Codex (`@agentclientprotocol/codex-acp`, 2026-09-06) raises nothing before\n * an in-workspace write in ANY of its three modes, including with an explicit\n * `approval_policy = \"untrusted\"`. Its safety model is a SANDBOX, so an\n * in-workspace write is safe by ITS construction and there is nothing to ask\n * about. A different architecture, not a defect.\n * - OpenCode (1.18.27, 2026-09-04/05) does the same under its DEFAULT\n * configuration, and escalates correctly when pointed at a permission\n * configuration file. So for that agent the answer is conditional on\n * something the HOST supplies.\n * - Claude's adapter (`@agentclientprotocol/claude-agent-acp` 0.73.0) raises,\n * and both guards fire.\n *\n * # Why it is DECLARED rather than inferred, and why it is required\n *\n * It cannot be inferred before a run: an agent that never asks and an agent that\n * had nothing to ask about are indistinguishable from an empty decision list, and\n * by the time the list is empty the workspace has already been mutated. The\n * post-run change set remains the authoritative account of what a run touched —\n * this declaration is what lets the framework say, BEFORE the run, whether that\n * change set is the only account there will be.\n *\n * The provider declares it because the provider is the party that ran the probe.\n * It is REQUIRED on the runtime contract for the same reason `modelDelivery` is:\n * this lane has now shipped three safety-relevant fields that were authored,\n * documented and read by nothing (`hostConfigurationInheritance`, the model\n * channel, the provider's inherited environment). An author who cannot ship the\n * gap is better than one who discovers it on a dispatched run.\n *\n * It is a CLAIM, never an alibi. The companion still judges each completed run\n * from that run's OWN permission decisions and change set, so an agent whose\n * behaviour changes between versions cannot keep a stale, reassuring declaration.\n */\n/** @wildo_source:part:start acp.permission-escalation facet:layer:config facet:audience:app-developer */\nexport enum AgentClientProtocol_PermissionEscalationBehaviour {\n /**\n * The agent escalates before mutating, so the ceiling and the mutation scope\n * are both enforceable in flight. The only value under which a ceiling\n * narrower than UNRESTRICTED means what it says.\n */\n RAISES_BEFORE_MUTATION = \"raises_before_mutation\",\n /**\n * The agent escalates ONLY when the host points it at a permission\n * configuration it does not adopt by default.\n *\n * The configuration is therefore not hardening — it is the condition under\n * which the agent may be dispatched with a gate at all, and the variable that\n * carries the pointer is named on the contract so the dispatch can CHECK that\n * a profile supplies it instead of trusting a docstring that says it must.\n */\n RAISES_ONLY_UNDER_HOST_CONFIGURATION = \"raises_only_under_host_configuration\",\n /**\n * The agent never escalates before mutating, under any configuration this\n * framework can supply. Its own safety model is elsewhere (a sandbox), and\n * Wildo's in-flight guards are inert for it by construction — the post-run\n * change set is the only account of what it touched.\n */\n NEVER_RAISES = \"never_raises\",\n}\n/** @wildo_source:part:end acp.permission-escalation */\n\n/**\n * Can Wildo's in-flight permission ceiling and mutation-scope predicate fire for\n * this agent, as it will actually be started?\n *\n * The single definition of that question, so the dispatch's refusal, the run's\n * recorded metadata and any operator-facing report cannot disagree about it.\n *\n * `escalationConfigurationSupplied` answers only the conditional member: it is\n * whether the composed child environment will actually carry the pointer the\n * contract names. Deliberately a parameter rather than something this function\n * reads, because the environment is composed by the dispatch and a predicate\n * that guessed at it would be a second, quieter answer.\n */\nexport function agentClientProtocolInFlightGuardsCanFire(\n behaviour: AgentClientProtocol_PermissionEscalationBehaviour,\n escalationConfigurationSupplied: boolean,\n): boolean {\n switch (behaviour) {\n case AgentClientProtocol_PermissionEscalationBehaviour.RAISES_BEFORE_MUTATION:\n return true;\n case AgentClientProtocol_PermissionEscalationBehaviour.RAISES_ONLY_UNDER_HOST_CONFIGURATION:\n return escalationConfigurationSupplied;\n case AgentClientProtocol_PermissionEscalationBehaviour.NEVER_RAISES:\n return false;\n }\n}\n\n/**\n * How much of the HOST MACHINE's agent configuration a session inherits.\n *\n * Coding agents read configuration from the filesystem — instructions, skills,\n * slash commands, sub-agent personas, tool permissions — and they layer several\n * scopes. Measured against Claude's ACP adapter, the default is to load ALL of\n * them, including the operator's personal `~/.claude`: a probe session returned\n * roughly forty commands and a persona belonging to the machine running it,\n * none of which the application authored.\n *\n * That inheritance is not simply undesirable, which is why this is a three-way\n * choice rather than a boolean. A dispatched coding task SHOULD read the\n * application's own instructions and installed skills — that is how the\n * application teaches the agent to use its framework. What it should not\n * silently absorb is whoever happens to be logged in.\n */\n/** @wildo_source:part:start acp.host-configuration-inheritance facet:layer:config facet:audience:app-developer */\nexport enum AgentClientProtocol_HostConfigurationInheritance {\n /** No filesystem-sourced agent configuration. The prompt is the whole instruction. */\n ISOLATED = \"isolated\",\n /**\n * Configuration owned by the workspace (its committed instructions, its\n * installed skills, its checked-in settings) — but not the operator's\n * personal configuration. The correct default for a dispatched task.\n */\n APPLICATION_SCOPED = \"application_scoped\",\n /**\n * Everything the agent would load if a human had started it by hand,\n * including operator-level configuration. Honest about what it is: the run\n * then depends on machine state Wildo neither authored nor recorded, so a run\n * is not reproducible on another machine.\n */\n HOST_INHERITED = \"host_inherited\",\n}\n/** @wildo_source:part:end acp.host-configuration-inheritance */\n\n/**\n * One authored way to start an ACP agent.\n *\n * Mirrors the shape a provider's execution profiles have always had: the\n * spawnable command plus the policy that decides whether it may run at all.\n */\n/** @wildo_source:part:start acp.execution-profile facet:layer:config facet:audience:app-developer */\nexport const AgentClientProtocol_ExecutionProfileSchema = z.object({\n runnerHost: z.enum(AgentClientProtocol_RunnerHost).default(\n AgentClientProtocol_RunnerHost.BACKEND_SUBPROCESS,\n ),\n /**\n * The executable that speaks ACP on stdio — OPTIONAL, and normally omitted.\n *\n * How to START an agent is the PROVIDER's knowledge: the package, the pinned\n * version, the launcher. An application that restates it holds a second copy\n * of a version it does not own, which is how the adapter pin came to be\n * declared in two places with no mechanical link. Omit these and the provider\n * contract supplies them; set them only to run an agent the provider does not\n * describe, and accept owning the version if you do.\n */\n command: z.string().min(1).optional(),\n args: z.array(z.string()).optional(),\n /**\n * Host environment variables forwarded into the child.\n *\n * The runner starts from a minimal identity allowlist and adds only what is\n * named here. Full inheritance is never available: the process that spawns\n * the agent holds platform secrets that must not reach it.\n */\n inheritedEnvironmentVariables: z.array(z.string().min(1)).optional(),\n authMode: z.enum(AgentClientProtocol_AuthMode),\n secretRef: z.string().optional(),\n secretEnvVarName: z.string().optional(),\n /**\n * The environments this profile may run in — REQUIRED, and never widened by\n * default.\n *\n * This is the gate that keeps a workspace-mutating agent out of production.\n * It is carried here explicitly rather than inherited from anything, because\n * the equivalent guard on the protocol this replaces was enforced by a single\n * function that a new transport could have quietly failed to call.\n */\n allowedApplicationEnvironments: z.array(z.enum(APPLICATION_ENVIRONMENT)).min(1),\n /** Optional further narrowing to named platform environments. */\n allowedPlatformEnvironmentIds: z.array(z.string()).optional(),\n workingDirectoryPolicy: z.enum(AgentClientProtocol_WorkingDirectoryPolicy).default(\n AgentClientProtocol_WorkingDirectoryPolicy.WORKSPACE_ROOT,\n ),\n workingDirectoryRelativePath: z.string().optional(),\n permissionCeiling: z.enum(AgentClientProtocol_PermissionCeiling).default(\n AgentClientProtocol_PermissionCeiling.PROMPT_ALWAYS,\n ),\n hostConfigurationInheritance: z.enum(AgentClientProtocol_HostConfigurationInheritance).default(\n AgentClientProtocol_HostConfigurationInheritance.APPLICATION_SCOPED,\n ),\n /**\n * Wall-clock ceiling for one prompt turn.\n *\n * On expiry the runner sends `session/cancel` and waits for the agent to\n * settle rather than killing the process: ACP defines cancellation as\n * cooperative, and an agent that is mid-edit should be allowed to stop\n * cleanly. A hard kill remains the fallback if the agent does not honour it.\n */\n turnTimeoutMs: z.number().int().positive().optional(),\n /**\n * How many times one invocation may AUTO-CONTINUE the agent after it ends a\n * turn with a self-imposed pause (\"shall I continue?\").\n *\n * The autonomous lane's answer to the agent's own checkpoint reflex: a turn\n * classified as SELF_PAUSE is re-prompted to continue on the same session\n * rather than read as a finished result. Bounded because an agent that pauses\n * forever must eventually be settled rather than looped — on exhaustion the\n * run settles with what it has, recorded as such. Zero disables continuation\n * entirely (every END_TURN is final, the pre-2026-09 behaviour).\n */\n maxAutoContinuations: z.number().int().nonnegative().default(8),\n /**\n * How long an operator answer to a parked question stays valid — the deadline\n * stamped onto the suspension as `parkedUntil`.\n *\n * The parked run does NOT hold a live agent process open for this window: the\n * child is closed the moment the run parks (holding it would occupy the lane's\n * single-flight slot while an operator who may never answer decides). Because\n * the agent persists the session on disk, a later answer re-enters it through\n * `session/load` — so this is an informational freshness bound the host and UX\n * surface, not a timer that reaps a process. It applies only when the agent\n * advertises `loadSession`; otherwise the question is real but unanswerable\n * on the same session, and `resumable` says so.\n */\n awaitingInputTtlMs: z.number().int().positive().default(900_000),\n /**\n * Ceiling on the bytes of session events this run PERSISTS.\n *\n * Semantics are TRUNCATE, not reject — deliberately the opposite of the\n * output cap this replaces, which killed a run for being talkative after it\n * had already mutated the workspace. Losing the tail of a transcript is a\n * reporting loss; losing the run is a work loss.\n */\n maximumRecordedEventBytes: z.number().int().positive().optional(),\n /**\n * Opaque, agent-specific options passed as `_meta` on `session/new`.\n *\n * ACP reserves `_meta` for extensions, and agents use it for options their\n * own runtime understands and no other agent would. Keeping it opaque is what\n * keeps the rest of this contract agent-neutral — but it is also unvalidated\n * and unportable by construction, so anything Wildo needs to GUARANTEE (the\n * environment gate, the permission ceiling, configuration inheritance) is a\n * typed field above and never expressed here.\n */\n sessionMetaExtensions: z.record(z.string(), z.unknown()).optional(),\n}).strict().superRefine((profile, context) => {\n if (profile.authMode === AgentClientProtocol_AuthMode.SECRET_REF_ENV_INJECTION && !profile.secretRef) {\n context.addIssue({\n code: \"custom\",\n message: \"`secretRef` is required when `authMode` is `SECRET_REF_ENV_INJECTION`.\",\n path: [\"secretRef\"],\n });\n }\n\n if (profile.authMode === AgentClientProtocol_AuthMode.SECRET_REF_ENV_INJECTION && !profile.secretEnvVarName) {\n context.addIssue({\n code: \"custom\",\n message: \"`secretEnvVarName` is required when `authMode` is `SECRET_REF_ENV_INJECTION`.\",\n path: [\"secretEnvVarName\"],\n });\n }\n\n // A host-managed or unauthenticated profile carrying a secret binding is a\n // contradiction the runner would resolve silently — injecting nothing while\n // the authored configuration claims a credential is in play. Refuse it, so\n // \"this profile injects no secret\" is a property of the schema rather than of\n // a reviewer's reading.\n if (\n profile.authMode !== AgentClientProtocol_AuthMode.SECRET_REF_ENV_INJECTION &&\n (profile.secretRef !== undefined || profile.secretEnvVarName !== undefined)\n ) {\n context.addIssue({\n code: \"custom\",\n message: \"`secretRef`/`secretEnvVarName` are only valid when `authMode` is `SECRET_REF_ENV_INJECTION`.\",\n path: [\"secretRef\"],\n });\n }\n\n if (\n profile.workingDirectoryPolicy === AgentClientProtocol_WorkingDirectoryPolicy.WORKSPACE_RELATIVE_PATH &&\n !profile.workingDirectoryRelativePath\n ) {\n context.addIssue({\n code: \"custom\",\n message: \"`workingDirectoryRelativePath` is required when using `WORKSPACE_RELATIVE_PATH`.\",\n path: [\"workingDirectoryRelativePath\"],\n });\n }\n\n if (\n profile.workingDirectoryPolicy !== AgentClientProtocol_WorkingDirectoryPolicy.WORKSPACE_RELATIVE_PATH &&\n profile.workingDirectoryRelativePath !== undefined\n ) {\n context.addIssue({\n code: \"custom\",\n message: \"`workingDirectoryRelativePath` is only valid when using `WORKSPACE_RELATIVE_PATH`.\",\n path: [\"workingDirectoryRelativePath\"],\n });\n }\n\n // An UNRESTRICTED ceiling on a profile that may run outside development is\n // the one combination with no legitimate reading: it authorises an agent to\n // mutate a non-development workspace with no gate and no record of a decision.\n if (\n profile.permissionCeiling === AgentClientProtocol_PermissionCeiling.UNRESTRICTED &&\n profile.allowedApplicationEnvironments.some((environment) => environment !== APPLICATION_ENVIRONMENT.DEVELOPMENT)\n ) {\n context.addIssue({\n code: \"custom\",\n message:\n \"`permissionCeiling: UNRESTRICTED` is only valid for a profile restricted to the DEVELOPMENT environment.\",\n path: [\"permissionCeiling\"],\n });\n }\n});\nexport type AgentClientProtocol_ExecutionProfile = z.infer<typeof AgentClientProtocol_ExecutionProfileSchema>;\n/** @wildo_source:part:end acp.execution-profile */\n\n/**\n * Transport capability metadata for an ACP-speaking provider.\n *\n * Note how little is declared here compared with a one-shot CLI contract, and\n * why: ACP agents advertise their own capabilities, session modes and available\n * commands during `initialize` and `session/new`. Re-declaring any of that in\n * authored configuration would create a second source of truth that drifts the\n * first time the agent is upgraded. What remains is what the HOST must know\n * before it opens a connection.\n */\nexport const AgentClientProtocol_ProfileSchema = ExternalProvider_ExchangeProtocol_Profile_BaseSchema.extend({\n supportedRunnerHosts: z.array(z.enum(AgentClientProtocol_RunnerHost)).default([\n AgentClientProtocol_RunnerHost.BACKEND_SUBPROCESS,\n ]),\n /**\n * The ACP major versions this provider is known to speak.\n *\n * ACP negotiates a single integer at `initialize`: the client offers its\n * latest, the agent answers with that or its own. This list is what the\n * runner is willing to accept in that answer — an agent that returns anything\n * else is refused rather than spoken to hopefully.\n */\n supportedProtocolVersions: z.array(z.number().int().positive()).min(1).default([1]),\n /**\n * The semantic operations this transport can execute truthfully.\n *\n * Kept as strings to avoid a circular runtime import with the operation\n * family that consumes this protocol — the same reason the CLI contract this\n * replaces did so.\n */\n supportedOperationKeys: z.array(z.string().min(1)).min(1),\n /**\n * The semantic models valid on this transport.\n *\n * The agent also advertises its own model options per session; this list is\n * the authored subset an application is willing to select from, and it is\n * what a requested model is validated against before a session is opened.\n */\n supportedModels: z.array(z.string().min(1)).min(1),\n supportedAuthModes: z.array(z.enum(AgentClientProtocol_AuthMode)).default([\n AgentClientProtocol_AuthMode.NONE,\n AgentClientProtocol_AuthMode.HOST_MANAGED,\n AgentClientProtocol_AuthMode.SECRET_REF_ENV_INJECTION,\n ]),\n});\nexport type AgentClientProtocol_Profile = ExternalProvider_ExchangeProtocol_Profile_Base & z.infer<typeof AgentClientProtocol_ProfileSchema>;\n\nexport const AgentClientProtocol_ConfigurationSchema = ExternalProvider_ExchangeProtocol_Configuration_BaseSchema.extend({\n defaultExecutionProfileRef: z.string().optional(),\n executionProfiles: z.record(z.string(), AgentClientProtocol_ExecutionProfileSchema),\n}).superRefine((config, context) => {\n if (config.defaultExecutionProfileRef && !config.executionProfiles[config.defaultExecutionProfileRef]) {\n context.addIssue({\n code: \"custom\",\n message: \"`defaultExecutionProfileRef` must reference an existing execution profile.\",\n path: [\"defaultExecutionProfileRef\"],\n });\n }\n});\nexport type AgentClientProtocol_Configuration = ExternalProvider_ExchangeProtocol_Configuration_Base & z.infer<typeof AgentClientProtocol_ConfigurationSchema>;\n\nexport const AgentClientProtocol_StatusSchema = ExternalProvider_ExchangeProtocol_Status_BaseSchema.extend({\n protocolKind: z.literal(ExternalProvider_ExchangeProtocol_Kind.AGENT_CLIENT_PROTOCOL),\n /** The version actually agreed at the last `initialize`, when one succeeded. */\n negotiatedProtocolVersion: z.number().int().positive().optional(),\n /**\n * The agent's self-reported identity from its last `initialize` response.\n *\n * Recorded because the agent is an independently released dependency: when a\n * run starts behaving differently, \"which build answered\" is the first\n * question, and it is not answerable from anything Wildo authored.\n */\n observedAgentName: z.string().optional(),\n observedAgentVersion: z.string().optional(),\n});\nexport type AgentClientProtocol_Status = z.infer<typeof AgentClientProtocol_StatusSchema>;\n\n\n//===============================================================\n// Coding-agent operation family\n// --------\n// The semantic operation an ACP session serves. Deliberately NOT an\n// `LLMProvider_OperationKey`: a run that edits a worktree, executes commands\n// and requests authorisation is a different KIND of work from a text\n// completion, and the two enums being disjoint is what lets an agent\n// configuration be narrowed by its operation key alone.\n//===============================================================\n\nexport enum CodingAgent_OperationKey {\n /** A bounded, scoped change to a workspace, performed by an autonomous agent. */\n RUN_CODING_TASK = \"coding.runCodingTask\",\n}\n\n/**\n * Why a prompt turn ended.\n *\n * The wire values are ACP's own — this is the thin boundary where the\n * protocol's vocabulary is translated into a named one Wildo can branch on and\n * explain. `CANCELLED` in particular must stay distinguishable from `END_TURN`:\n * a cancelled run's partial change set is a different fact from a completed\n * run's, and a lane that conflates them reports work as finished that was\n * interrupted.\n */\nexport enum CodingAgent_StopReason {\n /** The agent finished of its own accord. */\n END_TURN = \"end_turn\",\n /** The model's output limit was reached mid-work. */\n MAX_TOKENS = \"max_tokens\",\n /** The agent's own per-turn request budget was exhausted. */\n MAX_TURN_REQUESTS = \"max_turn_requests\",\n /** The model declined the task. */\n REFUSAL = \"refusal\",\n /** The client asked the session to stop, and the agent complied. */\n CANCELLED = \"cancelled\",\n /**\n * WILDO'S OWN marker, not an ACP wire value: the agent reported a stop reason\n * this protocol version does not define.\n *\n * It exists so an unknown value cannot discard evidence. The alternative —\n * throwing — happens AFTER the turn, i.e. after the workspace has already been\n * mutated, so it would turn a completed run into an error whose change set\n * nobody records. Callers must treat this like `CANCELLED`: not a working\n * result, but a run whose changes are real and must still be captured.\n */\n UNRECOGNISED = \"wildo.unrecognised\",\n}\n\n/**\n * What an END_TURN actually meant — the judgment the turn ladder branches on.\n *\n * ACP delivers every voluntary stop identically: `end_turn` plus whatever the\n * agent last said. Three very different situations arrive in that one shape,\n * and only reading the message tells them apart, which is why this is decided\n * by an auxiliary LLM classification rather than by a heuristic on the text:\n * a regex that recognises \"shall I continue?\" is an invented vocabulary for\n * someone else's prose.\n */\nexport enum CodingAgent_EndOfTurnClassification {\n /** The agent finished the task; the turn is a final result. */\n TASK_COMPLETE = \"task_complete\",\n /**\n * The agent paused of its own accord — \"next?\", \"want me to proceed?\" — a\n * checkpoint reflex, not a need. The ladder answers it with the continuation\n * prompt instead of surfacing it, because at this level those checkpoints are\n * deliberately avoided (autonomy directive, 2026-09-04).\n */\n SELF_PAUSE = \"self_pause\",\n /**\n * The agent asked something only the caller can answer — a real decision, a\n * missing credential, an ambiguity in the task. The session parks and the\n * question is surfaced; auto-continuing would make the agent answer itself.\n */\n NEEDS_INPUT = \"needs_input\",\n /**\n * The classifier itself failed or timed out. FAILS OPEN to settlement: the\n * turn is treated as TASK_COMPLETE, because an auxiliary call must never hang\n * the autonomous lane or discard a mutated workspace — but the failure is\n * recorded as this value rather than laundered into a confident judgment.\n */\n CLASSIFIER_UNAVAILABLE = \"classifier_unavailable\",\n}\n\n/**\n * One auto-continuation the turn ladder performed, recorded per turn boundary.\n *\n * Kept as a record rather than a counter for the same reason permission\n * decisions are: a run that continued five times and one that never paused are\n * different runs, and the difference is diagnosable only if each boundary says\n * what was classified and what was sent back.\n */\nexport const CodingAgent_ContinuationRecordSchema = z.strictObject({\n /** 1-based index of the turn that ENDED at this boundary. */\n turnIndex: z.number().int().positive(),\n classification: z.enum(CodingAgent_EndOfTurnClassification),\n /**\n * The tail of the agent's end-of-turn message the classification was made\n * from. A bounded excerpt, not the transcript — enough to audit the judgment.\n */\n agentMessageTail: z.string().optional(),\n});\nexport type CodingAgent_ContinuationRecord = z.infer<typeof CodingAgent_ContinuationRecordSchema>;\n\n/**\n * A run that STOPPED WITHOUT FINISHING because the agent needs an answer.\n *\n * The ACP sibling of `AgentApprovalSuspension` on the LLM transport: the\n * invocation returns, but its output must not be read as a completed result —\n * `suspension` present means the final message is a QUESTION. The caller\n * surfaces the question, and the answer re-enters the SAME session:\n * `resumable: true` promises the agent advertised `loadSession`, so the session\n * survives the child process and even a host restart.\n */\nexport const CodingAgent_SessionSuspensionSchema = z.strictObject({\n /** The ACP session to resume with the answer. */\n sessionId: z.string().min(1),\n /** The agent's question, verbatim — its end-of-turn message. */\n question: z.string().min(1),\n /** 1-based turn the session parked after. */\n turnIndex: z.number().int().positive(),\n /**\n * Whether the session can be re-entered after the agent process is gone.\n * False when the agent does not advertise `loadSession`: the question is\n * still real, but answering it starts a NEW session that must restate task\n * context — a degradation the caller should surface, not hide.\n */\n resumable: z.boolean(),\n /** When the parked child process will be closed (ISO timestamp). */\n parkedUntil: z.string().optional(),\n});\nexport type CodingAgent_SessionSuspension = z.infer<typeof CodingAgent_SessionSuspensionSchema>;\n\n/**\n * What one coding turn consumed.\n *\n * EVERY field is optional, and that is a statement about the protocol rather\n * than laziness. ACP guarantees only the context-window pair (`used` / `size`)\n * on its usage notification; token breakdowns and monetary cost are agent\n * EXTENSIONS — Claude's adapter reports all of them, another agent may report\n * none. Code that enforces a budget must therefore decide what to do when the\n * number it wants is absent, and the schema makes that unavoidable rather than\n * letting a missing value read as zero.\n *\n * This is the capability the transport it replaces could not express at all:\n * a one-shot CLI reported nothing, so budgets were reduced to wall-clock and\n * run-count proxies.\n */\nexport const CodingAgent_UsageSchema = z.object({\n /** Context-window tokens in use at the end of the turn (ACP: `usage_update.used`). */\n contextUsed: z.number().int().nonnegative().optional(),\n /** Total context window available (ACP: `usage_update.size`). */\n contextWindowSize: z.number().int().nonnegative().optional(),\n inputTokens: z.number().int().nonnegative().optional(),\n outputTokens: z.number().int().nonnegative().optional(),\n /** Tokens READ from the prompt cache — typically the dominant term for a coding turn. */\n cachedReadTokens: z.number().int().nonnegative().optional(),\n /** Tokens WRITTEN to the prompt cache. */\n cachedWriteTokens: z.number().int().nonnegative().optional(),\n totalTokens: z.number().int().nonnegative().optional(),\n /**\n * Monetary cost of the turn, when the agent reports one.\n *\n * Kept as an amount + currency pair rather than a bare number: a budget\n * denominated in an unstated currency is not a budget. Amount is a plain\n * number because it arrives that way; anything that ACCUMULATES cost should\n * round explicitly at its own boundary rather than trusting float addition.\n */\n cost: z.object({\n amount: z.number().nonnegative(),\n currency: z.string().min(1),\n }).optional(),\n});\nexport type CodingAgent_Usage = z.infer<typeof CodingAgent_UsageSchema>;\n\n/**\n * Transport metadata for a completed coding run.\n *\n * Note where this lives: WITH the coding-agent family, not in the LLM\n * protocol's transport union. A coding run is not an LLM call with a different\n * wire format, and recording it inside the LLM execution-metadata union would\n * re-create, one layer down, exactly the mis-modelling this protocol exists to\n * end.\n */\nexport const AgentClientProtocol_ExecutionTransportMetadataSchema = z.object({\n protocolKind: z.literal(ExternalProvider_ExchangeProtocol_Kind.AGENT_CLIENT_PROTOCOL),\n providerRef: z.string(),\n executionProfileRef: z.string(),\n model: z.string().optional(),\n /** The ACP major version agreed at `initialize`. */\n negotiatedProtocolVersion: z.number().int().positive().optional(),\n /** The agent's self-reported build — the first question when a run misbehaves. */\n agentName: z.string().optional(),\n agentVersion: z.string().optional(),\n /**\n * The agent-declared session mode the run actually executed under.\n *\n * Recorded verbatim as the agent named it, because it is the agent's\n * vocabulary and the mapping from Wildo's ceiling is lossy in one direction:\n * knowing the run was clamped to `PROMPT_ALWAYS` does not tell a later reader\n * which of the agent's modes that became.\n */\n sessionModeId: z.string().optional(),\n /**\n * Whether the agent this run started DECLARES that it escalates before\n * mutating, and whether Wildo's in-flight guards could therefore fire.\n *\n * Recorded on the run because the ceiling alone no longer explains the run:\n * `permissionCeiling: PROMPT_ALWAYS` against an agent that never asks and\n * against one that always asks describe two completely different runs, and\n * nothing else in this metadata tells them apart. A later reader looking at a\n * change set needs to know whether anything stood between the agent and it.\n *\n * Optional because the declaration is a provider fact and a run recorded\n * before this field existed genuinely has no answer — absence must not read as\n * `false`, which would assert an unbound run that may have been fully bound.\n */\n permissionEscalation: z.enum(AgentClientProtocol_PermissionEscalationBehaviour).optional(),\n /**\n * The resolved answer for THIS run, from\n * {@link agentClientProtocolInFlightGuardsCanFire} — the declared behaviour\n * combined with whether the composed environment actually supplied the\n * configuration a conditionally-escalating agent needs.\n *\n * Kept beside the behaviour rather than derived by each reader, because the\n * conditional member cannot be resolved from the behaviour alone and a reader\n * that tried would answer `true` for an agent that was dispatched unconfigured.\n */\n inFlightPermissionGuardsCanFire: z.boolean().optional(),\n /** The ACP session, retained so a later turn can resume or fork it. */\n sessionId: z.string().optional(),\n});\nexport type AgentClientProtocol_ExecutionTransportMetadata = z.infer<typeof AgentClientProtocol_ExecutionTransportMetadataSchema>;\n\nexport const CodingAgent_OperationContext_BaseSchema = ExternalProvider_OperationContextSchema.extend({\n usage: CodingAgent_UsageSchema.optional(),\n executionTime: z.number().optional(),\n finishedAt: z.string().optional(),\n transport: AgentClientProtocol_ExecutionTransportMetadataSchema.optional(),\n});\nexport type CodingAgent_OperationContext_Base = z.infer<typeof CodingAgent_OperationContext_BaseSchema>;\n\nexport type CodingAgent_OperationDefinitionBase = ExternalProvider_OperationDefinition_Base & {\n operationContextSchema: typeof CodingAgent_OperationContext_BaseSchema,\n supportedModels?: string[],\n};\n\n// ===============================================================\n// Coding-agent I/O\n// ===============================================================\n\n/**\n * Model-selection configuration for a coding agent.\n *\n * Deliberately smaller than its LLM sibling, and the omissions are the design.\n * There is no `temperature`, `topP` or penalty here: those tune a completion,\n * and an ACP agent is not one — it runs its own inner loop, chooses its own\n * tools and manages its own sampling. Offering an application knobs the\n * transport cannot honour would be worse than offering none, because it would\n * read as configuration and behave as decoration.\n *\n * `maxTokens` is likewise absent: a coding run's budget is enforced by the\n * caller against reported usage after each turn, not requested up front — the\n * agent decides how many model calls its task needs.\n */\nexport const CodingAgent_OperationModelConfiguration_Schema = z.object({\n model: z.string(),\n providerRef: z.string(),\n});\nexport type CodingAgent_OperationModelConfiguration = z.infer<typeof CodingAgent_OperationModelConfiguration_Schema>;\n\nexport const CodingAgent_RunTaskInputSchema = z.object({\n /**\n * The rendered task handed to the agent as the turn's prompt.\n *\n * A single string on purpose: the caller owns task composition (for\n * application creation, a typed task contract renders it), and the transport\n * must not become a second place where task semantics are assembled.\n */\n prompt: z.string().min(1),\n /**\n * The autonomy this particular run asks for.\n *\n * CLAMPED, never honoured blindly: the runner takes the lower of this and the\n * execution profile's `permissionCeiling`. Absent means the profile's ceiling\n * — which is itself the safe default — so omitting it can never widen\n * authority, only leave it where the profile put it.\n */\n requestedPermissionCeiling: z.enum(AgentClientProtocol_PermissionCeiling).optional(),\n /**\n * Present when this run ANSWERS a parked session rather than starting a task.\n *\n * Carries the `sessionId` from a prior run's `suspension`; the transport\n * re-enters that session via `session/load` and delivers `prompt` (the\n * answer) as the next turn. Refused — not degraded — when the agent does not\n * advertise `loadSession`: silently starting a fresh session would present a\n * context-less answer as a continuation.\n */\n continuationOfSessionId: z.string().min(1).optional(),\n});\nexport type CodingAgent_RunTaskInput = z.infer<typeof CodingAgent_RunTaskInputSchema>;\n\nexport const CodingAgent_RunTaskOutputSchema = z.object({\n /** The agent's closing message — its own account of what it did. */\n finalMessage: z.string(),\n stopReason: z.enum(CodingAgent_StopReason),\n /**\n * Absolute paths the agent REPORTED touching, from its tool-call stream.\n *\n * A claim, not a record. An agent reports what its own tooling surfaces, and\n * nothing prevents it writing a file it never mentions — measured against\n * Claude's adapter, file operations happen inside the agent and are reported\n * afterwards rather than routed through the client. Use this to NARROW an\n * attribution question; never as the answer. The authoritative record of what\n * changed is the workspace diff taken around the run.\n */\n reportedFileLocations: z.array(z.string()).optional(),\n /**\n * How many permission requests the client REFUSED during the turn.\n *\n * Recorded because under the strictest ceiling refusal is the NORMAL outcome,\n * not an exception: without this number a run in which the agent proposed five\n * changes and was refused every one is indistinguishable from a run in which\n * it proposed nothing. The agent's own closing message cannot be relied on to\n * say so.\n */\n deniedPermissionCount: z.number().int().nonnegative().optional(),\n /**\n * One record per permission request, with the REASON it was decided.\n *\n * The count above says HOW MANY were refused; this says WHY, which is the half that makes a\n * refusal actionable. A run under an UNRESTRICTED ceiling came back with two refusals and no\n * files written, and nothing recorded could distinguish \"the scope predicate refused a path\"\n * from \"the agent offered no option the client would select\" — opposite defects with an\n * identical outward appearance, and neither diagnosable without dispatching another agent.\n *\n * Deliberately carries no prompt or file CONTENT: the tool kind, the declared paths, the\n * option kinds offered, and the decision.\n */\n permissionDecisions: z.array(z.strictObject({\n allowed: z.boolean(),\n reason: z.string(),\n toolKind: z.string().optional(),\n locations: z.array(z.string()),\n offeredOptionKinds: z.array(z.string()),\n })).optional(),\n /**\n * The agent's verbatim stop reason when it was one this version does not\n * define. Present exactly when `stopReason` is `UNRECOGNISED`.\n */\n rawStopReason: z.string().optional(),\n /**\n * How many prompt turns this invocation drove on the session. Absent means\n * one — the single-turn shape every pre-ladder consumer already assumes.\n */\n turnCount: z.number().int().positive().optional(),\n /**\n * One record per turn boundary the ladder judged — auto-continues, the park,\n * the settlement. See {@link CodingAgent_ContinuationRecordSchema}.\n */\n continuations: z.array(CodingAgent_ContinuationRecordSchema).optional(),\n /**\n * Present when the run PARKED on a genuine question instead of finishing.\n * `finalMessage` is then the QUESTION, and `stopReason` is the wire-true\n * `END_TURN` — this field is what stops that reading as a completed result.\n * Callers that ignore it record work as done that is waiting on an answer.\n */\n suspension: CodingAgent_SessionSuspensionSchema.optional(),\n});\nexport type CodingAgent_RunTaskOutput = z.infer<typeof CodingAgent_RunTaskOutputSchema>;\n"]}
@@ -42,6 +42,26 @@ export declare enum TaxDisplayMode {
42
42
  /** Price amounts are TTC (tax embedded) */
43
43
  INCLUSIVE = "inclusive"
44
44
  }
45
+ /**
46
+ * How a mid-cycle subscription change is settled.
47
+ *
48
+ * A PROTOCOL vocabulary, and it lives here for the same reason {@link TaxDisplayMode} does: these three
49
+ * values are the wire values a billing provider accepts. It was declared in `@wildo-ai/saas-models`
50
+ * until 2026-09-08 and re-exported the other way round, which is why an authored proration could be
51
+ * resolved by the engine and had no field on the request to travel in — the request contract could not
52
+ * name the type without a package cycle, so the resolved value was sent as provider METADATA and
53
+ * ignored (#516).
54
+ *
55
+ * `@wildo-ai/saas-models` re-exports it, so every existing consumer is unchanged.
56
+ */
57
+ export declare enum ProrationBehavior {
58
+ /** Credit the unused time and charge the new price pro rata, settled on the next invoice. */
59
+ CREATE_PRORATIONS = "create_prorations",
60
+ /** No proration: the change takes effect and the next invoice is the new price in full. */
61
+ NONE = "none",
62
+ /** Prorate and invoice the difference IMMEDIATELY rather than at the next cycle. */
63
+ ALWAYS_INVOICE = "always_invoice"
64
+ }
45
65
  /**
46
66
  * Subscription status values (maps to Stripe subscription statuses).
47
67
  */
@@ -56,6 +76,33 @@ export declare enum SubscriptionStatus {
56
76
  TRIALING = "trialing",
57
77
  PAUSED = "paused"
58
78
  }
79
+ /**
80
+ * Invoice lifecycle status, as the PROVIDER reports it.
81
+ *
82
+ * A PROTOCOL vocabulary for the same reason {@link SubscriptionStatus} is one: these are the states
83
+ * a billing provider puts an invoice in, and the adapter's job is to map its own wire values onto
84
+ * them. It was declared in `@wildo-ai/saas-models` until 2026-09-09 and could not be named by this
85
+ * package at all, so `listInvoices` — the read the reconciliation sweep needs — had no way to type
86
+ * the one field the sweep compares.
87
+ *
88
+ * Moved rather than duplicated: a second enum with the same five members would be two sources for
89
+ * one closed vocabulary, which is what `CLAUDE.md` forbids. `@wildo-ai/saas-models` re-exports it
90
+ * exactly as it already re-exports `SubscriptionStatus`, `TaxDisplayMode` and `ProrationBehavior`,
91
+ * so every existing consumer — including the `invoiceRefs` schema, the badge palette and the
92
+ * documentation catalogue — imports the same specifier it always did.
93
+ */
94
+ export declare enum InvoiceStatus {
95
+ /** Not finalized: the provider has not issued it for collection and it may still change. */
96
+ DRAFT = "draft",
97
+ /** Finalized and awaiting payment. */
98
+ OPEN = "open",
99
+ /** Settled. */
100
+ PAID = "paid",
101
+ /** Cancelled by the provider or the merchant; never collectable. */
102
+ VOID = "void",
103
+ /** Written off — payment was attempted and abandoned. */
104
+ UNCOLLECTIBLE = "uncollectible"
105
+ }
59
106
  /**
60
107
  * Canonical billing events the system cares about.
61
108
  * Provider-specific events are mapped to these types by the transformer.
@@ -203,6 +250,31 @@ export interface StandardBilling_CreateSubscriptionRequest {
203
250
  trialPeriodDays?: number;
204
251
  /** Provider promotion code to apply */
205
252
  providerPromotionCodeId?: string;
253
+ /**
254
+ * Ask the provider to compute tax on this purchase (#408, 2026-09-08).
255
+ *
256
+ * Set from the application's `billing.tax.calculationMode`, which is PROVIDER_MANAGED or
257
+ * DISABLED — Wildo never calculates tax locally, so the only question a provider is asked is
258
+ * whether to calculate at all. A provider that cannot compute tax ignores this; one that can and
259
+ * is not configured for the customer's jurisdiction will say so at the call, which is the right
260
+ * place for that failure.
261
+ *
262
+ * Distinct from a price's `taxBehavior`, which says whether a displayed amount INCLUDES tax.
263
+ * That one has always reached the provider; this one decides whether tax is computed.
264
+ */
265
+ automaticTax?: boolean;
266
+ /**
267
+ * Require a payment method up front for a trial (#408, 2026-09-08).
268
+ *
269
+ * Set from the product's `behaviorPolicy.trial.requirePaymentMethod`, which was declared,
270
+ * labelled, rendered on billing screens and passed to no provider call — so a trial declared as
271
+ * requiring a card behaved identically to one that did not. Wonder Todos' enterprise plan
272
+ * (`true`) and professional plan (`false`) were indistinguishable at the provider.
273
+ *
274
+ * Two provider-side consequences follow and a connector should honour both: collect the payment
275
+ * method during checkout, and decide what happens if the trial ends without one.
276
+ */
277
+ requirePaymentMethodForTrial?: boolean;
206
278
  metadata?: Record<string, string>;
207
279
  }
208
280
  export interface StandardBilling_CreateSubscriptionResponse {
@@ -219,6 +291,16 @@ export interface StandardBilling_UpdateSubscriptionRequest {
219
291
  }>;
220
292
  /** Provider promotion code to apply */
221
293
  providerPromotionCodeId?: string;
294
+ /**
295
+ * How the provider settles this mid-cycle change (#516).
296
+ *
297
+ * The engine resolves it from the target product's `upgrade`/`downgrade` behaviour policy and it
298
+ * had nowhere to travel: it was put in `metadata`, a free-form bag the provider does not read, so a
299
+ * product declaring `NONE` for a downgrade was still prorated by the provider's own default. Absent
300
+ * means "do not send one" — the provider applies its account default, which is what every
301
+ * subscription update did before this field existed.
302
+ */
303
+ prorationBehavior?: ProrationBehavior;
222
304
  metadata?: Record<string, string>;
223
305
  }
224
306
  export interface StandardBilling_CancelSubscriptionOptions {
@@ -270,6 +352,37 @@ export interface StandardBilling_InvoicePreview {
270
352
  periodStart: Date;
271
353
  periodEnd: Date;
272
354
  }
355
+ /**
356
+ * StandardBilling_InvoiceData: an invoice the provider ALREADY holds.
357
+ *
358
+ * Distinct from {@link StandardBilling_InvoicePreview}, and the distinction is the point: a preview
359
+ * is a hypothetical the provider computes on request and never stores, while this is a record that
360
+ * exists at the provider whether or not Wildo ever heard about it. The second is what a
361
+ * reconciliation sweep needs — a webhook that was never delivered leaves an invoice that exists
362
+ * there and nowhere here, and no amount of previewing finds it.
363
+ *
364
+ * Deliberately thin. It carries what `invoiceRefs` stores and nothing else: line items, tax
365
+ * breakdowns and payment attempts live at the provider, and the customer reaches them through the
366
+ * provider-hosted portal.
367
+ */
368
+ export interface StandardBilling_InvoiceData {
369
+ providerInvoiceId: string;
370
+ /** The customer the invoice was billed to — the key that maps it back to a local billing account. */
371
+ providerCustomerId: string;
372
+ status: InvoiceStatus;
373
+ /**
374
+ * The invoice TOTAL, in the CURRENCY's smallest unit.
375
+ *
376
+ * The total, not the amount PAID: an invoice's value does not depend on whether it has been
377
+ * settled, and an unpaid invoice recorded at zero is indistinguishable from a zero invoice.
378
+ */
379
+ total: number;
380
+ currency: string;
381
+ hostedInvoiceUrl?: string;
382
+ invoicePdfUrl?: string;
383
+ /** When the provider created the invoice — used to bound how far back a sweep looks. */
384
+ createdAt: Date;
385
+ }
273
386
  export interface StandardBilling_CreateCheckoutSessionRequest {
274
387
  providerCustomerId: string;
275
388
  lineItems: Array<{
@@ -286,6 +399,31 @@ export interface StandardBilling_CreateCheckoutSessionRequest {
286
399
  providerPromotionCodeId?: string;
287
400
  /** Trial period for subscriptions */
288
401
  trialPeriodDays?: number;
402
+ /**
403
+ * Ask the provider to compute tax on this purchase (#408, 2026-09-08).
404
+ *
405
+ * Set from the application's `billing.tax.calculationMode`, which is PROVIDER_MANAGED or
406
+ * DISABLED — Wildo never calculates tax locally, so the only question a provider is asked is
407
+ * whether to calculate at all. A provider that cannot compute tax ignores this; one that can and
408
+ * is not configured for the customer's jurisdiction will say so at the call, which is the right
409
+ * place for that failure.
410
+ *
411
+ * Distinct from a price's `taxBehavior`, which says whether a displayed amount INCLUDES tax.
412
+ * That one has always reached the provider; this one decides whether tax is computed.
413
+ */
414
+ automaticTax?: boolean;
415
+ /**
416
+ * Require a payment method up front for a trial (#408, 2026-09-08).
417
+ *
418
+ * Set from the product's `behaviorPolicy.trial.requirePaymentMethod`, which was declared,
419
+ * labelled, rendered on billing screens and passed to no provider call — so a trial declared as
420
+ * requiring a card behaved identically to one that did not. Wonder Todos' enterprise plan
421
+ * (`true`) and professional plan (`false`) were indistinguishable at the provider.
422
+ *
423
+ * Two provider-side consequences follow and a connector should honour both: collect the payment
424
+ * method during checkout, and decide what happens if the trial ends without one.
425
+ */
426
+ requirePaymentMethodForTrial?: boolean;
289
427
  metadata?: Record<string, string>;
290
428
  }
291
429
  export interface StandardBilling_CreateCheckoutSessionResponse {
@@ -366,6 +504,22 @@ export interface StandardBilling_Interface {
366
504
  retrieveSubscription(providerSubscriptionId: string): Promise<StandardBilling_SubscriptionData>;
367
505
  /** Preview prorated cost of a plan change before user commits */
368
506
  retrieveUpcomingInvoice(providerSubscriptionId: string, newPriceId?: string): Promise<StandardBilling_InvoicePreview>;
507
+ /**
508
+ * Invoices the provider holds for one customer, newest first.
509
+ *
510
+ * The RECOVERY read for {@link StandardBilling_EventType.INVOICE_PAID} and its siblings. Wildo
511
+ * never creates an invoice — every local `invoiceRefs` row exists because a webhook arrived — so a
512
+ * delivery that is lost, or that arrives while the application is down and exhausts the provider's
513
+ * retries, leaves an invoice with no local trace and nothing that could notice. This is the only
514
+ * call that can find one.
515
+ *
516
+ * `limit` bounds one page and an adapter may cap it lower; the sweep asks for a recent window
517
+ * rather than the whole history, because an invoice older than the window has either been
518
+ * reconciled already or is a backlog no single tick should try to drain.
519
+ */
520
+ listInvoices(providerCustomerId: string, options?: {
521
+ limit?: number;
522
+ }): Promise<StandardBilling_InvoiceData[]>;
369
523
  /** Hosted checkout page — NO Stripe Elements needed, no PCI scope */
370
524
  createCheckoutSession(request: StandardBilling_CreateCheckoutSessionRequest): Promise<StandardBilling_CreateCheckoutSessionResponse>;
371
525
  /** Customer portal for: invoices, payment methods, billing address, cancel */
@@ -1 +1 @@
1
- {"version":3,"file":"billing.standard-interface.schemas.d.ts","sourceRoot":"","sources":["../../../../src/protocols/billing.standard-interface.schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"billing.standard-interface.schemas.d.ts","sourceRoot":"","sources":["../../../../src/protocols/billing.standard-interface.schemas.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,27 @@ export var TaxDisplayMode;
48
48
  /** Price amounts are TTC (tax embedded) */
49
49
  TaxDisplayMode["INCLUSIVE"] = "inclusive";
50
50
  })(TaxDisplayMode || (TaxDisplayMode = {}));
51
+ /**
52
+ * How a mid-cycle subscription change is settled.
53
+ *
54
+ * A PROTOCOL vocabulary, and it lives here for the same reason {@link TaxDisplayMode} does: these three
55
+ * values are the wire values a billing provider accepts. It was declared in `@wildo-ai/saas-models`
56
+ * until 2026-09-08 and re-exported the other way round, which is why an authored proration could be
57
+ * resolved by the engine and had no field on the request to travel in — the request contract could not
58
+ * name the type without a package cycle, so the resolved value was sent as provider METADATA and
59
+ * ignored (#516).
60
+ *
61
+ * `@wildo-ai/saas-models` re-exports it, so every existing consumer is unchanged.
62
+ */
63
+ export var ProrationBehavior;
64
+ (function (ProrationBehavior) {
65
+ /** Credit the unused time and charge the new price pro rata, settled on the next invoice. */
66
+ ProrationBehavior["CREATE_PRORATIONS"] = "create_prorations";
67
+ /** No proration: the change takes effect and the next invoice is the new price in full. */
68
+ ProrationBehavior["NONE"] = "none";
69
+ /** Prorate and invoice the difference IMMEDIATELY rather than at the next cycle. */
70
+ ProrationBehavior["ALWAYS_INVOICE"] = "always_invoice";
71
+ })(ProrationBehavior || (ProrationBehavior = {}));
51
72
  /**
52
73
  * Subscription status values (maps to Stripe subscription statuses).
53
74
  */
@@ -63,6 +84,34 @@ export var SubscriptionStatus;
63
84
  SubscriptionStatus["TRIALING"] = "trialing";
64
85
  SubscriptionStatus["PAUSED"] = "paused";
65
86
  })(SubscriptionStatus || (SubscriptionStatus = {}));
87
+ /**
88
+ * Invoice lifecycle status, as the PROVIDER reports it.
89
+ *
90
+ * A PROTOCOL vocabulary for the same reason {@link SubscriptionStatus} is one: these are the states
91
+ * a billing provider puts an invoice in, and the adapter's job is to map its own wire values onto
92
+ * them. It was declared in `@wildo-ai/saas-models` until 2026-09-09 and could not be named by this
93
+ * package at all, so `listInvoices` — the read the reconciliation sweep needs — had no way to type
94
+ * the one field the sweep compares.
95
+ *
96
+ * Moved rather than duplicated: a second enum with the same five members would be two sources for
97
+ * one closed vocabulary, which is what `CLAUDE.md` forbids. `@wildo-ai/saas-models` re-exports it
98
+ * exactly as it already re-exports `SubscriptionStatus`, `TaxDisplayMode` and `ProrationBehavior`,
99
+ * so every existing consumer — including the `invoiceRefs` schema, the badge palette and the
100
+ * documentation catalogue — imports the same specifier it always did.
101
+ */
102
+ export var InvoiceStatus;
103
+ (function (InvoiceStatus) {
104
+ /** Not finalized: the provider has not issued it for collection and it may still change. */
105
+ InvoiceStatus["DRAFT"] = "draft";
106
+ /** Finalized and awaiting payment. */
107
+ InvoiceStatus["OPEN"] = "open";
108
+ /** Settled. */
109
+ InvoiceStatus["PAID"] = "paid";
110
+ /** Cancelled by the provider or the merchant; never collectable. */
111
+ InvoiceStatus["VOID"] = "void";
112
+ /** Written off — payment was attempted and abandoned. */
113
+ InvoiceStatus["UNCOLLECTIBLE"] = "uncollectible";
114
+ })(InvoiceStatus || (InvoiceStatus = {}));
66
115
  // ===============================================================
67
116
  // Standard Billing Event Types
68
117
  // ===============================================================
@@ -101,4 +150,4 @@ export var StandardBilling_EventType;
101
150
  StandardBilling_EventType["PAYMENT_METHOD_ATTACHED"] = "payment_method.attached";
102
151
  StandardBilling_EventType["PAYMENT_METHOD_DETACHED"] = "payment_method.detached";
103
152
  })(StandardBilling_EventType || (StandardBilling_EventType = {}));
104
- //# sourceMappingURL=billing.standard-interface.schemas.js.map
153
+ //# sourceMappingURL=billing.standard-interface.schemas.js.map