@appsolutely-io/waypoint 0.0.0-stage → 0.1.1-next.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.
Files changed (161) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +260 -2
  3. package/dist/block-reply-DN4RiLL0.d.cts +169 -0
  4. package/dist/block-reply-Dtof9ild.d.ts +169 -0
  5. package/dist/blocks-25YOJ5SS.cjs +1 -0
  6. package/dist/blocks-UJ7GUJHD.js +1 -0
  7. package/dist/chunk-3KV7TDDR.cjs +3 -0
  8. package/dist/chunk-4BWV3SEL.cjs +1 -0
  9. package/dist/chunk-4ZGW4HM4.cjs +1 -0
  10. package/dist/chunk-5TBO732O.js +1 -0
  11. package/dist/chunk-6OZSKCPT.cjs +1 -0
  12. package/dist/chunk-C3VS33WJ.js +1 -0
  13. package/dist/chunk-D2EGPBCX.cjs +1 -0
  14. package/dist/chunk-FBADWFRR.cjs +1 -0
  15. package/dist/chunk-FQSWQLRW.js +1 -0
  16. package/dist/chunk-GT6PI4CT.cjs +1 -0
  17. package/dist/chunk-II26UWZM.cjs +1 -0
  18. package/dist/chunk-JFMVVGGB.js +1 -0
  19. package/dist/chunk-K73VV7KA.js +1 -0
  20. package/dist/chunk-L4PFFRDE.js +3 -0
  21. package/dist/chunk-LLPGVQUT.cjs +1 -0
  22. package/dist/chunk-M3UENQ6L.cjs +1 -0
  23. package/dist/chunk-M63QOANE.js +1 -0
  24. package/dist/chunk-MEKDQDSV.js +1 -0
  25. package/dist/chunk-OEPKPDLD.js +1 -0
  26. package/dist/chunk-OWT55N6J.js +3 -0
  27. package/dist/chunk-PFR2J5BV.js +1 -0
  28. package/dist/chunk-Q6BD2YL3.cjs +1 -0
  29. package/dist/chunk-Q7BULGQG.cjs +1 -0
  30. package/dist/chunk-QS3MKZOY.cjs +3 -0
  31. package/dist/chunk-RHBDQGD4.js +1 -0
  32. package/dist/chunk-RZZDQWC2.js +1 -0
  33. package/dist/chunk-S73WZWDP.js +1 -0
  34. package/dist/chunk-SD2KAIVE.js +1 -0
  35. package/dist/chunk-T5XF2R74.js +1 -0
  36. package/dist/chunk-TCFCSGQ3.js +1 -0
  37. package/dist/chunk-TGL3DR2K.js +1 -0
  38. package/dist/chunk-TODYQ3SG.cjs +1 -0
  39. package/dist/chunk-TVSQHTK2.cjs +1 -0
  40. package/dist/chunk-UYR3UEIW.cjs +1 -0
  41. package/dist/chunk-VGGJGRNK.cjs +1 -0
  42. package/dist/chunk-W6Y7H56X.js +1 -0
  43. package/dist/chunk-XSHOLIC7.cjs +1 -0
  44. package/dist/chunk-XWDB2LS3.cjs +1 -0
  45. package/dist/cli.js +3 -0
  46. package/dist/confirmation-view-CICNJJIO.js +1 -0
  47. package/dist/confirmation-view-OMWHUYVC.cjs +1 -0
  48. package/dist/conformance.cjs +1 -0
  49. package/dist/conformance.d.cts +10 -0
  50. package/dist/conformance.d.ts +10 -0
  51. package/dist/conformance.js +1 -0
  52. package/dist/flow-parser.cjs +1 -0
  53. package/dist/flow-parser.d.cts +3 -0
  54. package/dist/flow-parser.d.ts +3 -0
  55. package/dist/flow-parser.js +1 -0
  56. package/dist/flows-panel-AIULKYOS.cjs +1 -0
  57. package/dist/flows-panel-YEJ36RTY.js +1 -0
  58. package/dist/form-extras-QYE32TUY.cjs +1 -0
  59. package/dist/form-extras-SBBOMJS2.js +1 -0
  60. package/dist/form-fill-C32AHxSr.d.cts +653 -0
  61. package/dist/form-fill-Dp3ut1_Y.d.ts +653 -0
  62. package/dist/form-session.cjs +1 -0
  63. package/dist/form-session.d.cts +7 -0
  64. package/dist/form-session.d.ts +7 -0
  65. package/dist/form-session.js +1 -0
  66. package/dist/frame-decoder.cjs +3 -0
  67. package/dist/frame-decoder.d.cts +5 -0
  68. package/dist/frame-decoder.d.ts +5 -0
  69. package/dist/frame-decoder.js +3 -0
  70. package/dist/generated-C9tbjwK0.d.cts +797 -0
  71. package/dist/generated-C9tbjwK0.d.ts +797 -0
  72. package/dist/hooks/index.cjs +1 -0
  73. package/dist/hooks/index.d.cts +48 -0
  74. package/dist/hooks/index.d.ts +48 -0
  75. package/dist/hooks/index.js +1 -0
  76. package/dist/i18n-DPNfYTMG.d.cts +148 -0
  77. package/dist/i18n-DPNfYTMG.d.ts +148 -0
  78. package/dist/index-B5idIFTx.d.cts +34 -0
  79. package/dist/index-DPzoKXCK.d.ts +34 -0
  80. package/dist/index.cjs +3 -0
  81. package/dist/index.d.cts +38 -0
  82. package/dist/index.d.ts +38 -0
  83. package/dist/index.js +3 -0
  84. package/dist/intent-BQPPows1.d.cts +154 -0
  85. package/dist/intent-BuvqEU3Q.d.ts +154 -0
  86. package/dist/intent.cjs +1 -0
  87. package/dist/intent.d.cts +2 -0
  88. package/dist/intent.d.ts +2 -0
  89. package/dist/intent.js +1 -0
  90. package/dist/markdown-BSRKJFFE.cjs +17 -0
  91. package/dist/markdown-ETLB66BK.js +17 -0
  92. package/dist/message-actions-3HGE6VTS.js +1 -0
  93. package/dist/message-actions-F6SPLTT7.cjs +1 -0
  94. package/dist/messages/en/index.cjs +1 -0
  95. package/dist/messages/en/index.d.cts +3 -0
  96. package/dist/messages/en/index.d.ts +3 -0
  97. package/dist/messages/en/index.js +1 -0
  98. package/dist/messages/index.cjs +1 -0
  99. package/dist/messages/index.d.cts +14 -0
  100. package/dist/messages/index.d.ts +14 -0
  101. package/dist/messages/index.js +1 -0
  102. package/dist/messages/zh-Hans/index.cjs +1 -0
  103. package/dist/messages/zh-Hans/index.d.cts +3 -0
  104. package/dist/messages/zh-Hans/index.d.ts +3 -0
  105. package/dist/messages/zh-Hans/index.js +1 -0
  106. package/dist/on-demand.cjs +1 -0
  107. package/dist/on-demand.d.cts +56 -0
  108. package/dist/on-demand.d.ts +56 -0
  109. package/dist/on-demand.js +1 -0
  110. package/dist/problem-messages-THONMXFZ.cjs +1 -0
  111. package/dist/problem-messages-Z5QGO6RE.js +1 -0
  112. package/dist/react/index.cjs +1 -0
  113. package/dist/react/index.d.cts +419 -0
  114. package/dist/react/index.d.ts +419 -0
  115. package/dist/react/index.js +1 -0
  116. package/dist/reads-Bk84x_rt.d.ts +38 -0
  117. package/dist/reads-DlpCt8dE.d.cts +38 -0
  118. package/dist/recovery-panel-OWY2CWOH.cjs +3 -0
  119. package/dist/recovery-panel-VOKVDDZD.js +3 -0
  120. package/dist/reply-controls-5CWIAKIG.js +1 -0
  121. package/dist/reply-controls-CPWB4VBK.cjs +1 -0
  122. package/dist/run-XBABOEXK.js +1 -0
  123. package/dist/schema.json +2900 -0
  124. package/dist/skin-antd/index.cjs +1 -0
  125. package/dist/skin-antd/index.d.cts +30 -0
  126. package/dist/skin-antd/index.d.ts +30 -0
  127. package/dist/skin-antd/index.js +1 -0
  128. package/dist/skin-default/index.cjs +1 -0
  129. package/dist/skin-default/index.d.cts +42 -0
  130. package/dist/skin-default/index.d.ts +42 -0
  131. package/dist/skin-default/index.js +1 -0
  132. package/dist/step-name-3hQ6CCGr.d.cts +19 -0
  133. package/dist/step-name-BdkYnb5g.d.ts +19 -0
  134. package/dist/storage-commit.cjs +1 -0
  135. package/dist/storage-commit.d.cts +17 -0
  136. package/dist/storage-commit.d.ts +17 -0
  137. package/dist/storage-commit.js +1 -0
  138. package/dist/stream-reads.cjs +1 -0
  139. package/dist/stream-reads.d.cts +22 -0
  140. package/dist/stream-reads.d.ts +22 -0
  141. package/dist/stream-reads.js +1 -0
  142. package/dist/styles.css +796 -0
  143. package/dist/testing/index.cjs +1 -0
  144. package/dist/testing/index.d.cts +57 -0
  145. package/dist/testing/index.d.ts +57 -0
  146. package/dist/testing/index.js +1 -0
  147. package/docs/examples/message-versions.tsx +74 -0
  148. package/docs/form-fill-protocol.md +83 -0
  149. package/docs/message-versions.md +64 -0
  150. package/docs/plan-protocol.md +83 -0
  151. package/docs/reply-protocol.md +75 -0
  152. package/etc/hooks.api.md +2385 -0
  153. package/etc/index.api.md +2159 -0
  154. package/etc/messages-en.api.md +13 -0
  155. package/etc/messages-zh-Hans.api.md +13 -0
  156. package/etc/messages.api.md +183 -0
  157. package/etc/react.api.md +2968 -0
  158. package/etc/skin-antd.api.md +2989 -0
  159. package/etc/skin-default.api.md +61 -0
  160. package/etc/testing.api.md +3034 -0
  161. package/package.json +168 -4
