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

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.
@@ -46,8 +46,10 @@ export declare enum ExternalProvider_ExchangeProtocol_Kind {
46
46
  * `EngineCapability.AI_DOCUMENT_EXTRACTION` slot so an application selects its OCR provider
47
47
  * independently of chat and embeddings — three unrelated procurement decisions.
48
48
  *
49
- * NOT to be confused with `EngineCapability.DOCUMENT_GENERATION`, which is PDF *generation*
50
- * (templates → bytes) and is semantically the opposite direction.
49
+ * NOT to be confused with PDF *generation* (templates → bytes), which is the `pdfTemplates`
50
+ * surface and is semantically the opposite direction. It has no provider slot: the
51
+ * `EngineCapability.DOCUMENT_GENERATION` this paragraph used to name was withdrawn because no
52
+ * provider capability token could ever fill it.
51
53
  */
52
54
  DOCUMENT_EXTRACTION_PROVIDER = "document_extraction_provider",
53
55
  /** Reserved — audio generation (TTS / music). Serves the AUDIO modality. Not yet implemented. */
@@ -1 +1 @@
1
- {"version":3,"file":"commons.external-connectors-models.schemas.d.ts","sourceRoot":"","sources":["../../../../src/core/commons.external-connectors-models.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAA6C,0BAA0B,EAAsF,MAAM,+CAA+C,CAAC;AAG1N,oBAAY,sCAAsC;IAEhD,QAAQ,aAAa;IACrB,kBAAkB,uBAAuB;IAIzC,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B;;;;;;;;;;;;;;;OAeG;IACH,qBAAqB,0BAA0B;IAE/C,8EAA8E;IAC9E,cAAc,mBAAmB;IACjC;;;;;;;;;;OAUG;IACH,mBAAmB,wBAAwB;IAC3C;;;;;;;;;;;OAWG;IACH,4BAA4B,iCAAiC;IAC7D,iGAAiG;IACjG,cAAc,mBAAmB;IACjC,mFAAmF;IACnF,cAAc,mBAAmB;IAGjC,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;IAC7B,IAAI,SAAS;IAGb,UAAU,eAAe;IACzB,QAAQ,aAAa;IAIrB,gBAAgB,qBAAqB;IAGrC,YAAY,iBAAiB;IAG7B,YAAY,iBAAiB;CAC9B;AAED,oBAAY,uBAAuB;IACjC,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,UAAU,eAAe;CAC1B;AAED,oBAAY,uBAAuB;IACjC,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,UAAU,eAAe;CAC1B;AAGD,oBAAY,cAAc;IACxB,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,oDAAoD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAI/D,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,0DAA0D;;;;;;;;;;;;;;;;iBAIrE,CAAC;AAEH,eAAO,MAAM,mDAAmD;;;;;iBAK9D,CAAC;AAEH,MAAM,MAAM,8CAA8C,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oDAAoD,CAAC,CAAC;AAClI,MAAM,MAAM,oDAAoD,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0DAA0D,CAAC,CAAC;AAC9I,MAAM,MAAM,6CAA6C,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mDAAmD,CAAC,CAAC;AAEhI,oBAAY,6BAA6B;IACvC,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,aAAa,kBAAkB;CAChC;AAED,oBAAY,sCAAsC;IAChD,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,SAAS,WAAW;CACrB"}
1
+ {"version":3,"file":"commons.external-connectors-models.schemas.d.ts","sourceRoot":"","sources":["../../../../src/core/commons.external-connectors-models.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAA6C,0BAA0B,EAAsF,MAAM,+CAA+C,CAAC;AAG1N,oBAAY,sCAAsC;IAEhD,QAAQ,aAAa;IACrB,kBAAkB,uBAAuB;IAIzC,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B;;;;;;;;;;;;;;;OAeG;IACH,qBAAqB,0BAA0B;IAE/C,8EAA8E;IAC9E,cAAc,mBAAmB;IACjC;;;;;;;;;;OAUG;IACH,mBAAmB,wBAAwB;IAC3C;;;;;;;;;;;;;OAaG;IACH,4BAA4B,iCAAiC;IAC7D,iGAAiG;IACjG,cAAc,mBAAmB;IACjC,mFAAmF;IACnF,cAAc,mBAAmB;IAGjC,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;IAC7B,IAAI,SAAS;IAGb,UAAU,eAAe;IACzB,QAAQ,aAAa;IAIrB,gBAAgB,qBAAqB;IAGrC,YAAY,iBAAiB;IAG7B,YAAY,iBAAiB;CAC9B;AAED,oBAAY,uBAAuB;IACjC,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,UAAU,eAAe;CAC1B;AAED,oBAAY,uBAAuB;IACjC,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,UAAU,eAAe;CAC1B;AAGD,oBAAY,cAAc;IACxB,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,oDAAoD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAI/D,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,0DAA0D;;;;;;;;;;;;;;;;iBAIrE,CAAC;AAEH,eAAO,MAAM,mDAAmD;;;;;iBAK9D,CAAC;AAEH,MAAM,MAAM,8CAA8C,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oDAAoD,CAAC,CAAC;AAClI,MAAM,MAAM,oDAAoD,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0DAA0D,CAAC,CAAC;AAC9I,MAAM,MAAM,6CAA6C,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mDAAmD,CAAC,CAAC;AAEhI,oBAAY,6BAA6B;IACvC,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,aAAa,kBAAkB;CAChC;AAED,oBAAY,sCAAsC;IAChD,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,SAAS,WAAW;CACrB"}
@@ -51,8 +51,10 @@ export var ExternalProvider_ExchangeProtocol_Kind;
51
51
  * `EngineCapability.AI_DOCUMENT_EXTRACTION` slot so an application selects its OCR provider
52
52
  * independently of chat and embeddings — three unrelated procurement decisions.
53
53
  *
54
- * NOT to be confused with `EngineCapability.DOCUMENT_GENERATION`, which is PDF *generation*
55
- * (templates → bytes) and is semantically the opposite direction.
54
+ * NOT to be confused with PDF *generation* (templates → bytes), which is the `pdfTemplates`
55
+ * surface and is semantically the opposite direction. It has no provider slot: the
56
+ * `EngineCapability.DOCUMENT_GENERATION` this paragraph used to name was withdrawn because no
57
+ * provider capability token could ever fill it.
56
58
  */
57
59
  ExternalProvider_ExchangeProtocol_Kind["DOCUMENT_EXTRACTION_PROVIDER"] = "document_extraction_provider";
58
60
  /** Reserved — audio generation (TTS / music). Serves the AUDIO modality. Not yet implemented. */
@@ -1 +1 @@
1
- {"version":3,"file":"commons.external-connectors-models.schemas.js","sourceRoot":"","sources":["../../../../src/core/commons.external-connectors-models.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from \"zod\";\nimport { ExternalProvider_Auth_ConfigurationSchema, ExternalProvider_Auth_Kind, ExternalProvider_AuthProfile_Schema, ExternalProvider_RateLimitConfigurationSchema } from \"./security.external-connectors-models.schemas\";\n\n\nexport enum ExternalProvider_ExchangeProtocol_Kind {\n // WEB\n REST_API = \"rest_api\",\n WEBHOOK_ORIGINATOR = \"webhook_originator\",\n // SOAP ?\n \n // AI\n LLM_PROVIDER = \"llm_provider\",\n MCP_CONNECTOR = \"mcp_connector\",\n A2A_CONNECTOR = \"a2a_connector\",\n /**\n * Zed's Agent Client Protocol — a JSON-RPC session between Wildo (the client)\n * and a CODING AGENT subprocess that reads and writes a workspace, runs\n * commands, and calls back for permission.\n *\n * Its own protocol kind rather than a mode of `CLI_RUNTIME`, for the reason\n * `EMBEDDINGS_PROVIDER` records above and one more that is specific to it: a\n * coding agent is not a one-shot text call wearing a subprocess. Every\n * capability the previous CLI transport lacked — token and cost accounting, a\n * permission channel, cancellation, resumption, live progress — was missing\n * because the one-shot shape has nowhere to put it, not because nobody had\n * implemented it yet.\n *\n * NOT to be confused with the IBM/BeeAI \"Agent Communication Protocol\", which\n * shares the acronym and is agent-to-agent — that space is `A2A_CONNECTOR`.\n */\n AGENT_CLIENT_PROTOCOL = \"agent_client_protocol\",\n // AI — multimodal generation (artifact-modality axis)\n /** Text-to-image generation (wired: gpt-image). Serves the IMAGE modality. */\n IMAGE_PROVIDER = \"image_provider\",\n /**\n * Text → vector embeddings (wired: OpenAI `text-embedding-3-*`). Serves the RAG derived-data\n * tier (corpus embedding via the `rag:embedding-drain` worker; query-time embedding in\n * retrieval). Deliberately its OWN protocol kind rather than a sixth `LLMProvider_OperationKey`\n * (RAG plan DL2): an unmapped LLM operation key fails SILENTLY across six consumer surfaces\n * (registry semantic-operation map, output normalization, executor dispatch, capability slot,\n * usage completeness, observability sink), whereas a new protocol kind fails COMPILATION at\n * every `runtimeContract.kind` switch — the `IMAGE_PROVIDER` precedent. It also gets its own\n * `EngineCapability.AI_EMBEDDINGS` slot so an application can select its embeddings provider\n * independently of its chat provider.\n */\n EMBEDDINGS_PROVIDER = \"embeddings_provider\",\n /**\n * Document bytes → text (wired: Mistral `mistral-ocr-latest`). Serves the file-side text\n * provider that `FileTextExtractionBackendService` owns, whose largest consumer is\n * `.ragSource()` corpus ingestion.\n *\n * Its own kind for the reason `EMBEDDINGS_PROVIDER` records above, and it fills its own\n * `EngineCapability.AI_DOCUMENT_EXTRACTION` slot so an application selects its OCR provider\n * independently of chat and embeddings — three unrelated procurement decisions.\n *\n * NOT to be confused with `EngineCapability.DOCUMENT_GENERATION`, which is PDF *generation*\n * (templates → bytes) and is semantically the opposite direction.\n */\n DOCUMENT_EXTRACTION_PROVIDER = \"document_extraction_provider\",\n /** Reserved — audio generation (TTS / music). Serves the AUDIO modality. Not yet implemented. */\n AUDIO_PROVIDER = \"audio_provider\",\n /** Reserved — video generation. Serves the VIDEO modality. Not yet implemented. */\n VIDEO_PROVIDER = \"video_provider\",\n \n // INFRA\n EMAIL_PROVIDER = \"email_provider\",\n GIT_PROVIDER = \"git_provider\",\n GRPC = \"grpc\",\n \n // AUTH\n SSO_OAUTH2 = \"sso_oauth2\",\n SSO_SAML = \"sso_saml\",\n // OPENID_CONNECT ?\n\n // BILLING\n BILLING_PROVIDER = \"billing_provider\",\n\n // SMS (Phase G2)\n SMS_PROVIDER = \"sms_provider\",\n\n // FRONTEND\n FRONTEND_SDK = \"frontend_sdk\",\n}\n\nexport enum APPLICATION_ENVIRONMENT {\n DEVELOPMENT = \"development\",\n STAGING = \"staging\",\n PRODUCTION = \"production\",\n}\n\nexport enum ExternalProvider_Status {\n ACTIVE = \"active\",\n INACTIVE = \"inactive\",\n BUZY = \"busy\",\n OFFLINE = \"offline\",\n DEPRECATED = \"deprecated\",\n}\n\n\nexport enum API_HttpMethod {\n GET = \"GET\",\n POST = \"POST\",\n PUT = \"PUT\",\n PATCH = \"PATCH\",\n DELETE = \"DELETE\",\n HEAD = \"HEAD\",\n OPTIONS = \"OPTIONS\",\n}\n\n/**\n * Shared protocol profile fields.\n *\n * These fields are transport-oriented hints that many protocols use, but they\n * are not universally meaningful. Execution-oriented protocols such as a local\n * CLI runtime should not need to invent fake HTTP endpoints or auth profiles\n * just to satisfy the shared contract.\n */\nexport const ExternalProvider_ExchangeProtocol_Profile_BaseSchema = z.object({\n endpoints: z.record(z.enum(APPLICATION_ENVIRONMENT), z.string()).optional(),\n availableAuthMethods: z.array(z.enum(ExternalProvider_Auth_Kind)).optional(),\n authProfiles: z.array(ExternalProvider_AuthProfile_Schema).optional(),\n});\n\n/**\n * Shared protocol configuration fields.\n *\n * `authConfig` remains available for protocols that resolve secrets through the\n * generic provider auth model, but it is optional because execution-oriented\n * protocols can own their own auth/runtime policy contract.\n */\nexport const ExternalProvider_ExchangeProtocol_Configuration_BaseSchema = z.object({\n enabled: z.boolean(),\n authConfig: ExternalProvider_Auth_ConfigurationSchema.optional(),\n rateLimitConfig: ExternalProvider_RateLimitConfigurationSchema.optional(),\n});\n\nexport const ExternalProvider_ExchangeProtocol_Status_BaseSchema = z.object({\n protocolKind: z.enum(ExternalProvider_ExchangeProtocol_Kind),\n status: z.enum(ExternalProvider_Status),\n lastCheckedAt: z.string(),\n errorReason: z.string().optional(),\n});\n\nexport type ExternalProvider_ExchangeProtocol_Profile_Base = z.infer<typeof ExternalProvider_ExchangeProtocol_Profile_BaseSchema>;\nexport type ExternalProvider_ExchangeProtocol_Configuration_Base = z.infer<typeof ExternalProvider_ExchangeProtocol_Configuration_BaseSchema>;\nexport type ExternalProvider_ExchangeProtocol_Status_Base = z.infer<typeof ExternalProvider_ExchangeProtocol_Status_BaseSchema>;\n\nexport enum ExternalProvider_IO_Direction {\n INBOUND = \"inbound\",\n OUTBOUND = \"outbound\",\n BIDIRECTIONAL = \"bidirectional\",\n}\n\nexport enum ExternalProvider_IO_InteractionPattern {\n REQUEST_RESPONSE = \"request_response\",\n EVENT_BASED = \"event_based\",\n STREAMING = \"stream\",\n}\n\n"]}
1
+ {"version":3,"file":"commons.external-connectors-models.schemas.js","sourceRoot":"","sources":["../../../../src/core/commons.external-connectors-models.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,yCAAyC,EAAE,0BAA0B,EAAE,mCAAmC,EAAE,6CAA6C,EAAE,MAAM,+CAA+C,CAAC;AAG1N,MAAM,CAAN,IAAY,sCAgFX;AAhFD,WAAY,sCAAsC;IAChD,MAAM;IACN,+DAAqB,CAAA;IACrB,mFAAyC,CAAA;IACzC,SAAS;IAET,KAAK;IACL,uEAA6B,CAAA;IAC7B,yEAA+B,CAAA;IAC/B,yEAA+B,CAAA;IAC/B;;;;;;;;;;;;;;;OAeG;IACH,yFAA+C,CAAA;IAC/C,sDAAsD;IACtD,8EAA8E;IAC9E,2EAAiC,CAAA;IACjC;;;;;;;;;;OAUG;IACH,qFAA2C,CAAA;IAC3C;;;;;;;;;;;;;OAaG;IACH,uGAA6D,CAAA;IAC7D,iGAAiG;IACjG,2EAAiC,CAAA;IACjC,mFAAmF;IACnF,2EAAiC,CAAA;IAEjC,QAAQ;IACR,2EAAiC,CAAA;IACjC,uEAA6B,CAAA;IAC7B,uDAAa,CAAA;IAEb,OAAO;IACP,mEAAyB,CAAA;IACzB,+DAAqB,CAAA;IACrB,mBAAmB;IAEnB,UAAU;IACV,+EAAqC,CAAA;IAErC,iBAAiB;IACjB,uEAA6B,CAAA;IAE7B,WAAW;IACX,uEAA6B,CAAA;AAC/B,CAAC,EAhFW,sCAAsC,KAAtC,sCAAsC,QAgFjD;AAED,MAAM,CAAN,IAAY,uBAIX;AAJD,WAAY,uBAAuB;IACjC,sDAA2B,CAAA;IAC3B,8CAAmB,CAAA;IACnB,oDAAyB,CAAA;AAC3B,CAAC,EAJW,uBAAuB,KAAvB,uBAAuB,QAIlC;AAED,MAAM,CAAN,IAAY,uBAMX;AAND,WAAY,uBAAuB;IACjC,4CAAiB,CAAA;IACjB,gDAAqB,CAAA;IACrB,wCAAa,CAAA;IACb,8CAAmB,CAAA;IACnB,oDAAyB,CAAA;AAC3B,CAAC,EANW,uBAAuB,KAAvB,uBAAuB,QAMlC;AAGD,MAAM,CAAN,IAAY,cAQX;AARD,WAAY,cAAc;IACxB,6BAAW,CAAA;IACX,+BAAa,CAAA;IACb,6BAAW,CAAA;IACX,iCAAe,CAAA;IACf,mCAAiB,CAAA;IACjB,+BAAa,CAAA;IACb,qCAAmB,CAAA;AACrB,CAAC,EARW,cAAc,KAAd,cAAc,QAQzB;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oDAAoD,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3E,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3E,oBAAoB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5E,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC,QAAQ,EAAE;CACtE,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,0DAA0D,GAAG,CAAC,CAAC,MAAM,CAAC;IACjF,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,UAAU,EAAE,yCAAyC,CAAC,QAAQ,EAAE;IAChE,eAAe,EAAE,6CAA6C,CAAC,QAAQ,EAAE;CAC1E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mDAAmD,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1E,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,sCAAsC,CAAC;IAC5D,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC;IACvC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAMH,MAAM,CAAN,IAAY,6BAIX;AAJD,WAAY,6BAA6B;IACvC,oDAAmB,CAAA;IACnB,sDAAqB,CAAA;IACrB,gEAA+B,CAAA;AACjC,CAAC,EAJW,6BAA6B,KAA7B,6BAA6B,QAIxC;AAED,MAAM,CAAN,IAAY,sCAIX;AAJD,WAAY,sCAAsC;IAChD,+EAAqC,CAAA;IACrC,qEAA2B,CAAA;IAC3B,8DAAoB,CAAA;AACtB,CAAC,EAJW,sCAAsC,KAAtC,sCAAsC,QAIjD","sourcesContent":["import { z } from \"zod\";\nimport { ExternalProvider_Auth_ConfigurationSchema, ExternalProvider_Auth_Kind, ExternalProvider_AuthProfile_Schema, ExternalProvider_RateLimitConfigurationSchema } from \"./security.external-connectors-models.schemas\";\n\n\nexport enum ExternalProvider_ExchangeProtocol_Kind {\n // WEB\n REST_API = \"rest_api\",\n WEBHOOK_ORIGINATOR = \"webhook_originator\",\n // SOAP ?\n \n // AI\n LLM_PROVIDER = \"llm_provider\",\n MCP_CONNECTOR = \"mcp_connector\",\n A2A_CONNECTOR = \"a2a_connector\",\n /**\n * Zed's Agent Client Protocol — a JSON-RPC session between Wildo (the client)\n * and a CODING AGENT subprocess that reads and writes a workspace, runs\n * commands, and calls back for permission.\n *\n * Its own protocol kind rather than a mode of `CLI_RUNTIME`, for the reason\n * `EMBEDDINGS_PROVIDER` records above and one more that is specific to it: a\n * coding agent is not a one-shot text call wearing a subprocess. Every\n * capability the previous CLI transport lacked — token and cost accounting, a\n * permission channel, cancellation, resumption, live progress — was missing\n * because the one-shot shape has nowhere to put it, not because nobody had\n * implemented it yet.\n *\n * NOT to be confused with the IBM/BeeAI \"Agent Communication Protocol\", which\n * shares the acronym and is agent-to-agent — that space is `A2A_CONNECTOR`.\n */\n AGENT_CLIENT_PROTOCOL = \"agent_client_protocol\",\n // AI — multimodal generation (artifact-modality axis)\n /** Text-to-image generation (wired: gpt-image). Serves the IMAGE modality. */\n IMAGE_PROVIDER = \"image_provider\",\n /**\n * Text → vector embeddings (wired: OpenAI `text-embedding-3-*`). Serves the RAG derived-data\n * tier (corpus embedding via the `rag:embedding-drain` worker; query-time embedding in\n * retrieval). Deliberately its OWN protocol kind rather than a sixth `LLMProvider_OperationKey`\n * (RAG plan DL2): an unmapped LLM operation key fails SILENTLY across six consumer surfaces\n * (registry semantic-operation map, output normalization, executor dispatch, capability slot,\n * usage completeness, observability sink), whereas a new protocol kind fails COMPILATION at\n * every `runtimeContract.kind` switch — the `IMAGE_PROVIDER` precedent. It also gets its own\n * `EngineCapability.AI_EMBEDDINGS` slot so an application can select its embeddings provider\n * independently of its chat provider.\n */\n EMBEDDINGS_PROVIDER = \"embeddings_provider\",\n /**\n * Document bytes → text (wired: Mistral `mistral-ocr-latest`). Serves the file-side text\n * provider that `FileTextExtractionBackendService` owns, whose largest consumer is\n * `.ragSource()` corpus ingestion.\n *\n * Its own kind for the reason `EMBEDDINGS_PROVIDER` records above, and it fills its own\n * `EngineCapability.AI_DOCUMENT_EXTRACTION` slot so an application selects its OCR provider\n * independently of chat and embeddings — three unrelated procurement decisions.\n *\n * NOT to be confused with PDF *generation* (templates → bytes), which is the `pdfTemplates`\n * surface and is semantically the opposite direction. It has no provider slot: the\n * `EngineCapability.DOCUMENT_GENERATION` this paragraph used to name was withdrawn because no\n * provider capability token could ever fill it.\n */\n DOCUMENT_EXTRACTION_PROVIDER = \"document_extraction_provider\",\n /** Reserved — audio generation (TTS / music). Serves the AUDIO modality. Not yet implemented. */\n AUDIO_PROVIDER = \"audio_provider\",\n /** Reserved — video generation. Serves the VIDEO modality. Not yet implemented. */\n VIDEO_PROVIDER = \"video_provider\",\n \n // INFRA\n EMAIL_PROVIDER = \"email_provider\",\n GIT_PROVIDER = \"git_provider\",\n GRPC = \"grpc\",\n \n // AUTH\n SSO_OAUTH2 = \"sso_oauth2\",\n SSO_SAML = \"sso_saml\",\n // OPENID_CONNECT ?\n\n // BILLING\n BILLING_PROVIDER = \"billing_provider\",\n\n // SMS (Phase G2)\n SMS_PROVIDER = \"sms_provider\",\n\n // FRONTEND\n FRONTEND_SDK = \"frontend_sdk\",\n}\n\nexport enum APPLICATION_ENVIRONMENT {\n DEVELOPMENT = \"development\",\n STAGING = \"staging\",\n PRODUCTION = \"production\",\n}\n\nexport enum ExternalProvider_Status {\n ACTIVE = \"active\",\n INACTIVE = \"inactive\",\n BUZY = \"busy\",\n OFFLINE = \"offline\",\n DEPRECATED = \"deprecated\",\n}\n\n\nexport enum API_HttpMethod {\n GET = \"GET\",\n POST = \"POST\",\n PUT = \"PUT\",\n PATCH = \"PATCH\",\n DELETE = \"DELETE\",\n HEAD = \"HEAD\",\n OPTIONS = \"OPTIONS\",\n}\n\n/**\n * Shared protocol profile fields.\n *\n * These fields are transport-oriented hints that many protocols use, but they\n * are not universally meaningful. Execution-oriented protocols such as a local\n * CLI runtime should not need to invent fake HTTP endpoints or auth profiles\n * just to satisfy the shared contract.\n */\nexport const ExternalProvider_ExchangeProtocol_Profile_BaseSchema = z.object({\n endpoints: z.record(z.enum(APPLICATION_ENVIRONMENT), z.string()).optional(),\n availableAuthMethods: z.array(z.enum(ExternalProvider_Auth_Kind)).optional(),\n authProfiles: z.array(ExternalProvider_AuthProfile_Schema).optional(),\n});\n\n/**\n * Shared protocol configuration fields.\n *\n * `authConfig` remains available for protocols that resolve secrets through the\n * generic provider auth model, but it is optional because execution-oriented\n * protocols can own their own auth/runtime policy contract.\n */\nexport const ExternalProvider_ExchangeProtocol_Configuration_BaseSchema = z.object({\n enabled: z.boolean(),\n authConfig: ExternalProvider_Auth_ConfigurationSchema.optional(),\n rateLimitConfig: ExternalProvider_RateLimitConfigurationSchema.optional(),\n});\n\nexport const ExternalProvider_ExchangeProtocol_Status_BaseSchema = z.object({\n protocolKind: z.enum(ExternalProvider_ExchangeProtocol_Kind),\n status: z.enum(ExternalProvider_Status),\n lastCheckedAt: z.string(),\n errorReason: z.string().optional(),\n});\n\nexport type ExternalProvider_ExchangeProtocol_Profile_Base = z.infer<typeof ExternalProvider_ExchangeProtocol_Profile_BaseSchema>;\nexport type ExternalProvider_ExchangeProtocol_Configuration_Base = z.infer<typeof ExternalProvider_ExchangeProtocol_Configuration_BaseSchema>;\nexport type ExternalProvider_ExchangeProtocol_Status_Base = z.infer<typeof ExternalProvider_ExchangeProtocol_Status_BaseSchema>;\n\nexport enum ExternalProvider_IO_Direction {\n INBOUND = \"inbound\",\n OUTBOUND = \"outbound\",\n BIDIRECTIONAL = \"bidirectional\",\n}\n\nexport enum ExternalProvider_IO_InteractionPattern {\n REQUEST_RESPONSE = \"request_response\",\n EVENT_BASED = \"event_based\",\n STREAMING = \"stream\",\n}\n\n"]}
@@ -113,6 +113,24 @@ export declare enum AgentClientProtocol_PermissionCeiling {
113
113
  * outright, and {@link AUTO_ACCEPT_EDITS} admits precisely the inverse of what research needs.
114
114
  */
115
115
  AUTO_ACCEPT_READS = "auto_accept_reads",
116
+ /**
117
+ * The non-mutating kinds AND the file-mutating kinds are auto-accepted; `execute` and the
118
+ * unclassified `other` must still be answered — and with no human at the other end, that means
119
+ * denied.
120
+ *
121
+ * Added 2026-09-04 for the research-agent evidence store, and MEASURED before it existed rather
122
+ * than after: switching the research profile from {@link AUTO_ACCEPT_READS} to
123
+ * {@link AUTO_ACCEPT_EDITS} — so the agent could persist findings to disk — silently inverted the
124
+ * lane's whole posture, because the ceilings are kind-SETS, not nested ranks: a live compliance
125
+ * run spent two rounds with every WebFetch/WebSearch refused, and its only output was a store
126
+ * note titled "NO EVIDENCE COLLECTED". A lane that both reads the world and persists what it
127
+ * read needs this member; neither existing set contains the other.
128
+ *
129
+ * The confinement story is unchanged: this ceiling decides KINDS, and the dispatch's location
130
+ * predicate still decides PATHS — a research profile on this ceiling with a store-only predicate
131
+ * can fetch anything and write only its evidence directory.
132
+ */
133
+ AUTO_ACCEPT_READS_AND_EDITS = "auto_accept_reads_and_edits",
116
134
  /** No permission gate. Reserve for a disposable or isolated workspace. */
117
135
  UNRESTRICTED = "unrestricted"
118
136
  }
@@ -190,6 +208,8 @@ export declare const AgentClientProtocol_ExecutionProfileSchema: z.ZodObject<{
190
208
  permissionCeiling: z.ZodDefault<z.ZodEnum<typeof AgentClientProtocol_PermissionCeiling>>;
191
209
  hostConfigurationInheritance: z.ZodDefault<z.ZodEnum<typeof AgentClientProtocol_HostConfigurationInheritance>>;
192
210
  turnTimeoutMs: z.ZodOptional<z.ZodNumber>;
211
+ maxAutoContinuations: z.ZodDefault<z.ZodNumber>;
212
+ awaitingInputTtlMs: z.ZodDefault<z.ZodNumber>;
193
213
  maximumRecordedEventBytes: z.ZodOptional<z.ZodNumber>;
194
214
  sessionMetaExtensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
195
215
  }, z.core.$strict>;
@@ -346,6 +366,8 @@ export declare const AgentClientProtocol_ConfigurationSchema: z.ZodObject<{
346
366
  permissionCeiling: z.ZodDefault<z.ZodEnum<typeof AgentClientProtocol_PermissionCeiling>>;
347
367
  hostConfigurationInheritance: z.ZodDefault<z.ZodEnum<typeof AgentClientProtocol_HostConfigurationInheritance>>;
348
368
  turnTimeoutMs: z.ZodOptional<z.ZodNumber>;
369
+ maxAutoContinuations: z.ZodDefault<z.ZodNumber>;
370
+ awaitingInputTtlMs: z.ZodDefault<z.ZodNumber>;
349
371
  maximumRecordedEventBytes: z.ZodOptional<z.ZodNumber>;
350
372
  sessionMetaExtensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
351
373
  }, z.core.$strict>>;
@@ -398,6 +420,87 @@ export declare enum CodingAgent_StopReason {
398
420
  */
399
421
  UNRECOGNISED = "wildo.unrecognised"
400
422
  }
423
+ /**
424
+ * What an END_TURN actually meant — the judgment the turn ladder branches on.
425
+ *
426
+ * ACP delivers every voluntary stop identically: `end_turn` plus whatever the
427
+ * agent last said. Three very different situations arrive in that one shape,
428
+ * and only reading the message tells them apart, which is why this is decided
429
+ * by an auxiliary LLM classification rather than by a heuristic on the text:
430
+ * a regex that recognises "shall I continue?" is an invented vocabulary for
431
+ * someone else's prose.
432
+ */
433
+ export declare enum CodingAgent_EndOfTurnClassification {
434
+ /** The agent finished the task; the turn is a final result. */
435
+ TASK_COMPLETE = "task_complete",
436
+ /**
437
+ * The agent paused of its own accord — "next?", "want me to proceed?" — a
438
+ * checkpoint reflex, not a need. The ladder answers it with the continuation
439
+ * prompt instead of surfacing it, because at this level those checkpoints are
440
+ * deliberately avoided (autonomy directive, 2026-09-04).
441
+ */
442
+ SELF_PAUSE = "self_pause",
443
+ /**
444
+ * The agent asked something only the caller can answer — a real decision, a
445
+ * missing credential, an ambiguity in the task. The session parks and the
446
+ * question is surfaced; auto-continuing would make the agent answer itself.
447
+ */
448
+ NEEDS_INPUT = "needs_input",
449
+ /**
450
+ * The classifier itself failed or timed out. FAILS OPEN to settlement: the
451
+ * turn is treated as TASK_COMPLETE, because an auxiliary call must never hang
452
+ * the autonomous lane or discard a mutated workspace — but the failure is
453
+ * recorded as this value rather than laundered into a confident judgment.
454
+ */
455
+ CLASSIFIER_UNAVAILABLE = "classifier_unavailable"
456
+ }
457
+ /**
458
+ * One auto-continuation the turn ladder performed, recorded per turn boundary.
459
+ *
460
+ * Kept as a record rather than a counter for the same reason permission
461
+ * decisions are: a run that continued five times and one that never paused are
462
+ * different runs, and the difference is diagnosable only if each boundary says
463
+ * what was classified and what was sent back.
464
+ */
465
+ export declare const CodingAgent_ContinuationRecordSchema: z.ZodObject<{
466
+ /** 1-based index of the turn that ENDED at this boundary. */
467
+ turnIndex: z.ZodNumber;
468
+ classification: z.ZodEnum<typeof CodingAgent_EndOfTurnClassification>;
469
+ /**
470
+ * The tail of the agent's end-of-turn message the classification was made
471
+ * from. A bounded excerpt, not the transcript — enough to audit the judgment.
472
+ */
473
+ agentMessageTail: z.ZodOptional<z.ZodString>;
474
+ }, z.core.$strict>;
475
+ export type CodingAgent_ContinuationRecord = z.infer<typeof CodingAgent_ContinuationRecordSchema>;
476
+ /**
477
+ * A run that STOPPED WITHOUT FINISHING because the agent needs an answer.
478
+ *
479
+ * The ACP sibling of `AgentApprovalSuspension` on the LLM transport: the
480
+ * invocation returns, but its output must not be read as a completed result —
481
+ * `suspension` present means the final message is a QUESTION. The caller
482
+ * surfaces the question, and the answer re-enters the SAME session:
483
+ * `resumable: true` promises the agent advertised `loadSession`, so the session
484
+ * survives the child process and even a host restart.
485
+ */
486
+ export declare const CodingAgent_SessionSuspensionSchema: z.ZodObject<{
487
+ /** The ACP session to resume with the answer. */
488
+ sessionId: z.ZodString;
489
+ /** The agent's question, verbatim — its end-of-turn message. */
490
+ question: z.ZodString;
491
+ /** 1-based turn the session parked after. */
492
+ turnIndex: z.ZodNumber;
493
+ /**
494
+ * Whether the session can be re-entered after the agent process is gone.
495
+ * False when the agent does not advertise `loadSession`: the question is
496
+ * still real, but answering it starts a NEW session that must restate task
497
+ * context — a degradation the caller should surface, not hide.
498
+ */
499
+ resumable: z.ZodBoolean;
500
+ /** When the parked child process will be closed (ISO timestamp). */
501
+ parkedUntil: z.ZodOptional<z.ZodString>;
502
+ }, z.core.$strict>;
503
+ export type CodingAgent_SessionSuspension = z.infer<typeof CodingAgent_SessionSuspensionSchema>;
401
504
  /**
402
505
  * What one coding turn consumed.
403
506
  *
@@ -506,6 +609,7 @@ export type CodingAgent_OperationModelConfiguration = z.infer<typeof CodingAgent
506
609
  export declare const CodingAgent_RunTaskInputSchema: z.ZodObject<{
507
610
  prompt: z.ZodString;
508
611
  requestedPermissionCeiling: z.ZodOptional<z.ZodEnum<typeof AgentClientProtocol_PermissionCeiling>>;
612
+ continuationOfSessionId: z.ZodOptional<z.ZodString>;
509
613
  }, z.core.$strip>;
510
614
  export type CodingAgent_RunTaskInput = z.infer<typeof CodingAgent_RunTaskInputSchema>;
511
615
  export declare const CodingAgent_RunTaskOutputSchema: z.ZodObject<{
@@ -521,6 +625,34 @@ export declare const CodingAgent_RunTaskOutputSchema: z.ZodObject<{
521
625
  offeredOptionKinds: z.ZodArray<z.ZodString>;
522
626
  }, z.core.$strict>>>;
523
627
  rawStopReason: z.ZodOptional<z.ZodString>;
628
+ turnCount: z.ZodOptional<z.ZodNumber>;
629
+ continuations: z.ZodOptional<z.ZodArray<z.ZodObject<{
630
+ /** 1-based index of the turn that ENDED at this boundary. */
631
+ turnIndex: z.ZodNumber;
632
+ classification: z.ZodEnum<typeof CodingAgent_EndOfTurnClassification>;
633
+ /**
634
+ * The tail of the agent's end-of-turn message the classification was made
635
+ * from. A bounded excerpt, not the transcript — enough to audit the judgment.
636
+ */
637
+ agentMessageTail: z.ZodOptional<z.ZodString>;
638
+ }, z.core.$strict>>>;
639
+ suspension: z.ZodOptional<z.ZodObject<{
640
+ /** The ACP session to resume with the answer. */
641
+ sessionId: z.ZodString;
642
+ /** The agent's question, verbatim — its end-of-turn message. */
643
+ question: z.ZodString;
644
+ /** 1-based turn the session parked after. */
645
+ turnIndex: z.ZodNumber;
646
+ /**
647
+ * Whether the session can be re-entered after the agent process is gone.
648
+ * False when the agent does not advertise `loadSession`: the question is
649
+ * still real, but answering it starts a NEW session that must restate task
650
+ * context — a degradation the caller should surface, not hide.
651
+ */
652
+ resumable: z.ZodBoolean;
653
+ /** When the parked child process will be closed (ISO timestamp). */
654
+ parkedUntil: z.ZodOptional<z.ZodString>;
655
+ }, z.core.$strict>>;
524
656
  }, z.core.$strip>;
525
657
  export type CodingAgent_RunTaskOutput = z.infer<typeof CodingAgent_RunTaskOutputSchema>;
526
658
  //# sourceMappingURL=agent-client-protocol.external-connectors-models.schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-client-protocol.external-connectors-models.schemas.d.ts","sourceRoot":"","sources":["../../../../src/protocols/agent-client-protocol.external-connectors-models.schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-client-protocol.external-connectors-models.schemas.d.ts","sourceRoot":"","sources":["../../../../src/protocols/agent-client-protocol.external-connectors-models.schemas.ts"],"names":[],"mappings":"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"}
@@ -150,6 +150,24 @@ export var AgentClientProtocol_PermissionCeiling;
150
150
  * outright, and {@link AUTO_ACCEPT_EDITS} admits precisely the inverse of what research needs.
151
151
  */
152
152
  AgentClientProtocol_PermissionCeiling["AUTO_ACCEPT_READS"] = "auto_accept_reads";
153
+ /**
154
+ * The non-mutating kinds AND the file-mutating kinds are auto-accepted; `execute` and the
155
+ * unclassified `other` must still be answered — and with no human at the other end, that means
156
+ * denied.
157
+ *
158
+ * Added 2026-09-04 for the research-agent evidence store, and MEASURED before it existed rather
159
+ * than after: switching the research profile from {@link AUTO_ACCEPT_READS} to
160
+ * {@link AUTO_ACCEPT_EDITS} — so the agent could persist findings to disk — silently inverted the
161
+ * lane's whole posture, because the ceilings are kind-SETS, not nested ranks: a live compliance
162
+ * run spent two rounds with every WebFetch/WebSearch refused, and its only output was a store
163
+ * note titled "NO EVIDENCE COLLECTED". A lane that both reads the world and persists what it
164
+ * read needs this member; neither existing set contains the other.
165
+ *
166
+ * The confinement story is unchanged: this ceiling decides KINDS, and the dispatch's location
167
+ * predicate still decides PATHS — a research profile on this ceiling with a store-only predicate
168
+ * can fetch anything and write only its evidence directory.
169
+ */
170
+ AgentClientProtocol_PermissionCeiling["AUTO_ACCEPT_READS_AND_EDITS"] = "auto_accept_reads_and_edits";
153
171
  /** No permission gate. Reserve for a disposable or isolated workspace. */
154
172
  AgentClientProtocol_PermissionCeiling["UNRESTRICTED"] = "unrestricted";
155
173
  })(AgentClientProtocol_PermissionCeiling || (AgentClientProtocol_PermissionCeiling = {}));
