@things-factory/ai-assistant 10.1.47 → 10.1.50

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 (160) hide show
  1. package/client/components/assistant-chat.ts +97 -19
  2. package/client/components/assistant-dock.ts +617 -0
  3. package/client/components/assistant-mode.ts +2 -0
  4. package/client/components/assistant-session-manager.ts +607 -0
  5. package/client/components/chat-echo-dedup.ts +4 -0
  6. package/client/components/chat-input-builder.ts +4 -1
  7. package/client/components/panel-aria.test.ts +13 -8
  8. package/client/index.ts +8 -0
  9. package/client/setup-assistant-dock.ts +109 -0
  10. package/client/utils/assistant-activity.ts +122 -0
  11. package/client/utils/assistant-ask.ts +44 -0
  12. package/client/utils/assistant-proposals.ts +50 -0
  13. package/client/utils/assistant-session-actions.ts +18 -0
  14. package/client/utils/assistant-session-admin.ts +167 -0
  15. package/client/utils/assistant-session-controller.ts +2 -0
  16. package/client/utils/assistant-session-transport.ts +6 -2
  17. package/client/utils/assistant-surface.ts +157 -0
  18. package/client/utils/attachment-policy.ts +71 -0
  19. package/dist-client/components/assistant-chat.d.ts +6 -0
  20. package/dist-client/components/assistant-chat.js +98 -20
  21. package/dist-client/components/assistant-chat.js.map +1 -1
  22. package/dist-client/components/assistant-dock.d.ts +74 -0
  23. package/dist-client/components/assistant-dock.js +641 -0
  24. package/dist-client/components/assistant-dock.js.map +1 -0
  25. package/dist-client/components/assistant-mode.d.ts +6 -0
  26. package/dist-client/components/assistant-mode.js.map +1 -1
  27. package/dist-client/components/assistant-session-manager.d.ts +77 -0
  28. package/dist-client/components/assistant-session-manager.js +652 -0
  29. package/dist-client/components/assistant-session-manager.js.map +1 -0
  30. package/dist-client/components/chat-echo-dedup.js +4 -0
  31. package/dist-client/components/chat-echo-dedup.js.map +1 -1
  32. package/dist-client/components/chat-input-builder.d.ts +2 -0
  33. package/dist-client/components/chat-input-builder.js +2 -1
  34. package/dist-client/components/chat-input-builder.js.map +1 -1
  35. package/dist-client/components/panel-aria.test.js +12 -8
  36. package/dist-client/components/panel-aria.test.js.map +1 -1
  37. package/dist-client/index.d.ts +8 -0
  38. package/dist-client/index.js +8 -0
  39. package/dist-client/index.js.map +1 -1
  40. package/dist-client/setup-assistant-dock.d.ts +15 -0
  41. package/dist-client/setup-assistant-dock.js +110 -0
  42. package/dist-client/setup-assistant-dock.js.map +1 -0
  43. package/dist-client/tsconfig.tsbuildinfo +1 -1
  44. package/dist-client/utils/assistant-activity.d.ts +22 -0
  45. package/dist-client/utils/assistant-activity.js +104 -0
  46. package/dist-client/utils/assistant-activity.js.map +1 -0
  47. package/dist-client/utils/assistant-ask.d.ts +23 -0
  48. package/dist-client/utils/assistant-ask.js +18 -0
  49. package/dist-client/utils/assistant-ask.js.map +1 -0
  50. package/dist-client/utils/assistant-proposals.d.ts +29 -0
  51. package/dist-client/utils/assistant-proposals.js +22 -0
  52. package/dist-client/utils/assistant-proposals.js.map +1 -0
  53. package/dist-client/utils/assistant-session-actions.d.ts +12 -0
  54. package/dist-client/utils/assistant-session-actions.js +19 -0
  55. package/dist-client/utils/assistant-session-actions.js.map +1 -0
  56. package/dist-client/utils/assistant-session-admin.d.ts +72 -0
  57. package/dist-client/utils/assistant-session-admin.js +81 -0
  58. package/dist-client/utils/assistant-session-admin.js.map +1 -0
  59. package/dist-client/utils/assistant-session-controller.d.ts +2 -0
  60. package/dist-client/utils/assistant-session-controller.js.map +1 -1
  61. package/dist-client/utils/assistant-session-transport.js +6 -2
  62. package/dist-client/utils/assistant-session-transport.js.map +1 -1
  63. package/dist-client/utils/assistant-surface.d.ts +72 -0
  64. package/dist-client/utils/assistant-surface.js +99 -0
  65. package/dist-client/utils/assistant-surface.js.map +1 -0
  66. package/dist-client/utils/attachment-policy.d.ts +35 -0
  67. package/dist-client/utils/attachment-policy.js +56 -0
  68. package/dist-client/utils/attachment-policy.js.map +1 -0
  69. package/dist-server/service/assistant-chat-resolver.d.ts +1 -0
  70. package/dist-server/service/assistant-chat-resolver.js +71 -3
  71. package/dist-server/service/assistant-chat-resolver.js.map +1 -1
  72. package/dist-server/service/assistant-mode/assistant-mode-resolver.d.ts +1 -0
  73. package/dist-server/service/assistant-mode/assistant-mode-resolver.js +7 -0
  74. package/dist-server/service/assistant-mode/assistant-mode-resolver.js.map +1 -1
  75. package/dist-server/service/assistant-mode/resolve.d.ts +3 -0
  76. package/dist-server/service/assistant-mode/resolve.js +6 -2
  77. package/dist-server/service/assistant-mode/resolve.js.map +1 -1
  78. package/dist-server/service/assistant-mode/types.d.ts +6 -0
  79. package/dist-server/service/assistant-mode/types.js +0 -9
  80. package/dist-server/service/assistant-mode/types.js.map +1 -1
  81. package/dist-server/service/chat-message/chat-message.d.ts +6 -0
  82. package/dist-server/service/chat-message/chat-message.js +19 -0
  83. package/dist-server/service/chat-message/chat-message.js.map +1 -1
  84. package/dist-server/service/chat-session/attachment-policy.d.ts +44 -0
  85. package/dist-server/service/chat-session/attachment-policy.js +56 -0
  86. package/dist-server/service/chat-session/attachment-policy.js.map +1 -0
  87. package/dist-server/service/chat-session/attachment-route.d.ts +3 -0
  88. package/dist-server/service/chat-session/attachment-route.js +44 -0
  89. package/dist-server/service/chat-session/attachment-route.js.map +1 -0
  90. package/dist-server/service/chat-session/attachment-tools.d.ts +3 -0
  91. package/dist-server/service/chat-session/attachment-tools.js +59 -0
  92. package/dist-server/service/chat-session/attachment-tools.js.map +1 -0
  93. package/dist-server/service/chat-session/session-attachments.d.ts +36 -0
  94. package/dist-server/service/chat-session/session-attachments.js +84 -0
  95. package/dist-server/service/chat-session/session-attachments.js.map +1 -0
  96. package/dist-server/service/chat-session/session-inbox.d.ts +29 -0
  97. package/dist-server/service/chat-session/session-inbox.js +32 -8
  98. package/dist-server/service/chat-session/session-inbox.js.map +1 -1
  99. package/dist-server/service/chat-session/session-purge.d.ts +14 -0
  100. package/dist-server/service/chat-session/session-purge.js +77 -0
  101. package/dist-server/service/chat-session/session-purge.js.map +1 -0
  102. package/dist-server/service/chat-session/session-retention.d.ts +6 -0
  103. package/dist-server/service/chat-session/session-retention.js +20 -0
  104. package/dist-server/service/chat-session/session-retention.js.map +1 -0
  105. package/dist-server/service/chat-session/session-visibility.d.ts +8 -0
  106. package/dist-server/service/chat-session/session-visibility.js +11 -0
  107. package/dist-server/service/chat-session/session-visibility.js.map +1 -1
  108. package/dist-server/service/chat-session/session-write-gate.d.ts +11 -0
  109. package/dist-server/service/chat-session/session-write-gate.js +24 -0
  110. package/dist-server/service/chat-session/session-write-gate.js.map +1 -0
  111. package/dist-server/service/chat-session-participant/invite-notification.d.ts +1 -1
  112. package/dist-server/service/chat-session-participant/invite-notification.js +21 -6
  113. package/dist-server/service/chat-session-participant/invite-notification.js.map +1 -1
  114. package/dist-server/service/chat-session-participant/participant-lookup-roles.d.ts +3 -0
  115. package/dist-server/service/chat-session-participant/participant-lookup-roles.js +10 -0
  116. package/dist-server/service/chat-session-participant/participant-lookup-roles.js.map +1 -0
  117. package/dist-server/service/chat-session-participant/participant-lookup.d.ts +2 -0
  118. package/dist-server/service/chat-session-participant/participant-lookup.js +26 -0
  119. package/dist-server/service/chat-session-participant/participant-lookup.js.map +1 -0
  120. package/dist-server/service/chat-session-resolver.d.ts +17 -2
  121. package/dist-server/service/chat-session-resolver.js +135 -15
  122. package/dist-server/service/chat-session-resolver.js.map +1 -1
  123. package/dist-server/service/index.d.ts +5 -0
  124. package/dist-server/service/index.js +5 -0
  125. package/dist-server/service/index.js.map +1 -1
  126. package/dist-server/tsconfig.tsbuildinfo +1 -1
  127. package/package.json +9 -2
  128. package/server/service/assistant-chat-resolver.ts +71 -4
  129. package/server/service/assistant-mode/assistant-mode-resolver.ts +6 -0
  130. package/server/service/assistant-mode/resolve.ts +9 -2
  131. package/server/service/assistant-mode/types.ts +6 -0
  132. package/server/service/chat-message/chat-message.ts +17 -0
  133. package/server/service/chat-session/attachment-policy.test.ts +42 -0
  134. package/server/service/chat-session/attachment-policy.ts +68 -0
  135. package/server/service/chat-session/attachment-route.ts +45 -0
  136. package/server/service/chat-session/attachment-tools.ts +63 -0
  137. package/server/service/chat-session/session-attachments.ts +89 -0
  138. package/server/service/chat-session/session-inbox.test.ts +71 -1
  139. package/server/service/chat-session/session-inbox.ts +61 -11
  140. package/server/service/chat-session/session-purge.test.ts +24 -0
  141. package/server/service/chat-session/session-purge.ts +81 -0
  142. package/server/service/chat-session/session-retention.ts +17 -0
  143. package/server/service/chat-session/session-visibility.ts +11 -0
  144. package/server/service/chat-session/session-write-gate.test.ts +53 -0
  145. package/server/service/chat-session/session-write-gate.ts +31 -0
  146. package/server/service/chat-session-participant/invite-notification.test.ts +15 -0
  147. package/server/service/chat-session-participant/invite-notification.ts +24 -6
  148. package/server/service/chat-session-participant/participant-lookup-roles.ts +6 -0
  149. package/server/service/chat-session-participant/participant-lookup.ts +22 -0
  150. package/server/service/chat-session-resolver.ts +130 -13
  151. package/server/service/index.ts +5 -0
  152. package/test/assistant-dock.test.ts +118 -0
  153. package/test/assistant-session-manager.test.ts +126 -0
  154. package/test/attachment-policy-agree.test.ts +32 -0
  155. package/test/open-doors.test.ts +5 -2
  156. package/translations/en.json +61 -1
  157. package/translations/ja.json +61 -1
  158. package/translations/ko.json +61 -1
  159. package/translations/ms.json +61 -1
  160. package/translations/zh.json +61 -1
