@appsolutely-io/waypoint 0.1.1-next.0 → 0.1.1-next.1

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 (63) hide show
  1. package/README.md +37 -0
  2. package/dist/{block-reply-DN4RiLL0.d.cts → block-reply-r8u-DNmZ.d.cts} +15 -3
  3. package/dist/{block-reply-Dtof9ild.d.ts → block-reply-z8El20nD.d.ts} +15 -3
  4. package/dist/{blocks-UJ7GUJHD.js → blocks-2ABWECKG.js} +1 -1
  5. package/dist/{blocks-25YOJ5SS.cjs → blocks-7453YTYJ.cjs} +1 -1
  6. package/dist/{chunk-W6Y7H56X.js → chunk-5Q3INHKA.js} +1 -1
  7. package/dist/chunk-A3YOSFLE.cjs +1 -0
  8. package/dist/{chunk-Q6BD2YL3.cjs → chunk-BRUQ75G3.cjs} +1 -1
  9. package/dist/{chunk-SD2KAIVE.js → chunk-D4Q46KWA.js} +1 -1
  10. package/dist/chunk-IPI4O4LP.js +1 -0
  11. package/dist/chunk-QFBAOEPD.js +1 -0
  12. package/dist/chunk-RZ3AGK3U.cjs +1 -0
  13. package/dist/{chunk-4ZGW4HM4.cjs → chunk-XTKUDSDK.cjs} +1 -1
  14. package/dist/{confirmation-view-OMWHUYVC.cjs → confirmation-view-5BZ2PP7J.cjs} +1 -1
  15. package/dist/{confirmation-view-CICNJJIO.js → confirmation-view-Z5JHY2F5.js} +1 -1
  16. package/dist/{flows-panel-YEJ36RTY.js → flows-panel-2SCPYZ3X.js} +1 -1
  17. package/dist/{flows-panel-AIULKYOS.cjs → flows-panel-HQYJMOP4.cjs} +1 -1
  18. package/dist/{form-extras-QYE32TUY.cjs → form-extras-RNMBCYV7.cjs} +1 -1
  19. package/dist/{form-extras-SBBOMJS2.js → form-extras-X3B3JCMH.js} +1 -1
  20. package/dist/hooks/index.cjs +1 -1
  21. package/dist/hooks/index.d.cts +3 -3
  22. package/dist/hooks/index.d.ts +3 -3
  23. package/dist/hooks/index.js +1 -1
  24. package/dist/{i18n-DPNfYTMG.d.cts → i18n-WC9f-h_q.d.cts} +3 -0
  25. package/dist/{i18n-DPNfYTMG.d.ts → i18n-WC9f-h_q.d.ts} +3 -0
  26. package/dist/markdown-5NUOCOGY.js +23 -0
  27. package/dist/{markdown-BSRKJFFE.cjs → markdown-CG7NXI7X.cjs} +17 -11
  28. package/dist/{message-actions-F6SPLTT7.cjs → message-actions-ORBVYGNE.cjs} +1 -1
  29. package/dist/{message-actions-3HGE6VTS.js → message-actions-XNBBFHGW.js} +1 -1
  30. package/dist/messages/en/index.cjs +1 -1
  31. package/dist/messages/en/index.js +1 -1
  32. package/dist/messages/index.d.cts +3 -3
  33. package/dist/messages/index.d.ts +3 -3
  34. package/dist/messages/zh-Hans/index.cjs +1 -1
  35. package/dist/messages/zh-Hans/index.js +1 -1
  36. package/dist/react/index.cjs +1 -1
  37. package/dist/react/index.d.cts +8 -6
  38. package/dist/react/index.d.ts +8 -6
  39. package/dist/react/index.js +1 -1
  40. package/dist/{recovery-panel-VOKVDDZD.js → recovery-panel-6EBUMANX.js} +1 -1
  41. package/dist/{recovery-panel-OWY2CWOH.cjs → recovery-panel-EQIIV7TT.cjs} +3 -3
  42. package/dist/{reply-controls-5CWIAKIG.js → reply-controls-HUYHUO3W.js} +1 -1
  43. package/dist/{reply-controls-CPWB4VBK.cjs → reply-controls-LGY2RKRJ.cjs} +1 -1
  44. package/dist/skin-antd/index.d.cts +3 -3
  45. package/dist/skin-antd/index.d.ts +3 -3
  46. package/dist/{step-name-BdkYnb5g.d.ts → step-name-BlgVvshf.d.ts} +1 -1
  47. package/dist/{step-name-3hQ6CCGr.d.cts → step-name-CB3d3kkP.d.cts} +1 -1
  48. package/dist/styles.css +15 -0
  49. package/dist/testing/index.cjs +1 -1
  50. package/dist/testing/index.d.cts +3 -3
  51. package/dist/testing/index.d.ts +3 -3
  52. package/dist/testing/index.js +1 -1
  53. package/etc/hooks.api.md +9 -0
  54. package/etc/messages.api.md +3 -0
  55. package/etc/react.api.md +9 -0
  56. package/etc/skin-antd.api.md +9 -0
  57. package/etc/testing.api.md +9 -0
  58. package/package.json +2 -1
  59. package/dist/chunk-M3UENQ6L.cjs +0 -1
  60. package/dist/chunk-RHBDQGD4.js +0 -1
  61. package/dist/chunk-TGL3DR2K.js +0 -1
  62. package/dist/chunk-UYR3UEIW.cjs +0 -1
  63. package/dist/markdown-ETLB66BK.js +0 -17
