-
Notifications
You must be signed in to change notification settings - Fork 494
chore(cli): define error actionability taxonomy #5829
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
jgoux
wants to merge
21
commits into
develop
Choose a base branch
from
julien/cli-1560-error-actionability-colocated
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
21 commits
Select commit
Hold shift + click to select a range
afd73d0
chore(cli): define error actionability taxonomy with co-located decla…
jgoux 68442e6
chore(cli): harden error actionability coverage and classifications
jgoux 11232cb
chore(cli): address actionability review findings
jgoux 8b677d6
chore(cli): classify wrapped causes, 403s, and api-client config fail…
jgoux c7e8441
Merge remote-tracking branch 'origin/develop' into julien/cli-1560-er…
jgoux c9af260
chore(cli): classify error types added on develop
jgoux 5b22e0c
chore(cli): harden classifier recursion and dedupe review findings
jgoux dcc2a91
chore(repo): format packages/stack and require the monorepo-wide chec…
jgoux c30bd0f
chore(cli): classify functions API statuses, bootstrap health, and do…
jgoux a6d69ca
chore(cli): split bootstrap transport failures and scope download cau…
jgoux 0309ab2
chore(cli): classify transport, decode, and daemon failure paths prec…
jgoux cc03e81
chore(cli): classify branch-lookup 404s as input and gateway auth as …
jgoux 47664b6
chore(cli): implement the deferred classification refinements
jgoux 4e888b3
chore(cli): finish decode, 404, and login-source classification strag…
jgoux 8da9504
chore(cli): classify remaining 404, user-SQL, and wrapped-panic paths
jgoux 8f9ae5b
chore(cli): close api-key 404, deploy body-order, and daemon decode gaps
jgoux 510042c
chore(cli): promote ungated 404s to invalid input in the status policy
jgoux 8b4d757
chore(cli): finish api_response fingerprints and wrapper discriminants
jgoux 18e62e8
chore(cli): classify response-shape and flag-input consistency stragg…
jgoux 055ebcb
chore(cli): classify input-phase schema failures, 404 parity, and wra…
jgoux db50a8e
chore(cli): pass through input errors and mark remaining decode sites
jgoux File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,27 +1,55 @@ | ||
| import { Data } from "effect"; | ||
| import { | ||
| actionability, | ||
| type CliErrorActionabilityDeclaration, | ||
| ErrorActionabilityId, | ||
| statusCodeActionability, | ||
| } from "../../../shared/telemetry/error-actionability.ts"; | ||
|
|
||
| export class LegacyBackupListNetworkError extends Data.TaggedError("LegacyBackupListNetworkError")<{ | ||
| readonly message: string; | ||
| }> {} | ||
| readonly decode?: boolean; | ||
| }> { | ||
| get [ErrorActionabilityId](): CliErrorActionabilityDeclaration { | ||
| return this.decode === true | ||
| ? { ...actionability.apiStatus, fingerprint_suffix: "api_response" } | ||
| : actionability.externalNetwork; | ||
| } | ||
| } | ||
|
|
||
| export class LegacyBackupListUnexpectedStatusError extends Data.TaggedError( | ||
| "LegacyBackupListUnexpectedStatusError", | ||
| )<{ | ||
| readonly status: number; | ||
| readonly body: string; | ||
| readonly message: string; | ||
| }> {} | ||
| }> { | ||
| get [ErrorActionabilityId](): CliErrorActionabilityDeclaration { | ||
| return statusCodeActionability(this.status); | ||
| } | ||
| } | ||
|
|
||
| export class LegacyBackupRestoreNetworkError extends Data.TaggedError( | ||
| "LegacyBackupRestoreNetworkError", | ||
| )<{ | ||
| readonly message: string; | ||
| }> {} | ||
| readonly decode?: boolean; | ||
| }> { | ||
| get [ErrorActionabilityId](): CliErrorActionabilityDeclaration { | ||
| return this.decode === true | ||
| ? { ...actionability.apiStatus, fingerprint_suffix: "api_response" } | ||
| : actionability.externalNetwork; | ||
| } | ||
| } | ||
|
|
||
| export class LegacyBackupRestoreUnexpectedStatusError extends Data.TaggedError( | ||
| "LegacyBackupRestoreUnexpectedStatusError", | ||
| )<{ | ||
| readonly status: number; | ||
| readonly body: string; | ||
| readonly message: string; | ||
| }> {} | ||
| }> { | ||
| get [ErrorActionabilityId](): CliErrorActionabilityDeclaration { | ||
| return statusCodeActionability(this.status); | ||
| } | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.