@@ -0,0 +1,3 @@
1
+ import{a as ne,b as oe}from"./chunk-PFR2J5BV.js";import{F,J as A,a as U,b as D,c as X,d as v,g as B,h as Z,i as ee,j as E,k as te,l as re,q as Y,y as ae}from"./chunk-TGL3DR2K.js";import"./chunk-FQSWQLRW.js";import{a as Q}from"./chunk-C3VS33WJ.js";import"./chunk-OWT55N6J.js";import"./chunk-RHBDQGD4.js";import"./chunk-RZZDQWC2.js";import"./chunk-M63QOANE.js";import"./chunk-L4PFFRDE.js";import"./chunk-T5XF2R74.js";import"./chunk-K73VV7KA.js";import"./chunk-5TBO732O.js";import{useEffect as I,useId as ye,useRef as w,useState as ve}from"react";var ce={"chat.recovery.heading":"Review the plan's status","chat.recovery.updateToControl":"Update the app to control this plan. Its recorded status is shown here.","chat.recovery.stopping":"Stopping further steps\u2026","chat.recovery.cancelling":"Cancelling\u2026","chat.recovery.leavePending":"Saving your choice to leave changes as they are\u2026","chat.recovery.currentRunning":"The plan is running now. Stop it before reviewing another action.","chat.recovery.currentStopped":"The plan is stopped. Recorded results may include changes already made.","chat.recovery.cancelledNoChanges":"Cancelled; nothing was changed.","chat.recovery.leftKnown":"Left as is. Existing changes are kept; no further steps will run from this plan.","chat.recovery.leftUnconfirmed":"Left as is; {count, plural, one {# step could not be confirmed} other {# steps could not be confirmed}}.","chat.recovery.keptKnown":"Current results kept; no further steps will run from this plan.","chat.recovery.done":"Done","chat.recovery.notDone":"Not done","chat.recovery.unknown":"Could not be confirmed","chat.recovery.stopped":"Stopped. Some changes may already have been made.","chat.recovery.capabilityMissing":"This site does not support this recovery action.","chat.recovery.intentPendingReason":"Wait for this request to be resolved before confirming another action.","chat.recovery.refreshConversation":"Refresh conversation","chat.recovery.hostGuidance":"Contact the site administrator if this problem continues.","chat.recovery.checkIntentStatus":"Check request status","chat.recovery.checkSavedChoice":"Check saved choice","chat.recovery.checkKeepStatus":"Check Keep status","chat.recovery.keepChanges":"Keep these changes","chat.recovery.leave":"Leave as is","chat.recovery.confirmKeepForwardOnly":"Keep the current results and close this plan? Remaining planned steps will not run. This plan has no Undo choice to end, and site values will not change.","chat.recovery.confirmEndRetention":"Keep the current results and close this plan's retained record? No planned steps or Undo choices remain. Site values will not change.","chat.recovery.keepReasonActive":"A confirmed action is still in progress or paused. Review that action first.","chat.recovery.keepReasonUnknown":"Some results could not be confirmed. Check their status first.","chat.recovery.keepReasonUnavailable":"This action is unavailable in the current account or conversation. Review the available status or contact the host.","chat.recovery.keepReasonChanged":"The reviewed results changed. Read the current results before choosing again.","chat.recovery.keepReasonPreview":"A different review is open. Resolve that review before choosing again.","chat.recovery.keepReasonNoSource":'There is no current result that can be closed with "Keep these changes".',"chat.recovery.alreadyKept":"The current results are already kept.","chat.recovery.stopNotSent":"Stop was not sent. A step already sent may still finish.","chat.recovery.stopNotSentElsewhere":"Stop was not sent. The plan may still be running in another window or device.","chat.recovery.stopUnconfirmed":"Stop could not be confirmed. Reconnect to check the steps.","chat.recovery.cancelNotSent":"Cancellation was not sent. Check the current status before choosing again.","chat.recovery.cancelUnconfirmed":"Cancellation could not be confirmed. Check the request status.","chat.recovery.reviewCancelNotSent":"Review cancellation was not sent. Check the current status before choosing again.","chat.recovery.reviewCancelUnconfirmed":"Review cancellation could not be confirmed. Check the request status.","chat.recovery.leaveNotSent":"Your choice was not saved. Check the current status before choosing again.","chat.recovery.leaveUnconfirmed":"Your choice could not be confirmed. Check the request status.","chat.recovery.keepNotSent":'Your "Keep these changes" choice could not be sent. Check any earlier pending choice before trying again.',"chat.recovery.keepUnconfirmed":'We could not confirm whether "Keep these changes" was saved. Check its status before choosing again.',"chat.recovery.requestAlreadyStopped":"The run you asked to stop was stopped.","chat.recovery.requestTargetStopped":"The targeted run is stopped.","chat.recovery.requestedIntentApplied":"Your earlier request was applied to its original target.","chat.recovery.requestedIntentNotApplied":"Your earlier request was not applied to its original target.","chat.recovery.intentSuperseded":"A newer independent decision is now current. This request cannot change it.","chat.recovery.intentTargetChanged":"A newer run or decision is current. This request did not change it.","chat.recovery.alreadyClosedByWinner":"This plan was already stopped or closed. Your request changed nothing.","chat.recovery.alreadyStoppedNeedsDecision":"This plan was already stopped. A decision about the recorded changes is still needed.","chat.recovery.cancelStarted":"This plan had already started. Further steps were stopped; some changes may have been made.","chat.recovery.stoppedNoChanges":"Stopped before execution. Nothing was changed.","chat.recovery.initialTargetSettled":"The original action had already finished. Its results are kept; no changes were undone.","chat.recovery.initialTargetStopped":"The original action is already stopped. Its step results are kept; no changes were undone.","chat.recovery.reviewTargetSettled":"This review had already been confirmed and finished. Its recorded results are kept.","chat.recovery.reviewTargetStopped":"This review had already been confirmed. Its execution is stopped; the recorded step results are kept.","chat.recovery.planClosedKept":'Your "Keep these changes" choice was saved and this plan was closed. Site values were not changed.',"chat.recovery.keptForwardClosed":"The remaining planned steps will not run.","chat.recovery.keptAlready":"These changes were already kept for this plan; this request did not change them.","chat.recovery.leaveCompletedByKeep":'Your choice to leave the current results was saved; "Keep these changes" then closed the remaining choice.',"chat.recovery.leaveCoveredByKeep":'Your choice to leave the current results is covered by "Keep these changes".',"chat.recovery.leaveNeedsReview":"Your choice to leave was not saved because the results changed. Review the updated step results.","chat.recovery.leaveSafetyNeedsReview":"The run and any remaining scheduled actions were stopped. Your choice to leave was not saved because results changed. Review the updated steps.","chat.recovery.laterReceiptAfterKeep":`A step's status was confirmed after "Keep these changes" was saved. Review the updated results.`,"chat.recovery.undoSelected":"Undo selected steps","chat.recovery.continue":"Continue","chat.recovery.statusProposal":"Proposed plan","chat.recovery.statusCompleted":"Completed","chat.recovery.stepsNotKnownYet":"Step results are not known yet.","chat.recovery.stepsUnknown":"{count, plural, one {# step could not be confirmed} other {# steps could not be confirmed}}. Check its status before choosing what to do.","chat.recovery.stepsNotDone":"{count, plural, one {# step was not done} other {# steps were not done}}. Review the results.","chat.recovery.laterReportAfterKeep":'After "Keep these changes" was saved, a step was reported differently. The saved results have not changed; review the newer report below.',"chat.recovery.reportedDifferently":"Reported differently later","chat.recovery.notAvailableYet":"This action is not available in this version of the app. You can leave the changes as they are, or ask for a new plan.","chat.recovery.actionLoading":"Getting this action ready\u2026","chat.recovery.retryAfterSeconds":"{seconds, plural, one {You can try again in # second.} other {You can try again in # seconds.}}","chat.recovery.keepPending":'Saving "Keep these changes"\u2026',"chat.recovery.keepRemainingSteps":"{count, plural, one {# planned step will not run.} other {# planned steps will not run.}}","chat.recovery.signInRequired":"Sign in again, then try this request again.","chat.recovery.requestRefused":"The site refused this request. Contact the site administrator if this continues.","chat.recovery.acknowledgmentAhead":"This choice was based on newer results than the site has. Refresh and choose again.","chat.recovery.cancelCoveredByLeaveSafety":"The plan had already been stopped by a choice to leave, so cancellation was not needed.","chat.recovery.cancelCoveredByStopNoChanges":"The plan had already stopped before it ran. Nothing was changed.","chat.recovery.cancelDefeatedByStop":"The plan had already been stopped, so cancellation was not needed.","chat.recovery.choiceReplacedByStop":"The earlier choice was applied; the plan was then stopped.","chat.recovery.initialTargetClosed":"The original action is already closed. Its results are kept.","chat.recovery.keepDefeatedByWinner":'"Keep these changes" was not saved because another decision was recorded first. Read the current results and choose again.',"chat.recovery.leaveDefeatedByWinner":"The choice to leave changes as they are was not saved because another decision was recorded first.","chat.recovery.leaveNoDecision":"There is no current result to leave as it is.","chat.recovery.leaveSafetyAlreadyStopped":"The plan was already stopped. A decision about the recorded changes is still needed.","chat.recovery.reopenedEvidence":"A newer step status reopened this decision. Review the updated results.","chat.recovery.winnerStopUser":"A stop was requested for this plan.","chat.recovery.winnerStopConnection":"This plan stopped because the connection was lost.","chat.recovery.winnerStopRenewal":"This plan stopped because permission to continue could not be renewed.","chat.recovery.winnerStopStep":"This plan stopped after a step failed.","chat.recovery.winnerStopStepUp":"This plan stopped because the required verification was not completed.","chat.recovery.winnerStopIdentity":"This plan stopped because its execution identity could no longer be verified.","chat.recovery.winnerStopAttribution":"This plan stopped because a step's recorded result could not be confirmed.","chat.recovery.winnerStopChanged":"This plan stopped because its reviewed steps changed.","chat.recovery.winnerStopAdapter":"This plan stopped because required execution details could not be received.","chat.recovery.winnerCancel":"Cancelling this plan was requested.","chat.recovery.winnerLeave":"A choice to leave the changes as they are was recorded.","chat.recovery.winnerKeep":'"Keep these changes" was recorded for this plan.',"chat.recovery.stepStatusChanged":"Step status updated.","chat.recovery.stepNotKnownYet":"Not known yet"},se={"chat.recovery.heading":"\u68C0\u67E5\u8BA1\u5212\u72B6\u6001","chat.recovery.updateToControl":"\u8BF7\u66F4\u65B0\u5E94\u7528\u540E\u518D\u64CD\u4F5C\u6B64\u8BA1\u5212\u3002\u6B64\u5904\u4ECD\u663E\u793A\u5DF2\u8BB0\u5F55\u7684\u72B6\u6001\u3002","chat.recovery.stopping":"\u6B63\u5728\u505C\u6B62\u540E\u7EED\u6B65\u9AA4\u2026","chat.recovery.cancelling":"\u6B63\u5728\u53D6\u6D88\u2026","chat.recovery.leavePending":"\u6B63\u5728\u4FDD\u5B58\u4FDD\u6301\u73B0\u72B6\u7684\u9009\u62E9\u2026","chat.recovery.currentRunning":"\u6B64\u8BA1\u5212\u76EE\u524D\u6B63\u5728\u6267\u884C\u3002\u8BF7\u5148\u505C\u6B62\u6267\u884C\uFF0C\u518D\u5BA1\u9605\u5176\u4ED6\u64CD\u4F5C\u3002","chat.recovery.currentStopped":"\u6B64\u8BA1\u5212\u5DF2\u505C\u6B62\u3002\u5DF2\u8BB0\u5F55\u7684\u7ED3\u679C\u53EF\u80FD\u5305\u542B\u5DF2\u7ECF\u751F\u6548\u7684\u4FEE\u6539\u3002","chat.recovery.cancelledNoChanges":"\u5DF2\u53D6\u6D88\uFF0C\u672A\u505A\u4EFB\u4F55\u4FEE\u6539\u3002","chat.recovery.leftKnown":"\u5DF2\u4FDD\u6301\u73B0\u72B6\u3002\u73B0\u6709\u4FEE\u6539\u5C06\u4E88\u4EE5\u4FDD\u7559\uFF1B\u6B64\u8BA1\u5212\u4E0D\u4F1A\u518D\u6267\u884C\u540E\u7EED\u6B65\u9AA4\u3002","chat.recovery.leftUnconfirmed":"\u5DF2\u4FDD\u6301\u73B0\u72B6\uFF1B\u6709 {count} \u4E2A\u6B65\u9AA4\u7684\u72B6\u6001\u65E0\u6CD5\u786E\u8BA4\u3002","chat.recovery.keptKnown":"\u5DF2\u4FDD\u7559\u5F53\u524D\u7ED3\u679C\uFF1B\u6B64\u8BA1\u5212\u4E0D\u4F1A\u518D\u6267\u884C\u540E\u7EED\u6B65\u9AA4\u3002","chat.recovery.done":"\u5DF2\u5B8C\u6210","chat.recovery.notDone":"\u672A\u5B8C\u6210","chat.recovery.unknown":"\u65E0\u6CD5\u786E\u8BA4","chat.recovery.stopped":"\u5DF2\u505C\u6B62\u3002\u90E8\u5206\u4FEE\u6539\u53EF\u80FD\u5DF2\u7ECF\u751F\u6548\u3002","chat.recovery.capabilityMissing":"\u6B64\u7AD9\u70B9\u4E0D\u652F\u6301\u6B64\u6062\u590D\u64CD\u4F5C\u3002","chat.recovery.intentPendingReason":"\u8BF7\u7B49\u5F85\u6B64\u8BF7\u6C42\u5904\u7406\u5B8C\u6210\u540E\uFF0C\u518D\u786E\u8BA4\u5176\u4ED6\u64CD\u4F5C\u3002","chat.recovery.refreshConversation":"\u5237\u65B0\u5BF9\u8BDD","chat.recovery.hostGuidance":"\u5982\u679C\u6B64\u95EE\u9898\u6301\u7EED\u51FA\u73B0\uFF0C\u8BF7\u8054\u7CFB\u7AD9\u70B9\u7BA1\u7406\u5458\u3002","chat.recovery.checkIntentStatus":"\u68C0\u67E5\u8BF7\u6C42\u72B6\u6001","chat.recovery.checkSavedChoice":"\u68C0\u67E5\u9009\u62E9\u662F\u5426\u5DF2\u4FDD\u5B58","chat.recovery.checkKeepStatus":"\u68C0\u67E5\u4FDD\u7559\u51B3\u5B9A\u72B6\u6001","chat.recovery.keepChanges":"\u4FDD\u7559\u8FD9\u4E9B\u4FEE\u6539","chat.recovery.leave":"\u4FDD\u6301\u73B0\u72B6","chat.recovery.confirmKeepForwardOnly":"\u662F\u5426\u4FDD\u7559\u5F53\u524D\u7ED3\u679C\u5E76\u5173\u95ED\u6B64\u8BA1\u5212\uFF1F\u5269\u4F59\u8BA1\u5212\u6B65\u9AA4\u5C06\u4E0D\u518D\u6267\u884C\u3002\u6B64\u8BA1\u5212\u6CA1\u6709\u53EF\u7ED3\u675F\u7684\u64A4\u9500\u9009\u9879\uFF0C\u7AD9\u70B9\u4E2D\u7684\u503C\u4E5F\u4E0D\u4F1A\u66F4\u6539\u3002","chat.recovery.confirmEndRetention":"\u662F\u5426\u4FDD\u7559\u5F53\u524D\u7ED3\u679C\u5E76\u7ED3\u675F\u6B64\u8BA1\u5212\u8BB0\u5F55\u7684\u4FDD\u7559\uFF1F\u6CA1\u6709\u5269\u4F59\u8BA1\u5212\u6B65\u9AA4\u6216\u64A4\u9500\u9009\u9879\u3002\u7AD9\u70B9\u4E2D\u7684\u503C\u4E0D\u4F1A\u66F4\u6539\u3002","chat.recovery.keepReasonActive":"\u5DF2\u786E\u8BA4\u7684\u52A8\u4F5C\u4ECD\u5728\u6267\u884C\u6216\u6682\u505C\u4E2D\u3002\u8BF7\u5148\u67E5\u770B\u8BE5\u52A8\u4F5C\u3002","chat.recovery.keepReasonUnknown":"\u90E8\u5206\u7ED3\u679C\u65E0\u6CD5\u786E\u8BA4\u3002\u8BF7\u5148\u68C0\u67E5\u5176\u72B6\u6001\u3002","chat.recovery.keepReasonUnavailable":"\u6B64\u64CD\u4F5C\u5728\u5F53\u524D\u8D26\u6237\u6216\u5BF9\u8BDD\u4E2D\u4E0D\u53EF\u7528\u3002\u8BF7\u67E5\u770B\u53EF\u8BBF\u95EE\u7684\u72B6\u6001\u6216\u8054\u7CFB\u670D\u52A1\u63D0\u4F9B\u65B9\u3002","chat.recovery.keepReasonChanged":"\u5148\u524D\u5BA1\u9605\u7684\u7ED3\u679C\u5DF2\u53D8\u66F4\u3002\u8BF7\u5148\u67E5\u770B\u5F53\u524D\u7ED3\u679C\uFF0C\u518D\u4F5C\u9009\u62E9\u3002","chat.recovery.keepReasonPreview":"\u53E6\u4E00\u4E2A\u5BA1\u9605\u4ECD\u5904\u4E8E\u6253\u5F00\u72B6\u6001\u3002\u8BF7\u5148\u5904\u7406\u8BE5\u5BA1\u9605\uFF0C\u518D\u4F5C\u9009\u62E9\u3002","chat.recovery.keepReasonNoSource":"\u5F53\u524D\u6CA1\u6709\u53EF\u901A\u8FC7\u201C\u4FDD\u7559\u8FD9\u4E9B\u4FEE\u6539\u201D\u51B3\u5B9A\u5173\u95ED\u7684\u7ED3\u679C\u3002","chat.recovery.alreadyKept":"\u5F53\u524D\u7ED3\u679C\u5DF2\u4FDD\u7559\u3002","chat.recovery.stopNotSent":"\u505C\u6B62\u8BF7\u6C42\u672A\u80FD\u53D1\u9001\u3002\u5DF2\u53D1\u9001\u7684\u6B65\u9AA4\u4ECD\u53EF\u80FD\u5B8C\u6210\u3002","chat.recovery.stopNotSentElsewhere":"\u505C\u6B62\u8BF7\u6C42\u672A\u80FD\u53D1\u9001\u3002\u6B64\u8BA1\u5212\u53EF\u80FD\u4ECD\u5728\u53E6\u4E00\u4E2A\u7A97\u53E3\u6216\u8BBE\u5907\u4E2D\u6267\u884C\u3002","chat.recovery.stopUnconfirmed":"\u65E0\u6CD5\u786E\u8BA4\u662F\u5426\u5DF2\u505C\u6B62\u3002\u8BF7\u91CD\u65B0\u8FDE\u63A5\u540E\u68C0\u67E5\u5404\u6B65\u9AA4\u3002","chat.recovery.cancelNotSent":"\u53D6\u6D88\u8BF7\u6C42\u672A\u80FD\u53D1\u9001\u3002\u8BF7\u5148\u68C0\u67E5\u5F53\u524D\u72B6\u6001\uFF0C\u518D\u91CD\u65B0\u9009\u62E9\u3002","chat.recovery.cancelUnconfirmed":"\u65E0\u6CD5\u786E\u8BA4\u662F\u5426\u5DF2\u53D6\u6D88\u3002\u8BF7\u68C0\u67E5\u8BF7\u6C42\u72B6\u6001\u3002","chat.recovery.reviewCancelNotSent":"\u53D6\u6D88\u5BA1\u9605\u7684\u8BF7\u6C42\u672A\u80FD\u53D1\u9001\u3002\u8BF7\u5148\u68C0\u67E5\u5F53\u524D\u72B6\u6001\uFF0C\u518D\u91CD\u65B0\u9009\u62E9\u3002","chat.recovery.reviewCancelUnconfirmed":"\u65E0\u6CD5\u786E\u8BA4\u662F\u5426\u5DF2\u53D6\u6D88\u5BA1\u9605\u3002\u8BF7\u68C0\u67E5\u8BF7\u6C42\u72B6\u6001\u3002","chat.recovery.leaveNotSent":"\u60A8\u7684\u9009\u62E9\u672A\u80FD\u4FDD\u5B58\u3002\u8BF7\u5148\u68C0\u67E5\u5F53\u524D\u72B6\u6001\uFF0C\u518D\u91CD\u65B0\u9009\u62E9\u3002","chat.recovery.leaveUnconfirmed":"\u65E0\u6CD5\u786E\u8BA4\u60A8\u7684\u9009\u62E9\u662F\u5426\u5DF2\u4FDD\u5B58\u3002\u8BF7\u68C0\u67E5\u8BF7\u6C42\u72B6\u6001\u3002","chat.recovery.keepNotSent":"\u60A8\u7684\u201C\u4FDD\u7559\u8FD9\u4E9B\u4FEE\u6539\u201D\u9009\u62E9\u672A\u80FD\u53D1\u9001\u3002\u8BF7\u5148\u68C0\u67E5\u6B64\u524D\u5F85\u786E\u8BA4\u7684\u9009\u62E9\uFF0C\u518D\u91CD\u8BD5\u3002","chat.recovery.keepUnconfirmed":"\u65E0\u6CD5\u786E\u8BA4\u662F\u5426\u5DF2\u4FDD\u5B58\u201C\u4FDD\u7559\u8FD9\u4E9B\u4FEE\u6539\u201D\u3002\u8BF7\u5148\u68C0\u67E5\u72B6\u6001\uFF0C\u518D\u4F5C\u9009\u62E9\u3002","chat.recovery.requestAlreadyStopped":"\u60A8\u8981\u6C42\u505C\u6B62\u7684\u5BF9\u5E94\u6267\u884C\u5DF2\u505C\u6B62\u3002","chat.recovery.requestTargetStopped":"\u5BF9\u5E94\u6267\u884C\u5DF2\u505C\u6B62\u3002","chat.recovery.requestedIntentApplied":"\u60A8\u7684\u5148\u524D\u8BF7\u6C42\u5DF2\u5BF9\u539F\u5B9A\u76EE\u6807\u751F\u6548\u3002","chat.recovery.requestedIntentNotApplied":"\u60A8\u7684\u5148\u524D\u8BF7\u6C42\u672A\u5BF9\u539F\u5B9A\u76EE\u6807\u751F\u6548\u3002","chat.recovery.intentSuperseded":"\u5F53\u524D\u5DF2\u6709\u65B0\u7684\u72EC\u7ACB\u51B3\u5B9A\u3002\u6B64\u8BF7\u6C42\u4E0D\u80FD\u66F4\u6539\u8BE5\u51B3\u5B9A\u3002","chat.recovery.intentTargetChanged":"\u5F53\u524D\u5DF2\u6709\u65B0\u7684\u6267\u884C\u6216\u51B3\u5B9A\u3002\u6B64\u8BF7\u6C42\u672A\u6539\u53D8\u8BE5\u72B6\u6001\u3002","chat.recovery.alreadyClosedByWinner":"\u6B64\u8BA1\u5212\u5DF2\u7ECF\u505C\u6B62\u6216\u5173\u95ED\u3002\u60A8\u7684\u8BF7\u6C42\u672A\u6539\u53D8\u5F53\u524D\u72B6\u6001\u3002","chat.recovery.alreadyStoppedNeedsDecision":"\u6B64\u8BA1\u5212\u5DF2\u7ECF\u505C\u6B62\u3002\u4ECD\u9700\u5BF9\u5DF2\u8BB0\u5F55\u7684\u4FEE\u6539\u4F5C\u51FA\u51B3\u5B9A\u3002","chat.recovery.cancelStarted":"\u6B64\u8BA1\u5212\u5DF2\u7ECF\u5F00\u59CB\u6267\u884C\u3002\u540E\u7EED\u6B65\u9AA4\u5DF2\u505C\u6B62\uFF1B\u90E8\u5206\u4FEE\u6539\u53EF\u80FD\u5DF2\u7ECF\u751F\u6548\u3002","chat.recovery.stoppedNoChanges":"\u5DF2\u5728\u6267\u884C\u524D\u505C\u6B62\u3002\u672A\u505A\u4EFB\u4F55\u4FEE\u6539\u3002","chat.recovery.initialTargetSettled":"\u539F\u64CD\u4F5C\u5DF2\u5B8C\u6210\u3002\u5176\u7ED3\u679C\u5C06\u4E88\u4EE5\u4FDD\u7559\uFF1B\u672A\u64A4\u9500\u4EFB\u4F55\u4FEE\u6539\u3002","chat.recovery.initialTargetStopped":"\u539F\u64CD\u4F5C\u5DF2\u505C\u6B62\u3002\u5404\u6B65\u9AA4\u7684\u7ED3\u679C\u5C06\u4E88\u4EE5\u4FDD\u7559\uFF1B\u672A\u64A4\u9500\u4EFB\u4F55\u4FEE\u6539\u3002","chat.recovery.reviewTargetSettled":"\u6B64\u6B21\u5BA1\u9605\u5DF2\u786E\u8BA4\u5E76\u6267\u884C\u7ED3\u675F\u3002\u5DF2\u8BB0\u5F55\u7684\u7ED3\u679C\u5C06\u4E88\u4EE5\u4FDD\u7559\u3002","chat.recovery.reviewTargetStopped":"\u6B64\u6B21\u5BA1\u9605\u5DF2\u786E\u8BA4\u3002\u5BF9\u5E94\u6267\u884C\u5DF2\u505C\u6B62\uFF1B\u5DF2\u8BB0\u5F55\u7684\u5404\u6B65\u9AA4\u7ED3\u679C\u5C06\u4E88\u4EE5\u4FDD\u7559\u3002","chat.recovery.planClosedKept":"\u60A8\u7684\u201C\u4FDD\u7559\u8FD9\u4E9B\u4FEE\u6539\u201D\u9009\u62E9\u5DF2\u4FDD\u5B58\uFF0C\u8BA1\u5212\u5DF2\u5173\u95ED\u3002\u7AD9\u70B9\u4E2D\u7684\u503C\u672A\u88AB\u66F4\u6539\u3002","chat.recovery.keptForwardClosed":"\u5269\u4F59\u8BA1\u5212\u6B65\u9AA4\u5C06\u4E0D\u518D\u6267\u884C\u3002","chat.recovery.keptAlready":"\u6B64\u8BA1\u5212\u7684\u4FEE\u6539\u6B64\u524D\u5DF2\u88AB\u4FDD\u7559\uFF1B\u672C\u6B21\u8BF7\u6C42\u672A\u4F5C\u66F4\u6539\u3002","chat.recovery.leaveCompletedByKeep":"\u60A8\u4FDD\u6301\u5F53\u524D\u7ED3\u679C\u7684\u9009\u62E9\u5DF2\u4FDD\u5B58\uFF1B\u968F\u540E\u201C\u4FDD\u7559\u8FD9\u4E9B\u4FEE\u6539\u201D\u51B3\u5B9A\u7ED3\u675F\u4E86\u5269\u4F59\u9009\u9879\u3002","chat.recovery.leaveCoveredByKeep":"\u60A8\u4FDD\u6301\u5F53\u524D\u7ED3\u679C\u7684\u9009\u62E9\u5DF2\u5305\u542B\u5728\u201C\u4FDD\u7559\u8FD9\u4E9B\u4FEE\u6539\u201D\u51B3\u5B9A\u4E2D\u3002","chat.recovery.leaveNeedsReview":"\u7531\u4E8E\u7ED3\u679C\u5DF2\u53D8\u66F4\uFF0C\u4FDD\u6301\u73B0\u72B6\u7684\u9009\u62E9\u672A\u80FD\u4FDD\u5B58\u3002\u8BF7\u67E5\u770B\u66F4\u65B0\u540E\u7684\u5404\u6B65\u9AA4\u7ED3\u679C\u3002","chat.recovery.leaveSafetyNeedsReview":"\u5F53\u524D\u6267\u884C\u53CA\u5269\u4F59\u5B9A\u65F6\u52A8\u4F5C\uFF08\u5982\u6709\uFF09\u5DF2\u505C\u6B62\u3002\u7531\u4E8E\u7ED3\u679C\u5DF2\u53D8\u66F4\uFF0C\u4FDD\u6301\u73B0\u72B6\u7684\u9009\u62E9\u672A\u80FD\u4FDD\u5B58\u3002\u8BF7\u67E5\u770B\u66F4\u65B0\u540E\u7684\u5404\u6B65\u9AA4\u3002","chat.recovery.laterReceiptAfterKeep":"\u4FDD\u5B58\u201C\u4FDD\u7559\u8FD9\u4E9B\u4FEE\u6539\u201D\u51B3\u5B9A\u540E\uFF0C\u4E00\u4E2A\u6B65\u9AA4\u7684\u72B6\u6001\u5F97\u5230\u4E86\u786E\u8BA4\u3002\u8BF7\u67E5\u770B\u66F4\u65B0\u540E\u7684\u7ED3\u679C\u3002","chat.recovery.undoSelected":"\u64A4\u9500\u6240\u9009\u6B65\u9AA4","chat.recovery.continue":"\u7EE7\u7EED","chat.recovery.statusProposal":"\u62DF\u8BAE\u8BA1\u5212","chat.recovery.statusCompleted":"\u5DF2\u5B8C\u6210","chat.recovery.stepsNotKnownYet":"\u5404\u6B65\u9AA4\u7684\u7ED3\u679C\u6682\u672A\u83B7\u77E5\u3002","chat.recovery.stepsUnknown":"\u6709 {count} \u4E2A\u6B65\u9AA4\u7684\u72B6\u6001\u65E0\u6CD5\u786E\u8BA4\u3002\u8BF7\u5148\u68C0\u67E5\u72B6\u6001\uFF0C\u518D\u51B3\u5B9A\u4E0B\u4E00\u6B65\u3002","chat.recovery.stepsNotDone":"\u6709 {count} \u4E2A\u6B65\u9AA4\u672A\u5B8C\u6210\u3002\u8BF7\u67E5\u770B\u7ED3\u679C\u3002","chat.recovery.laterReportAfterKeep":"\u4FDD\u5B58\u201C\u4FDD\u7559\u8FD9\u4E9B\u4FEE\u6539\u201D\u540E\uFF0C\u6709\u6B65\u9AA4\u51FA\u73B0\u4E86\u4E0D\u540C\u7684\u72B6\u6001\u62A5\u544A\u3002\u5DF2\u4FDD\u5B58\u7684\u7ED3\u679C\u6CA1\u6709\u6539\u53D8\uFF1B\u8BF7\u67E5\u770B\u4E0B\u65B9\u7684\u65B0\u62A5\u544A\u3002","chat.recovery.reportedDifferently":"\u4E4B\u540E\u7684\u62A5\u544A\u4E0E\u6B64\u4E0D\u540C","chat.recovery.notAvailableYet":"\u6B64\u7248\u672C\u7684\u5E94\u7528\u6682\u4E0D\u652F\u6301\u6B64\u64CD\u4F5C\u3002\u60A8\u53EF\u4EE5\u4FDD\u6301\u73B0\u72B6\uFF0C\u6216\u63D0\u51FA\u65B0\u8BA1\u5212\u3002","chat.recovery.actionLoading":"\u6B63\u5728\u51C6\u5907\u6B64\u64CD\u4F5C\u2026","chat.recovery.retryAfterSeconds":"{seconds} \u79D2\u540E\u53EF\u4EE5\u91CD\u8BD5\u3002","chat.recovery.keepPending":"\u6B63\u5728\u4FDD\u5B58\u201C\u4FDD\u7559\u8FD9\u4E9B\u4FEE\u6539\u201D\u2026","chat.recovery.keepRemainingSteps":"\u5C06\u6709 {count} \u4E2A\u8BA1\u5212\u6B65\u9AA4\u4E0D\u518D\u6267\u884C\u3002","chat.recovery.signInRequired":"\u8BF7\u91CD\u65B0\u767B\u5F55\uFF0C\u7136\u540E\u518D\u8BD5\u4E00\u6B21\u6B64\u8BF7\u6C42\u3002","chat.recovery.requestRefused":"\u7AD9\u70B9\u62D2\u7EDD\u4E86\u6B64\u8BF7\u6C42\u3002\u5982\u679C\u6B64\u95EE\u9898\u6301\u7EED\u51FA\u73B0\uFF0C\u8BF7\u8054\u7CFB\u7AD9\u70B9\u7BA1\u7406\u5458\u3002","chat.recovery.acknowledgmentAhead":"\u6B64\u9009\u62E9\u6240\u4F9D\u636E\u7684\u7ED3\u679C\u6BD4\u7AD9\u70B9\u8BB0\u5F55\u7684\u66F4\u65B0\u3002\u8BF7\u5237\u65B0\u540E\u91CD\u65B0\u9009\u62E9\u3002","chat.recovery.cancelCoveredByLeaveSafety":"\u6B64\u8BA1\u5212\u5DF2\u56E0\u4FDD\u6301\u73B0\u72B6\u7684\u9009\u62E9\u800C\u505C\u6B62\uFF0C\u65E0\u9700\u518D\u53D6\u6D88\u3002","chat.recovery.cancelCoveredByStopNoChanges":"\u6B64\u8BA1\u5212\u5DF2\u5728\u6267\u884C\u524D\u505C\u6B62\uFF0C\u672A\u505A\u4EFB\u4F55\u4FEE\u6539\u3002","chat.recovery.cancelDefeatedByStop":"\u6B64\u8BA1\u5212\u5DF2\u7ECF\u505C\u6B62\uFF0C\u65E0\u9700\u518D\u53D6\u6D88\u3002","chat.recovery.choiceReplacedByStop":"\u5148\u524D\u7684\u9009\u62E9\u5DF2\u751F\u6548\uFF0C\u968F\u540E\u8BA1\u5212\u5DF2\u505C\u6B62\u3002","chat.recovery.initialTargetClosed":"\u539F\u64CD\u4F5C\u5DF2\u5173\u95ED\uFF0C\u5176\u7ED3\u679C\u5C06\u4E88\u4EE5\u4FDD\u7559\u3002","chat.recovery.keepDefeatedByWinner":"\u7531\u4E8E\u5DF2\u5148\u8BB0\u5F55\u4E86\u5176\u4ED6\u51B3\u5B9A\uFF0C\u201C\u4FDD\u7559\u8FD9\u4E9B\u4FEE\u6539\u201D\u672A\u80FD\u4FDD\u5B58\u3002\u8BF7\u67E5\u770B\u5F53\u524D\u7ED3\u679C\uFF0C\u518D\u4F5C\u9009\u62E9\u3002","chat.recovery.leaveDefeatedByWinner":"\u7531\u4E8E\u5DF2\u5148\u8BB0\u5F55\u4E86\u5176\u4ED6\u51B3\u5B9A\uFF0C\u4FDD\u6301\u73B0\u72B6\u7684\u9009\u62E9\u672A\u80FD\u4FDD\u5B58\u3002","chat.recovery.leaveNoDecision":"\u5F53\u524D\u6CA1\u6709\u53EF\u4EE5\u4FDD\u6301\u73B0\u72B6\u7684\u7ED3\u679C\u3002","chat.recovery.leaveSafetyAlreadyStopped":"\u6B64\u8BA1\u5212\u5DF2\u7ECF\u505C\u6B62\u3002\u4ECD\u9700\u5BF9\u5DF2\u8BB0\u5F55\u7684\u4FEE\u6539\u4F5C\u51FA\u51B3\u5B9A\u3002","chat.recovery.reopenedEvidence":"\u6709\u6B65\u9AA4\u7684\u65B0\u72B6\u6001\u4F7F\u6B64\u51B3\u5B9A\u91CD\u65B0\u6253\u5F00\u3002\u8BF7\u67E5\u770B\u66F4\u65B0\u540E\u7684\u7ED3\u679C\u3002","chat.recovery.winnerStopUser":"\u5DF2\u6709\u4EBA\u8981\u6C42\u505C\u6B62\u6B64\u8BA1\u5212\u3002","chat.recovery.winnerStopConnection":"\u6B64\u8BA1\u5212\u56E0\u8FDE\u63A5\u4E2D\u65AD\u800C\u505C\u6B62\u3002","chat.recovery.winnerStopRenewal":"\u6B64\u8BA1\u5212\u56E0\u65E0\u6CD5\u7EED\u671F\u6267\u884C\u6743\u9650\u800C\u505C\u6B62\u3002","chat.recovery.winnerStopStep":"\u6B64\u8BA1\u5212\u5728\u4E00\u4E2A\u6B65\u9AA4\u5931\u8D25\u540E\u505C\u6B62\u3002","chat.recovery.winnerStopStepUp":"\u6B64\u8BA1\u5212\u56E0\u672A\u5B8C\u6210\u6240\u9700\u9A8C\u8BC1\u800C\u505C\u6B62\u3002","chat.recovery.winnerStopIdentity":"\u6B64\u8BA1\u5212\u56E0\u65E0\u6CD5\u7EE7\u7EED\u9A8C\u8BC1\u6267\u884C\u8EAB\u4EFD\u800C\u505C\u6B62\u3002","chat.recovery.winnerStopAttribution":"\u6B64\u8BA1\u5212\u56E0\u65E0\u6CD5\u786E\u8BA4\u4E00\u4E2A\u6B65\u9AA4\u7684\u8BB0\u5F55\u7ED3\u679C\u800C\u505C\u6B62\u3002","chat.recovery.winnerStopChanged":"\u6B64\u8BA1\u5212\u56E0\u5DF2\u5BA1\u9605\u7684\u6B65\u9AA4\u53D1\u751F\u53D8\u66F4\u800C\u505C\u6B62\u3002","chat.recovery.winnerStopAdapter":"\u6B64\u8BA1\u5212\u56E0\u672A\u80FD\u63A5\u6536\u6240\u9700\u7684\u6267\u884C\u4FE1\u606F\u800C\u505C\u6B62\u3002","chat.recovery.winnerCancel":"\u5DF2\u6709\u4EBA\u8981\u6C42\u53D6\u6D88\u6B64\u8BA1\u5212\u3002","chat.recovery.winnerLeave":"\u5DF2\u8BB0\u5F55\u4FDD\u6301\u73B0\u72B6\u7684\u9009\u62E9\u3002","chat.recovery.winnerKeep":"\u5DF2\u4E3A\u6B64\u8BA1\u5212\u8BB0\u5F55\u201C\u4FDD\u7559\u8FD9\u4E9B\u4FEE\u6539\u201D\u3002","chat.recovery.stepStatusChanged":"\u6B65\u9AA4\u72B6\u6001\u5DF2\u66F4\u65B0\u3002","chat.recovery.stepNotKnownYet":"\u6682\u672A\u83B7\u77E5"};import{Fragment as L,jsx as o,jsxs as R}from"react/jsx-runtime";Y(ce,se);Y(ne,oe);var p=(t,y)=>t(y.key,y.values),ue={stop:["stop"],decline:["cancel-initial","cancel-review"],leave:["leave"],keep:["keep"]},ge={stop:"chat.recovery.stopping","cancel-initial":"chat.recovery.cancelling","cancel-review":"chat.recovery.cancelling",leave:"chat.recovery.leavePending",keep:"chat.recovery.keepPending"},T=t=>t.intent?.status==="sending"?ge[t.intent.kind]:void 0,fe=(t,y)=>[p(y,t.status.label),...T(t)?[y(T(t))]:[],...t.steps.map(i=>`${i.stepId}:${i.truth}`),...t.lines.map(i=>p(y,i)),...t.notice.map(i=>p(y,i))].join(`
2
+ `);function we({view:t,onPress:y,slots:i,sheet:u,hide:ie=[]}){let{format:n,primitives:x,planLabels:he}=ae(),M=x.button,de=x.drawer,le=re("keep-sheet"),pe=Z(!!u,B()?.owner(),()=>u?.onCancel()),q=w(null),K=w(null),h=B(),d=w(void 0),C=w(void 0),W=w(void 0),$=w(void 0),P=w(void 0),O=w(void 0),[N,V]=ve(null),G=ye(),S=t.status,r=t.alert;I(()=>{let e=`${h?.owner()}|${t.planId}`;O.current!==e&&(O.current=e,P.current=void 0);let c=fe(t,n),g=P.current;if(P.current=c,g===c)return;if(g===void 0){let s=T(t);s&&V(b=>({serial:(b?.serial??0)+1,text:n(s)}));return}let l=[],k=new Set(g.split(`
3
+ `));t.steps.some(s=>!k.has(`${s.stepId}:${s.truth}`))&&l.push(n("chat.recovery.stepStatusChanged"));let a=p(n,S.label);k.has(a)||l.push(a);let f=T(t);f&&!k.has(n(f))&&n(f)!==a&&l.push(n(f));for(let s of[...t.lines,...t.notice]){let b=p(n,s);k.has(b)||l.push(b)}l.length&&V(s=>({serial:(s?.serial??0)+1,text:l.join(" ")}))}),I(()=>()=>{v(d.current?.origin),v(C.current?.origin),d.current=void 0,C.current=void 0},[t.planId]);let m=t.intent?.kind;I(()=>{!m&&!r&&(v(d.current?.origin),d.current=void 0)},[m,r]),I(()=>{if(!r)return;let e=K.current?.ownerDocument;if(!e||!h)return;if(r.restoreFocus){if($.current===r.serial)return;$.current=r.serial;let a=C.current;if(C.current=void 0,!a)return;let f=U(e),s=!a.target.isConnected&&(!f||f===e.body)?a.target:null;if(!D(K.current,f)&&!s)return v(a.origin);let b=X(a.previous)&&D(h.root(),a.previous)?a.previous:q.current,J=a.origin.owner;E(h,b,{origin:a.origin,owner:J,stillCurrent:()=>h.owner()===J,removed:s,fallback:q.current});return}if(W.current===r.serial)return;W.current=r.serial;let c=d.current;if(!c||!m||!c.kinds.includes(m))return;d.current=void 0;let g=U(e);if(ee(g))return v(c.origin);let l=K.current?.querySelector(r.action==="checkStatus"?'[data-action="status"]':r.action==="retry"||r.action==="wait"?'[data-action="retry"]':"[data-guidance]"),k=c.origin.owner;l&&E(h,l,{origin:c.origin,owner:k,stillCurrent:()=>h.owner()===k,keep:!0})&&(v(C.current?.origin),C.current={origin:c.origin,target:l,previous:g})},[r,h,m]);let H=e=>{let c=h?.originFor(`intent:${t.planId}:${e}`),g=ue[e]??(m?[m]:[]);v(d.current?.origin),d.current=c?{origin:c,kinds:g}:void 0,y(e)},_=T(t),j=t.actions.filter(e=>!ie.includes(e.id)),z=null;if(r&&!r.restoreFocus){let e=r.action==="signIn"?n("chat.recovery.signInRequired"):r.action==="hostGuidance"?n("chat.recovery.hostGuidance"):null;z=R(L,{children:[r.message?o("span",{children:p(n,r.message)}):null,e?o("span",{tabIndex:-1,"data-guidance":"",children:e}):null,r.action==="retry"||r.action==="wait"?R(L,{children:[o(M,{"data-action":"retry","aria-disabled":r.retryAvailable?void 0:!0,"aria-describedby":r.retryReasonKey?G:void 0,onPress:r.retryAvailable?()=>H("retry"):void 0,children:n("chat.retry")}),r.retryReasonKey?o("span",{id:G,children:n(r.retryReasonKey,r.retryValues)}):null]}):null]})}return o(A,{name:"recoveryPanel",slots:i,data:{view:t},children:R("section",{ref:K,"aria-labelledby":`${t.planId}-recovery`,"data-status":S.dataStatus,"data-wire-state":S.wireState,"data-attention":String(S.attention),"data-tone":S.tone,"data-result":S.result,"data-intent-kind":t.intent?.kind,"data-intent-status":t.intent?.status,children:[o("h3",{id:`${t.planId}-recovery`,ref:q,tabIndex:-1,children:p(n,S.label)}),o("p",{role:"status","aria-live":"polite",children:N?o("span",{"data-announcement":N.serial,children:N.text},N.serial):null}),_?o("p",{"data-intent-line":"",children:n(_)}):null,t.lines.map(e=>o("p",{"data-line":e.key,children:p(n,e)},e.key)),t.steps.length?o("ol",{children:t.steps.map(e=>o(A,{name:"stepStatusRow",slots:i,data:{step:e},children:R("li",{"data-status":e.truth,"data-late":e.lateReport,children:[Q(n,he,e),": ",n(e.textKey),e.lateReport?R(L,{children:[" (",n("chat.recovery.reportedDifferently"),")"]}):null]})},e.stepId))}):null,t.notice.length?o("div",{"data-notice":"",children:t.notice.map(e=>o("p",{children:p(n,e)},e.key))}):null,o("div",{role:"alert",children:z}),o(A,{name:"recoveryActions",slots:i,data:{actions:j},children:j.map(e=>o(F,{action:e,onPress:H},e.id))}),u&&!pe?R(te,{as:de,open:!0,label:n("chat.recovery.keepChanges"),onClose:u.onCancel,closeLabel:n("chat.close"),...le,children:[u.messages.map(e=>o("p",{children:p(n,e)},e.key)),o(F,{action:{id:"keep",labelKey:"chat.recovery.keepChanges",...u.proceed},onPress:()=>{let e=h?.originFor(`intent:${t.planId}:keep`);v(d.current?.origin),d.current=e?{origin:e,kinds:["keep"]}:void 0,u.onProceed()}}),o(M,{onPress:u.onCancel,children:n("chat.cancel")})]}):null]})})}export{we as default};
@@ -0,0 +1 @@
1
+ import{a as g,b as S}from"./chunk-JFMVVGGB.js";import{f as y,j as m,q as f,y as d}from"./chunk-TGL3DR2K.js";import"./chunk-FQSWQLRW.js";import"./chunk-OWT55N6J.js";import{k as h}from"./chunk-RHBDQGD4.js";import"./chunk-RZZDQWC2.js";import"./chunk-M63QOANE.js";import"./chunk-L4PFFRDE.js";import"./chunk-T5XF2R74.js";import"./chunk-K73VV7KA.js";import"./chunk-5TBO732O.js";import{useContext as R,useId as v,useState as C}from"react";import{Fragment as b,jsx as e,jsxs as u}from"react/jsx-runtime";f(g,S);var T={running:"chat.tool.running",done:"chat.tool.done",failed:"chat.tool.failed"};function k({steps:o}){let{format:l,primitives:i}=d(),c=i.button,[n,s]=C(!1),a=`wp${v().replace(/[^\w-]/g,"")}-steps`,r=t=>t.label??l("chat.tool.working"),p=o.at(-1);return u("div",{"data-tool-steps":"","data-status":p.status,children:[n?null:e("p",{children:r(p)}),o.length>1?e(c,{"aria-expanded":n,"aria-controls":a,onPress:()=>s(!n),children:l(n?"chat.tool.hide":"chat.tool.show",{count:o.length})}):null,n?e("ol",{id:a,children:o.map(t=>u("li",{"data-status":t.status,children:[e("span",{children:r(t)}),e("span",{children:l(T[t.status])})]},t.id))}):null]})}function E({client:o,row:l}){let{format:i,primitives:c}=d(),n=c.button,s=R(y),a=o.getSnapshot().toolSteps,{actions:r}=h(l,{canStop:o.canStopReply(),canRetry:o.canRetryReply()}),p=t=>()=>{let w=s?.originFor("reply-wait");t(),m(s,s?.composer(),{origin:w,owner:s?.owner()??""})};return u(b,{children:[a.length?e(k,{steps:a}):null,r.length?e("div",{"data-reply-controls":"",children:r.map(t=>e(n,{onPress:t.id==="stop"?()=>{o.stopReply()}:p(()=>t.id==="retry"?o.retryReply():o.keepWaiting()),children:i(t.labelKey)},t.id))}):null]})}export{E as ReplyControls};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkD2EGPBCXcjs = require('./chunk-D2EGPBCX.cjs');var _chunkUYR3UEIWcjs = require('./chunk-UYR3UEIW.cjs');require('./chunk-FBADWFRR.cjs');require('./chunk-QS3MKZOY.cjs');var _chunkM3UENQ6Lcjs = require('./chunk-M3UENQ6L.cjs');require('./chunk-4BWV3SEL.cjs');require('./chunk-GT6PI4CT.cjs');require('./chunk-3KV7TDDR.cjs');require('./chunk-Q7BULGQG.cjs');require('./chunk-XSHOLIC7.cjs');require('./chunk-II26UWZM.cjs');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');_chunkUYR3UEIWcjs.q.call(void 0, _chunkD2EGPBCXcjs.a,_chunkD2EGPBCXcjs.b);var T={running:"chat.tool.running",done:"chat.tool.done",failed:"chat.tool.failed"};function k({steps:o}){let{format:l,primitives:i}=_chunkUYR3UEIWcjs.y.call(void 0, ),c=i.button,[n,s]=_react.useState.call(void 0, !1),a=`wp${_react.useId.call(void 0, ).replace(/[^\w-]/g,"")}-steps`,r=t=>_nullishCoalesce(t.label, () => (l("chat.tool.working"))),p=o.at(-1);return _jsxruntime.jsxs.call(void 0, "div",{"data-tool-steps":"","data-status":p.status,children:[n?null:_jsxruntime.jsx.call(void 0, "p",{children:r(p)}),o.length>1?_jsxruntime.jsx.call(void 0, c,{"aria-expanded":n,"aria-controls":a,onPress:()=>s(!n),children:l(n?"chat.tool.hide":"chat.tool.show",{count:o.length})}):null,n?_jsxruntime.jsx.call(void 0, "ol",{id:a,children:o.map(t=>_jsxruntime.jsxs.call(void 0, "li",{"data-status":t.status,children:[_jsxruntime.jsx.call(void 0, "span",{children:r(t)}),_jsxruntime.jsx.call(void 0, "span",{children:l(T[t.status])})]},t.id))}):null]})}function E({client:o,row:l}){let{format:i,primitives:c}=_chunkUYR3UEIWcjs.y.call(void 0, ),n=c.button,s=_react.useContext.call(void 0, _chunkUYR3UEIWcjs.f),a=o.getSnapshot().toolSteps,{actions:r}=_chunkM3UENQ6Lcjs.k.call(void 0, l,{canStop:o.canStopReply(),canRetry:o.canRetryReply()}),p=t=>()=>{let w=_optionalChain([s, 'optionalAccess', _ => _.originFor, 'call', _2 => _2("reply-wait")]);t(),_chunkUYR3UEIWcjs.j.call(void 0, s,_optionalChain([s, 'optionalAccess', _3 => _3.composer, 'call', _4 => _4()]),{origin:w,owner:_nullishCoalesce(_optionalChain([s, 'optionalAccess', _5 => _5.owner, 'call', _6 => _6()]), () => (""))})};return _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[a.length?_jsxruntime.jsx.call(void 0, k,{steps:a}):null,r.length?_jsxruntime.jsx.call(void 0, "div",{"data-reply-controls":"",children:r.map(t=>_jsxruntime.jsx.call(void 0, n,{onPress:t.id==="stop"?()=>{o.stopReply()}:p(()=>t.id==="retry"?o.retryReply():o.keepWaiting()),children:i(t.labelKey)},t.id))}):null]})}exports.ReplyControls = E;
@@ -0,0 +1 @@
1
+ async function _(n){let d=[],g=[],S=(await n("/__conformance/session",{method:"POST"})).body,l={"Content-Type":"application/json",Cookie:`waypoint=${S.session}`,"X-CSRF-Token":S.csrf},a=(t,s)=>n(t,{method:"POST",headers:l,body:JSON.stringify({protocol:"1.1",...s})}),f=t=>n(`/conversations/${encodeURIComponent(t)}`,{headers:l}),y=async(t,s)=>{g.push(t);try{await s()||d.push(t)}catch{d.push(t)}},r={key:"form-fixture-a",resource:"items",label:"Item",route:"/items/new",state:"pending"},b={mode:"form-fill",title:"Form fixture",subject:r,clientCreationId:"form-create-a"},e;try{e=(await a("/conversations",b)).body}catch{return{passed:!1,failures:["form create"],scenarios:["form create"]}}await y("form creation replay",async()=>(await a("/conversations",b)).body.id===e.id),await y("form mode survives refetch",async()=>{let t=(await f(e.id)).body;return t.mode==="form-fill"&&t.subject?.key===r.key}),await y("form subject filtering",async()=>{await a("/conversations",{...b,subject:{...r,key:"form-fixture-b"},clientCreationId:"form-create-b"});let t=await n(`/conversations?subject=${r.key}`,{headers:l}),s=t.body;return t.status===200&&s.some(o=>o.id===e.id)&&s.every(o=>o.subject?.key===r.key)});let c={kind:"form-fill",clientReplyId:"form-fill-a",request:{requestId:"form-request-a",text:"Draft",references:["https://example.test/reference"],attachments:["private-image"],fields:[{name:"title",label:"Title",tier:"low",value:""}]}},h=async t=>{let s=await a(`/conversations/${t}/replies`,c),o=await a(`/conversations/${t}/replies`,c),m=(await f(t)).body.messages.flatMap(i=>i.blocks).filter(i=>i.type==="form.fill"),v=m[0];return s.status===200&&s.body.id===o.body.id&&m.length===1&&v?.body.requestId===c.request.requestId&&Object.keys(v.body.values).join()==="title"&&["valid","invalid"].includes(v.body.values.title.validation.status)&&Array.isArray(v.body.values.title.validation.messages)};return await y("form values and validation replay",()=>h(e.id)),await y("form rejects non-low input",async()=>(await a(`/conversations/${e.id}/replies`,{...c,clientReplyId:"forbidden",request:{...c.request,fields:[{name:"secret",tier:"sensitive",label:"Secret",value:""}]}})).status>=400),await y("form child inherits mode and values",async()=>{let t=(await a("/conversations",{...b,clientCreationId:"form-child-a",parentConversationId:e.id,field:"title"})).body;return t.parentConversationId===e.id&&t.mode==="form-fill"&&t.subject?.key===r.key&&await h(t.id)}),await y("form rejects wrong-subject child",async()=>(await a("/conversations",{...b,clientCreationId:"form-child-wrong",parentConversationId:e.id,field:"title",subject:{...r,key:"another"}})).status>=400),await y("form refuses general replies",async()=>{let t=await a("/conversations",{title:"Ordinary fixture"});if(t.status<200||t.status>=300)return!1;let s={kind:"message",clientReplyId:"general-reply",clientMessageId:"general-message",content:"An ordinary message"},o=await a(`/conversations/${t.body.id}/messages`,s),u=await a(`/conversations/${e.id}/messages`,{...s,clientReplyId:"form-general-reply",clientMessageId:"form-general-message"});return o.status>=200&&o.status<300&&u.status>=400&&u.body?.code==="refused"}),{passed:d.length===0,failures:d,scenarios:g}}var L={client:[],conversation:["client"],stream:["conversation"],connection:["stream"],recovery:["stream"],"plan-read":["conversation","connection"],"flow-load":["client"],"flow-run":["client"],binding:["client"],runner:["conversation","external"],invocation:["runner"]},N=new WeakMap;function O(n,d){if(d){let y=L[n],r=N.get(d)??"external";if(!y.includes(r))throw new Error(`A ${n} scope cannot have this parent`)}else if(n!=="client"&&n!=="runner")throw new Error(`A ${n} scope needs a parent`);let g=globalThis,I=new g.AbortController,S=g.AbortSignal?.any,l=(y,r,b=()=>I.abort())=>(N.set(y,n),{signal:y,abort:b,end:r});if(!d)return l(I.signal,()=>{});if(S)return l(S.call(g.AbortSignal,[d,I.signal]),()=>{});let a=()=>I.abort();d.aborted?I.abort():d.addEventListener("abort",a,{once:!0});let f=()=>d.removeEventListener("abort",a);return l(I.signal,f,()=>{f(),I.abort()})}function T(n,d){return n.aborted?(d(),()=>{}):(n.addEventListener("abort",d,{once:!0}),()=>n.removeEventListener("abort",d))}var j=class extends Error{constructor(){super("plan-read-refused"),this.name="PlanReadRefused"}},F=n=>n instanceof j?"plan-changed":"connection-lost";var E=new Error("retired");function M(n){let d=null,g=new Set,I,S=O("runner",n.signal),l=!1,a,f=async(r,b)=>{if(b.signal.aborted)throw E;let e=await n.read(r);return b.signal.aborted||n.onRecord?.(e),e},y=async(r,b,e)=>{let c;try{c=await f(r,e)}catch(p){throw p!==E&&!e.signal.aborted&&e.acceptance&&n.interrupted&&await n.interrupted(r,F(p)),p}if(e.signal.aborted)return;if(c.recovery&&(e.acceptance?.planId!==r||e.acceptance.executionId!==c.recovery.executionId))throw new Error("unauthorized-run");if(c.plan.kind!=="immediate"||c.plan.stage!=="final"||c.state!=="running")return;if(!b||c.plan.digest!==b)throw new Error("invalid-plan");let h={...c.plan,steps:c.plan.steps.map(p=>({...p,request:p.request?{...p.request,headers:{...p.request.headers}}:void 0}))},t=h.steps,s=t.filter(p=>p.undo==="none");if(s.length>1||s.length===1&&t.at(-1)?.undo!=="none"||t.some(p=>!p.request||!["POST","PUT","PATCH"].includes(p.request.method)))throw new Error("invalid-plan");let o,u=!1,m=()=>{u=!0,o!==void 0&&n.clock?.clearTimeout(o),o=void 0},v=T(e.signal,m),i=async p=>{m(),e.context&&delete e.context.stepUpCode,!e.signal.aborted&&(p&&n.interrupted&&await n.interrupted(r,p),e.signal.aborted||await f(r,e).catch(()=>{}))},k=async()=>{try{return await f(r,e)}catch(p){throw p!==E&&await i(F(p)),p}},P=async()=>{if(!(u||e.signal.aborted)){try{await n.heartbeat(r,e.acceptance)}catch{e.signal.aborted||(l=!0)}!u&&!e.signal.aborted&&n.clock&&(o=n.clock.setTimeout(()=>{o=void 0,P()},n.heartbeatMs??1e4))}};await P();try{for(let[p,C]of t.entries()){if(e.signal.aborted)return;if(l)return i("renewal-refused");if(g.has(r))return i();if(c=await k(),e.signal.aborted)return;if(l)return i("renewal-refused");if(g.has(r))return i();if(c.state!=="running")return;if(c.outcomes.some(w=>w.stepId===C.id&&w.attributed&&w.status>=200&&w.status<300))continue;let R=c.plan;if(R.kind!=="immediate"||R.stage!=="final"||R.digest!==h.digest||JSON.stringify(R.steps[p]?.request)!==JSON.stringify(C.request))throw await i("plan-changed"),new Error("invalid-plan");let A=C.request,x={signal:e.signal,planId:r,stepId:C.id,headers:{...A.headers,"Waypoint-Step":`${r}.${p}`,...e.acceptance?{"Waypoint-Execution":e.acceptance.executionId,"Waypoint-Fence":String(e.acceptance.fence)}:{}}};if(C.stepUp){let w=await n.stepUp?.(r,C.id);if(!w)return i("step-up-failed");if(e.signal.aborted)return;if(l)return i("renewal-refused");if(g.has(r))return i();if(c=await k(),c.state!=="running")return;if(c.plan.kind!=="immediate"||c.plan.stage!=="final"||c.plan.digest!==h.digest||JSON.stringify(c.plan.steps[p]?.request)!==JSON.stringify(A))throw await i("plan-changed"),new Error("invalid-plan");if(c.outcomes.some($=>$.stepId===C.id&&$.attributed&&$.status>=200&&$.status<300))continue;x.stepUpCode=w}if(e.signal.aborted)return;if(l)return i("renewal-refused");if(g.has(r))return i();try{e.context=x,await n.request({...A,headers:{...A.headers}},x)}catch{return delete x.stepUpCode,e.context===x&&(e.context=void 0),i("step-failed")}finally{delete x.stepUpCode,e.context===x&&(e.context=void 0)}if(c=await k(),!c.outcomes.some(w=>w.stepId===C.id&&w.attributed&&w.status>=200&&w.status<300))return i("attribution-missing");if(g.has(r))return i()}}finally{m(),v()}};return{run(r,b,e){if(d)return I===r?d:Promise.reject(new Error("active-plan"));if(g.has(r)||S.signal.aborted)return Promise.resolve();I=r,l=!1;let c=O("invocation",S.signal),h={scope:c,signal:c.signal,...e?{acceptance:e}:{}};return T(h.signal,()=>{h.context&&delete h.context.stepUpCode}),a=h,d=y(r,b,h).catch(t=>{if(t!==E)throw t}).finally(()=>{c.end(),a===h&&(a=void 0),d=null,I=void 0}),d},stop(r=I){r&&g.add(r)},interrupt(){a?.scope.abort()},dispose(){S.abort()}}}async function U(n){let d=[],g=[],S=(await n("/__conformance/session",{method:"POST"})).body,l={"Content-Type":"application/json",Cookie:`waypoint=${S.session}`,"X-CSRF-Token":S.csrf},a=(f,y)=>n(f,{method:"POST",headers:l,body:JSON.stringify({protocol:"1.0",...y})});for(let f of["run","refuse"]){g.push(`plan ${f}`);try{await a("/__conformance/script",{planScenario:f});let b=`/conversations/${(await a("/conversations",{title:"Plan"})).body.id}/replies`,e=async i=>(await n(`/plans/${i}`,{headers:l})).body,c=await e("plan-a");if(c.plan.kind!=="immediate"||c.plan.stage!=="draft")throw new Error("Missing draft");let h=await n("/items/a",{headers:l});await a(b,{kind:"plan.values",clientReplyId:"values-a",planId:"plan-a",steps:[{stepId:"step-a",...h.body}]});let t=await e("plan-a"),s=t.plan;if(s.stage!=="final"||!s.digest)throw new Error("Missing final");let o=t.confirmation?.token;if(!o)throw new Error("Missing confirmation record");let u=(i,k)=>a(b,{kind:"confirm",clientReplyId:i,planId:"plan-a",digest:s.digest,...k});for(let[i,k]of[["no-token",{}],["wrong-token",{confirmationToken:`${o}x`}]])if((await u(i,k)).status!==409)throw new Error("Confirmation without its token accepted");if((await u("confirm-a",{confirmationToken:o})).status!==200)throw new Error("Confirmation refused");if((await u("confirm-b",{confirmationToken:o})).status!==409)throw new Error("Confirmation token used twice");let m=M({read:e,heartbeat:async i=>{await a(`/plans/${i}/heartbeat`,{})},request:async(i,k)=>{if((await n(i.path,{method:i.method,headers:{...l,...k.headers},body:i.body})).status>=400)throw new Error("Step refused")}});await m.run("plan-a",s.digest);let v=await e("plan-a");if(f==="run"&&v.state!=="completed")throw new Error("Not completed");if(f==="refuse"&&(v.state==="undoing"||v.undoPlanId!==void 0))throw new Error("Undo requested automatically");if(f==="run"){await a("/plans/plan-a/stop",{}),await m.run("undo-a",(await e("undo-a")).plan.digest);let i=await n("/items/a",{headers:l});if(JSON.stringify(i.body).includes("After"))throw new Error("Not restored")}m.dispose()}catch{d.push(`plan ${f}`)}}return{passed:d.length===0,failures:d,scenarios:g}}var W={kind:"action",clientReplyId:"card-answer-a",blockId:"card-answer-choice",actionId:"accept"};function J(n){return n===void 0?!0:typeof n!="object"||n===null||Array.isArray(n)?!1:Object.entries(W).every(([d,g])=>n[d]===g)}var q=["1.1","1.0"];async function ne(n){let d=[],g=[],I=await n.request("/__conformance/session",{method:"POST"});if(I.status!==200)return{passed:!1,failures:["test session unavailable"],scenarios:[]};let S=I.body,l={"Content-Type":"application/json",Cookie:`waypoint=${S.session}`,"X-CSRF-Token":S.csrf},a=(t,s)=>n.request(t,{method:"POST",headers:l,body:JSON.stringify({protocol:"1.0",...s})}),f=async(t,s)=>{g.push(t);try{await s()||d.push(t)}catch{d.push(t)}};await f("negotiation",async()=>{let t=await a("/negotiate",{supported:q});return t.status===200&&q.some(s=>s===t.body.protocol)&&Array.isArray(t.body.capabilities)});let r=(await a("/negotiate",{supported:q})).body;if(r.protocol==="1.1"&&r.capabilities?.includes("form-fill")){let t=await _(n.request);d.push(...t.failures),g.push(...t.scenarios)}let e=(await a("/conversations",{title:"Fixture"})).body.id;await f("optimistic replay",async()=>{let t={clientMessageId:"replay-a",content:"Request"},s=await a(`/conversations/${e}/messages`,t),o=await a(`/conversations/${e}/messages`,t);return s.body.id===o.body.id}),await f("closed failures",async()=>{for(let t of["in-doubt","replaced","retryable","refused","closed","full","declined","unavailable"]){await a("/__conformance/script",{turns:[{problem:{id:"failure-a",code:t}}]});let s=await a(`/conversations/${e}/messages`,{clientMessageId:`failure-${t}`,content:"Request"});if(s.status<400||s.body.code!==t)return!1}return!0}),await f("blocks and fallback",async()=>{let t=["markdown","card","details","list","table","form","choice","buttons","diff","plan","route-link","notice","example/future"],s=t.map(m=>({type:m,id:m,fallback:"Readable",body:H(m)}));await a("/__conformance/script",{turns:[{blocks:s}]}),await a(`/conversations/${e}/messages`,{clientMessageId:"blocks-a",content:"Request"});let u=(await n.request(`/conversations/${e}`,{headers:l})).body;return t.every(m=>u.messages.some(v=>v.blocks.some(i=>i.type===m&&i.fallback==="Readable")))}),await f("drop then refetch",async()=>(await a("/__conformance/script",{turns:[{content:"Authoritative after drop"}]}),await a(`/conversations/${e}/messages`,{clientMessageId:"drop-a",content:"Request"}),await n.request(`/conversations/${e}/stream`,{headers:l}),(await n.request(`/conversations/${e}`,{headers:l})).body.messages.some(s=>s.content==="Authoritative after drop"))),await f("one answer per card",async()=>{await a("/__conformance/script",{turns:[{blocks:[{type:"card",id:"card-answer",fallback:"Answer",body:{title:"Question",blocks:[{type:"buttons",id:"card-answer-choice",fallback:"Answer",body:{actions:[{id:"accept",label:"Accept"},{id:"decline",label:"Decline"}]}}]}}]}]}),await a(`/conversations/${e}/messages`,{clientMessageId:"card-answer",content:"Request"});let t=(P,p)=>a(`/conversations/${e}/replies`,{kind:"action",clientReplyId:P,blockId:"card-answer-choice",actionId:p}),s=P=>P.status===409&&P.body.code==="refused",o=await t("card-answer-a","accept"),u=await t("card-answer-a","accept"),m=await t("card-answer-a","decline"),v=await t("card-answer-b","decline"),k=(await n.request(`/conversations/${e}`,{headers:l})).body.messages.flatMap(P=>P.blocks).find(P=>P.id==="card-answer");return o.status>=200&&o.status<300&&u.status===o.status&&JSON.stringify(u.body)===JSON.stringify(o.body)&&(s(m)||m.status===422)&&s(v)&&k?.answered===!0&&J(k.answer)}),await f("agreement binding",async()=>{let t=await a("/negotiate",{supported:q,offer:{capabilities:["plans"]}}),s=t.body;if(t.status===200&&s.agreementId===void 0)return!0;if(t.status!==200||typeof s.agreementId!="string")return!1;let o={...l,"Waypoint-Agreement":"conformance-unknown"},u=await n.request(`/conversations/${e}`,{headers:o}),m=await n.request(`/conversations/${e}/messages`,{method:"POST",headers:o,body:JSON.stringify({protocol:"1.0",clientMessageId:"binding-a",content:"Request"})}),v=await n.request(`/conversations/${e}`,{headers:l}),i=await n.request(`/conversations/${e}`,{headers:{...l,"Waypoint-Agreement":s.agreementId}});return u.status===409&&u.body.code==="agreement-expired"&&m.status===409&&m.body.code==="agreement-expired"&&!v.body.messages.some(k=>k.clientMessageId==="binding-a")&&i.status===200}),await f("agreement keeps its answer",async()=>{let t=await a("/negotiate",{supported:["1.0"],offer:{capabilities:["plans"]}}),s=await a("/negotiate",{supported:q,offer:{capabilities:["plans"]}}),o=t.body,u=s.body;if(!o.agreementId||!u.agreementId||o.protocol===u.protocol)return!0;let m=await n.request(`/conversations/${e}`,{headers:{...l,"Waypoint-Agreement":o.agreementId}});return m.status===200&&m.body.protocol===o.protocol});let c=await a("/negotiate",{supported:q,offer:{capabilities:["reply-stop"]}});c.body.capabilities?.includes("reply-stop")&&await f("reply stop",async()=>{await a("/__conformance/script",{turns:[{chunks:["Partial answer"],interval:0,ending:"held"}]}),await a(`/conversations/${e}/messages`,{clientMessageId:"stop-a",content:"Request"});let t=w=>w?{...l,"Waypoint-Agreement":w}:l,s=c.body.agreementId,o=async(w=s)=>(await n.request(`/conversations/${e}`,{headers:t(w)})).body.messages.at(-1),u=await o();for(let w=0;u?.content!=="Partial answer"&&w<100;w++)u=await o();if(!s||u?.role!=="assistant"||u.status!=="writing")return!1;let m=u.versionIndex??1,v=await a(`/conversations/${e}/replies`,{kind:"stop",clientReplyId:"stop-a-other-version",messageId:u.id,versionIndex:m+1}),i=await o(),k={kind:"stop",clientReplyId:"stop-a-reply",messageId:u.id,versionIndex:m},P=await a(`/conversations/${e}/replies`,k),p=await a(`/conversations/${e}/replies`,k),C=await a(`/conversations/${e}/replies`,{kind:"stop",clientReplyId:"stop-a-reply-2",messageId:u.id}),R=await o(),A=(await a("/negotiate",{supported:q,offer:{capabilities:["plans"]}})).body.agreementId,x=A?await o(A):void 0;return v.status<500&&i?.status==="writing"&&(!x||x.status==="failed"&&x.content==="Partial answer")&&P.status>=200&&P.status<300&&p.status===P.status&&JSON.stringify(p.body)===JSON.stringify(P.body)&&C.status>=200&&C.status<300&&R?.id===u.id&&R.status==="stopped"&&R.content==="Partial answer"});let h=await U(n.request);return d.push(...h.failures),g.push(...h.scenarios),{passed:d.length===0,failures:d,scenarios:g}}function H(n){return{markdown:{text:"Readable"},card:{title:"Card",blocks:[]},details:{summary:"Details",blocks:[]},list:{items:[]},table:{columns:[],rows:[]},form:{fields:[]},choice:{mode:"single",options:[]},buttons:{actions:[]},diff:{before:"Before",after:"After"},plan:{planId:"plan-a"},"route-link":{label:"View",route:"/items/a"},notice:{text:"Ready"}}[n]??{}}export{ne as runConformance,_ as runFormFillConformance,U as runPlanConformance};