dsh-run2skill 0.5.0-alpha.2 → 0.5.0-alpha.4
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.en.md +56 -103
- package/README.md +56 -107
- package/assets/run2skill-logo.webp +0 -0
- package/lib/client.js +141 -71
- package/lib/index.d.ts +14 -0
- package/lib/index.js +179 -20
- package/locale/en.json +6 -0
- package/locale/zh.json +6 -0
- package/package.json +32 -29
package/lib/client.js
CHANGED
|
@@ -5550,16 +5550,31 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5550
5550
|
}
|
|
5551
5551
|
};
|
|
5552
5552
|
}
|
|
5553
|
-
async function createRun2skillRemoteCaller(remote) {
|
|
5553
|
+
async function createRun2skillRemoteCaller(remote, context) {
|
|
5554
|
+
const dispose = await remote.$mount(RUN2SKILL_REMOTE);
|
|
5555
|
+
let namespace;
|
|
5556
|
+
const scope = context?.inject(["remote.run2skill"], (child) => {
|
|
5557
|
+
namespace = child.get("remote.run2skill");
|
|
5558
|
+
});
|
|
5559
|
+
try {
|
|
5560
|
+
if (scope !== void 0) await scope;
|
|
5561
|
+
} catch (error) {
|
|
5562
|
+
await dispose();
|
|
5563
|
+
throw error;
|
|
5564
|
+
}
|
|
5554
5565
|
return {
|
|
5555
|
-
dispose
|
|
5566
|
+
async dispose() {
|
|
5567
|
+
await scope?.dispose();
|
|
5568
|
+
await dispose();
|
|
5569
|
+
},
|
|
5556
5570
|
async call(endpoint, payload, signal) {
|
|
5557
5571
|
const route = routeRun2skillEndpoint(endpoint);
|
|
5558
5572
|
const request = {
|
|
5559
5573
|
endpoint,
|
|
5560
5574
|
payload
|
|
5561
5575
|
};
|
|
5562
|
-
const
|
|
5576
|
+
const target = context === void 0 ? remote.run2skill : namespace;
|
|
5577
|
+
const result = route === "query" ? await target.query(request, signal) : await target.command(request, signal);
|
|
5563
5578
|
return result.ok ? result.value : carrierFailure(result.error);
|
|
5564
5579
|
}
|
|
5565
5580
|
};
|
|
@@ -5628,50 +5643,50 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5628
5643
|
}
|
|
5629
5644
|
//#endregion
|
|
5630
5645
|
//#region \0run2skill-css:run2skill-settings-page.module.css.mjs
|
|
5631
|
-
const css = ".
|
|
5646
|
+
const css = ".run2skill_page_OghXMq{width:min(100%,960px);min-width:0;color:var(--dsw-alias-label-primary);gap:14px;padding:8px 0 32px;font-size:14px;line-height:1.6;display:grid}.run2skill_muted_OghXMq{color:var(--dsw-alias-label-secondary);margin:0;font-size:13px;line-height:1.6}.run2skill_section_OghXMq{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);border-radius:12px;overflow:hidden}.run2skill_sectionHeader_OghXMq{box-sizing:border-box;height:auto;min-height:52px;padding:12px 16px}.run2skill_sectionTitle_OghXMq{font-size:14px;font-weight:600}.run2skill_sectionBody_OghXMq{gap:14px;min-width:0;padding:4px 18px 18px;display:grid;container-type:inline-size}.run2skill_sectionBody_OghXMq h3{margin:0 0 8px;font-size:14px;line-height:1.5}.run2skill_sectionBody_OghXMq p{line-height:1.6}.run2skill_publicationFeedback_OghXMq{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);border-radius:12px;gap:8px;padding:14px 16px;font-size:13px;display:grid}.run2skill_publicationFeedback_OghXMq p{margin:0}.run2skill_publicationFeedback_OghXMq>:last-child{justify-self:start}.run2skill_attentionGroup_OghXMq{gap:16px;min-width:0;display:grid}.run2skill_empty_OghXMq{min-height:56px;color:var(--dsw-alias-label-secondary);place-items:center;margin:0;font-size:13px;display:grid}.run2skill_toolbar_OghXMq,.run2skill_actions_OghXMq,.run2skill_modeGroup_OghXMq{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.run2skill_learningStatusRow_OghXMq{justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.run2skill_learningStatusRow_OghXMq>:first-child{overflow-wrap:anywhere;min-width:0}@container (width<=30rem){.run2skill_learningStatusRow_OghXMq{flex-direction:column;align-items:stretch}.run2skill_learningStatusRow_OghXMq .run2skill_actions_OghXMq{flex-direction:column;align-items:stretch;width:100%}.run2skill_learningStatusRow_OghXMq .run2skill_actions_OghXMq>*{box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;flex:none;width:100%;min-width:0;max-width:100%;height:auto;min-height:36px}}.run2skill_attentionList_OghXMq,.run2skill_proposalList_OghXMq,.run2skill_activityList_OghXMq{gap:8px;margin:0;padding:0;list-style:none;display:grid}.run2skill_activityItem_OghXMq{background:var(--dsw-alias-bg-layer-2);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.run2skill_activitySummary_OghXMq{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.run2skill_proposalToolbar_OghXMq{grid-template-columns:minmax(12rem,1fr) auto;align-items:center;gap:8px;display:grid}.run2skill_proposalToolbar_OghXMq>:first-child{width:100%}.run2skill_proposalToolbarCompact_OghXMq{justify-content:flex-end;display:flex}.run2skill_proposalToolbarCompact_OghXMq>:first-child{width:auto}.run2skill_proposalLayout_OghXMq{grid-template-columns:1fr;gap:16px;display:grid}.run2skill_proposalListButton_OghXMq{text-align:start;white-space:normal;overflow-wrap:anywhere;border-radius:8px;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:4px;width:100%;height:auto;min-height:48px;padding:12px 14px}.run2skill_proposalListButton_OghXMq[aria-current=true]{border-color:var(--dsw-alias-brand-primary);background:var(--dsw-alias-interactive-bg-active);color:var(--dsw-alias-label-primary);box-shadow:inset 2px 0 var(--dsw-alias-brand-primary)}.run2skill_proposalName_OghXMq{max-width:100%;font-size:14px;font-weight:600;line-height:20px}.run2skill_proposalMeta_OghXMq{max-width:100%;color:var(--dsw-alias-label-secondary);font-size:12px;line-height:18px}.run2skill_detail_OghXMq{border-top:1px solid var(--dsw-alias-border-l2);min-width:0;padding:16px 0 0}.run2skill_detail_OghXMq>:first-child{margin-top:0}.run2skill_detail_OghXMq h3,.run2skill_legacyDetail_OghXMq h3{overflow-wrap:anywhere;margin:0 0 16px;font-size:16px;font-weight:600;line-height:1.5}.run2skill_detail_OghXMq h4,.run2skill_legacyDetail_OghXMq h4{margin:22px 0 8px;font-size:13px;font-weight:600;line-height:1.5}.run2skill_detail_OghXMq p{margin:8px 0}.run2skill_detail_OghXMq>article{border-left:2px solid var(--dsw-alias-border-l2);margin:12px 0;padding-left:12px}.run2skill_detail_OghXMq>article strong{font-size:13px;font-weight:500}.run2skill_detailFacts_OghXMq{grid-template-columns:minmax(6rem,max-content) minmax(0,1fr);gap:8px 14px;margin:0 0 16px;display:grid}.run2skill_detailFacts_OghXMq dt{color:var(--dsw-alias-label-secondary);font-size:13px}.run2skill_detailFacts_OghXMq dd{overflow-wrap:anywhere;min-width:0;margin:0;font-size:14px}.run2skill_detail_OghXMq pre{white-space:pre-wrap;unicode-bidi:isolate;overflow:auto}.run2skill_technicalDetails_OghXMq{background:var(--dsw-alias-bg-layer-2);border-radius:8px;margin:16px 0;padding:10px 12px}.run2skill_technicalDetails_OghXMq summary{cursor:pointer;color:var(--dsw-alias-label-secondary);font-size:13px}.run2skill_technicalDetails_OghXMq[open] summary{margin-bottom:12px}.run2skill_status_OghXMq{min-height:20px;margin:0;font-size:13px}.run2skill_revisionBox_OghXMq{background:var(--dsw-alias-bg-layer-2);border-radius:10px;gap:8px;margin:18px 0;padding:14px;display:grid}.run2skill_revisionBox_OghXMq label{font-size:14px;font-weight:600}.run2skill_revisionBox_OghXMq textarea{box-sizing:border-box;resize:vertical;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);width:100%;min-height:84px;color:var(--dsw-alias-label-primary);font:inherit;border-radius:10px;padding:10px 12px;line-height:1.5}.run2skill_revisionBox_OghXMq textarea:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:2px}.run2skill_revisionBox_OghXMq textarea:disabled{cursor:not-allowed;opacity:.65}.run2skill_revisionBox_OghXMq>:last-child{justify-self:start}.run2skill_danger_OghXMq{color:var(--dsw-alias-state-error-primary)}.run2skill_backdrop_OghXMq,.run2skill_rejectOverlay_OghXMq{background:var(--dsw-alias-bg-mask-1);position:fixed;inset:0}.run2skill_backdrop_OghXMq{z-index:999}.run2skill_rejectOverlay_OghXMq{z-index:1001;place-items:center;padding:16px;display:grid}.run2skill_legacyDialog_OghXMq{z-index:1000;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);box-shadow:0 16px 48px var(--dsw-alias-bg-mask-1);border-radius:16px;grid-template-columns:minmax(16rem,24rem) minmax(0,1fr);gap:16px;padding:16px;display:grid;position:fixed;inset:5vh 5vw;overflow:hidden}.run2skill_blocked_OghXMq{pointer-events:none;display:contents}.run2skill_queue_OghXMq,.run2skill_legacyDetail_OghXMq{min-width:0;overflow:auto}.run2skill_legacyHeader_OghXMq{justify-content:space-between;align-items:center;gap:8px;display:flex}.run2skill_legacyList_OghXMq{margin:0;padding:0;list-style:none}.run2skill_rejectCard_OghXMq{background:var(--dsw-alias-bg-layer-1);border-radius:16px;max-width:32rem;padding:16px}.run2skill_textBlock_OghXMq{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);max-width:100%;font-family:var(--ds-font-family-code);white-space:pre-wrap;overflow-wrap:anywhere;unicode-bidi:isolate;border-radius:8px;padding:14px;font-size:12px;line-height:1.75;overflow:auto}.run2skill_previewFacts_OghXMq{grid-template-columns:max-content 1fr;gap:6px 12px;display:grid}.run2skill_previewFacts_OghXMq dt,.run2skill_previewFacts_OghXMq dd{margin:0}@container (width>=760px){.run2skill_proposalLayout_OghXMq{grid-template-columns:minmax(200px,.8fr) minmax(0,1.8fr);gap:20px}.run2skill_proposalLayout_OghXMq .run2skill_detail_OghXMq{border-top:0;border-left:1px solid var(--dsw-alias-border-l2);padding:0 0 0 20px}}@container (width<=420px){.run2skill_proposalToolbar_OghXMq,.run2skill_detailFacts_OghXMq{grid-template-columns:1fr}.run2skill_proposalToolbar_OghXMq>:last-child{justify-self:start}.run2skill_detailFacts_OghXMq dt:not(:first-child){margin-top:8px}}@media (width<=720px){.run2skill_sectionBody_OghXMq{padding:8px 18px 20px}.run2skill_activityItem_OghXMq{flex-direction:column;align-items:flex-start}}";
|
|
5632
5647
|
if (typeof document !== "undefined") upsertRun2skillStyle(css);
|
|
5633
5648
|
var _run2skill_css_run2skill_settings_page_module_css_default = {
|
|
5634
|
-
"
|
|
5635
|
-
"
|
|
5636
|
-
"
|
|
5637
|
-
"
|
|
5638
|
-
"
|
|
5639
|
-
"
|
|
5640
|
-
"
|
|
5641
|
-
"
|
|
5642
|
-
"
|
|
5643
|
-
"revisionBox": "
|
|
5644
|
-
"
|
|
5645
|
-
"
|
|
5646
|
-
"
|
|
5647
|
-
"
|
|
5648
|
-
"
|
|
5649
|
-
"
|
|
5650
|
-
"
|
|
5651
|
-
"
|
|
5652
|
-
"
|
|
5653
|
-
"
|
|
5654
|
-
"
|
|
5655
|
-
"
|
|
5656
|
-
"
|
|
5657
|
-
"
|
|
5658
|
-
"
|
|
5659
|
-
"
|
|
5660
|
-
"
|
|
5661
|
-
"
|
|
5662
|
-
"
|
|
5663
|
-
"
|
|
5664
|
-
"
|
|
5665
|
-
"
|
|
5666
|
-
"
|
|
5667
|
-
"
|
|
5668
|
-
"
|
|
5669
|
-
"
|
|
5670
|
-
"
|
|
5671
|
-
"
|
|
5672
|
-
"
|
|
5673
|
-
"
|
|
5674
|
-
"
|
|
5649
|
+
"publicationFeedback": "run2skill_publicationFeedback_OghXMq",
|
|
5650
|
+
"sectionHeader": "run2skill_sectionHeader_OghXMq",
|
|
5651
|
+
"muted": "run2skill_muted_OghXMq",
|
|
5652
|
+
"backdrop": "run2skill_backdrop_OghXMq",
|
|
5653
|
+
"activitySummary": "run2skill_activitySummary_OghXMq",
|
|
5654
|
+
"proposalMeta": "run2skill_proposalMeta_OghXMq",
|
|
5655
|
+
"proposalName": "run2skill_proposalName_OghXMq",
|
|
5656
|
+
"previewFacts": "run2skill_previewFacts_OghXMq",
|
|
5657
|
+
"modeGroup": "run2skill_modeGroup_OghXMq",
|
|
5658
|
+
"revisionBox": "run2skill_revisionBox_OghXMq",
|
|
5659
|
+
"actions": "run2skill_actions_OghXMq",
|
|
5660
|
+
"sectionBody": "run2skill_sectionBody_OghXMq",
|
|
5661
|
+
"legacyDetail": "run2skill_legacyDetail_OghXMq",
|
|
5662
|
+
"proposalToolbarCompact": "run2skill_proposalToolbarCompact_OghXMq",
|
|
5663
|
+
"section": "run2skill_section_OghXMq",
|
|
5664
|
+
"proposalToolbar": "run2skill_proposalToolbar_OghXMq",
|
|
5665
|
+
"activityList": "run2skill_activityList_OghXMq",
|
|
5666
|
+
"detail": "run2skill_detail_OghXMq",
|
|
5667
|
+
"activityItem": "run2skill_activityItem_OghXMq",
|
|
5668
|
+
"technicalDetails": "run2skill_technicalDetails_OghXMq",
|
|
5669
|
+
"attentionGroup": "run2skill_attentionGroup_OghXMq",
|
|
5670
|
+
"proposalListButton": "run2skill_proposalListButton_OghXMq",
|
|
5671
|
+
"status": "run2skill_status_OghXMq",
|
|
5672
|
+
"queue": "run2skill_queue_OghXMq",
|
|
5673
|
+
"proposalLayout": "run2skill_proposalLayout_OghXMq",
|
|
5674
|
+
"page": "run2skill_page_OghXMq",
|
|
5675
|
+
"rejectCard": "run2skill_rejectCard_OghXMq",
|
|
5676
|
+
"toolbar": "run2skill_toolbar_OghXMq",
|
|
5677
|
+
"danger": "run2skill_danger_OghXMq",
|
|
5678
|
+
"sectionTitle": "run2skill_sectionTitle_OghXMq",
|
|
5679
|
+
"rejectOverlay": "run2skill_rejectOverlay_OghXMq",
|
|
5680
|
+
"textBlock": "run2skill_textBlock_OghXMq",
|
|
5681
|
+
"empty": "run2skill_empty_OghXMq",
|
|
5682
|
+
"attentionList": "run2skill_attentionList_OghXMq",
|
|
5683
|
+
"proposalList": "run2skill_proposalList_OghXMq",
|
|
5684
|
+
"learningStatusRow": "run2skill_learningStatusRow_OghXMq",
|
|
5685
|
+
"detailFacts": "run2skill_detailFacts_OghXMq",
|
|
5686
|
+
"legacyDialog": "run2skill_legacyDialog_OghXMq",
|
|
5687
|
+
"legacyHeader": "run2skill_legacyHeader_OghXMq",
|
|
5688
|
+
"blocked": "run2skill_blocked_OghXMq",
|
|
5689
|
+
"legacyList": "run2skill_legacyList_OghXMq"
|
|
5675
5690
|
};
|
|
5676
5691
|
//#endregion
|
|
5677
5692
|
//#region src/client/purge-settings.ts
|
|
@@ -6178,7 +6193,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
6178
6193
|
return (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Modal, {
|
|
6179
6194
|
open: true,
|
|
6180
6195
|
title: scope === "ALL" ? "确认清理所有缓存?" : `确认清理 ${scope} Run2Skill 数据?`,
|
|
6181
|
-
description: "
|
|
6196
|
+
description: "清理 Run2Skill 的待处理草稿和中间缓存。",
|
|
6182
6197
|
closeLabel: "关闭清理确认框",
|
|
6183
6198
|
onClose: () => {
|
|
6184
6199
|
props.controller.cancelPreview();
|
|
@@ -6233,7 +6248,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
6233
6248
|
const activeReceipt = state.inProgressReceipt?.state === "IN_PROGRESS" ? state.inProgressReceipt : void 0;
|
|
6234
6249
|
const activePhase = active?.phase ?? activeReceipt?.phase ?? (activeReceipt === void 0 ? void 0 : "HIDING");
|
|
6235
6250
|
const disabled = state.previewPending || state.mutationPending || active !== void 0 || activeReceipt !== void 0;
|
|
6236
|
-
return (0, react.createElement)("section", { "aria-
|
|
6251
|
+
return (0, react.createElement)("section", { "aria-label": "缓存清理" }, (0, react.createElement)("div", { className: _run2skill_css_run2skill_settings_page_module_css_default.actions }, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
6237
6252
|
variant: "outline",
|
|
6238
6253
|
icon: (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconTrashOutlineMedium),
|
|
6239
6254
|
disabled,
|
|
@@ -6885,6 +6900,14 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
6885
6900
|
});
|
|
6886
6901
|
const receipt = parseMutationReceipt(await this.call(targetEndpoint, request, signal));
|
|
6887
6902
|
if (receipt === void 0) throw new Error("invalid mutation receipt");
|
|
6903
|
+
if (this.#disposed || signal.aborted) return;
|
|
6904
|
+
if ((action === "APPROVE" || action === "RETRY") && (receipt.workItemId !== detail.workItemId || receipt.proposalRef.proposalId !== proposalRef.proposalId || receipt.proposalRef.revision !== proposalRef.revision || receipt.proposalRef.digest !== proposalRef.digest)) throw new Error("unrelated mutation receipt");
|
|
6905
|
+
if (action === "APPROVE" || action === "RETRY") this.options.onPublicationFeedback?.({
|
|
6906
|
+
name: detail.proposal.name,
|
|
6907
|
+
persistenceScope: detail.proposal.persistenceScope,
|
|
6908
|
+
processingState: receipt.processingState,
|
|
6909
|
+
publicationOutcome: receipt.publicationOutcome
|
|
6910
|
+
});
|
|
6888
6911
|
const announcement = describeProposalOutcome(receipt) || "技能草稿状态已更新";
|
|
6889
6912
|
this.#publish({
|
|
6890
6913
|
...this.#state,
|
|
@@ -7510,7 +7533,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7510
7533
|
const revisionDiff = proposal.revisionParent === void 0 ? [] : makeExactLineDiff(proposal.revisionParent.exactSkillBytes, proposal.exactSkillBytes);
|
|
7511
7534
|
const revisionFeedbackBytes = new TextEncoder().encode(revisionFeedback.trim()).byteLength;
|
|
7512
7535
|
const revisionFeedbackValid = revisionFeedback.trim().length > 0 && revisionFeedbackBytes <= 2048;
|
|
7513
|
-
return (0, react.createElement)(react.Fragment, null, (0, react.createElement)("h3", null, coveringCandidate === void 0 ? `${describeProposalKind(proposal.kind)}:${makeSafeText(proposal.name)}` : `无需新建技能:继续使用 ${makeSafeText(coveringCandidate.name)}`), (0, react.createElement)("dl", { className: _run2skill_css_run2skill_settings_page_module_css_default.detailFacts }, coveringCandidate === void 0 ? (0, react.createElement)(react.Fragment, null, (0, react.createElement)("dt", null, "这个技能有什么用"), (0, react.createElement)("dd", null, makeSafeText(proposal.description)), (0, react.createElement)("dt", null, "什么时候会用到"), (0, react.createElement)("dd", null, makeSafeText(proposal.whenToUse)), (0, react.createElement)("dt", null, "保存后在哪里可用"), (0, react.createElement)("dd", null, describePersistenceScope(proposal.persistenceScope))) : (0, react.createElement)(react.Fragment, null, (0, react.createElement)("dt", null, "原本想保存的经验"), (0, react.createElement)("dd", null, makeSafeText(proposal.description)), (0, react.createElement)("dt", null, "适用场景"), (0, react.createElement)("dd", null, makeSafeText(proposal.whenToUse)), (0, react.createElement)("dt", null, "这次经验的范围"), (0, react.createElement)("dd", null, describeProposalScope(proposal.kind, proposal.persistenceScope))), (0, react.createElement)("dt", null, "当前进度"), (0, react.createElement)("dd", null, describeProposalOutcome(detail))), (0, react.createElement)("h4", null, coveringCandidate === void 0 ? "为什么建议保存" : "为什么无需新建"), (0, react.createElement)("p", null, makeSafeText(proposal.curationRationale)), ...detail.experiences.map((experience) => (0, react.createElement)("article", { key: experience.experienceId }, (0, react.createElement)("strong", null, `${describeExperienceType(experience.type)} · 来自明确表达`), (0, react.createElement)("p", null, makeSafeText(experience.lesson)))), (0, react.createElement)("h4", null, "参考的对话内容"),
|
|
7536
|
+
return (0, react.createElement)(react.Fragment, null, (0, react.createElement)("h3", null, coveringCandidate === void 0 ? `${describeProposalKind(proposal.kind)}:${makeSafeText(proposal.name)}` : `无需新建技能:继续使用 ${makeSafeText(coveringCandidate.name)}`), (0, react.createElement)("dl", { className: _run2skill_css_run2skill_settings_page_module_css_default.detailFacts }, coveringCandidate === void 0 ? (0, react.createElement)(react.Fragment, null, (0, react.createElement)("dt", null, "这个技能有什么用"), (0, react.createElement)("dd", null, makeSafeText(proposal.description)), (0, react.createElement)("dt", null, "什么时候会用到"), (0, react.createElement)("dd", null, makeSafeText(proposal.whenToUse)), (0, react.createElement)("dt", null, "保存后在哪里可用"), (0, react.createElement)("dd", null, describePersistenceScope(proposal.persistenceScope))) : (0, react.createElement)(react.Fragment, null, (0, react.createElement)("dt", null, "原本想保存的经验"), (0, react.createElement)("dd", null, makeSafeText(proposal.description)), (0, react.createElement)("dt", null, "适用场景"), (0, react.createElement)("dd", null, makeSafeText(proposal.whenToUse)), (0, react.createElement)("dt", null, "这次经验的范围"), (0, react.createElement)("dd", null, describeProposalScope(proposal.kind, proposal.persistenceScope))), (0, react.createElement)("dt", null, "当前进度"), (0, react.createElement)("dd", null, describeProposalOutcome(detail))), (0, react.createElement)("h4", null, coveringCandidate === void 0 ? "为什么建议保存" : "为什么无需新建"), (0, react.createElement)("p", null, makeSafeText(proposal.curationRationale)), ...detail.experiences.map((experience) => (0, react.createElement)("article", { key: experience.experienceId }, (0, react.createElement)("strong", null, `${describeExperienceType(experience.type)} · 来自明确表达`), (0, react.createElement)("p", null, makeSafeText(experience.lesson)))), (0, react.createElement)("h4", null, "参考的对话内容"), ...detail.evidenceRefs.map((evidence, index) => (0, react.createElement)("article", { key: `${String(evidence.messageSeq)}:${evidence.excerptDigest}` }, (0, react.createElement)("strong", null, `对话片段 ${String(index + 1)}${evidence.truncated ? "(内容较长,已节选)" : ""}`), (0, react.createElement)(ProposalTextView, {
|
|
7514
7537
|
value: evidence.excerpt,
|
|
7515
7538
|
mode: "SAFE",
|
|
7516
7539
|
label: `参考的对话内容 ${String(index + 1)}`
|
|
@@ -7534,7 +7557,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7534
7557
|
onClick: () => {
|
|
7535
7558
|
props.setTextMode("RAW");
|
|
7536
7559
|
}
|
|
7537
|
-
}, "按原文显示")), (0, react.createElement)("h4", null, coveringCandidate === void 0 ? "确认要保存的技能说明" : "用于判断的草稿内容"), (0, react.createElement)(
|
|
7560
|
+
}, "按原文显示")), (0, react.createElement)("h4", null, coveringCandidate === void 0 ? "确认要保存的技能说明" : "用于判断的草稿内容"), (0, react.createElement)(ProposalTextView, {
|
|
7538
7561
|
value: proposal.exactSkillBytes,
|
|
7539
7562
|
mode: props.textMode,
|
|
7540
7563
|
label: coveringCandidate === void 0 ? "确认要保存的技能说明" : "用于判断的草稿内容"
|
|
@@ -7548,7 +7571,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7548
7571
|
}, (0, react.createElement)("label", { htmlFor: `run2skill-revision-${proposal.proposalId}` }, "想怎么修改?"), (0, react.createElement)("p", {
|
|
7549
7572
|
id: `run2skill-revision-help-${proposal.proposalId}`,
|
|
7550
7573
|
className: _run2skill_css_run2skill_settings_page_module_css_default.muted
|
|
7551
|
-
}, "
|
|
7574
|
+
}, "根据意见生成新版草稿,审核后保存。"), (0, react.createElement)("textarea", {
|
|
7552
7575
|
id: `run2skill-revision-${proposal.proposalId}`,
|
|
7553
7576
|
value: revisionFeedback,
|
|
7554
7577
|
rows: 3,
|
|
@@ -7605,7 +7628,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7605
7628
|
}, "放弃草稿"))));
|
|
7606
7629
|
}
|
|
7607
7630
|
function RejectConfirmationBody(props) {
|
|
7608
|
-
return (0, react.createElement)(react.Fragment, null, (0, react.createElement)("h3", { id: "run2skill-reject-title" }, "确认放弃这份技能草稿?"), (0, react.createElement)("p", { id: "run2skill-reject-description" }, "
|
|
7631
|
+
return (0, react.createElement)(react.Fragment, null, (0, react.createElement)("h3", { id: "run2skill-reject-title" }, "确认放弃这份技能草稿?"), (0, react.createElement)("p", { id: "run2skill-reject-description" }, "移除这份待处理草稿,保留已有 Skill 和学习材料。"), (0, react.createElement)("button", {
|
|
7609
7632
|
type: "button",
|
|
7610
7633
|
"data-initial-focus": true,
|
|
7611
7634
|
disabled: props.disabled,
|
|
@@ -7921,7 +7944,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7921
7944
|
props.workspaceId,
|
|
7922
7945
|
scopeIdentity
|
|
7923
7946
|
]);
|
|
7924
|
-
return (0, react.createElement)("div", { className: _run2skill_css_run2skill_settings_page_module_css_default.sectionBody },
|
|
7947
|
+
return (0, react.createElement)("div", { className: _run2skill_css_run2skill_settings_page_module_css_default.sectionBody }, visibleState.phase === "LOADING" ? (0, react.createElement)("p", { role: "status" }, "正在读取最近活动…") : null, visibleState.phase === "ERROR" ? (0, react.createElement)("p", { role: "alert" }, "最近活动暂不可用。") : null, visibleState.phase === "READY" && visibleState.items.length === 0 ? (0, react.createElement)("p", null, "最近 7 天没有成功沉淀的 Skill。") : null, visibleState.items.length === 0 ? null : (0, react.createElement)("ul", { className: _run2skill_css_run2skill_settings_page_module_css_default.activityList }, ...visibleState.items.map((item) => (0, react.createElement)("li", {
|
|
7925
7948
|
className: _run2skill_css_run2skill_settings_page_module_css_default.activityItem,
|
|
7926
7949
|
key: item.activityId
|
|
7927
7950
|
}, (0, react.createElement)("div", { className: _run2skill_css_run2skill_settings_page_module_css_default.activitySummary }, (0, react.createElement)("strong", null, item.skillName), (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Pill, null, item.operation === "CREATED" ? "新建技能" : "更新技能"), usefulActivityScope(visibleState.items, item) ? (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Pill, null, describePersistenceScope(item.scope)) : null), (0, react.createElement)("time", {
|
|
@@ -8003,6 +8026,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8003
8026
|
GENERATION: "Skill 草稿生成"
|
|
8004
8027
|
};
|
|
8005
8028
|
function learningIssueDescription(item) {
|
|
8029
|
+
if (item.failureCode === "CATALOG_SCAN_TEMPORARY_FAILED") return {
|
|
8030
|
+
title: "已有 Skill 检索暂时失败",
|
|
8031
|
+
detail: item.retryable ? "模型服务暂时不可用。已完成的检测和检索结果已保留,可手动重试检索一次。" : "本次检索已停止。已完成的检测和失败信息已保留。"
|
|
8032
|
+
};
|
|
8006
8033
|
if (item.failureCode === "BASELINE_INCOMPLETE") return {
|
|
8007
8034
|
title: "自动沉淀已停止",
|
|
8008
8035
|
detail: "缺少任务开始前的 Skill 状态记录,无法确认 Agent 是否已经保存过同类 Skill。为避免重复生成,本次已停止。已有 Skill 和原始会话记录不受影响。"
|
|
@@ -8127,7 +8154,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8127
8154
|
return (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Toast, {
|
|
8128
8155
|
key: toast.sequence,
|
|
8129
8156
|
icon: (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconWarningOutlineMedium),
|
|
8130
|
-
text: `Run2Skill 有 ${String(toast.count)}
|
|
8157
|
+
text: `Run2Skill 有 ${String(toast.count)} 项需要处理,请前往左侧栏 → 插件 → Run2Skill`,
|
|
8131
8158
|
onDone: () => {
|
|
8132
8159
|
setToast(void 0);
|
|
8133
8160
|
}
|
|
@@ -8136,14 +8163,14 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8136
8163
|
function AutomaticLearningSection(props) {
|
|
8137
8164
|
const state = (0, react.useSyncExternalStore)(props.controller.subscribe, props.controller.getSnapshot, props.controller.getSnapshot);
|
|
8138
8165
|
const disabled = state.status !== "ready" || !state.writable || state.saving;
|
|
8139
|
-
return (0, react.createElement)("div", { className: _run2skill_css_run2skill_settings_page_module_css_default.sectionBody }, (0, react.createElement)("p", { className: _run2skill_css_run2skill_settings_page_module_css_default.muted }, "
|
|
8166
|
+
return (0, react.createElement)("div", { className: _run2skill_css_run2skill_settings_page_module_css_default.sectionBody }, (0, react.createElement)("p", { className: _run2skill_css_run2skill_settings_page_module_css_default.muted }, "自动生成技能草稿;关闭后可手动请求保存。"), (0, react.createElement)("div", { className: _run2skill_css_run2skill_settings_page_module_css_default.actions }, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
8140
8167
|
variant: state.automaticLearning ? "primary" : "outline",
|
|
8141
8168
|
"aria-pressed": state.automaticLearning === true,
|
|
8142
8169
|
disabled,
|
|
8143
8170
|
onClick: () => {
|
|
8144
8171
|
props.controller.setAutomaticLearning(state.automaticLearning !== true);
|
|
8145
8172
|
}
|
|
8146
|
-
}, state.saving ? "正在保存…" : state.automaticLearning ? "自动学习已开启" : "自动学习已关闭")
|
|
8173
|
+
}, state.saving ? "正在保存…" : state.automaticLearning ? "自动学习已开启" : "自动学习已关闭")), state.error === void 0 ? null : (0, react.createElement)("p", {
|
|
8147
8174
|
role: "status",
|
|
8148
8175
|
className: _run2skill_css_run2skill_settings_page_module_css_default.danger
|
|
8149
8176
|
}, "设置已变化,请刷新后重试。"));
|
|
@@ -8168,7 +8195,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8168
8195
|
};
|
|
8169
8196
|
const controller = (0, react.useMemo)(() => new ProposalInboxController(props.workspaceId ?? "__run2skill_user_only__", props.callReview, void 0, {
|
|
8170
8197
|
attentionDriven: true,
|
|
8171
|
-
scopeAccess: () => scopeAccessRef.current
|
|
8198
|
+
scopeAccess: () => scopeAccessRef.current,
|
|
8199
|
+
onPublicationFeedback: props.onPublicationFeedback
|
|
8172
8200
|
}), [
|
|
8173
8201
|
props.callReview,
|
|
8174
8202
|
props.scopeGeneration,
|
|
@@ -8381,7 +8409,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8381
8409
|
const description = isCoverageConfirmation ? {
|
|
8382
8410
|
title: "发现可能重复的 Skill",
|
|
8383
8411
|
detail: "Run2Skill 发现已有 Skill 可能已经包含这次经验,因此暂停生成新草稿。请选择下一步。"
|
|
8384
|
-
} : learningIssueDescription(
|
|
8412
|
+
} : learningIssueDescription({
|
|
8413
|
+
...item,
|
|
8414
|
+
retryable: item.retryable && action?.availableActions?.includes("RETRY") === true
|
|
8415
|
+
});
|
|
8385
8416
|
return (0, react.createElement)("article", {
|
|
8386
8417
|
className: _run2skill_css_run2skill_settings_page_module_css_default.detail,
|
|
8387
8418
|
key: item.workItemId
|
|
@@ -8391,7 +8422,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8391
8422
|
onClick: () => {
|
|
8392
8423
|
mutate("learning/issues/retry", item);
|
|
8393
8424
|
}
|
|
8394
|
-
}, busy ? "正在处理…" : isCoverageConfirmation ? "继续生成新 Skill 草稿" : "重试学习") : null, action?.availableActions?.includes("DISMISS") === true ? (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
8425
|
+
}, busy ? "正在处理…" : isCoverageConfirmation ? "继续生成新 Skill 草稿" : item.failureCode === "CATALOG_SCAN_TEMPORARY_FAILED" ? "重试检索一次" : "重试学习") : null, action?.availableActions?.includes("DISMISS") === true ? (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
8395
8426
|
variant: "outline",
|
|
8396
8427
|
disabled: busy || pending !== void 0,
|
|
8397
8428
|
onClick: (event) => {
|
|
@@ -8402,7 +8433,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8402
8433
|
}), (0, react.createElement)(ManagedConfirmationModal, {
|
|
8403
8434
|
open: dismiss !== void 0,
|
|
8404
8435
|
title: dismiss?.failureCode === "COVERED_NEEDS_CONFIRMATION" ? "使用已有 Skill,不生成新草稿?" : "确认关闭此待处理事项?",
|
|
8405
|
-
description: dismiss?.failureCode === "COVERED_NEEDS_CONFIRMATION" ? "
|
|
8436
|
+
description: dismiss?.failureCode === "COVERED_NEEDS_CONFIRMATION" ? "移除此待处理项,继续使用已有 Skill。" : "结束本次整理,保留已有 Skill 和会话记录。",
|
|
8406
8437
|
disabled: pending !== void 0,
|
|
8407
8438
|
triggerRef: dismissTriggerRef,
|
|
8408
8439
|
onClose: () => {
|
|
@@ -8420,7 +8451,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8420
8451
|
return (0, react.createElement)(ManagedConfirmationModal, {
|
|
8421
8452
|
...props,
|
|
8422
8453
|
title: "确认放弃这份技能草稿?",
|
|
8423
|
-
description: "
|
|
8454
|
+
description: "移除这份待处理草稿,保留已有 Skill。",
|
|
8424
8455
|
confirmLabel: "确认放弃"
|
|
8425
8456
|
});
|
|
8426
8457
|
}
|
|
@@ -8592,7 +8623,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8592
8623
|
}, warning.message ?? "存在尚未持久化的学习信号。"))));
|
|
8593
8624
|
}
|
|
8594
8625
|
function Run2skillSettingsPage(props) {
|
|
8595
|
-
const liveSessionId = props.useSessions?.(
|
|
8626
|
+
const liveSessionId = props.useSessions?.(selectedSessionId);
|
|
8596
8627
|
const liveWorkspaceId = props.useWorkspaces?.((state) => state.items.find((workspace) => workspace.sessionIds?.includes(liveSessionId ?? ""))?.workspaceId);
|
|
8597
8628
|
const workspaceId = props.useSessions === void 0 ? props.workspaceId : liveWorkspaceId;
|
|
8598
8629
|
const sessionId = props.useSessions === void 0 ? props.sessionId : liveSessionId;
|
|
@@ -8601,8 +8632,27 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8601
8632
|
const [attention, setAttention] = (0, react.useState)();
|
|
8602
8633
|
const [attentionRefresh, setAttentionRefresh] = (0, react.useState)(0);
|
|
8603
8634
|
const [scopeGeneration, setScopeGeneration] = (0, react.useState)(1);
|
|
8635
|
+
const [publicationFeedback, setPublicationFeedback] = (0, react.useState)();
|
|
8604
8636
|
const purgeState = (0, react.useSyncExternalStore)(props.purgeController.subscribe, props.purgeController.snapshot, props.purgeController.snapshot);
|
|
8605
8637
|
const purgeDataChanging = purgeState.mutationPending || purgeState.status?.state === "IN_PROGRESS" || purgeState.inProgressReceipt?.state === "IN_PROGRESS";
|
|
8638
|
+
const feedbackScopeIdentity = JSON.stringify([
|
|
8639
|
+
sessionId,
|
|
8640
|
+
workspaceId,
|
|
8641
|
+
scopeGeneration,
|
|
8642
|
+
purgeState.hostDataEpoch,
|
|
8643
|
+
purgeDataChanging
|
|
8644
|
+
]);
|
|
8645
|
+
const feedbackScopeRef = (0, react.useRef)(feedbackScopeIdentity);
|
|
8646
|
+
feedbackScopeRef.current = feedbackScopeIdentity;
|
|
8647
|
+
const visibleFeedback = publicationFeedback?.scopeIdentity === feedbackScopeIdentity ? publicationFeedback.value : void 0;
|
|
8648
|
+
(0, react.useEffect)(() => {
|
|
8649
|
+
setPublicationFeedback(void 0);
|
|
8650
|
+
}, [
|
|
8651
|
+
sessionId,
|
|
8652
|
+
workspaceId,
|
|
8653
|
+
purgeState.hostDataEpoch,
|
|
8654
|
+
purgeDataChanging
|
|
8655
|
+
]);
|
|
8606
8656
|
(0, react.useEffect)(() => {
|
|
8607
8657
|
setAttention(void 0);
|
|
8608
8658
|
setScopeGeneration((value) => value + 1);
|
|
@@ -8633,7 +8683,17 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8633
8683
|
ref: hostTab.ref,
|
|
8634
8684
|
className: _run2skill_css_run2skill_settings_page_module_css_default.page,
|
|
8635
8685
|
"data-run2skill-settings-page": true
|
|
8636
|
-
},
|
|
8686
|
+
}, visibleFeedback === void 0 ? null : (0, react.createElement)("div", { className: _run2skill_css_run2skill_settings_page_module_css_default.publicationFeedback }, (0, react.createElement)("p", {
|
|
8687
|
+
role: "status",
|
|
8688
|
+
"aria-live": "polite",
|
|
8689
|
+
"aria-atomic": true
|
|
8690
|
+
}, visibleFeedback.publicationOutcome === "PUBLISHED" ? `已保存「${visibleFeedback.name}」· ${describePersistenceScope(visibleFeedback.persistenceScope)}` : describeProposalOutcome(visibleFeedback)), visibleFeedback.publicationOutcome === "PUBLISHED" ? (0, react.createElement)(react.Fragment, null, (0, react.createElement)("p", null, "下次相关任务时,Agent 可加载此 Skill。"), (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
8691
|
+
variant: "outline",
|
|
8692
|
+
size: "sm",
|
|
8693
|
+
onClick: () => {
|
|
8694
|
+
setOpen((previous) => /* @__PURE__ */ new Set([...previous, "activity"]));
|
|
8695
|
+
}
|
|
8696
|
+
}, "查看最近活动")) : null), props.callLearningStatus === void 0 ? null : disclosure("status", "整理状态", (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconSparkleMedium), (0, react.createElement)(LearningStatusSection, {
|
|
8637
8697
|
key: JSON.stringify([
|
|
8638
8698
|
sessionId ?? null,
|
|
8639
8699
|
workspaceId ?? null,
|
|
@@ -8657,13 +8717,20 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8657
8717
|
"REFRESH_PROPOSAL",
|
|
8658
8718
|
"RETRY_PUBLICATION"
|
|
8659
8719
|
].includes(action.kind ?? "")) === true ? (0, react.createElement)(ProposalSettingsSection, {
|
|
8720
|
+
key: feedbackScopeIdentity,
|
|
8660
8721
|
...workspaceId === void 0 ? {} : { workspaceId },
|
|
8661
8722
|
callReview: props.callReview,
|
|
8662
|
-
active: hostTab.visible && open.has("attention"),
|
|
8723
|
+
active: hostTab.visible && open.has("attention") && !purgeDataChanging,
|
|
8663
8724
|
actions: attention.actions,
|
|
8664
8725
|
onMutationSettled: () => {
|
|
8665
8726
|
setAttentionRefresh((value) => value + 1);
|
|
8666
8727
|
},
|
|
8728
|
+
onPublicationFeedback: (value) => {
|
|
8729
|
+
if (feedbackScopeRef.current === feedbackScopeIdentity && !purgeDataChanging) setPublicationFeedback({
|
|
8730
|
+
scopeIdentity: feedbackScopeIdentity,
|
|
8731
|
+
value
|
|
8732
|
+
});
|
|
8733
|
+
},
|
|
8667
8734
|
scopeGeneration
|
|
8668
8735
|
}) : null, (0, react.createElement)(LearningFailureSection, {
|
|
8669
8736
|
...workspaceId === void 0 ? {} : { workspaceId },
|
|
@@ -8694,15 +8761,20 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8694
8761
|
}
|
|
8695
8762
|
}))));
|
|
8696
8763
|
}
|
|
8764
|
+
function selectedSessionId(state) {
|
|
8765
|
+
const selected = Object.values(state.byId).filter((session) => (session.retainedBy.mainView ?? 0) > 0);
|
|
8766
|
+
return selected.length === 1 ? selected[0].id : void 0;
|
|
8767
|
+
}
|
|
8697
8768
|
function currentSessionId(context) {
|
|
8698
|
-
|
|
8769
|
+
const snapshot = context.sessions?.list.getSnapshot();
|
|
8770
|
+
return snapshot === void 0 ? void 0 : selectedSessionId(snapshot);
|
|
8699
8771
|
}
|
|
8700
8772
|
function workspaceFor(context, sessionId) {
|
|
8701
8773
|
if (sessionId === void 0) return void 0;
|
|
8702
8774
|
return context.workspaces.list.getSnapshot().items.find((workspace) => workspace.sessionIds?.includes(sessionId))?.workspaceId;
|
|
8703
8775
|
}
|
|
8704
8776
|
async function applyRun2skillClient(context) {
|
|
8705
|
-
const mounted = await createRun2skillRemoteCaller(context.remote);
|
|
8777
|
+
const mounted = await createRun2skillRemoteCaller(context.remote, context);
|
|
8706
8778
|
const controller = new AutomaticLearningSettingsController(context.configForms.get("run2skill"));
|
|
8707
8779
|
const callReview = mounted.call;
|
|
8708
8780
|
const callAttention = async (payload, signal) => await mounted.call("attention", payload, signal);
|
|
@@ -8717,12 +8789,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
8717
8789
|
purgeController.dispose();
|
|
8718
8790
|
disposeStyle();
|
|
8719
8791
|
};
|
|
8720
|
-
}, "run2skill: native
|
|
8721
|
-
context.slots.inject("
|
|
8722
|
-
name: "
|
|
8723
|
-
|
|
8724
|
-
order: 20,
|
|
8725
|
-
label: "Run2Skill",
|
|
8792
|
+
}, "run2skill: native plugin detail surface");
|
|
8793
|
+
context.slots.inject("plugins.bundle.config", () => context.slots.register({
|
|
8794
|
+
name: "plugins.bundle.config",
|
|
8795
|
+
key: "dsh-run2skill",
|
|
8726
8796
|
inject: () => ({
|
|
8727
8797
|
controller,
|
|
8728
8798
|
purgeController,
|
package/lib/index.d.ts
CHANGED
|
@@ -1950,6 +1950,13 @@ declare const ExperienceIntentV2Schema: z.ZodObject<{
|
|
|
1950
1950
|
recordedAt: z.ZodString;
|
|
1951
1951
|
receiptDigest: z.ZodString;
|
|
1952
1952
|
}, z.core.$strict>>;
|
|
1953
|
+
catalogRetry: z.ZodOptional<z.ZodObject<{
|
|
1954
|
+
authorizationRevision: z.ZodNumber;
|
|
1955
|
+
failedCallId: z.ZodString;
|
|
1956
|
+
actionIdentity: z.ZodString;
|
|
1957
|
+
scopeDigest: z.ZodString;
|
|
1958
|
+
recordedAt: z.ZodString;
|
|
1959
|
+
}, z.core.$strict>>;
|
|
1953
1960
|
stageCalls: z.ZodArray<z.ZodObject<{
|
|
1954
1961
|
stage: z.ZodEnum<{
|
|
1955
1962
|
CATALOG_SCAN: "CATALOG_SCAN";
|
|
@@ -3970,6 +3977,13 @@ declare const run2skillV2DomainSpec: {
|
|
|
3970
3977
|
recordedAt: import("zod").ZodString;
|
|
3971
3978
|
receiptDigest: import("zod").ZodString;
|
|
3972
3979
|
}, import("zod/v4/core").$strict>>;
|
|
3980
|
+
catalogRetry: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
3981
|
+
authorizationRevision: import("zod").ZodNumber;
|
|
3982
|
+
failedCallId: import("zod").ZodString;
|
|
3983
|
+
actionIdentity: import("zod").ZodString;
|
|
3984
|
+
scopeDigest: import("zod").ZodString;
|
|
3985
|
+
recordedAt: import("zod").ZodString;
|
|
3986
|
+
}, import("zod/v4/core").$strict>>;
|
|
3973
3987
|
stageCalls: import("zod").ZodArray<import("zod").ZodObject<{
|
|
3974
3988
|
stage: import("zod").ZodEnum<{
|
|
3975
3989
|
CATALOG_SCAN: "CATALOG_SCAN";
|