@@ -110,5 +110,65 @@
110
110
  "ai-assistant.text.answer-needs-permission": "この回答を見る権限がありません。管理者に申請してください。",
111
111
  "ai-assistant.label.conversation": "会話",
112
112
  "ai-assistant.text.switch-conversation": "{name} の会話に切り替える",
113
- "ai-assistant.text.session-kind-mismatch": "この会話は {sessionKind} です。{requested} として書いています。目的の会話を開いてください。"
113
+ "ai-assistant.text.session-kind-mismatch": "この会話は {sessionKind} です。{requested} として書いています。目的の会話を開いてください。",
114
+ "ai-assistant.session.search": "名前と最後のメッセージを検索",
115
+ "ai-assistant.session.filter": "表示する会話",
116
+ "ai-assistant.session.filter-all": "すべて",
117
+ "ai-assistant.session.filter-mine": "自分が始めた会話",
118
+ "ai-assistant.session.filter-hidden": "非表示を含む",
119
+ "ai-assistant.session.failed": "会話一覧を読み込めませんでした。",
120
+ "ai-assistant.session.no-match": "「{q}」に一致する会話はありません。",
121
+ "ai-assistant.session.none": "まだ会話はありません。",
122
+ "ai-assistant.session.load-more": "さらに表示 ({rest})",
123
+ "ai-assistant.session.hidden-count": "非表示 {count} 件",
124
+ "ai-assistant.session.untitled": "無題の会話",
125
+ "ai-assistant.session.private": "非公開 - 参加者だけが読めます",
126
+ "ai-assistant.session.open": "公開 - このドメインの誰でも読めます",
127
+ "ai-assistant.session.rename": "名前を変更",
128
+ "ai-assistant.session.make-open": "公開にする",
129
+ "ai-assistant.session.make-private": "非公開にする",
130
+ "ai-assistant.session.hide": "自分の一覧から隠す",
131
+ "ai-assistant.session.unhide": "自分の一覧に戻す",
132
+ "ai-assistant.session.remove": "削除",
133
+ "ai-assistant.session.cancel": "キャンセル",
134
+ "ai-assistant.session.confirm-remove": "「{name}」を削除しますか? すべての参加者から消え、元に戻せません。",
135
+ "ai-assistant.session.confirm-open": "「{name}」を公開にしますか? このドメインの誰でも、これまでの内容を読めるようになります。",
136
+ "ai-assistant.session.rename-refused": "この会話の名前を変更できませんでした。",
137
+ "ai-assistant.session.hide-refused": "この会話を隠せませんでした。",
138
+ "ai-assistant.session.visibility-refused": "この会話の公開範囲は所有者だけが変更できます。",
139
+ "ai-assistant.session.remove-refused": "この会話を削除できませんでした。",
140
+ "ai-assistant.text.attachments-not-accepted": "この会話は添付を受け付けません。",
141
+ "ai-assistant.text.attachment-kind-not-accepted": "{name} はここに添付できません。この会話は {kinds} を受け付けます。",
142
+ "ai-assistant.text.attachment-too-large": "{name} は {max} MB を超えています。",
143
+ "ai-assistant.text.too-many-attachments": "一度に送れるのは {max} 件までです。",
144
+ "ai-assistant.text.attachments-need-session": "添付は保存された会話でのみ送れます。",
145
+ "ai-assistant.text.attachment-not-in-session": "この会話の添付ではないファイルがあります。",
146
+ "ai-assistant.dock.title": "アシスタント",
147
+ "ai-assistant.dock.open": "AI に質問",
148
+ "ai-assistant.dock.no-conversation": "この画面には会話がありません。",
149
+ "ai-assistant.dock.no-user": "サインイン情報を読み取れませんでした。もう一度サインインしてください。",
150
+ "ai-assistant.dock.confirm": "OK",
151
+ "ai-assistant.dock.cancel": "キャンセル",
152
+ "ai-assistant.dock.proposal-not-runnable": "この提案はこの画面では実行できません。",
153
+ "ai-assistant.dock.patch-missed": "変更のうち {missed} 件を適用できませんでした。",
154
+ "ai-assistant.dock.not-configured": "この現場には AI が設定されていません。管理者が AI 設定で接続できます。",
155
+ "ai-assistant.dock.capability-unknown": "AI が設定されているか読み取れませんでした。",
156
+ "ai-assistant.dock.no-surface": "この画面には会話がありません。",
157
+ "ai-assistant.dock.to-home": "このアプリの会話に戻る",
158
+ "ai-assistant.dock.back-to-conversation": "会話に戻る",
159
+ "ai-assistant.dock.conversations": "会話一覧",
160
+ "ai-assistant.dock.rebind": "今の画面に結び直す",
161
+ "ai-assistant.dock.close": "閉じる",
162
+ "ai-assistant.dock.screen-changed": "入力中に画面が変わりました。もう一度送ってください。",
163
+ "ai-assistant.dock.retry": "再試行",
164
+ "ai-assistant.session.filter-kind": "会話の種類",
165
+ "ai-assistant.session.filter-this-kind": "この会話",
166
+ "ai-assistant.session.filter-all-kinds": "この対象のすべての会話",
167
+ "ai-assistant.session.filter-whose": "誰の",
168
+ "ai-assistant.session.filter-participant": "参加中",
169
+ "ai-assistant.session.filter-visibility": "公開範囲",
170
+ "ai-assistant.session.filter-any-visibility": "公開・非公開",
171
+ "ai-assistant.session.filter-open": "公開",
172
+ "ai-assistant.session.filter-private": "非公開",
173
+ "ai-assistant.session.filter-unread": "未読"
114
174
  }
