@things-factory/ai-assistant 10.1.27 โ†’ 10.1.29

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 (210) hide show
  1. package/client/components/assistant-chat.ts +701 -63
  2. package/client/components/assistant-mode.test.ts +105 -55
  3. package/client/components/assistant-mode.ts +144 -82
  4. package/client/components/chat-echo-dedup.test.ts +23 -0
  5. package/client/components/chat-echo-dedup.ts +29 -3
  6. package/client/components/chat-input-builder.test.ts +20 -20
  7. package/client/components/chat-input-builder.ts +16 -14
  8. package/client/components/chat-proposal-survival.test.ts +73 -0
  9. package/client/components/mention-popup.ts +31 -8
  10. package/client/components/panel-aria.test.ts +54 -0
  11. package/client/components/proposal-outcome-line.ts +33 -0
  12. package/client/utils/assistant-session-controller.test.ts +75 -0
  13. package/client/utils/assistant-session-controller.ts +37 -1
  14. package/client/utils/assistant-session-transport.ts +13 -5
  15. package/dist-client/components/assistant-chat.d.ts +140 -13
  16. package/dist-client/components/assistant-chat.js +659 -71
  17. package/dist-client/components/assistant-chat.js.map +1 -1
  18. package/dist-client/components/assistant-mode.d.ts +102 -68
  19. package/dist-client/components/assistant-mode.js +79 -19
  20. package/dist-client/components/assistant-mode.js.map +1 -1
  21. package/dist-client/components/assistant-mode.test.js +90 -53
  22. package/dist-client/components/assistant-mode.test.js.map +1 -1
  23. package/dist-client/components/chat-echo-dedup.d.ts +2 -0
  24. package/dist-client/components/chat-echo-dedup.js +27 -4
  25. package/dist-client/components/chat-echo-dedup.js.map +1 -1
  26. package/dist-client/components/chat-echo-dedup.test.js +20 -0
  27. package/dist-client/components/chat-echo-dedup.test.js.map +1 -1
  28. package/dist-client/components/chat-input-builder.d.ts +12 -7
  29. package/dist-client/components/chat-input-builder.js +8 -10
  30. package/dist-client/components/chat-input-builder.js.map +1 -1
  31. package/dist-client/components/chat-input-builder.test.js +17 -18
  32. package/dist-client/components/chat-input-builder.test.js.map +1 -1
  33. package/dist-client/components/chat-proposal-survival.test.d.ts +1 -0
  34. package/dist-client/components/chat-proposal-survival.test.js +61 -0
  35. package/dist-client/components/chat-proposal-survival.test.js.map +1 -0
  36. package/dist-client/components/mention-popup.js +28 -8
  37. package/dist-client/components/mention-popup.js.map +1 -1
  38. package/dist-client/components/panel-aria.test.d.ts +1 -0
  39. package/dist-client/components/panel-aria.test.js +49 -0
  40. package/dist-client/components/panel-aria.test.js.map +1 -0
  41. package/dist-client/components/proposal-outcome-line.d.ts +9 -0
  42. package/dist-client/components/proposal-outcome-line.js +15 -0
  43. package/dist-client/components/proposal-outcome-line.js.map +1 -0
  44. package/dist-client/tsconfig.tsbuildinfo +1 -1
  45. package/dist-client/utils/assistant-session-controller.d.ts +20 -0
  46. package/dist-client/utils/assistant-session-controller.js +16 -0
  47. package/dist-client/utils/assistant-session-controller.js.map +1 -1
  48. package/dist-client/utils/assistant-session-controller.test.d.ts +1 -0
  49. package/dist-client/utils/assistant-session-controller.test.js +56 -0
  50. package/dist-client/utils/assistant-session-controller.test.js.map +1 -0
  51. package/dist-client/utils/assistant-session-transport.js +13 -5
  52. package/dist-client/utils/assistant-session-transport.js.map +1 -1
  53. package/dist-server/door-declaration-report.d.ts +14 -0
  54. package/dist-server/door-declaration-report.js +54 -0
  55. package/dist-server/door-declaration-report.js.map +1 -0
  56. package/dist-server/service/assistant-capability-resolver.d.ts +17 -0
  57. package/dist-server/service/assistant-capability-resolver.js +88 -0
  58. package/dist-server/service/assistant-capability-resolver.js.map +1 -0
  59. package/dist-server/service/assistant-chat-resolver.d.ts +6 -6
  60. package/dist-server/service/assistant-chat-resolver.js +185 -44
  61. package/dist-server/service/assistant-chat-resolver.js.map +1 -1
  62. package/dist-server/service/assistant-mode/assistant-mode-resolver.d.ts +33 -0
  63. package/dist-server/service/assistant-mode/assistant-mode-resolver.js +148 -0
  64. package/dist-server/service/assistant-mode/assistant-mode-resolver.js.map +1 -0
  65. package/dist-server/service/assistant-mode/index.d.ts +9 -0
  66. package/dist-server/service/assistant-mode/index.js +19 -0
  67. package/dist-server/service/assistant-mode/index.js.map +1 -0
  68. package/dist-server/service/assistant-mode/registry.d.ts +18 -0
  69. package/dist-server/service/assistant-mode/registry.js +136 -0
  70. package/dist-server/service/assistant-mode/registry.js.map +1 -0
  71. package/dist-server/service/assistant-mode/resolve.d.ts +43 -0
  72. package/dist-server/service/assistant-mode/resolve.js +65 -0
  73. package/dist-server/service/assistant-mode/resolve.js.map +1 -0
  74. package/dist-server/service/assistant-mode/types.d.ts +120 -0
  75. package/dist-server/service/assistant-mode/types.js +12 -0
  76. package/dist-server/service/assistant-mode/types.js.map +1 -0
  77. package/dist-server/service/chat-message/carried-turns.d.ts +48 -0
  78. package/dist-server/service/chat-message/carried-turns.js +92 -0
  79. package/dist-server/service/chat-message/carried-turns.js.map +1 -0
  80. package/dist-server/service/chat-message/chat-message-subscription.d.ts +1 -1
  81. package/dist-server/service/chat-message/chat-message-subscription.js +24 -6
  82. package/dist-server/service/chat-message/chat-message-subscription.js.map +1 -1
  83. package/dist-server/service/chat-message/chat-message.d.ts +32 -0
  84. package/dist-server/service/chat-message/chat-message.js +17 -0
  85. package/dist-server/service/chat-message/chat-message.js.map +1 -1
  86. package/dist-server/service/chat-message/door-access.d.ts +27 -0
  87. package/dist-server/service/chat-message/door-access.js +34 -0
  88. package/dist-server/service/chat-message/door-access.js.map +1 -0
  89. package/dist-server/service/chat-message/fold-session-history.d.ts +30 -0
  90. package/dist-server/service/chat-message/fold-session-history.js +133 -0
  91. package/dist-server/service/chat-message/fold-session-history.js.map +1 -0
  92. package/dist-server/service/chat-message/llm-history.d.ts +7 -0
  93. package/dist-server/service/chat-message/llm-history.js +23 -11
  94. package/dist-server/service/chat-message/llm-history.js.map +1 -1
  95. package/dist-server/service/chat-message/message-doors.d.ts +29 -0
  96. package/dist-server/service/chat-message/message-doors.js +107 -0
  97. package/dist-server/service/chat-message/message-doors.js.map +1 -0
  98. package/dist-server/service/chat-message/proposal-outcome.d.ts +18 -0
  99. package/dist-server/service/chat-message/proposal-outcome.js +31 -0
  100. package/dist-server/service/chat-message/proposal-outcome.js.map +1 -0
  101. package/dist-server/service/chat-message/reader-gate.d.ts +3 -0
  102. package/dist-server/service/chat-message/reader-gate.js +39 -0
  103. package/dist-server/service/chat-message/reader-gate.js.map +1 -0
  104. package/dist-server/service/chat-message/room-message.d.ts +4 -0
  105. package/dist-server/service/chat-message/room-message.js +25 -0
  106. package/dist-server/service/chat-message/room-message.js.map +1 -0
  107. package/dist-server/service/chat-session/chat-session.d.ts +36 -0
  108. package/dist-server/service/chat-session/chat-session.js +27 -2
  109. package/dist-server/service/chat-session/chat-session.js.map +1 -1
  110. package/dist-server/service/chat-session/session-anchor.d.ts +10 -1
  111. package/dist-server/service/chat-session/session-anchor.js +12 -4
  112. package/dist-server/service/chat-session/session-anchor.js.map +1 -1
  113. package/dist-server/service/chat-session/session-inbox.d.ts +6 -1
  114. package/dist-server/service/chat-session/session-inbox.js +3 -2
  115. package/dist-server/service/chat-session/session-inbox.js.map +1 -1
  116. package/dist-server/service/chat-session/session-kind.d.ts +14 -0
  117. package/dist-server/service/chat-session/session-kind.js +30 -0
  118. package/dist-server/service/chat-session/session-kind.js.map +1 -0
  119. package/dist-server/service/chat-session/session-visibility.d.ts +15 -0
  120. package/dist-server/service/chat-session/session-visibility.js +35 -0
  121. package/dist-server/service/chat-session/session-visibility.js.map +1 -0
  122. package/dist-server/service/chat-session/station-session-guard.d.ts +1 -5
  123. package/dist-server/service/chat-session/station-session-guard.js +7 -2
  124. package/dist-server/service/chat-session/station-session-guard.js.map +1 -1
  125. package/dist-server/service/chat-session-participant/mention-invite.d.ts +29 -0
  126. package/dist-server/service/chat-session-participant/mention-invite.js +103 -0
  127. package/dist-server/service/chat-session-participant/mention-invite.js.map +1 -0
  128. package/dist-server/service/chat-session-resolver.d.ts +17 -0
  129. package/dist-server/service/chat-session-resolver.js +271 -15
  130. package/dist-server/service/chat-session-resolver.js.map +1 -1
  131. package/dist-server/service/grounding-sources.d.ts +14 -0
  132. package/dist-server/service/grounding-sources.js +26 -0
  133. package/dist-server/service/grounding-sources.js.map +1 -0
  134. package/dist-server/service/index.d.ts +9 -1
  135. package/dist-server/service/index.js +21 -0
  136. package/dist-server/service/index.js.map +1 -1
  137. package/dist-server/service/request-translator.d.ts +2 -0
  138. package/dist-server/service/request-translator.js +20 -0
  139. package/dist-server/service/request-translator.js.map +1 -0
  140. package/dist-server/service/testing/conversation-script.d.ts +123 -0
  141. package/dist-server/service/testing/conversation-script.js +202 -0
  142. package/dist-server/service/testing/conversation-script.js.map +1 -0
  143. package/dist-server/service/testing/mode-conformance.d.ts +50 -0
  144. package/dist-server/service/testing/mode-conformance.js +103 -0
  145. package/dist-server/service/testing/mode-conformance.js.map +1 -0
  146. package/dist-server/tool-registry-boot-report.d.ts +3 -0
  147. package/dist-server/tool-registry-boot-report.js +32 -2
  148. package/dist-server/tool-registry-boot-report.js.map +1 -1
  149. package/dist-server/tsconfig.tsbuildinfo +1 -1
  150. package/package.json +5 -5
  151. package/server/door-declaration-report.test.ts +53 -0
  152. package/server/door-declaration-report.ts +61 -0
  153. package/server/explicit-graphql-types.test.ts +56 -0
  154. package/server/service/assistant-capability-resolver.ts +66 -0
  155. package/server/service/assistant-chat-resolver.ts +205 -42
  156. package/server/service/assistant-mode/assistant-mode-resolver.ts +108 -0
  157. package/server/service/assistant-mode/index.ts +16 -0
  158. package/server/service/assistant-mode/registry.test.ts +105 -0
  159. package/server/service/assistant-mode/registry.ts +147 -0
  160. package/server/service/assistant-mode/resolve.test.ts +120 -0
  161. package/server/service/assistant-mode/resolve.ts +105 -0
  162. package/server/service/assistant-mode/subject-defaults.test.ts +86 -0
  163. package/server/service/assistant-mode/types.ts +121 -0
  164. package/server/service/chat-message/carried-turns.test.ts +80 -0
  165. package/server/service/chat-message/carried-turns.ts +112 -0
  166. package/server/service/chat-message/chat-message-subscription.ts +20 -4
  167. package/server/service/chat-message/chat-message.ts +44 -0
  168. package/server/service/chat-message/door-access.test.ts +72 -0
  169. package/server/service/chat-message/door-access.ts +65 -0
  170. package/server/service/chat-message/fold-history-window.test.ts +184 -0
  171. package/server/service/chat-message/fold-session-history.test.ts +98 -0
  172. package/server/service/chat-message/fold-session-history.ts +115 -0
  173. package/server/service/chat-message/llm-history.test.ts +58 -7
  174. package/server/service/chat-message/llm-history.ts +30 -11
  175. package/server/service/chat-message/message-doors.test.ts +87 -0
  176. package/server/service/chat-message/message-doors.ts +117 -0
  177. package/server/service/chat-message/proposal-outcome.test.ts +48 -0
  178. package/server/service/chat-message/proposal-outcome.ts +42 -0
  179. package/server/service/chat-message/reader-gate.ts +44 -0
  180. package/server/service/chat-message/room-message.test.ts +21 -0
  181. package/server/service/chat-message/room-message.ts +22 -0
  182. package/server/service/chat-session/chat-session.ts +46 -1
  183. package/server/service/chat-session/session-anchor.ts +12 -3
  184. package/server/service/chat-session/session-inbox.test.ts +18 -0
  185. package/server/service/chat-session/session-inbox.ts +11 -2
  186. package/server/service/chat-session/session-kind.test.ts +24 -0
  187. package/server/service/chat-session/session-kind.ts +32 -0
  188. package/server/service/chat-session/session-visibility.test.ts +52 -0
  189. package/server/service/chat-session/session-visibility.ts +34 -0
  190. package/server/service/chat-session/station-session-guard.ts +10 -2
  191. package/server/service/chat-session-participant/mention-invite.test.ts +125 -0
  192. package/server/service/chat-session-participant/mention-invite.ts +121 -0
  193. package/server/service/chat-session-resolver.ts +276 -15
  194. package/server/service/grounding-sources.test.ts +55 -0
  195. package/server/service/grounding-sources.ts +46 -0
  196. package/server/service/index.ts +21 -0
  197. package/server/service/request-translator.test.ts +45 -0
  198. package/server/service/request-translator.ts +33 -0
  199. package/server/service/station-session-guard.test.ts +12 -5
  200. package/server/service/testing/conversation-scenario.test.ts +163 -0
  201. package/server/service/testing/conversation-script.test.ts +131 -0
  202. package/server/service/testing/conversation-script.ts +288 -0
  203. package/server/service/testing/mode-conformance.ts +122 -0
  204. package/server/tool-registry-boot-report.ts +31 -2
  205. package/test/assistant-chat-call-sites.test.ts +82 -0
  206. package/translations/en.json +46 -3
  207. package/translations/ja.json +46 -3
  208. package/translations/ko.json +46 -3
  209. package/translations/ms.json +46 -3
  210. package/translations/zh.json +46 -3
