dsh-daoing-memory 0.1.0 → 0.1.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.
- package/README.md +2 -2
- package/README.zh-CN.md +2 -2
- package/lib/client.js +472 -542
- package/lib/client.js.map +1 -1
- package/lib/types/client/MemoryFooterAction.d.ts +22 -0
- package/lib/types/client/MemoryFooterAction.d.ts.map +1 -0
- package/lib/types/client/MemoryFooterAction.js +15 -0
- package/lib/types/client/MemoryFooterAction.js.map +1 -0
- package/lib/types/client/index.d.ts +4 -4
- package/lib/types/client/index.js +9 -9
- package/lib/types/client/index.js.map +1 -1
- package/lib/types/client/navStore.d.ts +1 -1
- package/lib/types/client/navStore.js +1 -1
- package/package.json +1 -1
- package/lib/types/client/MemoryNavSection.d.ts +0 -20
- package/lib/types/client/MemoryNavSection.d.ts.map +0 -1
- package/lib/types/client/MemoryNavSection.js +0 -23
- package/lib/types/client/MemoryNavSection.js.map +0 -1
package/lib/client.js
CHANGED
|
@@ -4,10 +4,10 @@ window.__ModuleLoader__.load({
|
|
|
4
4
|
var module = { exports: {} };
|
|
5
5
|
var exports = module.exports;
|
|
6
6
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
7
|
-
let react_jsx_runtime = require("react/jsx-runtime");
|
|
8
7
|
let _deepseek_ai_dsh_client_ui_primitives = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
9
|
-
let
|
|
8
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
10
9
|
let react = require("react");
|
|
10
|
+
let _deepseek_ai_dsh_client_runtime_client = require("@deepseek-ai/dsh-client-runtime/client");
|
|
11
11
|
//#region ../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/core.js
|
|
12
12
|
var _a$1;
|
|
13
13
|
function $constructor(name, initializer, params) {
|
|
@@ -7724,79 +7724,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7724
7724
|
]
|
|
7725
7725
|
};
|
|
7726
7726
|
//#endregion
|
|
7727
|
-
//#region
|
|
7728
|
-
|
|
7729
|
-
|
|
7730
|
-
if ("string" == typeof e || "number" == typeof e) n += e;
|
|
7731
|
-
else if ("object" == typeof e) if (Array.isArray(e)) {
|
|
7732
|
-
var o = e.length;
|
|
7733
|
-
for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
|
|
7734
|
-
} else for (f in e) e[f] && (n && (n += " "), n += f);
|
|
7735
|
-
return n;
|
|
7736
|
-
}
|
|
7737
|
-
function clsx() {
|
|
7738
|
-
for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
|
|
7739
|
-
return n;
|
|
7740
|
-
}
|
|
7741
|
-
//#endregion
|
|
7742
|
-
//#region lib/types/client/navStore.js
|
|
7743
|
-
/**
|
|
7744
|
-
* Memory monitoring nav store: shared viewing state between the left-sidebar
|
|
7745
|
-
* nav group (sidebar.sections) and the right-pane takeover (shell.overlay).
|
|
7746
|
-
* One factory handle is created in apply and passed to both registrations so
|
|
7747
|
-
* selecting a menu in the sidebar and rendering the matching page read the
|
|
7748
|
-
* same state. Module level exports the factory only — a module-level handle
|
|
7749
|
-
* would pin the store's identity across plugin reloads.
|
|
7750
|
-
*/
|
|
7751
|
-
/** The four fixed monitoring pages. */
|
|
7752
|
-
const MEMORY_NAV_ITEMS = [
|
|
7753
|
-
{
|
|
7754
|
-
key: "experience",
|
|
7755
|
-
label: "经验库监控"
|
|
7756
|
-
},
|
|
7757
|
-
{
|
|
7758
|
-
key: "fact",
|
|
7759
|
-
label: "画像·日记"
|
|
7760
|
-
},
|
|
7761
|
-
{
|
|
7762
|
-
key: "ledger",
|
|
7763
|
-
label: "账本"
|
|
7764
|
-
},
|
|
7765
|
-
{
|
|
7766
|
-
key: "human",
|
|
7767
|
-
label: "人工管理"
|
|
7768
|
-
}
|
|
7769
|
-
];
|
|
7770
|
-
/**
|
|
7771
|
-
* Create the memory nav store handle. `select` both chooses the page and
|
|
7772
|
-
* expands the group; `clear` hides the takeover overlay (used when the user
|
|
7773
|
-
* opens a session row, returning to the native conversation view).
|
|
7774
|
-
* @returns the store handle (spec + type + identity + factory in one).
|
|
7775
|
-
*/
|
|
7776
|
-
function createMemoryNavStore() {
|
|
7777
|
-
return (0, _deepseek_ai_dsh_client_runtime_client.defineStore)({
|
|
7778
|
-
init: () => ({
|
|
7779
|
-
page: null,
|
|
7780
|
-
collapsed: false
|
|
7781
|
-
}),
|
|
7782
|
-
actions: {
|
|
7783
|
-
select: (d, page) => {
|
|
7784
|
-
d.page = page;
|
|
7785
|
-
d.collapsed = false;
|
|
7786
|
-
},
|
|
7787
|
-
clear: (d) => {
|
|
7788
|
-
d.page = null;
|
|
7789
|
-
},
|
|
7790
|
-
toggleCollapsed: (d) => {
|
|
7791
|
-
d.collapsed = !d.collapsed;
|
|
7792
|
-
}
|
|
7793
|
-
}
|
|
7794
|
-
});
|
|
7795
|
-
}
|
|
7796
|
-
//#endregion
|
|
7797
|
-
//#region \0dsh-css:D:\dsh-arena\dsh-source-code\packages\memory\memory\src\client\MemoryNavSection.module.css.mjs
|
|
7798
|
-
const css$1 = ".SsVA3a_group{flex-direction:column;flex:none;margin-top:2px;display:flex}.SsVA3a_header{cursor:pointer;height:36px;color:var(--dsw-alias-label-tertiary);text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:4px;padding:0 8px;font-size:14px;line-height:20px;display:flex}.SsVA3a_header:hover{background:var(--dsw-alias-interactive-bg-hover)}.SsVA3a_headerLabel{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.SsVA3a_chevron{transition:transform .15s var(--ds-ease-in-out);flex:none}.SsVA3a_chevronCollapsed{transform:rotate(-90deg)}.SsVA3a_items{flex-direction:column;gap:2px;padding:2px 0 6px;display:flex}.SsVA3a_item{cursor:pointer;text-align:left;height:36px;color:var(--dsw-alias-label-secondary);background:0 0;border:none;border-radius:8px;align-items:center;padding:0 8px 0 26px;font-size:14px;line-height:20px;display:flex}.SsVA3a_item:hover{background:var(--dsw-alias-interactive-bg-hover)}.SsVA3a_itemActive{background:var(--dsw-alias-interactive-bg-active);color:var(--dsw-alias-label-primary);font-weight:500}.SsVA3a_itemActive:hover{background:var(--dsw-alias-interactive-bg-active)}.SsVA3a_rail{cursor:pointer;width:36px;height:36px;color:var(--dsw-alias-label-secondary);background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;margin:2px auto 0;display:flex}.SsVA3a_rail:hover{background:var(--dsw-alias-interactive-bg-hover)}";
|
|
7799
|
-
const tagId$1 = "dsh-daoing-memory/MemoryNavSection.module.css";
|
|
7727
|
+
//#region \0dsh-css:D:\DSH 插件项目\项目源码\deepseek-harness-master\packages\memory\dsh-daoing-memory\src\client\MemoryFooterAction.module.css.mjs
|
|
7728
|
+
const css$1 = ".O-5X5a_action{cursor:pointer;height:36px;color:var(--dsw-alias-label-secondary);background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 10px;display:flex}.O-5X5a_action:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.O-5X5a_label{white-space:nowrap;font-size:14px;line-height:20px}";
|
|
7729
|
+
const tagId$1 = "dsh-daoing-memory/MemoryFooterAction.module.css";
|
|
7800
7730
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$1) + "]") === null) {
|
|
7801
7731
|
const tag = document.createElement("style");
|
|
7802
7732
|
tag.dataset.plugin = "dsh-daoing-memory";
|
|
@@ -7804,85 +7734,38 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7804
7734
|
tag.textContent = css$1;
|
|
7805
7735
|
document.head.appendChild(tag);
|
|
7806
7736
|
}
|
|
7807
|
-
var
|
|
7808
|
-
"
|
|
7809
|
-
"
|
|
7810
|
-
"chevron": "SsVA3a_chevron",
|
|
7811
|
-
"items": "SsVA3a_items",
|
|
7812
|
-
"headerLabel": "SsVA3a_headerLabel",
|
|
7813
|
-
"group": "SsVA3a_group",
|
|
7814
|
-
"chevronCollapsed": "SsVA3a_chevronCollapsed",
|
|
7815
|
-
"item": "SsVA3a_item",
|
|
7816
|
-
"itemActive": "SsVA3a_itemActive"
|
|
7737
|
+
var MemoryFooterAction_module_css_default = {
|
|
7738
|
+
"action": "O-5X5a_action",
|
|
7739
|
+
"label": "O-5X5a_label"
|
|
7817
7740
|
};
|
|
7818
7741
|
//#endregion
|
|
7819
|
-
//#region
|
|
7742
|
+
//#region src/client/MemoryFooterAction.tsx
|
|
7820
7743
|
/**
|
|
7821
|
-
* Render the
|
|
7822
|
-
*
|
|
7744
|
+
* Render the footer entry. The wide variant shows an icon + label button;
|
|
7745
|
+
* the rail variant is a single icon. Clicking selects the first monitoring
|
|
7746
|
+
* page, which opens the workbench overlay.
|
|
7823
7747
|
* @param props - composed slot props.
|
|
7824
|
-
* @returns the
|
|
7748
|
+
* @returns the action button.
|
|
7825
7749
|
*/
|
|
7826
|
-
function
|
|
7827
|
-
const { wide
|
|
7828
|
-
|
|
7829
|
-
if (!wide) return (0, react_jsx_runtime.jsx)("button", {
|
|
7750
|
+
function MemoryFooterAction(props) {
|
|
7751
|
+
const { wide } = props;
|
|
7752
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
7830
7753
|
type: "button",
|
|
7831
|
-
className:
|
|
7832
|
-
"aria-label": "记忆监控",
|
|
7754
|
+
className: MemoryFooterAction_module_css_default.action,
|
|
7833
7755
|
"data-memory-nav": true,
|
|
7756
|
+
"aria-label": "记忆监控",
|
|
7757
|
+
title: "记忆监控",
|
|
7834
7758
|
onClick: () => {
|
|
7835
7759
|
props.actions.select("experience");
|
|
7836
|
-
expandSidebar();
|
|
7837
7760
|
},
|
|
7838
|
-
children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconDataOutline16, { size: 18 })
|
|
7839
|
-
|
|
7840
|
-
|
|
7841
|
-
className: MemoryNavSection_module_css_default.group,
|
|
7842
|
-
"aria-label": "记忆监控",
|
|
7843
|
-
"data-memory-nav": true,
|
|
7844
|
-
children: [(0, react_jsx_runtime.jsxs)("button", {
|
|
7845
|
-
type: "button",
|
|
7846
|
-
className: MemoryNavSection_module_css_default.header,
|
|
7847
|
-
"aria-expanded": !nav.collapsed,
|
|
7848
|
-
onClick: () => {
|
|
7849
|
-
props.actions.toggleCollapsed();
|
|
7850
|
-
},
|
|
7851
|
-
children: [(0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconChevronDownOutline14, {
|
|
7852
|
-
size: 14,
|
|
7853
|
-
className: clsx(MemoryNavSection_module_css_default.chevron, nav.collapsed && MemoryNavSection_module_css_default.chevronCollapsed)
|
|
7854
|
-
}), (0, react_jsx_runtime.jsx)("span", {
|
|
7855
|
-
className: MemoryNavSection_module_css_default.headerLabel,
|
|
7856
|
-
children: "记忆监控"
|
|
7857
|
-
})]
|
|
7858
|
-
}), !nav.collapsed && (0, react_jsx_runtime.jsx)("div", {
|
|
7859
|
-
className: MemoryNavSection_module_css_default.items,
|
|
7860
|
-
children: MEMORY_NAV_ITEMS.map((item) => (0, react_jsx_runtime.jsx)("button", {
|
|
7861
|
-
type: "button",
|
|
7862
|
-
className: clsx(MemoryNavSection_module_css_default.item, nav.page === item.key && MemoryNavSection_module_css_default.itemActive),
|
|
7863
|
-
"aria-current": nav.page === item.key ? "page" : void 0,
|
|
7864
|
-
onClick: () => {
|
|
7865
|
-
props.actions.select(item.key);
|
|
7866
|
-
},
|
|
7867
|
-
children: item.label
|
|
7868
|
-
}, item.key))
|
|
7761
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconDataOutline16, { size: 18 }), wide && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
7762
|
+
className: MemoryFooterAction_module_css_default.label,
|
|
7763
|
+
children: "记忆"
|
|
7869
7764
|
})]
|
|
7870
7765
|
});
|
|
7871
7766
|
}
|
|
7872
7767
|
//#endregion
|
|
7873
|
-
//#region
|
|
7874
|
-
/**
|
|
7875
|
-
* The injected business face of the memory workbench entry: plain data
|
|
7876
|
-
* callbacks over the memory Remote namespace. Live framework data (sessions,
|
|
7877
|
-
* workspaces) arrives through the standard props shares instead.
|
|
7878
|
-
*
|
|
7879
|
-
* Two contracts live here. `MemoryWorkbenchActions` is the page-facing face:
|
|
7880
|
-
* every callback is already bound to the current session. `MemoryRemoteActions`
|
|
7881
|
-
* is the slot-injected face: the generated memory Remote requires the session
|
|
7882
|
-
* id as the first wire argument (the host resolves it back to the Agent), so
|
|
7883
|
-
* each callback takes it explicitly and `bindMemoryActions` curries it away
|
|
7884
|
-
* once the workbench knows the current session.
|
|
7885
|
-
*/
|
|
7768
|
+
//#region src/client/actions.ts
|
|
7886
7769
|
/** Curry the session id away so the pages keep calling the bound face. */
|
|
7887
7770
|
function bindMemoryActions(remote, session) {
|
|
7888
7771
|
return {
|
|
@@ -7922,8 +7805,63 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7922
7805
|
};
|
|
7923
7806
|
}
|
|
7924
7807
|
//#endregion
|
|
7925
|
-
//#region
|
|
7926
|
-
|
|
7808
|
+
//#region src/client/navStore.ts
|
|
7809
|
+
/**
|
|
7810
|
+
* Memory monitoring nav store: shared viewing state between the left-sidebar
|
|
7811
|
+
* footer entry (sidebar.footer.action) and the right-pane takeover (shell.overlay).
|
|
7812
|
+
* One factory handle is created in apply and passed to both registrations so
|
|
7813
|
+
* selecting a menu in the sidebar and rendering the matching page read the
|
|
7814
|
+
* same state. Module level exports the factory only — a module-level handle
|
|
7815
|
+
* would pin the store's identity across plugin reloads.
|
|
7816
|
+
*/
|
|
7817
|
+
/** The four fixed monitoring pages. */
|
|
7818
|
+
const MEMORY_NAV_ITEMS = [
|
|
7819
|
+
{
|
|
7820
|
+
key: "experience",
|
|
7821
|
+
label: "经验库监控"
|
|
7822
|
+
},
|
|
7823
|
+
{
|
|
7824
|
+
key: "fact",
|
|
7825
|
+
label: "画像·日记"
|
|
7826
|
+
},
|
|
7827
|
+
{
|
|
7828
|
+
key: "ledger",
|
|
7829
|
+
label: "账本"
|
|
7830
|
+
},
|
|
7831
|
+
{
|
|
7832
|
+
key: "human",
|
|
7833
|
+
label: "人工管理"
|
|
7834
|
+
}
|
|
7835
|
+
];
|
|
7836
|
+
/**
|
|
7837
|
+
* Create the memory nav store handle. `select` both chooses the page and
|
|
7838
|
+
* expands the group; `clear` hides the takeover overlay (used when the user
|
|
7839
|
+
* opens a session row, returning to the native conversation view).
|
|
7840
|
+
* @returns the store handle (spec + type + identity + factory in one).
|
|
7841
|
+
*/
|
|
7842
|
+
function createMemoryNavStore() {
|
|
7843
|
+
return (0, _deepseek_ai_dsh_client_runtime_client.defineStore)({
|
|
7844
|
+
init: () => ({
|
|
7845
|
+
page: null,
|
|
7846
|
+
collapsed: false
|
|
7847
|
+
}),
|
|
7848
|
+
actions: {
|
|
7849
|
+
select: (d, page) => {
|
|
7850
|
+
d.page = page;
|
|
7851
|
+
d.collapsed = false;
|
|
7852
|
+
},
|
|
7853
|
+
clear: (d) => {
|
|
7854
|
+
d.page = null;
|
|
7855
|
+
},
|
|
7856
|
+
toggleCollapsed: (d) => {
|
|
7857
|
+
d.collapsed = !d.collapsed;
|
|
7858
|
+
}
|
|
7859
|
+
}
|
|
7860
|
+
});
|
|
7861
|
+
}
|
|
7862
|
+
//#endregion
|
|
7863
|
+
//#region \0dsh-css:D:\DSH 插件项目\项目源码\deepseek-harness-master\packages\memory\dsh-daoing-memory\src\client\Workbench.module.css.mjs
|
|
7864
|
+
const css = ".KAfEAG_panel{background:var(--dsw-alias-bg-base);border-left:1px solid var(--dsw-alias-border-l2);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0;overflow:hidden}.KAfEAG_header{border-bottom:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-module-platform);flex-wrap:wrap;align-items:center;gap:16px;padding:10px 16px;display:flex}.KAfEAG_titleBlock{flex-direction:column;gap:2px;min-width:180px;display:flex}.KAfEAG_title{color:var(--dsw-alias-label-primary);font-size:15px;font-weight:600}.KAfEAG_subtitle{color:var(--dsw-alias-label-caption);font-size:11px}.KAfEAG_statline{color:var(--dsw-alias-label-tertiary);margin-left:auto;font-size:11px}.KAfEAG_body{flex:1;padding:12px 16px 24px;overflow:auto}.KAfEAG_page{flex-direction:column;gap:10px;display:flex}.KAfEAG_toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.KAfEAG_tabs{border-bottom:1px solid var(--dsw-alias-border-l2);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;padding-bottom:8px;display:flex}.KAfEAG_tab{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-label-secondary);cursor:pointer;white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:12px}.KAfEAG_tab:hover{background:var(--dsw-alias-interactive-bg-hover)}.KAfEAG_tabActive{background:var(--dsw-alias-interactive-bg-active,var(--dsw-alias-bg-module-platform));color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-border-l3,var(--dsw-alias-border-l2));font-weight:600}.KAfEAG_field{color:var(--dsw-alias-label-caption);flex-direction:column;gap:3px;font-size:11px;display:flex}.KAfEAG_field input,.KAfEAG_field select,.KAfEAG_field textarea{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);color:var(--dsw-alias-label-primary);border-radius:6px;min-width:140px;padding:5px 8px;font-size:12px}.KAfEAG_field textarea{resize:vertical}.KAfEAG_check{color:var(--dsw-alias-label-secondary);align-items:center;gap:5px;font-size:12px;display:flex}.KAfEAG_btn{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-label-primary);cursor:pointer;white-space:nowrap;border-radius:6px;padding:5px 10px;font-size:12px}.KAfEAG_btn:hover{background:var(--dsw-alias-interactive-bg-hover)}.KAfEAG_btn:disabled{opacity:.5;cursor:default}.KAfEAG_btnDanger{color:var(--dsw-alias-state-error-primary)}.KAfEAG_btnDanger:hover{background:var(--dsw-alias-interactive-bg-hover-danger)}.KAfEAG_error{color:var(--dsw-alias-state-error-primary);font-size:12px}.KAfEAG_okLine{color:var(--dsw-alias-state-success-primary);font-size:12px}.KAfEAG_warnLine{color:var(--dsw-alias-state-warn-label);margin-bottom:6px;font-size:12px}.KAfEAG_empty{color:var(--dsw-alias-label-caption);padding:14px 4px;font-size:12px}.KAfEAG_list{flex-direction:column;gap:8px;display:flex}.KAfEAG_card{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-module-platform);border-radius:8px;padding:8px 12px}.KAfEAG_cardHead{cursor:pointer;flex-wrap:wrap;align-items:center;gap:8px;display:flex}.KAfEAG_cardTitle{color:var(--dsw-alias-label-primary);font-size:13px;font-weight:500}.KAfEAG_cardMeta{color:var(--dsw-alias-label-caption);font-size:11px}.KAfEAG_cardSub{align-items:center;gap:12px;margin-top:4px;display:flex}.KAfEAG_concernBg{color:var(--dsw-alias-label-caption);margin-top:3px;font-size:11px;line-height:1.5}.KAfEAG_cardDetail{border-top:1px solid var(--dsw-alias-border-l2);flex-direction:column;gap:5px;margin-top:8px;padding-top:8px;display:flex}.KAfEAG_detailRow{color:var(--dsw-alias-label-secondary);font-size:12px}.KAfEAG_detailLabel{min-width:64px;color:var(--dsw-alias-label-caption);display:inline-block}.KAfEAG_actions{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.KAfEAG_historyTitle{color:var(--dsw-alias-label-secondary);margin-top:10px;font-size:12px;font-weight:600}.KAfEAG_table{border-collapse:collapse;width:100%;color:var(--dsw-alias-label-secondary);font-size:12px}.KAfEAG_table th{text-align:left;color:var(--dsw-alias-label-caption);border-bottom:1px solid var(--dsw-alias-border-l2);padding:5px 8px;font-weight:500}.KAfEAG_table td{border-bottom:1px solid var(--dsw-alias-border-l2);vertical-align:top;padding:5px 8px}.KAfEAG_valueCell{text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.KAfEAG_payloadFull{white-space:pre-wrap;word-break:break-all;max-width:480px}.KAfEAG_payloadToggle{cursor:pointer;color:var(--ds-color-accent,#4c8dff);user-select:none;margin-left:6px;font-size:12px}.KAfEAG_payloadToggle:hover{text-decoration:underline}.KAfEAG_cellActions{flex-wrap:wrap;gap:4px;display:flex}.KAfEAG_badge{white-space:nowrap;border-radius:9px;padding:1px 7px;font-size:11px}.KAfEAG_badgePositive{background:var(--dsw-alias-state-success-tertiary);color:var(--dsw-alias-state-success-primary)}.KAfEAG_badgeNegative{background:var(--dsw-alias-state-warn-tertiary);color:var(--dsw-alias-state-warn-label)}.KAfEAG_badgePinned{background:var(--dsw-alias-state-business-tertiary);color:var(--dsw-alias-state-business-primary)}.KAfEAG_badgeConflict{background:var(--dsw-alias-state-warn-tertiary);color:var(--dsw-alias-state-warn-label)}.KAfEAG_statusLive{background:var(--dsw-alias-state-success-tertiary);color:var(--dsw-alias-state-success-primary)}.KAfEAG_statusCandidate{background:var(--dsw-alias-interactive-bg-active);color:var(--dsw-alias-label-secondary)}.KAfEAG_statusChallenged{background:var(--dsw-alias-interactive-bg-hover-danger);color:var(--dsw-alias-state-error-primary)}.KAfEAG_statusOther{background:var(--dsw-alias-bg-skeleton);color:var(--dsw-alias-label-caption)}.KAfEAG_trust{color:var(--dsw-alias-label-tertiary);font-size:11px}.KAfEAG_columns{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:16px;display:grid}.KAfEAG_column{flex-direction:column;gap:8px;min-width:0;display:flex}.KAfEAG_sectionTitle{color:var(--dsw-alias-label-primary);margin-top:6px;font-size:13px;font-weight:600}.KAfEAG_form{border:1px solid var(--dsw-alias-border-l2);border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}.KAfEAG_form .KAfEAG_btn{align-self:flex-start}.KAfEAG_rules{color:var(--dsw-alias-label-secondary);flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:12px;display:flex}";
|
|
7927
7865
|
const tagId = "dsh-daoing-memory/Workbench.module.css";
|
|
7928
7866
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
|
|
7929
7867
|
const tag = document.createElement("style");
|
|
@@ -7933,61 +7871,61 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7933
7871
|
document.head.appendChild(tag);
|
|
7934
7872
|
}
|
|
7935
7873
|
var Workbench_module_css_default = {
|
|
7936
|
-
"
|
|
7937
|
-
"
|
|
7938
|
-
"
|
|
7939
|
-
"
|
|
7940
|
-
"
|
|
7941
|
-
"
|
|
7942
|
-
"
|
|
7943
|
-
"
|
|
7944
|
-
"
|
|
7945
|
-
"
|
|
7946
|
-
"
|
|
7947
|
-
"
|
|
7948
|
-
"
|
|
7949
|
-
"
|
|
7950
|
-
"
|
|
7951
|
-
"
|
|
7952
|
-
"
|
|
7953
|
-
"
|
|
7954
|
-
"
|
|
7955
|
-
"
|
|
7956
|
-
"
|
|
7957
|
-
"concernBg": "
|
|
7958
|
-
"
|
|
7959
|
-
"
|
|
7960
|
-
"
|
|
7961
|
-
"
|
|
7962
|
-
"
|
|
7963
|
-
"
|
|
7964
|
-
"
|
|
7965
|
-
"
|
|
7966
|
-
"
|
|
7967
|
-
"
|
|
7968
|
-
"
|
|
7969
|
-
"
|
|
7970
|
-
"
|
|
7971
|
-
"
|
|
7972
|
-
"
|
|
7973
|
-
"
|
|
7974
|
-
"
|
|
7975
|
-
"
|
|
7976
|
-
"
|
|
7977
|
-
"
|
|
7978
|
-
"
|
|
7979
|
-
"
|
|
7980
|
-
"
|
|
7981
|
-
"
|
|
7982
|
-
"
|
|
7983
|
-
"
|
|
7984
|
-
"
|
|
7985
|
-
"
|
|
7986
|
-
"
|
|
7987
|
-
"
|
|
7874
|
+
"cardDetail": "KAfEAG_cardDetail",
|
|
7875
|
+
"historyTitle": "KAfEAG_historyTitle",
|
|
7876
|
+
"table": "KAfEAG_table",
|
|
7877
|
+
"valueCell": "KAfEAG_valueCell",
|
|
7878
|
+
"actions": "KAfEAG_actions",
|
|
7879
|
+
"badgePinned": "KAfEAG_badgePinned",
|
|
7880
|
+
"check": "KAfEAG_check",
|
|
7881
|
+
"badgeConflict": "KAfEAG_badgeConflict",
|
|
7882
|
+
"cardMeta": "KAfEAG_cardMeta",
|
|
7883
|
+
"statusLive": "KAfEAG_statusLive",
|
|
7884
|
+
"statusChallenged": "KAfEAG_statusChallenged",
|
|
7885
|
+
"header": "KAfEAG_header",
|
|
7886
|
+
"cardHead": "KAfEAG_cardHead",
|
|
7887
|
+
"error": "KAfEAG_error",
|
|
7888
|
+
"payloadFull": "KAfEAG_payloadFull",
|
|
7889
|
+
"tabActive": "KAfEAG_tabActive",
|
|
7890
|
+
"statusOther": "KAfEAG_statusOther",
|
|
7891
|
+
"empty": "KAfEAG_empty",
|
|
7892
|
+
"cardTitle": "KAfEAG_cardTitle",
|
|
7893
|
+
"badge": "KAfEAG_badge",
|
|
7894
|
+
"sectionTitle": "KAfEAG_sectionTitle",
|
|
7895
|
+
"concernBg": "KAfEAG_concernBg",
|
|
7896
|
+
"rules": "KAfEAG_rules",
|
|
7897
|
+
"toolbar": "KAfEAG_toolbar",
|
|
7898
|
+
"field": "KAfEAG_field",
|
|
7899
|
+
"payloadToggle": "KAfEAG_payloadToggle",
|
|
7900
|
+
"card": "KAfEAG_card",
|
|
7901
|
+
"body": "KAfEAG_body",
|
|
7902
|
+
"cellActions": "KAfEAG_cellActions",
|
|
7903
|
+
"detailRow": "KAfEAG_detailRow",
|
|
7904
|
+
"columns": "KAfEAG_columns",
|
|
7905
|
+
"cardSub": "KAfEAG_cardSub",
|
|
7906
|
+
"title": "KAfEAG_title",
|
|
7907
|
+
"tabs": "KAfEAG_tabs",
|
|
7908
|
+
"panel": "KAfEAG_panel",
|
|
7909
|
+
"page": "KAfEAG_page",
|
|
7910
|
+
"badgeNegative": "KAfEAG_badgeNegative",
|
|
7911
|
+
"statusCandidate": "KAfEAG_statusCandidate",
|
|
7912
|
+
"badgePositive": "KAfEAG_badgePositive",
|
|
7913
|
+
"form": "KAfEAG_form",
|
|
7914
|
+
"okLine": "KAfEAG_okLine",
|
|
7915
|
+
"column": "KAfEAG_column",
|
|
7916
|
+
"trust": "KAfEAG_trust",
|
|
7917
|
+
"btnDanger": "KAfEAG_btnDanger",
|
|
7918
|
+
"detailLabel": "KAfEAG_detailLabel",
|
|
7919
|
+
"subtitle": "KAfEAG_subtitle",
|
|
7920
|
+
"titleBlock": "KAfEAG_titleBlock",
|
|
7921
|
+
"statline": "KAfEAG_statline",
|
|
7922
|
+
"list": "KAfEAG_list",
|
|
7923
|
+
"tab": "KAfEAG_tab",
|
|
7924
|
+
"btn": "KAfEAG_btn",
|
|
7925
|
+
"warnLine": "KAfEAG_warnLine"
|
|
7988
7926
|
};
|
|
7989
7927
|
//#endregion
|
|
7990
|
-
//#region
|
|
7928
|
+
//#region src/client/ExperiencePage.tsx
|
|
7991
7929
|
/**
|
|
7992
7930
|
* Experience library monitoring page: lifecycle counters, a filterable
|
|
7993
7931
|
* revision list with the Beta-posterior triple, expandable judgment context,
|
|
@@ -8017,7 +7955,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8017
7955
|
/** Trust triple render: (置信度, 样本数, 最近验证时间). */
|
|
8018
7956
|
function TrustTriple({ e }) {
|
|
8019
7957
|
const last = e.lastVerifiedAt === void 0 ? "从未验证" : formatTs(e.lastVerifiedAt);
|
|
8020
|
-
return (0, react_jsx_runtime.jsxs)("span", {
|
|
7958
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
8021
7959
|
className: Workbench_module_css_default.trust,
|
|
8022
7960
|
title: `加权置信 ${e.weightedTrust.toFixed(3)}`,
|
|
8023
7961
|
children: [
|
|
@@ -8140,59 +8078,59 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8140
8078
|
onChanged,
|
|
8141
8079
|
refresh
|
|
8142
8080
|
]);
|
|
8143
|
-
return (0, react_jsx_runtime.jsxs)("div", {
|
|
8081
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8144
8082
|
className: Workbench_module_css_default.page,
|
|
8145
8083
|
children: [
|
|
8146
|
-
(0, react_jsx_runtime.jsx)("div", {
|
|
8084
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
8147
8085
|
className: Workbench_module_css_default.empty,
|
|
8148
8086
|
children: "经验库是「生·用·修」的载体:代理在复杂任务后提炼经验(生),相似任务前召回注入(用), 失败后隔离/修订/回滚(修)。每条经验带置信度·样本数·最近验证时间三元组。"
|
|
8149
8087
|
}),
|
|
8150
|
-
(0, react_jsx_runtime.jsxs)("div", {
|
|
8088
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8151
8089
|
className: Workbench_module_css_default.toolbar,
|
|
8152
8090
|
children: [
|
|
8153
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
8091
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
8154
8092
|
className: Workbench_module_css_default.field,
|
|
8155
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "状态" }), (0, react_jsx_runtime.jsxs)("select", {
|
|
8093
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "状态" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("select", {
|
|
8156
8094
|
value: statusFilter,
|
|
8157
8095
|
onChange: (e) => {
|
|
8158
8096
|
setStatusFilter(e.target.value);
|
|
8159
8097
|
},
|
|
8160
|
-
children: [(0, react_jsx_runtime.jsx)("option", {
|
|
8098
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
8161
8099
|
value: "",
|
|
8162
8100
|
children: "全部"
|
|
8163
|
-
}), Object.entries(STATUS_LABELS).map(([value, label]) => (0, react_jsx_runtime.jsx)("option", {
|
|
8101
|
+
}), Object.entries(STATUS_LABELS).map(([value, label]) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
8164
8102
|
value,
|
|
8165
8103
|
children: label
|
|
8166
8104
|
}, value))]
|
|
8167
8105
|
})]
|
|
8168
8106
|
}),
|
|
8169
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
8107
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
8170
8108
|
className: Workbench_module_css_default.field,
|
|
8171
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "类型" }), (0, react_jsx_runtime.jsxs)("select", {
|
|
8109
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "类型" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("select", {
|
|
8172
8110
|
value: kindFilter,
|
|
8173
8111
|
onChange: (e) => {
|
|
8174
8112
|
setKindFilter(e.target.value);
|
|
8175
8113
|
},
|
|
8176
8114
|
children: [
|
|
8177
|
-
(0, react_jsx_runtime.jsx)("option", {
|
|
8115
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
8178
8116
|
value: "",
|
|
8179
8117
|
children: "全部"
|
|
8180
8118
|
}),
|
|
8181
|
-
(0, react_jsx_runtime.jsx)("option", {
|
|
8119
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
8182
8120
|
value: "positive",
|
|
8183
8121
|
children: "正经验"
|
|
8184
8122
|
}),
|
|
8185
|
-
(0, react_jsx_runtime.jsx)("option", {
|
|
8123
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
8186
8124
|
value: "negative",
|
|
8187
8125
|
children: "负经验"
|
|
8188
8126
|
})
|
|
8189
8127
|
]
|
|
8190
8128
|
})]
|
|
8191
8129
|
}),
|
|
8192
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
8130
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
8193
8131
|
className: Workbench_module_css_default.field,
|
|
8194
8132
|
title: "任务族 = 一类相似任务的分组标签,同族经验共享召回与修订历史,如 windows-build",
|
|
8195
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "任务族" }), (0, react_jsx_runtime.jsx)("input", {
|
|
8133
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "任务族" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
8196
8134
|
value: familyFilter,
|
|
8197
8135
|
placeholder: "一类任务的标签,如 windows-build",
|
|
8198
8136
|
onChange: (e) => {
|
|
@@ -8200,10 +8138,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8200
8138
|
}
|
|
8201
8139
|
})]
|
|
8202
8140
|
}),
|
|
8203
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
8141
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
8204
8142
|
className: Workbench_module_css_default.field,
|
|
8205
8143
|
title: "作用域 = 该经验适用的领域/上下文;留空召回所有作用域,填写则只召回同作用域或全局经验",
|
|
8206
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "作用域" }), (0, react_jsx_runtime.jsx)("input", {
|
|
8144
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "作用域" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
8207
8145
|
value: contextFilter,
|
|
8208
8146
|
placeholder: "领域作用域,如 coding-windows-build",
|
|
8209
8147
|
onChange: (e) => {
|
|
@@ -8211,64 +8149,64 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8211
8149
|
}
|
|
8212
8150
|
})]
|
|
8213
8151
|
}),
|
|
8214
|
-
(0, react_jsx_runtime.jsx)("button", {
|
|
8152
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
8215
8153
|
type: "button",
|
|
8216
8154
|
className: Workbench_module_css_default.btn,
|
|
8217
8155
|
onClick: refresh,
|
|
8218
8156
|
children: "刷新"
|
|
8219
8157
|
}),
|
|
8220
|
-
error !== null && (0, react_jsx_runtime.jsx)("span", {
|
|
8158
|
+
error !== null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8221
8159
|
className: Workbench_module_css_default.error,
|
|
8222
8160
|
children: error
|
|
8223
8161
|
})
|
|
8224
8162
|
]
|
|
8225
8163
|
}),
|
|
8226
|
-
items.length === 0 && (0, react_jsx_runtime.jsx)("div", {
|
|
8164
|
+
items.length === 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
8227
8165
|
className: Workbench_module_css_default.empty,
|
|
8228
8166
|
children: "没有符合条件的经验。经验由代理在复杂任务后提炼(memory_refine),或在「人工管理」中注入。"
|
|
8229
8167
|
}),
|
|
8230
|
-
(0, react_jsx_runtime.jsx)("div", {
|
|
8168
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
8231
8169
|
className: Workbench_module_css_default.list,
|
|
8232
8170
|
children: items.map((item) => {
|
|
8233
8171
|
const key = `${item.id}@${String(item.revision)}`;
|
|
8234
8172
|
const isOpen = expanded === key;
|
|
8235
|
-
return (0, react_jsx_runtime.jsxs)("div", {
|
|
8173
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8236
8174
|
className: Workbench_module_css_default.card,
|
|
8237
8175
|
children: [
|
|
8238
|
-
(0, react_jsx_runtime.jsxs)("div", {
|
|
8176
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8239
8177
|
className: Workbench_module_css_default.cardHead,
|
|
8240
8178
|
onClick: () => {
|
|
8241
8179
|
toggleExpand(item);
|
|
8242
8180
|
},
|
|
8243
8181
|
children: [
|
|
8244
|
-
(0, react_jsx_runtime.jsx)("span", {
|
|
8182
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8245
8183
|
className: `${Workbench_module_css_default.badge} ${statusClass(item.status)}`,
|
|
8246
8184
|
children: STATUS_LABELS[item.status] ?? item.status
|
|
8247
8185
|
}),
|
|
8248
|
-
(0, react_jsx_runtime.jsx)("span", {
|
|
8186
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8249
8187
|
className: `${Workbench_module_css_default.badge} ${item.kind === "negative" ? Workbench_module_css_default.badgeNegative : Workbench_module_css_default.badgePositive}`,
|
|
8250
8188
|
children: KIND_LABELS[item.kind] ?? item.kind
|
|
8251
8189
|
}),
|
|
8252
|
-
(0, react_jsx_runtime.jsx)("span", {
|
|
8190
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8253
8191
|
className: Workbench_module_css_default.cardTitle,
|
|
8254
8192
|
title: item.gist,
|
|
8255
8193
|
children: item.gist
|
|
8256
8194
|
}),
|
|
8257
|
-
item.pinned && (0, react_jsx_runtime.jsx)("span", {
|
|
8195
|
+
item.pinned && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8258
8196
|
className: `${Workbench_module_css_default.badge} ${Workbench_module_css_default.badgePinned}`,
|
|
8259
8197
|
children: "永久"
|
|
8260
8198
|
}),
|
|
8261
|
-
item.globalFlag && (0, react_jsx_runtime.jsx)("span", {
|
|
8199
|
+
item.globalFlag && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8262
8200
|
className: `${Workbench_module_css_default.badge} ${Workbench_module_css_default.badgePinned}`,
|
|
8263
8201
|
title: "全局作用域:跨领域可召回",
|
|
8264
8202
|
children: "全局"
|
|
8265
8203
|
}),
|
|
8266
|
-
item.context !== "" && (0, react_jsx_runtime.jsx)("span", {
|
|
8204
|
+
item.context !== "" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8267
8205
|
className: `${Workbench_module_css_default.badge} ${Workbench_module_css_default.badgePositive}`,
|
|
8268
8206
|
title: `作用域:${item.context}`,
|
|
8269
8207
|
children: item.context
|
|
8270
8208
|
}),
|
|
8271
|
-
(0, react_jsx_runtime.jsxs)("span", {
|
|
8209
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
8272
8210
|
className: Workbench_module_css_default.cardMeta,
|
|
8273
8211
|
children: [
|
|
8274
8212
|
"v",
|
|
@@ -8279,11 +8217,11 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8279
8217
|
})
|
|
8280
8218
|
]
|
|
8281
8219
|
}),
|
|
8282
|
-
(0, react_jsx_runtime.jsxs)("div", {
|
|
8220
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8283
8221
|
className: Workbench_module_css_default.cardSub,
|
|
8284
8222
|
children: [
|
|
8285
|
-
(0, react_jsx_runtime.jsx)(TrustTriple, { e: item }),
|
|
8286
|
-
(0, react_jsx_runtime.jsxs)("span", {
|
|
8223
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(TrustTriple, { e: item }),
|
|
8224
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
8287
8225
|
className: Workbench_module_css_default.cardMeta,
|
|
8288
8226
|
title: "验证通过次数 / 试探失败次数(人工转正与冷宫决策依据)",
|
|
8289
8227
|
children: [
|
|
@@ -8293,55 +8231,55 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8293
8231
|
String(item.rejectCount)
|
|
8294
8232
|
]
|
|
8295
8233
|
}),
|
|
8296
|
-
(0, react_jsx_runtime.jsx)("span", {
|
|
8234
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8297
8235
|
className: Workbench_module_css_default.cardMeta,
|
|
8298
8236
|
children: formatTs(item.updatedAt)
|
|
8299
8237
|
})
|
|
8300
8238
|
]
|
|
8301
8239
|
}),
|
|
8302
|
-
isOpen && (0, react_jsx_runtime.jsxs)("div", {
|
|
8240
|
+
isOpen && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8303
8241
|
className: Workbench_module_css_default.cardDetail,
|
|
8304
8242
|
children: [
|
|
8305
|
-
item.challengeReason !== void 0 && (0, react_jsx_runtime.jsxs)("div", {
|
|
8243
|
+
item.challengeReason !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8306
8244
|
className: Workbench_module_css_default.warnLine,
|
|
8307
8245
|
children: ["隔离原因:", item.challengeReason]
|
|
8308
8246
|
}),
|
|
8309
|
-
item.kind === "negative" && item.failureReason !== void 0 && (0, react_jsx_runtime.jsxs)("div", {
|
|
8247
|
+
item.kind === "negative" && item.failureReason !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8310
8248
|
className: Workbench_module_css_default.warnLine,
|
|
8311
8249
|
children: ["确认的失败原因:", item.failureReason]
|
|
8312
8250
|
}),
|
|
8313
|
-
(0, react_jsx_runtime.jsxs)("div", {
|
|
8251
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8314
8252
|
className: Workbench_module_css_default.detailRow,
|
|
8315
|
-
children: [(0, react_jsx_runtime.jsx)("span", {
|
|
8253
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8316
8254
|
className: Workbench_module_css_default.detailLabel,
|
|
8317
8255
|
children: "情境"
|
|
8318
8256
|
}), item.situation.join(";")]
|
|
8319
8257
|
}),
|
|
8320
|
-
(0, react_jsx_runtime.jsxs)("div", {
|
|
8258
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8321
8259
|
className: Workbench_module_css_default.detailRow,
|
|
8322
|
-
children: [(0, react_jsx_runtime.jsx)("span", {
|
|
8260
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8323
8261
|
className: Workbench_module_css_default.detailLabel,
|
|
8324
8262
|
children: "路径"
|
|
8325
8263
|
}), item.path.map((step) => `${String(step.order)}. ${step.action}`).join(" → ")]
|
|
8326
8264
|
}),
|
|
8327
|
-
(0, react_jsx_runtime.jsxs)("div", {
|
|
8265
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8328
8266
|
className: Workbench_module_css_default.detailRow,
|
|
8329
|
-
children: [(0, react_jsx_runtime.jsx)("span", {
|
|
8267
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8330
8268
|
className: Workbench_module_css_default.detailLabel,
|
|
8331
8269
|
children: "判断背景"
|
|
8332
8270
|
}), item.reasoning]
|
|
8333
8271
|
}),
|
|
8334
|
-
item.limits.length > 0 && (0, react_jsx_runtime.jsxs)("div", {
|
|
8272
|
+
item.limits.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8335
8273
|
className: Workbench_module_css_default.detailRow,
|
|
8336
|
-
children: [(0, react_jsx_runtime.jsx)("span", {
|
|
8274
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8337
8275
|
className: Workbench_module_css_default.detailLabel,
|
|
8338
8276
|
children: "限制"
|
|
8339
8277
|
}), item.limits.join(";")]
|
|
8340
8278
|
}),
|
|
8341
|
-
(0, react_jsx_runtime.jsxs)("div", {
|
|
8279
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8342
8280
|
className: Workbench_module_css_default.detailRow,
|
|
8343
8281
|
children: [
|
|
8344
|
-
(0, react_jsx_runtime.jsx)("span", {
|
|
8282
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8345
8283
|
className: Workbench_module_css_default.detailLabel,
|
|
8346
8284
|
children: "经济账"
|
|
8347
8285
|
}),
|
|
@@ -8352,10 +8290,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8352
8290
|
" tokens"
|
|
8353
8291
|
]
|
|
8354
8292
|
}),
|
|
8355
|
-
(0, react_jsx_runtime.jsxs)("div", {
|
|
8293
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8356
8294
|
className: Workbench_module_css_default.actions,
|
|
8357
8295
|
children: [
|
|
8358
|
-
(0, react_jsx_runtime.jsx)("button", {
|
|
8296
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
8359
8297
|
type: "button",
|
|
8360
8298
|
className: Workbench_module_css_default.btn,
|
|
8361
8299
|
onClick: () => {
|
|
@@ -8363,7 +8301,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8363
8301
|
},
|
|
8364
8302
|
children: item.pinned ? "取消永久标记" : "永久标记"
|
|
8365
8303
|
}),
|
|
8366
|
-
item.status === "candidate" && (0, react_jsx_runtime.jsx)("button", {
|
|
8304
|
+
item.status === "candidate" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
8367
8305
|
type: "button",
|
|
8368
8306
|
className: Workbench_module_css_default.btn,
|
|
8369
8307
|
onClick: () => {
|
|
@@ -8371,7 +8309,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8371
8309
|
},
|
|
8372
8310
|
children: "人工转正"
|
|
8373
8311
|
}),
|
|
8374
|
-
item.status === "cold" && (0, react_jsx_runtime.jsx)("button", {
|
|
8312
|
+
item.status === "cold" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
8375
8313
|
type: "button",
|
|
8376
8314
|
className: Workbench_module_css_default.btn,
|
|
8377
8315
|
onClick: () => {
|
|
@@ -8379,7 +8317,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8379
8317
|
},
|
|
8380
8318
|
children: "放回候选"
|
|
8381
8319
|
}),
|
|
8382
|
-
(0, react_jsx_runtime.jsx)("button", {
|
|
8320
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
8383
8321
|
type: "button",
|
|
8384
8322
|
className: `${Workbench_module_css_default.btn} ${Workbench_module_css_default.btnDanger}`,
|
|
8385
8323
|
onClick: () => {
|
|
@@ -8389,34 +8327,34 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8389
8327
|
})
|
|
8390
8328
|
]
|
|
8391
8329
|
}),
|
|
8392
|
-
(0, react_jsx_runtime.jsx)("div", {
|
|
8330
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
8393
8331
|
className: Workbench_module_css_default.historyTitle,
|
|
8394
8332
|
children: "修订历史(superseded 为只读索引,可回滚)"
|
|
8395
8333
|
}),
|
|
8396
|
-
(0, react_jsx_runtime.jsxs)("table", {
|
|
8334
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("table", {
|
|
8397
8335
|
className: Workbench_module_css_default.table,
|
|
8398
|
-
children: [(0, react_jsx_runtime.jsx)("thead", { children: (0, react_jsx_runtime.jsxs)("tr", { children: [
|
|
8399
|
-
(0, react_jsx_runtime.jsx)("th", { children: "版本" }),
|
|
8400
|
-
(0, react_jsx_runtime.jsx)("th", { children: "状态" }),
|
|
8401
|
-
(0, react_jsx_runtime.jsx)("th", { children: "置信三元组" }),
|
|
8402
|
-
(0, react_jsx_runtime.jsx)("th", { children: "更新时间" }),
|
|
8403
|
-
(0, react_jsx_runtime.jsx)("th", { children: "操作" })
|
|
8404
|
-
] }) }), (0, react_jsx_runtime.jsx)("tbody", { children: history.map((rev) => (0, react_jsx_runtime.jsxs)("tr", { children: [
|
|
8405
|
-
(0, react_jsx_runtime.jsxs)("td", { children: [
|
|
8336
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("thead", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("tr", { children: [
|
|
8337
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", { children: "版本" }),
|
|
8338
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", { children: "状态" }),
|
|
8339
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", { children: "置信三元组" }),
|
|
8340
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", { children: "更新时间" }),
|
|
8341
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", { children: "操作" })
|
|
8342
|
+
] }) }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("tbody", { children: history.map((rev) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("tr", { children: [
|
|
8343
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("td", { children: [
|
|
8406
8344
|
"v",
|
|
8407
8345
|
String(rev.revision),
|
|
8408
8346
|
rev.parentRevision !== void 0 ? ` ← v${String(rev.parentRevision)}` : ""
|
|
8409
8347
|
] }),
|
|
8410
|
-
(0, react_jsx_runtime.jsx)("td", { children: STATUS_LABELS[rev.status] ?? rev.status }),
|
|
8411
|
-
(0, react_jsx_runtime.jsxs)("td", { children: [
|
|
8348
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("td", { children: STATUS_LABELS[rev.status] ?? rev.status }),
|
|
8349
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("td", { children: [
|
|
8412
8350
|
rev.trust.toFixed(2),
|
|
8413
8351
|
" · ",
|
|
8414
8352
|
String(rev.samples),
|
|
8415
8353
|
" · ",
|
|
8416
8354
|
rev.lastVerifiedAt === void 0 ? "未验证" : formatTs(rev.lastVerifiedAt)
|
|
8417
8355
|
] }),
|
|
8418
|
-
(0, react_jsx_runtime.jsx)("td", { children: formatTs(rev.updatedAt) }),
|
|
8419
|
-
(0, react_jsx_runtime.jsx)("td", { children: rev.status === "superseded" && (0, react_jsx_runtime.jsx)("button", {
|
|
8356
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("td", { children: formatTs(rev.updatedAt) }),
|
|
8357
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("td", { children: rev.status === "superseded" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
8420
8358
|
type: "button",
|
|
8421
8359
|
className: Workbench_module_css_default.btn,
|
|
8422
8360
|
onClick: () => {
|
|
@@ -8436,7 +8374,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8436
8374
|
});
|
|
8437
8375
|
}
|
|
8438
8376
|
//#endregion
|
|
8439
|
-
//#region
|
|
8377
|
+
//#region src/client/FactDiaryPage.tsx
|
|
8440
8378
|
/**
|
|
8441
8379
|
* Profile·concerns page, split into two sub-pages: 关心事项 (open-loop memos) /
|
|
8442
8380
|
* 画像分类 (the AI's perception of the user). The event-layer diary is the
|
|
@@ -8488,23 +8426,23 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8488
8426
|
}];
|
|
8489
8427
|
/** Shared page-size choices for the paginated sub-pages. */
|
|
8490
8428
|
function PageSizeSelect({ value, onChange }) {
|
|
8491
|
-
return (0, react_jsx_runtime.jsxs)("label", {
|
|
8429
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
8492
8430
|
className: Workbench_module_css_default.field,
|
|
8493
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "每页" }), (0, react_jsx_runtime.jsxs)("select", {
|
|
8431
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "每页" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("select", {
|
|
8494
8432
|
value: String(value),
|
|
8495
8433
|
onChange: (e) => {
|
|
8496
8434
|
onChange(Number(e.target.value));
|
|
8497
8435
|
},
|
|
8498
8436
|
children: [
|
|
8499
|
-
(0, react_jsx_runtime.jsx)("option", {
|
|
8437
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
8500
8438
|
value: "10",
|
|
8501
8439
|
children: "10"
|
|
8502
8440
|
}),
|
|
8503
|
-
(0, react_jsx_runtime.jsx)("option", {
|
|
8441
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
8504
8442
|
value: "20",
|
|
8505
8443
|
children: "20"
|
|
8506
8444
|
}),
|
|
8507
|
-
(0, react_jsx_runtime.jsx)("option", {
|
|
8445
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
8508
8446
|
value: "50",
|
|
8509
8447
|
children: "50"
|
|
8510
8448
|
})
|
|
@@ -8515,10 +8453,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8515
8453
|
/** Compact prev/next pager with a filtered total. */
|
|
8516
8454
|
function Pager({ page, pageSize, total, onPage }) {
|
|
8517
8455
|
const totalPages = Math.max(1, Math.ceil(total / pageSize));
|
|
8518
|
-
return (0, react_jsx_runtime.jsxs)("div", {
|
|
8456
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8519
8457
|
className: Workbench_module_css_default.toolbar,
|
|
8520
8458
|
children: [
|
|
8521
|
-
(0, react_jsx_runtime.jsx)("button", {
|
|
8459
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
8522
8460
|
type: "button",
|
|
8523
8461
|
className: Workbench_module_css_default.btn,
|
|
8524
8462
|
disabled: page <= 0,
|
|
@@ -8527,7 +8465,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8527
8465
|
},
|
|
8528
8466
|
children: "上一页"
|
|
8529
8467
|
}),
|
|
8530
|
-
(0, react_jsx_runtime.jsxs)("span", {
|
|
8468
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
8531
8469
|
className: Workbench_module_css_default.cardMeta,
|
|
8532
8470
|
children: [
|
|
8533
8471
|
"第 ",
|
|
@@ -8539,7 +8477,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8539
8477
|
" 条 · 最新在前"
|
|
8540
8478
|
]
|
|
8541
8479
|
}),
|
|
8542
|
-
(0, react_jsx_runtime.jsx)("button", {
|
|
8480
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
8543
8481
|
type: "button",
|
|
8544
8482
|
className: Workbench_module_css_default.btn,
|
|
8545
8483
|
disabled: page + 1 >= totalPages,
|
|
@@ -8694,31 +8632,31 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8694
8632
|
onChanged,
|
|
8695
8633
|
refresh
|
|
8696
8634
|
]);
|
|
8697
|
-
return (0, react_jsx_runtime.jsxs)("div", {
|
|
8635
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8698
8636
|
className: Workbench_module_css_default.page,
|
|
8699
8637
|
children: [
|
|
8700
|
-
(0, react_jsx_runtime.jsxs)("div", {
|
|
8638
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8701
8639
|
className: Workbench_module_css_default.empty,
|
|
8702
8640
|
children: [
|
|
8703
8641
|
"「记」的产物分两层:",
|
|
8704
|
-
(0, react_jsx_runtime.jsx)("b", { children: "画像分类" }),
|
|
8642
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("b", { children: "画像分类" }),
|
|
8705
8643
|
"是 AI 通过对话沉淀出的\"这个用户是什么样的人、怎么跟他协作\"(稳定特质,每条可展开看来源日记);",
|
|
8706
|
-
(0, react_jsx_runtime.jsx)("b", { children: "关心事项" }),
|
|
8644
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("b", { children: "关心事项" }),
|
|
8707
8645
|
"是替用户记着的",
|
|
8708
|
-
(0, react_jsx_runtime.jsx)("b", { children: "开环备忘" }),
|
|
8646
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("b", { children: "开环备忘" }),
|
|
8709
8647
|
"——提过还没办的事、冒出的想法、悬而未决的问题、待定的决定、答应的事。 事件层日记是原料(只增不删),不单列子页,作为画像的\"来源日记\"露出。提取是否在跑,看右上角「待提取」数即可。"
|
|
8710
8648
|
]
|
|
8711
8649
|
}),
|
|
8712
|
-
(0, react_jsx_runtime.jsxs)("div", {
|
|
8650
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8713
8651
|
className: Workbench_module_css_default.tabs,
|
|
8714
|
-
children: [TABS.map((t) => (0, react_jsx_runtime.jsx)("button", {
|
|
8652
|
+
children: [TABS.map((t) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
8715
8653
|
type: "button",
|
|
8716
8654
|
className: tab === t.key ? `${Workbench_module_css_default.tab} ${Workbench_module_css_default.tabActive}` : Workbench_module_css_default.tab,
|
|
8717
8655
|
onClick: () => {
|
|
8718
8656
|
setTab(t.key);
|
|
8719
8657
|
},
|
|
8720
8658
|
children: t.label
|
|
8721
|
-
}, t.key)), (0, react_jsx_runtime.jsx)("button", {
|
|
8659
|
+
}, t.key)), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
8722
8660
|
type: "button",
|
|
8723
8661
|
className: Workbench_module_css_default.btn,
|
|
8724
8662
|
onClick: refresh,
|
|
@@ -8726,51 +8664,51 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8726
8664
|
children: "刷新"
|
|
8727
8665
|
})]
|
|
8728
8666
|
}),
|
|
8729
|
-
tab === "concerns" && (0, react_jsx_runtime.jsxs)("section", {
|
|
8667
|
+
tab === "concerns" && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", {
|
|
8730
8668
|
className: Workbench_module_css_default.column,
|
|
8731
8669
|
children: [
|
|
8732
|
-
(0, react_jsx_runtime.jsxs)("div", {
|
|
8670
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8733
8671
|
className: Workbench_module_css_default.toolbar,
|
|
8734
8672
|
children: [
|
|
8735
|
-
(0, react_jsx_runtime.jsx)("span", {
|
|
8673
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8736
8674
|
className: Workbench_module_css_default.sectionTitle,
|
|
8737
8675
|
children: "关心事项 · 开环备忘(替你记着还没闭环的事,用于提醒)"
|
|
8738
8676
|
}),
|
|
8739
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
8677
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
8740
8678
|
className: Workbench_module_css_default.field,
|
|
8741
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "类型" }), (0, react_jsx_runtime.jsxs)("select", {
|
|
8679
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "类型" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("select", {
|
|
8742
8680
|
value: concernKind,
|
|
8743
8681
|
onChange: (e) => {
|
|
8744
8682
|
setConcernKind(e.target.value);
|
|
8745
8683
|
setConcernPage(0);
|
|
8746
8684
|
},
|
|
8747
|
-
children: [(0, react_jsx_runtime.jsx)("option", {
|
|
8685
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
8748
8686
|
value: "",
|
|
8749
8687
|
children: "全部"
|
|
8750
|
-
}), Object.entries(CONCERN_KIND_LABELS).map(([value, label]) => (0, react_jsx_runtime.jsx)("option", {
|
|
8688
|
+
}), Object.entries(CONCERN_KIND_LABELS).map(([value, label]) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
8751
8689
|
value,
|
|
8752
8690
|
children: label
|
|
8753
8691
|
}, value))]
|
|
8754
8692
|
})]
|
|
8755
8693
|
}),
|
|
8756
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
8694
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
8757
8695
|
className: Workbench_module_css_default.field,
|
|
8758
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "状态" }), (0, react_jsx_runtime.jsxs)("select", {
|
|
8696
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "状态" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("select", {
|
|
8759
8697
|
value: concernStatus,
|
|
8760
8698
|
onChange: (e) => {
|
|
8761
8699
|
setConcernStatus(e.target.value);
|
|
8762
8700
|
setConcernPage(0);
|
|
8763
8701
|
},
|
|
8764
|
-
children: [(0, react_jsx_runtime.jsx)("option", {
|
|
8702
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
8765
8703
|
value: "",
|
|
8766
8704
|
children: "全部"
|
|
8767
|
-
}), Object.entries(CONCERN_STATUS_LABELS).map(([value, label]) => (0, react_jsx_runtime.jsx)("option", {
|
|
8705
|
+
}), Object.entries(CONCERN_STATUS_LABELS).map(([value, label]) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
8768
8706
|
value,
|
|
8769
8707
|
children: label
|
|
8770
8708
|
}, value))]
|
|
8771
8709
|
})]
|
|
8772
8710
|
}),
|
|
8773
|
-
(0, react_jsx_runtime.jsx)(PageSizeSelect, {
|
|
8711
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(PageSizeSelect, {
|
|
8774
8712
|
value: concernPageSize,
|
|
8775
8713
|
onChange: (v) => {
|
|
8776
8714
|
setConcernPageSize(v);
|
|
@@ -8779,19 +8717,19 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8779
8717
|
})
|
|
8780
8718
|
]
|
|
8781
8719
|
}),
|
|
8782
|
-
concerns.length === 0 && (0, react_jsx_runtime.jsx)("div", {
|
|
8720
|
+
concerns.length === 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
8783
8721
|
className: Workbench_module_css_default.empty,
|
|
8784
8722
|
children: "还没有关心事项。代理提取时(memory_extract 的 concerns)会沉淀你提过但还没闭环的事:待办、思考、想法、疑问、决定、约定。"
|
|
8785
8723
|
}),
|
|
8786
|
-
(0, react_jsx_runtime.jsx)("div", {
|
|
8724
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
8787
8725
|
className: Workbench_module_css_default.list,
|
|
8788
|
-
children: concerns.map((tree) => (0, react_jsx_runtime.jsxs)("div", {
|
|
8726
|
+
children: concerns.map((tree) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8789
8727
|
className: Workbench_module_css_default.card,
|
|
8790
8728
|
children: [
|
|
8791
|
-
(0, react_jsx_runtime.jsxs)("div", {
|
|
8729
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8792
8730
|
className: Workbench_module_css_default.cardHead,
|
|
8793
8731
|
children: [
|
|
8794
|
-
(0, react_jsx_runtime.jsx)("span", {
|
|
8732
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8795
8733
|
className: Workbench_module_css_default.payloadToggle,
|
|
8796
8734
|
title: openConcerns[tree.concern.id] === true ? "收起更新" : "展开更新",
|
|
8797
8735
|
onClick: () => {
|
|
@@ -8799,19 +8737,19 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8799
8737
|
},
|
|
8800
8738
|
children: openConcerns[tree.concern.id] === true ? "▾" : "▸"
|
|
8801
8739
|
}),
|
|
8802
|
-
(0, react_jsx_runtime.jsx)("span", {
|
|
8740
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8803
8741
|
className: `${Workbench_module_css_default.badge} ${Workbench_module_css_default.statusCandidate}`,
|
|
8804
8742
|
children: CONCERN_KIND_LABELS[tree.concern.kind ?? "other"] ?? "其他"
|
|
8805
8743
|
}),
|
|
8806
|
-
(0, react_jsx_runtime.jsx)("span", {
|
|
8744
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8807
8745
|
className: Workbench_module_css_default.cardTitle,
|
|
8808
8746
|
children: tree.concern.title
|
|
8809
8747
|
}),
|
|
8810
|
-
(0, react_jsx_runtime.jsx)("span", {
|
|
8748
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8811
8749
|
className: `${Workbench_module_css_default.badge} ${Workbench_module_css_default.statusOther}`,
|
|
8812
8750
|
children: CONCERN_STATUS_LABELS[tree.concern.status ?? "ongoing"] ?? "未闭环"
|
|
8813
8751
|
}),
|
|
8814
|
-
(0, react_jsx_runtime.jsxs)("span", {
|
|
8752
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
8815
8753
|
className: Workbench_module_css_default.cardMeta,
|
|
8816
8754
|
children: [
|
|
8817
8755
|
"更新 ",
|
|
@@ -8821,62 +8759,62 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8821
8759
|
})
|
|
8822
8760
|
]
|
|
8823
8761
|
}),
|
|
8824
|
-
tree.concern.background !== void 0 && tree.concern.background !== "" && (0, react_jsx_runtime.jsxs)("div", {
|
|
8762
|
+
tree.concern.background !== void 0 && tree.concern.background !== "" && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8825
8763
|
className: Workbench_module_css_default.concernBg,
|
|
8826
8764
|
children: ["背景:", tree.concern.background]
|
|
8827
8765
|
}),
|
|
8828
|
-
openConcerns[tree.concern.id] === true && (0, react_jsx_runtime.jsxs)("div", {
|
|
8766
|
+
openConcerns[tree.concern.id] === true && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8829
8767
|
className: Workbench_module_css_default.list,
|
|
8830
|
-
children: [tree.mentions.length === 0 && (0, react_jsx_runtime.jsx)("div", {
|
|
8768
|
+
children: [tree.mentions.length === 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
8831
8769
|
className: Workbench_module_css_default.cardSub,
|
|
8832
|
-
children: (0, react_jsx_runtime.jsx)("span", {
|
|
8770
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8833
8771
|
className: Workbench_module_css_default.cardMeta,
|
|
8834
8772
|
children: "暂无后续更新。"
|
|
8835
8773
|
})
|
|
8836
|
-
}), tree.mentions.map((mention) => (0, react_jsx_runtime.jsxs)("div", {
|
|
8774
|
+
}), tree.mentions.map((mention) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8837
8775
|
className: Workbench_module_css_default.cardSub,
|
|
8838
8776
|
children: [
|
|
8839
|
-
(0, react_jsx_runtime.jsx)("span", {
|
|
8777
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8840
8778
|
className: Workbench_module_css_default.cardMeta,
|
|
8841
8779
|
children: formatTs(mention.ts)
|
|
8842
8780
|
}),
|
|
8843
|
-
(0, react_jsx_runtime.jsx)("span", {
|
|
8781
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8844
8782
|
className: Workbench_module_css_default.cardTitle,
|
|
8845
8783
|
children: mention.title
|
|
8846
8784
|
}),
|
|
8847
|
-
mention.sourceDiaryIds.length > 0 && (0, react_jsx_runtime.jsxs)("span", {
|
|
8785
|
+
mention.sourceDiaryIds.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
8848
8786
|
className: Workbench_module_css_default.cardMeta,
|
|
8849
8787
|
children: ["← 日记 ", mention.sourceDiaryIds.map((id) => id.slice(0, 6)).join("、")]
|
|
8850
8788
|
})
|
|
8851
8789
|
]
|
|
8852
8790
|
}, mention.id))]
|
|
8853
8791
|
}),
|
|
8854
|
-
(0, react_jsx_runtime.jsxs)("div", {
|
|
8792
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8855
8793
|
className: Workbench_module_css_default.cardSub,
|
|
8856
|
-
children: [(0, react_jsx_runtime.jsxs)("select", {
|
|
8794
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("select", {
|
|
8857
8795
|
value: tree.concern.status ?? "ongoing",
|
|
8858
8796
|
onChange: (e) => {
|
|
8859
8797
|
runSetConcernStatus(tree, e.target.value);
|
|
8860
8798
|
},
|
|
8861
8799
|
children: [
|
|
8862
|
-
(0, react_jsx_runtime.jsx)("option", {
|
|
8800
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
8863
8801
|
value: "ongoing",
|
|
8864
8802
|
children: "未闭环"
|
|
8865
8803
|
}),
|
|
8866
|
-
(0, react_jsx_runtime.jsx)("option", {
|
|
8804
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
8867
8805
|
value: "concluded",
|
|
8868
8806
|
children: "已闭环"
|
|
8869
8807
|
}),
|
|
8870
|
-
(0, react_jsx_runtime.jsx)("option", {
|
|
8808
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
8871
8809
|
value: "recurring",
|
|
8872
8810
|
children: "反复出现"
|
|
8873
8811
|
}),
|
|
8874
|
-
(0, react_jsx_runtime.jsx)("option", {
|
|
8812
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
8875
8813
|
value: "paused",
|
|
8876
8814
|
children: "搁置"
|
|
8877
8815
|
})
|
|
8878
8816
|
]
|
|
8879
|
-
}), (0, react_jsx_runtime.jsx)("button", {
|
|
8817
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
8880
8818
|
type: "button",
|
|
8881
8819
|
className: `${Workbench_module_css_default.btn} ${Workbench_module_css_default.btnDanger}`,
|
|
8882
8820
|
onClick: () => {
|
|
@@ -8888,7 +8826,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8888
8826
|
]
|
|
8889
8827
|
}, tree.concern.id))
|
|
8890
8828
|
}),
|
|
8891
|
-
(0, react_jsx_runtime.jsx)(Pager, {
|
|
8829
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Pager, {
|
|
8892
8830
|
page: concernPage,
|
|
8893
8831
|
pageSize: concernPageSize,
|
|
8894
8832
|
total: concernTotal,
|
|
@@ -8896,32 +8834,32 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8896
8834
|
})
|
|
8897
8835
|
]
|
|
8898
8836
|
}),
|
|
8899
|
-
tab === "facts" && (0, react_jsx_runtime.jsxs)("section", {
|
|
8837
|
+
tab === "facts" && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", {
|
|
8900
8838
|
className: Workbench_module_css_default.column,
|
|
8901
8839
|
children: [
|
|
8902
|
-
(0, react_jsx_runtime.jsxs)("div", {
|
|
8840
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8903
8841
|
className: Workbench_module_css_default.toolbar,
|
|
8904
8842
|
children: [
|
|
8905
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
8843
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
8906
8844
|
className: Workbench_module_css_default.field,
|
|
8907
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "画像分类" }), (0, react_jsx_runtime.jsxs)("select", {
|
|
8845
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "画像分类" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("select", {
|
|
8908
8846
|
value: category,
|
|
8909
8847
|
onChange: (e) => {
|
|
8910
8848
|
setCategory(e.target.value);
|
|
8911
8849
|
setFactPage(0);
|
|
8912
8850
|
},
|
|
8913
|
-
children: [(0, react_jsx_runtime.jsx)("option", {
|
|
8851
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
8914
8852
|
value: "",
|
|
8915
8853
|
children: "全部"
|
|
8916
|
-
}), Object.entries(CATEGORY_LABELS$1).map(([value, label]) => (0, react_jsx_runtime.jsx)("option", {
|
|
8854
|
+
}), Object.entries(CATEGORY_LABELS$1).map(([value, label]) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
8917
8855
|
value,
|
|
8918
8856
|
children: label
|
|
8919
8857
|
}, value))]
|
|
8920
8858
|
})]
|
|
8921
8859
|
}),
|
|
8922
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
8860
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
8923
8861
|
className: Workbench_module_css_default.check,
|
|
8924
|
-
children: [(0, react_jsx_runtime.jsx)("input", {
|
|
8862
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
8925
8863
|
type: "checkbox",
|
|
8926
8864
|
checked: includeHistory,
|
|
8927
8865
|
onChange: (e) => {
|
|
@@ -8930,7 +8868,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8930
8868
|
}
|
|
8931
8869
|
}), "显示历史版本(双时间轴)"]
|
|
8932
8870
|
}),
|
|
8933
|
-
(0, react_jsx_runtime.jsx)(PageSizeSelect, {
|
|
8871
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(PageSizeSelect, {
|
|
8934
8872
|
value: factPageSize,
|
|
8935
8873
|
onChange: (v) => {
|
|
8936
8874
|
setFactPageSize(v);
|
|
@@ -8939,48 +8877,48 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8939
8877
|
})
|
|
8940
8878
|
]
|
|
8941
8879
|
}),
|
|
8942
|
-
error !== null && (0, react_jsx_runtime.jsx)("div", {
|
|
8880
|
+
error !== null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
8943
8881
|
className: Workbench_module_css_default.error,
|
|
8944
8882
|
children: error
|
|
8945
8883
|
}),
|
|
8946
|
-
facts.length === 0 && (0, react_jsx_runtime.jsx)("div", {
|
|
8884
|
+
facts.length === 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
8947
8885
|
className: Workbench_module_css_default.empty,
|
|
8948
8886
|
children: "暂无画像条目。代理记录日记后按周期提取(memory_extract),或在本页「人工管理」中直接添加。"
|
|
8949
8887
|
}),
|
|
8950
|
-
(0, react_jsx_runtime.jsxs)("table", {
|
|
8888
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("table", {
|
|
8951
8889
|
className: Workbench_module_css_default.table,
|
|
8952
|
-
children: [(0, react_jsx_runtime.jsx)("thead", { children: (0, react_jsx_runtime.jsxs)("tr", { children: [
|
|
8953
|
-
(0, react_jsx_runtime.jsx)("th", { children: "分类/键" }),
|
|
8954
|
-
(0, react_jsx_runtime.jsx)("th", { children: "值" }),
|
|
8955
|
-
(0, react_jsx_runtime.jsx)("th", { children: "佐证" }),
|
|
8956
|
-
(0, react_jsx_runtime.jsx)("th", { children: "来源" }),
|
|
8957
|
-
(0, react_jsx_runtime.jsx)("th", { children: "状态" }),
|
|
8958
|
-
(0, react_jsx_runtime.jsx)("th", { children: "生效起" }),
|
|
8959
|
-
(0, react_jsx_runtime.jsx)("th", { children: "操作" })
|
|
8960
|
-
] }) }), (0, react_jsx_runtime.jsx)("tbody", { children: facts.map((fact) => (0, react_jsx_runtime.jsxs)(react.Fragment, { children: [(0, react_jsx_runtime.jsxs)("tr", { children: [
|
|
8961
|
-
(0, react_jsx_runtime.jsxs)("td", { children: [
|
|
8890
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("thead", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("tr", { children: [
|
|
8891
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", { children: "分类/键" }),
|
|
8892
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", { children: "值" }),
|
|
8893
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", { children: "佐证" }),
|
|
8894
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", { children: "来源" }),
|
|
8895
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", { children: "状态" }),
|
|
8896
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", { children: "生效起" }),
|
|
8897
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", { children: "操作" })
|
|
8898
|
+
] }) }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("tbody", { children: facts.map((fact) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("tr", { children: [
|
|
8899
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("td", { children: [
|
|
8962
8900
|
CATEGORY_LABELS$1[fact.category] ?? fact.category,
|
|
8963
8901
|
" / ",
|
|
8964
8902
|
fact.factKey
|
|
8965
8903
|
] }),
|
|
8966
|
-
(0, react_jsx_runtime.jsx)("td", {
|
|
8904
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("td", {
|
|
8967
8905
|
className: Workbench_module_css_default.valueCell,
|
|
8968
8906
|
children: fact.value
|
|
8969
8907
|
}),
|
|
8970
|
-
(0, react_jsx_runtime.jsxs)("td", { children: ["×", String(fact.corroboration)] }),
|
|
8971
|
-
(0, react_jsx_runtime.jsx)("td", { children: fact.sourceDiaryIds.length === 0 ? (0, react_jsx_runtime.jsx)("span", {
|
|
8908
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("td", { children: ["×", String(fact.corroboration)] }),
|
|
8909
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("td", { children: fact.sourceDiaryIds.length === 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8972
8910
|
className: Workbench_module_css_default.cardMeta,
|
|
8973
8911
|
children: "人工/无"
|
|
8974
|
-
}) : (0, react_jsx_runtime.jsxs)("span", {
|
|
8912
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
8975
8913
|
className: Workbench_module_css_default.cellActions,
|
|
8976
|
-
children: [(0, react_jsx_runtime.jsx)("span", {
|
|
8914
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8977
8915
|
className: Workbench_module_css_default.payloadToggle,
|
|
8978
8916
|
title: openFactSources[fact.id] === true ? "收起来源日记" : "展开来源日记",
|
|
8979
8917
|
onClick: () => {
|
|
8980
8918
|
toggleFactSources(fact);
|
|
8981
8919
|
},
|
|
8982
8920
|
children: openFactSources[fact.id] === true ? "▾" : "▸"
|
|
8983
|
-
}), (0, react_jsx_runtime.jsxs)("span", {
|
|
8921
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
8984
8922
|
className: Workbench_module_css_default.cardMeta,
|
|
8985
8923
|
children: [
|
|
8986
8924
|
"← ",
|
|
@@ -8989,25 +8927,25 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8989
8927
|
]
|
|
8990
8928
|
})]
|
|
8991
8929
|
}) }),
|
|
8992
|
-
(0, react_jsx_runtime.jsxs)("td", { children: [
|
|
8993
|
-
fact.locked && (0, react_jsx_runtime.jsx)("span", {
|
|
8930
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("td", { children: [
|
|
8931
|
+
fact.locked && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8994
8932
|
className: `${Workbench_module_css_default.badge} ${Workbench_module_css_default.badgePinned}`,
|
|
8995
8933
|
children: "已确认"
|
|
8996
8934
|
}),
|
|
8997
|
-
fact.conflictPending && (0, react_jsx_runtime.jsx)("span", {
|
|
8935
|
+
fact.conflictPending && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8998
8936
|
className: `${Workbench_module_css_default.badge} ${Workbench_module_css_default.badgeConflict}`,
|
|
8999
8937
|
children: "冲突待裁决"
|
|
9000
8938
|
}),
|
|
9001
|
-
fact.validTo !== void 0 && (0, react_jsx_runtime.jsx)("span", {
|
|
8939
|
+
fact.validTo !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
9002
8940
|
className: `${Workbench_module_css_default.badge} ${Workbench_module_css_default.statusOther}`,
|
|
9003
8941
|
children: "历史"
|
|
9004
8942
|
})
|
|
9005
8943
|
] }),
|
|
9006
|
-
(0, react_jsx_runtime.jsx)("td", { children: formatTs(fact.validFrom) }),
|
|
9007
|
-
(0, react_jsx_runtime.jsxs)("td", {
|
|
8944
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("td", { children: formatTs(fact.validFrom) }),
|
|
8945
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("td", {
|
|
9008
8946
|
className: Workbench_module_css_default.cellActions,
|
|
9009
8947
|
children: [
|
|
9010
|
-
(0, react_jsx_runtime.jsx)("button", {
|
|
8948
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
9011
8949
|
type: "button",
|
|
9012
8950
|
className: Workbench_module_css_default.btn,
|
|
9013
8951
|
onClick: () => {
|
|
@@ -9015,7 +8953,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9015
8953
|
},
|
|
9016
8954
|
children: fact.locked ? "解锁" : "确认"
|
|
9017
8955
|
}),
|
|
9018
|
-
(0, react_jsx_runtime.jsx)("button", {
|
|
8956
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
9019
8957
|
type: "button",
|
|
9020
8958
|
className: Workbench_module_css_default.btn,
|
|
9021
8959
|
onClick: () => {
|
|
@@ -9023,7 +8961,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9023
8961
|
},
|
|
9024
8962
|
children: "编辑"
|
|
9025
8963
|
}),
|
|
9026
|
-
(0, react_jsx_runtime.jsx)("button", {
|
|
8964
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
9027
8965
|
type: "button",
|
|
9028
8966
|
className: `${Workbench_module_css_default.btn} ${Workbench_module_css_default.btnDanger}`,
|
|
9029
8967
|
onClick: () => {
|
|
@@ -9033,28 +8971,28 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9033
8971
|
})
|
|
9034
8972
|
]
|
|
9035
8973
|
})
|
|
9036
|
-
] }), openFactSources[fact.id] === true && (0, react_jsx_runtime.jsx)("tr", { children: (0, react_jsx_runtime.jsx)("td", {
|
|
8974
|
+
] }), openFactSources[fact.id] === true && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("tr", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("td", {
|
|
9037
8975
|
colSpan: 7,
|
|
9038
|
-
children: (0, react_jsx_runtime.jsx)("div", {
|
|
8976
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
9039
8977
|
className: Workbench_module_css_default.list,
|
|
9040
|
-
children: (factSources[fact.id] ?? []).length === 0 ? (0, react_jsx_runtime.jsx)("div", {
|
|
8978
|
+
children: (factSources[fact.id] ?? []).length === 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
9041
8979
|
className: Workbench_module_css_default.cardSub,
|
|
9042
|
-
children: (0, react_jsx_runtime.jsx)("span", {
|
|
8980
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
9043
8981
|
className: Workbench_module_css_default.cardMeta,
|
|
9044
8982
|
children: "加载中…(或来源日记已不存在)"
|
|
9045
8983
|
})
|
|
9046
|
-
}) : (factSources[fact.id] ?? []).map((entry) => (0, react_jsx_runtime.jsxs)("div", {
|
|
8984
|
+
}) : (factSources[fact.id] ?? []).map((entry) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9047
8985
|
className: Workbench_module_css_default.cardSub,
|
|
9048
8986
|
children: [
|
|
9049
|
-
(0, react_jsx_runtime.jsx)("span", {
|
|
8987
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
9050
8988
|
className: `${Workbench_module_css_default.badge} ${Workbench_module_css_default.statusCandidate}`,
|
|
9051
8989
|
children: DIARY_KIND_LABELS[entry.kind] ?? entry.kind
|
|
9052
8990
|
}),
|
|
9053
|
-
(0, react_jsx_runtime.jsx)("span", {
|
|
8991
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
9054
8992
|
className: Workbench_module_css_default.cardTitle,
|
|
9055
8993
|
children: entry.content
|
|
9056
8994
|
}),
|
|
9057
|
-
(0, react_jsx_runtime.jsx)("span", {
|
|
8995
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
9058
8996
|
className: Workbench_module_css_default.cardMeta,
|
|
9059
8997
|
children: formatTs(entry.ts)
|
|
9060
8998
|
})
|
|
@@ -9063,7 +9001,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9063
9001
|
})
|
|
9064
9002
|
}) })] }, fact.id)) })]
|
|
9065
9003
|
}),
|
|
9066
|
-
(0, react_jsx_runtime.jsx)(Pager, {
|
|
9004
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Pager, {
|
|
9067
9005
|
page: factPage,
|
|
9068
9006
|
pageSize: factPageSize,
|
|
9069
9007
|
total: factTotal,
|
|
@@ -9075,7 +9013,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9075
9013
|
});
|
|
9076
9014
|
}
|
|
9077
9015
|
//#endregion
|
|
9078
|
-
//#region
|
|
9016
|
+
//#region src/client/LedgerPage.tsx
|
|
9079
9017
|
/**
|
|
9080
9018
|
* Ledger page: the append-only hash-chained audit trail of every memory
|
|
9081
9019
|
* mutation (agent and human alike), with filters, an end-to-end integrity
|
|
@@ -9191,70 +9129,70 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9191
9129
|
setError(e instanceof Error ? e.message : String(e));
|
|
9192
9130
|
});
|
|
9193
9131
|
}, [actions]);
|
|
9194
|
-
return (0, react_jsx_runtime.jsxs)("div", {
|
|
9132
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9195
9133
|
className: Workbench_module_css_default.page,
|
|
9196
9134
|
children: [
|
|
9197
|
-
(0, react_jsx_runtime.jsx)("div", {
|
|
9135
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
9198
9136
|
className: Workbench_module_css_default.empty,
|
|
9199
9137
|
children: "账本是「修」的审计底座:每一次生·用·修·记操作(代理与人工 alike)都追加一块, 块内含上一块哈希,形成不可篡改的哈希链。它回答「谁、在何时、对哪条记忆、 做了什么、为什么」。「完整性校验」重算全链验证无篡改;人工操作必须填原因。"
|
|
9200
9138
|
}),
|
|
9201
|
-
(0, react_jsx_runtime.jsxs)("div", {
|
|
9139
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9202
9140
|
className: Workbench_module_css_default.toolbar,
|
|
9203
9141
|
children: [
|
|
9204
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9142
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9205
9143
|
className: Workbench_module_css_default.field,
|
|
9206
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "对象类型" }), (0, react_jsx_runtime.jsxs)("select", {
|
|
9144
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "对象类型" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("select", {
|
|
9207
9145
|
value: objectType,
|
|
9208
9146
|
onChange: (e) => {
|
|
9209
9147
|
applyFilter(setObjectType)(e.target.value);
|
|
9210
9148
|
},
|
|
9211
9149
|
children: [
|
|
9212
|
-
(0, react_jsx_runtime.jsx)("option", {
|
|
9150
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
9213
9151
|
value: "",
|
|
9214
9152
|
children: "全部"
|
|
9215
9153
|
}),
|
|
9216
|
-
(0, react_jsx_runtime.jsx)("option", {
|
|
9154
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
9217
9155
|
value: "experience",
|
|
9218
9156
|
children: "经验"
|
|
9219
9157
|
}),
|
|
9220
|
-
(0, react_jsx_runtime.jsx)("option", {
|
|
9158
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
9221
9159
|
value: "fact",
|
|
9222
9160
|
children: "画像"
|
|
9223
9161
|
}),
|
|
9224
|
-
(0, react_jsx_runtime.jsx)("option", {
|
|
9162
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
9225
9163
|
value: "diary",
|
|
9226
9164
|
children: "日记"
|
|
9227
9165
|
}),
|
|
9228
|
-
(0, react_jsx_runtime.jsx)("option", {
|
|
9166
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
9229
9167
|
value: "concern",
|
|
9230
9168
|
children: "关心事项"
|
|
9231
9169
|
}),
|
|
9232
|
-
(0, react_jsx_runtime.jsx)("option", {
|
|
9170
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
9233
9171
|
value: "library",
|
|
9234
9172
|
children: "库级"
|
|
9235
9173
|
})
|
|
9236
9174
|
]
|
|
9237
9175
|
})]
|
|
9238
9176
|
}),
|
|
9239
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9177
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9240
9178
|
className: Workbench_module_css_default.field,
|
|
9241
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "操作" }), (0, react_jsx_runtime.jsxs)("select", {
|
|
9179
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "操作" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("select", {
|
|
9242
9180
|
value: op,
|
|
9243
9181
|
onChange: (e) => {
|
|
9244
9182
|
applyFilter(setOp)(e.target.value);
|
|
9245
9183
|
},
|
|
9246
|
-
children: [(0, react_jsx_runtime.jsx)("option", {
|
|
9184
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
9247
9185
|
value: "",
|
|
9248
9186
|
children: "全部"
|
|
9249
|
-
}), Object.keys(OP_LABELS).map((key) => (0, react_jsx_runtime.jsx)("option", {
|
|
9187
|
+
}), Object.keys(OP_LABELS).map((key) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
9250
9188
|
value: key,
|
|
9251
9189
|
children: opLabel(key)
|
|
9252
9190
|
}, key))]
|
|
9253
9191
|
})]
|
|
9254
9192
|
}),
|
|
9255
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9193
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9256
9194
|
className: Workbench_module_css_default.field,
|
|
9257
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "对象 id" }), (0, react_jsx_runtime.jsx)("input", {
|
|
9195
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "对象 id" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
9258
9196
|
value: objectId,
|
|
9259
9197
|
placeholder: "经验或画像 id",
|
|
9260
9198
|
onChange: (e) => {
|
|
@@ -9262,9 +9200,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9262
9200
|
}
|
|
9263
9201
|
})]
|
|
9264
9202
|
}),
|
|
9265
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9203
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9266
9204
|
className: Workbench_module_css_default.field,
|
|
9267
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "块号从" }), (0, react_jsx_runtime.jsx)("input", {
|
|
9205
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "块号从" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
9268
9206
|
value: seqFrom,
|
|
9269
9207
|
placeholder: "如 1",
|
|
9270
9208
|
onChange: (e) => {
|
|
@@ -9272,9 +9210,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9272
9210
|
}
|
|
9273
9211
|
})]
|
|
9274
9212
|
}),
|
|
9275
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9213
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9276
9214
|
className: Workbench_module_css_default.field,
|
|
9277
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "到" }), (0, react_jsx_runtime.jsx)("input", {
|
|
9215
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "到" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
9278
9216
|
value: seqTo,
|
|
9279
9217
|
placeholder: "如 100",
|
|
9280
9218
|
onChange: (e) => {
|
|
@@ -9282,13 +9220,13 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9282
9220
|
}
|
|
9283
9221
|
})]
|
|
9284
9222
|
}),
|
|
9285
|
-
(0, react_jsx_runtime.jsx)("button", {
|
|
9223
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
9286
9224
|
type: "button",
|
|
9287
9225
|
className: Workbench_module_css_default.btn,
|
|
9288
9226
|
onClick: refresh,
|
|
9289
9227
|
children: "刷新"
|
|
9290
9228
|
}),
|
|
9291
|
-
(0, react_jsx_runtime.jsx)("button", {
|
|
9229
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
9292
9230
|
type: "button",
|
|
9293
9231
|
className: Workbench_module_css_default.btn,
|
|
9294
9232
|
onClick: runIntegrity,
|
|
@@ -9296,20 +9234,20 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9296
9234
|
title: "从第 1 块起逐块重算哈希并与块内存储的哈希比对,任何篡改都会导致断裂",
|
|
9297
9235
|
children: checking ? "校验中…" : "完整性校验"
|
|
9298
9236
|
}),
|
|
9299
|
-
(0, react_jsx_runtime.jsx)("button", {
|
|
9237
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
9300
9238
|
type: "button",
|
|
9301
9239
|
className: Workbench_module_css_default.btn,
|
|
9302
9240
|
onClick: runExport,
|
|
9303
9241
|
children: "导出全库 JSON"
|
|
9304
9242
|
}),
|
|
9305
|
-
integrity !== null && (integrity.ok ? (0, react_jsx_runtime.jsxs)("span", {
|
|
9243
|
+
integrity !== null && (integrity.ok ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
9306
9244
|
className: Workbench_module_css_default.okLine,
|
|
9307
9245
|
children: [
|
|
9308
9246
|
"✓ 哈希链完整(",
|
|
9309
9247
|
String(integrity.checked),
|
|
9310
9248
|
" 块)"
|
|
9311
9249
|
]
|
|
9312
|
-
}) : (0, react_jsx_runtime.jsxs)("span", {
|
|
9250
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
9313
9251
|
className: Workbench_module_css_default.error,
|
|
9314
9252
|
children: [
|
|
9315
9253
|
"✗ 哈希链在 #",
|
|
@@ -9317,46 +9255,46 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9317
9255
|
" 处断裂"
|
|
9318
9256
|
]
|
|
9319
9257
|
})),
|
|
9320
|
-
error !== null && (0, react_jsx_runtime.jsx)("span", {
|
|
9258
|
+
error !== null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
9321
9259
|
className: Workbench_module_css_default.error,
|
|
9322
9260
|
children: error
|
|
9323
9261
|
})
|
|
9324
9262
|
]
|
|
9325
9263
|
}),
|
|
9326
|
-
blocks.length === 0 && (0, react_jsx_runtime.jsx)("div", {
|
|
9264
|
+
blocks.length === 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
9327
9265
|
className: Workbench_module_css_default.empty,
|
|
9328
9266
|
children: "账本为空:还没有任何生用修记操作。"
|
|
9329
9267
|
}),
|
|
9330
|
-
(0, react_jsx_runtime.jsxs)("table", {
|
|
9268
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("table", {
|
|
9331
9269
|
className: Workbench_module_css_default.table,
|
|
9332
|
-
children: [(0, react_jsx_runtime.jsx)("thead", { children: (0, react_jsx_runtime.jsxs)("tr", { children: [
|
|
9333
|
-
(0, react_jsx_runtime.jsx)("th", { children: "#" }),
|
|
9334
|
-
(0, react_jsx_runtime.jsx)("th", { children: "时间" }),
|
|
9335
|
-
(0, react_jsx_runtime.jsx)("th", { children: "操作" }),
|
|
9336
|
-
(0, react_jsx_runtime.jsx)("th", { children: "对象" }),
|
|
9337
|
-
(0, react_jsx_runtime.jsx)("th", { children: "行动者" }),
|
|
9338
|
-
(0, react_jsx_runtime.jsx)("th", { children: "原因" }),
|
|
9339
|
-
(0, react_jsx_runtime.jsx)("th", { children: "载荷" })
|
|
9340
|
-
] }) }), (0, react_jsx_runtime.jsx)("tbody", { children: blocks.map((block) => (0, react_jsx_runtime.jsxs)("tr", { children: [
|
|
9341
|
-
(0, react_jsx_runtime.jsx)("td", { children: String(block.seq) }),
|
|
9342
|
-
(0, react_jsx_runtime.jsx)("td", { children: formatTs(block.ts) }),
|
|
9343
|
-
(0, react_jsx_runtime.jsx)("td", { children: (0, react_jsx_runtime.jsx)("span", {
|
|
9270
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("thead", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("tr", { children: [
|
|
9271
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", { children: "#" }),
|
|
9272
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", { children: "时间" }),
|
|
9273
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", { children: "操作" }),
|
|
9274
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", { children: "对象" }),
|
|
9275
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", { children: "行动者" }),
|
|
9276
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", { children: "原因" }),
|
|
9277
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", { children: "载荷" })
|
|
9278
|
+
] }) }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("tbody", { children: blocks.map((block) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("tr", { children: [
|
|
9279
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("td", { children: String(block.seq) }),
|
|
9280
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("td", { children: formatTs(block.ts) }),
|
|
9281
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("td", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
9344
9282
|
className: `${Workbench_module_css_default.badge} ${Workbench_module_css_default.statusCandidate}`,
|
|
9345
9283
|
children: opLabel(block.op)
|
|
9346
9284
|
}) }),
|
|
9347
|
-
(0, react_jsx_runtime.jsxs)("td", { children: [
|
|
9285
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("td", { children: [
|
|
9348
9286
|
block.objectType,
|
|
9349
9287
|
":",
|
|
9350
9288
|
block.objectId.slice(0, 8)
|
|
9351
9289
|
] }),
|
|
9352
|
-
(0, react_jsx_runtime.jsx)("td", { children: block.actor }),
|
|
9353
|
-
(0, react_jsx_runtime.jsx)("td", { children: block.reason ?? "" }),
|
|
9354
|
-
(0, react_jsx_runtime.jsx)("td", { children: (0, react_jsx_runtime.jsxs)("div", {
|
|
9290
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("td", { children: block.actor }),
|
|
9291
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("td", { children: block.reason ?? "" }),
|
|
9292
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("td", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9355
9293
|
className: Workbench_module_css_default.cellActions,
|
|
9356
|
-
children: [(0, react_jsx_runtime.jsx)("div", {
|
|
9294
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
9357
9295
|
className: expandedSeq === block.seq ? Workbench_module_css_default.payloadFull : Workbench_module_css_default.valueCell,
|
|
9358
9296
|
children: expandedSeq === block.seq ? block.payload : block.payload.length > 80 ? `${block.payload.slice(0, 80)}…` : block.payload
|
|
9359
|
-
}), block.payload.length > 80 && (0, react_jsx_runtime.jsx)("span", {
|
|
9297
|
+
}), block.payload.length > 80 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
9360
9298
|
className: Workbench_module_css_default.payloadToggle,
|
|
9361
9299
|
title: expandedSeq === block.seq ? "收起" : "展开",
|
|
9362
9300
|
onClick: () => {
|
|
@@ -9367,34 +9305,34 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9367
9305
|
}) })
|
|
9368
9306
|
] }, block.seq)) })]
|
|
9369
9307
|
}),
|
|
9370
|
-
(0, react_jsx_runtime.jsxs)("div", {
|
|
9308
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9371
9309
|
className: Workbench_module_css_default.toolbar,
|
|
9372
9310
|
children: [
|
|
9373
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9311
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9374
9312
|
className: Workbench_module_css_default.field,
|
|
9375
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "每页" }), (0, react_jsx_runtime.jsxs)("select", {
|
|
9313
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "每页" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("select", {
|
|
9376
9314
|
value: String(pageSize),
|
|
9377
9315
|
onChange: (e) => {
|
|
9378
9316
|
setPageSize(Number(e.target.value));
|
|
9379
9317
|
setPage(0);
|
|
9380
9318
|
},
|
|
9381
9319
|
children: [
|
|
9382
|
-
(0, react_jsx_runtime.jsx)("option", {
|
|
9320
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
9383
9321
|
value: "10",
|
|
9384
9322
|
children: "10"
|
|
9385
9323
|
}),
|
|
9386
|
-
(0, react_jsx_runtime.jsx)("option", {
|
|
9324
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
9387
9325
|
value: "20",
|
|
9388
9326
|
children: "20"
|
|
9389
9327
|
}),
|
|
9390
|
-
(0, react_jsx_runtime.jsx)("option", {
|
|
9328
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
9391
9329
|
value: "50",
|
|
9392
9330
|
children: "50"
|
|
9393
9331
|
})
|
|
9394
9332
|
]
|
|
9395
9333
|
})]
|
|
9396
9334
|
}),
|
|
9397
|
-
(0, react_jsx_runtime.jsx)("button", {
|
|
9335
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
9398
9336
|
type: "button",
|
|
9399
9337
|
className: Workbench_module_css_default.btn,
|
|
9400
9338
|
disabled: page <= 0,
|
|
@@ -9403,7 +9341,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9403
9341
|
},
|
|
9404
9342
|
children: "上一页"
|
|
9405
9343
|
}),
|
|
9406
|
-
(0, react_jsx_runtime.jsxs)("span", {
|
|
9344
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
9407
9345
|
className: Workbench_module_css_default.cardMeta,
|
|
9408
9346
|
children: [
|
|
9409
9347
|
"第 ",
|
|
@@ -9415,7 +9353,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9415
9353
|
" 块"
|
|
9416
9354
|
]
|
|
9417
9355
|
}),
|
|
9418
|
-
(0, react_jsx_runtime.jsx)("button", {
|
|
9356
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
9419
9357
|
type: "button",
|
|
9420
9358
|
className: Workbench_module_css_default.btn,
|
|
9421
9359
|
disabled: page + 1 >= totalPages,
|
|
@@ -9424,7 +9362,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9424
9362
|
},
|
|
9425
9363
|
children: "下一页"
|
|
9426
9364
|
}),
|
|
9427
|
-
(0, react_jsx_runtime.jsx)("span", {
|
|
9365
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
9428
9366
|
className: Workbench_module_css_default.cardMeta,
|
|
9429
9367
|
children: "账本只增不删(哈希链审计);此处仅分页展示,不删除任何块。"
|
|
9430
9368
|
})
|
|
@@ -9434,7 +9372,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9434
9372
|
});
|
|
9435
9373
|
}
|
|
9436
9374
|
//#endregion
|
|
9437
|
-
//#region
|
|
9375
|
+
//#region src/client/HumanOpsPage.tsx
|
|
9438
9376
|
/**
|
|
9439
9377
|
* Human management page: the fixed-format injection and editing forms.
|
|
9440
9378
|
* Human additions use the ordinary experience/fact structure (fixed format);
|
|
@@ -9643,48 +9581,48 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9643
9581
|
fail(e);
|
|
9644
9582
|
}
|
|
9645
9583
|
};
|
|
9646
|
-
return (0, react_jsx_runtime.jsxs)("div", {
|
|
9584
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9647
9585
|
className: Workbench_module_css_default.page,
|
|
9648
9586
|
children: [
|
|
9649
|
-
notice !== null && (0, react_jsx_runtime.jsx)("div", {
|
|
9587
|
+
notice !== null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
9650
9588
|
className: Workbench_module_css_default.okLine,
|
|
9651
9589
|
children: notice
|
|
9652
9590
|
}),
|
|
9653
|
-
error !== null && (0, react_jsx_runtime.jsx)("div", {
|
|
9591
|
+
error !== null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
9654
9592
|
className: Workbench_module_css_default.error,
|
|
9655
9593
|
children: error
|
|
9656
9594
|
}),
|
|
9657
|
-
(0, react_jsx_runtime.jsxs)("div", {
|
|
9595
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9658
9596
|
className: Workbench_module_css_default.columns,
|
|
9659
|
-
children: [(0, react_jsx_runtime.jsxs)("section", {
|
|
9597
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", {
|
|
9660
9598
|
className: Workbench_module_css_default.column,
|
|
9661
9599
|
children: [
|
|
9662
|
-
(0, react_jsx_runtime.jsx)("div", {
|
|
9600
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
9663
9601
|
className: Workbench_module_css_default.sectionTitle,
|
|
9664
9602
|
children: "凭空添加经验(固定格式 = 普通经验结构;人工担保直接 live,置信下限约 0.67)"
|
|
9665
9603
|
}),
|
|
9666
|
-
(0, react_jsx_runtime.jsxs)("div", {
|
|
9604
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9667
9605
|
className: Workbench_module_css_default.form,
|
|
9668
9606
|
children: [
|
|
9669
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9607
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9670
9608
|
className: Workbench_module_css_default.field,
|
|
9671
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "类型" }), (0, react_jsx_runtime.jsxs)("select", {
|
|
9609
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "类型" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("select", {
|
|
9672
9610
|
value: kind,
|
|
9673
9611
|
onChange: (e) => {
|
|
9674
9612
|
setKind(e.target.value);
|
|
9675
9613
|
},
|
|
9676
|
-
children: [(0, react_jsx_runtime.jsx)("option", {
|
|
9614
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
9677
9615
|
value: "positive",
|
|
9678
9616
|
children: "正经验(可行路径)"
|
|
9679
|
-
}), (0, react_jsx_runtime.jsx)("option", {
|
|
9617
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
9680
9618
|
value: "negative",
|
|
9681
9619
|
children: "负经验(确认死路)"
|
|
9682
9620
|
})]
|
|
9683
9621
|
})]
|
|
9684
9622
|
}),
|
|
9685
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9623
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9686
9624
|
className: Workbench_module_css_default.field,
|
|
9687
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "任务族 *" }), (0, react_jsx_runtime.jsx)("input", {
|
|
9625
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "任务族 *" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
9688
9626
|
value: family,
|
|
9689
9627
|
placeholder: "如 windows-build",
|
|
9690
9628
|
onChange: (e) => {
|
|
@@ -9692,18 +9630,18 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9692
9630
|
}
|
|
9693
9631
|
})]
|
|
9694
9632
|
}),
|
|
9695
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9633
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9696
9634
|
className: Workbench_module_css_default.field,
|
|
9697
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "一句话摘要 *" }), (0, react_jsx_runtime.jsx)("input", {
|
|
9635
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "一句话摘要 *" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
9698
9636
|
value: gist,
|
|
9699
9637
|
onChange: (e) => {
|
|
9700
9638
|
setGist(e.target.value);
|
|
9701
9639
|
}
|
|
9702
9640
|
})]
|
|
9703
9641
|
}),
|
|
9704
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9642
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9705
9643
|
className: Workbench_module_css_default.field,
|
|
9706
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "适用情境 *(每行一条)" }), (0, react_jsx_runtime.jsx)("textarea", {
|
|
9644
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "适用情境 *(每行一条)" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("textarea", {
|
|
9707
9645
|
rows: 3,
|
|
9708
9646
|
value: situation,
|
|
9709
9647
|
onChange: (e) => {
|
|
@@ -9711,9 +9649,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9711
9649
|
}
|
|
9712
9650
|
})]
|
|
9713
9651
|
}),
|
|
9714
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9652
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9715
9653
|
className: Workbench_module_css_default.field,
|
|
9716
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "路径步骤 *(每行一步,按顺序)" }), (0, react_jsx_runtime.jsx)("textarea", {
|
|
9654
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "路径步骤 *(每行一步,按顺序)" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("textarea", {
|
|
9717
9655
|
rows: 4,
|
|
9718
9656
|
value: path,
|
|
9719
9657
|
onChange: (e) => {
|
|
@@ -9721,9 +9659,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9721
9659
|
}
|
|
9722
9660
|
})]
|
|
9723
9661
|
}),
|
|
9724
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9662
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9725
9663
|
className: Workbench_module_css_default.field,
|
|
9726
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "判断背景 *" }), (0, react_jsx_runtime.jsx)("textarea", {
|
|
9664
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "判断背景 *" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("textarea", {
|
|
9727
9665
|
rows: 2,
|
|
9728
9666
|
value: reasoning,
|
|
9729
9667
|
onChange: (e) => {
|
|
@@ -9731,9 +9669,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9731
9669
|
}
|
|
9732
9670
|
})]
|
|
9733
9671
|
}),
|
|
9734
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9672
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9735
9673
|
className: Workbench_module_css_default.field,
|
|
9736
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "不适用边界(每行一条)" }), (0, react_jsx_runtime.jsx)("textarea", {
|
|
9674
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "不适用边界(每行一条)" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("textarea", {
|
|
9737
9675
|
rows: 2,
|
|
9738
9676
|
value: limits,
|
|
9739
9677
|
onChange: (e) => {
|
|
@@ -9741,19 +9679,19 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9741
9679
|
}
|
|
9742
9680
|
})]
|
|
9743
9681
|
}),
|
|
9744
|
-
kind === "negative" && (0, react_jsx_runtime.jsxs)("label", {
|
|
9682
|
+
kind === "negative" && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9745
9683
|
className: Workbench_module_css_default.field,
|
|
9746
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "确认的失败原因 *" }), (0, react_jsx_runtime.jsx)("input", {
|
|
9684
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "确认的失败原因 *" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
9747
9685
|
value: failureReason,
|
|
9748
9686
|
onChange: (e) => {
|
|
9749
9687
|
setFailureReason(e.target.value);
|
|
9750
9688
|
}
|
|
9751
9689
|
})]
|
|
9752
9690
|
}),
|
|
9753
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9691
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9754
9692
|
className: Workbench_module_css_default.field,
|
|
9755
9693
|
title: "作用域:该经验适用的领域/上下文;留空为无作用域",
|
|
9756
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "作用域(可选)" }), (0, react_jsx_runtime.jsx)("input", {
|
|
9694
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "作用域(可选)" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
9757
9695
|
value: addContext,
|
|
9758
9696
|
placeholder: "如 coding-windows-build",
|
|
9759
9697
|
onChange: (e) => {
|
|
@@ -9761,7 +9699,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9761
9699
|
}
|
|
9762
9700
|
})]
|
|
9763
9701
|
}),
|
|
9764
|
-
(0, react_jsx_runtime.jsx)("button", {
|
|
9702
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
9765
9703
|
type: "button",
|
|
9766
9704
|
className: Workbench_module_css_default.btn,
|
|
9767
9705
|
onClick: () => {
|
|
@@ -9771,51 +9709,51 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9771
9709
|
})
|
|
9772
9710
|
]
|
|
9773
9711
|
}),
|
|
9774
|
-
(0, react_jsx_runtime.jsx)("div", {
|
|
9712
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
9775
9713
|
className: Workbench_module_css_default.sectionTitle,
|
|
9776
9714
|
children: "摄取归一(从外部来源学习:书/技能/文档/会话;产出候选待验证,不直接 live)"
|
|
9777
9715
|
}),
|
|
9778
|
-
(0, react_jsx_runtime.jsxs)("div", {
|
|
9716
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9779
9717
|
className: Workbench_module_css_default.form,
|
|
9780
9718
|
children: [
|
|
9781
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9719
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9782
9720
|
className: Workbench_module_css_default.field,
|
|
9783
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "来源类型" }), (0, react_jsx_runtime.jsxs)("select", {
|
|
9721
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "来源类型" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("select", {
|
|
9784
9722
|
value: ingestSourceType,
|
|
9785
9723
|
onChange: (e) => {
|
|
9786
9724
|
setIngestSourceType(e.target.value);
|
|
9787
9725
|
},
|
|
9788
9726
|
children: [
|
|
9789
|
-
(0, react_jsx_runtime.jsx)("option", {
|
|
9727
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
9790
9728
|
value: "other",
|
|
9791
9729
|
children: "other(其他)"
|
|
9792
9730
|
}),
|
|
9793
|
-
(0, react_jsx_runtime.jsx)("option", {
|
|
9731
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
9794
9732
|
value: "note",
|
|
9795
9733
|
children: "note(笔记)"
|
|
9796
9734
|
}),
|
|
9797
|
-
(0, react_jsx_runtime.jsx)("option", {
|
|
9735
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
9798
9736
|
value: "conversation",
|
|
9799
9737
|
children: "conversation(会话)"
|
|
9800
9738
|
}),
|
|
9801
|
-
(0, react_jsx_runtime.jsx)("option", {
|
|
9739
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
9802
9740
|
value: "document",
|
|
9803
9741
|
children: "document(文档)"
|
|
9804
9742
|
}),
|
|
9805
|
-
(0, react_jsx_runtime.jsx)("option", {
|
|
9743
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
9806
9744
|
value: "book",
|
|
9807
9745
|
children: "book(书籍)"
|
|
9808
9746
|
}),
|
|
9809
|
-
(0, react_jsx_runtime.jsx)("option", {
|
|
9747
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
9810
9748
|
value: "skill",
|
|
9811
9749
|
children: "skill(技能)"
|
|
9812
9750
|
})
|
|
9813
9751
|
]
|
|
9814
9752
|
})]
|
|
9815
9753
|
}),
|
|
9816
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9754
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9817
9755
|
className: Workbench_module_css_default.field,
|
|
9818
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "出处 *(sourceRef)" }), (0, react_jsx_runtime.jsx)("input", {
|
|
9756
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "出处 *(sourceRef)" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
9819
9757
|
value: ingestSourceRef,
|
|
9820
9758
|
placeholder: "书名/技能名/会话 id(可审计)",
|
|
9821
9759
|
onChange: (e) => {
|
|
@@ -9823,10 +9761,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9823
9761
|
}
|
|
9824
9762
|
})]
|
|
9825
9763
|
}),
|
|
9826
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9764
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9827
9765
|
className: Workbench_module_css_default.field,
|
|
9828
9766
|
title: "作用域:摄取出的候选适用的领域/上下文",
|
|
9829
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "作用域(可选)" }), (0, react_jsx_runtime.jsx)("input", {
|
|
9767
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "作用域(可选)" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
9830
9768
|
value: ingestContext,
|
|
9831
9769
|
placeholder: "如 coding-windows-build",
|
|
9832
9770
|
onChange: (e) => {
|
|
@@ -9834,25 +9772,25 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9834
9772
|
}
|
|
9835
9773
|
})]
|
|
9836
9774
|
}),
|
|
9837
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9775
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9838
9776
|
className: Workbench_module_css_default.field,
|
|
9839
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "类型" }), (0, react_jsx_runtime.jsxs)("select", {
|
|
9777
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "类型" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("select", {
|
|
9840
9778
|
value: ingestKind,
|
|
9841
9779
|
onChange: (e) => {
|
|
9842
9780
|
setIngestKind(e.target.value);
|
|
9843
9781
|
},
|
|
9844
|
-
children: [(0, react_jsx_runtime.jsx)("option", {
|
|
9782
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
9845
9783
|
value: "positive",
|
|
9846
9784
|
children: "正经验(可行路径)"
|
|
9847
|
-
}), (0, react_jsx_runtime.jsx)("option", {
|
|
9785
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
9848
9786
|
value: "negative",
|
|
9849
9787
|
children: "负经验(确认死路)"
|
|
9850
9788
|
})]
|
|
9851
9789
|
})]
|
|
9852
9790
|
}),
|
|
9853
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9791
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9854
9792
|
className: Workbench_module_css_default.field,
|
|
9855
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "任务族 *" }), (0, react_jsx_runtime.jsx)("input", {
|
|
9793
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "任务族 *" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
9856
9794
|
value: ingestFamily,
|
|
9857
9795
|
placeholder: "如 windows-build",
|
|
9858
9796
|
onChange: (e) => {
|
|
@@ -9860,18 +9798,18 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9860
9798
|
}
|
|
9861
9799
|
})]
|
|
9862
9800
|
}),
|
|
9863
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9801
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9864
9802
|
className: Workbench_module_css_default.field,
|
|
9865
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "一句话摘要 *" }), (0, react_jsx_runtime.jsx)("input", {
|
|
9803
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "一句话摘要 *" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
9866
9804
|
value: ingestGist,
|
|
9867
9805
|
onChange: (e) => {
|
|
9868
9806
|
setIngestGist(e.target.value);
|
|
9869
9807
|
}
|
|
9870
9808
|
})]
|
|
9871
9809
|
}),
|
|
9872
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9810
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9873
9811
|
className: Workbench_module_css_default.field,
|
|
9874
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "适用情境 *(每行一条)" }), (0, react_jsx_runtime.jsx)("textarea", {
|
|
9812
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "适用情境 *(每行一条)" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("textarea", {
|
|
9875
9813
|
rows: 3,
|
|
9876
9814
|
value: ingestSituation,
|
|
9877
9815
|
onChange: (e) => {
|
|
@@ -9879,9 +9817,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9879
9817
|
}
|
|
9880
9818
|
})]
|
|
9881
9819
|
}),
|
|
9882
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9820
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9883
9821
|
className: Workbench_module_css_default.field,
|
|
9884
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "路径步骤 *(每行一步,按顺序)" }), (0, react_jsx_runtime.jsx)("textarea", {
|
|
9822
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "路径步骤 *(每行一步,按顺序)" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("textarea", {
|
|
9885
9823
|
rows: 4,
|
|
9886
9824
|
value: ingestPath,
|
|
9887
9825
|
onChange: (e) => {
|
|
@@ -9889,9 +9827,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9889
9827
|
}
|
|
9890
9828
|
})]
|
|
9891
9829
|
}),
|
|
9892
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9830
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9893
9831
|
className: Workbench_module_css_default.field,
|
|
9894
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "判断背景 *" }), (0, react_jsx_runtime.jsx)("textarea", {
|
|
9832
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "判断背景 *" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("textarea", {
|
|
9895
9833
|
rows: 2,
|
|
9896
9834
|
value: ingestReasoning,
|
|
9897
9835
|
onChange: (e) => {
|
|
@@ -9899,9 +9837,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9899
9837
|
}
|
|
9900
9838
|
})]
|
|
9901
9839
|
}),
|
|
9902
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9840
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9903
9841
|
className: Workbench_module_css_default.field,
|
|
9904
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "不适用边界(每行一条)" }), (0, react_jsx_runtime.jsx)("textarea", {
|
|
9842
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "不适用边界(每行一条)" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("textarea", {
|
|
9905
9843
|
rows: 2,
|
|
9906
9844
|
value: ingestLimits,
|
|
9907
9845
|
onChange: (e) => {
|
|
@@ -9909,16 +9847,16 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9909
9847
|
}
|
|
9910
9848
|
})]
|
|
9911
9849
|
}),
|
|
9912
|
-
ingestKind === "negative" && (0, react_jsx_runtime.jsxs)("label", {
|
|
9850
|
+
ingestKind === "negative" && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9913
9851
|
className: Workbench_module_css_default.field,
|
|
9914
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "确认的失败原因 *" }), (0, react_jsx_runtime.jsx)("input", {
|
|
9852
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "确认的失败原因 *" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
9915
9853
|
value: ingestFailureReason,
|
|
9916
9854
|
onChange: (e) => {
|
|
9917
9855
|
setIngestFailureReason(e.target.value);
|
|
9918
9856
|
}
|
|
9919
9857
|
})]
|
|
9920
9858
|
}),
|
|
9921
|
-
(0, react_jsx_runtime.jsx)("button", {
|
|
9859
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
9922
9860
|
type: "button",
|
|
9923
9861
|
className: Workbench_module_css_default.btn,
|
|
9924
9862
|
onClick: () => {
|
|
@@ -9928,21 +9866,21 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9928
9866
|
})
|
|
9929
9867
|
]
|
|
9930
9868
|
}),
|
|
9931
|
-
(0, react_jsx_runtime.jsx)("div", {
|
|
9869
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
9932
9870
|
className: Workbench_module_css_default.sectionTitle,
|
|
9933
9871
|
children: "人工添加画像(默认锁定:提取冲突不会自动取代)"
|
|
9934
9872
|
}),
|
|
9935
|
-
(0, react_jsx_runtime.jsxs)("div", {
|
|
9873
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9936
9874
|
className: Workbench_module_css_default.form,
|
|
9937
9875
|
children: [
|
|
9938
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9876
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9939
9877
|
className: Workbench_module_css_default.field,
|
|
9940
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "分类" }), (0, react_jsx_runtime.jsx)("select", {
|
|
9878
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "分类" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("select", {
|
|
9941
9879
|
value: factCategory,
|
|
9942
9880
|
onChange: (e) => {
|
|
9943
9881
|
setFactCategory(e.target.value);
|
|
9944
9882
|
},
|
|
9945
|
-
children: CATEGORIES.map((value) => (0, react_jsx_runtime.jsxs)("option", {
|
|
9883
|
+
children: CATEGORIES.map((value) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("option", {
|
|
9946
9884
|
value,
|
|
9947
9885
|
children: [
|
|
9948
9886
|
value,
|
|
@@ -9953,9 +9891,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9953
9891
|
}, value))
|
|
9954
9892
|
})]
|
|
9955
9893
|
}),
|
|
9956
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9894
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9957
9895
|
className: Workbench_module_css_default.field,
|
|
9958
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "键 *" }), (0, react_jsx_runtime.jsx)("input", {
|
|
9896
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "键 *" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
9959
9897
|
value: factKey,
|
|
9960
9898
|
placeholder: "如 timezone",
|
|
9961
9899
|
onChange: (e) => {
|
|
@@ -9963,18 +9901,18 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9963
9901
|
}
|
|
9964
9902
|
})]
|
|
9965
9903
|
}),
|
|
9966
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9904
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9967
9905
|
className: Workbench_module_css_default.field,
|
|
9968
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "值 *" }), (0, react_jsx_runtime.jsx)("input", {
|
|
9906
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "值 *" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
9969
9907
|
value: factValue,
|
|
9970
9908
|
onChange: (e) => {
|
|
9971
9909
|
setFactValue(e.target.value);
|
|
9972
9910
|
}
|
|
9973
9911
|
})]
|
|
9974
9912
|
}),
|
|
9975
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9913
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
9976
9914
|
className: Workbench_module_css_default.check,
|
|
9977
|
-
children: [(0, react_jsx_runtime.jsx)("input", {
|
|
9915
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
9978
9916
|
type: "checkbox",
|
|
9979
9917
|
checked: factLocked,
|
|
9980
9918
|
onChange: (e) => {
|
|
@@ -9982,7 +9920,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9982
9920
|
}
|
|
9983
9921
|
}), "立即锁定(人工确认)"]
|
|
9984
9922
|
}),
|
|
9985
|
-
(0, react_jsx_runtime.jsx)("button", {
|
|
9923
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
9986
9924
|
type: "button",
|
|
9987
9925
|
className: Workbench_module_css_default.btn,
|
|
9988
9926
|
onClick: () => {
|
|
@@ -9993,19 +9931,19 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
9993
9931
|
]
|
|
9994
9932
|
})
|
|
9995
9933
|
]
|
|
9996
|
-
}), (0, react_jsx_runtime.jsxs)("section", {
|
|
9934
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", {
|
|
9997
9935
|
className: Workbench_module_css_default.column,
|
|
9998
9936
|
children: [
|
|
9999
|
-
(0, react_jsx_runtime.jsx)("div", {
|
|
9937
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
10000
9938
|
className: Workbench_module_css_default.sectionTitle,
|
|
10001
9939
|
children: "编辑既有经验(按 id;完整编辑请配合经验库监控页的详情)"
|
|
10002
9940
|
}),
|
|
10003
|
-
(0, react_jsx_runtime.jsxs)("div", {
|
|
9941
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
10004
9942
|
className: Workbench_module_css_default.form,
|
|
10005
9943
|
children: [
|
|
10006
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9944
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
10007
9945
|
className: Workbench_module_css_default.field,
|
|
10008
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "经验 id *" }), (0, react_jsx_runtime.jsx)("input", {
|
|
9946
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "经验 id *" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
10009
9947
|
value: editId,
|
|
10010
9948
|
placeholder: "从账本或经验列表复制",
|
|
10011
9949
|
onChange: (e) => {
|
|
@@ -10013,18 +9951,18 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
10013
9951
|
}
|
|
10014
9952
|
})]
|
|
10015
9953
|
}),
|
|
10016
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9954
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
10017
9955
|
className: Workbench_module_css_default.field,
|
|
10018
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "新摘要(留空不改)" }), (0, react_jsx_runtime.jsx)("input", {
|
|
9956
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "新摘要(留空不改)" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
10019
9957
|
value: editGist,
|
|
10020
9958
|
onChange: (e) => {
|
|
10021
9959
|
setEditGist(e.target.value);
|
|
10022
9960
|
}
|
|
10023
9961
|
})]
|
|
10024
9962
|
}),
|
|
10025
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9963
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
10026
9964
|
className: Workbench_module_css_default.field,
|
|
10027
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "新不适用边界(每行一条,留空不改)" }), (0, react_jsx_runtime.jsx)("textarea", {
|
|
9965
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "新不适用边界(每行一条,留空不改)" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("textarea", {
|
|
10028
9966
|
rows: 3,
|
|
10029
9967
|
value: editLimits,
|
|
10030
9968
|
onChange: (e) => {
|
|
@@ -10032,10 +9970,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
10032
9970
|
}
|
|
10033
9971
|
})]
|
|
10034
9972
|
}),
|
|
10035
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9973
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
10036
9974
|
className: Workbench_module_css_default.field,
|
|
10037
9975
|
title: "作用域:留空不改;填写则改写该经验的作用域",
|
|
10038
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: "新作用域(留空不改)" }), (0, react_jsx_runtime.jsx)("input", {
|
|
9976
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "新作用域(留空不改)" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
10039
9977
|
value: editContext,
|
|
10040
9978
|
placeholder: "如 coding-windows-build",
|
|
10041
9979
|
onChange: (e) => {
|
|
@@ -10043,9 +9981,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
10043
9981
|
}
|
|
10044
9982
|
})]
|
|
10045
9983
|
}),
|
|
10046
|
-
(0, react_jsx_runtime.jsxs)("label", {
|
|
9984
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
10047
9985
|
className: Workbench_module_css_default.check,
|
|
10048
|
-
children: [(0, react_jsx_runtime.jsx)("input", {
|
|
9986
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
10049
9987
|
type: "checkbox",
|
|
10050
9988
|
checked: editGlobalFlag,
|
|
10051
9989
|
onChange: (e) => {
|
|
@@ -10053,7 +9991,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
10053
9991
|
}
|
|
10054
9992
|
}), "全局作用域(勾选 = 跨领域可召回;取消 = 仅本作用域)"]
|
|
10055
9993
|
}),
|
|
10056
|
-
(0, react_jsx_runtime.jsx)("button", {
|
|
9994
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
10057
9995
|
type: "button",
|
|
10058
9996
|
className: Workbench_module_css_default.btn,
|
|
10059
9997
|
onClick: () => {
|
|
@@ -10063,21 +10001,21 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
10063
10001
|
})
|
|
10064
10002
|
]
|
|
10065
10003
|
}),
|
|
10066
|
-
(0, react_jsx_runtime.jsx)("div", {
|
|
10004
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
10067
10005
|
className: Workbench_module_css_default.sectionTitle,
|
|
10068
10006
|
children: "人工操作纪律"
|
|
10069
10007
|
}),
|
|
10070
|
-
(0, react_jsx_runtime.jsxs)("ul", {
|
|
10008
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("ul", {
|
|
10071
10009
|
className: Workbench_module_css_default.rules,
|
|
10072
10010
|
children: [
|
|
10073
|
-
(0, react_jsx_runtime.jsx)("li", { children: "永久标记:置顶信任(置信不低于 0.67)且豁免注入预算退役。" }),
|
|
10074
|
-
(0, react_jsx_runtime.jsx)("li", { children: "删除:全家族墓碑,指纹保留在账本,可审计不可恢复。" }),
|
|
10075
|
-
(0, react_jsx_runtime.jsx)("li", { children: "编辑:就地改写活动版本,原内容保留在账本载荷。" }),
|
|
10076
|
-
(0, react_jsx_runtime.jsx)("li", { children: "凭空添加:固定格式、人工担保、直接 live、置信下限约 0.67。" }),
|
|
10077
|
-
(0, react_jsx_runtime.jsx)("li", { children: "摄取归一:带出处产出候选(初始按来源先验),须经验证才转正。" }),
|
|
10078
|
-
(0, react_jsx_runtime.jsx)("li", { children: "作用域:默认本作用域;可勾选全局(跨领域可召回)。" }),
|
|
10079
|
-
(0, react_jsx_runtime.jsx)("li", { children: "冷宫:候选试探失败即入冷宫,只有人工可放回候选或删除。" }),
|
|
10080
|
-
(0, react_jsx_runtime.jsx)("li", { children: "所有人工操作强制填写原因,账本 actor=human。" })
|
|
10011
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("li", { children: "永久标记:置顶信任(置信不低于 0.67)且豁免注入预算退役。" }),
|
|
10012
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("li", { children: "删除:全家族墓碑,指纹保留在账本,可审计不可恢复。" }),
|
|
10013
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("li", { children: "编辑:就地改写活动版本,原内容保留在账本载荷。" }),
|
|
10014
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("li", { children: "凭空添加:固定格式、人工担保、直接 live、置信下限约 0.67。" }),
|
|
10015
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("li", { children: "摄取归一:带出处产出候选(初始按来源先验),须经验证才转正。" }),
|
|
10016
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("li", { children: "作用域:默认本作用域;可勾选全局(跨领域可召回)。" }),
|
|
10017
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("li", { children: "冷宫:候选试探失败即入冷宫,只有人工可放回候选或删除。" }),
|
|
10018
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("li", { children: "所有人工操作强制填写原因,账本 actor=human。" })
|
|
10081
10019
|
]
|
|
10082
10020
|
})
|
|
10083
10021
|
]
|
|
@@ -10087,7 +10025,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
10087
10025
|
});
|
|
10088
10026
|
}
|
|
10089
10027
|
//#endregion
|
|
10090
|
-
//#region
|
|
10028
|
+
//#region src/client/Workbench.tsx
|
|
10091
10029
|
/**
|
|
10092
10030
|
* Memory workbench takeover: covers the frame area to the right of the
|
|
10093
10031
|
* sidebar while a monitoring page is selected in the left-sidebar memory nav
|
|
@@ -10190,39 +10128,39 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
10190
10128
|
const bound = (0, react.useMemo)(() => sessionId === void 0 ? null : bindMemoryActions(props, sessionId), [sessionId]);
|
|
10191
10129
|
if (!active || info === null || bound === null) return null;
|
|
10192
10130
|
const title = MEMORY_NAV_ITEMS.find((item) => item.key === nav.page)?.label ?? info.workspaceTitle;
|
|
10193
|
-
return (0, react_jsx_runtime.jsxs)("div", {
|
|
10131
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
10194
10132
|
ref: rootRef,
|
|
10195
10133
|
className: Workbench_module_css_default.panel,
|
|
10196
10134
|
style: { left: `${String(sidebarWidth)}px` },
|
|
10197
10135
|
"data-memory-workbench": true,
|
|
10198
|
-
children: [(0, react_jsx_runtime.jsxs)("header", {
|
|
10136
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("header", {
|
|
10199
10137
|
className: Workbench_module_css_default.header,
|
|
10200
|
-
children: [(0, react_jsx_runtime.jsxs)("div", {
|
|
10138
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
10201
10139
|
className: Workbench_module_css_default.titleBlock,
|
|
10202
|
-
children: [(0, react_jsx_runtime.jsx)("span", {
|
|
10140
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
10203
10141
|
className: Workbench_module_css_default.title,
|
|
10204
10142
|
children: title
|
|
10205
|
-
}), (0, react_jsx_runtime.jsx)("span", {
|
|
10143
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
10206
10144
|
className: Workbench_module_css_default.subtitle,
|
|
10207
10145
|
children: "自进化记忆 · 生用修记 · 全局共享记忆库"
|
|
10208
10146
|
})]
|
|
10209
|
-
}), (0, react_jsx_runtime.jsx)("div", {
|
|
10147
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
10210
10148
|
className: Workbench_module_css_default.statline,
|
|
10211
10149
|
children: stats === null ? "加载中…" : `经验 ${String(stats.experiences.total)}(live ${String(stats.experiences.byStatus.live)} / 隔离 ${String(stats.experiences.byStatus.challenged)})· 画像 ${String(stats.facts.current)} · 日记 ${String(stats.diary.total)}(待提取 ${String(stats.diary.unextracted)})· 账本 ${String(stats.ledgerBlocks)} 块`
|
|
10212
10150
|
})]
|
|
10213
|
-
}), (0, react_jsx_runtime.jsxs)("main", {
|
|
10151
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("main", {
|
|
10214
10152
|
className: Workbench_module_css_default.body,
|
|
10215
10153
|
children: [
|
|
10216
|
-
nav.page === "experience" && (0, react_jsx_runtime.jsx)(ExperiencePage, {
|
|
10154
|
+
nav.page === "experience" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ExperiencePage, {
|
|
10217
10155
|
actions: bound,
|
|
10218
10156
|
onChanged: refreshStats
|
|
10219
10157
|
}),
|
|
10220
|
-
nav.page === "fact" && (0, react_jsx_runtime.jsx)(FactDiaryPage, {
|
|
10158
|
+
nav.page === "fact" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FactDiaryPage, {
|
|
10221
10159
|
actions: bound,
|
|
10222
10160
|
onChanged: refreshStats
|
|
10223
10161
|
}),
|
|
10224
|
-
nav.page === "ledger" && (0, react_jsx_runtime.jsx)(LedgerPage, { actions: bound }),
|
|
10225
|
-
nav.page === "human" && (0, react_jsx_runtime.jsx)(HumanOpsPage, {
|
|
10162
|
+
nav.page === "ledger" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LedgerPage, { actions: bound }),
|
|
10163
|
+
nav.page === "human" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(HumanOpsPage, {
|
|
10226
10164
|
actions: bound,
|
|
10227
10165
|
onChanged: refreshStats
|
|
10228
10166
|
})
|
|
@@ -10231,15 +10169,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
10231
10169
|
});
|
|
10232
10170
|
}
|
|
10233
10171
|
//#endregion
|
|
10234
|
-
//#region
|
|
10235
|
-
/**
|
|
10236
|
-
* Memory workbench plugin, browser half: mounts the generated memory Remote
|
|
10237
|
-
* contribution, then registers two entries that share one nav store — a
|
|
10238
|
-
* sidebar.sections nav group (left column, between New Session and the
|
|
10239
|
-
* workspace browser) and a shell.overlay takeover (the monitoring pages on
|
|
10240
|
-
* the right). Selecting a menu in the nav group shows the matching page;
|
|
10241
|
-
* opening a session returns to the native conversation view.
|
|
10242
|
-
*/
|
|
10172
|
+
//#region src/client/index.ts
|
|
10243
10173
|
/**
|
|
10244
10174
|
* Required services: slot seat, session list, and the Remote carrier. The
|
|
10245
10175
|
* `remote.memory` namespace is NOT an inject dependency: this plugin mounts
|
|
@@ -10310,12 +10240,12 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
10310
10240
|
ingest: async (session, request) => unwrap(await memory.ingest(session, request))
|
|
10311
10241
|
};
|
|
10312
10242
|
const navStore = createMemoryNavStore();
|
|
10313
|
-
const disposeNav = ctx.slots.inject("sidebar.
|
|
10314
|
-
name: "sidebar.
|
|
10243
|
+
const disposeNav = ctx.slots.inject("sidebar.footer.action", () => ctx.slots.register({
|
|
10244
|
+
name: "sidebar.footer.action",
|
|
10315
10245
|
id: "memory-nav",
|
|
10316
10246
|
order: 100,
|
|
10317
10247
|
store: navStore
|
|
10318
|
-
},
|
|
10248
|
+
}, MemoryFooterAction));
|
|
10319
10249
|
const disposeOverlay = ctx.slots.inject("shell.overlay", () => ctx.slots.register({
|
|
10320
10250
|
name: "shell.overlay",
|
|
10321
10251
|
id: "memory-workbench",
|