@things-factory/ai-assistant 10.1.108 → 10.1.109
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/components/assistant-chat.ts +42 -1
- package/dist-client/components/assistant-chat.js +43 -1
- package/dist-client/components/assistant-chat.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/test/entry-card-styles.test.ts +18 -0
- package/test/pasted-table.test.ts +7 -0
|
@@ -2019,6 +2019,42 @@ export class OxAssistantChat extends LitElement {
|
|
|
2019
2019
|
color: inherit;
|
|
2020
2020
|
}
|
|
2021
2021
|
|
|
2022
|
+
/* The entry card's way to the large review - a quiet action under its table, never a second run button. */
|
|
2023
|
+
.workspace-review {
|
|
2024
|
+
display: flex;
|
|
2025
|
+
align-items: center;
|
|
2026
|
+
gap: 5px;
|
|
2027
|
+
margin: 6px 0 0 auto;
|
|
2028
|
+
padding: 5px 11px 5px 9px;
|
|
2029
|
+
border: 1px solid transparent;
|
|
2030
|
+
border-radius: 999px;
|
|
2031
|
+
background: transparent;
|
|
2032
|
+
color: var(--md-sys-color-primary, #0f766e);
|
|
2033
|
+
font-family: inherit;
|
|
2034
|
+
font-size: 12px;
|
|
2035
|
+
font-weight: 600;
|
|
2036
|
+
letter-spacing: 0.01em;
|
|
2037
|
+
cursor: pointer;
|
|
2038
|
+
transition:
|
|
2039
|
+
background-color 0.14s ease-in-out,
|
|
2040
|
+
border-color 0.14s ease-in-out;
|
|
2041
|
+
}
|
|
2042
|
+
.workspace-review md-icon {
|
|
2043
|
+
--md-icon-size: 15px;
|
|
2044
|
+
color: inherit;
|
|
2045
|
+
}
|
|
2046
|
+
.workspace-review:hover {
|
|
2047
|
+
background: color-mix(in srgb, var(--md-sys-color-primary, #0f766e) 8%, transparent);
|
|
2048
|
+
border-color: color-mix(in srgb, var(--md-sys-color-primary, #0f766e) 24%, transparent);
|
|
2049
|
+
}
|
|
2050
|
+
.workspace-review:active {
|
|
2051
|
+
background: color-mix(in srgb, var(--md-sys-color-primary, #0f766e) 14%, transparent);
|
|
2052
|
+
}
|
|
2053
|
+
.workspace-review:focus-visible {
|
|
2054
|
+
outline: 2px solid var(--md-sys-color-primary, #0f766e);
|
|
2055
|
+
outline-offset: 1px;
|
|
2056
|
+
}
|
|
2057
|
+
|
|
2022
2058
|
/* ── 접지 경고 — 근거에 없는 대상을 지목한 답 ───── */
|
|
2023
2059
|
.grounding-warning {
|
|
2024
2060
|
display: flex;
|
|
@@ -3305,6 +3341,11 @@ export class OxAssistantChat extends LitElement {
|
|
|
3305
3341
|
}
|
|
3306
3342
|
|
|
3307
3343
|
private onKeyDown(e: KeyboardEvent) {
|
|
3344
|
+
/*
|
|
3345
|
+
The Enter that ends a Korean (or Japanese, Chinese) syllable belongs to the input method - sending on it
|
|
3346
|
+
sends the line without its last syllable, which then lands in the emptied box.
|
|
3347
|
+
*/
|
|
3348
|
+
if (e.isComposing || e.keyCode === 229) return
|
|
3308
3349
|
// Mention popup 활성 시 — 화살표/Enter/Tab/Esc 가로채서 popup 네비게이션
|
|
3309
3350
|
if (this.mentionOpen) {
|
|
3310
3351
|
if (e.key === 'ArrowDown') {
|
|
@@ -4078,7 +4119,7 @@ export class OxAssistantChat extends LitElement {
|
|
|
4078
4119
|
${entry ? html`<ox-assistant-entry-review .proposal=${p}></ox-assistant-entry-review>` : nothing}
|
|
4079
4120
|
${entry && this.sessionId && offersWorkspaceReview(p)
|
|
4080
4121
|
? html`<button
|
|
4081
|
-
class="
|
|
4122
|
+
class="workspace-review"
|
|
4082
4123
|
@click=${() =>
|
|
4083
4124
|
this.dispatchEvent(new CustomEvent('assistant-open-page', { detail: { href: entryReviewAddress(this.sessionId!, key) }, bubbles: true, composed: true }))}
|
|
4084
4125
|
>
|
|
@@ -1671,6 +1671,42 @@ let OxAssistantChat = class OxAssistantChat extends LitElement {
|
|
|
1671
1671
|
color: inherit;
|
|
1672
1672
|
}
|
|
1673
1673
|
|
|
1674
|
+
/* The entry card's way to the large review - a quiet action under its table, never a second run button. */
|
|
1675
|
+
.workspace-review {
|
|
1676
|
+
display: flex;
|
|
1677
|
+
align-items: center;
|
|
1678
|
+
gap: 5px;
|
|
1679
|
+
margin: 6px 0 0 auto;
|
|
1680
|
+
padding: 5px 11px 5px 9px;
|
|
1681
|
+
border: 1px solid transparent;
|
|
1682
|
+
border-radius: 999px;
|
|
1683
|
+
background: transparent;
|
|
1684
|
+
color: var(--md-sys-color-primary, #0f766e);
|
|
1685
|
+
font-family: inherit;
|
|
1686
|
+
font-size: 12px;
|
|
1687
|
+
font-weight: 600;
|
|
1688
|
+
letter-spacing: 0.01em;
|
|
1689
|
+
cursor: pointer;
|
|
1690
|
+
transition:
|
|
1691
|
+
background-color 0.14s ease-in-out,
|
|
1692
|
+
border-color 0.14s ease-in-out;
|
|
1693
|
+
}
|
|
1694
|
+
.workspace-review md-icon {
|
|
1695
|
+
--md-icon-size: 15px;
|
|
1696
|
+
color: inherit;
|
|
1697
|
+
}
|
|
1698
|
+
.workspace-review:hover {
|
|
1699
|
+
background: color-mix(in srgb, var(--md-sys-color-primary, #0f766e) 8%, transparent);
|
|
1700
|
+
border-color: color-mix(in srgb, var(--md-sys-color-primary, #0f766e) 24%, transparent);
|
|
1701
|
+
}
|
|
1702
|
+
.workspace-review:active {
|
|
1703
|
+
background: color-mix(in srgb, var(--md-sys-color-primary, #0f766e) 14%, transparent);
|
|
1704
|
+
}
|
|
1705
|
+
.workspace-review:focus-visible {
|
|
1706
|
+
outline: 2px solid var(--md-sys-color-primary, #0f766e);
|
|
1707
|
+
outline-offset: 1px;
|
|
1708
|
+
}
|
|
1709
|
+
|
|
1674
1710
|
/* ── 접지 경고 — 근거에 없는 대상을 지목한 답 ───── */
|
|
1675
1711
|
.grounding-warning {
|
|
1676
1712
|
display: flex;
|
|
@@ -2951,6 +2987,12 @@ let OxAssistantChat = class OxAssistantChat extends LitElement {
|
|
|
2951
2987
|
`;
|
|
2952
2988
|
}
|
|
2953
2989
|
onKeyDown(e) {
|
|
2990
|
+
/*
|
|
2991
|
+
The Enter that ends a Korean (or Japanese, Chinese) syllable belongs to the input method - sending on it
|
|
2992
|
+
sends the line without its last syllable, which then lands in the emptied box.
|
|
2993
|
+
*/
|
|
2994
|
+
if (e.isComposing || e.keyCode === 229)
|
|
2995
|
+
return;
|
|
2954
2996
|
// Mention popup 활성 시 — 화살표/Enter/Tab/Esc 가로채서 popup 네비게이션
|
|
2955
2997
|
if (this.mentionOpen) {
|
|
2956
2998
|
if (e.key === 'ArrowDown') {
|
|
@@ -3630,7 +3672,7 @@ let OxAssistantChat = class OxAssistantChat extends LitElement {
|
|
|
3630
3672
|
${entry ? html `<ox-assistant-entry-review .proposal=${p}></ox-assistant-entry-review>` : nothing}
|
|
3631
3673
|
${entry && this.sessionId && offersWorkspaceReview(p)
|
|
3632
3674
|
? html `<button
|
|
3633
|
-
class="
|
|
3675
|
+
class="workspace-review"
|
|
3634
3676
|
@click=${() => this.dispatchEvent(new CustomEvent('assistant-open-page', { detail: { href: entryReviewAddress(this.sessionId, key) }, bubbles: true, composed: true }))}
|
|
3635
3677
|
>
|
|
3636
3678
|
<md-icon>open_in_full</md-icon>
|