@@ -180,8 +198,10 @@ export function agentClientProtocolPermissionCeilingRank(ceiling) {
180
198
  return 1;
181
199
  case AgentClientProtocol_PermissionCeiling.AUTO_ACCEPT_EDITS:
182
200
  return 2;
183
- case AgentClientProtocol_PermissionCeiling.UNRESTRICTED:
201
+ case AgentClientProtocol_PermissionCeiling.AUTO_ACCEPT_READS_AND_EDITS:
184
202
  return 3;
203
+ case AgentClientProtocol_PermissionCeiling.UNRESTRICTED:
204
+ return 4;
185
205
  }
186
206
  }
187
207
  /**
@@ -274,6 +294,32 @@ export const AgentClientProtocol_ExecutionProfileSchema = z.object({
274
294
  * cleanly. A hard kill remains the fallback if the agent does not honour it.
275
295
  */
276
296
  turnTimeoutMs: z.number().int().positive().optional(),
297
+ /**
298
+ * How many times one invocation may AUTO-CONTINUE the agent after it ends a
299
+ * turn with a self-imposed pause ("shall I continue?").
300
+ *
301
+ * The autonomous lane's answer to the agent's own checkpoint reflex: a turn
302
+ * classified as SELF_PAUSE is re-prompted to continue on the same session
303
+ * rather than read as a finished result. Bounded because an agent that pauses
304
+ * forever must eventually be settled rather than looped — on exhaustion the
305
+ * run settles with what it has, recorded as such. Zero disables continuation
306
+ * entirely (every END_TURN is final, the pre-2026-09 behaviour).
307
+ */
308
+ maxAutoContinuations: z.number().int().nonnegative().default(8),
309
+ /**
310
+ * How long an operator answer to a parked question stays valid — the deadline
311
+ * stamped onto the suspension as `parkedUntil`.
312
+ *
313
+ * The parked run does NOT hold a live agent process open for this window: the
314
+ * child is closed the moment the run parks (holding it would occupy the lane's
315
+ * single-flight slot while an operator who may never answer decides). Because
316
+ * the agent persists the session on disk, a later answer re-enters it through
317
+ * `session/load` — so this is an informational freshness bound the host and UX
318
+ * surface, not a timer that reaps a process. It applies only when the agent
319
+ * advertises `loadSession`; otherwise the question is real but unanswerable
320
+ * on the same session, and `resumable` says so.
321
+ */
322
+ awaitingInputTtlMs: z.number().int().positive().default(900_000),
277
323
  /**
278
324
  * Ceiling on the bytes of session events this run PERSISTS.
279
325
  *
@@ -469,6 +515,86 @@ export var CodingAgent_StopReason;
469
515
  */
