@runfusion/fusion 0.14.1 → 0.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin.js +195 -99
- package/dist/client/assets/{AgentDetailView-B3KAsP2O.js → AgentDetailView-C2Iik3Qf.js} +1 -1
- package/dist/client/assets/{AgentsView-DoXb_amw.js → AgentsView-DkX0tzrN.js} +3 -3
- package/dist/client/assets/ChatView-CEm2Hw6m.js +1 -0
- package/dist/client/assets/{DevServerView-DbgM4tlT.js → DevServerView-Bumvo_ge.js} +1 -1
- package/dist/client/assets/{DirectoryPicker-DfmtfMiu.js → DirectoryPicker-CXN11cBp.js} +1 -1
- package/dist/client/assets/{DocumentsView-_-Efkx_W.js → DocumentsView-B71IqAxA.js} +1 -1
- package/dist/client/assets/{InsightsView-DUjcfW53.js → InsightsView-Bs4Rldu6.js} +1 -1
- package/dist/client/assets/{MemoryView-DxMPBb0q.js → MemoryView-Bs7b_L2Q.js} +1 -1
- package/dist/client/assets/{NodesView-BEBTI15s.js → NodesView-BvAGTXbO.js} +1 -1
- package/dist/client/assets/{PiExtensionsManager-BpMYhHH_.js → PiExtensionsManager-3Kcc4uhA.js} +2 -2
- package/dist/client/assets/{PluginManager-CPv7yQd3.js → PluginManager-Ch-Xynlm.js} +1 -1
- package/dist/client/assets/{ResearchView-BrFvdyXT.js → ResearchView-Bj6Saqf6.js} +1 -1
- package/dist/client/assets/{RoadmapsView-BDjLrtcj.js → RoadmapsView-9qT8Vwd0.js} +1 -1
- package/dist/client/assets/{SettingsModal-CxDxiTRy.js → SettingsModal-D4ERGQNQ.js} +1 -1
- package/dist/client/assets/SettingsModal-Zo5qDGOq.js +31 -0
- package/dist/client/assets/{SetupWizardModal-DFUA4X3z.js → SetupWizardModal-Dv0rX2_o.js} +1 -1
- package/dist/client/assets/{SkillMultiselect-BUWe5ujb.js → SkillMultiselect-CSkXQzdv.js} +1 -1
- package/dist/client/assets/{SkillsView-RAkqGX3y.js → SkillsView-2srXMOzj.js} +1 -1
- package/dist/client/assets/{TodoView-Ceb0wrg1.js → TodoView-CxPPIvw2.js} +1 -1
- package/dist/client/assets/{folder-open-DcM-Vd6r.js → folder-open-FA1PwpXV.js} +1 -1
- package/dist/client/assets/{index-DH3aprf6.js → index-CEavim6l.js} +150 -149
- package/dist/client/assets/index-D1gTSlYB.css +1 -0
- package/dist/client/assets/{list-checks-ByGHVQpZ.js → list-checks-6EktkUso.js} +1 -1
- package/dist/client/assets/{star-DlEYI8GL.js → star-B6Th07jw.js} +1 -1
- package/dist/client/assets/{upload-DKshabz-.js → upload-BJwuErhV.js} +1 -1
- package/dist/client/assets/{users-X6tYPPBV.js → users-BrnPTF8H.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/client/version.json +1 -1
- package/dist/extension.js +191 -95
- package/dist/pi-claude-cli/package.json +1 -1
- package/dist/pi-claude-cli/src/__tests__/event-bridge.test.ts +107 -0
- package/dist/pi-claude-cli/src/event-bridge.ts +48 -4
- package/package.json +1 -1
- package/skill/fusion/references/engine-tools.md +0 -1
- package/dist/client/assets/ChatView-BJ2c7wvd.js +0 -1
- package/dist/client/assets/SettingsModal-Cd-QGB0C.js +0 -31
- package/dist/client/assets/index-C1prPuSl.css +0 -1
package/dist/bin.js
CHANGED
|
@@ -37493,6 +37493,60 @@ var init_plugin_loader = __esm({
|
|
|
37493
37493
|
}
|
|
37494
37494
|
return runtimes2;
|
|
37495
37495
|
}
|
|
37496
|
+
/**
|
|
37497
|
+
* Get all skill contributions from loaded plugins.
|
|
37498
|
+
*/
|
|
37499
|
+
getPluginSkills() {
|
|
37500
|
+
const skills = [];
|
|
37501
|
+
for (const [pluginId, plugin4] of this.plugins) {
|
|
37502
|
+
if (plugin4.skills) {
|
|
37503
|
+
for (const skill of plugin4.skills) {
|
|
37504
|
+
skills.push({ pluginId, skill });
|
|
37505
|
+
}
|
|
37506
|
+
}
|
|
37507
|
+
}
|
|
37508
|
+
return skills;
|
|
37509
|
+
}
|
|
37510
|
+
/**
|
|
37511
|
+
* Get all workflow step contributions from loaded plugins.
|
|
37512
|
+
*/
|
|
37513
|
+
getPluginWorkflowSteps() {
|
|
37514
|
+
const steps = [];
|
|
37515
|
+
for (const [pluginId, plugin4] of this.plugins) {
|
|
37516
|
+
if (plugin4.workflowSteps) {
|
|
37517
|
+
for (const step of plugin4.workflowSteps) {
|
|
37518
|
+
steps.push({ pluginId, step });
|
|
37519
|
+
}
|
|
37520
|
+
}
|
|
37521
|
+
}
|
|
37522
|
+
return steps;
|
|
37523
|
+
}
|
|
37524
|
+
/**
|
|
37525
|
+
* Get all prompt contributions from loaded plugins.
|
|
37526
|
+
*/
|
|
37527
|
+
getPluginPromptContributions() {
|
|
37528
|
+
const contributions = [];
|
|
37529
|
+
for (const [pluginId, plugin4] of this.plugins) {
|
|
37530
|
+
if (plugin4.promptContributions) {
|
|
37531
|
+
for (const contribution of plugin4.promptContributions.contributions) {
|
|
37532
|
+
contributions.push({ pluginId, contribution, config: plugin4.promptContributions });
|
|
37533
|
+
}
|
|
37534
|
+
}
|
|
37535
|
+
}
|
|
37536
|
+
return contributions;
|
|
37537
|
+
}
|
|
37538
|
+
/**
|
|
37539
|
+
* Get all setup metadata and hooks from loaded plugins.
|
|
37540
|
+
*/
|
|
37541
|
+
getPluginSetupInfo() {
|
|
37542
|
+
const setups = [];
|
|
37543
|
+
for (const [pluginId, plugin4] of this.plugins) {
|
|
37544
|
+
if (plugin4.setup) {
|
|
37545
|
+
setups.push({ pluginId, manifest: plugin4.setup.manifest, hooks: plugin4.setup.hooks });
|
|
37546
|
+
}
|
|
37547
|
+
}
|
|
37548
|
+
return setups;
|
|
37549
|
+
}
|
|
37496
37550
|
/**
|
|
37497
37551
|
* Get all loaded plugin instances.
|
|
37498
37552
|
*/
|
|
@@ -56178,65 +56232,6 @@ ${lines.join("\n")}`
|
|
|
56178
56232
|
}
|
|
56179
56233
|
};
|
|
56180
56234
|
}
|
|
56181
|
-
function createIdentityTool({ agent, resolvedInstructions }) {
|
|
56182
|
-
const identityParams = Type.Object({});
|
|
56183
|
-
return {
|
|
56184
|
-
name: "fn_identity",
|
|
56185
|
-
label: "Identity Check",
|
|
56186
|
-
description: "Return a structured summary of which soul, instructions, and memory are loaded for this heartbeat tick. Call this FIRST before any other tool.",
|
|
56187
|
-
parameters: identityParams,
|
|
56188
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
56189
|
-
execute: async (_id, _params, _signal, _onUpdate, _ctx) => {
|
|
56190
|
-
const PREVIEW_CHARS = 500;
|
|
56191
|
-
const INSTRUCTIONS_PREVIEW_CHARS = 1e3;
|
|
56192
|
-
const MEMORY_PREVIEW_CHARS = 1e3;
|
|
56193
|
-
const soulPresent = typeof agent.soul === "string" && agent.soul.trim().length > 0;
|
|
56194
|
-
const instructionsPresent = resolvedInstructions.trim().length > 0;
|
|
56195
|
-
const memoryPresent = typeof agent.memory === "string" && agent.memory.trim().length > 0;
|
|
56196
|
-
const soulPreview = soulPresent ? agent.soul.slice(0, PREVIEW_CHARS) : "";
|
|
56197
|
-
const instructionsPreview = instructionsPresent ? resolvedInstructions.slice(0, INSTRUCTIONS_PREVIEW_CHARS) : "";
|
|
56198
|
-
const memoryPreview = memoryPresent ? agent.memory.slice(0, MEMORY_PREVIEW_CHARS) : "";
|
|
56199
|
-
const result = {
|
|
56200
|
-
agentId: agent.id,
|
|
56201
|
-
name: agent.name,
|
|
56202
|
-
role: agent.role,
|
|
56203
|
-
soulPresent,
|
|
56204
|
-
instructionsPresent,
|
|
56205
|
-
memoryPresent,
|
|
56206
|
-
soulPreview,
|
|
56207
|
-
instructionsPreview,
|
|
56208
|
-
memoryPreview
|
|
56209
|
-
};
|
|
56210
|
-
const lines = [
|
|
56211
|
-
`agentId: ${result.agentId}`,
|
|
56212
|
-
`name: ${result.name}`,
|
|
56213
|
-
`role: ${result.role}`,
|
|
56214
|
-
`soul: ${result.soulPresent ? "loaded" : "absent"}`,
|
|
56215
|
-
`instructions: ${result.instructionsPresent ? "loaded" : "absent"}`,
|
|
56216
|
-
`memory: ${result.memoryPresent ? "loaded" : "absent"}`
|
|
56217
|
-
];
|
|
56218
|
-
if (result.soulPresent && result.soulPreview) {
|
|
56219
|
-
lines.push(`
|
|
56220
|
-
Soul preview (first ${PREVIEW_CHARS} chars):
|
|
56221
|
-
${result.soulPreview}`);
|
|
56222
|
-
}
|
|
56223
|
-
if (result.instructionsPresent && result.instructionsPreview) {
|
|
56224
|
-
lines.push(`
|
|
56225
|
-
Instructions preview (first ${INSTRUCTIONS_PREVIEW_CHARS} chars):
|
|
56226
|
-
${result.instructionsPreview}`);
|
|
56227
|
-
}
|
|
56228
|
-
if (result.memoryPresent && result.memoryPreview) {
|
|
56229
|
-
lines.push(`
|
|
56230
|
-
Memory preview (first ${MEMORY_PREVIEW_CHARS} chars):
|
|
56231
|
-
${result.memoryPreview}`);
|
|
56232
|
-
}
|
|
56233
|
-
return {
|
|
56234
|
-
content: [{ type: "text", text: lines.join("\n") }],
|
|
56235
|
-
details: result
|
|
56236
|
-
};
|
|
56237
|
-
}
|
|
56238
|
-
};
|
|
56239
|
-
}
|
|
56240
56235
|
var taskCreateParams, taskLogParams, taskDocumentWriteParams, taskDocumentReadParams, reflectOnPerformanceParams, listAgentsParams, delegateTaskParams, sendMessageParams, readMessagesParams, memorySearchParams, memoryGetParams, researchRunParams, researchListParams, researchGetParams, researchCancelParams, memoryAppendParams, log10, AGENT_MEMORY_ROOT2, AGENT_MEMORY_FILENAME2, AGENT_DREAMS_FILENAME2, agentQmdRefreshState, AGENT_QMD_REFRESH_INTERVAL_MS, DAILY_AGENT_MEMORY_RE2;
|
|
56241
56236
|
var init_agent_tools = __esm({
|
|
56242
56237
|
"../engine/src/agent-tools.ts"() {
|
|
@@ -72742,6 +72737,7 @@ Rules:
|
|
|
72742
72737
|
|
|
72743
72738
|
// ../engine/src/agent-heartbeat.ts
|
|
72744
72739
|
import { Type as Type6 } from "@mariozechner/pi-ai";
|
|
72740
|
+
import { createHash as createHash5 } from "node:crypto";
|
|
72745
72741
|
function isBlockedStateDuplicate(current, previous) {
|
|
72746
72742
|
return current.blockedBy === previous.blockedBy && current.contextHash === previous.contextHash;
|
|
72747
72743
|
}
|
|
@@ -72751,39 +72747,30 @@ function truncatePrompt(text, maxChars) {
|
|
|
72751
72747
|
|
|
72752
72748
|
... (truncated, ${text.length} chars)`;
|
|
72753
72749
|
}
|
|
72750
|
+
function shortContentHash(value) {
|
|
72751
|
+
return createHash5("sha256").update(value).digest("hex").slice(0, 8);
|
|
72752
|
+
}
|
|
72754
72753
|
function buildIdentitySnapshot(args) {
|
|
72755
72754
|
const { agent, resolvedInstructions } = args;
|
|
72756
|
-
const
|
|
72757
|
-
const
|
|
72758
|
-
const
|
|
72759
|
-
const
|
|
72760
|
-
|
|
72761
|
-
|
|
72762
|
-
|
|
72755
|
+
const soulTrimmed = typeof agent.soul === "string" ? agent.soul.trim() : "";
|
|
72756
|
+
const instrTrimmed = resolvedInstructions.trim();
|
|
72757
|
+
const memTrimmed = typeof agent.memory === "string" ? agent.memory.trim() : "";
|
|
72758
|
+
const formatField = (trimmed) => {
|
|
72759
|
+
if (!trimmed) return "absent";
|
|
72760
|
+
return `loaded (${trimmed.length} chars, sha256:${shortContentHash(trimmed)})`;
|
|
72761
|
+
};
|
|
72762
|
+
return [
|
|
72763
72763
|
"## Identity Snapshot",
|
|
72764
72764
|
"",
|
|
72765
|
-
"
|
|
72765
|
+
"Full content is in the Custom Instructions section of your system prompt. Surface anomalies in your first text output before acting.",
|
|
72766
72766
|
"",
|
|
72767
72767
|
`- agentId: ${agent.id}`,
|
|
72768
72768
|
`- name: ${agent.name}`,
|
|
72769
72769
|
`- role: ${agent.role}`,
|
|
72770
|
-
`- soul: ${
|
|
72771
|
-
`- instructions: ${
|
|
72772
|
-
`- memory: ${
|
|
72773
|
-
];
|
|
72774
|
-
if (soulPresent) {
|
|
72775
|
-
const preview = agent.soul.trim().slice(0, SOUL_PREVIEW);
|
|
72776
|
-
lines.push("", `### Soul (first ${SOUL_PREVIEW} chars)`, preview);
|
|
72777
|
-
}
|
|
72778
|
-
if (instrPresent) {
|
|
72779
|
-
const preview = resolvedInstructions.trim().slice(0, INSTR_PREVIEW);
|
|
72780
|
-
lines.push("", `### Instructions (first ${INSTR_PREVIEW} chars)`, preview);
|
|
72781
|
-
}
|
|
72782
|
-
if (memPresent) {
|
|
72783
|
-
const preview = agent.memory.trim().slice(0, MEM_PREVIEW);
|
|
72784
|
-
lines.push("", `### Memory (first ${MEM_PREVIEW} chars)`, preview);
|
|
72785
|
-
}
|
|
72786
|
-
return lines.join("\n");
|
|
72770
|
+
`- soul: ${formatField(soulTrimmed)}`,
|
|
72771
|
+
`- instructions: ${formatField(instrTrimmed)}`,
|
|
72772
|
+
`- memory: ${formatField(memTrimmed)}`
|
|
72773
|
+
].join("\n");
|
|
72787
72774
|
}
|
|
72788
72775
|
async function getHeartbeatMemorySettings(taskStore) {
|
|
72789
72776
|
const maybeGetSettings = taskStore.getSettings;
|
|
@@ -72965,9 +72952,8 @@ When sending messages:
|
|
|
72965
72952
|
1. **Identity & context** \u2014 review the **Identity Snapshot** at the top of
|
|
72966
72953
|
this prompt. Confirm your role, soul, instructions, and memory match what
|
|
72967
72954
|
you expect, and surface any anomalies in your first text output before
|
|
72968
|
-
doing anything else.
|
|
72969
|
-
|
|
72970
|
-
authoritative source.)
|
|
72955
|
+
doing anything else. The full content is in the Custom Instructions
|
|
72956
|
+
section of your system prompt.
|
|
72971
72957
|
2. **Inbox** \u2014 when fn_read_messages is available, call it. Process any pending
|
|
72972
72958
|
messages first; reply with reply_to_message_id when answering.
|
|
72973
72959
|
3. **Wake delta** \u2014 read the Wake Delta block above. The wake reason is the
|
|
@@ -72993,9 +72979,8 @@ a bug. Do not loop on the same plan across heartbeats without recording why.`;
|
|
|
72993
72979
|
1. **Identity & context** \u2014 review the **Identity Snapshot** at the top of
|
|
72994
72980
|
this prompt. Confirm your role, soul, instructions, and memory match what
|
|
72995
72981
|
you expect, and surface any anomalies in your first text output before
|
|
72996
|
-
doing anything else.
|
|
72997
|
-
|
|
72998
|
-
authoritative source.)
|
|
72982
|
+
doing anything else. The full content is in the Custom Instructions
|
|
72983
|
+
section of your system prompt.
|
|
72999
72984
|
2. **Inbox** \u2014 when fn_read_messages is available, call it. Process any pending
|
|
73000
72985
|
messages first; reply with reply_to_message_id when answering.
|
|
73001
72986
|
3. **Wake delta** \u2014 read the Wake Delta block above. The wake reason is the
|
|
@@ -73797,7 +73782,6 @@ not loop on the same plan across heartbeats without recording why.`;
|
|
|
73797
73782
|
baseHeartbeatSystemPrompt,
|
|
73798
73783
|
[resolvedInstructionsForIdentity, memoryInstructions].filter((part) => part.trim()).join("\n\n")
|
|
73799
73784
|
);
|
|
73800
|
-
heartbeatTools.push(createIdentityTool({ agent, resolvedInstructions: resolvedInstructionsForIdentity }));
|
|
73801
73785
|
heartbeatTools.push(heartbeatDoneTool);
|
|
73802
73786
|
if (isNoTaskRun) {
|
|
73803
73787
|
agentLogger = new AgentLogger({
|
|
@@ -78651,10 +78635,18 @@ var init_plugin_runner = __esm({
|
|
|
78651
78635
|
cachedRoutes = null;
|
|
78652
78636
|
cachedUiSlots = null;
|
|
78653
78637
|
cachedRuntimes = null;
|
|
78638
|
+
cachedSkills = null;
|
|
78639
|
+
cachedWorkflowSteps = null;
|
|
78640
|
+
cachedPromptContributions = null;
|
|
78641
|
+
cachedSetupInfo = null;
|
|
78654
78642
|
toolsCacheVersion = 0;
|
|
78655
78643
|
routesCacheVersion = 0;
|
|
78656
78644
|
uiSlotsCacheVersion = 0;
|
|
78657
78645
|
runtimesCacheVersion = 0;
|
|
78646
|
+
skillsCacheVersion = 0;
|
|
78647
|
+
workflowStepsCacheVersion = 0;
|
|
78648
|
+
promptContributionsCacheVersion = 0;
|
|
78649
|
+
setupCacheVersion = 0;
|
|
78658
78650
|
hookTimeoutMs;
|
|
78659
78651
|
// Event handler references for cleanup
|
|
78660
78652
|
handlePluginEnabled;
|
|
@@ -78686,6 +78678,10 @@ var init_plugin_runner = __esm({
|
|
|
78686
78678
|
this.invalidateRoutesCache();
|
|
78687
78679
|
this.invalidateUiSlotsCache();
|
|
78688
78680
|
this.invalidateRuntimesCache();
|
|
78681
|
+
this.invalidateSkillsCache();
|
|
78682
|
+
this.invalidateWorkflowStepsCache();
|
|
78683
|
+
this.invalidatePromptContributionsCache();
|
|
78684
|
+
this.invalidateSetupCache();
|
|
78689
78685
|
}
|
|
78690
78686
|
/**
|
|
78691
78687
|
* Shutdown the plugin runner.
|
|
@@ -78766,6 +78762,54 @@ var init_plugin_runner = __esm({
|
|
|
78766
78762
|
}
|
|
78767
78763
|
return this.cachedRuntimes.runtimes;
|
|
78768
78764
|
}
|
|
78765
|
+
getPluginSkills() {
|
|
78766
|
+
if (!this.cachedSkills || this.cachedSkills.version !== this.skillsCacheVersion) {
|
|
78767
|
+
this.cachedSkills = {
|
|
78768
|
+
skills: this.options.pluginLoader.getPluginSkills(),
|
|
78769
|
+
version: this.skillsCacheVersion
|
|
78770
|
+
};
|
|
78771
|
+
}
|
|
78772
|
+
return this.cachedSkills.skills;
|
|
78773
|
+
}
|
|
78774
|
+
getPluginWorkflowSteps() {
|
|
78775
|
+
if (!this.cachedWorkflowSteps || this.cachedWorkflowSteps.version !== this.workflowStepsCacheVersion) {
|
|
78776
|
+
this.cachedWorkflowSteps = {
|
|
78777
|
+
steps: this.options.pluginLoader.getPluginWorkflowSteps(),
|
|
78778
|
+
version: this.workflowStepsCacheVersion
|
|
78779
|
+
};
|
|
78780
|
+
}
|
|
78781
|
+
return this.cachedWorkflowSteps.steps;
|
|
78782
|
+
}
|
|
78783
|
+
getPluginPromptContributions() {
|
|
78784
|
+
if (!this.cachedPromptContributions || this.cachedPromptContributions.version !== this.promptContributionsCacheVersion) {
|
|
78785
|
+
this.cachedPromptContributions = {
|
|
78786
|
+
contributions: this.options.pluginLoader.getPluginPromptContributions(),
|
|
78787
|
+
version: this.promptContributionsCacheVersion
|
|
78788
|
+
};
|
|
78789
|
+
}
|
|
78790
|
+
return this.cachedPromptContributions.contributions;
|
|
78791
|
+
}
|
|
78792
|
+
getPluginSetupInfo() {
|
|
78793
|
+
if (!this.cachedSetupInfo || this.cachedSetupInfo.version !== this.setupCacheVersion) {
|
|
78794
|
+
this.cachedSetupInfo = {
|
|
78795
|
+
setups: this.options.pluginLoader.getPluginSetupInfo(),
|
|
78796
|
+
version: this.setupCacheVersion
|
|
78797
|
+
};
|
|
78798
|
+
}
|
|
78799
|
+
return this.cachedSetupInfo.setups;
|
|
78800
|
+
}
|
|
78801
|
+
getPromptContributionsForSurface(surface) {
|
|
78802
|
+
return this.getPluginPromptContributions().filter(({ pluginId, contribution, config }) => {
|
|
78803
|
+
const plugin4 = this.options.pluginLoader.getPlugin(pluginId);
|
|
78804
|
+
if (!plugin4 || plugin4.state !== "started") {
|
|
78805
|
+
return false;
|
|
78806
|
+
}
|
|
78807
|
+
if (contribution.surface !== surface) {
|
|
78808
|
+
return false;
|
|
78809
|
+
}
|
|
78810
|
+
return config.enabledByDefault !== false;
|
|
78811
|
+
});
|
|
78812
|
+
}
|
|
78769
78813
|
/**
|
|
78770
78814
|
* Get a specific runtime registration by its runtimeId.
|
|
78771
78815
|
*
|
|
@@ -78799,6 +78843,10 @@ var init_plugin_runner = __esm({
|
|
|
78799
78843
|
this.invalidateRoutesCache();
|
|
78800
78844
|
this.invalidateUiSlotsCache();
|
|
78801
78845
|
this.invalidateRuntimesCache();
|
|
78846
|
+
this.invalidateSkillsCache();
|
|
78847
|
+
this.invalidateWorkflowStepsCache();
|
|
78848
|
+
this.invalidatePromptContributionsCache();
|
|
78849
|
+
this.invalidateSetupCache();
|
|
78802
78850
|
executorLog.log(`Plugin ${pluginId} reloaded`);
|
|
78803
78851
|
}
|
|
78804
78852
|
// ── Event Handlers for Hot-Load/Unload ─────────────────────────
|
|
@@ -78810,6 +78858,10 @@ var init_plugin_runner = __esm({
|
|
|
78810
78858
|
this.invalidateRoutesCache();
|
|
78811
78859
|
this.invalidateUiSlotsCache();
|
|
78812
78860
|
this.invalidateRuntimesCache();
|
|
78861
|
+
this.invalidateSkillsCache();
|
|
78862
|
+
this.invalidateWorkflowStepsCache();
|
|
78863
|
+
this.invalidatePromptContributionsCache();
|
|
78864
|
+
this.invalidateSetupCache();
|
|
78813
78865
|
try {
|
|
78814
78866
|
executorLog.log(`Auto-loading enabled plugin: ${plugin4.id}`);
|
|
78815
78867
|
await this.options.pluginLoader.loadPlugin(plugin4.id);
|
|
@@ -78825,6 +78877,10 @@ var init_plugin_runner = __esm({
|
|
|
78825
78877
|
this.invalidateRoutesCache();
|
|
78826
78878
|
this.invalidateUiSlotsCache();
|
|
78827
78879
|
this.invalidateRuntimesCache();
|
|
78880
|
+
this.invalidateSkillsCache();
|
|
78881
|
+
this.invalidateWorkflowStepsCache();
|
|
78882
|
+
this.invalidatePromptContributionsCache();
|
|
78883
|
+
this.invalidateSetupCache();
|
|
78828
78884
|
try {
|
|
78829
78885
|
executorLog.log(`Auto-stopping disabled plugin: ${plugin4.id}`);
|
|
78830
78886
|
await this.options.pluginLoader.stopPlugin(plugin4.id);
|
|
@@ -78840,6 +78896,10 @@ var init_plugin_runner = __esm({
|
|
|
78840
78896
|
this.invalidateRoutesCache();
|
|
78841
78897
|
this.invalidateUiSlotsCache();
|
|
78842
78898
|
this.invalidateRuntimesCache();
|
|
78899
|
+
this.invalidateSkillsCache();
|
|
78900
|
+
this.invalidateWorkflowStepsCache();
|
|
78901
|
+
this.invalidatePromptContributionsCache();
|
|
78902
|
+
this.invalidateSetupCache();
|
|
78843
78903
|
try {
|
|
78844
78904
|
executorLog.log(`Stopping unregistered plugin: ${plugin4.id}`);
|
|
78845
78905
|
await this.options.pluginLoader.stopPlugin(plugin4.id);
|
|
@@ -78856,6 +78916,10 @@ var init_plugin_runner = __esm({
|
|
|
78856
78916
|
this.invalidateRoutesCache();
|
|
78857
78917
|
this.invalidateUiSlotsCache();
|
|
78858
78918
|
this.invalidateRuntimesCache();
|
|
78919
|
+
this.invalidateSkillsCache();
|
|
78920
|
+
this.invalidateWorkflowStepsCache();
|
|
78921
|
+
this.invalidatePromptContributionsCache();
|
|
78922
|
+
this.invalidateSetupCache();
|
|
78859
78923
|
}
|
|
78860
78924
|
/**
|
|
78861
78925
|
* Handle plugin updates - invalidate caches.
|
|
@@ -78865,6 +78929,10 @@ var init_plugin_runner = __esm({
|
|
|
78865
78929
|
this.invalidateRoutesCache();
|
|
78866
78930
|
this.invalidateUiSlotsCache();
|
|
78867
78931
|
this.invalidateRuntimesCache();
|
|
78932
|
+
this.invalidateSkillsCache();
|
|
78933
|
+
this.invalidateWorkflowStepsCache();
|
|
78934
|
+
this.invalidatePromptContributionsCache();
|
|
78935
|
+
this.invalidateSetupCache();
|
|
78868
78936
|
}
|
|
78869
78937
|
/**
|
|
78870
78938
|
* Handle plugin:loaded event from loader - invalidate caches.
|
|
@@ -78874,6 +78942,10 @@ var init_plugin_runner = __esm({
|
|
|
78874
78942
|
this.invalidateRoutesCache();
|
|
78875
78943
|
this.invalidateUiSlotsCache();
|
|
78876
78944
|
this.invalidateRuntimesCache();
|
|
78945
|
+
this.invalidateSkillsCache();
|
|
78946
|
+
this.invalidateWorkflowStepsCache();
|
|
78947
|
+
this.invalidatePromptContributionsCache();
|
|
78948
|
+
this.invalidateSetupCache();
|
|
78877
78949
|
}
|
|
78878
78950
|
/**
|
|
78879
78951
|
* Handle plugin:unloaded event from loader - invalidate caches.
|
|
@@ -78883,6 +78955,10 @@ var init_plugin_runner = __esm({
|
|
|
78883
78955
|
this.invalidateRoutesCache();
|
|
78884
78956
|
this.invalidateUiSlotsCache();
|
|
78885
78957
|
this.invalidateRuntimesCache();
|
|
78958
|
+
this.invalidateSkillsCache();
|
|
78959
|
+
this.invalidateWorkflowStepsCache();
|
|
78960
|
+
this.invalidatePromptContributionsCache();
|
|
78961
|
+
this.invalidateSetupCache();
|
|
78886
78962
|
}
|
|
78887
78963
|
/**
|
|
78888
78964
|
* Handle plugin:reloaded event from loader - invalidate caches.
|
|
@@ -78892,6 +78968,10 @@ var init_plugin_runner = __esm({
|
|
|
78892
78968
|
this.invalidateRoutesCache();
|
|
78893
78969
|
this.invalidateUiSlotsCache();
|
|
78894
78970
|
this.invalidateRuntimesCache();
|
|
78971
|
+
this.invalidateSkillsCache();
|
|
78972
|
+
this.invalidateWorkflowStepsCache();
|
|
78973
|
+
this.invalidatePromptContributionsCache();
|
|
78974
|
+
this.invalidateSetupCache();
|
|
78895
78975
|
}
|
|
78896
78976
|
// ── Tool Conversion ───────────────────────────────────────────────
|
|
78897
78977
|
/**
|
|
@@ -79063,6 +79143,22 @@ var init_plugin_runner = __esm({
|
|
|
79063
79143
|
this.runtimesCacheVersion++;
|
|
79064
79144
|
this.log.log(`Runtimes cache invalidated (version: ${this.runtimesCacheVersion})`);
|
|
79065
79145
|
}
|
|
79146
|
+
invalidateSkillsCache() {
|
|
79147
|
+
this.skillsCacheVersion++;
|
|
79148
|
+
this.log.log(`Skills cache invalidated (version: ${this.skillsCacheVersion})`);
|
|
79149
|
+
}
|
|
79150
|
+
invalidateWorkflowStepsCache() {
|
|
79151
|
+
this.workflowStepsCacheVersion++;
|
|
79152
|
+
this.log.log(`Workflow steps cache invalidated (version: ${this.workflowStepsCacheVersion})`);
|
|
79153
|
+
}
|
|
79154
|
+
invalidatePromptContributionsCache() {
|
|
79155
|
+
this.promptContributionsCacheVersion++;
|
|
79156
|
+
this.log.log(`Prompt contributions cache invalidated (version: ${this.promptContributionsCacheVersion})`);
|
|
79157
|
+
}
|
|
79158
|
+
invalidateSetupCache() {
|
|
79159
|
+
this.setupCacheVersion++;
|
|
79160
|
+
this.log.log(`Setup cache invalidated (version: ${this.setupCacheVersion})`);
|
|
79161
|
+
}
|
|
79066
79162
|
// ── Store Event Subscriptions ────────────────────────────────────
|
|
79067
79163
|
/**
|
|
79068
79164
|
* Subscribe to TaskStore events for task lifecycle hooks.
|
|
@@ -133416,8 +133512,8 @@ var init_register_settings_sync_routes = __esm({
|
|
|
133416
133512
|
exportedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
133417
133513
|
version: 1
|
|
133418
133514
|
};
|
|
133419
|
-
const { createHash:
|
|
133420
|
-
const checksum =
|
|
133515
|
+
const { createHash: createHash6 } = await import("node:crypto");
|
|
133516
|
+
const checksum = createHash6("sha256").update(JSON.stringify(payload)).digest("hex");
|
|
133421
133517
|
await fetchFromRemoteNode(node, "/api/settings/sync-receive", {
|
|
133422
133518
|
method: "POST",
|
|
133423
133519
|
body: { ...payload, checksum }
|
|
@@ -133476,7 +133572,7 @@ var init_register_settings_sync_routes = __esm({
|
|
|
133476
133572
|
});
|
|
133477
133573
|
return;
|
|
133478
133574
|
}
|
|
133479
|
-
const { createHash:
|
|
133575
|
+
const { createHash: createHash6 } = await import("node:crypto");
|
|
133480
133576
|
const exportedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
133481
133577
|
const payloadWithoutChecksum = {
|
|
133482
133578
|
global: remoteSettings.global,
|
|
@@ -133484,7 +133580,7 @@ var init_register_settings_sync_routes = __esm({
|
|
|
133484
133580
|
exportedAt,
|
|
133485
133581
|
version: 1
|
|
133486
133582
|
};
|
|
133487
|
-
const checksum =
|
|
133583
|
+
const checksum = createHash6("sha256").update(JSON.stringify(payloadWithoutChecksum)).digest("hex");
|
|
133488
133584
|
const result = await central.applyRemoteSettings({
|
|
133489
133585
|
...payloadWithoutChecksum,
|
|
133490
133586
|
checksum
|
|
@@ -153257,7 +153353,7 @@ var require_websocket = __commonJS({
|
|
|
153257
153353
|
var http = __require("http");
|
|
153258
153354
|
var net = __require("net");
|
|
153259
153355
|
var tls = __require("tls");
|
|
153260
|
-
var { randomBytes: randomBytes4, createHash:
|
|
153356
|
+
var { randomBytes: randomBytes4, createHash: createHash6 } = __require("crypto");
|
|
153261
153357
|
var { Duplex, Readable: Readable2 } = __require("stream");
|
|
153262
153358
|
var { URL: URL2 } = __require("url");
|
|
153263
153359
|
var PerMessageDeflate2 = require_permessage_deflate();
|
|
@@ -153917,7 +154013,7 @@ var require_websocket = __commonJS({
|
|
|
153917
154013
|
abortHandshake(websocket, socket, "Invalid Upgrade header");
|
|
153918
154014
|
return;
|
|
153919
154015
|
}
|
|
153920
|
-
const digest =
|
|
154016
|
+
const digest = createHash6("sha1").update(key + GUID).digest("base64");
|
|
153921
154017
|
if (res.headers["sec-websocket-accept"] !== digest) {
|
|
153922
154018
|
abortHandshake(websocket, socket, "Invalid Sec-WebSocket-Accept header");
|
|
153923
154019
|
return;
|
|
@@ -154284,7 +154380,7 @@ var require_websocket_server = __commonJS({
|
|
|
154284
154380
|
var EventEmitter37 = __require("events");
|
|
154285
154381
|
var http = __require("http");
|
|
154286
154382
|
var { Duplex } = __require("stream");
|
|
154287
|
-
var { createHash:
|
|
154383
|
+
var { createHash: createHash6 } = __require("crypto");
|
|
154288
154384
|
var extension2 = require_extension();
|
|
154289
154385
|
var PerMessageDeflate2 = require_permessage_deflate();
|
|
154290
154386
|
var subprotocol2 = require_subprotocol();
|
|
@@ -154585,7 +154681,7 @@ var require_websocket_server = __commonJS({
|
|
|
154585
154681
|
);
|
|
154586
154682
|
}
|
|
154587
154683
|
if (this._state > RUNNING) return abortHandshake(socket, 503);
|
|
154588
|
-
const digest =
|
|
154684
|
+
const digest = createHash6("sha1").update(key + GUID).digest("base64");
|
|
154589
154685
|
const headers = [
|
|
154590
154686
|
"HTTP/1.1 101 Switching Protocols",
|
|
154591
154687
|
"Upgrade: websocket",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as t,j as e}from"./vendor-react-K0fH_qHe.js";import{c as Ge,
|
|
1
|
+
import{r as t,j as e}from"./vendor-react-K0fH_qHe.js";import{c as Ge,dk as zs,dl as Bs,dm as Hs,dn as Is,L as _,R as We,al as ms,Z as Os,am as _e,V as Te,W as Ss,N as ks,dp as _s,dq as Vs,dr as Us,w as Cs,cx as Js,ds as Gs,z as q,dt as Ws,s as hs,B as gs,Q as Me,U as fs,a$ as ve,X as qs,F as be,A as Fe,I as qe,du as Ys,cr as Ks,aF as Zs,bn as Qs,an as ws,Y as Xs,a1 as et,a3 as st,dv as Ue,j as Rs,dw as tt,r as at,dx as nt,dy as it,dz as rt,dA as lt,dB as ct,dC as Ee,a9 as Le,ab as De,ac as $e,C as Q,a7 as Ms,dD as ot,dE as dt,i as ut,h as mt,k as ht,dF as Je,a2 as gt,dG as ft,dH as xt,dI as pt,dJ as vt,dK as bt,dL as Fs,dM as jt,dN as Nt,a0 as yt,dO as St,_ as kt,dP as Ct}from"./index-CEavim6l.js";import{S as As}from"./star-B6Th07jw.js";import{S as wt}from"./SkillMultiselect-CSkXQzdv.js";import{L as Ts}from"./list-checks-6EktkUso.js";import"./vendor-xterm-DzcZoU0P.js";/**
|
|
2
2
|
* @license lucide-react v1.7.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|