@@ -110,5 +110,65 @@
110
110
  "ai-assistant.text.answer-needs-permission": "이 답을 볼 권한이 없습니다. 관리자에게 요청하십시오.",
111
111
  "ai-assistant.label.conversation": "대화",
112
112
  "ai-assistant.text.switch-conversation": "{name} 대화로 바꾸기",
113
- "ai-assistant.text.session-kind-mismatch": "이 대화는 {sessionKind} 입니다. {requested} 로 쓰고 계십니다. 하시려는 대화를 열어 주십시오."
113
+ "ai-assistant.text.session-kind-mismatch": "이 대화는 {sessionKind} 입니다. {requested} 로 쓰고 계십니다. 하시려는 대화를 열어 주십시오.",
114
+ "ai-assistant.session.search": "이름과 마지막 메시지 검색",
115
+ "ai-assistant.session.filter": "어떤 대화",
116
+ "ai-assistant.session.filter-all": "전체",
117
+ "ai-assistant.session.filter-mine": "내가 시작한 대화",
118
+ "ai-assistant.session.filter-hidden": "숨긴 대화 포함",
119
+ "ai-assistant.session.failed": "대화 목록을 불러오지 못했습니다.",
120
+ "ai-assistant.session.no-match": "\"{q}\" 와 맞는 대화가 없습니다.",
121
+ "ai-assistant.session.none": "아직 대화가 없습니다.",
122
+ "ai-assistant.session.load-more": "더 보기 ({rest})",
123
+ "ai-assistant.session.hidden-count": "숨긴 대화 {count}개",
124
+ "ai-assistant.session.untitled": "이름 없는 대화",
125
+ "ai-assistant.session.private": "비공개 - 참여자만 읽을 수 있습니다",
126
+ "ai-assistant.session.open": "공개 - 이 도메인의 누구나 읽을 수 있습니다",
127
+ "ai-assistant.session.rename": "이름 바꾸기",
128
+ "ai-assistant.session.make-open": "공개로 바꾸기",
129
+ "ai-assistant.session.make-private": "비공개로 바꾸기",
130
+ "ai-assistant.session.hide": "내 목록에서 숨기기",
131
+ "ai-assistant.session.unhide": "내 목록에 다시 보이기",
132
+ "ai-assistant.session.remove": "삭제",
133
+ "ai-assistant.session.cancel": "취소",
134
+ "ai-assistant.session.confirm-remove": "\"{name}\" 을 삭제할까요? 모든 참여자의 목록에서 사라지고 되돌릴 수 없습니다.",
135
+ "ai-assistant.session.confirm-open": "\"{name}\" 을 공개로 바꿀까요? 이 도메인의 누구나 지금까지 쓴 내용을 읽을 수 있게 됩니다.",
136
+ "ai-assistant.session.rename-refused": "이 대화의 이름을 바꾸지 못했습니다.",
137
+ "ai-assistant.session.hide-refused": "이 대화를 숨기지 못했습니다.",
138
+ "ai-assistant.session.visibility-refused": "이 대화의 공개 범위는 대화의 주인만 바꿀 수 있습니다.",
139
+ "ai-assistant.session.remove-refused": "이 대화를 삭제하지 못했습니다.",
140
+ "ai-assistant.text.attachments-not-accepted": "이 대화는 첨부를 받지 않습니다.",
141
+ "ai-assistant.text.attachment-kind-not-accepted": "{name} 은 여기에 첨부할 수 없습니다. 이 대화는 {kinds} 를 받습니다.",
142
+ "ai-assistant.text.attachment-too-large": "{name} 은 {max} MB 보다 큽니다.",
143
+ "ai-assistant.text.too-many-attachments": "한 번에 {max} 개까지 보낼 수 있습니다.",
144
+ "ai-assistant.text.attachments-need-session": "첨부는 저장된 대화에서만 보낼 수 있습니다.",
145
+ "ai-assistant.text.attachment-not-in-session": "이 대화의 첨부가 아닌 파일이 있습니다.",
146
+ "ai-assistant.dock.title": "어시스턴트",
147
+ "ai-assistant.dock.open": "AI 에게 묻기",
148
+ "ai-assistant.dock.no-conversation": "이 화면에는 대화가 없습니다.",
149
+ "ai-assistant.dock.no-user": "로그인 정보를 읽지 못했습니다. 다시 로그인해 주세요.",
150
+ "ai-assistant.dock.confirm": "확인",
151
+ "ai-assistant.dock.cancel": "취소",
152
+ "ai-assistant.dock.proposal-not-runnable": "이 제안은 이 화면에서 실행할 수 없습니다.",
153
+ "ai-assistant.dock.patch-missed": "변경 중 {missed} 개를 적용하지 못했습니다.",
154
+ "ai-assistant.dock.not-configured": "이 현장에는 AI 가 설정되어 있지 않습니다. 관리자가 AI 설정에서 연결할 수 있습니다.",
155
+ "ai-assistant.dock.capability-unknown": "AI 설정 여부를 읽지 못했습니다.",
156
+ "ai-assistant.dock.no-surface": "이 화면에는 대화가 없습니다.",
157
+ "ai-assistant.dock.to-home": "이 앱의 대화로 돌아가기",
158
+ "ai-assistant.dock.back-to-conversation": "대화로 돌아가기",
159
+ "ai-assistant.dock.conversations": "대화 목록",
160
+ "ai-assistant.dock.rebind": "지금 화면으로 다시 묶기",
161
+ "ai-assistant.dock.close": "닫기",
162
+ "ai-assistant.dock.screen-changed": "작성하는 동안 화면이 바뀌었습니다. 다시 보내 주세요.",
163
+ "ai-assistant.dock.retry": "다시 시도",
164
+ "ai-assistant.session.filter-kind": "대화 종류",
165
+ "ai-assistant.session.filter-this-kind": "이 대화",
166
+ "ai-assistant.session.filter-all-kinds": "이 대상의 모든 대화",
167
+ "ai-assistant.session.filter-whose": "누구의",
168
+ "ai-assistant.session.filter-participant": "내가 참여",
169
+ "ai-assistant.session.filter-visibility": "공개 범위",
170
+ "ai-assistant.session.filter-any-visibility": "공개 · 비공개",
171
+ "ai-assistant.session.filter-open": "공개",
172
+ "ai-assistant.session.filter-private": "비공개",
173
+ "ai-assistant.session.filter-unread": "안 읽음"
114
174
  }
