@flamingo-stack/openframe-frontend-core 0.0.743 → 0.0.744
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/dist/{chunk-YDFKFLDQ.cjs → chunk-2JRCJV3M.cjs} +3 -3
- package/dist/{chunk-UL6ZZSL4.cjs → chunk-2UBR53AN.cjs} +2 -2
- package/dist/{chunk-YWMUZLU2.cjs → chunk-35IQLGV3.cjs} +33 -33
- package/dist/{chunk-IRWJKVVZ.cjs → chunk-65LJNDR2.cjs} +9 -9
- package/dist/{chunk-SQHTX5XP.cjs → chunk-AT6ZI4CO.cjs} +2 -2
- package/dist/{chunk-NGUJVM6O.cjs → chunk-FTYQS6VI.cjs} +3 -3
- package/dist/{chunk-6XCQXGQA.cjs → chunk-H62FNZGG.cjs} +11 -11
- package/dist/{chunk-TKASH5YC.cjs → chunk-HHL23RFC.cjs} +33 -33
- package/dist/{chunk-WCY35GB5.cjs → chunk-HJ4KGA2M.cjs} +76 -76
- package/dist/{chunk-MT7ELGCV.cjs → chunk-HMSUYWSB.cjs} +2 -2
- package/dist/{chunk-XJO5ZHO6.cjs → chunk-HTQJYN47.cjs} +13 -13
- package/dist/{chunk-ZP5DFF3Q.cjs → chunk-NURAL5HD.cjs} +5 -5
- package/dist/{chunk-BM6JZRVD.cjs → chunk-OC2LBQQJ.cjs} +25 -1
- package/dist/{chunk-MLZKPDPZ.cjs → chunk-PYWHDPVC.cjs} +22 -22
- package/dist/{chunk-BNTELSHZ.cjs → chunk-QSO56JZ2.cjs} +55 -55
- package/dist/{chunk-Y2FN3E32.cjs → chunk-QZYF2YQ3.cjs} +4 -4
- package/dist/{cloud-tenants-DZC3ACG6.cjs → cloud-tenants-JPXAXSPE.cjs} +3 -3
- package/dist/components/case-studies/index.cjs +11 -11
- package/dist/components/chat/index.cjs +2 -2
- package/dist/components/chat/utils/history-merge.d.ts.map +1 -1
- package/dist/components/chat/utils/history-merge.js +25 -1
- package/dist/components/contact/index.cjs +4 -4
- package/dist/components/docs/index.cjs +7 -7
- package/dist/components/embeds/index.cjs +4 -4
- package/dist/components/faq/index.cjs +5 -5
- package/dist/components/features/index.cjs +3 -3
- package/dist/components/help-center-pages/index.cjs +53 -53
- package/dist/components/index.cjs +33 -33
- package/dist/components/meeting-scheduler/index.cjs +19 -19
- package/dist/components/navigation/index.cjs +6 -6
- package/dist/components/onboarding-guides/index.cjs +5 -5
- package/dist/components/product-demo/index.cjs +7 -7
- package/dist/components/tickets/index.cjs +8 -8
- package/dist/components/ui/index.cjs +3 -3
- package/dist/{devices-MFGE2JQV.cjs → devices-ONC4JOVH.cjs} +4 -4
- package/dist/index.cjs +7 -7
- package/dist/{knowledge-7VPS2ZBU.cjs → knowledge-G7XU5YST.cjs} +3 -3
- package/dist/{logs-M3QPAUH7.cjs → logs-5B7NY4G6.cjs} +11 -11
- package/dist/{policies-UAVE6X62.cjs → policies-OYR3SLJN.cjs} +7 -7
- package/dist/{scripts-EDQ3IQKW.cjs → scripts-6CWHTY6U.cjs} +8 -8
- package/dist/{software-update-B2MZVNPK.cjs → software-update-AJPIY4SQ.cjs} +6 -6
- package/package.json +1 -1
- package/src/components/chat/utils/history-merge.ts +46 -1
|
@@ -8,7 +8,7 @@ var _chunkSTEJZPIOcjs = require('./chunk-STEJZPIO.cjs');
|
|
|
8
8
|
var _chunkDKOLQPE7cjs = require('./chunk-DKOLQPE7.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
var
|
|
11
|
+
var _chunkHJ4KGA2Mcjs = require('./chunk-HJ4KGA2M.cjs');
|
|
12
12
|
require('./chunk-URVIPSAJ.cjs');
|
|
13
13
|
require('./chunk-NTGIQP7O.cjs');
|
|
14
14
|
require('./chunk-U2O5YQRP.cjs');
|
|
@@ -21,7 +21,7 @@ require('./chunk-A6P6DHEZ.cjs');
|
|
|
21
21
|
require('./chunk-MZ4KBSH7.cjs');
|
|
22
22
|
require('./chunk-GAGNKWOC.cjs');
|
|
23
23
|
require('./chunk-YUMFVQIN.cjs');
|
|
24
|
-
require('./chunk-
|
|
24
|
+
require('./chunk-OC2LBQQJ.cjs');
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
var _chunk7YDF3QBNcjs = require('./chunk-7YDF3QBN.cjs');
|
|
@@ -1905,7 +1905,7 @@ function KnowledgeScreen(_props) {
|
|
|
1905
1905
|
const cast = _chunkSTEJZPIOcjs.useProductDemoCast.call(void 0, );
|
|
1906
1906
|
const fixture = _react.useMemo.call(void 0, () => buildKnowledgeFixture(cast), [cast]);
|
|
1907
1907
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1908
|
-
|
|
1908
|
+
_chunkHJ4KGA2Mcjs.KnowledgeBaseArticleView,
|
|
1909
1909
|
{
|
|
1910
1910
|
...fixture.article,
|
|
1911
1911
|
content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7YDF3QBNcjs.SimpleMarkdownRenderer, { content: fixture.content, textSize: "compact" })
|
|
@@ -16,7 +16,7 @@ var _chunkDKOLQPE7cjs = require('./chunk-DKOLQPE7.cjs');
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
var
|
|
19
|
+
var _chunkHJ4KGA2Mcjs = require('./chunk-HJ4KGA2M.cjs');
|
|
20
20
|
require('./chunk-URVIPSAJ.cjs');
|
|
21
21
|
require('./chunk-NTGIQP7O.cjs');
|
|
22
22
|
require('./chunk-U2O5YQRP.cjs');
|
|
@@ -31,7 +31,7 @@ require('./chunk-GAGNKWOC.cjs');
|
|
|
31
31
|
require('./chunk-YUMFVQIN.cjs');
|
|
32
32
|
|
|
33
33
|
|
|
34
|
-
var
|
|
34
|
+
var _chunkOC2LBQQJcjs = require('./chunk-OC2LBQQJ.cjs');
|
|
35
35
|
require('./chunk-7YDF3QBN.cjs');
|
|
36
36
|
require('./chunk-OWGLRE74.cjs');
|
|
37
37
|
require('./chunk-3RFQPQ7Z.cjs');
|
|
@@ -1886,7 +1886,7 @@ function entry(logId, minutesAgo, severity, toolType, device2, summary) {
|
|
|
1886
1886
|
id: logId,
|
|
1887
1887
|
logId,
|
|
1888
1888
|
timestamp: displayTime(_chunkDKOLQPE7cjs.demoMinutesAgo.call(void 0, minutesAgo)),
|
|
1889
|
-
status: { label: severity, variant:
|
|
1889
|
+
status: { label: severity, variant: _chunkHJ4KGA2Mcjs.logSeverityVariant.call(void 0, severity) },
|
|
1890
1890
|
source: { name: toolType, toolType },
|
|
1891
1891
|
device: device2,
|
|
1892
1892
|
description: { title: summary }
|
|
@@ -1958,13 +1958,13 @@ var NO_FILTERS = {};
|
|
|
1958
1958
|
var ACTION_COLUMNS = ["copy", "quickView", "open"];
|
|
1959
1959
|
var BESIDE_DRAWER_HIDDEN = [...ACTION_COLUMNS, "tool", "source"];
|
|
1960
1960
|
var logHref = () => "#";
|
|
1961
|
-
var copyAction = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1961
|
+
var copyAction = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJ4KGA2Mcjs.LogCopyIconButton, {});
|
|
1962
1962
|
function LogsScreen({ compact = false }) {
|
|
1963
1963
|
const [dock, setDock] = _react.useState.call(void 0, null);
|
|
1964
1964
|
const selected = LOGS_FIXTURE_SELECTED;
|
|
1965
1965
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full bg-ods-bg", children: [
|
|
1966
1966
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1 overflow-clip", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1967
|
-
|
|
1967
|
+
_chunkHJ4KGA2Mcjs.LogsPageView,
|
|
1968
1968
|
{
|
|
1969
1969
|
showHeader: false,
|
|
1970
1970
|
className: "p-[var(--spacing-system-l)]",
|
|
@@ -1972,7 +1972,7 @@ function LogsScreen({ compact = false }) {
|
|
|
1972
1972
|
onSearchChange: noop,
|
|
1973
1973
|
onOpenFilters: noop,
|
|
1974
1974
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1975
|
-
|
|
1975
|
+
_chunkHJ4KGA2Mcjs.LogsTableView,
|
|
1976
1976
|
{
|
|
1977
1977
|
logs: LOGS_FIXTURE_ENTRIES,
|
|
1978
1978
|
facets: LOGS_FIXTURE_FACETS,
|
|
@@ -1986,8 +1986,8 @@ function LogsScreen({ compact = false }) {
|
|
|
1986
1986
|
)
|
|
1987
1987
|
}
|
|
1988
1988
|
) }),
|
|
1989
|
-
!compact && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: setDock, className: "relative w-[calc(400px+var(--spacing-system-m))] shrink-0", children: dock && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1990
|
-
|
|
1989
|
+
!compact && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: setDock, className: "relative w-[calc(400px+var(--spacing-system-m))] shrink-0", children: dock && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJ4KGA2Mcjs.AppLayoutDrawerContainerContext.Provider, { value: dock, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1990
|
+
_chunkHJ4KGA2Mcjs.LogDrawer,
|
|
1991
1991
|
{
|
|
1992
1992
|
docked: true,
|
|
1993
1993
|
isOpen: true,
|
|
@@ -1999,12 +1999,12 @@ function LogsScreen({ compact = false }) {
|
|
|
1999
1999
|
{ label: "Log ID", value: selected.logId },
|
|
2000
2000
|
{
|
|
2001
2001
|
label: "Source",
|
|
2002
|
-
value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2002
|
+
value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJ4KGA2Mcjs.ToolBadge, { toolType: _chunkOC2LBQQJcjs.normalizeToolTypeWithFallback.call(void 0, selected.source.toolType) })
|
|
2003
2003
|
},
|
|
2004
|
-
{ label: "Device", value:
|
|
2004
|
+
{ label: "Device", value: _chunkHJ4KGA2Mcjs.logSourceLabels.call(void 0, selected.device).deviceName }
|
|
2005
2005
|
],
|
|
2006
2006
|
deviceCard: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2007
|
-
|
|
2007
|
+
_chunkHJ4KGA2Mcjs.DeviceCard,
|
|
2008
2008
|
{
|
|
2009
2009
|
...LOGS_FIXTURE_DEVICE,
|
|
2010
2010
|
actions: {
|
|
@@ -10,7 +10,7 @@ var _chunkDKOLQPE7cjs = require('./chunk-DKOLQPE7.cjs');
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _chunkHJ4KGA2Mcjs = require('./chunk-HJ4KGA2M.cjs');
|
|
14
14
|
require('./chunk-URVIPSAJ.cjs');
|
|
15
15
|
require('./chunk-NTGIQP7O.cjs');
|
|
16
16
|
require('./chunk-U2O5YQRP.cjs');
|
|
@@ -23,7 +23,7 @@ require('./chunk-A6P6DHEZ.cjs');
|
|
|
23
23
|
require('./chunk-MZ4KBSH7.cjs');
|
|
24
24
|
require('./chunk-GAGNKWOC.cjs');
|
|
25
25
|
require('./chunk-YUMFVQIN.cjs');
|
|
26
|
-
require('./chunk-
|
|
26
|
+
require('./chunk-OC2LBQQJ.cjs');
|
|
27
27
|
require('./chunk-7YDF3QBN.cjs');
|
|
28
28
|
require('./chunk-OWGLRE74.cjs');
|
|
29
29
|
require('./chunk-3RFQPQ7Z.cjs');
|
|
@@ -1891,14 +1891,14 @@ var POLICIES = [
|
|
|
1891
1891
|
policy("policy-local-admins", "No local admins", "No everyday account is a local administrator.", false, 0)
|
|
1892
1892
|
];
|
|
1893
1893
|
var POLICIES_FIXTURE = {
|
|
1894
|
-
summary:
|
|
1894
|
+
summary: _chunkHJ4KGA2Mcjs.computePolicySummary.call(void 0, POLICIES),
|
|
1895
1895
|
rows: POLICIES.map((item) => ({
|
|
1896
1896
|
id: item.id,
|
|
1897
1897
|
name: item.name,
|
|
1898
1898
|
description: item.description,
|
|
1899
1899
|
critical: item.critical,
|
|
1900
1900
|
severityLabel: item.critical ? "Critical" : "Low",
|
|
1901
|
-
status:
|
|
1901
|
+
status: _chunkHJ4KGA2Mcjs.getPolicyTableStatus.call(void 0, item),
|
|
1902
1902
|
actions: [
|
|
1903
1903
|
{ label: "Policy Details", onClick: noop },
|
|
1904
1904
|
{ label: "Delete Policy", onClick: noop }
|
|
@@ -1912,16 +1912,16 @@ var POLICIES_FIXTURE = {
|
|
|
1912
1912
|
var _jsxruntime = require('react/jsx-runtime');
|
|
1913
1913
|
function PoliciesScreen({ compact = false }) {
|
|
1914
1914
|
const table = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1915
|
-
|
|
1915
|
+
_chunkHJ4KGA2Mcjs.PoliciesTable,
|
|
1916
1916
|
{
|
|
1917
1917
|
rows: POLICIES_FIXTURE.rows,
|
|
1918
1918
|
rowAsLink: true,
|
|
1919
|
-
rightSlot: compact ? void 0 : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1919
|
+
rightSlot: compact ? void 0 : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJ4KGA2Mcjs.DataTable.RowCount, {}),
|
|
1920
1920
|
emptyMessage: "No policies found."
|
|
1921
1921
|
}
|
|
1922
1922
|
);
|
|
1923
1923
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col gap-[var(--spacing-system-l)] bg-ods-bg p-[var(--spacing-system-l)]", children: [
|
|
1924
|
-
!compact && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1924
|
+
!compact && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJ4KGA2Mcjs.PolicySummaryCards, { summary: POLICIES_FIXTURE.summary, now: POLICIES_FIXTURE.now }),
|
|
1925
1925
|
table
|
|
1926
1926
|
] });
|
|
1927
1927
|
}
|
|
@@ -13,7 +13,7 @@ var _chunkDKOLQPE7cjs = require('./chunk-DKOLQPE7.cjs');
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _chunkHJ4KGA2Mcjs = require('./chunk-HJ4KGA2M.cjs');
|
|
17
17
|
require('./chunk-URVIPSAJ.cjs');
|
|
18
18
|
require('./chunk-NTGIQP7O.cjs');
|
|
19
19
|
|
|
@@ -28,7 +28,7 @@ require('./chunk-A6P6DHEZ.cjs');
|
|
|
28
28
|
require('./chunk-MZ4KBSH7.cjs');
|
|
29
29
|
require('./chunk-GAGNKWOC.cjs');
|
|
30
30
|
require('./chunk-YUMFVQIN.cjs');
|
|
31
|
-
require('./chunk-
|
|
31
|
+
require('./chunk-OC2LBQQJ.cjs');
|
|
32
32
|
require('./chunk-7YDF3QBN.cjs');
|
|
33
33
|
require('./chunk-OWGLRE74.cjs');
|
|
34
34
|
require('./chunk-3RFQPQ7Z.cjs');
|
|
@@ -1995,8 +1995,8 @@ function buildScriptsFixture(cast) {
|
|
|
1995
1995
|
var _jsxruntime = require('react/jsx-runtime');
|
|
1996
1996
|
var WIDE_HIDDEN_COLUMNS = ["result", "open"];
|
|
1997
1997
|
var COMPACT_COLUMNS = [
|
|
1998
|
-
{ ...
|
|
1999
|
-
|
|
1998
|
+
{ ..._chunkHJ4KGA2Mcjs.EXECUTION_COLUMNS.machineId, width: "flex-1 min-w-0", hideAt: void 0 },
|
|
1999
|
+
_chunkHJ4KGA2Mcjs.EXECUTION_COLUMNS.status
|
|
2000
2000
|
];
|
|
2001
2001
|
var COMPACT_ROWS = 4;
|
|
2002
2002
|
var TOKEN_CLASS = {
|
|
@@ -2055,7 +2055,7 @@ function ScriptCodePicture({ script }) {
|
|
|
2055
2055
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center justify-between gap-[var(--spacing-system-m)]", children: [
|
|
2056
2056
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU2O5YQRPcjs.TruncateText, { variant: "h6", tone: "secondary", children: `Written by ${provenance.author} \xB7 approved by ${provenance.approver}` }),
|
|
2057
2057
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2058
|
-
|
|
2058
|
+
_chunkHJ4KGA2Mcjs.ScriptShellBadge,
|
|
2059
2059
|
{
|
|
2060
2060
|
value: script.shellType,
|
|
2061
2061
|
className: "shrink-0 text-ods-text-secondary text-h6",
|
|
@@ -2079,7 +2079,7 @@ function ScriptsScreen({ compact = false }) {
|
|
|
2079
2079
|
return (
|
|
2080
2080
|
// Four runs of the card's row height fill the frame; the padding is what is left round them.
|
|
2081
2081
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full overflow-hidden bg-ods-bg p-[var(--spacing-system-xsf)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2082
|
-
|
|
2082
|
+
_chunkHJ4KGA2Mcjs.ScriptExecutionsTable,
|
|
2083
2083
|
{
|
|
2084
2084
|
rows: fixture.executions.slice(0, COMPACT_ROWS),
|
|
2085
2085
|
columns: COMPACT_COLUMNS,
|
|
@@ -2089,13 +2089,13 @@ function ScriptsScreen({ compact = false }) {
|
|
|
2089
2089
|
) })
|
|
2090
2090
|
);
|
|
2091
2091
|
}
|
|
2092
|
-
const renderOutput = (row) => row.id === fixture.openExecutionId ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2092
|
+
const renderOutput = (row) => row.id === fixture.openExecutionId ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJ4KGA2Mcjs.ScriptExecutionResult, { result: row.result, empty: "\u2014" }) : null;
|
|
2093
2093
|
return (
|
|
2094
2094
|
// The frame's tighter padding and no header row: the output opened under a run needs the height.
|
|
2095
2095
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full gap-[var(--spacing-system-m)] overflow-hidden bg-ods-bg p-[var(--spacing-system-m)]", children: [
|
|
2096
2096
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-[39%] shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScriptCodePicture, { script: fixture.script }) }),
|
|
2097
2097
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1 overflow-hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2098
|
-
|
|
2098
|
+
_chunkHJ4KGA2Mcjs.ScriptExecutionsTable,
|
|
2099
2099
|
{
|
|
2100
2100
|
rows: fixture.executions,
|
|
2101
2101
|
hideColumns: WIDE_HIDDEN_COLUMNS,
|
|
@@ -15,7 +15,7 @@ var _chunkDKOLQPE7cjs = require('./chunk-DKOLQPE7.cjs');
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _chunkHJ4KGA2Mcjs = require('./chunk-HJ4KGA2M.cjs');
|
|
19
19
|
require('./chunk-URVIPSAJ.cjs');
|
|
20
20
|
require('./chunk-NTGIQP7O.cjs');
|
|
21
21
|
|
|
@@ -30,7 +30,7 @@ require('./chunk-A6P6DHEZ.cjs');
|
|
|
30
30
|
require('./chunk-MZ4KBSH7.cjs');
|
|
31
31
|
require('./chunk-GAGNKWOC.cjs');
|
|
32
32
|
require('./chunk-YUMFVQIN.cjs');
|
|
33
|
-
require('./chunk-
|
|
33
|
+
require('./chunk-OC2LBQQJ.cjs');
|
|
34
34
|
require('./chunk-7YDF3QBN.cjs');
|
|
35
35
|
require('./chunk-OWGLRE74.cjs');
|
|
36
36
|
require('./chunk-3RFQPQ7Z.cjs');
|
|
@@ -1922,12 +1922,12 @@ function StaticPackageField({ value }) {
|
|
|
1922
1922
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1923
1923
|
_chunkU2O5YQRPcjs.Autocomplete,
|
|
1924
1924
|
{
|
|
1925
|
-
label:
|
|
1925
|
+
label: _chunkHJ4KGA2Mcjs.PACKAGE_SEARCH_LABEL,
|
|
1926
1926
|
labelVariant: "large",
|
|
1927
1927
|
options: value ? [{ value: value.id, label: value.name, description: _nullishCoalesce(value.description, () => ( void 0)) }] : [],
|
|
1928
1928
|
value: _nullishCoalesce(_optionalChain([value, 'optionalAccess', _ => _.id]), () => ( null)),
|
|
1929
1929
|
onChange: noop,
|
|
1930
|
-
placeholder:
|
|
1930
|
+
placeholder: _chunkHJ4KGA2Mcjs.PACKAGE_SEARCH_PLACEHOLDER
|
|
1931
1931
|
}
|
|
1932
1932
|
);
|
|
1933
1933
|
}
|
|
@@ -1941,7 +1941,7 @@ function SoftwareUpdateScreen({ compact = false }) {
|
|
|
1941
1941
|
[fixture.devices, fixture.selectedIds]
|
|
1942
1942
|
);
|
|
1943
1943
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full bg-ods-bg pt-[var(--spacing-system-l)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1944
|
-
|
|
1944
|
+
_chunkHJ4KGA2Mcjs.SoftwareActionForm,
|
|
1945
1945
|
{
|
|
1946
1946
|
action: fixture.action,
|
|
1947
1947
|
showHeader: false,
|
|
@@ -1953,7 +1953,7 @@ function SoftwareUpdateScreen({ compact = false }) {
|
|
|
1953
1953
|
initialValues: fixture.initialValues,
|
|
1954
1954
|
renderPackageSearch,
|
|
1955
1955
|
renderDevicePicker: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1956
|
-
|
|
1956
|
+
_chunkHJ4KGA2Mcjs.DeviceSelector,
|
|
1957
1957
|
{
|
|
1958
1958
|
devices: selected,
|
|
1959
1959
|
loading: false,
|
package/package.json
CHANGED
|
@@ -160,6 +160,45 @@ function sharesRequestKey(keys: ReadonlySet<string>, others: ReadonlySet<string>
|
|
|
160
160
|
return false;
|
|
161
161
|
}
|
|
162
162
|
|
|
163
|
+
/** Stream seqs of the ticket lifecycle receipts a set of rows renders. A
|
|
164
|
+
* `TICKET_EVENT` is persisted as its own row, so history stamps the row's seq
|
|
165
|
+
* onto the segment and it is the receipt's exact identity. */
|
|
166
|
+
function ticketEventSeqs(messages: readonly MergeableChatMessage[]): Set<number> {
|
|
167
|
+
const seqs = new Set<number>();
|
|
168
|
+
for (const m of messages) {
|
|
169
|
+
if (!Array.isArray(m.content)) continue;
|
|
170
|
+
for (const seg of m.content) {
|
|
171
|
+
if (seg.type === 'ticket_event' && typeof seg.streamSeq === 'number') seqs.add(seg.streamSeq);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return seqs;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* A kept realtime row without the ticket receipts the window already renders.
|
|
179
|
+
*
|
|
180
|
+
* Receipts arrive standalone, so a live bubble made of them grows with every
|
|
181
|
+
* status change while its `streamSeq` follows the newest one - and coverage
|
|
182
|
+
* keeps or drops a row WHOLE. Once history persisted the older receipts but
|
|
183
|
+
* not the newest, the bubble was kept and its older cards rendered a second
|
|
184
|
+
* time beside their persisted twins (resolve → reopen in a dialog Fae never
|
|
185
|
+
* answered this session). Returns `null` for a row left with nothing to show;
|
|
186
|
+
* the streaming row is never removed, it is the bubble chunks are landing in.
|
|
187
|
+
*/
|
|
188
|
+
function withoutPersistedTicketEvents<M extends MergeableChatMessage>(
|
|
189
|
+
m: M,
|
|
190
|
+
persistedSeqs: ReadonlySet<number>,
|
|
191
|
+
streamingMessageId: string | null,
|
|
192
|
+
): M | null {
|
|
193
|
+
if (persistedSeqs.size === 0 || !Array.isArray(m.content)) return m;
|
|
194
|
+
const content = m.content.filter(
|
|
195
|
+
seg => !(seg.type === 'ticket_event' && typeof seg.streamSeq === 'number' && persistedSeqs.has(seg.streamSeq)),
|
|
196
|
+
);
|
|
197
|
+
if (content.length === m.content.length) return m;
|
|
198
|
+
if (content.length === 0 && m.id !== streamingMessageId) return null;
|
|
199
|
+
return { ...m, content };
|
|
200
|
+
}
|
|
201
|
+
|
|
163
202
|
/** A user row's identity is its text under its author kind; empty text is no
|
|
164
203
|
* identity (system rows persist with `content: ''`). `''` for any other row.
|
|
165
204
|
* The kind is part of the key because technician (`authorType: 'admin'`) and
|
|
@@ -665,7 +704,13 @@ export function mergeHistoryWithRealtime<M extends MergeableChatMessage>(input:
|
|
|
665
704
|
if (keepRealtime(m)) realtimeMessages.push(m);
|
|
666
705
|
}
|
|
667
706
|
|
|
668
|
-
|
|
707
|
+
const persistedTicketEventSeqs = ticketEventSeqs(processedToUse);
|
|
708
|
+
const dedupedRealtimeMessages = realtimeMessages.flatMap(m => {
|
|
709
|
+
const kept = withoutPersistedTicketEvents(m, persistedTicketEventSeqs, streamingMessageId);
|
|
710
|
+
return kept ? [kept] : [];
|
|
711
|
+
});
|
|
712
|
+
|
|
713
|
+
return [...olderThanWindowMessages, ...processedToUse, ...dedupedRealtimeMessages];
|
|
669
714
|
}
|
|
670
715
|
|
|
671
716
|
export interface HistoryPrependResult<M extends MergeableChatMessage> {
|