@@ -81,8 +81,10 @@ export declare class OxAssistantChat extends LitElement {
81
81
  * `@` mention ๋„๋ฉ”์ธ ์‚ฌ์šฉ์ž ๊ณต๊ธ‰์ž (์„ ํƒ). ํ˜ธ์ŠคํŠธ๊ฐ€ `domainUsersForMention` query ๋กœ wrap.
82
82
  *
83
83
  * ํ˜ธ์ŠคํŠธ๋Š” query ๋ฌธ์ž์—ด์„ ๋ฐ›์•„ ๋„๋ฉ”์ธ ์‚ฌ์šฉ์ž ํ›„๋ณด (id/name/email) ๋ฐฐ์—ด์„ ๋Œ๋ ค์ค€๋‹ค.
84
- * ๋ฏธ์„ค์ • ์‹œ `@` popup ์€ ๋นˆ ๊ฒฐ๊ณผ (์‚ฌ์šฉ์ž๊ฐ€ ๋ฉ˜์…˜ ๋ชป ํ•จ). ๋ฉ€ํ‹ฐ์œ ์ € ํ™˜๊ฒฝ ํ™œ์„ฑํ™” ์ •์ฑ…์— ๋”ฐ๋ผ
85
- * ํ˜ธ์ŠคํŠธ๊ฐ€ set ํ•ด์•ผ ํ™œ์„ฑํ™”. async ๊ฐ€ ์ž์—ฐ์Šค๋Ÿฌ์šฐ๋ฏ€๋กœ Promise ๋ฐ˜ํ™˜ ๊ฐ€๋Šฅ.
84
+ *
85
+ * **๋ฏธ์„ค์ •์ด๋ฉด ๋Œ€ํ™”์ฐฝ์ด ์ด ํŒจํ‚ค์ง€์˜ ๋ฌธ(`domainUsersForMention`)์— ์ง์ ‘ ๋ฌป๋Š”๋‹ค.** ์˜ˆ์ „์—๋Š” ๋นˆ
86
+ * ๊ฒฐ๊ณผ์˜€๊ณ , ๊ทธ๋ž˜์„œ ์•ฑ ์…‹์—์„œ๋Š” `@์ด๋ฆ„` ์„ ๊ณ ๋ฅผ ์ˆ˜ ์—†์—ˆ๋‹ค โ€” ๋ฉ˜์…˜์ด ์‚ฌ๋žŒ์„ ๋ถˆ๋Ÿฌ๋“ค์ด๋Š” ๊ธธ์„ ์„ธ์›Œ๋„
87
+ * ๋ถ€๋ฅด๋Š” ์ž๋ฆฌ๊ฐ€ ์—†์—ˆ๋‹ค. ์ž๊ธฐ ๋ชฉ๋ก์„ ๋”ฐ๋กœ ์“ฐ๋Š” ํ˜ธ์ŠคํŠธ๋งŒ ์ด๊ฒƒ์„ ์ค€๋‹ค.
86
88
  */
87
89
  userProvider?: (query: string) => Promise<Array<{
88
90
  id: string;
@@ -114,22 +116,28 @@ export declare class OxAssistantChat extends LitElement {
114
116
  hostContext?: any;
115
117
  /** ์ฝ”์–ด ๋ณด๋“œ ํŽธ์ง‘ ๋„๊ตฌ ์‚ฌ์šฉ ์—ฌ๋ถ€. ๊ธฐ๋ณธ true. ๋ณด๋“œ๋ฅผ ๊ณ ์น  ์ด์œ ๊ฐ€ ์—†๋Š” ๋ฉด์—์„œ false. */
116
118
  boardTools: boolean;
117
- chatEndpoint: 'boardAIChat' | 'assistantChat';
118
- /**
119
- * Who the assistant is on this surface, in the host's words. Required by `assistantChat`; the
120
- * board conversation carries its own persona on the server and ignores this.
121
- */
119
+ chatEndpoint?: 'boardAIChat' | 'assistantChat';
122
120
  /**
123
121
  * What this conversation is โ€” see `AssistantMode`.
124
122
  *
125
- * A host that sets this does not set `systemPrompt`, `toolCategories`, `hostContext` or
126
- * `chatEndpoint` separately, and does not rely on `registerChatDefaults` for its `@` and `/`
127
- * lists: the mode carries all of them together, so they cannot disagree with each other.
123
+ * A host that sets this sets nothing else about the conversation: the persona, the tool
124
+ * categories, the model and the limits belong to the mode its app server registered, and what
125
+ * `@` and `/` offer comes from that same declaration, translated. They cannot disagree because
126
+ * there is one of them.
128
127
  *
129
- * When `mode.id` changes the conversation on screen is closed and a new one begins.
128
+ * When `kind` or `target` changes the conversation on screen is closed and a new one begins.
130
129
  */
131
130
  mode?: AssistantMode;
132
- systemPrompt?: string;
131
+ /**
132
+ * ์ด ํ™”๋ฉด์ด ๋ณด์—ฌ ์ฃผ๋Š” ๊ฒƒ์˜ **์ข…๋ฅ˜** โ€” `'board'`, `'space'`, `'station'`, `'figure'` (ADR-0072 A17 โ‘ ).
133
+ *
134
+ * `mode` ๊ฐ€ ใ€Œ์ง€๊ธˆ ์–ด๋А ๋Œ€ํ™”์ธ๊ฐ€ใ€๋ผ๋ฉด ์ด๊ฒƒ์€ ใ€Œ๊ทธ ์ž๋ฆฌ์— ์–ด๋–ค ๋Œ€ํ™”๋“ค์ด ์„ค ์ˆ˜ ์žˆ๋‚˜ใ€์ด๋‹ค. ์„œ๋ฒ„๊ฐ€
135
+ * `assistantModes(subject)` ๋กœ ๋‹ตํ•˜๊ณ , ๋‘˜ ์ด์ƒ์ด๋ฉด ๊ณ ๋ฅด๊ฐœ๊ฐ€ ๋œฌ๋‹ค. ํ•˜๋‚˜๋ฉด ๊ณ ๋ฅด๊ฐœ๋ฅผ ๋‚ด์ง€ ์•Š๋Š”๋‹ค โ€”
136
+ * ๊ณ ๋ฅผ ๊ฒƒ์ด ์—†๋Š” ๊ณ ๋ฅด๊ฐœ๋Š” ์ž๋ฆฌ๋งŒ ์ฐจ์ง€ํ•œ๋‹ค.
137
+ *
138
+ * ํ™”๋ฉด์ด ์ด๊ฒƒ์„ ์•ˆ ์ฃผ๋ฉด ๊ณ ๋ฅด๊ฐœ๋Š” ์—†๊ณ  host ๊ฐ€ ์ •ํ•œ ๋Œ€ํ™” ํ•˜๋‚˜๋งŒ ์‚ฐ๋‹ค. ๊ทธ๊ฒƒ์ด ์˜ค๋Š˜๊นŒ์ง€์˜ ๋ชจ์–‘์ด๋‹ค.
139
+ */
140
+ subject?: string;
133
141
  /**
134
142
  * ๋ผ์ด๋ธŒ ์ƒํƒœ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋Œ€ํ™”๋ฉด์ธ๊ฐ€ โ€” true ๋ฉด **์ฒซ ํ„ด์— ๋„๊ตฌ ํ˜ธ์ถœ์„ ๊ฐ•์ œ**ํ•œ๋‹ค.
135
143
  *
@@ -152,7 +160,7 @@ export declare class OxAssistantChat extends LitElement {
152
160
  group?: string;
153
161
  properties?: Record<string, any>;
154
162
  }>;
155
- placeholder: string;
163
+ placeholder?: string;
156
164
  private lines;
157
165
  private input;
158
166
  /**
@@ -263,6 +271,7 @@ export declare class OxAssistantChat extends LitElement {
263
271
  * email ์„ ์“ฐ๋Š” ์ด์œ : /auth/profile ์ด ํ•ญ์ƒ ๋‚ด๋ ค์ฃผ๋Š” ๋กœ๊ทธ์ธ ์‹๋ณ„์ž์ด๊ณ (๋น„์–ด ์žˆ์ง€ ์•Š๋‹ค),
264
272
  * ๋‚ด๋ถ€ ๊ด€๋ฆฌํ‚ค(User.id)๋ฅผ ํด๋ผ์ด์–ธํŠธ ํŒ์ •์— ์˜์กดํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•จ. */
265
273
  private get _myEmail();
274
+ private get _myUserId();
266
275
  /** Mention popup โ€” `#` (์ปดํฌ๋„ŒํŠธ) / `@` (์นดํƒˆ๋กœ๊ทธ) / `/` (slash) ํŠธ๋ฆฌ๊ฑฐ ์‹œ ํ™œ์„ฑ.
267
276
  * ๋‹จ์ผ popup ์žฌ์‚ฌ์šฉ โ€” mentionTrigger ๋กœ ํ™œ์„ฑ trigger ์ถ”์ . */
268
277
  private mentionOpen;
@@ -291,6 +300,47 @@ export declare class OxAssistantChat extends LitElement {
291
300
  /** centerTo ๋””๋ฐ”์šด์Šค timer โ€” arrow nav / hover ๋น ๋ฅผ ๋•Œ ์นด๋ฉ”๋ผ ์• ๋‹ˆ๋ฉ”์ด์…˜ race ๋ฐฉ์ง€ */
292
301
  private centerDebounceTimer?;
293
302
  private get conversation();
303
+ /**
304
+ * What the server said this mode offers, in this person's language.
305
+ *
306
+ * Fetched when the mode changes and kept until the next one answers. Until it arrives the panel
307
+ * offers nothing rather than the list some other package registered globally.
308
+ */
309
+ private modeView?;
310
+ private modeViewToken;
311
+ /** ์ด subject ์— ์„ค ์ˆ˜ ์žˆ๋Š” ๋Œ€ํ™”๋“ค โ€” ๊ธฐ๋ณธ์ด ๋จผ์ €. ํ•˜๋‚˜๋ฟ์ด๋ฉด ๊ณ ๋ฅด๊ฐœ๋ฅผ ๊ทธ๋ฆฌ์ง€ ์•Š๋Š”๋‹ค. */
312
+ private modeChoices;
313
+ private modeChoicesToken;
314
+ /**
315
+ * ์ด ํ™”๋ฉด์— ์„ค ์ˆ˜ ์žˆ๋Š” ๋Œ€ํ™”๋ฅผ ์„œ๋ฒ„์— ๋ฌป๋Š”๋‹ค.
316
+ *
317
+ * ํ™”๋ฉด์ด ์ข…๋ฅ˜ ๋ชฉ๋ก์„ ์†์— ๋“ค๊ณ  ์žˆ์œผ๋ฉด, ๋Œ€ํ™”๋ฅผ ํ•˜๋‚˜ ๋” ์„ธ์šด ๋‚  ๊ทธ ํ™”๋ฉด๋งŒ ๋ชจ๋ฅธ ์ฑ„๋กœ ๋‚จ๋Š”๋‹ค. ๋ชฉ๋ก์€
318
+ * ์•ฑ ์„œ๋ฒ„์˜ ์„ ์–ธ์—์„œ ๋‚˜์˜จ๋‹ค(ADR-0072 A17 โ‘ ).
319
+ */
320
+ private loadModeChoices;
321
+ /**
322
+ * ์‚ฌ๋žŒ์ด ๋‹ค๋ฅธ ๋Œ€ํ™”๋ฅผ ๊ณจ๋ž๋‹ค.
323
+ *
324
+ * ๊ณ ๋ฅธ ๊ฒƒ์€ **์ด subject ์ข…๋ฅ˜์— ๋Œ€ํ•ด** ๊ธฐ์–ตํ•œ๋‹ค โ€” ๋ณด๋“œ๋ฅผ ์—ด ๋•Œ๋งˆ๋‹ค ์ €์ž‘ ๋Œ€ํ™”๋กœ ๋Œ์•„๊ฐ€๋ฉด, ํ˜„์žฅ์„
325
+ * ๋ฌผ์œผ๋ ค๋˜ ์‚ฌ๋žŒ์€ ํ™”๋ฉด์„ ์—ด ๋•Œ๋งˆ๋‹ค ๊ฐ™์€ ์†์งˆ์„ ๋‹ค์‹œ ํ•ด์•ผ ํ•œ๋‹ค. ๊ธฐ์–ต์€ ์ด ๋ธŒ๋ผ์šฐ์ €์—๋งŒ ๋‚จ๋Š”๋‹ค
326
+ * (์„œ๋ฒ„์— ์นธ์„ ๋งŒ๋“ค์ง€ ์•Š๋Š”๋‹ค โ€” A17 โ‘ ). ์„ธ์…˜ ์ž์ฒด๋Š” ์ž๊ธฐ๊ฐ€ ์–ด๋А ๋Œ€ํ™”์˜€๋Š”์ง€ ์ด๋ฏธ ์•ˆ๋‹ค.
327
+ */
328
+ private onModePick;
329
+ /**
330
+ * **๊ณ ๋ฅด๋Š” ๊ฒƒ์€ ์ฒญํ•˜๋Š” ์ผ์ด๋‹ค** โ€” `mode` ๋ฅผ ์—ฌ๊ธฐ์„œ ๋ฐ”๊พธ์ง€ ์•Š๋Š”๋‹ค.
331
+ *
332
+ * host ๋Š” ๋ Œ๋”๋งˆ๋‹ค `mode` ๋ฅผ ๋‹ค์‹œ ๋‚ด๋ ค ์ค€๋‹ค. ํŒจ๋„์ด ์ž๊ธฐ ์†์œผ๋กœ ๊ณ ์ณ ๋‘๋ฉด ๋‹ค์Œ ๋ Œ๋”๊ฐ€ ๊ทธ๊ฒƒ์„ ๋ฎ๊ณ ,
333
+ * ๋” ๋‚˜์œ ๊ฒƒ์€ host ๊ฐ€ **์ž๊ธฐ๊ฐ€ ๋ฌด์—‡์„ ์—ด์—ˆ๋Š”์ง€ ๋ชจ๋ฅด๋Š” ์ฑ„๋กœ ๋‚จ๋Š”๋‹ค**๋Š” ๊ฒƒ์ด๋‹ค. host ๋Š” ๋Œ€ํ™”์˜ ์„ธ์…˜์„
334
+ * ๋Œ€์ƒ๋ณ„๋กœ ๋“ค๊ณ  ์žˆ์œผ๋ฏ€๋กœ, ๋Œ€ํ™”๊ฐ€ ๋ฐ”๋€ ๊ฒƒ์„ ๋ชจ๋ฅด๋ฉด ์•ž ๋Œ€ํ™”์˜ ์„ธ์…˜์„ ๊ทธ๋Œ€๋กœ ๋„˜๊ธด๋‹ค โ€” ๊ทธ๋Ÿฌ๋ฉด ์ƒˆ ๋ง์ด ์•ž
335
+ * ๋Œ€ํ™”์— ๋ถ™๋Š”๋‹ค(2026-09-18 Figure ๋ ˆ์ธ์ด :3300 ์—์„œ ๋ณธ ๊ฒƒ์ด ์ด๊ฒƒ์ด๋‹ค).
336
+ *
337
+ * ๊ทธ๋ž˜์„œ ์ฃผ์ธ์€ ํ•˜๋‚˜๋‹ค: host ๊ฐ€ `mode` ๋ฅผ ๊ฐ–๊ณ , ํŒจ๋„์€ ใ€Œ์ด๊ฒƒ์œผ๋กœ ๋ฐ”๊ฟ” ๋‹ฌ๋ผใ€๊ณ  ๋งํ•œ๋‹ค. ๊ธฐ์–ต์€ ํŒจ๋„์ด
338
+ * ์ง„๋‹ค(๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค ๋‹ค๋ฅธ ๊ฐ’์ด๋ผ host ๊ฐ€ ์งˆ ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค) โ€” ๊ธฐ์–ตํ•œ ๊ฒƒ์„ ๋˜์‚ด๋ฆด ๋•Œ๋„ ๊ฐ™์€ ์ฒญ์œผ๋กœ ๋‚˜๊ฐ„๋‹ค.
339
+ */
340
+ private askHostForMode;
341
+ /** ์ด subject ์—์„œ ์ง€๋‚œ๋ฒˆ์— ๊ณ ๋ฅธ ๋Œ€ํ™” โ€” ์—†์œผ๋ฉด undefined. */
342
+ private rememberedMode;
343
+ private loadModeView;
294
344
  private cachedCatalogCandidates;
295
345
  private cachedSlashCandidates;
296
346
  private rebuildMentionCaches;
@@ -301,6 +351,13 @@ export declare class OxAssistantChat extends LitElement {
301
351
  private userFetchToken;
302
352
  static styles: import("lit").CSSResult[];
303
353
  connectedCallback(): void;
354
+ /**
355
+ * ํ™”๋ฉด์ด ๋ณด์—ฌ ์ฃผ๋Š” ๊ฒƒ์˜ ์ข…๋ฅ˜๊ฐ€ ๋ฐ”๋€Œ์—ˆ๋‹ค โ€” ์„ค ์ˆ˜ ์žˆ๋Š” ๋Œ€ํ™”๋ฅผ ๋‹ค์‹œ ๋ฌป๊ณ , ์ง€๋‚œ๋ฒˆ ๊ณ ๋ฅธ ๊ฒƒ์„ ๋˜์‚ด๋ฆฐ๋‹ค.
356
+ *
357
+ * ๋˜์‚ด๋ฆฌ๋Š” ๊ฒƒ์€ **๊ณ ๋ฅธ ๋Œ€ํ™”**์ด์ง€ ์„ธ์…˜์ด ์•„๋‹ˆ๋‹ค. ์„ธ์…˜์€ ์ž๊ธฐ๊ฐ€ ์–ด๋А ๋Œ€ํ™”์˜€๋Š”์ง€ ์ด๋ฏธ ์•Œ๊ณ , ๋‹ค๋ฅธ
358
+ * ๋Œ€ํ™”๋กœ ๊ฐ€๋ฉด ๊ทธ๋•Œ ์ƒˆ๋กœ ๋‚œ๋‹ค(ADR-0072 A17 โ‘ ).
359
+ */
360
+ private onSubjectChanged;
304
361
  updated(changed: Map<string, any>): void;
305
362
  disconnectedCallback(): void;
306
363
  private _startPresence;
@@ -325,6 +382,23 @@ export declare class OxAssistantChat extends LitElement {
325
382
  private _isOnline;
326
383
  private loadHistory;
327
384
  render(): import("lit-html").TemplateResult<1>;
385
+ /**
386
+ * ๋ฐฉ์— ๋งํ•œ๋‹ค โ€” ์–ด์‹œ์Šคํ„ดํŠธ๋Š” ๋‹ตํ•˜์ง€ ์•Š๋Š”๋‹ค.
387
+ *
388
+ * ์ €์žฅ๋˜๋Š” ๋Œ€ํ™”๊ฐ€ ์žˆ์„ ๋•Œ๋งŒ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์„ธ์…˜์ด ์—†๋Š” ์ฆ‰์„ ์งˆ๋ฌธ์—๋Š” ใ€Œ๋ฐฉใ€์ด ์—†๋‹ค โ€” ๊ทธ ์ž๋ฆฌ์—์„œ
389
+ * ํ•œ ๋ง์€ ๋ˆ„๊ตฌ์—๊ฒŒ๋„ ๋‚จ์ง€ ์•Š๋Š”๋‹ค.
390
+ */
391
+ private sayToRoom;
392
+ /**
393
+ * ๋ณด๋‚ด๊ธฐ ์ „์— ๋งํ•œ๋‹ค โ€” ใ€Œ์ด ์‚ฌ๋žŒ์€ ์ด ๋Œ€ํ™”์— ๋“ค์–ด์˜ต๋‹ˆ๋‹คใ€(ADR-0071 ๊ฒฐ์ • 1 โ‘ฃ).
394
+ *
395
+ * ๋ฉ˜์…˜์€ ์‚ฌ๋žŒ์„ ๋ถˆ๋Ÿฌ๋“ค์ธ๋‹ค. ๋ˆ„๋ฅธ ๋’ค์— ์•Œ๋ฉด ์ด๋ฏธ ๋“ค์–ด์™€ ์žˆ๊ณ , ํ˜‘์˜์˜ ๊ณต๊ฐœ ๋ฒ”์œ„๋Š” ๋˜๋Œ๋ฆฌ๊ธฐ ์–ด๋ ค์šด
396
+ * ์ข…๋ฅ˜์˜ ์ผ์ด๋‹ค. ๊ทธ๋ž˜์„œ **์•„์ง ๋ณด๋‚ด์ง€ ์•Š์€ ์ƒํƒœ์—์„œ** ๋ˆ„๊ฐ€ ๋“ค์–ด์˜ค๊ฒŒ ๋˜๋Š”์ง€ ๋ณด์ธ๋‹ค.
397
+ *
398
+ * ์ดˆ๋Œ€ํ•  ์ˆ˜ ์—†๋Š” ์ž๋ฆฌ(๋ณด๊ธฐ ๊ถŒํ•œ ยท ์•„์ง ์ฐธ์—ฌ์ž๊ฐ€ ์•„๋‹˜)๋ผ๋ฉด ๊ทธ ์‚ฌ์‹ค์„ ๋งํ•œ๋‹ค โ€” ๋ˆŒ๋ €๋Š”๋ฐ ์•„๋ฌด ์ผ๋„
399
+ * ์ผ์–ด๋‚˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ๋‚˜์˜๋‹ค.
400
+ */
401
+ private renderInviteNotice;
328
402
  private onKeyDown;
329
403
  /** input ์ด๋ฒคํŠธ โ€” value ์ฆ‰์‹œ ๋ฐ˜์˜ + popup ๊ฐฑ์‹ ์€ 150ms ๋””๋ฐ”์šด์Šค (F-Finder ์™€ ๋™์ผ).
330
404
  * big board ์—์„œ ๋งค keystroke filter ๋น„์šฉ ์ ˆ๊ฐ + ํ•œ๊ตญ์–ด IME ์กฐํ•ฉ ์ค‘ ๊นœ๋นก์ž„ ์™„ํ™”. */
@@ -332,6 +406,12 @@ export declare class OxAssistantChat extends LitElement {
332
406
  /** ํ˜„์žฌ cursor ์œ„์น˜๋ฅผ ๋ณด๊ณ  mention popup ํ™œ์„ฑ/๋น„ํ™œ์„ฑ + ํ›„๋ณด ๊ฐฑ์‹ .
333
407
  * `#` (์ปดํฌ๋„ŒํŠธ) / `@` (์นดํƒˆ๋กœ๊ทธ) / `/` (slash ํ…œํ”Œ๋ฆฟ) ํ•œ ๋ฒˆ์— ํ•˜๋‚˜๋งŒ ํ™œ์„ฑ. */
334
408
  private refreshMentionPopup;
409
+ /**
410
+ * ํ˜ธ์ŠคํŠธ๊ฐ€ ๋ชฉ๋ก์„ ์ฃผ์ง€ ์•Š์„ ๋•Œ ์ด ๋„๋ฉ”์ธ์˜ ์‚ฌ์šฉ์ž๋ฅผ ์ง์ ‘ ๋ฌป๋Š”๋‹ค.
411
+ *
412
+ * ์‹คํŒจ๋Š” ๋นˆ ๋ชฉ๋ก์ด๋‹ค โ€” ๋ฉ˜์…˜์„ ๋ชป ๊ณ ๋ฅด๋Š” ๊ฒƒ์ด์ง€ ๋Œ€ํ™”๊ฐ€ ๋ง‰ํž ์ผ์€ ์•„๋‹ˆ๋‹ค.
413
+ */
414
+ private fetchDomainUsers;
335
415
  /** `@` query ์— ๋Œ€ํ•œ userProvider ๋น„๋™๊ธฐ ํ˜ธ์ถœ โ€” ์‘๋‹ต ๋„์ฐฉ ์‹œ popup ๊ฒฐ๊ณผ ๊ฐฑ์‹ .
336
416
  * race ๋ฐฉ์ง€: token ์œผ๋กœ ์ตœ์‹  ํ˜ธ์ถœ ์‹๋ณ„ (๋Šฆ๊ฒŒ ๋„์ฐฉํ•œ ์‘๋‹ต ๋ฌด์‹œ). */
337
417
  private refreshUserCandidatesAsync;
@@ -369,6 +449,29 @@ export declare class OxAssistantChat extends LitElement {
369
449
  private static readonly EXAMPLE_GROUPS;
370
450
  /** ๋ณด๋“œ์˜ ์„ธ์…˜ ํƒญ โ€” ๋‹ค์ค‘ ์„ธ์…˜ ํ™œ์„ฑํ™” ์‹œ ํŒจ๋„ ์ƒ๋‹จ. host ๊ฐ€ sessions ๋น„์›Œ๋‘๋ฉด ํ‘œ์‹œ X.
371
451
  * ๋ ˆ์ด๋ธ”์€ session.name ์šฐ์„ , ์—†์œผ๋ฉด fallback "์„ธ์…˜ N". */
452
+ /**
453
+ * ์ด ๋Œ€ํ™”์˜ **์ฃผ์–ด** โ€” ๊ฐ™์€ ํ™”๋ฉด ์œ„์— ๋‘ ๋Œ€ํ™”๊ฐ€ ์„ค ๋•Œ๋งŒ ๋‚˜์˜จ๋‹ค(ADR-0072 A17 โ‘ ).
454
+ *
455
+ * ํ•˜๋‚˜๋ฟ์ด๋ฉด ์•„๋ฌด๊ฒƒ๋„ ๊ทธ๋ฆฌ์ง€ ์•Š๋Š”๋‹ค. ๊ณ ๋ฅผ ๊ฒƒ์ด ์—†๋Š” ๊ณ ๋ฅด๊ฐœ๋Š” ์ž๋ฆฌ๋งŒ ์ฐจ์ง€ํ•˜๊ณ , ์‚ฌ๋žŒ์—๊ฒŒ ใ€Œ๋ฌด์–ธ๊ฐ€
456
+ * ๊ณ ๋ฅผ ๊ฒƒ์ด ์žˆ๋‹คใ€๋Š” ์ž˜๋ชป๋œ ์‹ ํ˜ธ๋ฅผ ์ค€๋‹ค.
457
+ *
458
+ * โ”€โ”€ ์™œ ํƒญ ์ค„์ด ์•„๋‹Œ๊ฐ€ (UX ๋ ˆ์ธ, 2026-09-18) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
459
+ * ์ฒ˜์Œ์—๋Š” ์นฉ ์ค„์— `role="tablist"` ๋ฅผ ๋‹ฌ์•˜๋‹ค. ๋ฐ”๋กœ ์•„๋ž˜๊ฐ€ ์„ธ์…˜ ํƒญ์ด๊ณ  ๊ทธ์ชฝ๋„ tablist ๋ผ์„œ, ํ™”๋ฉด
460
+ * ๋‚ญ๋…๊ธฐ๋กœ ๋“ค์œผ๋ฉด ใ€Œํƒญ ๋ชฉ๋ก, ๋Œ€ํ™”ใ€ ๋‹ค์Œ์— ใ€Œํƒญ ๋ชฉ๋ก, Conversation historyใ€ ๊ฐ€ ์ด์–ด์กŒ๋‹ค โ€” ๊ณ ๋ฅด๋Š”
461
+ * ์ถ•์ด ๋‘˜์ธ๋ฐ ๋‘˜ ๋‹ค ใ€Œํƒญใ€์ด๋ผ๊ณ  ๋งํ•œ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ARIA ํƒญ์€ ์ขŒ์šฐ ํ™”์‚ดํ‘œ ์ด๋™๊ณผ `tabpanel` ์ด ํ•จ๊ป˜
462
+ * ์žˆ์–ด์•ผ ์„ฑ๋ฆฝํ•˜๊ณ , ๋‘˜ ๋‹ค ์—†์œผ๋ฉด ๋‚ญ๋…๊ธฐ๋Š” ใ€Œ2 ์ค‘ 1๋ฒˆ์งธ ํƒญใ€์ด๋ผ ๋งํ•˜๊ณ  ํ™”์‚ดํ‘œ๋Š” ์•„๋ฌด ์ผ๋„ ์•ˆ ํ•œ๋‹ค.
463
+ *
464
+ * ๋ฌด๊ฒŒ๋„ ๋‹ค๋ฅด๋‹ค. ์„ธ์…˜์€ ใ€Œ์–ด๋А ์ง€๋‚œ ๋Œ€ํ™”๋ƒใ€์ด๊ณ  ๋ชจ๋“œ๋Š” ใ€Œ์ด ๋Œ€ํ™”๊ฐ€ ๋ฌด์—‡์— ๋Œ€ํ•œ ๊ฒƒ์ด๋ƒใ€์ด๋‹ค. ๊ฐ™์€
465
+ * ๋ฌด๊ฒŒ๋กœ ๊ทธ๋ฆฌ๋ฉด ์–ด๋А ์ชฝ์ด ํ™”์ œ๋ฅผ ๋ฐ”๊พธ๊ณ  ์–ด๋А ์ชฝ์ด ์‹คํƒ€๋ž˜๋ฅผ ๋ฐ”๊พธ๋Š”์ง€ ๊ตฌ๋ณ„๋˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋ž˜์„œ ์ง€๊ธˆ
466
+ * ๋Œ€ํ™”๊ฐ€ ์ œ๋ชฉ ๊ตต๊ธฐ๋กœ ์„œ๊ณ , ๋ฐ”๊ฟ€ ์ž๋ฆฌ๋Š” ๊ทธ ์˜†์— ๋ถ™๋Š”๋‹ค.
467
+ *
468
+ * โ”€โ”€ ์™œ ๋„ํฌ ์ œ๋ชฉ ์ค„๋กœ ์•ˆ ์˜ฌ๋ฆฌ๋‚˜ (UX ๋ ˆ์ธ ํŒ์ •, 2026-09-18) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
469
+ * ๋„ํฌ ์ œ๋ชฉ์€ ใ€Œ์ง€๊ธˆ ์–ด๋””์— ์žˆ๋‚˜ใ€(์ด ๋„ํ˜• ยท ์ด ํ˜„์žฅ ยท ์ด ์Šคํ…Œ์ด์…˜ ํ™”๋ฉด)์ด๊ณ  ์ด ์ค„์€ ใ€Œ์ด ๋Œ€ํ™”๊ฐ€
470
+ * ๋ฌด์—‡์— ๋Œ€ํ•œ ๊ฒƒ์ด๋ƒใ€์ด๋‹ค. ๋Œ€ํ™”์˜ ์ฃผ์–ด๋Š” ๋Œ€ํ™” ์•ˆ์— ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์„ธ ๋„ํฌ๊ฐ€ ๊ฐ์ž ๊ทธ๋ฆฌ๋ฉด ์„ธ ๋ฒŒ์ด ๋˜๊ณ 
471
+ * ๊ทธ ์„ธ ๋ฒŒ์€ ๊ฐˆ๋ฆฐ๋‹ค โ€” `modeChoices` ๋ฅผ ์•„๋Š” ๊ฒƒ๋„ ์—ฌ๊ธฐ๋‹ค. ์˜ฌ๋ฆฌ๋ฉด ๋ชฉ๋ก๊ณผ ๊ณ ๋ฅธ ๊ฒƒ์ด ์„ธ ์ž๋ฆฌ๋กœ ๋‚˜๊ฐ”๋‹ค
472
+ * ๋Œ์•„์˜จ๋‹ค.
473
+ */
474
+ private renderModeSubject;
372
475
  private renderSessionTabs;
373
476
  /** C4 roster โ€” ์„ธ์…˜ ์ฐธ์—ฌ์ž + online ํ‘œ์‹œ. ์ฐธ์—ฌ์ž 2๋ช… ๋ฏธ๋งŒ์ด๋ฉด ์ˆจ๊น€(ํ˜ผ์ž๋ฉด ์˜๋ฏธ ์—†์Œ). */
374
477
  private renderRoster;
@@ -411,6 +514,13 @@ export declare class OxAssistantChat extends LitElement {
411
514
  * ์‹คํ–‰ ๊ฒฐ๊ณผ๋Š” ํ˜ธ์ŠคํŠธ๊ฐ€ **๋Œ€ํ™”์— ๊ธฐ๋ก**ํ•œ๋‹ค โ€” ๋ˆ„๊ฐ€ ๋ฌด์—‡์„ ์‹คํ–‰ํ–ˆ๋Š”์ง€๊ฐ€ ํ˜‘์˜ ์ด๋ ฅ์— ๋‚จ์•„์•ผ ํ•œ๋‹ค.
412
515
  */
413
516
  private renderProposals;
517
+ /**
518
+ * ๋ˆŒ๋ฆฐ ์นด๋“œ๊ฐ€ ๋งํ•˜๋Š” ๊ฒƒ โ€” **ํ˜ธ์ŠคํŠธ๊ฐ€ ํ•œ ์ผ**์ด๊ณ , ์•„์ง ๋ชจ๋ฅด๋ฉด ๋ชจ๋ฅธ๋‹ค๊ณ  ๋งํ•œ๋‹ค.
519
+ *
520
+ * ์˜ˆ์ „์—๋Š” ๋ˆ„๋ฅธ ์ˆœ๊ฐ„ ใ€Œ์‹คํ–‰๋จใ€์ด์—ˆ๋‹ค. 09-18 ํŠธ์œˆ์—์„œ ์•„๋ฌด ์ผ๋„ ์ผ์–ด๋‚˜์ง€ ์•Š์€ ์ฑ„ ใ€Œโœ“ ๋ฐ˜์˜ํ–ˆ์Šต๋‹ˆ๋‹คใ€๊ฐ€
521
+ * ๋–ด๋‹ค(ADR-0070 A12-a).
522
+ */
523
+ private proposalStateText;
414
524
  private onChoiceClick;
415
525
  /**
416
526
  * ์ œ์•ˆ ์‹๋ณ„ ํ‚ค โ€” ๊ฐ™์€ ์กฐ์น˜๋ฅผ ๋‘ ๋ฒˆ ์‹คํ–‰ํ•˜์ง€ ์•Š๋„๋ก **ํšจ๊ณผ**(๋ช…๋ นยท๋Œ€์ƒยท์ธ์ž)๋กœ๋งŒ ๋งŒ๋“ ๋‹ค.
@@ -424,7 +534,24 @@ export declare class OxAssistantChat extends LitElement {
424
534
  * ์‹คํ–‰์€ ํ˜ธ์ŠคํŠธ๊ฐ€ ํ•œ๋‹ค โ€” ์ด ์ปดํฌ๋„ŒํŠธ๋Š” ๋„๋ฉ”์ธ(ํŠธ์œˆ ๋ช…๋ น ์ฑ„๋„)์„ ๋ชจ๋ฅธ๋‹ค.
425
535
  * ํ™•์ธ ๋Œ€ํ™”ยท๋ช…๋ น ์ „์†กยท๊ฒฐ๊ณผ ๊ธฐ๋ก์€ ํ˜ธ์ŠคํŠธ์˜ ๋ชซ์ด๊ณ , ์—ฌ๊ธฐ์„œ๋Š” ์ค‘๋ณต ํด๋ฆญ๋งŒ ๋ง‰๋Š”๋‹ค.
426
536
  */
537
+ /**
538
+ * ๋ˆ„๋ฅธ ์‹œ๊ฐ โ€” ใ€Œ๋ณด๋‚ด๋Š” ์ค‘ใ€ ์˜†์˜ ๊ฒฝ๊ณผ ์‹œ๊ฐ„์šฉ.
539
+ *
540
+ * ์‹œ๊ฐ„์œผ๋กœ ์‹คํŒจ๋ฅผ ํŒ์ •ํ•˜์ง€ ์•Š๋Š”๋‹ค(ADR-0070 A12-a ๊ฒฐ์ • โ‘ก). ์•„๋Š” ์‚ฌ์‹ค์€ ใ€Œ์•„์ง ๋‹ต์„ ๋ฐ›์ง€ ๋ชปํ–ˆ๋‹คใ€
541
+ * ํ•˜๋‚˜์ด๊ณ , ์‹œ๊ฐ„์ด ์ง€๋‚ฌ๋‹ค๊ณ  ์‹คํŒจ๋กœ ๋ฐ”๊พธ๋ฉด ๊ทธ๊ฒƒ์ด ์ง€์–ด๋‚ธ ์›์ธ์ด๋‹ค.
542
+ */
543
+ private proposalSentAt;
544
+ private elapsedTimer?;
427
545
  private executeProposal;
546
+ /**
547
+ * ํ˜ธ์ŠคํŠธ๊ฐ€ ๋ฌด์—‡์„ ํ–ˆ๋Š”์ง€ โ€” ๋Œ€ํ™”์— ๋‚จ์€ `system` ํ–‰์—์„œ ์ฝ๋Š”๋‹ค(ADR-0070 A12-a ๊ฒฐ์ • โ‘ ).
548
+ *
549
+ * ์นด๋“œ๊ฐ€ ์ž๊ธฐ ๊ธฐ์–ต์œผ๋กœ ์ƒํƒœ๋ฅผ ๋“ค๊ณ  ์žˆ์œผ๋ฉด ์ƒˆ๋กœ ๊ณ ์น˜๋Š” ์ˆœ๊ฐ„ ์‚ฌ๋ผ์ง€๊ณ , ๋‹ค๋ฅธ ์ฐฝ์—์„œ ์‹คํ–‰ํ•œ ๊ฒƒ์€
550
+ * ์• ์ดˆ์— ๋ณด์ด์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋ž˜์„œ ์ƒํƒœ์˜ ์ž๋ฆฌ๋Š” ์ด๋ ฅ์ด๋‹ค.
551
+ */
552
+ private get proposalOutcomes();
553
+ /** ๊ฒฝ๊ณผ ์‹œ๊ฐ„์„ ๋ณด์ด๋Š” ๋™์•ˆ์—๋งŒ ๋ˆ๋‹ค โ€” ๋‹ต์ด ์˜ค๋ฉด ๋ฉˆ์ถ˜๋‹ค. */
554
+ private _startElapsedTicker;
428
555
  /**
429
556
  * ์ ‘์ง€ ๊ฒฝ๊ณ  โ€” ๋‹ต์ด ์–ธ๊ธ‰ํ–ˆ์ง€๋งŒ **๊ทผ๊ฑฐ์— ์—†๋˜** ๋Œ€์ƒ์„ ์•Œ๋ฆฐ๋‹ค.
430
557
  *