470
516
  CodingAgent_StopReason["UNRECOGNISED"] = "wildo.unrecognised";
471
517
  })(CodingAgent_StopReason || (CodingAgent_StopReason = {}));
518
+ /**
519
+ * What an END_TURN actually meant — the judgment the turn ladder branches on.
520
+ *
521
+ * ACP delivers every voluntary stop identically: `end_turn` plus whatever the
522
+ * agent last said. Three very different situations arrive in that one shape,
523
+ * and only reading the message tells them apart, which is why this is decided
524
+ * by an auxiliary LLM classification rather than by a heuristic on the text:
525
+ * a regex that recognises "shall I continue?" is an invented vocabulary for
526
+ * someone else's prose.
527
+ */
528
+ export var CodingAgent_EndOfTurnClassification;
529
+ (function (CodingAgent_EndOfTurnClassification) {
530
+ /** The agent finished the task; the turn is a final result. */
531
+ CodingAgent_EndOfTurnClassification["TASK_COMPLETE"] = "task_complete";
532
+ /**
533
+ * The agent paused of its own accord — "next?", "want me to proceed?" — a
534
+ * checkpoint reflex, not a need. The ladder answers it with the continuation
535
+ * prompt instead of surfacing it, because at this level those checkpoints are
536
+ * deliberately avoided (autonomy directive, 2026-09-04).
537
+ */
538
+ CodingAgent_EndOfTurnClassification["SELF_PAUSE"] = "self_pause";
539
+ /**
540
+ * The agent asked something only the caller can answer — a real decision, a
541
+ * missing credential, an ambiguity in the task. The session parks and the
542
+ * question is surfaced; auto-continuing would make the agent answer itself.
543
+ */
544
+ CodingAgent_EndOfTurnClassification["NEEDS_INPUT"] = "needs_input";
545
+ /**
546
+ * The classifier itself failed or timed out. FAILS OPEN to settlement: the
547
+ * turn is treated as TASK_COMPLETE, because an auxiliary call must never hang
548
+ * the autonomous lane or discard a mutated workspace — but the failure is
549
+ * recorded as this value rather than laundered into a confident judgment.
550
+ */
551
+ CodingAgent_EndOfTurnClassification["CLASSIFIER_UNAVAILABLE"] = "classifier_unavailable";
552
+ })(CodingAgent_EndOfTurnClassification || (CodingAgent_EndOfTurnClassification = {}));
553
+ /**
554
+ * One auto-continuation the turn ladder performed, recorded per turn boundary.
555
+ *
556
+ * Kept as a record rather than a counter for the same reason permission
557
+ * decisions are: a run that continued five times and one that never paused are
558
+ * different runs, and the difference is diagnosable only if each boundary says
559
+ * what was classified and what was sent back.
560
+ */
561
+ export const CodingAgent_ContinuationRecordSchema = z.strictObject({
562
+ /** 1-based index of the turn that ENDED at this boundary. */
563
+ turnIndex: z.number().int().positive(),
564
+ classification: z.enum(CodingAgent_EndOfTurnClassification),
565
+ /**
566
+ * The tail of the agent's end-of-turn message the classification was made
567
+ * from. A bounded excerpt, not the transcript — enough to audit the judgment.
568
+ */
569
+ agentMessageTail: z.string().optional(),
570
+ });
571
+ /**
572
+ * A run that STOPPED WITHOUT FINISHING because the agent needs an answer.
573
+ *
574
+ * The ACP sibling of `AgentApprovalSuspension` on the LLM transport: the
575
+ * invocation returns, but its output must not be read as a completed result —
576
+ * `suspension` present means the final message is a QUESTION. The caller
577
+ * surfaces the question, and the answer re-enters the SAME session:
578
+ * `resumable: true` promises the agent advertised `loadSession`, so the session
579
+ * survives the child process and even a host restart.
580
+ */
581
+ export const CodingAgent_SessionSuspensionSchema = z.strictObject({
582
+ /** The ACP session to resume with the answer. */
583
+ sessionId: z.string().min(1),
584
+ /** The agent's question, verbatim — its end-of-turn message. */
585
+ question: z.string().min(1),
586
+ /** 1-based turn the session parked after. */
587
+ turnIndex: z.number().int().positive(),
588
+ /**
589
+ * Whether the session can be re-entered after the agent process is gone.
590
+ * False when the agent does not advertise `loadSession`: the question is
591
+ * still real, but answering it starts a NEW session that must restate task
592
+ * context — a degradation the caller should surface, not hide.
593
+ */
594
+ resumable: z.boolean(),
595
+ /** When the parked child process will be closed (ISO timestamp). */
596
+ parkedUntil: z.string().optional(),
597
+ });
472
598
  /**
473
599
  * What one coding turn consumed.
474
600
  *
@@ -585,6 +711,16 @@ export const CodingAgent_RunTaskInputSchema = z.object({
585
711
  * authority, only leave it where the profile put it.
586
712
  */
