@cratis/showrunner.usher 0.0.0-bootstrap.0
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.
- package/Access/AccessDuration.ts +13 -0
- package/Access/GrantAccess/GrantAccess.ts +80 -0
- package/Access/GrantAccess/index.ts +4 -0
- package/Access/RevokeAccess/RevokeAccess.ts +61 -0
- package/Access/RevokeAccess/index.ts +4 -0
- package/Access/index.ts +4 -0
- package/Contracts/Conversation/SupportAuthor.ts +25 -0
- package/Contracts/Conversation/SupportAuthorKind.ts +12 -0
- package/Contracts/Conversation/index.ts +5 -0
- package/Contracts/Reporting/SliceLocation.ts +30 -0
- package/Contracts/Reporting/StackFrame.ts +30 -0
- package/Contracts/Reporting/index.ts +5 -0
- package/Contracts/WorkItems/WorkItem.ts +36 -0
- package/Contracts/WorkItems/index.ts +4 -0
- package/Conversation/AddDetails/AddDetails.ts +87 -0
- package/Conversation/AddDetails/index.ts +4 -0
- package/Conversation/AnswerQuestion/AnswerQuestion.ts +105 -0
- package/Conversation/AnswerQuestion/index.ts +4 -0
- package/Errors/ErrorDetails.ts +41 -0
- package/Errors/errorDetailsFromCommandResult.ts +30 -0
- package/Errors/errorDetailsFromError.ts +44 -0
- package/Errors/errorDetailsFromQueryResult.ts +32 -0
- package/Errors/index.ts +9 -0
- package/Errors/messageOf.ts +24 -0
- package/Errors/parseStackTrace.ts +62 -0
- package/Errors/resolveLocation.ts +20 -0
- package/Identity/ShareIdentity/ShareIdentity.ts +61 -0
- package/Identity/ShareIdentity/index.ts +4 -0
- package/Identity/UserIdentity.ts +30 -0
- package/Identity/index.ts +4 -0
- package/Issues/IssueKind.ts +12 -0
- package/Issues/IssueState.ts +17 -0
- package/Issues/index.ts +5 -0
- package/Lifecycle/ReopenIssue/ReopenIssue.ts +87 -0
- package/Lifecycle/ReopenIssue/index.ts +4 -0
- package/Lifecycle/WithdrawIssue/WithdrawIssue.ts +61 -0
- package/Lifecycle/WithdrawIssue/index.ts +4 -0
- package/Listing/Listing.ts +271 -0
- package/Listing/index.ts +4 -0
- package/README.md +59 -0
- package/Reporting/ReportError/ReportError.ts +254 -0
- package/Reporting/ReportError/index.ts +4 -0
- package/Reporting/ReportIssue/ReportIssue.ts +217 -0
- package/Reporting/ReportIssue/index.ts +4 -0
- package/Viewing/AccessState.ts +15 -0
- package/Viewing/ConversationAuthorKind.ts +14 -0
- package/Viewing/ConversationEntryKind.ts +35 -0
- package/Viewing/Viewing.ts +472 -0
- package/Viewing/index.ts +7 -0
- package/dist/cjs/Access/AccessDuration.d.ts +6 -0
- package/dist/cjs/Access/AccessDuration.d.ts.map +1 -0
- package/dist/cjs/Access/AccessDuration.js +17 -0
- package/dist/cjs/Access/AccessDuration.js.map +1 -0
- package/dist/cjs/Access/GrantAccess/GrantAccess.d.ts +25 -0
- package/dist/cjs/Access/GrantAccess/GrantAccess.d.ts.map +1 -0
- package/dist/cjs/Access/GrantAccess/GrantAccess.js +55 -0
- package/dist/cjs/Access/GrantAccess/GrantAccess.js.map +1 -0
- package/dist/cjs/Access/GrantAccess/index.d.ts +2 -0
- package/dist/cjs/Access/GrantAccess/index.d.ts.map +1 -0
- package/dist/cjs/Access/RevokeAccess/RevokeAccess.d.ts +21 -0
- package/dist/cjs/Access/RevokeAccess/RevokeAccess.d.ts.map +1 -0
- package/dist/cjs/Access/RevokeAccess/RevokeAccess.js +44 -0
- package/dist/cjs/Access/RevokeAccess/RevokeAccess.js.map +1 -0
- package/dist/cjs/Access/RevokeAccess/index.d.ts +2 -0
- package/dist/cjs/Access/RevokeAccess/index.d.ts.map +1 -0
- package/dist/cjs/Access/index.d.ts +2 -0
- package/dist/cjs/Access/index.d.ts.map +1 -0
- package/dist/cjs/Contracts/Conversation/SupportAuthor.d.ts +6 -0
- package/dist/cjs/Contracts/Conversation/SupportAuthor.d.ts.map +1 -0
- package/dist/cjs/Contracts/Conversation/SupportAuthor.js +44 -0
- package/dist/cjs/Contracts/Conversation/SupportAuthor.js.map +1 -0
- package/dist/cjs/Contracts/Conversation/SupportAuthorKind.d.ts +5 -0
- package/dist/cjs/Contracts/Conversation/SupportAuthorKind.d.ts.map +1 -0
- package/dist/cjs/Contracts/Conversation/SupportAuthorKind.js +16 -0
- package/dist/cjs/Contracts/Conversation/SupportAuthorKind.js.map +1 -0
- package/dist/cjs/Contracts/Conversation/index.d.ts +3 -0
- package/dist/cjs/Contracts/Conversation/index.d.ts.map +1 -0
- package/dist/cjs/Contracts/Reporting/SliceLocation.d.ts +6 -0
- package/dist/cjs/Contracts/Reporting/SliceLocation.d.ts.map +1 -0
- package/dist/cjs/Contracts/Reporting/SliceLocation.js +50 -0
- package/dist/cjs/Contracts/Reporting/SliceLocation.js.map +1 -0
- package/dist/cjs/Contracts/Reporting/StackFrame.d.ts +6 -0
- package/dist/cjs/Contracts/Reporting/StackFrame.d.ts.map +1 -0
- package/dist/cjs/Contracts/Reporting/StackFrame.js +50 -0
- package/dist/cjs/Contracts/Reporting/StackFrame.js.map +1 -0
- package/dist/cjs/Contracts/Reporting/index.d.ts +3 -0
- package/dist/cjs/Contracts/Reporting/index.d.ts.map +1 -0
- package/dist/cjs/Contracts/WorkItems/WorkItem.d.ts +7 -0
- package/dist/cjs/Contracts/WorkItems/WorkItem.d.ts.map +1 -0
- package/dist/cjs/Contracts/WorkItems/WorkItem.js +57 -0
- package/dist/cjs/Contracts/WorkItems/WorkItem.js.map +1 -0
- package/dist/cjs/Contracts/WorkItems/index.d.ts +2 -0
- package/dist/cjs/Contracts/WorkItems/index.d.ts.map +1 -0
- package/dist/cjs/Conversation/AddDetails/AddDetails.d.ts +28 -0
- package/dist/cjs/Conversation/AddDetails/AddDetails.d.ts.map +1 -0
- package/dist/cjs/Conversation/AddDetails/AddDetails.js +64 -0
- package/dist/cjs/Conversation/AddDetails/AddDetails.js.map +1 -0
- package/dist/cjs/Conversation/AddDetails/index.d.ts +2 -0
- package/dist/cjs/Conversation/AddDetails/index.d.ts.map +1 -0
- package/dist/cjs/Conversation/AnswerQuestion/AnswerQuestion.d.ts +31 -0
- package/dist/cjs/Conversation/AnswerQuestion/AnswerQuestion.d.ts.map +1 -0
- package/dist/cjs/Conversation/AnswerQuestion/AnswerQuestion.js +75 -0
- package/dist/cjs/Conversation/AnswerQuestion/AnswerQuestion.js.map +1 -0
- package/dist/cjs/Conversation/AnswerQuestion/index.d.ts +2 -0
- package/dist/cjs/Conversation/AnswerQuestion/index.d.ts.map +1 -0
- package/dist/cjs/Errors/ErrorDetails.d.ts +11 -0
- package/dist/cjs/Errors/ErrorDetails.d.ts.map +1 -0
- package/dist/cjs/Errors/errorDetailsFromCommandResult.d.ts +5 -0
- package/dist/cjs/Errors/errorDetailsFromCommandResult.d.ts.map +1 -0
- package/dist/cjs/Errors/errorDetailsFromCommandResult.js +32 -0
- package/dist/cjs/Errors/errorDetailsFromCommandResult.js.map +1 -0
- package/dist/cjs/Errors/errorDetailsFromError.d.ts +4 -0
- package/dist/cjs/Errors/errorDetailsFromError.d.ts.map +1 -0
- package/dist/cjs/Errors/errorDetailsFromError.js +43 -0
- package/dist/cjs/Errors/errorDetailsFromError.js.map +1 -0
- package/dist/cjs/Errors/errorDetailsFromQueryResult.d.ts +6 -0
- package/dist/cjs/Errors/errorDetailsFromQueryResult.d.ts.map +1 -0
- package/dist/cjs/Errors/errorDetailsFromQueryResult.js +33 -0
- package/dist/cjs/Errors/errorDetailsFromQueryResult.js.map +1 -0
- package/dist/cjs/Errors/index.d.ts +7 -0
- package/dist/cjs/Errors/index.d.ts.map +1 -0
- package/dist/cjs/Errors/messageOf.d.ts +3 -0
- package/dist/cjs/Errors/messageOf.d.ts.map +1 -0
- package/dist/cjs/Errors/messageOf.js +23 -0
- package/dist/cjs/Errors/messageOf.js.map +1 -0
- package/dist/cjs/Errors/parseStackTrace.d.ts +3 -0
- package/dist/cjs/Errors/parseStackTrace.d.ts.map +1 -0
- package/dist/cjs/Errors/parseStackTrace.js +54 -0
- package/dist/cjs/Errors/parseStackTrace.js.map +1 -0
- package/dist/cjs/Errors/resolveLocation.d.ts +3 -0
- package/dist/cjs/Errors/resolveLocation.d.ts.map +1 -0
- package/dist/cjs/Errors/resolveLocation.js +22 -0
- package/dist/cjs/Errors/resolveLocation.js.map +1 -0
- package/dist/cjs/Identity/ShareIdentity/ShareIdentity.d.ts +21 -0
- package/dist/cjs/Identity/ShareIdentity/ShareIdentity.d.ts.map +1 -0
- package/dist/cjs/Identity/ShareIdentity/ShareIdentity.js +44 -0
- package/dist/cjs/Identity/ShareIdentity/ShareIdentity.js.map +1 -0
- package/dist/cjs/Identity/ShareIdentity/index.d.ts +2 -0
- package/dist/cjs/Identity/ShareIdentity/index.d.ts.map +1 -0
- package/dist/cjs/Identity/UserIdentity.d.ts +6 -0
- package/dist/cjs/Identity/UserIdentity.d.ts.map +1 -0
- package/dist/cjs/Identity/UserIdentity.js +50 -0
- package/dist/cjs/Identity/UserIdentity.js.map +1 -0
- package/dist/cjs/Identity/index.d.ts +2 -0
- package/dist/cjs/Identity/index.d.ts.map +1 -0
- package/dist/cjs/Issues/IssueKind.d.ts +5 -0
- package/dist/cjs/Issues/IssueKind.d.ts.map +1 -0
- package/dist/cjs/Issues/IssueKind.js +16 -0
- package/dist/cjs/Issues/IssueKind.js.map +1 -0
- package/dist/cjs/Issues/IssueState.d.ts +10 -0
- package/dist/cjs/Issues/IssueState.d.ts.map +1 -0
- package/dist/cjs/Issues/IssueState.js +21 -0
- package/dist/cjs/Issues/IssueState.js.map +1 -0
- package/dist/cjs/Issues/index.d.ts +3 -0
- package/dist/cjs/Issues/index.d.ts.map +1 -0
- package/dist/cjs/Lifecycle/ReopenIssue/ReopenIssue.d.ts +28 -0
- package/dist/cjs/Lifecycle/ReopenIssue/ReopenIssue.d.ts.map +1 -0
- package/dist/cjs/Lifecycle/ReopenIssue/ReopenIssue.js +64 -0
- package/dist/cjs/Lifecycle/ReopenIssue/ReopenIssue.js.map +1 -0
- package/dist/cjs/Lifecycle/ReopenIssue/index.d.ts +2 -0
- package/dist/cjs/Lifecycle/ReopenIssue/index.d.ts.map +1 -0
- package/dist/cjs/Lifecycle/WithdrawIssue/WithdrawIssue.d.ts +21 -0
- package/dist/cjs/Lifecycle/WithdrawIssue/WithdrawIssue.d.ts.map +1 -0
- package/dist/cjs/Lifecycle/WithdrawIssue/WithdrawIssue.js +44 -0
- package/dist/cjs/Lifecycle/WithdrawIssue/WithdrawIssue.js.map +1 -0
- package/dist/cjs/Lifecycle/WithdrawIssue/index.d.ts +2 -0
- package/dist/cjs/Lifecycle/WithdrawIssue/index.d.ts.map +1 -0
- package/dist/cjs/Listing/Listing.d.ts +99 -0
- package/dist/cjs/Listing/Listing.d.ts.map +1 -0
- package/dist/cjs/Listing/Listing.js +281 -0
- package/dist/cjs/Listing/Listing.js.map +1 -0
- package/dist/cjs/Listing/index.d.ts +2 -0
- package/dist/cjs/Listing/index.d.ts.map +1 -0
- package/dist/cjs/Reporting/ReportError/ReportError.d.ts +58 -0
- package/dist/cjs/Reporting/ReportError/ReportError.d.ts.map +1 -0
- package/dist/cjs/Reporting/ReportError/ReportError.js +167 -0
- package/dist/cjs/Reporting/ReportError/ReportError.js.map +1 -0
- package/dist/cjs/Reporting/ReportError/index.d.ts +2 -0
- package/dist/cjs/Reporting/ReportError/index.d.ts.map +1 -0
- package/dist/cjs/Reporting/ReportIssue/ReportIssue.d.ts +51 -0
- package/dist/cjs/Reporting/ReportIssue/ReportIssue.d.ts.map +1 -0
- package/dist/cjs/Reporting/ReportIssue/ReportIssue.js +144 -0
- package/dist/cjs/Reporting/ReportIssue/ReportIssue.js.map +1 -0
- package/dist/cjs/Reporting/ReportIssue/index.d.ts +2 -0
- package/dist/cjs/Reporting/ReportIssue/index.d.ts.map +1 -0
- package/dist/cjs/Viewing/AccessState.d.ts +8 -0
- package/dist/cjs/Viewing/AccessState.d.ts.map +1 -0
- package/dist/cjs/Viewing/AccessState.js +19 -0
- package/dist/cjs/Viewing/AccessState.js.map +1 -0
- package/dist/cjs/Viewing/ConversationAuthorKind.d.ts +7 -0
- package/dist/cjs/Viewing/ConversationAuthorKind.d.ts.map +1 -0
- package/dist/cjs/Viewing/ConversationAuthorKind.js +18 -0
- package/dist/cjs/Viewing/ConversationAuthorKind.js.map +1 -0
- package/dist/cjs/Viewing/ConversationEntryKind.d.ts +28 -0
- package/dist/cjs/Viewing/ConversationEntryKind.d.ts.map +1 -0
- package/dist/cjs/Viewing/ConversationEntryKind.js +39 -0
- package/dist/cjs/Viewing/ConversationEntryKind.js.map +1 -0
- package/dist/cjs/Viewing/Viewing.d.ts +145 -0
- package/dist/cjs/Viewing/Viewing.d.ts.map +1 -0
- package/dist/cjs/Viewing/Viewing.js +492 -0
- package/dist/cjs/Viewing/Viewing.js.map +1 -0
- package/dist/cjs/Viewing/index.d.ts +5 -0
- package/dist/cjs/Viewing/index.d.ts.map +1 -0
- package/dist/cjs/index.d.ts +19 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +74 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/esm/Access/AccessDuration.d.ts +6 -0
- package/dist/esm/Access/AccessDuration.d.ts.map +1 -0
- package/dist/esm/Access/AccessDuration.js +15 -0
- package/dist/esm/Access/AccessDuration.js.map +1 -0
- package/dist/esm/Access/GrantAccess/GrantAccess.d.ts +25 -0
- package/dist/esm/Access/GrantAccess/GrantAccess.d.ts.map +1 -0
- package/dist/esm/Access/GrantAccess/GrantAccess.js +53 -0
- package/dist/esm/Access/GrantAccess/GrantAccess.js.map +1 -0
- package/dist/esm/Access/GrantAccess/index.d.ts +2 -0
- package/dist/esm/Access/GrantAccess/index.d.ts.map +1 -0
- package/dist/esm/Access/GrantAccess/index.js +2 -0
- package/dist/esm/Access/GrantAccess/index.js.map +1 -0
- package/dist/esm/Access/RevokeAccess/RevokeAccess.d.ts +21 -0
- package/dist/esm/Access/RevokeAccess/RevokeAccess.d.ts.map +1 -0
- package/dist/esm/Access/RevokeAccess/RevokeAccess.js +42 -0
- package/dist/esm/Access/RevokeAccess/RevokeAccess.js.map +1 -0
- package/dist/esm/Access/RevokeAccess/index.d.ts +2 -0
- package/dist/esm/Access/RevokeAccess/index.d.ts.map +1 -0
- package/dist/esm/Access/RevokeAccess/index.js +2 -0
- package/dist/esm/Access/RevokeAccess/index.js.map +1 -0
- package/dist/esm/Access/index.d.ts +2 -0
- package/dist/esm/Access/index.d.ts.map +1 -0
- package/dist/esm/Access/index.js +2 -0
- package/dist/esm/Access/index.js.map +1 -0
- package/dist/esm/Contracts/Conversation/SupportAuthor.d.ts +6 -0
- package/dist/esm/Contracts/Conversation/SupportAuthor.d.ts.map +1 -0
- package/dist/esm/Contracts/Conversation/SupportAuthor.js +42 -0
- package/dist/esm/Contracts/Conversation/SupportAuthor.js.map +1 -0
- package/dist/esm/Contracts/Conversation/SupportAuthorKind.d.ts +5 -0
- package/dist/esm/Contracts/Conversation/SupportAuthorKind.d.ts.map +1 -0
- package/dist/esm/Contracts/Conversation/SupportAuthorKind.js +14 -0
- package/dist/esm/Contracts/Conversation/SupportAuthorKind.js.map +1 -0
- package/dist/esm/Contracts/Conversation/index.d.ts +3 -0
- package/dist/esm/Contracts/Conversation/index.d.ts.map +1 -0
- package/dist/esm/Contracts/Conversation/index.js +3 -0
- package/dist/esm/Contracts/Conversation/index.js.map +1 -0
- package/dist/esm/Contracts/Reporting/SliceLocation.d.ts +6 -0
- package/dist/esm/Contracts/Reporting/SliceLocation.d.ts.map +1 -0
- package/dist/esm/Contracts/Reporting/SliceLocation.js +48 -0
- package/dist/esm/Contracts/Reporting/SliceLocation.js.map +1 -0
- package/dist/esm/Contracts/Reporting/StackFrame.d.ts +6 -0
- package/dist/esm/Contracts/Reporting/StackFrame.d.ts.map +1 -0
- package/dist/esm/Contracts/Reporting/StackFrame.js +48 -0
- package/dist/esm/Contracts/Reporting/StackFrame.js.map +1 -0
- package/dist/esm/Contracts/Reporting/index.d.ts +3 -0
- package/dist/esm/Contracts/Reporting/index.d.ts.map +1 -0
- package/dist/esm/Contracts/Reporting/index.js +3 -0
- package/dist/esm/Contracts/Reporting/index.js.map +1 -0
- package/dist/esm/Contracts/WorkItems/WorkItem.d.ts +7 -0
- package/dist/esm/Contracts/WorkItems/WorkItem.d.ts.map +1 -0
- package/dist/esm/Contracts/WorkItems/WorkItem.js +55 -0
- package/dist/esm/Contracts/WorkItems/WorkItem.js.map +1 -0
- package/dist/esm/Contracts/WorkItems/index.d.ts +2 -0
- package/dist/esm/Contracts/WorkItems/index.d.ts.map +1 -0
- package/dist/esm/Contracts/WorkItems/index.js +2 -0
- package/dist/esm/Contracts/WorkItems/index.js.map +1 -0
- package/dist/esm/Conversation/AddDetails/AddDetails.d.ts +28 -0
- package/dist/esm/Conversation/AddDetails/AddDetails.d.ts.map +1 -0
- package/dist/esm/Conversation/AddDetails/AddDetails.js +61 -0
- package/dist/esm/Conversation/AddDetails/AddDetails.js.map +1 -0
- package/dist/esm/Conversation/AddDetails/index.d.ts +2 -0
- package/dist/esm/Conversation/AddDetails/index.d.ts.map +1 -0
- package/dist/esm/Conversation/AddDetails/index.js +2 -0
- package/dist/esm/Conversation/AddDetails/index.js.map +1 -0
- package/dist/esm/Conversation/AnswerQuestion/AnswerQuestion.d.ts +31 -0
- package/dist/esm/Conversation/AnswerQuestion/AnswerQuestion.d.ts.map +1 -0
- package/dist/esm/Conversation/AnswerQuestion/AnswerQuestion.js +72 -0
- package/dist/esm/Conversation/AnswerQuestion/AnswerQuestion.js.map +1 -0
- package/dist/esm/Conversation/AnswerQuestion/index.d.ts +2 -0
- package/dist/esm/Conversation/AnswerQuestion/index.d.ts.map +1 -0
- package/dist/esm/Conversation/AnswerQuestion/index.js +2 -0
- package/dist/esm/Conversation/AnswerQuestion/index.js.map +1 -0
- package/dist/esm/Errors/ErrorDetails.d.ts +11 -0
- package/dist/esm/Errors/ErrorDetails.d.ts.map +1 -0
- package/dist/esm/Errors/ErrorDetails.js +2 -0
- package/dist/esm/Errors/ErrorDetails.js.map +1 -0
- package/dist/esm/Errors/errorDetailsFromCommandResult.d.ts +5 -0
- package/dist/esm/Errors/errorDetailsFromCommandResult.d.ts.map +1 -0
- package/dist/esm/Errors/errorDetailsFromCommandResult.js +30 -0
- package/dist/esm/Errors/errorDetailsFromCommandResult.js.map +1 -0
- package/dist/esm/Errors/errorDetailsFromError.d.ts +4 -0
- package/dist/esm/Errors/errorDetailsFromError.d.ts.map +1 -0
- package/dist/esm/Errors/errorDetailsFromError.js +41 -0
- package/dist/esm/Errors/errorDetailsFromError.js.map +1 -0
- package/dist/esm/Errors/errorDetailsFromQueryResult.d.ts +6 -0
- package/dist/esm/Errors/errorDetailsFromQueryResult.d.ts.map +1 -0
- package/dist/esm/Errors/errorDetailsFromQueryResult.js +31 -0
- package/dist/esm/Errors/errorDetailsFromQueryResult.js.map +1 -0
- package/dist/esm/Errors/index.d.ts +7 -0
- package/dist/esm/Errors/index.d.ts.map +1 -0
- package/dist/esm/Errors/index.js +7 -0
- package/dist/esm/Errors/index.js.map +1 -0
- package/dist/esm/Errors/messageOf.d.ts +3 -0
- package/dist/esm/Errors/messageOf.d.ts.map +1 -0
- package/dist/esm/Errors/messageOf.js +21 -0
- package/dist/esm/Errors/messageOf.js.map +1 -0
- package/dist/esm/Errors/parseStackTrace.d.ts +3 -0
- package/dist/esm/Errors/parseStackTrace.d.ts.map +1 -0
- package/dist/esm/Errors/parseStackTrace.js +52 -0
- package/dist/esm/Errors/parseStackTrace.js.map +1 -0
- package/dist/esm/Errors/resolveLocation.d.ts +3 -0
- package/dist/esm/Errors/resolveLocation.d.ts.map +1 -0
- package/dist/esm/Errors/resolveLocation.js +20 -0
- package/dist/esm/Errors/resolveLocation.js.map +1 -0
- package/dist/esm/Identity/ShareIdentity/ShareIdentity.d.ts +21 -0
- package/dist/esm/Identity/ShareIdentity/ShareIdentity.d.ts.map +1 -0
- package/dist/esm/Identity/ShareIdentity/ShareIdentity.js +42 -0
- package/dist/esm/Identity/ShareIdentity/ShareIdentity.js.map +1 -0
- package/dist/esm/Identity/ShareIdentity/index.d.ts +2 -0
- package/dist/esm/Identity/ShareIdentity/index.d.ts.map +1 -0
- package/dist/esm/Identity/ShareIdentity/index.js +2 -0
- package/dist/esm/Identity/ShareIdentity/index.js.map +1 -0
- package/dist/esm/Identity/UserIdentity.d.ts +6 -0
- package/dist/esm/Identity/UserIdentity.d.ts.map +1 -0
- package/dist/esm/Identity/UserIdentity.js +48 -0
- package/dist/esm/Identity/UserIdentity.js.map +1 -0
- package/dist/esm/Identity/index.d.ts +2 -0
- package/dist/esm/Identity/index.d.ts.map +1 -0
- package/dist/esm/Identity/index.js +2 -0
- package/dist/esm/Identity/index.js.map +1 -0
- package/dist/esm/Issues/IssueKind.d.ts +5 -0
- package/dist/esm/Issues/IssueKind.d.ts.map +1 -0
- package/dist/esm/Issues/IssueKind.js +14 -0
- package/dist/esm/Issues/IssueKind.js.map +1 -0
- package/dist/esm/Issues/IssueState.d.ts +10 -0
- package/dist/esm/Issues/IssueState.d.ts.map +1 -0
- package/dist/esm/Issues/IssueState.js +19 -0
- package/dist/esm/Issues/IssueState.js.map +1 -0
- package/dist/esm/Issues/index.d.ts +3 -0
- package/dist/esm/Issues/index.d.ts.map +1 -0
- package/dist/esm/Issues/index.js +3 -0
- package/dist/esm/Issues/index.js.map +1 -0
- package/dist/esm/Lifecycle/ReopenIssue/ReopenIssue.d.ts +28 -0
- package/dist/esm/Lifecycle/ReopenIssue/ReopenIssue.d.ts.map +1 -0
- package/dist/esm/Lifecycle/ReopenIssue/ReopenIssue.js +61 -0
- package/dist/esm/Lifecycle/ReopenIssue/ReopenIssue.js.map +1 -0
- package/dist/esm/Lifecycle/ReopenIssue/index.d.ts +2 -0
- package/dist/esm/Lifecycle/ReopenIssue/index.d.ts.map +1 -0
- package/dist/esm/Lifecycle/ReopenIssue/index.js +2 -0
- package/dist/esm/Lifecycle/ReopenIssue/index.js.map +1 -0
- package/dist/esm/Lifecycle/WithdrawIssue/WithdrawIssue.d.ts +21 -0
- package/dist/esm/Lifecycle/WithdrawIssue/WithdrawIssue.d.ts.map +1 -0
- package/dist/esm/Lifecycle/WithdrawIssue/WithdrawIssue.js +42 -0
- package/dist/esm/Lifecycle/WithdrawIssue/WithdrawIssue.js.map +1 -0
- package/dist/esm/Lifecycle/WithdrawIssue/index.d.ts +2 -0
- package/dist/esm/Lifecycle/WithdrawIssue/index.d.ts.map +1 -0
- package/dist/esm/Lifecycle/WithdrawIssue/index.js +2 -0
- package/dist/esm/Lifecycle/WithdrawIssue/index.js.map +1 -0
- package/dist/esm/Listing/Listing.d.ts +99 -0
- package/dist/esm/Listing/Listing.d.ts.map +1 -0
- package/dist/esm/Listing/Listing.js +278 -0
- package/dist/esm/Listing/Listing.js.map +1 -0
- package/dist/esm/Listing/index.d.ts +2 -0
- package/dist/esm/Listing/index.d.ts.map +1 -0
- package/dist/esm/Listing/index.js +2 -0
- package/dist/esm/Listing/index.js.map +1 -0
- package/dist/esm/Reporting/ReportError/ReportError.d.ts +58 -0
- package/dist/esm/Reporting/ReportError/ReportError.d.ts.map +1 -0
- package/dist/esm/Reporting/ReportError/ReportError.js +164 -0
- package/dist/esm/Reporting/ReportError/ReportError.js.map +1 -0
- package/dist/esm/Reporting/ReportError/index.d.ts +2 -0
- package/dist/esm/Reporting/ReportError/index.d.ts.map +1 -0
- package/dist/esm/Reporting/ReportError/index.js +2 -0
- package/dist/esm/Reporting/ReportError/index.js.map +1 -0
- package/dist/esm/Reporting/ReportIssue/ReportIssue.d.ts +51 -0
- package/dist/esm/Reporting/ReportIssue/ReportIssue.d.ts.map +1 -0
- package/dist/esm/Reporting/ReportIssue/ReportIssue.js +141 -0
- package/dist/esm/Reporting/ReportIssue/ReportIssue.js.map +1 -0
- package/dist/esm/Reporting/ReportIssue/index.d.ts +2 -0
- package/dist/esm/Reporting/ReportIssue/index.d.ts.map +1 -0
- package/dist/esm/Reporting/ReportIssue/index.js +2 -0
- package/dist/esm/Reporting/ReportIssue/index.js.map +1 -0
- package/dist/esm/Viewing/AccessState.d.ts +8 -0
- package/dist/esm/Viewing/AccessState.d.ts.map +1 -0
- package/dist/esm/Viewing/AccessState.js +17 -0
- package/dist/esm/Viewing/AccessState.js.map +1 -0
- package/dist/esm/Viewing/ConversationAuthorKind.d.ts +7 -0
- package/dist/esm/Viewing/ConversationAuthorKind.d.ts.map +1 -0
- package/dist/esm/Viewing/ConversationAuthorKind.js +16 -0
- package/dist/esm/Viewing/ConversationAuthorKind.js.map +1 -0
- package/dist/esm/Viewing/ConversationEntryKind.d.ts +28 -0
- package/dist/esm/Viewing/ConversationEntryKind.d.ts.map +1 -0
- package/dist/esm/Viewing/ConversationEntryKind.js +37 -0
- package/dist/esm/Viewing/ConversationEntryKind.js.map +1 -0
- package/dist/esm/Viewing/Viewing.d.ts +145 -0
- package/dist/esm/Viewing/Viewing.d.ts.map +1 -0
- package/dist/esm/Viewing/Viewing.js +484 -0
- package/dist/esm/Viewing/Viewing.js.map +1 -0
- package/dist/esm/Viewing/index.d.ts +5 -0
- package/dist/esm/Viewing/index.d.ts.map +1 -0
- package/dist/esm/Viewing/index.js +5 -0
- package/dist/esm/Viewing/index.js.map +1 -0
- package/dist/esm/index.d.ts +19 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +29 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/index.ts +21 -0
- package/package.json +71 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
// **DO NOT EDIT** - This file is an automatically generated file.
|
|
5
|
+
// @generated by Cratis. Source: Cratis.Showrunner.Usher.Access.AccessDuration. Time: 2026-10-26T18:15:51.5541920Z. Hash: 02EA7A21E388E503C178B1F59050CA769BE3C13F20DF9CCE919698A2587F493C
|
|
6
|
+
/**
|
|
7
|
+
* How long a reporter lets support sign in as them. A command carries the duration; the event records the fixed {@link ValidUntil} it gives, so the fact does not change meaning with the time it is read.
|
|
8
|
+
*/
|
|
9
|
+
export enum AccessDuration {
|
|
10
|
+
oneHour = 0,
|
|
11
|
+
oneDay = 1,
|
|
12
|
+
sevenDays = 2,
|
|
13
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
// **DO NOT EDIT** - This file is an automatically generated file.
|
|
5
|
+
// @generated by Cratis. Source: Cratis.Showrunner.Usher.Access.GrantAccess.GrantAccess. Time: 2026-10-26T21:06:46.7466610Z. Hash: 6C24DECBF40D9D51CD1BBF740D36201F3F71B828180A6EB05D886EDAF5F38DBE
|
|
6
|
+
import { Command } from '@cratis/arc/commands';
|
|
7
|
+
import { ClearCommandValues, SetCommandValues, useCommand } from '@cratis/arc.react/commands';
|
|
8
|
+
import { SliceLocation as ArcSliceLocation, PropertyDescriptor } from '@cratis/arc/reflection';
|
|
9
|
+
import { AccessDuration } from '../AccessDuration';
|
|
10
|
+
import { Guid } from '@cratis/fundamentals';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* The reporter lets support sign in as them, for a limited time, to look into one of their issues. Support can only act as someone it knows, so granting access shares the reporter's identity first when it is not shared yet.
|
|
14
|
+
*/
|
|
15
|
+
export interface IGrantAccess {
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* How long support may sign in as the reporter.
|
|
19
|
+
*/
|
|
20
|
+
accessDuration?: AccessDuration;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* The issue support may look into.
|
|
24
|
+
*/
|
|
25
|
+
issueId?: Guid;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* The reporter lets support sign in as them, for a limited time, to look into one of their issues. Support can only act as someone it knows, so granting access shares the reporter's identity first when it is not shared yet.
|
|
31
|
+
*/
|
|
32
|
+
export class GrantAccess extends Command<IGrantAccess> implements IGrantAccess {
|
|
33
|
+
static readonly sliceLocation: ArcSliceLocation = new ArcSliceLocation('', 'Access', 'GrantAccess');
|
|
34
|
+
readonly route: string = '/api/access/grant-access';
|
|
35
|
+
readonly treatWarningsAsErrors: boolean = false;
|
|
36
|
+
readonly roles: string[] = [];
|
|
37
|
+
readonly propertyDescriptors: PropertyDescriptor[] = [
|
|
38
|
+
new PropertyDescriptor('accessDuration', Number, false),
|
|
39
|
+
new PropertyDescriptor('issueId', Guid, false),
|
|
40
|
+
];
|
|
41
|
+
|
|
42
|
+
#accessDuration!: AccessDuration;
|
|
43
|
+
#issueId!: Guid;
|
|
44
|
+
|
|
45
|
+
constructor() {
|
|
46
|
+
super(Object, false);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
get requestParameters(): string[] {
|
|
50
|
+
return [
|
|
51
|
+
];
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* How long support may sign in as the reporter.
|
|
56
|
+
*/
|
|
57
|
+
get accessDuration(): AccessDuration {
|
|
58
|
+
return this.#accessDuration;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
set accessDuration(value: AccessDuration) {
|
|
62
|
+
this.#accessDuration = value;
|
|
63
|
+
this.propertyChanged('accessDuration');
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* The issue support may look into.
|
|
67
|
+
*/
|
|
68
|
+
get issueId(): Guid {
|
|
69
|
+
return this.#issueId;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
set issueId(value: Guid) {
|
|
73
|
+
this.#issueId = value;
|
|
74
|
+
this.propertyChanged('issueId');
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
static use(initialValues?: IGrantAccess): [GrantAccess, SetCommandValues<IGrantAccess>, ClearCommandValues] {
|
|
78
|
+
return useCommand<GrantAccess, IGrantAccess>(GrantAccess, initialValues);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
// **DO NOT EDIT** - This file is an automatically generated file.
|
|
5
|
+
// @generated by Cratis. Source: Cratis.Showrunner.Usher.Access.RevokeAccess.RevokeAccess. Time: 2026-10-26T19:31:39.8469400Z. Hash: A43D27067A33FB57D824175026F0970762913BDB1BEE073DA0228A65B8994147
|
|
6
|
+
import { Command } from '@cratis/arc/commands';
|
|
7
|
+
import { ClearCommandValues, SetCommandValues, useCommand } from '@cratis/arc.react/commands';
|
|
8
|
+
import { SliceLocation as ArcSliceLocation, PropertyDescriptor } from '@cratis/arc/reflection';
|
|
9
|
+
import { Guid } from '@cratis/fundamentals';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The reporter takes back the access they granted support on one of their issues, before it ends by itself.
|
|
13
|
+
*/
|
|
14
|
+
export interface IRevokeAccess {
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The issue to revoke access on.
|
|
18
|
+
*/
|
|
19
|
+
issueId?: Guid;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* The reporter takes back the access they granted support on one of their issues, before it ends by itself.
|
|
25
|
+
*/
|
|
26
|
+
export class RevokeAccess extends Command<IRevokeAccess> implements IRevokeAccess {
|
|
27
|
+
static readonly sliceLocation: ArcSliceLocation = new ArcSliceLocation('', 'Access', 'RevokeAccess');
|
|
28
|
+
readonly route: string = '/api/access/revoke-access';
|
|
29
|
+
readonly treatWarningsAsErrors: boolean = false;
|
|
30
|
+
readonly roles: string[] = [];
|
|
31
|
+
readonly propertyDescriptors: PropertyDescriptor[] = [
|
|
32
|
+
new PropertyDescriptor('issueId', Guid, false),
|
|
33
|
+
];
|
|
34
|
+
|
|
35
|
+
#issueId!: Guid;
|
|
36
|
+
|
|
37
|
+
constructor() {
|
|
38
|
+
super(Object, false);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
get requestParameters(): string[] {
|
|
42
|
+
return [
|
|
43
|
+
];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* The issue to revoke access on.
|
|
48
|
+
*/
|
|
49
|
+
get issueId(): Guid {
|
|
50
|
+
return this.#issueId;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
set issueId(value: Guid) {
|
|
54
|
+
this.#issueId = value;
|
|
55
|
+
this.propertyChanged('issueId');
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
static use(initialValues?: IRevokeAccess): [RevokeAccess, SetCommandValues<IRevokeAccess>, ClearCommandValues] {
|
|
59
|
+
return useCommand<RevokeAccess, IRevokeAccess>(RevokeAccess, initialValues);
|
|
60
|
+
}
|
|
61
|
+
}
|
package/Access/index.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
// **DO NOT EDIT** - This file is an automatically generated file.
|
|
5
|
+
// @generated by Cratis. Source: Cratis.Showrunner.Usher.Contracts.Conversation.SupportAuthor. Time: 2026-10-26T18:15:51.5541920Z. Hash: D971774E1CCD2C2A3F843B181EB3702E3D2B029CC98A4E67A7AA5BA736C177FC
|
|
6
|
+
import { field } from '@cratis/fundamentals';
|
|
7
|
+
import { SupportAuthorKind } from './SupportAuthorKind';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Who wrote a support entry, as the reporter is meant to see it. It travels in the payload because the desk's own causation (who appended the event in the desk store) does not cross into the application: the application records the translated event under its own causation, and the desk decides what the reporter may see.
|
|
11
|
+
*/
|
|
12
|
+
export class SupportAuthor {
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* The author's name; {@link NotSet} when the desk hides it.
|
|
16
|
+
*/
|
|
17
|
+
@field(String)
|
|
18
|
+
name!: string;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Whether the author is a person or an agent.
|
|
22
|
+
*/
|
|
23
|
+
@field(Number)
|
|
24
|
+
kind!: SupportAuthorKind;
|
|
25
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
// **DO NOT EDIT** - This file is an automatically generated file.
|
|
5
|
+
// @generated by Cratis. Source: Cratis.Showrunner.Usher.Contracts.Conversation.SupportAuthorKind. Time: 2026-10-26T18:15:51.5541920Z. Hash: F0E3DFBE5B4CC9979D8E809F25FE71B45342DCEC39253BD19C5B48510442C643
|
|
6
|
+
/**
|
|
7
|
+
* What kind of author wrote a support entry the reporter sees.
|
|
8
|
+
*/
|
|
9
|
+
export enum SupportAuthorKind {
|
|
10
|
+
person = 0,
|
|
11
|
+
agent = 1,
|
|
12
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
// **DO NOT EDIT** - This file is an automatically generated file.
|
|
5
|
+
// @generated by Cratis. Source: Cratis.Showrunner.Usher.Contracts.Reporting.SliceLocation. Time: 2026-10-26T18:15:51.5541920Z. Hash: 43F1EEEB0FFCB772AA0F2633DFF9FAC94AADE89AB1858F453B61A86B87327956
|
|
6
|
+
import { field } from '@cratis/fundamentals';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Where in the application an issue happened, as the module, feature and slice Arc resolves - on the backend from the executing command or query, in the frontend from the component hierarchy. A part Arc cannot resolve is `NotSet`, never absent.
|
|
10
|
+
*/
|
|
11
|
+
export class SliceLocation {
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* The module.
|
|
15
|
+
*/
|
|
16
|
+
@field(String)
|
|
17
|
+
module!: string;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The feature within the module.
|
|
21
|
+
*/
|
|
22
|
+
@field(String)
|
|
23
|
+
feature!: string;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* The slice within the feature.
|
|
27
|
+
*/
|
|
28
|
+
@field(String)
|
|
29
|
+
slice!: string;
|
|
30
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
// **DO NOT EDIT** - This file is an automatically generated file.
|
|
5
|
+
// @generated by Cratis. Source: Cratis.Showrunner.Usher.Contracts.Reporting.StackFrame. Time: 2026-10-26T18:15:51.5541920Z. Hash: 9C8E5C91DFFB6B0A76AD65FD9A99521AD00B63AAB07047C86467525A89A18281
|
|
6
|
+
import { field } from '@cratis/fundamentals';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* One frame of the stack trace captured with an error, top frame first. A part the runtime did not report is `NotSet`; an error without a stack trace carries no frames at all.
|
|
10
|
+
*/
|
|
11
|
+
export class StackFrame {
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* The method or function.
|
|
15
|
+
*/
|
|
16
|
+
@field(String)
|
|
17
|
+
method!: string;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The source file or script URL.
|
|
21
|
+
*/
|
|
22
|
+
@field(String)
|
|
23
|
+
file!: string;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* The line number in the file.
|
|
27
|
+
*/
|
|
28
|
+
@field(Number)
|
|
29
|
+
line!: number;
|
|
30
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
// **DO NOT EDIT** - This file is an automatically generated file.
|
|
5
|
+
// @generated by Cratis. Source: Cratis.Showrunner.Usher.Contracts.WorkItems.WorkItem. Time: 2026-10-26T18:15:51.5541920Z. Hash: 31E79735FA61F9982CB757EAB8C488E2EF008E57887F2D8BC0974779204ED489
|
|
6
|
+
import { field } from '@cratis/fundamentals';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* A work item in the issue tracker configured for the application, such as a GitHub issue, that the fix for an issue is tracked by.
|
|
10
|
+
*/
|
|
11
|
+
export class WorkItem {
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* The tracker the work item lives in.
|
|
15
|
+
*/
|
|
16
|
+
@field(String)
|
|
17
|
+
tracker!: string;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The tracker's own reference to the work item.
|
|
21
|
+
*/
|
|
22
|
+
@field(String)
|
|
23
|
+
reference!: string;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* The work item's title.
|
|
27
|
+
*/
|
|
28
|
+
@field(String)
|
|
29
|
+
title!: string;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Where the reporter can open the work item; {@link NotSet} when they cannot.
|
|
33
|
+
*/
|
|
34
|
+
@field(String)
|
|
35
|
+
url!: string;
|
|
36
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
// **DO NOT EDIT** - This file is an automatically generated file.
|
|
5
|
+
// @generated by Cratis. Source: Cratis.Showrunner.Usher.Conversation.AddDetails.AddDetails. Time: 2026-10-26T21:13:51.1172240Z. Hash: 123040E7A0D9A2374A3D88E5B1831AC01DA9786D2C513278D3F97002293779F9
|
|
6
|
+
import { Command, CommandValidator } from '@cratis/arc/commands';
|
|
7
|
+
import { ClearCommandValues, SetCommandValues, useCommand } from '@cratis/arc.react/commands';
|
|
8
|
+
import { SliceLocation as ArcSliceLocation, PropertyDescriptor } from '@cratis/arc/reflection';
|
|
9
|
+
import { Guid } from '@cratis/fundamentals';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The reporter tells support more about one of their issues.
|
|
13
|
+
*/
|
|
14
|
+
export interface IAddDetails {
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* What the reporter adds.
|
|
18
|
+
*/
|
|
19
|
+
details?: string;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The issue to add details to.
|
|
23
|
+
*/
|
|
24
|
+
issueId?: Guid;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export class AddDetailsValidator extends CommandValidator<IAddDetails> {
|
|
28
|
+
constructor() {
|
|
29
|
+
super();
|
|
30
|
+
this.ruleFor(c => c.details).notEmpty().withMessage('Tell support what you want to add.');
|
|
31
|
+
this.ruleFor(c => c.details).maxLength(4000).withMessage('Keep what you add within 4000 characters.');
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* The reporter tells support more about one of their issues.
|
|
37
|
+
*/
|
|
38
|
+
export class AddDetails extends Command<IAddDetails> implements IAddDetails {
|
|
39
|
+
static readonly sliceLocation: ArcSliceLocation = new ArcSliceLocation('', 'Conversation', 'AddDetails');
|
|
40
|
+
readonly route: string = '/api/conversation/add-details';
|
|
41
|
+
readonly validation: CommandValidator = new AddDetailsValidator();
|
|
42
|
+
readonly treatWarningsAsErrors: boolean = false;
|
|
43
|
+
readonly roles: string[] = [];
|
|
44
|
+
readonly propertyDescriptors: PropertyDescriptor[] = [
|
|
45
|
+
new PropertyDescriptor('details', String, false),
|
|
46
|
+
new PropertyDescriptor('issueId', Guid, false),
|
|
47
|
+
];
|
|
48
|
+
|
|
49
|
+
#details!: string;
|
|
50
|
+
#issueId!: Guid;
|
|
51
|
+
|
|
52
|
+
constructor() {
|
|
53
|
+
super(Object, false);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
get requestParameters(): string[] {
|
|
57
|
+
return [
|
|
58
|
+
];
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* What the reporter adds.
|
|
63
|
+
*/
|
|
64
|
+
get details(): string {
|
|
65
|
+
return this.#details;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
set details(value: string) {
|
|
69
|
+
this.#details = value;
|
|
70
|
+
this.propertyChanged('details');
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* The issue to add details to.
|
|
74
|
+
*/
|
|
75
|
+
get issueId(): Guid {
|
|
76
|
+
return this.#issueId;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
set issueId(value: Guid) {
|
|
80
|
+
this.#issueId = value;
|
|
81
|
+
this.propertyChanged('issueId');
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
static use(initialValues?: IAddDetails): [AddDetails, SetCommandValues<IAddDetails>, ClearCommandValues] {
|
|
85
|
+
return useCommand<AddDetails, IAddDetails>(AddDetails, initialValues);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
// **DO NOT EDIT** - This file is an automatically generated file.
|
|
5
|
+
// @generated by Cratis. Source: Cratis.Showrunner.Usher.Conversation.AnswerQuestion.AnswerQuestion. Time: 2026-10-26T21:13:51.1172240Z. Hash: E9094699C3CA7572D788CDA4E95DCA46A53E721FFC91648D483E64EFC5A6979B
|
|
6
|
+
import { Command, CommandValidator } from '@cratis/arc/commands';
|
|
7
|
+
import { ClearCommandValues, SetCommandValues, useCommand } from '@cratis/arc.react/commands';
|
|
8
|
+
import { SliceLocation as ArcSliceLocation, PropertyDescriptor } from '@cratis/arc/reflection';
|
|
9
|
+
import { Guid } from '@cratis/fundamentals';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The reporter answers a question support asked on one of their issues.
|
|
13
|
+
*/
|
|
14
|
+
export interface IAnswerQuestion {
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The reporter's answer.
|
|
18
|
+
*/
|
|
19
|
+
answer?: string;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The issue the question was asked on.
|
|
23
|
+
*/
|
|
24
|
+
issueId?: Guid;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* The question being answered, as the desk minted it.
|
|
28
|
+
*/
|
|
29
|
+
questionId?: Guid;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export class AnswerQuestionValidator extends CommandValidator<IAnswerQuestion> {
|
|
33
|
+
constructor() {
|
|
34
|
+
super();
|
|
35
|
+
this.ruleFor(c => c.answer).notEmpty().withMessage('Write an answer.');
|
|
36
|
+
this.ruleFor(c => c.answer).maxLength(4000).withMessage('Keep the answer within 4000 characters.');
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* The reporter answers a question support asked on one of their issues.
|
|
42
|
+
*/
|
|
43
|
+
export class AnswerQuestion extends Command<IAnswerQuestion> implements IAnswerQuestion {
|
|
44
|
+
static readonly sliceLocation: ArcSliceLocation = new ArcSliceLocation('', 'Conversation', 'AnswerQuestion');
|
|
45
|
+
readonly route: string = '/api/conversation/answer-question';
|
|
46
|
+
readonly validation: CommandValidator = new AnswerQuestionValidator();
|
|
47
|
+
readonly treatWarningsAsErrors: boolean = false;
|
|
48
|
+
readonly roles: string[] = [];
|
|
49
|
+
readonly propertyDescriptors: PropertyDescriptor[] = [
|
|
50
|
+
new PropertyDescriptor('answer', String, false),
|
|
51
|
+
new PropertyDescriptor('issueId', Guid, false),
|
|
52
|
+
new PropertyDescriptor('questionId', Guid, false),
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
#answer!: string;
|
|
56
|
+
#issueId!: Guid;
|
|
57
|
+
#questionId!: Guid;
|
|
58
|
+
|
|
59
|
+
constructor() {
|
|
60
|
+
super(Object, false);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
get requestParameters(): string[] {
|
|
64
|
+
return [
|
|
65
|
+
];
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* The reporter's answer.
|
|
70
|
+
*/
|
|
71
|
+
get answer(): string {
|
|
72
|
+
return this.#answer;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
set answer(value: string) {
|
|
76
|
+
this.#answer = value;
|
|
77
|
+
this.propertyChanged('answer');
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* The issue the question was asked on.
|
|
81
|
+
*/
|
|
82
|
+
get issueId(): Guid {
|
|
83
|
+
return this.#issueId;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
set issueId(value: Guid) {
|
|
87
|
+
this.#issueId = value;
|
|
88
|
+
this.propertyChanged('issueId');
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* The question being answered, as the desk minted it.
|
|
92
|
+
*/
|
|
93
|
+
get questionId(): Guid {
|
|
94
|
+
return this.#questionId;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
set questionId(value: Guid) {
|
|
98
|
+
this.#questionId = value;
|
|
99
|
+
this.propertyChanged('questionId');
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
static use(initialValues?: IAnswerQuestion): [AnswerQuestion, SetCommandValues<IAnswerQuestion>, ClearCommandValues] {
|
|
103
|
+
return useCommand<AnswerQuestion, IAnswerQuestion>(AnswerQuestion, initialValues);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { SliceLocation as ArcSliceLocation } from '@cratis/arc/reflection';
|
|
5
|
+
import { Guid } from '@cratis/fundamentals';
|
|
6
|
+
import { StackFrame } from '../Contracts/Reporting/StackFrame';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Represents what is known about an error the user hit, ready for the report dialogs and the `ReportError` command.
|
|
10
|
+
* @remarks
|
|
11
|
+
* Nothing is ever null or undefined: a part that is not known is an empty string, an empty array or
|
|
12
|
+
* {@link ArcSliceLocation.empty}. For a failing command the backend captures the error itself and records that
|
|
13
|
+
* instead of what is sent here, when one of {@link ErrorDetails.correlationIds} is the failing command's.
|
|
14
|
+
*/
|
|
15
|
+
export interface ErrorDetails {
|
|
16
|
+
/**
|
|
17
|
+
* The message of the error.
|
|
18
|
+
*/
|
|
19
|
+
readonly message: string;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The type of the error; empty when the client does not know it, as for a failing command or query, whose
|
|
23
|
+
* .NET type Arc does not return.
|
|
24
|
+
*/
|
|
25
|
+
readonly type: string;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* The correlation id of the failing command or query; empty when it is not known.
|
|
29
|
+
*/
|
|
30
|
+
readonly correlationIds: Guid[];
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* The stack trace of the error, top frame first; empty when there is none.
|
|
34
|
+
*/
|
|
35
|
+
readonly stackFrames: StackFrame[];
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Where in the application the error happened.
|
|
39
|
+
*/
|
|
40
|
+
readonly location: ArcSliceLocation;
|
|
41
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { ICommandResult } from '@cratis/arc/commands';
|
|
5
|
+
import { SliceLocation as ArcSliceLocation } from '@cratis/arc/reflection';
|
|
6
|
+
import { ErrorDetails } from './ErrorDetails';
|
|
7
|
+
import { messageOf } from './messageOf';
|
|
8
|
+
import { parseStackTrace } from './parseStackTrace';
|
|
9
|
+
import { resolveLocation } from './resolveLocation';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Builds {@link ErrorDetails} from the result of a failed Arc command.
|
|
13
|
+
* @remarks
|
|
14
|
+
* The correlation id is the command's, which lets the backend record the error as it captured it. The stack frames
|
|
15
|
+
* are parsed from the stack trace Arc returns, and the type is empty, because Arc does not return the .NET type.
|
|
16
|
+
* @param result The {@link ICommandResult} of the failed command.
|
|
17
|
+
* @param command The failing command, whose generated proxy declares where it lives.
|
|
18
|
+
* @param location Where it happened when the command's proxy declares nothing, such as the location from
|
|
19
|
+
* `useSliceContext()`.
|
|
20
|
+
* @returns The {@link ErrorDetails}.
|
|
21
|
+
*/
|
|
22
|
+
export function errorDetailsFromCommandResult(result: ICommandResult<unknown>, command?: object, location?: ArcSliceLocation): ErrorDetails {
|
|
23
|
+
return {
|
|
24
|
+
message: messageOf(result.exceptionMessages, result.authorizationFailureReason, result.validationResults),
|
|
25
|
+
type: '',
|
|
26
|
+
correlationIds: result.correlationId ? [result.correlationId] : [],
|
|
27
|
+
stackFrames: parseStackTrace(result.exceptionStackTrace),
|
|
28
|
+
location: resolveLocation(command, location)
|
|
29
|
+
};
|
|
30
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { SliceLocation as ArcSliceLocation } from '@cratis/arc/reflection';
|
|
5
|
+
import { ErrorDetails } from './ErrorDetails';
|
|
6
|
+
import { parseStackTrace } from './parseStackTrace';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Builds {@link ErrorDetails} from a JavaScript error, or anything else that was thrown.
|
|
10
|
+
* @remarks
|
|
11
|
+
* The type is the error's `name`, or the name of its class when a subclass leaves `name` as `Error`. A thrown
|
|
12
|
+
* value that is not an `Error` has no type and no stack frames, and its text as the message.
|
|
13
|
+
* @param error What was thrown.
|
|
14
|
+
* @param location Where it happened, such as the location from `useSliceContext()`.
|
|
15
|
+
* @returns The {@link ErrorDetails}.
|
|
16
|
+
*/
|
|
17
|
+
export function errorDetailsFromError(error: unknown, location?: ArcSliceLocation): ErrorDetails {
|
|
18
|
+
if (error instanceof Error) {
|
|
19
|
+
return {
|
|
20
|
+
message: error.message,
|
|
21
|
+
type: typeOf(error),
|
|
22
|
+
correlationIds: [],
|
|
23
|
+
stackFrames: parseStackTrace(error.stack),
|
|
24
|
+
location: location ?? ArcSliceLocation.empty
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return {
|
|
29
|
+
message: error === undefined ? '' : String(error),
|
|
30
|
+
type: '',
|
|
31
|
+
correlationIds: [],
|
|
32
|
+
stackFrames: [],
|
|
33
|
+
location: location ?? ArcSliceLocation.empty
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function typeOf(error: Error): string {
|
|
38
|
+
const className = error.constructor?.name ?? '';
|
|
39
|
+
if (error.name === 'Error' && className.length > 0) {
|
|
40
|
+
return className;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return error.name;
|
|
44
|
+
}
|