@@ -1,3 +1,3 @@
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 _chunkVGGJGRNKcjs = require('./chunk-VGGJGRNK.cjs');var _chunkUYR3UEIWcjs = require('./chunk-UYR3UEIW.cjs');require('./chunk-FBADWFRR.cjs');var _chunkTODYQ3SGcjs = require('./chunk-TODYQ3SG.cjs');require('./chunk-QS3MKZOY.cjs');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 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"};var _jsxruntime = require('react/jsx-runtime');_chunkUYR3UEIWcjs.q.call(void 0, ce,se);_chunkUYR3UEIWcjs.q.call(void 0, _chunkVGGJGRNKcjs.a,_chunkVGGJGRNKcjs.b);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=>_optionalChain([t, 'access', _2 => _2.intent, 'optionalAccess', _3 => _3.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}=_chunkUYR3UEIWcjs.y.call(void 0, ),M=x.button,de=x.drawer,le=_chunkUYR3UEIWcjs.l.call(void 0, "keep-sheet"),pe=_chunkUYR3UEIWcjs.h.call(void 0, !!u,_optionalChain([_chunkUYR3UEIWcjs.g.call(void 0, ), 'optionalAccess', _4 => _4.owner, 'call', _5 => _5()]),()=>_optionalChain([u, 'optionalAccess', _6 => _6.onCancel, 'call', _7 => _7()])),q=_react.useRef.call(void 0, null),K=_react.useRef.call(void 0, null),h=_chunkUYR3UEIWcjs.g.call(void 0, ),d=_react.useRef.call(void 0, void 0),C=_react.useRef.call(void 0, void 0),W=_react.useRef.call(void 0, void 0),$=_react.useRef.call(void 0, void 0),P=_react.useRef.call(void 0, void 0),O=_react.useRef.call(void 0, void 0),[N,V]=_react.useState.call(void 0, null),G=_react.useId.call(void 0, ),S=t.status,r=t.alert;_react.useEffect.call(void 0, ()=>{let e=`${_optionalChain([h, 'optionalAccess', _8 => _8.owner, 'call', _9 => _9()])}|${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:(_nullishCoalesce(_optionalChain([b, 'optionalAccess', _10 => _10.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:(_nullishCoalesce(_optionalChain([s, 'optionalAccess', _11 => _11.serial]), () => (0)))+1,text:l.join(" ")}))}),_react.useEffect.call(void 0, ()=>()=>{_chunkUYR3UEIWcjs.d.call(void 0, _optionalChain([d, 'access', _12 => _12.current, 'optionalAccess', _13 => _13.origin])),_chunkUYR3UEIWcjs.d.call(void 0, _optionalChain([C, 'access', _14 => _14.current, 'optionalAccess', _15 => _15.origin])),d.current=void 0,C.current=void 0},[t.planId]);let m=_optionalChain([t, 'access', _16 => _16.intent, 'optionalAccess', _17 => _17.kind]);_react.useEffect.call(void 0, ()=>{!m&&!r&&(_chunkUYR3UEIWcjs.d.call(void 0, _optionalChain([d, 'access', _18 => _18.current, 'optionalAccess', _19 => _19.origin])),d.current=void 0)},[m,r]),_react.useEffect.call(void 0, ()=>{if(!r)return;let e=_optionalChain([K, 'access', _20 => _20.current, 'optionalAccess', _21 => _21.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=_chunkUYR3UEIWcjs.a.call(void 0, e),s=!a.target.isConnected&&(!f||f===e.body)?a.target:null;if(!_chunkUYR3UEIWcjs.b.call(void 0, K.current,f)&&!s)return _chunkUYR3UEIWcjs.d.call(void 0, a.origin);let b=_chunkUYR3UEIWcjs.c.call(void 0, a.previous)&&_chunkUYR3UEIWcjs.b.call(void 0, h.root(),a.previous)?a.previous:q.current,J=a.origin.owner;_chunkUYR3UEIWcjs.j.call(void 0, 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=_chunkUYR3UEIWcjs.a.call(void 0, e);if(_chunkUYR3UEIWcjs.i.call(void 0, g))return _chunkUYR3UEIWcjs.d.call(void 0, c.origin);let l=_optionalChain([K, 'access', _22 => _22.current, 'optionalAccess', _23 => _23.querySelector, 'call', _24 => _24(r.action==="checkStatus"?'[data-action="status"]':r.action==="retry"||r.action==="wait"?'[data-action="retry"]':"[data-guidance]")]),k=c.origin.owner;l&&_chunkUYR3UEIWcjs.j.call(void 0, h,l,{origin:c.origin,owner:k,stillCurrent:()=>h.owner()===k,keep:!0})&&(_chunkUYR3UEIWcjs.d.call(void 0, _optionalChain([C, 'access', _25 => _25.current, 'optionalAccess', _26 => _26.origin])),C.current={origin:c.origin,target:l,previous:g})},[r,h,m]);let H=e=>{let c=_optionalChain([h, 'optionalAccess', _27 => _27.originFor, 'call', _28 => _28(`intent:${t.planId}:${e}`)]),g=_nullishCoalesce(ue[e], () => ((m?[m]:[])));_chunkUYR3UEIWcjs.d.call(void 0, _optionalChain([d, 'access', _29 => _29.current, 'optionalAccess', _30 => _30.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=_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[r.message?_jsxruntime.jsx.call(void 0, "span",{children:p(n,r.message)}):null,e?_jsxruntime.jsx.call(void 0, "span",{tabIndex:-1,"data-guidance":"",children:e}):null,r.action==="retry"||r.action==="wait"?_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, 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?_jsxruntime.jsx.call(void 0, "span",{id:G,children:n(r.retryReasonKey,r.retryValues)}):null]}):null]})}return _jsxruntime.jsx.call(void 0, _chunkUYR3UEIWcjs.J,{name:"recoveryPanel",slots:i,data:{view:t},children:_jsxruntime.jsxs.call(void 0, "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":_optionalChain([t, 'access', _31 => _31.intent, 'optionalAccess', _32 => _32.kind]),"data-intent-status":_optionalChain([t, 'access', _33 => _33.intent, 'optionalAccess', _34 => _34.status]),children:[_jsxruntime.jsx.call(void 0, "h3",{id:`${t.planId}-recovery`,ref:q,tabIndex:-1,children:p(n,S.label)}),_jsxruntime.jsx.call(void 0, "p",{role:"status","aria-live":"polite",children:N?_jsxruntime.jsx.call(void 0, "span",{"data-announcement":N.serial,children:N.text},N.serial):null}),_?_jsxruntime.jsx.call(void 0, "p",{"data-intent-line":"",children:n(_)}):null,t.lines.map(e=>_jsxruntime.jsx.call(void 0, "p",{"data-line":e.key,children:p(n,e)},e.key)),t.steps.length?_jsxruntime.jsx.call(void 0, "ol",{children:t.steps.map(e=>_jsxruntime.jsx.call(void 0, _chunkUYR3UEIWcjs.J,{name:"stepStatusRow",slots:i,data:{step:e},children:_jsxruntime.jsxs.call(void 0, "li",{"data-status":e.truth,"data-late":e.lateReport,children:[_chunkTODYQ3SGcjs.a.call(void 0, n,he,e),": ",n(e.textKey),e.lateReport?_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[" (",n("chat.recovery.reportedDifferently"),")"]}):null]})},e.stepId))}):null,t.notice.length?_jsxruntime.jsx.call(void 0, "div",{"data-notice":"",children:t.notice.map(e=>_jsxruntime.jsx.call(void 0, "p",{children:p(n,e)},e.key))}):null,_jsxruntime.jsx.call(void 0, "div",{role:"alert",children:z}),_jsxruntime.jsx.call(void 0, _chunkUYR3UEIWcjs.J,{name:"recoveryActions",slots:i,data:{actions:j},children:j.map(e=>_jsxruntime.jsx.call(void 0, _chunkUYR3UEIWcjs.F,{action:e,onPress:H},e.id))}),u&&!pe?_jsxruntime.jsxs.call(void 0, _chunkUYR3UEIWcjs.k,{as:de,open:!0,label:n("chat.recovery.keepChanges"),onClose:u.onCancel,closeLabel:n("chat.close"),...le,children:[u.messages.map(e=>_jsxruntime.jsx.call(void 0, "p",{children:p(n,e)},e.key)),_jsxruntime.jsx.call(void 0, _chunkUYR3UEIWcjs.F,{action:{id:"keep",labelKey:"chat.recovery.keepChanges",...u.proceed},onPress:()=>{let e=_optionalChain([h, 'optionalAccess', _35 => _35.originFor, 'call', _36 => _36(`intent:${t.planId}:keep`)]);_chunkUYR3UEIWcjs.d.call(void 0, _optionalChain([d, 'access', _37 => _37.current, 'optionalAccess', _38 => _38.origin])),d.current=e?{origin:e,kinds:["keep"]}:void 0,u.onProceed()}}),_jsxruntime.jsx.call(void 0, M,{onPress:u.onCancel,children:n("chat.cancel")})]}):null]})})}exports.default = we;
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 _chunkVGGJGRNKcjs = require('./chunk-VGGJGRNK.cjs');var _chunkA3YOSFLEcjs = require('./chunk-A3YOSFLE.cjs');require('./chunk-FBADWFRR.cjs');var _chunkTODYQ3SGcjs = require('./chunk-TODYQ3SG.cjs');require('./chunk-QS3MKZOY.cjs');require('./chunk-RZ3AGK3U.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 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"};var _jsxruntime = require('react/jsx-runtime');_chunkA3YOSFLEcjs.q.call(void 0, ce,se);_chunkA3YOSFLEcjs.q.call(void 0, _chunkVGGJGRNKcjs.a,_chunkVGGJGRNKcjs.b);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=>_optionalChain([t, 'access', _2 => _2.intent, 'optionalAccess', _3 => _3.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}=_chunkA3YOSFLEcjs.y.call(void 0, ),M=x.button,de=x.drawer,le=_chunkA3YOSFLEcjs.l.call(void 0, "keep-sheet"),pe=_chunkA3YOSFLEcjs.h.call(void 0, !!u,_optionalChain([_chunkA3YOSFLEcjs.g.call(void 0, ), 'optionalAccess', _4 => _4.owner, 'call', _5 => _5()]),()=>_optionalChain([u, 'optionalAccess', _6 => _6.onCancel, 'call', _7 => _7()])),q=_react.useRef.call(void 0, null),K=_react.useRef.call(void 0, null),h=_chunkA3YOSFLEcjs.g.call(void 0, ),d=_react.useRef.call(void 0, void 0),C=_react.useRef.call(void 0, void 0),W=_react.useRef.call(void 0, void 0),$=_react.useRef.call(void 0, void 0),P=_react.useRef.call(void 0, void 0),O=_react.useRef.call(void 0, void 0),[N,V]=_react.useState.call(void 0, null),G=_react.useId.call(void 0, ),S=t.status,r=t.alert;_react.useEffect.call(void 0, ()=>{let e=`${_optionalChain([h, 'optionalAccess', _8 => _8.owner, 'call', _9 => _9()])}|${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:(_nullishCoalesce(_optionalChain([b, 'optionalAccess', _10 => _10.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:(_nullishCoalesce(_optionalChain([s, 'optionalAccess', _11 => _11.serial]), () => (0)))+1,text:l.join(" ")}))}),_react.useEffect.call(void 0, ()=>()=>{_chunkA3YOSFLEcjs.d.call(void 0, _optionalChain([d, 'access', _12 => _12.current, 'optionalAccess', _13 => _13.origin])),_chunkA3YOSFLEcjs.d.call(void 0, _optionalChain([C, 'access', _14 => _14.current, 'optionalAccess', _15 => _15.origin])),d.current=void 0,C.current=void 0},[t.planId]);let m=_optionalChain([t, 'access', _16 => _16.intent, 'optionalAccess', _17 => _17.kind]);_react.useEffect.call(void 0, ()=>{!m&&!r&&(_chunkA3YOSFLEcjs.d.call(void 0, _optionalChain([d, 'access', _18 => _18.current, 'optionalAccess', _19 => _19.origin])),d.current=void 0)},[m,r]),_react.useEffect.call(void 0, ()=>{if(!r)return;let e=_optionalChain([K, 'access', _20 => _20.current, 'optionalAccess', _21 => _21.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=_chunkA3YOSFLEcjs.a.call(void 0, e),s=!a.target.isConnected&&(!f||f===e.body)?a.target:null;if(!_chunkA3YOSFLEcjs.b.call(void 0, K.current,f)&&!s)return _chunkA3YOSFLEcjs.d.call(void 0, a.origin);let b=_chunkA3YOSFLEcjs.c.call(void 0, a.previous)&&_chunkA3YOSFLEcjs.b.call(void 0, h.root(),a.previous)?a.previous:q.current,J=a.origin.owner;_chunkA3YOSFLEcjs.j.call(void 0, 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=_chunkA3YOSFLEcjs.a.call(void 0, e);if(_chunkA3YOSFLEcjs.i.call(void 0, g))return _chunkA3YOSFLEcjs.d.call(void 0, c.origin);let l=_optionalChain([K, 'access', _22 => _22.current, 'optionalAccess', _23 => _23.querySelector, 'call', _24 => _24(r.action==="checkStatus"?'[data-action="status"]':r.action==="retry"||r.action==="wait"?'[data-action="retry"]':"[data-guidance]")]),k=c.origin.owner;l&&_chunkA3YOSFLEcjs.j.call(void 0, h,l,{origin:c.origin,owner:k,stillCurrent:()=>h.owner()===k,keep:!0})&&(_chunkA3YOSFLEcjs.d.call(void 0, _optionalChain([C, 'access', _25 => _25.current, 'optionalAccess', _26 => _26.origin])),C.current={origin:c.origin,target:l,previous:g})},[r,h,m]);let H=e=>{let c=_optionalChain([h, 'optionalAccess', _27 => _27.originFor, 'call', _28 => _28(`intent:${t.planId}:${e}`)]),g=_nullishCoalesce(ue[e], () => ((m?[m]:[])));_chunkA3YOSFLEcjs.d.call(void 0, _optionalChain([d, 'access', _29 => _29.current, 'optionalAccess', _30 => _30.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=_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[r.message?_jsxruntime.jsx.call(void 0, "span",{children:p(n,r.message)}):null,e?_jsxruntime.jsx.call(void 0, "span",{tabIndex:-1,"data-guidance":"",children:e}):null,r.action==="retry"||r.action==="wait"?_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, 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?_jsxruntime.jsx.call(void 0, "span",{id:G,children:n(r.retryReasonKey,r.retryValues)}):null]}):null]})}return _jsxruntime.jsx.call(void 0, _chunkA3YOSFLEcjs.J,{name:"recoveryPanel",slots:i,data:{view:t},children:_jsxruntime.jsxs.call(void 0, "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":_optionalChain([t, 'access', _31 => _31.intent, 'optionalAccess', _32 => _32.kind]),"data-intent-status":_optionalChain([t, 'access', _33 => _33.intent, 'optionalAccess', _34 => _34.status]),children:[_jsxruntime.jsx.call(void 0, "h3",{id:`${t.planId}-recovery`,ref:q,tabIndex:-1,children:p(n,S.label)}),_jsxruntime.jsx.call(void 0, "p",{role:"status","aria-live":"polite",children:N?_jsxruntime.jsx.call(void 0, "span",{"data-announcement":N.serial,children:N.text},N.serial):null}),_?_jsxruntime.jsx.call(void 0, "p",{"data-intent-line":"",children:n(_)}):null,t.lines.map(e=>_jsxruntime.jsx.call(void 0, "p",{"data-line":e.key,children:p(n,e)},e.key)),t.steps.length?_jsxruntime.jsx.call(void 0, "ol",{children:t.steps.map(e=>_jsxruntime.jsx.call(void 0, _chunkA3YOSFLEcjs.J,{name:"stepStatusRow",slots:i,data:{step:e},children:_jsxruntime.jsxs.call(void 0, "li",{"data-status":e.truth,"data-late":e.lateReport,children:[_chunkTODYQ3SGcjs.a.call(void 0, n,he,e),": ",n(e.textKey),e.lateReport?_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[" (",n("chat.recovery.reportedDifferently"),")"]}):null]})},e.stepId))}):null,t.notice.length?_jsxruntime.jsx.call(void 0, "div",{"data-notice":"",children:t.notice.map(e=>_jsxruntime.jsx.call(void 0, "p",{children:p(n,e)},e.key))}):null,_jsxruntime.jsx.call(void 0, "div",{role:"alert",children:z}),_jsxruntime.jsx.call(void 0, _chunkA3YOSFLEcjs.J,{name:"recoveryActions",slots:i,data:{actions:j},children:j.map(e=>_jsxruntime.jsx.call(void 0, _chunkA3YOSFLEcjs.F,{action:e,onPress:H},e.id))}),u&&!pe?_jsxruntime.jsxs.call(void 0, _chunkA3YOSFLEcjs.k,{as:de,open:!0,label:n("chat.recovery.keepChanges"),onClose:u.onCancel,closeLabel:n("chat.close"),...le,children:[u.messages.map(e=>_jsxruntime.jsx.call(void 0, "p",{children:p(n,e)},e.key)),_jsxruntime.jsx.call(void 0, _chunkA3YOSFLEcjs.F,{action:{id:"keep",labelKey:"chat.recovery.keepChanges",...u.proceed},onPress:()=>{let e=_optionalChain([h, 'optionalAccess', _35 => _35.originFor, 'call', _36 => _36(`intent:${t.planId}:keep`)]);_chunkA3YOSFLEcjs.d.call(void 0, _optionalChain([d, 'access', _37 => _37.current, 'optionalAccess', _38 => _38.origin])),d.current=e?{origin:e,kinds:["keep"]}:void 0,u.onProceed()}}),_jsxruntime.jsx.call(void 0, M,{onPress:u.onCancel,children:n("chat.cancel")})]}):null]})})}exports.default = we;
@@ -1 +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};
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-IPI4O4LP.js";import"./chunk-FQSWQLRW.js";import"./chunk-OWT55N6J.js";import{n as h}from"./chunk-QFBAOEPD.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};
@@ -1 +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;
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 _chunkA3YOSFLEcjs = require('./chunk-A3YOSFLE.cjs');require('./chunk-FBADWFRR.cjs');require('./chunk-QS3MKZOY.cjs');var _chunkRZ3AGK3Ucjs = require('./chunk-RZ3AGK3U.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');_chunkA3YOSFLEcjs.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}=_chunkA3YOSFLEcjs.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}=_chunkA3YOSFLEcjs.y.call(void 0, ),n=c.button,s=_react.useContext.call(void 0, _chunkA3YOSFLEcjs.f),a=o.getSnapshot().toolSteps,{actions:r}=_chunkRZ3AGK3Ucjs.n.call(void 0, l,{canStop:o.canStopReply(),canRetry:o.canRetryReply()}),p=t=>()=>{let w=_optionalChain([s, 'optionalAccess', _ => _.originFor, 'call', _2 => _2("reply-wait")]);t(),_chunkA3YOSFLEcjs.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;
@@ -4,9 +4,9 @@ import { PrimitiveComponents, ThemeTokensHook, PartProps } from '../react/index.
4
4
  export { ButtonProps, CheckboxProps, ConfirmSheet, ConversationRail, ConversationRailProps, DrawerProps, FieldAdornment, FieldAdornmentProps, FormFillFields, FormFillFieldsProps, FormFillPopup, FormFillPopupProps, InputProps, MarkdownImagePolicy, PartData, PartDataMap, PartMessage, PartName, PartPending, PartStep, PlanDiagram, PlanDiagramProps, PrivateAttachmentPort, RecoveryPanel, Slots, WaypointChat, WaypointChatProps, WaypointProvider, WaypointProviderProps, Widget, WidgetProps, WidgetRegistration, defaultProblemText, isSafeUrl, partNames, standardWidgets, useComposer, useConversation, useFlows, useFormFill, usePlan, useWaypointClient } from '../react/index.cjs';
5
5
  import { Theme } from '../skin-default/index.cjs';
6
6
  export { RequiredThemeToken, ResolvedTheme, ThemeToken, darkTheme, lightTheme, themeProperties } from '../skin-default/index.cjs';
7
- export { A as ActionEntry, a as ActionId, B as BlockAnswer, b as BlockReply, j as BlockSummary, K as KeepSheet, c as KeepSheetView, P as PlanView, d as PlanViewAlert, e as PlanViewInput, f as PlanViewStatus, S as StepStatus, T as Tone, V as ViewMessage, g as cardReplyId, k as keepSheet, n as noticeMessages, p as planView, u as useBlockReply, h as usePlanView, i as useWaypointSnapshot } from '../block-reply-DN4RiLL0.cjs';
8
- export { P as PlanLabels, s as stepName } from '../step-name-3hQ6CCGr.cjs';
9
- export { B as BlockCatalogue, a as BlockMessageKey, C as ConfirmationCatalogue, b as ConfirmationMessageKey, F as FormCatalogue, c as FormMessageKey, d as FormatMessage, M as MessageKey, e as MessageValues, P as ProblemCatalogue, f as ProblemMessageKey, R as RecoveryCatalogue, g as RecoveryMessageKey, h as ReplyCatalogue, i as ReplyMessageKey, k as addMessages, l as catalogueFor, m as createFormatter, j as english, s as simplifiedChinese } from '../i18n-DPNfYTMG.cjs';
7
+ export { A as ActionEntry, a as ActionId, B as BlockAnswer, b as BlockReply, m as BlockSummary, K as KeepSheet, c as KeepSheetView, P as PlanView, d as PlanViewAlert, e as PlanViewInput, f as PlanViewStatus, S as StepStatus, T as Tone, V as ViewMessage, g as cardReplyId, k as keepSheet, n as noticeMessages, p as planView, u as useBlockReply, h as usePlanView, i as useWaypointMessage, j as useWaypointSelector, l as useWaypointSnapshot } from '../block-reply-r8u-DNmZ.cjs';
8
+ export { P as PlanLabels, s as stepName } from '../step-name-CB3d3kkP.cjs';
9
+ export { B as BlockCatalogue, a as BlockMessageKey, C as ConfirmationCatalogue, b as ConfirmationMessageKey, F as FormCatalogue, c as FormMessageKey, d as FormatMessage, M as MessageKey, e as MessageValues, P as ProblemCatalogue, f as ProblemMessageKey, R as RecoveryCatalogue, g as RecoveryMessageKey, h as ReplyCatalogue, i as ReplyMessageKey, k as addMessages, l as catalogueFor, m as createFormatter, j as english, s as simplifiedChinese } from '../i18n-WC9f-h_q.cjs';
10
10
  export { B as Block, b as BlockButtons, c as BlockCard, d as BlockChoice, e as BlockDetails, f as BlockDiff, g as BlockForm, h as BlockFormFill, i as BlockList, j as BlockMarkdown, k as BlockNotice, l as BlockPlan, m as BlockRouteLink, n as BlockTable, C as CanonicalRequest, o as CardAnswer, p as ConfirmationItem, q as ConfirmationRecord, r as ConfirmationSchedule, s as Conversation, t as CreateConversation, D as DecisionVersions, E as ExecutionAcceptance, u as ExtensionBlock, v as FinalHistory, a as Flow, w as FlowParameter, x as FormFillField, y as FormFillRequest, z as FormFillValue, A as FormSubject, G as FormValidation, F as Frame, H as FrameBlock, I as FrameMessageEnd, J as FrameMessageStart, K as FramePlanDraft, L as FramePlanFinal, N as FramePlanStep, O as FramePlanningRead, Q as FrameProblem, S as FrameStale, U as FrameTextDelta, V as FrameToolCall, W as ImmediateDraft, X as ImmediatePlan, Y as IntentCause, Z as IntentKind, _ as IntentRequest, $ as IntentTarget, a0 as IntentWinner, a1 as KeptFact, a2 as LeaveAcknowledgment, M as ManifestEntry, a3 as Message, a4 as Negotiated, a5 as Negotiation, a6 as NegotiationOfferWire, a7 as Outcome, a8 as PatchFlow, a9 as Plan, aa as PlanCommand, ab as PlanIntentReply, ac as PlanRecord, ad as PlanState, P as Problem, R as ReadTemplate, ae as RecoveryPhase, af as RecoveryView, ag as Reply, ah as ReplyAction, ai as ReplyConfirm, aj as ReplyDecline, ak as ReplyForm, al as ReplyFormFill, am as ReplyMessage, an as ReplyPlanValues, ao as ReplyStop, ap as ReplyToolResult, aq as RunFlow, ar as Source, as as Step, at as TimedPlan, T as ToolCall, au as WaypointProtocol, av as WinnerKind } from '../generated-C9tbjwK0.cjs';
11
11
  export { A as AttachmentPort, B as BuiltinFlowTab, h as CAPABILITIES, i as Capability, C as ClientConfig, b as ClientSnapshot, j as ComposerContribution, k as ConversationReadError, d as ConversationReadResult, l as ConversationSource, m as ConversationSummary, D as DEFAULT_FLOW_TABS, n as FORM_SESSION_UNAVAILABLE, o as FeedbackInput, p as FeedbackPort, q as FlowSource, r as FlowSummary, s as FlowTab, t as FormDraft, u as FormField, v as FormMaterial, a as FormSession, F as FormSessionConfig, w as FormSnapshot, K as KeepChangesReview, x as KeepChangesReviewResult, y as KeepDisabledReason, M as MaybePromise, z as MessageVersionInput, E as MessageVersionPort, N as NegotiationOffer, P as PendingSend, G as PlanReadRefused, H as PlanRunner, I as PlatformPorts, f as ReadPorts, J as ReaderRequestContext, e as ReplyDelivery, R as ReplyInput, L as ReplyOutcome, g as ReplyState, O as RestoredMessage, Q as RunnerPorts, S as StepContext, T as StoragePort, U as ToolStep, V as TransportEvent, X as TransportPort, W as WaypointClient, c as WaypointEvent, Y as asProblem, Z as canTransition, _ as confirmationOf, $ as createMemoryStorage, a0 as createPlanRunner, a1 as createWaypointClient, a2 as flowTabId, a3 as loadFormSession, a4 as readProblem, a5 as replyRow, a6 as versionWalk } from '../form-fill-C32AHxSr.cjs';
12
12
  export { I as IntentAlert, b as IntentFailure, c as IntentNotice, d as IntentOverlay, a as ScopeSignal } from '../intent-BQPPows1.cjs';
@@ -4,9 +4,9 @@ import { PrimitiveComponents, ThemeTokensHook, PartProps } from '../react/index.
4
4
  export { ButtonProps, CheckboxProps, ConfirmSheet, ConversationRail, ConversationRailProps, DrawerProps, FieldAdornment, FieldAdornmentProps, FormFillFields, FormFillFieldsProps, FormFillPopup, FormFillPopupProps, InputProps, MarkdownImagePolicy, PartData, PartDataMap, PartMessage, PartName, PartPending, PartStep, PlanDiagram, PlanDiagramProps, PrivateAttachmentPort, RecoveryPanel, Slots, WaypointChat, WaypointChatProps, WaypointProvider, WaypointProviderProps, Widget, WidgetProps, WidgetRegistration, defaultProblemText, isSafeUrl, partNames, standardWidgets, useComposer, useConversation, useFlows, useFormFill, usePlan, useWaypointClient } from '../react/index.js';
5
5
  import { Theme } from '../skin-default/index.js';
6
6
  export { RequiredThemeToken, ResolvedTheme, ThemeToken, darkTheme, lightTheme, themeProperties } from '../skin-default/index.js';
7
- export { A as ActionEntry, a as ActionId, B as BlockAnswer, b as BlockReply, j as BlockSummary, K as KeepSheet, c as KeepSheetView, P as PlanView, d as PlanViewAlert, e as PlanViewInput, f as PlanViewStatus, S as StepStatus, T as Tone, V as ViewMessage, g as cardReplyId, k as keepSheet, n as noticeMessages, p as planView, u as useBlockReply, h as usePlanView, i as useWaypointSnapshot } from '../block-reply-Dtof9ild.js';
8
- export { P as PlanLabels, s as stepName } from '../step-name-BdkYnb5g.js';
9
- export { B as BlockCatalogue, a as BlockMessageKey, C as ConfirmationCatalogue, b as ConfirmationMessageKey, F as FormCatalogue, c as FormMessageKey, d as FormatMessage, M as MessageKey, e as MessageValues, P as ProblemCatalogue, f as ProblemMessageKey, R as RecoveryCatalogue, g as RecoveryMessageKey, h as ReplyCatalogue, i as ReplyMessageKey, k as addMessages, l as catalogueFor, m as createFormatter, j as english, s as simplifiedChinese } from '../i18n-DPNfYTMG.js';
7
+ export { A as ActionEntry, a as ActionId, B as BlockAnswer, b as BlockReply, m as BlockSummary, K as KeepSheet, c as KeepSheetView, P as PlanView, d as PlanViewAlert, e as PlanViewInput, f as PlanViewStatus, S as StepStatus, T as Tone, V as ViewMessage, g as cardReplyId, k as keepSheet, n as noticeMessages, p as planView, u as useBlockReply, h as usePlanView, i as useWaypointMessage, j as useWaypointSelector, l as useWaypointSnapshot } from '../block-reply-z8El20nD.js';
8
+ export { P as PlanLabels, s as stepName } from '../step-name-BlgVvshf.js';
9
+ export { B as BlockCatalogue, a as BlockMessageKey, C as ConfirmationCatalogue, b as ConfirmationMessageKey, F as FormCatalogue, c as FormMessageKey, d as FormatMessage, M as MessageKey, e as MessageValues, P as ProblemCatalogue, f as ProblemMessageKey, R as RecoveryCatalogue, g as RecoveryMessageKey, h as ReplyCatalogue, i as ReplyMessageKey, k as addMessages, l as catalogueFor, m as createFormatter, j as english, s as simplifiedChinese } from '../i18n-WC9f-h_q.js';
10
10
  export { B as Block, b as BlockButtons, c as BlockCard, d as BlockChoice, e as BlockDetails, f as BlockDiff, g as BlockForm, h as BlockFormFill, i as BlockList, j as BlockMarkdown, k as BlockNotice, l as BlockPlan, m as BlockRouteLink, n as BlockTable, C as CanonicalRequest, o as CardAnswer, p as ConfirmationItem, q as ConfirmationRecord, r as ConfirmationSchedule, s as Conversation, t as CreateConversation, D as DecisionVersions, E as ExecutionAcceptance, u as ExtensionBlock, v as FinalHistory, a as Flow, w as FlowParameter, x as FormFillField, y as FormFillRequest, z as FormFillValue, A as FormSubject, G as FormValidation, F as Frame, H as FrameBlock, I as FrameMessageEnd, J as FrameMessageStart, K as FramePlanDraft, L as FramePlanFinal, N as FramePlanStep, O as FramePlanningRead, Q as FrameProblem, S as FrameStale, U as FrameTextDelta, V as FrameToolCall, W as ImmediateDraft, X as ImmediatePlan, Y as IntentCause, Z as IntentKind, _ as IntentRequest, $ as IntentTarget, a0 as IntentWinner, a1 as KeptFact, a2 as LeaveAcknowledgment, M as ManifestEntry, a3 as Message, a4 as Negotiated, a5 as Negotiation, a6 as NegotiationOfferWire, a7 as Outcome, a8 as PatchFlow, a9 as Plan, aa as PlanCommand, ab as PlanIntentReply, ac as PlanRecord, ad as PlanState, P as Problem, R as ReadTemplate, ae as RecoveryPhase, af as RecoveryView, ag as Reply, ah as ReplyAction, ai as ReplyConfirm, aj as ReplyDecline, ak as ReplyForm, al as ReplyFormFill, am as ReplyMessage, an as ReplyPlanValues, ao as ReplyStop, ap as ReplyToolResult, aq as RunFlow, ar as Source, as as Step, at as TimedPlan, T as ToolCall, au as WaypointProtocol, av as WinnerKind } from '../generated-C9tbjwK0.js';
11
11
  export { A as AttachmentPort, B as BuiltinFlowTab, h as CAPABILITIES, i as Capability, C as ClientConfig, b as ClientSnapshot, j as ComposerContribution, k as ConversationReadError, d as ConversationReadResult, l as ConversationSource, m as ConversationSummary, D as DEFAULT_FLOW_TABS, n as FORM_SESSION_UNAVAILABLE, o as FeedbackInput, p as FeedbackPort, q as FlowSource, r as FlowSummary, s as FlowTab, t as FormDraft, u as FormField, v as FormMaterial, a as FormSession, F as FormSessionConfig, w as FormSnapshot, K as KeepChangesReview, x as KeepChangesReviewResult, y as KeepDisabledReason, M as MaybePromise, z as MessageVersionInput, E as MessageVersionPort, N as NegotiationOffer, P as PendingSend, G as PlanReadRefused, H as PlanRunner, I as PlatformPorts, f as ReadPorts, J as ReaderRequestContext, e as ReplyDelivery, R as ReplyInput, L as ReplyOutcome, g as ReplyState, O as RestoredMessage, Q as RunnerPorts, S as StepContext, T as StoragePort, U as ToolStep, V as TransportEvent, X as TransportPort, W as WaypointClient, c as WaypointEvent, Y as asProblem, Z as canTransition, _ as confirmationOf, $ as createMemoryStorage, a0 as createPlanRunner, a1 as createWaypointClient, a2 as flowTabId, a3 as loadFormSession, a4 as readProblem, a5 as replyRow, a6 as versionWalk } from '../form-fill-Dp3ut1_Y.js';
12
12
  export { I as IntentAlert, b as IntentFailure, c as IntentNotice, d as IntentOverlay, a as ScopeSignal } from '../intent-BuvqEU3Q.js';
@@ -1,4 +1,4 @@
1
- import { d as FormatMessage } from './i18n-DPNfYTMG.js';
1
+ import { d as FormatMessage } from './i18n-WC9f-h_q.js';
2
2
 
3
3
  /**
4
4
  * The names a plan's steps are shown with. The protocol names a step's
@@ -1,4 +1,4 @@
1
- import { d as FormatMessage } from './i18n-DPNfYTMG.cjs';
1
+ import { d as FormatMessage } from './i18n-WC9f-h_q.cjs';
2
2
 
3
3
  /**
4
4
  * The names a plan's steps are shown with. The protocol names a step's
package/dist/styles.css CHANGED
@@ -141,6 +141,21 @@
141
141
  overflow: auto;
142
142
  border-block: 1px solid var(--wp-border);
143
143
  }
144
+ /* The filter spans the outline, so a narrow chat keeps it whole. */
145
+ .waypoint .wp-outline [data-outline-filter] {
146
+ margin-block-start: var(--wp-space1);
147
+ }
148
+ .waypoint .wp-outline [data-outline-filter] input {
149
+ box-sizing: border-box;
150
+ inline-size: 100%;
151
+ min-block-size: 24px;
152
+ }
153
+ .waypoint .wp-outline [data-outline-filter] [role="status"] {
154
+ margin: var(--wp-space1) 0 0;
155
+ }
156
+ .waypoint .wp-outline [data-outline-filter] [role="status"]:empty {
157
+ display: none;
158
+ }
144
159
  /* Drawn inside the link, so the scroller never clips it; an outline, not a
145
160
  shadow, so it stays under forced colors. */
146
161
  .waypoint .wp-outline a:focus-visible {
@@ -1 +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 _chunkQ6BD2YL3cjs = require('../chunk-Q6BD2YL3.cjs');var _chunkUYR3UEIWcjs = require('../chunk-UYR3UEIW.cjs');require('../chunk-FBADWFRR.cjs');require('../chunk-QS3MKZOY.cjs');require('../chunk-M3UENQ6L.cjs');var _chunk4BWV3SELcjs = require('../chunk-4BWV3SEL.cjs');require('../chunk-GT6PI4CT.cjs');var _chunkLLPGVQUTcjs = require('../chunk-LLPGVQUT.cjs');var _chunk3KV7TDDRcjs = require('../chunk-3KV7TDDR.cjs');var _chunkQ7BULGQGcjs = require('../chunk-Q7BULGQG.cjs');require('../chunk-XSHOLIC7.cjs');require('../chunk-II26UWZM.cjs');var W=(e,r)=>e.id===r||(_nullishCoalesce(_optionalChain([e, 'access', _ => _.body, 'optionalAccess', _2 => _2.blocks]), () => ([]))).some(s=>W(s,r));function v(e=Date.now){let r=new Map,s=new Map,t=new Map,n=[],a=0,c=o=>{let i=t.get(o);return i||(i={protocol:"1.0",id:o,title:"Example",messages:[]},t.set(o,i)),i},u=(o,i)=>{for(let l of _nullishCoalesce(r.get(o), () => ([])))l(i)};return{transport:{negotiate:async()=>({protocol:"1.0",capabilities:["plans","flows","widgets"]}),read:async o=>structuredClone(c(o)),send:async(o,i)=>{let l=JSON.stringify([i,o.clientReplyId]),b=JSON.stringify({...o,protocol:void 0}),h=s.get(l),I={id:o.clientReplyId,code:"refused"};if(h){if(h.body!==b)throw I;return h.result}let S=c(i),R="blockId"in o?S.messages.flatMap(p=>p.blocks).find(p=>W(p,o.blockId)):void 0;if(_optionalChain([R, 'optionalAccess', _3 => _3.answered]))throw I;if(o.kind==="stop"){let p=S.messages.find(A=>A.id===o.messageId&&A.role==="assistant");if(!p)throw I;p.status==="writing"&&(o.versionIndex===void 0||o.versionIndex===(_nullishCoalesce(p.versionIndex, () => (1))))&&(p.status="stopped");let P={id:`reply-${++a}`};return s.set(l,{body:b,result:P}),P}let m=n.shift();if(_optionalChain([m, 'optionalAccess', _4 => _4.problem]))throw m.problem;if(R){let p={...o};delete p.protocol,R.answered=!0,R.answer=p}o.kind==="message"&&S.messages.push({id:`message-${++a}`,clientMessageId:o.clientMessageId,role:"user",content:o.content,blocks:[],createdAt:e()}),m&&(m.content!==void 0||m.blocks!==void 0)&&S.messages.push({id:`message-${++a}`,role:"assistant",content:_nullishCoalesce(m.content, () => ("")),blocks:_nullishCoalesce(m.blocks, () => ([])),createdAt:e(),...m.writing&&{status:"writing"}});for(let p of _nullishCoalesce(_optionalChain([m, 'optionalAccess', _5 => _5.events]), () => ([])))u(i,p);let q={id:`reply-${++a}`};return s.set(l,{body:b,result:q}),q},subscribe:(o,i)=>{let l=r.get(o);return l||(l=new Set,r.set(o,l)),l.add(i),()=>{l.delete(i)}}},enqueue:o=>{n.push(o)},emit:u,activeStreams:()=>[...r.values()].reduce((o,i)=>o+i.size,0)}}function w(){let e=0;return{clock:{now:()=>Date.now(),setTimeout:(r,s)=>setTimeout(r,s),clearTimeout:r=>clearTimeout(r)},online:()=>!0,visibility:()=>!0,ids:()=>`test-${++e}`}}var _react = require('react');var _react3 = require('@testing-library/react');function K(e,r){return _react3.render.call(void 0, _react.createElement.call(void 0, _chunkUYR3UEIWcjs.w,{client:r.client,...r.skin},e))}function te(e,r={}){e.test("composer, keyboard and accessibility contract",async()=>{let s=v(),t=_chunk3KV7TDDRcjs.i.call(void 0, {accountId:"test-account",conversationId:"test-conversation",platform:w(),transport:s.transport});await t.ready;try{let n=_react3.render.call(void 0, _react.createElement.call(void 0, _chunkUYR3UEIWcjs.O,{client:t,...r})),a=n.getByRole("textbox",{name:"Message"});await _react3.act.call(void 0, async()=>{_react3.fireEvent.change(a,{target:{value:"Keep"}})}),_react3.fireEvent.keyDown(a,{key:"Enter",shiftKey:!0}),e.assert.equal(t.getSnapshot().draft,"Keep"),await _react3.act.call(void 0, async()=>{_react3.fireEvent.keyDown(a,{key:"Enter"})}),e.assert.equal(t.getSnapshot().draft,""),e.assert.ok(n.getByRole("alert"))}finally{_react3.cleanup.call(void 0, ),t.dispose()}})}function oe(e,r={}){e.test("slot, provider and widget isolation contract",async()=>{let s=v();s.enqueue({content:"Fixture",blocks:[{type:"markdown",id:"widget-a",fallback:"Readable",body:{text:"Widget"}}]});let t=_chunk3KV7TDDRcjs.i.call(void 0, {accountId:"test-account",conversationId:"test-conversation",platform:w(),transport:s.transport});await t.ready,await t.setDraft("Start"),await t.send();try{let n=_react3.render.call(void 0, _react.createElement.call(void 0, _chunkUYR3UEIWcjs.O,{client:t,...r}));await _react3.waitFor.call(void 0, ()=>{if(!n.container.querySelector('[data-part="widgetFrame"] .wp-markdown'))throw new Error("Markdown is not ready")});let a=()=>{let u=new Map;for(let f of n.container.querySelectorAll("[data-part]")){let o=f.getAttribute("data-part");if(["composer","widgetFrame","messageActions","extraPanels"].includes(o))continue;let i=f.cloneNode(!0);for(let b of i.querySelectorAll("[data-part]"))b.replaceChildren();let l=_nullishCoalesce(u.get(o), () => ([]));l.push(i.outerHTML),u.set(o,l)}return[...u]},c=a();n.rerender(_react.createElement.call(void 0, _chunkUYR3UEIWcjs.O,{client:t,...r,slots:{composer:()=>_react.createElement.call(void 0, "span",null,"Custom composer"),messageActions:()=>_react.createElement.call(void 0, "span",null,"Custom actions"),extraPanels:()=>_react.createElement.call(void 0, "span",null,"Custom panel")}})),e.assert.equal(a(),c),e.assert.ok(n.queryAllByText("Custom actions").length),n.rerender(_react.createElement.call(void 0, _chunkUYR3UEIWcjs.O,{client:t,...r,parts:{composer:()=>_react.createElement.call(void 0, "span",null,"Custom composer")}})),e.assert.equal(a(),c),n.rerender(_react.createElement.call(void 0, _chunkUYR3UEIWcjs.O,{client:t,...r,widgets:[{type:"markdown",render:()=>_react.createElement.call(void 0, "span",null,"Custom markdown")}]})),e.assert.ok(n.queryByText("Custom markdown")),e.assert.equal(a(),c)}finally{_react3.cleanup.call(void 0, ),t.dispose()}})}function re(e,r={}){let s={markdown:{text:"**Readable**"},"form.fill":{requestId:"request-a",values:{title:{value:"Draft",validation:{status:"valid",messages:[]}}}},card:{title:"Card",blocks:[]},list:{items:["Item"]},table:{columns:["Title"],rows:[["Value"]]},form:{fields:[{name:"title",label:"Title",required:!0}]},choice:{mode:"single",options:["One","Two"]},buttons:{actions:[{id:"accept",label:"Accept"}]},diff:{before:"Before",after:"After"},plan:{planId:"plan-a"},"route-link":{label:"View",route:"/items/a"},notice:{text:"Notice"}};for(let[t,n]of Object.entries(s))e.test(`widget contract: ${t}`,async()=>{let a=v(),c=_chunk3KV7TDDRcjs.i.call(void 0, {accountId:"test-account",conversationId:"test-conversation",platform:w(),transport:a.transport});await c.ready;try{let f=K(_react.createElement.call(void 0, _chunkUYR3UEIWcjs.M,{block:{type:t,id:"widget-a",fallback:"Readable",body:n},disabled:!1,onReply:()=>{}}),{client:c,skin:r});e.assert.ok(f.container.textContent)}finally{_react3.cleanup.call(void 0, ),c.dispose()}})}function ne(e,r={}){e.test("failure announcement and direction contract",async()=>{let s=v(),t=_chunk3KV7TDDRcjs.i.call(void 0, {accountId:"test-account",conversationId:"test-conversation",platform:w(),transport:s.transport});await t.ready;try{let n=_react3.render.call(void 0, _react.createElement.call(void 0, _chunkUYR3UEIWcjs.O,{client:t,...r,dir:"rtl"}));await _react3.act.call(void 0, async()=>{t.report({id:"failure-a",code:"refused"})}),e.assert.ok(n.getByRole("alert").textContent),e.assert.equal(_optionalChain([n, 'access', _6 => _6.container, 'access', _7 => _7.querySelector, 'call', _8 => _8(".waypoint"), 'optionalAccess', _9 => _9.getAttribute, 'call', _10 => _10("dir")]),"rtl");let a=t.getSnapshot().announcement;await _react3.act.call(void 0, async()=>{t.report({id:"failure-a",code:"refused"})}),e.assert.equal(t.getSnapshot().announcement,a+1)}finally{_react3.cleanup.call(void 0, ),t.dispose()}})}function ae(e,r={}){e.test("form drafts and field adornment contract",async()=>{let s=v(),t=_chunk3KV7TDDRcjs.i.call(void 0, {accountId:"form-account",conversationId:"form-chat",platform:w(),transport:s.transport});await t.ready;let n=_chunkLLPGVQUTcjs.a.call(void 0, {fields:[{name:"title",label:"Title",tier:"low",value:"Draft"}],ids:()=>"form-contract"});try{let a=K(_react.createElement.call(void 0, _chunkQ6BD2YL3cjs.c,{session:n,onRegenerate:()=>{}}),{client:t,skin:r}),c=a.getByRole("textbox",{name:"Title"});_react3.act.call(void 0, ()=>{c.focus()}),e.assert.ok(a.getByRole("button",{name:"Regenerate Title"})),e.assert.ok(a.getAllByRole("status").some(f=>f.textContent==="Regenerate Title")),_react3.fireEvent.change(c,{target:{value:"Edited"}}),e.assert.equal(_optionalChain([n, 'access', _11 => _11.getSnapshot, 'call', _12 => _12(), 'access', _13 => _13.fields, 'access', _14 => _14.title, 'optionalAccess', _15 => _15.value]),"Edited");let u=n.begin({text:"Fill"});_react3.act.call(void 0, ()=>{n.receive({requestId:u.requestId,values:{title:{value:"Proposal",validation:{status:"valid",messages:[]}}}})}),e.assert.equal(c.value,"Edited"),_react3.fireEvent.click(await a.findByRole("button",{name:"Replace"})),e.assert.equal(c.value,"Proposal")}finally{_react3.cleanup.call(void 0, ),n.dispose(),t.dispose()}})}exports.CAPABILITIES = _chunkQ7BULGQGcjs.b; exports.addMessages = _chunkUYR3UEIWcjs.q; exports.catalogueFor = _chunkUYR3UEIWcjs.s; exports.createFormatter = _chunkUYR3UEIWcjs.t; exports.createScriptedTransport = v; exports.createTestPlatform = w; exports.darkTheme = _chunk4BWV3SELcjs.b; exports.defineAccessibilityContract = ne; exports.defineFormFillContract = ae; exports.defineOverrideContract = oe; exports.defineSkinContract = te; exports.defineWidgetContract = re; exports.english = _chunkUYR3UEIWcjs.p; exports.lightTheme = _chunk4BWV3SELcjs.a; exports.renderWithWaypoint = K; exports.simplifiedChinese = _chunkUYR3UEIWcjs.r; exports.themeProperties = _chunk4BWV3SELcjs.c;
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 _chunkBRUQ75G3cjs = require('../chunk-BRUQ75G3.cjs');var _chunkA3YOSFLEcjs = require('../chunk-A3YOSFLE.cjs');require('../chunk-FBADWFRR.cjs');require('../chunk-QS3MKZOY.cjs');require('../chunk-RZ3AGK3U.cjs');var _chunk4BWV3SELcjs = require('../chunk-4BWV3SEL.cjs');require('../chunk-GT6PI4CT.cjs');var _chunkLLPGVQUTcjs = require('../chunk-LLPGVQUT.cjs');var _chunk3KV7TDDRcjs = require('../chunk-3KV7TDDR.cjs');var _chunkQ7BULGQGcjs = require('../chunk-Q7BULGQG.cjs');require('../chunk-XSHOLIC7.cjs');require('../chunk-II26UWZM.cjs');var W=(e,r)=>e.id===r||(_nullishCoalesce(_optionalChain([e, 'access', _ => _.body, 'optionalAccess', _2 => _2.blocks]), () => ([]))).some(s=>W(s,r));function v(e=Date.now){let r=new Map,s=new Map,t=new Map,n=[],a=0,c=o=>{let i=t.get(o);return i||(i={protocol:"1.0",id:o,title:"Example",messages:[]},t.set(o,i)),i},u=(o,i)=>{for(let l of _nullishCoalesce(r.get(o), () => ([])))l(i)};return{transport:{negotiate:async()=>({protocol:"1.0",capabilities:["plans","flows","widgets"]}),read:async o=>structuredClone(c(o)),send:async(o,i)=>{let l=JSON.stringify([i,o.clientReplyId]),b=JSON.stringify({...o,protocol:void 0}),h=s.get(l),I={id:o.clientReplyId,code:"refused"};if(h){if(h.body!==b)throw I;return h.result}let S=c(i),R="blockId"in o?S.messages.flatMap(p=>p.blocks).find(p=>W(p,o.blockId)):void 0;if(_optionalChain([R, 'optionalAccess', _3 => _3.answered]))throw I;if(o.kind==="stop"){let p=S.messages.find(A=>A.id===o.messageId&&A.role==="assistant");if(!p)throw I;p.status==="writing"&&(o.versionIndex===void 0||o.versionIndex===(_nullishCoalesce(p.versionIndex, () => (1))))&&(p.status="stopped");let P={id:`reply-${++a}`};return s.set(l,{body:b,result:P}),P}let m=n.shift();if(_optionalChain([m, 'optionalAccess', _4 => _4.problem]))throw m.problem;if(R){let p={...o};delete p.protocol,R.answered=!0,R.answer=p}o.kind==="message"&&S.messages.push({id:`message-${++a}`,clientMessageId:o.clientMessageId,role:"user",content:o.content,blocks:[],createdAt:e()}),m&&(m.content!==void 0||m.blocks!==void 0)&&S.messages.push({id:`message-${++a}`,role:"assistant",content:_nullishCoalesce(m.content, () => ("")),blocks:_nullishCoalesce(m.blocks, () => ([])),createdAt:e(),...m.writing&&{status:"writing"}});for(let p of _nullishCoalesce(_optionalChain([m, 'optionalAccess', _5 => _5.events]), () => ([])))u(i,p);let q={id:`reply-${++a}`};return s.set(l,{body:b,result:q}),q},subscribe:(o,i)=>{let l=r.get(o);return l||(l=new Set,r.set(o,l)),l.add(i),()=>{l.delete(i)}}},enqueue:o=>{n.push(o)},emit:u,activeStreams:()=>[...r.values()].reduce((o,i)=>o+i.size,0)}}function w(){let e=0;return{clock:{now:()=>Date.now(),setTimeout:(r,s)=>setTimeout(r,s),clearTimeout:r=>clearTimeout(r)},online:()=>!0,visibility:()=>!0,ids:()=>`test-${++e}`}}var _react = require('react');var _react3 = require('@testing-library/react');function K(e,r){return _react3.render.call(void 0, _react.createElement.call(void 0, _chunkA3YOSFLEcjs.w,{client:r.client,...r.skin},e))}function te(e,r={}){e.test("composer, keyboard and accessibility contract",async()=>{let s=v(),t=_chunk3KV7TDDRcjs.i.call(void 0, {accountId:"test-account",conversationId:"test-conversation",platform:w(),transport:s.transport});await t.ready;try{let n=_react3.render.call(void 0, _react.createElement.call(void 0, _chunkA3YOSFLEcjs.O,{client:t,...r})),a=n.getByRole("textbox",{name:"Message"});await _react3.act.call(void 0, async()=>{_react3.fireEvent.change(a,{target:{value:"Keep"}})}),_react3.fireEvent.keyDown(a,{key:"Enter",shiftKey:!0}),e.assert.equal(t.getSnapshot().draft,"Keep"),await _react3.act.call(void 0, async()=>{_react3.fireEvent.keyDown(a,{key:"Enter"})}),e.assert.equal(t.getSnapshot().draft,""),e.assert.ok(n.getByRole("alert"))}finally{_react3.cleanup.call(void 0, ),t.dispose()}})}function oe(e,r={}){e.test("slot, provider and widget isolation contract",async()=>{let s=v();s.enqueue({content:"Fixture",blocks:[{type:"markdown",id:"widget-a",fallback:"Readable",body:{text:"Widget"}}]});let t=_chunk3KV7TDDRcjs.i.call(void 0, {accountId:"test-account",conversationId:"test-conversation",platform:w(),transport:s.transport});await t.ready,await t.setDraft("Start"),await t.send();try{let n=_react3.render.call(void 0, _react.createElement.call(void 0, _chunkA3YOSFLEcjs.O,{client:t,...r}));await _react3.waitFor.call(void 0, ()=>{if(!n.container.querySelector('[data-part="widgetFrame"] .wp-markdown'))throw new Error("Markdown is not ready")});let a=()=>{let u=new Map;for(let f of n.container.querySelectorAll("[data-part]")){let o=f.getAttribute("data-part");if(["composer","widgetFrame","messageActions","extraPanels"].includes(o))continue;let i=f.cloneNode(!0);for(let b of i.querySelectorAll("[data-part]"))b.replaceChildren();let l=_nullishCoalesce(u.get(o), () => ([]));l.push(i.outerHTML),u.set(o,l)}return[...u]},c=a();n.rerender(_react.createElement.call(void 0, _chunkA3YOSFLEcjs.O,{client:t,...r,slots:{composer:()=>_react.createElement.call(void 0, "span",null,"Custom composer"),messageActions:()=>_react.createElement.call(void 0, "span",null,"Custom actions"),extraPanels:()=>_react.createElement.call(void 0, "span",null,"Custom panel")}})),e.assert.equal(a(),c),e.assert.ok(n.queryAllByText("Custom actions").length),n.rerender(_react.createElement.call(void 0, _chunkA3YOSFLEcjs.O,{client:t,...r,parts:{composer:()=>_react.createElement.call(void 0, "span",null,"Custom composer")}})),e.assert.equal(a(),c),n.rerender(_react.createElement.call(void 0, _chunkA3YOSFLEcjs.O,{client:t,...r,widgets:[{type:"markdown",render:()=>_react.createElement.call(void 0, "span",null,"Custom markdown")}]})),e.assert.ok(n.queryByText("Custom markdown")),e.assert.equal(a(),c)}finally{_react3.cleanup.call(void 0, ),t.dispose()}})}function re(e,r={}){let s={markdown:{text:"**Readable**"},"form.fill":{requestId:"request-a",values:{title:{value:"Draft",validation:{status:"valid",messages:[]}}}},card:{title:"Card",blocks:[]},list:{items:["Item"]},table:{columns:["Title"],rows:[["Value"]]},form:{fields:[{name:"title",label:"Title",required:!0}]},choice:{mode:"single",options:["One","Two"]},buttons:{actions:[{id:"accept",label:"Accept"}]},diff:{before:"Before",after:"After"},plan:{planId:"plan-a"},"route-link":{label:"View",route:"/items/a"},notice:{text:"Notice"}};for(let[t,n]of Object.entries(s))e.test(`widget contract: ${t}`,async()=>{let a=v(),c=_chunk3KV7TDDRcjs.i.call(void 0, {accountId:"test-account",conversationId:"test-conversation",platform:w(),transport:a.transport});await c.ready;try{let f=K(_react.createElement.call(void 0, _chunkA3YOSFLEcjs.M,{block:{type:t,id:"widget-a",fallback:"Readable",body:n},disabled:!1,onReply:()=>{}}),{client:c,skin:r});e.assert.ok(f.container.textContent)}finally{_react3.cleanup.call(void 0, ),c.dispose()}})}function ne(e,r={}){e.test("failure announcement and direction contract",async()=>{let s=v(),t=_chunk3KV7TDDRcjs.i.call(void 0, {accountId:"test-account",conversationId:"test-conversation",platform:w(),transport:s.transport});await t.ready;try{let n=_react3.render.call(void 0, _react.createElement.call(void 0, _chunkA3YOSFLEcjs.O,{client:t,...r,dir:"rtl"}));await _react3.act.call(void 0, async()=>{t.report({id:"failure-a",code:"refused"})}),e.assert.ok(n.getByRole("alert").textContent),e.assert.equal(_optionalChain([n, 'access', _6 => _6.container, 'access', _7 => _7.querySelector, 'call', _8 => _8(".waypoint"), 'optionalAccess', _9 => _9.getAttribute, 'call', _10 => _10("dir")]),"rtl");let a=t.getSnapshot().announcement;await _react3.act.call(void 0, async()=>{t.report({id:"failure-a",code:"refused"})}),e.assert.equal(t.getSnapshot().announcement,a+1)}finally{_react3.cleanup.call(void 0, ),t.dispose()}})}function ae(e,r={}){e.test("form drafts and field adornment contract",async()=>{let s=v(),t=_chunk3KV7TDDRcjs.i.call(void 0, {accountId:"form-account",conversationId:"form-chat",platform:w(),transport:s.transport});await t.ready;let n=_chunkLLPGVQUTcjs.a.call(void 0, {fields:[{name:"title",label:"Title",tier:"low",value:"Draft"}],ids:()=>"form-contract"});try{let a=K(_react.createElement.call(void 0, _chunkBRUQ75G3cjs.c,{session:n,onRegenerate:()=>{}}),{client:t,skin:r}),c=a.getByRole("textbox",{name:"Title"});_react3.act.call(void 0, ()=>{c.focus()}),e.assert.ok(a.getByRole("button",{name:"Regenerate Title"})),e.assert.ok(a.getAllByRole("status").some(f=>f.textContent==="Regenerate Title")),_react3.fireEvent.change(c,{target:{value:"Edited"}}),e.assert.equal(_optionalChain([n, 'access', _11 => _11.getSnapshot, 'call', _12 => _12(), 'access', _13 => _13.fields, 'access', _14 => _14.title, 'optionalAccess', _15 => _15.value]),"Edited");let u=n.begin({text:"Fill"});_react3.act.call(void 0, ()=>{n.receive({requestId:u.requestId,values:{title:{value:"Proposal",validation:{status:"valid",messages:[]}}}})}),e.assert.equal(c.value,"Edited"),_react3.fireEvent.click(await a.findByRole("button",{name:"Replace"})),e.assert.equal(c.value,"Proposal")}finally{_react3.cleanup.call(void 0, ),n.dispose(),t.dispose()}})}exports.CAPABILITIES = _chunkQ7BULGQGcjs.b; exports.addMessages = _chunkA3YOSFLEcjs.q; exports.catalogueFor = _chunkA3YOSFLEcjs.s; exports.createFormatter = _chunkA3YOSFLEcjs.t; exports.createScriptedTransport = v; exports.createTestPlatform = w; exports.darkTheme = _chunk4BWV3SELcjs.b; exports.defineAccessibilityContract = ne; exports.defineFormFillContract = ae; exports.defineOverrideContract = oe; exports.defineSkinContract = te; exports.defineWidgetContract = re; exports.english = _chunkA3YOSFLEcjs.p; exports.lightTheme = _chunk4BWV3SELcjs.a; exports.renderWithWaypoint = K; exports.simplifiedChinese = _chunkA3YOSFLEcjs.r; exports.themeProperties = _chunk4BWV3SELcjs.c;
@@ -6,9 +6,9 @@ import { ReactElement } from 'react';
6
6
  import { RenderResult } from '@testing-library/react';
7
7
  import { WaypointProviderProps } from '../react/index.cjs';
8
8
  export { ButtonProps, CheckboxProps, ConfirmSheet, ConversationRail, ConversationRailProps, DrawerProps, FieldAdornment, FieldAdornmentProps, FormFillFields, FormFillFieldsProps, FormFillPopup, FormFillPopupProps, InputProps, MarkdownImagePolicy, PartData, PartDataMap, PartMessage, PartName, PartPending, PartProps, PartStep, PlanDiagram, PlanDiagramProps, PrimitiveComponents, PrivateAttachmentPort, RecoveryPanel, Slots, ThemeTokensHook, WaypointChat, WaypointChatProps, WaypointProvider, Widget, WidgetProps, WidgetRegistration, defaultProblemText, isSafeUrl, partNames, standardWidgets, useComposer, useConversation, useFlows, useFormFill, usePlan, useWaypointClient } from '../react/index.cjs';
9
- export { A as ActionEntry, a as ActionId, B as BlockAnswer, b as BlockReply, j as BlockSummary, K as KeepSheet, c as KeepSheetView, P as PlanView, d as PlanViewAlert, e as PlanViewInput, f as PlanViewStatus, S as StepStatus, T as Tone, V as ViewMessage, g as cardReplyId, k as keepSheet, n as noticeMessages, p as planView, u as useBlockReply, h as usePlanView, i as useWaypointSnapshot } from '../block-reply-DN4RiLL0.cjs';
10
- export { P as PlanLabels, s as stepName } from '../step-name-3hQ6CCGr.cjs';
11
- export { B as BlockCatalogue, a as BlockMessageKey, C as ConfirmationCatalogue, b as ConfirmationMessageKey, F as FormCatalogue, c as FormMessageKey, d as FormatMessage, M as MessageKey, e as MessageValues, P as ProblemCatalogue, f as ProblemMessageKey, R as RecoveryCatalogue, g as RecoveryMessageKey, h as ReplyCatalogue, i as ReplyMessageKey, k as addMessages, l as catalogueFor, m as createFormatter, j as english, s as simplifiedChinese } from '../i18n-DPNfYTMG.cjs';
9
+ export { A as ActionEntry, a as ActionId, B as BlockAnswer, b as BlockReply, m as BlockSummary, K as KeepSheet, c as KeepSheetView, P as PlanView, d as PlanViewAlert, e as PlanViewInput, f as PlanViewStatus, S as StepStatus, T as Tone, V as ViewMessage, g as cardReplyId, k as keepSheet, n as noticeMessages, p as planView, u as useBlockReply, h as usePlanView, i as useWaypointMessage, j as useWaypointSelector, l as useWaypointSnapshot } from '../block-reply-r8u-DNmZ.cjs';
10
+ export { P as PlanLabels, s as stepName } from '../step-name-CB3d3kkP.cjs';
11
+ export { B as BlockCatalogue, a as BlockMessageKey, C as ConfirmationCatalogue, b as ConfirmationMessageKey, F as FormCatalogue, c as FormMessageKey, d as FormatMessage, M as MessageKey, e as MessageValues, P as ProblemCatalogue, f as ProblemMessageKey, R as RecoveryCatalogue, g as RecoveryMessageKey, h as ReplyCatalogue, i as ReplyMessageKey, k as addMessages, l as catalogueFor, m as createFormatter, j as english, s as simplifiedChinese } from '../i18n-WC9f-h_q.cjs';
12
12
  export { RequiredThemeToken, ResolvedTheme, Theme, ThemeToken, darkTheme, lightTheme, themeProperties } from '../skin-default/index.cjs';
13
13
  export { I as IntentAlert, b as IntentFailure, c as IntentNotice, d as IntentOverlay, a as ScopeSignal } from '../intent-BQPPows1.cjs';
14
14
 
@@ -6,9 +6,9 @@ import { ReactElement } from 'react';
6
6
  import { RenderResult } from '@testing-library/react';
7
7
  import { WaypointProviderProps } from '../react/index.js';
8
8
  export { ButtonProps, CheckboxProps, ConfirmSheet, ConversationRail, ConversationRailProps, DrawerProps, FieldAdornment, FieldAdornmentProps, FormFillFields, FormFillFieldsProps, FormFillPopup, FormFillPopupProps, InputProps, MarkdownImagePolicy, PartData, PartDataMap, PartMessage, PartName, PartPending, PartProps, PartStep, PlanDiagram, PlanDiagramProps, PrimitiveComponents, PrivateAttachmentPort, RecoveryPanel, Slots, ThemeTokensHook, WaypointChat, WaypointChatProps, WaypointProvider, Widget, WidgetProps, WidgetRegistration, defaultProblemText, isSafeUrl, partNames, standardWidgets, useComposer, useConversation, useFlows, useFormFill, usePlan, useWaypointClient } from '../react/index.js';
9
- export { A as ActionEntry, a as ActionId, B as BlockAnswer, b as BlockReply, j as BlockSummary, K as KeepSheet, c as KeepSheetView, P as PlanView, d as PlanViewAlert, e as PlanViewInput, f as PlanViewStatus, S as StepStatus, T as Tone, V as ViewMessage, g as cardReplyId, k as keepSheet, n as noticeMessages, p as planView, u as useBlockReply, h as usePlanView, i as useWaypointSnapshot } from '../block-reply-Dtof9ild.js';
10
- export { P as PlanLabels, s as stepName } from '../step-name-BdkYnb5g.js';
11
- export { B as BlockCatalogue, a as BlockMessageKey, C as ConfirmationCatalogue, b as ConfirmationMessageKey, F as FormCatalogue, c as FormMessageKey, d as FormatMessage, M as MessageKey, e as MessageValues, P as ProblemCatalogue, f as ProblemMessageKey, R as RecoveryCatalogue, g as RecoveryMessageKey, h as ReplyCatalogue, i as ReplyMessageKey, k as addMessages, l as catalogueFor, m as createFormatter, j as english, s as simplifiedChinese } from '../i18n-DPNfYTMG.js';
9
+ export { A as ActionEntry, a as ActionId, B as BlockAnswer, b as BlockReply, m as BlockSummary, K as KeepSheet, c as KeepSheetView, P as PlanView, d as PlanViewAlert, e as PlanViewInput, f as PlanViewStatus, S as StepStatus, T as Tone, V as ViewMessage, g as cardReplyId, k as keepSheet, n as noticeMessages, p as planView, u as useBlockReply, h as usePlanView, i as useWaypointMessage, j as useWaypointSelector, l as useWaypointSnapshot } from '../block-reply-z8El20nD.js';
10
+ export { P as PlanLabels, s as stepName } from '../step-name-BlgVvshf.js';
11
+ export { B as BlockCatalogue, a as BlockMessageKey, C as ConfirmationCatalogue, b as ConfirmationMessageKey, F as FormCatalogue, c as FormMessageKey, d as FormatMessage, M as MessageKey, e as MessageValues, P as ProblemCatalogue, f as ProblemMessageKey, R as RecoveryCatalogue, g as RecoveryMessageKey, h as ReplyCatalogue, i as ReplyMessageKey, k as addMessages, l as catalogueFor, m as createFormatter, j as english, s as simplifiedChinese } from '../i18n-WC9f-h_q.js';
12
12
  export { RequiredThemeToken, ResolvedTheme, Theme, ThemeToken, darkTheme, lightTheme, themeProperties } from '../skin-default/index.js';
13
13
  export { I as IntentAlert, b as IntentFailure, c as IntentNotice, d as IntentOverlay, a as ScopeSignal } from '../intent-BuvqEU3Q.js';
14
14
 
@@ -1 +1 @@
1
- import{c as F}from"../chunk-W6Y7H56X.js";import{M,O as y,p as H,q as J,r as V,s as j,t as z,w as E}from"../chunk-TGL3DR2K.js";import"../chunk-FQSWQLRW.js";import"../chunk-OWT55N6J.js";import"../chunk-RHBDQGD4.js";import{a as $,b as L,c as N}from"../chunk-RZZDQWC2.js";import"../chunk-M63QOANE.js";import{a as B}from"../chunk-TCFCSGQ3.js";import{i as g}from"../chunk-L4PFFRDE.js";import{b as D}from"../chunk-T5XF2R74.js";import"../chunk-K73VV7KA.js";import"../chunk-5TBO732O.js";var W=(e,r)=>e.id===r||(e.body?.blocks??[]).some(s=>W(s,r));function v(e=Date.now){let r=new Map,s=new Map,t=new Map,n=[],a=0,c=o=>{let i=t.get(o);return i||(i={protocol:"1.0",id:o,title:"Example",messages:[]},t.set(o,i)),i},u=(o,i)=>{for(let l of r.get(o)??[])l(i)};return{transport:{negotiate:async()=>({protocol:"1.0",capabilities:["plans","flows","widgets"]}),read:async o=>structuredClone(c(o)),send:async(o,i)=>{let l=JSON.stringify([i,o.clientReplyId]),b=JSON.stringify({...o,protocol:void 0}),h=s.get(l),I={id:o.clientReplyId,code:"refused"};if(h){if(h.body!==b)throw I;return h.result}let S=c(i),R="blockId"in o?S.messages.flatMap(p=>p.blocks).find(p=>W(p,o.blockId)):void 0;if(R?.answered)throw I;if(o.kind==="stop"){let p=S.messages.find(A=>A.id===o.messageId&&A.role==="assistant");if(!p)throw I;p.status==="writing"&&(o.versionIndex===void 0||o.versionIndex===(p.versionIndex??1))&&(p.status="stopped");let P={id:`reply-${++a}`};return s.set(l,{body:b,result:P}),P}let m=n.shift();if(m?.problem)throw m.problem;if(R){let p={...o};delete p.protocol,R.answered=!0,R.answer=p}o.kind==="message"&&S.messages.push({id:`message-${++a}`,clientMessageId:o.clientMessageId,role:"user",content:o.content,blocks:[],createdAt:e()}),m&&(m.content!==void 0||m.blocks!==void 0)&&S.messages.push({id:`message-${++a}`,role:"assistant",content:m.content??"",blocks:m.blocks??[],createdAt:e(),...m.writing&&{status:"writing"}});for(let p of m?.events??[])u(i,p);let q={id:`reply-${++a}`};return s.set(l,{body:b,result:q}),q},subscribe:(o,i)=>{let l=r.get(o);return l||(l=new Set,r.set(o,l)),l.add(i),()=>{l.delete(i)}}},enqueue:o=>{n.push(o)},emit:u,activeStreams:()=>[...r.values()].reduce((o,i)=>o+i.size,0)}}function w(){let e=0;return{clock:{now:()=>Date.now(),setTimeout:(r,s)=>setTimeout(r,s),clearTimeout:r=>clearTimeout(r)},online:()=>!0,visibility:()=>!0,ids:()=>`test-${++e}`}}import{createElement as d}from"react";import{render as T,fireEvent as k,act as x,cleanup as C,waitFor as O}from"@testing-library/react";function K(e,r){return T(d(E,{client:r.client,...r.skin},e))}function te(e,r={}){e.test("composer, keyboard and accessibility contract",async()=>{let s=v(),t=g({accountId:"test-account",conversationId:"test-conversation",platform:w(),transport:s.transport});await t.ready;try{let n=T(d(y,{client:t,...r})),a=n.getByRole("textbox",{name:"Message"});await x(async()=>{k.change(a,{target:{value:"Keep"}})}),k.keyDown(a,{key:"Enter",shiftKey:!0}),e.assert.equal(t.getSnapshot().draft,"Keep"),await x(async()=>{k.keyDown(a,{key:"Enter"})}),e.assert.equal(t.getSnapshot().draft,""),e.assert.ok(n.getByRole("alert"))}finally{C(),t.dispose()}})}function oe(e,r={}){e.test("slot, provider and widget isolation contract",async()=>{let s=v();s.enqueue({content:"Fixture",blocks:[{type:"markdown",id:"widget-a",fallback:"Readable",body:{text:"Widget"}}]});let t=g({accountId:"test-account",conversationId:"test-conversation",platform:w(),transport:s.transport});await t.ready,await t.setDraft("Start"),await t.send();try{let n=T(d(y,{client:t,...r}));await O(()=>{if(!n.container.querySelector('[data-part="widgetFrame"] .wp-markdown'))throw new Error("Markdown is not ready")});let a=()=>{let u=new Map;for(let f of n.container.querySelectorAll("[data-part]")){let o=f.getAttribute("data-part");if(["composer","widgetFrame","messageActions","extraPanels"].includes(o))continue;let i=f.cloneNode(!0);for(let b of i.querySelectorAll("[data-part]"))b.replaceChildren();let l=u.get(o)??[];l.push(i.outerHTML),u.set(o,l)}return[...u]},c=a();n.rerender(d(y,{client:t,...r,slots:{composer:()=>d("span",null,"Custom composer"),messageActions:()=>d("span",null,"Custom actions"),extraPanels:()=>d("span",null,"Custom panel")}})),e.assert.equal(a(),c),e.assert.ok(n.queryAllByText("Custom actions").length),n.rerender(d(y,{client:t,...r,parts:{composer:()=>d("span",null,"Custom composer")}})),e.assert.equal(a(),c),n.rerender(d(y,{client:t,...r,widgets:[{type:"markdown",render:()=>d("span",null,"Custom markdown")}]})),e.assert.ok(n.queryByText("Custom markdown")),e.assert.equal(a(),c)}finally{C(),t.dispose()}})}function re(e,r={}){let s={markdown:{text:"**Readable**"},"form.fill":{requestId:"request-a",values:{title:{value:"Draft",validation:{status:"valid",messages:[]}}}},card:{title:"Card",blocks:[]},list:{items:["Item"]},table:{columns:["Title"],rows:[["Value"]]},form:{fields:[{name:"title",label:"Title",required:!0}]},choice:{mode:"single",options:["One","Two"]},buttons:{actions:[{id:"accept",label:"Accept"}]},diff:{before:"Before",after:"After"},plan:{planId:"plan-a"},"route-link":{label:"View",route:"/items/a"},notice:{text:"Notice"}};for(let[t,n]of Object.entries(s))e.test(`widget contract: ${t}`,async()=>{let a=v(),c=g({accountId:"test-account",conversationId:"test-conversation",platform:w(),transport:a.transport});await c.ready;try{let f=K(d(M,{block:{type:t,id:"widget-a",fallback:"Readable",body:n},disabled:!1,onReply:()=>{}}),{client:c,skin:r});e.assert.ok(f.container.textContent)}finally{C(),c.dispose()}})}function ne(e,r={}){e.test("failure announcement and direction contract",async()=>{let s=v(),t=g({accountId:"test-account",conversationId:"test-conversation",platform:w(),transport:s.transport});await t.ready;try{let n=T(d(y,{client:t,...r,dir:"rtl"}));await x(async()=>{t.report({id:"failure-a",code:"refused"})}),e.assert.ok(n.getByRole("alert").textContent),e.assert.equal(n.container.querySelector(".waypoint")?.getAttribute("dir"),"rtl");let a=t.getSnapshot().announcement;await x(async()=>{t.report({id:"failure-a",code:"refused"})}),e.assert.equal(t.getSnapshot().announcement,a+1)}finally{C(),t.dispose()}})}function ae(e,r={}){e.test("form drafts and field adornment contract",async()=>{let s=v(),t=g({accountId:"form-account",conversationId:"form-chat",platform:w(),transport:s.transport});await t.ready;let n=B({fields:[{name:"title",label:"Title",tier:"low",value:"Draft"}],ids:()=>"form-contract"});try{let a=K(d(F,{session:n,onRegenerate:()=>{}}),{client:t,skin:r}),c=a.getByRole("textbox",{name:"Title"});x(()=>{c.focus()}),e.assert.ok(a.getByRole("button",{name:"Regenerate Title"})),e.assert.ok(a.getAllByRole("status").some(f=>f.textContent==="Regenerate Title")),k.change(c,{target:{value:"Edited"}}),e.assert.equal(n.getSnapshot().fields.title?.value,"Edited");let u=n.begin({text:"Fill"});x(()=>{n.receive({requestId:u.requestId,values:{title:{value:"Proposal",validation:{status:"valid",messages:[]}}}})}),e.assert.equal(c.value,"Edited"),k.click(await a.findByRole("button",{name:"Replace"})),e.assert.equal(c.value,"Proposal")}finally{C(),n.dispose(),t.dispose()}})}export{D as CAPABILITIES,J as addMessages,j as catalogueFor,z as createFormatter,v as createScriptedTransport,w as createTestPlatform,L as darkTheme,ne as defineAccessibilityContract,ae as defineFormFillContract,oe as defineOverrideContract,te as defineSkinContract,re as defineWidgetContract,H as english,$ as lightTheme,K as renderWithWaypoint,V as simplifiedChinese,N as themeProperties};
1
+ import{c as F}from"../chunk-5Q3INHKA.js";import{M,O as y,p as H,q as J,r as V,s as j,t as z,w as E}from"../chunk-IPI4O4LP.js";import"../chunk-FQSWQLRW.js";import"../chunk-OWT55N6J.js";import"../chunk-QFBAOEPD.js";import{a as $,b as L,c as N}from"../chunk-RZZDQWC2.js";import"../chunk-M63QOANE.js";import{a as B}from"../chunk-TCFCSGQ3.js";import{i as g}from"../chunk-L4PFFRDE.js";import{b as D}from"../chunk-T5XF2R74.js";import"../chunk-K73VV7KA.js";import"../chunk-5TBO732O.js";var W=(e,r)=>e.id===r||(e.body?.blocks??[]).some(s=>W(s,r));function v(e=Date.now){let r=new Map,s=new Map,t=new Map,n=[],a=0,c=o=>{let i=t.get(o);return i||(i={protocol:"1.0",id:o,title:"Example",messages:[]},t.set(o,i)),i},u=(o,i)=>{for(let l of r.get(o)??[])l(i)};return{transport:{negotiate:async()=>({protocol:"1.0",capabilities:["plans","flows","widgets"]}),read:async o=>structuredClone(c(o)),send:async(o,i)=>{let l=JSON.stringify([i,o.clientReplyId]),b=JSON.stringify({...o,protocol:void 0}),h=s.get(l),I={id:o.clientReplyId,code:"refused"};if(h){if(h.body!==b)throw I;return h.result}let S=c(i),R="blockId"in o?S.messages.flatMap(p=>p.blocks).find(p=>W(p,o.blockId)):void 0;if(R?.answered)throw I;if(o.kind==="stop"){let p=S.messages.find(A=>A.id===o.messageId&&A.role==="assistant");if(!p)throw I;p.status==="writing"&&(o.versionIndex===void 0||o.versionIndex===(p.versionIndex??1))&&(p.status="stopped");let P={id:`reply-${++a}`};return s.set(l,{body:b,result:P}),P}let m=n.shift();if(m?.problem)throw m.problem;if(R){let p={...o};delete p.protocol,R.answered=!0,R.answer=p}o.kind==="message"&&S.messages.push({id:`message-${++a}`,clientMessageId:o.clientMessageId,role:"user",content:o.content,blocks:[],createdAt:e()}),m&&(m.content!==void 0||m.blocks!==void 0)&&S.messages.push({id:`message-${++a}`,role:"assistant",content:m.content??"",blocks:m.blocks??[],createdAt:e(),...m.writing&&{status:"writing"}});for(let p of m?.events??[])u(i,p);let q={id:`reply-${++a}`};return s.set(l,{body:b,result:q}),q},subscribe:(o,i)=>{let l=r.get(o);return l||(l=new Set,r.set(o,l)),l.add(i),()=>{l.delete(i)}}},enqueue:o=>{n.push(o)},emit:u,activeStreams:()=>[...r.values()].reduce((o,i)=>o+i.size,0)}}function w(){let e=0;return{clock:{now:()=>Date.now(),setTimeout:(r,s)=>setTimeout(r,s),clearTimeout:r=>clearTimeout(r)},online:()=>!0,visibility:()=>!0,ids:()=>`test-${++e}`}}import{createElement as d}from"react";import{render as T,fireEvent as k,act as x,cleanup as C,waitFor as O}from"@testing-library/react";function K(e,r){return T(d(E,{client:r.client,...r.skin},e))}function te(e,r={}){e.test("composer, keyboard and accessibility contract",async()=>{let s=v(),t=g({accountId:"test-account",conversationId:"test-conversation",platform:w(),transport:s.transport});await t.ready;try{let n=T(d(y,{client:t,...r})),a=n.getByRole("textbox",{name:"Message"});await x(async()=>{k.change(a,{target:{value:"Keep"}})}),k.keyDown(a,{key:"Enter",shiftKey:!0}),e.assert.equal(t.getSnapshot().draft,"Keep"),await x(async()=>{k.keyDown(a,{key:"Enter"})}),e.assert.equal(t.getSnapshot().draft,""),e.assert.ok(n.getByRole("alert"))}finally{C(),t.dispose()}})}function oe(e,r={}){e.test("slot, provider and widget isolation contract",async()=>{let s=v();s.enqueue({content:"Fixture",blocks:[{type:"markdown",id:"widget-a",fallback:"Readable",body:{text:"Widget"}}]});let t=g({accountId:"test-account",conversationId:"test-conversation",platform:w(),transport:s.transport});await t.ready,await t.setDraft("Start"),await t.send();try{let n=T(d(y,{client:t,...r}));await O(()=>{if(!n.container.querySelector('[data-part="widgetFrame"] .wp-markdown'))throw new Error("Markdown is not ready")});let a=()=>{let u=new Map;for(let f of n.container.querySelectorAll("[data-part]")){let o=f.getAttribute("data-part");if(["composer","widgetFrame","messageActions","extraPanels"].includes(o))continue;let i=f.cloneNode(!0);for(let b of i.querySelectorAll("[data-part]"))b.replaceChildren();let l=u.get(o)??[];l.push(i.outerHTML),u.set(o,l)}return[...u]},c=a();n.rerender(d(y,{client:t,...r,slots:{composer:()=>d("span",null,"Custom composer"),messageActions:()=>d("span",null,"Custom actions"),extraPanels:()=>d("span",null,"Custom panel")}})),e.assert.equal(a(),c),e.assert.ok(n.queryAllByText("Custom actions").length),n.rerender(d(y,{client:t,...r,parts:{composer:()=>d("span",null,"Custom composer")}})),e.assert.equal(a(),c),n.rerender(d(y,{client:t,...r,widgets:[{type:"markdown",render:()=>d("span",null,"Custom markdown")}]})),e.assert.ok(n.queryByText("Custom markdown")),e.assert.equal(a(),c)}finally{C(),t.dispose()}})}function re(e,r={}){let s={markdown:{text:"**Readable**"},"form.fill":{requestId:"request-a",values:{title:{value:"Draft",validation:{status:"valid",messages:[]}}}},card:{title:"Card",blocks:[]},list:{items:["Item"]},table:{columns:["Title"],rows:[["Value"]]},form:{fields:[{name:"title",label:"Title",required:!0}]},choice:{mode:"single",options:["One","Two"]},buttons:{actions:[{id:"accept",label:"Accept"}]},diff:{before:"Before",after:"After"},plan:{planId:"plan-a"},"route-link":{label:"View",route:"/items/a"},notice:{text:"Notice"}};for(let[t,n]of Object.entries(s))e.test(`widget contract: ${t}`,async()=>{let a=v(),c=g({accountId:"test-account",conversationId:"test-conversation",platform:w(),transport:a.transport});await c.ready;try{let f=K(d(M,{block:{type:t,id:"widget-a",fallback:"Readable",body:n},disabled:!1,onReply:()=>{}}),{client:c,skin:r});e.assert.ok(f.container.textContent)}finally{C(),c.dispose()}})}function ne(e,r={}){e.test("failure announcement and direction contract",async()=>{let s=v(),t=g({accountId:"test-account",conversationId:"test-conversation",platform:w(),transport:s.transport});await t.ready;try{let n=T(d(y,{client:t,...r,dir:"rtl"}));await x(async()=>{t.report({id:"failure-a",code:"refused"})}),e.assert.ok(n.getByRole("alert").textContent),e.assert.equal(n.container.querySelector(".waypoint")?.getAttribute("dir"),"rtl");let a=t.getSnapshot().announcement;await x(async()=>{t.report({id:"failure-a",code:"refused"})}),e.assert.equal(t.getSnapshot().announcement,a+1)}finally{C(),t.dispose()}})}function ae(e,r={}){e.test("form drafts and field adornment contract",async()=>{let s=v(),t=g({accountId:"form-account",conversationId:"form-chat",platform:w(),transport:s.transport});await t.ready;let n=B({fields:[{name:"title",label:"Title",tier:"low",value:"Draft"}],ids:()=>"form-contract"});try{let a=K(d(F,{session:n,onRegenerate:()=>{}}),{client:t,skin:r}),c=a.getByRole("textbox",{name:"Title"});x(()=>{c.focus()}),e.assert.ok(a.getByRole("button",{name:"Regenerate Title"})),e.assert.ok(a.getAllByRole("status").some(f=>f.textContent==="Regenerate Title")),k.change(c,{target:{value:"Edited"}}),e.assert.equal(n.getSnapshot().fields.title?.value,"Edited");let u=n.begin({text:"Fill"});x(()=>{n.receive({requestId:u.requestId,values:{title:{value:"Proposal",validation:{status:"valid",messages:[]}}}})}),e.assert.equal(c.value,"Edited"),k.click(await a.findByRole("button",{name:"Replace"})),e.assert.equal(c.value,"Proposal")}finally{C(),n.dispose(),t.dispose()}})}export{D as CAPABILITIES,J as addMessages,j as catalogueFor,z as createFormatter,v as createScriptedTransport,w as createTestPlatform,L as darkTheme,ne as defineAccessibilityContract,ae as defineFormFillContract,oe as defineOverrideContract,te as defineSkinContract,re as defineWidgetContract,H as english,$ as lightTheme,K as renderWithWaypoint,V as simplifiedChinese,N as themeProperties};
package/etc/hooks.api.md CHANGED
@@ -673,6 +673,9 @@ export const english: {
673
673
  readonly "chat.latest": "Back to latest";
674
674
  readonly "chat.latestNew": "{count, plural, one {Back to latest, # new reply} other {Back to latest, # new replies}}";
675
675
  readonly "chat.outline": "Message outline";
676
+ readonly "chat.outlineFilter": "Filter messages";
677
+ readonly "chat.outlineMatches": "{count, plural, =0 {No messages match} one {# message matches} other {# messages match}}";
678
+ readonly "chat.outlineSearching": "Searching…";
676
679
  readonly "chat.rail": "Conversations";
677
680
  readonly "chat.close": "Close";
678
681
  readonly "chat.quota": "Usage";
@@ -2254,6 +2257,12 @@ export function usePlanView(client?: WaypointClient): {
2254
2257
  sheet: KeepSheet | null;
2255
2258
  };
2256
2259
 
2260
+ // @public
2261
+ export function useWaypointMessage(messageId: string, client?: WaypointClient): Message | undefined;
2262
+
2263
+ // @public
2264
+ export function useWaypointSelector<T>(selector: (snapshot: ClientSnapshot) => T, isEqual?: (a: T, b: T) => boolean, client?: WaypointClient): T;
2265
+
2257
2266
  // @public (undocumented)
2258
2267
  export function useWaypointSnapshot(client?: WaypointClient): ClientSnapshot;
2259
2268
 
@@ -90,6 +90,9 @@ export const english: {
90
90
  readonly "chat.latest": "Back to latest";
91
91
  readonly "chat.latestNew": "{count, plural, one {Back to latest, # new reply} other {Back to latest, # new replies}}";
92
92
  readonly "chat.outline": "Message outline";
93
+ readonly "chat.outlineFilter": "Filter messages";
94
+ readonly "chat.outlineMatches": "{count, plural, =0 {No messages match} one {# message matches} other {# messages match}}";
95
+ readonly "chat.outlineSearching": "Searching…";
93
96
  readonly "chat.rail": "Conversations";
94
97
  readonly "chat.close": "Close";
95
98
  readonly "chat.quota": "Usage";
package/etc/react.api.md CHANGED
@@ -795,6 +795,9 @@ export const english: {
795
795
  readonly "chat.latest": "Back to latest";
796
796
  readonly "chat.latestNew": "{count, plural, one {Back to latest, # new reply} other {Back to latest, # new replies}}";
797
797
  readonly "chat.outline": "Message outline";
798
+ readonly "chat.outlineFilter": "Filter messages";
799
+ readonly "chat.outlineMatches": "{count, plural, =0 {No messages match} one {# message matches} other {# messages match}}";
800
+ readonly "chat.outlineSearching": "Searching…";
798
801
  readonly "chat.rail": "Conversations";
799
802
  readonly "chat.close": "Close";
800
803
  readonly "chat.quota": "Usage";
@@ -2732,6 +2735,12 @@ export function usePlanView(client?: WaypointClient): {
2732
2735
  // @public (undocumented)
2733
2736
  export function useWaypointClient(): WaypointClient;
2734
2737
 
2738
+ // @public
2739
+ export function useWaypointMessage(messageId: string, client?: WaypointClient): Message | undefined;
2740
+
2741
+ // @public
2742
+ export function useWaypointSelector<T>(selector: (snapshot: ClientSnapshot) => T, isEqual?: (a: T, b: T) => boolean, client?: WaypointClient): T;
2743
+
2735
2744
  // @public (undocumented)
2736
2745
  export function useWaypointSnapshot(client?: WaypointClient): ClientSnapshot;
2737
2746
 
@@ -816,6 +816,9 @@ export const english: {
816
816
  readonly "chat.latest": "Back to latest";
817
817
  readonly "chat.latestNew": "{count, plural, one {Back to latest, # new reply} other {Back to latest, # new replies}}";
818
818
  readonly "chat.outline": "Message outline";
819
+ readonly "chat.outlineFilter": "Filter messages";
820
+ readonly "chat.outlineMatches": "{count, plural, =0 {No messages match} one {# message matches} other {# messages match}}";
821
+ readonly "chat.outlineSearching": "Searching…";
819
822
  readonly "chat.rail": "Conversations";
820
823
  readonly "chat.close": "Close";
821
824
  readonly "chat.quota": "Usage";
@@ -2753,6 +2756,12 @@ export function usePlanView(client?: WaypointClient): {
2753
2756
  // @public (undocumented)
2754
2757
  export function useWaypointClient(): WaypointClient;
2755
2758
 
2759
+ // @public
2760
+ export function useWaypointMessage(messageId: string, client?: WaypointClient): Message | undefined;
2761
+
2762
+ // @public
2763
+ export function useWaypointSelector<T>(selector: (snapshot: ClientSnapshot) => T, isEqual?: (a: T, b: T) => boolean, client?: WaypointClient): T;
2764
+
2756
2765
  // @public (undocumented)
2757
2766
  export function useWaypointSnapshot(client?: WaypointClient): ClientSnapshot;
2758
2767
 
@@ -839,6 +839,9 @@ export const english: {
839
839
  readonly "chat.latest": "Back to latest";
840
840
  readonly "chat.latestNew": "{count, plural, one {Back to latest, # new reply} other {Back to latest, # new replies}}";
841
841
  readonly "chat.outline": "Message outline";
842
+ readonly "chat.outlineFilter": "Filter messages";
843
+ readonly "chat.outlineMatches": "{count, plural, =0 {No messages match} one {# message matches} other {# messages match}}";
844
+ readonly "chat.outlineSearching": "Searching…";
842
845
  readonly "chat.rail": "Conversations";
843
846
  readonly "chat.close": "Close";
844
847
  readonly "chat.quota": "Usage";
@@ -2798,6 +2801,12 @@ export function usePlanView(client?: WaypointClient): {
2798
2801
  // @public (undocumented)
2799
2802
  export function useWaypointClient(): WaypointClient;
2800
2803
 
2804
+ // @public
2805
+ export function useWaypointMessage(messageId: string, client?: WaypointClient): Message | undefined;
2806
+
2807
+ // @public
2808
+ export function useWaypointSelector<T>(selector: (snapshot: ClientSnapshot) => T, isEqual?: (a: T, b: T) => boolean, client?: WaypointClient): T;
2809
+
2801
2810
  // @public (undocumented)
2802
2811
  export function useWaypointSnapshot(client?: WaypointClient): ClientSnapshot;
2803
2812
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appsolutely-io/waypoint",
3
- "version": "0.1.1-next.0",
3
+ "version": "0.1.1-next.1",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -97,6 +97,7 @@
97
97
  "test:consumer": "node scripts/consumer.mjs",
98
98
  "test:native": "node scripts/native-smoke.mjs && node scripts/native-smoke.mjs dist/hooks/index.js --allow-react --forbid=intl-messageformat && node scripts/native-smoke.mjs dist/messages/index.js && node scripts/native-smoke.mjs dist/messages/en/index.js && node scripts/native-smoke.mjs dist/messages/zh-Hans/index.js",
99
99
  "playground": "node --import tsx scripts/playground.mjs",
100
+ "perf": "node scripts/perf.mjs",
100
101
  "test:playground": "playwright test --config playground/playwright.config.ts --workers=1"
101
102
  },
102
103
  "peerDependencies": {