587
713
  requestedPermissionCeiling: z.enum(AgentClientProtocol_PermissionCeiling).optional(),
714
+ /**
715
+ * Present when this run ANSWERS a parked session rather than starting a task.
716
+ *
717
+ * Carries the `sessionId` from a prior run's `suspension`; the transport
718
+ * re-enters that session via `session/load` and delivers `prompt` (the
719
+ * answer) as the next turn. Refused — not degraded — when the agent does not
720
+ * advertise `loadSession`: silently starting a fresh session would present a
721
+ * context-less answer as a continuation.
722
+ */
723
+ continuationOfSessionId: z.string().min(1).optional(),
588
724
  });
589
725
  export const CodingAgent_RunTaskOutputSchema = z.object({
590
726
  /** The agent's closing message — its own account of what it did. */
@@ -635,5 +771,22 @@ export const CodingAgent_RunTaskOutputSchema = z.object({
635
771
  * define. Present exactly when `stopReason` is `UNRECOGNISED`.
636
772
  */
637
773
  rawStopReason: z.string().optional(),
774
+ /**
775
+ * How many prompt turns this invocation drove on the session. Absent means
776
+ * one — the single-turn shape every pre-ladder consumer already assumes.
777
+ */
778
+ turnCount: z.number().int().positive().optional(),
779
+ /**
780
+ * One record per turn boundary the ladder judged — auto-continues, the park,
781
+ * the settlement. See {@link CodingAgent_ContinuationRecordSchema}.
782
+ */
783
+ continuations: z.array(CodingAgent_ContinuationRecordSchema).optional(),
784
+ /**
785
+ * Present when the run PARKED on a genuine question instead of finishing.
786
+ * `finalMessage` is then the QUESTION, and `stopReason` is the wire-true
787
+ * `END_TURN` — this field is what stops that reading as a completed result.
788
+ * Callers that ignore it record work as done that is waiting on an answer.
789
+ */
790
+ suspension: CodingAgent_SessionSuspensionSchema.optional(),
638
791
  });
639
792
  //# sourceMappingURL=agent-client-protocol.external-connectors-models.schemas.js.map