From 8d3ba747cdcd6b703b09b4c07622d924c3a7eb3e Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 09:32:27 +0000 Subject: [PATCH] docs(spec): ConnectorConnectionState.status JSDoc drops "expired" from the no-refresh-token reconnect reason A refresh also runs on a cache miss and on a dispatch's 401, so a connection with no refresh token, or no client, is marked while its access token may still be valid. Match the runtime's own wording. Claude-Session: https://claude.ai/code/session_01ADHkmQs2bVYuybG5pYYUg2 Co-authored-by: Claude --- .changeset/28961-connector-connection-status-doc.md | 10 ++++++++++ packages/spec/src/contracts/automation-service.ts | 6 +++--- 2 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 .changeset/28961-connector-connection-status-doc.md diff --git a/.changeset/28961-connector-connection-status-doc.md b/.changeset/28961-connector-connection-status-doc.md new file mode 100644 index 00000000000..eed542002eb --- /dev/null +++ b/.changeset/28961-connector-connection-status-doc.md @@ -0,0 +1,10 @@ +--- +'@objectstack/spec': patch +--- + +docs(spec): `ConnectorConnectionState.status` no longer says a connection with no refresh token is marked because its access token expired + +Clause-②: no +Metadata-protocol: none + +Comment only. The `reconnect_required` JSDoc said such a connection "keeps nothing to renew an expired access token with". A refresh also runs on a cache miss (a fresh replica, or a `revision` another replica moved) and on a dispatch's 401, so a connection with no refresh token, or no client to refresh with, is marked even while its access token is still valid. The JSDoc now reads "keeps nothing to renew an access token it has to renew with", the wording the runtime's own `markReconnectRequired` doc and the `sys_connector_connection.status` description use, and the sense of the `status_reason` the runtime stores ("an access token the connection has to renew cannot be renewed"). diff --git a/packages/spec/src/contracts/automation-service.ts b/packages/spec/src/contracts/automation-service.ts index 131c90caffd..5feffe153ab 100644 --- a/packages/spec/src/contracts/automation-service.ts +++ b/packages/spec/src/contracts/automation-service.ts @@ -1143,9 +1143,9 @@ export interface ConnectorConnectionState { * dispatches nothing for this organization); `connected`; or * `reconnect_required` — the grant stopped working: the authorization * server refused it on refresh, the connection keeps nothing to renew an - * expired access token with (no refresh token was issued, or no client to - * refresh with), or the upstream refused the connection's token while an - * `mcp` instance discovered its tools. `statusReason` says which. + * access token it has to renew with (no refresh token was issued, or no + * client to refresh with), or the upstream refused the connection's token + * while an `mcp` instance discovered its tools. `statusReason` says which. */ status: 'not_connected' | 'connected' | 'reconnect_required'; /** Why the grant stopped working, when `status` is `reconnect_required`. */