@@ -110,5 +110,65 @@
110
110
  "ai-assistant.text.answer-needs-permission": "anda tiada kebenaran untuk melihat jawapan ini. minta kebenaran daripada pentadbir.",
111
111
  "ai-assistant.label.conversation": "perbualan",
112
112
  "ai-assistant.text.switch-conversation": "tukar ke perbualan {name}",
113
- "ai-assistant.text.session-kind-mismatch": "perbualan ini ialah {sessionKind}, dan anda menulis sebagai {requested}. buka perbualan yang anda maksudkan."
113
+ "ai-assistant.text.session-kind-mismatch": "perbualan ini ialah {sessionKind}, dan anda menulis sebagai {requested}. buka perbualan yang anda maksudkan.",
114
+ "ai-assistant.session.search": "Cari nama dan mesej terakhir",
115
+ "ai-assistant.session.filter": "Perbualan mana",
116
+ "ai-assistant.session.filter-all": "Semua",
117
+ "ai-assistant.session.filter-mine": "Dimulakan oleh saya",
118
+ "ai-assistant.session.filter-hidden": "Termasuk yang disembunyikan",
119
+ "ai-assistant.session.failed": "senarai perbualan tidak dapat dimuatkan.",
120
+ "ai-assistant.session.no-match": "Tiada perbualan sepadan dengan \"{q}\".",
121
+ "ai-assistant.session.none": "Belum ada perbualan.",
122
+ "ai-assistant.session.load-more": "Tunjuk lagi ({rest})",
123
+ "ai-assistant.session.hidden-count": "{count} disembunyikan",
124
+ "ai-assistant.session.untitled": "Perbualan tanpa nama",
125
+ "ai-assistant.session.private": "Peribadi - hanya peserta boleh membaca",
126
+ "ai-assistant.session.open": "Awam - semua orang dalam domain ini boleh membaca",
127
+ "ai-assistant.session.rename": "Tukar nama",
128
+ "ai-assistant.session.make-open": "Jadikan awam",
129
+ "ai-assistant.session.make-private": "Jadikan peribadi",
130
+ "ai-assistant.session.hide": "Sembunyikan daripada senarai saya",
131
+ "ai-assistant.session.unhide": "Tunjukkan dalam senarai saya",
132
+ "ai-assistant.session.remove": "Padam",
133
+ "ai-assistant.session.cancel": "Batal",
134
+ "ai-assistant.session.confirm-remove": "Padam \"{name}\"? Ia hilang bagi setiap peserta dan tidak boleh dikembalikan.",
135
+ "ai-assistant.session.confirm-open": "Jadikan \"{name}\" awam? Semua orang dalam domain ini akan dapat membaca apa yang telah ditulis.",
136
+ "ai-assistant.session.rename-refused": "perbualan ini tidak dapat ditukar nama.",
137
+ "ai-assistant.session.hide-refused": "perbualan ini tidak dapat disembunyikan.",
138
+ "ai-assistant.session.visibility-refused": "hanya pemilik perbualan ini boleh menukar siapa yang membacanya.",
139
+ "ai-assistant.session.remove-refused": "perbualan ini tidak dapat dipadam.",
140
+ "ai-assistant.text.attachments-not-accepted": "perbualan ini tidak menerima lampiran.",
141
+ "ai-assistant.text.attachment-kind-not-accepted": "{name} tidak boleh dilampirkan di sini - perbualan ini menerima {kinds}.",
142
+ "ai-assistant.text.attachment-too-large": "{name} lebih besar daripada {max} MB.",
143
+ "ai-assistant.text.too-many-attachments": "paling banyak {max} fail boleh dihantar sekali gus.",
144
+ "ai-assistant.text.attachments-need-session": "lampiran memerlukan perbualan yang disimpan.",
145
+ "ai-assistant.text.attachment-not-in-session": "terdapat lampiran yang bukan milik perbualan ini.",
146
+ "ai-assistant.dock.title": "Pembantu",
147
+ "ai-assistant.dock.open": "Tanya AI",
148
+ "ai-assistant.dock.no-conversation": "tiada perbualan untuk skrin ini.",
149
+ "ai-assistant.dock.no-user": "log masuk anda tidak dapat dibaca. log masuk semula.",
150
+ "ai-assistant.dock.confirm": "OK",
151
+ "ai-assistant.dock.cancel": "Batal",
152
+ "ai-assistant.dock.proposal-not-runnable": "cadangan ini tidak boleh dijalankan pada skrin ini.",
153
+ "ai-assistant.dock.patch-missed": "{missed} daripada perubahan tidak dapat digunakan.",
154
+ "ai-assistant.dock.not-configured": "tiada AI disediakan untuk tapak ini. pentadbir boleh menyediakannya dalam tetapan AI.",
155
+ "ai-assistant.dock.capability-unknown": "sama ada AI disediakan di sini tidak dapat dibaca.",
156
+ "ai-assistant.dock.no-surface": "skrin ini tiada perbualan.",
157
+ "ai-assistant.dock.to-home": "kembali ke perbualan aplikasi ini",
158
+ "ai-assistant.dock.back-to-conversation": "kembali ke perbualan",
159
+ "ai-assistant.dock.conversations": "senarai perbualan",
160
+ "ai-assistant.dock.rebind": "ikut skrin ini semula",
161
+ "ai-assistant.dock.close": "tutup",
162
+ "ai-assistant.dock.screen-changed": "skrin berubah semasa anda menulis. hantar semula.",
163
+ "ai-assistant.dock.retry": "cuba lagi",
164
+ "ai-assistant.session.filter-kind": "Jenis",
165
+ "ai-assistant.session.filter-this-kind": "Perbualan ini",
166
+ "ai-assistant.session.filter-all-kinds": "Semua jenis di sini",
167
+ "ai-assistant.session.filter-whose": "Milik siapa",
168
+ "ai-assistant.session.filter-participant": "Saya sertai",
169
+ "ai-assistant.session.filter-visibility": "Keterlihatan",
170
+ "ai-assistant.session.filter-any-visibility": "Awam dan peribadi",
171
+ "ai-assistant.session.filter-open": "Awam",
172
+ "ai-assistant.session.filter-private": "Peribadi",
173
+ "ai-assistant.session.filter-unread": "Belum dibaca"
114
174
  }
@@ -110,5 +110,65 @@
110
110
  "ai-assistant.text.answer-needs-permission": "没有查看此回答的权限。请向管理员申请。",
111
111
  "ai-assistant.label.conversation": "对话",
112
112
  "ai-assistant.text.switch-conversation": "切换到 {name} 对话",
113
- "ai-assistant.text.session-kind-mismatch": "此对话是 {sessionKind},而您正以 {requested} 书写。请打开您想要的对话。"
113
+ "ai-assistant.text.session-kind-mismatch": "此对话是 {sessionKind},而您正以 {requested} 书写。请打开您想要的对话。",
114
+ "ai-assistant.session.search": "搜索名称和最后一条消息",
115
+ "ai-assistant.session.filter": "显示哪些对话",
116
+ "ai-assistant.session.filter-all": "全部",
117
+ "ai-assistant.session.filter-mine": "我发起的",
118
+ "ai-assistant.session.filter-hidden": "包括已隐藏",
119
+ "ai-assistant.session.failed": "无法加载对话列表。",
120
+ "ai-assistant.session.no-match": "没有与“{q}”匹配的对话。",
121
+ "ai-assistant.session.none": "还没有对话。",
122
+ "ai-assistant.session.load-more": "显示更多 ({rest})",
123
+ "ai-assistant.session.hidden-count": "{count} 个已隐藏",
124
+ "ai-assistant.session.untitled": "未命名对话",
125
+ "ai-assistant.session.private": "私密 - 仅参与者可读",
126
+ "ai-assistant.session.open": "公开 - 此域中的所有人可读",
127
+ "ai-assistant.session.rename": "重命名",
128
+ "ai-assistant.session.make-open": "设为公开",
129
+ "ai-assistant.session.make-private": "设为私密",
130
+ "ai-assistant.session.hide": "从我的列表中隐藏",
131
+ "ai-assistant.session.unhide": "在我的列表中显示",
132
+ "ai-assistant.session.remove": "删除",
133
+ "ai-assistant.session.cancel": "取消",
134
+ "ai-assistant.session.confirm-remove": "删除“{name}”? 它将对所有参与者消失且无法恢复。",
135
+ "ai-assistant.session.confirm-open": "将“{name}”设为公开? 此域中的所有人都能阅读已写的内容。",
136
+ "ai-assistant.session.rename-refused": "无法重命名此对话。",
137
+ "ai-assistant.session.hide-refused": "无法隐藏此对话。",
138
+ "ai-assistant.session.visibility-refused": "只有此对话的所有者才能更改谁可以阅读。",
139
+ "ai-assistant.session.remove-refused": "无法删除此对话。",
140
+ "ai-assistant.text.attachments-not-accepted": "此对话不接受附件。",
141
+ "ai-assistant.text.attachment-kind-not-accepted": "{name} 不能在此附加 - 此对话接受 {kinds}。",
142
+ "ai-assistant.text.attachment-too-large": "{name} 超过 {max} MB。",
143
+ "ai-assistant.text.too-many-attachments": "一次最多可发送 {max} 个文件。",
144
+ "ai-assistant.text.attachments-need-session": "附件需要已保存的对话。",
145
+ "ai-assistant.text.attachment-not-in-session": "有附件不属于此对话。",
146
+ "ai-assistant.dock.title": "助手",
147
+ "ai-assistant.dock.open": "询问 AI",
148
+ "ai-assistant.dock.no-conversation": "此界面没有对话。",
149
+ "ai-assistant.dock.no-user": "无法读取您的登录信息。请重新登录。",
150
+ "ai-assistant.dock.confirm": "确定",
151
+ "ai-assistant.dock.cancel": "取消",
152
+ "ai-assistant.dock.proposal-not-runnable": "此提案无法在此界面运行。",
153
+ "ai-assistant.dock.patch-missed": "有 {missed} 项更改未能应用。",
154
+ "ai-assistant.dock.not-configured": "此现场尚未设置 AI。管理员可以在 AI 设置中进行设置。",
155
+ "ai-assistant.dock.capability-unknown": "无法读取此处是否已设置 AI。",
156
+ "ai-assistant.dock.no-surface": "此界面没有对话。",
157
+ "ai-assistant.dock.to-home": "返回此应用的对话",
158
+ "ai-assistant.dock.back-to-conversation": "返回对话",
159
+ "ai-assistant.dock.conversations": "对话列表",
160
+ "ai-assistant.dock.rebind": "重新跟随当前界面",
161
+ "ai-assistant.dock.close": "关闭",
162
+ "ai-assistant.dock.screen-changed": "输入期间界面已更改。请重新发送。",
163
+ "ai-assistant.dock.retry": "重试",
164
+ "ai-assistant.session.filter-kind": "对话类型",
165
+ "ai-assistant.session.filter-this-kind": "此对话",
166
+ "ai-assistant.session.filter-all-kinds": "此对象的所有对话",
167
+ "ai-assistant.session.filter-whose": "谁的",
168
+ "ai-assistant.session.filter-participant": "我参与的",
169
+ "ai-assistant.session.filter-visibility": "可见范围",
170
+ "ai-assistant.session.filter-any-visibility": "公开和私密",
171
+ "ai-assistant.session.filter-open": "公开",
172
+ "ai-assistant.session.filter-private": "私密",
173
+ "ai-assistant.session.filter-unread": "未读"
114
174
  }