pi-fabric 0.21.8 → 0.21.10
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/core/skill-prompt.d.ts +3 -0
- package/dist/core/skill-prompt.d.ts.map +1 -0
- package/dist/core/skill-prompt.js +18 -0
- package/dist/core/skill-prompt.js.map +1 -0
- package/dist/core/skill-references.d.ts +7 -0
- package/dist/core/skill-references.d.ts.map +1 -0
- package/dist/core/skill-references.js +37 -0
- package/dist/core/skill-references.js.map +1 -0
- package/dist/core/system-guidance.d.ts +3 -0
- package/dist/core/system-guidance.d.ts.map +1 -0
- package/dist/core/system-guidance.js +21 -0
- package/dist/core/system-guidance.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -12
- package/dist/index.js.map +1 -1
- package/dist/ui/dashboard-model.d.ts +93 -0
- package/dist/ui/dashboard-model.d.ts.map +1 -0
- package/dist/ui/dashboard-model.js +367 -0
- package/dist/ui/dashboard-model.js.map +1 -0
- package/dist/ui/dashboard-presentation.d.ts +6 -0
- package/dist/ui/dashboard-presentation.d.ts.map +1 -0
- package/dist/ui/dashboard-presentation.js +136 -0
- package/dist/ui/dashboard-presentation.js.map +1 -0
- package/dist/ui/dashboard-topology-view.d.ts +26 -0
- package/dist/ui/dashboard-topology-view.d.ts.map +1 -0
- package/dist/ui/dashboard-topology-view.js +309 -0
- package/dist/ui/dashboard-topology-view.js.map +1 -0
- package/dist/ui/dashboard.d.ts +3 -5
- package/dist/ui/dashboard.d.ts.map +1 -1
- package/dist/ui/dashboard.js +31 -810
- package/dist/ui/dashboard.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-prompt.d.ts","sourceRoot":"","sources":["../../src/core/skill-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,KAAK,EACX,MAAM,iCAAiC,CAAC;AAUzC,eAAO,MAAM,8BAA8B,GACzC,cAAc,MAAM,EACpB,QAAQ,SAAS,KAAK,EAAE,KACvB,MAiBF,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { formatSkillsForPrompt, } from "@earendil-works/pi-coding-agent";
|
|
2
|
+
const SKILL_SECTION_HEADING = "The following skills provide specialized instructions for specific tasks.";
|
|
3
|
+
const PI_SKILL_LOAD_INSTRUCTION = "Use the read tool to load a skill's file when the task matches its description.";
|
|
4
|
+
const FABRIC_SKILL_LOAD_INSTRUCTION = "Use `pi.read` inside `fabric_exec` to load a skill's file when the task matches its description.";
|
|
5
|
+
const CWD_MARKER = "\nCurrent working directory:";
|
|
6
|
+
export const restoreSkillsForFullCodePrompt = (systemPrompt, skills) => {
|
|
7
|
+
const section = formatSkillsForPrompt([...skills]).replace(PI_SKILL_LOAD_INSTRUCTION, FABRIC_SKILL_LOAD_INSTRUCTION);
|
|
8
|
+
if (!section)
|
|
9
|
+
return systemPrompt;
|
|
10
|
+
if (systemPrompt.includes(SKILL_SECTION_HEADING)) {
|
|
11
|
+
return systemPrompt.replace(PI_SKILL_LOAD_INSTRUCTION, FABRIC_SKILL_LOAD_INSTRUCTION);
|
|
12
|
+
}
|
|
13
|
+
const cwdIndex = systemPrompt.lastIndexOf(CWD_MARKER);
|
|
14
|
+
if (cwdIndex < 0)
|
|
15
|
+
return `${systemPrompt}${section}`;
|
|
16
|
+
return `${systemPrompt.slice(0, cwdIndex)}${section}${systemPrompt.slice(cwdIndex)}`;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=skill-prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-prompt.js","sourceRoot":"","sources":["../../src/core/skill-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,GAEtB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,qBAAqB,GACzB,2EAA2E,CAAC;AAC9E,MAAM,yBAAyB,GAC7B,iFAAiF,CAAC;AACpF,MAAM,6BAA6B,GACjC,kGAAkG,CAAC;AACrG,MAAM,UAAU,GAAG,8BAA8B,CAAC;AAElD,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,YAAoB,EACpB,MAAwB,EAChB,EAAE;IACV,MAAM,OAAO,GAAG,qBAAqB,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CACxD,yBAAyB,EACzB,6BAA6B,CAC9B,CAAC;IACF,IAAI,CAAC,OAAO;QAAE,OAAO,YAAY,CAAC;IAElC,IAAI,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACjD,OAAO,YAAY,CAAC,OAAO,CACzB,yBAAyB,EACzB,6BAA6B,CAC9B,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACtD,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,GAAG,YAAY,GAAG,OAAO,EAAE,CAAC;IACrD,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;AACvF,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface SkillReference {
|
|
2
|
+
name: string;
|
|
3
|
+
filePath: string;
|
|
4
|
+
disableModelInvocation?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare const buildSkillReferenceGuidance: (prompt: string, skills: readonly SkillReference[]) => string | undefined;
|
|
7
|
+
//# sourceMappingURL=skill-references.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-references.d.ts","sourceRoot":"","sources":["../../src/core/skill-references.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAeD,eAAO,MAAM,2BAA2B,GACtC,QAAQ,MAAM,EACd,QAAQ,SAAS,cAAc,EAAE,KAChC,MAAM,GAAG,SAgCX,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
const INVOCATION_VERB = /^\s*(?:[-*]\s*)?(?:(?:then|next|first|always|must|you must)\s+)?(?:run|invoke|load|start|follow|use)\b/i;
|
|
2
|
+
const NEGATED_INVOCATION = /^\s*(?:[-*]\s*)?(?:do not|don't|never)\s+(?:run|invoke|load|start|follow|use)\b/i;
|
|
3
|
+
const escapeRegex = (value) => value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
4
|
+
const referencesSkill = (line, skillName) => {
|
|
5
|
+
const name = escapeRegex(skillName);
|
|
6
|
+
return new RegExp(`/(?:skill:)?${name}(?=[\\s\`'".,;:!?<>)\\]}]|$)`, "i").test(line);
|
|
7
|
+
};
|
|
8
|
+
export const buildSkillReferenceGuidance = (prompt, skills) => {
|
|
9
|
+
const active = skills.find((skill) => prompt.startsWith(`<skill name="${skill.name}" location="${skill.filePath}">`));
|
|
10
|
+
if (!active)
|
|
11
|
+
return undefined;
|
|
12
|
+
const closingTag = prompt.indexOf("</skill>");
|
|
13
|
+
if (closingTag < 0)
|
|
14
|
+
return undefined;
|
|
15
|
+
const openingEnd = prompt.indexOf("\n\n");
|
|
16
|
+
if (openingEnd < 0 || openingEnd >= closingTag)
|
|
17
|
+
return undefined;
|
|
18
|
+
const body = prompt.slice(openingEnd + 2, closingTag);
|
|
19
|
+
const invocationLines = body
|
|
20
|
+
.split("\n")
|
|
21
|
+
.filter((line) => INVOCATION_VERB.test(line) && !NEGATED_INVOCATION.test(line));
|
|
22
|
+
const referenced = skills.filter((skill) => skill.name !== active.name &&
|
|
23
|
+
skill.disableModelInvocation !== true &&
|
|
24
|
+
invocationLines.some((line) => referencesSkill(line, skill.name)));
|
|
25
|
+
if (referenced.length === 0)
|
|
26
|
+
return undefined;
|
|
27
|
+
const mappings = referenced
|
|
28
|
+
.map((skill) => `- /${skill.name} -> ${JSON.stringify(skill.filePath)}`)
|
|
29
|
+
.join("\n");
|
|
30
|
+
return [
|
|
31
|
+
`The active skill ${JSON.stringify(active.name)} is already expanded; do not reread ${JSON.stringify(active.filePath)}.`,
|
|
32
|
+
"Resolve the skill invocations below before task exploration:",
|
|
33
|
+
mappings,
|
|
34
|
+
"Load each mapped SKILL.md through pi.read inside fabric_exec and follow it. Skill loading is a dependency, not task exploration. Continue the active workflow after tool results and later user replies until it completes.",
|
|
35
|
+
].join("\n");
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=skill-references.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-references.js","sourceRoot":"","sources":["../../src/core/skill-references.ts"],"names":[],"mappings":"AAMA,MAAM,eAAe,GACnB,yGAAyG,CAAC;AAC5G,MAAM,kBAAkB,GACtB,kFAAkF,CAAC;AAErF,MAAM,WAAW,GAAG,CAAC,KAAa,EAAU,EAAE,CAC5C,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAE/C,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,SAAiB,EAAW,EAAE;IACnE,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACpC,OAAO,IAAI,MAAM,CAAC,eAAe,IAAI,8BAA8B,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,MAAc,EACd,MAAiC,EACb,EAAE;IACtB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACnC,MAAM,CAAC,UAAU,CAAC,gBAAgB,KAAK,CAAC,IAAI,eAAe,KAAK,CAAC,QAAQ,IAAI,CAAC,CAC/E,CAAC;IACF,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAE9B,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC9C,IAAI,UAAU,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACrC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,IAAI,UAAU;QAAE,OAAO,SAAS,CAAC;IACjE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,IAAI;SACzB,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAElF,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAC9B,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;QAC1B,KAAK,CAAC,sBAAsB,KAAK,IAAI;QACrC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CACpE,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE9C,MAAM,QAAQ,GAAG,UAAU;SACxB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;SACvE,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO;QACL,oBAAoB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG;QACxH,8DAA8D;QAC9D,QAAQ;QACR,6NAA6N;KAC9N,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-guidance.d.ts","sourceRoot":"","sources":["../../src/core/system-guidance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAcrD,eAAO,MAAM,yBAAyB,GACpC,cAAc,OAAO,EACrB,YAAY,gBAAgB,KAC3B,MAAM,GAAG,SAiBX,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const TEMPLATE_LITERAL_CAVEAT = "Caveat: when a fabric_exec program builds a string containing literal `${...}` (shell snippets, tool args, grep patterns), avoid TS template literals — TS interpolates `${var}` into a 'Cannot find name' type error, or substitutes silently if a same-named variable exists. Use a plain quoted string or pass the content via the `strings` param and reference it as `π.key`.";
|
|
2
|
+
const CODE_PATH_GUIDANCE = "Fabric changes how necessary tool work runs; it is not a reason to use tools or to leave the active skill or conversational workflow. When tool work is needed, use `fabric_exec` and call Pi core tools as `pi.*` inside `code`. `pi.read`/`grep`/`find`/`ls` return strings; `pi.bash`/`edit`/`write` return `{ok, output, details}`. Examples: `pi.read('/x')` · `pi.bash({cmd:'ls'})` · `pi.grep({regex:'TODO', path:'src'})` · `pi.edit({path:'/x', old:'a', new:'b'})`. Known MCP tools use `mcp.<server>.<tool>(args)`, captured tools use `extensions.<tool>(args)`, and stable providers use `memory.*`, `state.*`, `schema.*`, or `compact.*`; reserve `tools.call({ref,args})` for computed refs.";
|
|
3
|
+
const SCHEMA_ENFORCE_GUIDANCE = "Schema enforce mode is fixed for this session. Reads remain available, but protected-workspace changes must use schema.hypothesize → schema.verify → schema.commit in the same fabric_exec invocation. Direct pi.edit/write/bash, agents, state/mesh writes, compaction requests, MCP, extensions, and external providers are blocked by the host gate.";
|
|
4
|
+
const SCHEMA_AUDIT_GUIDANCE = "Schema audit mode reports actions that enforce mode would block, but preserves their current behavior.";
|
|
5
|
+
export const buildFabricSystemGuidance = (fullCodeMode, schemaMode) => {
|
|
6
|
+
const codePathEnabled = fullCodeMode || schemaMode === "enforce";
|
|
7
|
+
const sections = [];
|
|
8
|
+
if (codePathEnabled) {
|
|
9
|
+
sections.push(fullCodeMode
|
|
10
|
+
? `Pi Fabric full code mode is enabled. ${CODE_PATH_GUIDANCE}`
|
|
11
|
+
: `Pi Fabric Schema enforce mode uses the gated Fabric code path. ${CODE_PATH_GUIDANCE}`);
|
|
12
|
+
}
|
|
13
|
+
if (schemaMode === "enforce")
|
|
14
|
+
sections.push(SCHEMA_ENFORCE_GUIDANCE);
|
|
15
|
+
if (schemaMode === "audit")
|
|
16
|
+
sections.push(SCHEMA_AUDIT_GUIDANCE);
|
|
17
|
+
if (codePathEnabled)
|
|
18
|
+
sections.push(TEMPLATE_LITERAL_CAVEAT);
|
|
19
|
+
return sections.length > 0 ? sections.join("\n\n") : undefined;
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=system-guidance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-guidance.js","sourceRoot":"","sources":["../../src/core/system-guidance.ts"],"names":[],"mappings":"AAEA,MAAM,uBAAuB,GAC3B,oXAAoX,CAAC;AAEvX,MAAM,kBAAkB,GACtB,8qBAA8qB,CAAC;AAEjrB,MAAM,uBAAuB,GAC3B,yVAAyV,CAAC;AAE5V,MAAM,qBAAqB,GACzB,wGAAwG,CAAC;AAE3G,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,YAAqB,EACrB,UAA4B,EACR,EAAE;IACtB,MAAM,eAAe,GAAG,YAAY,IAAI,UAAU,KAAK,SAAS,CAAC;IACjE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,eAAe,EAAE,CAAC;QACpB,QAAQ,CAAC,IAAI,CACX,YAAY;YACV,CAAC,CAAC,wCAAwC,kBAAkB,EAAE;YAC9D,CAAC,CAAC,kEAAkE,kBAAkB,EAAE,CAC3F,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,KAAK,SAAS;QAAE,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACrE,IAAI,UAAU,KAAK,OAAO;QAAE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACjE,IAAI,eAAe;QAAE,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAE5D,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC,CAAC"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EAElB,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EAElB,MAAM,iCAAiC,CAAC;AAmHzC,wBAA8B,QAAQ,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAgxBtE;AAED,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -9,6 +9,8 @@ import { registerFabricCommand } from "./commands/fabric.js";
|
|
|
9
9
|
import { DEFAULT_FABRIC_CONFIG, effectiveToolCaptureConfig, } from "./config.js";
|
|
10
10
|
import { registerCompactionHook } from "./compaction/hook.js";
|
|
11
11
|
import { FabricToolLifecycle, FabricToolOwnership, ownsFabricToolSource, } from "./core/tool-ownership.js";
|
|
12
|
+
import { restoreSkillsForFullCodePrompt } from "./core/skill-prompt.js";
|
|
13
|
+
import { buildSkillReferenceGuidance } from "./core/skill-references.js";
|
|
12
14
|
import { FabricState } from "./fabric-state.js";
|
|
13
15
|
import { FABRIC_PROVIDER_REGISTER_EVENT } from "./protocol.js";
|
|
14
16
|
import { FabricUiController } from "./ui/controller.js";
|
|
@@ -658,22 +660,19 @@ export default async function piFabric(pi) {
|
|
|
658
660
|
toolCapture.dispose();
|
|
659
661
|
}
|
|
660
662
|
});
|
|
663
|
+
// Tool ownership changes only at session or mode transitions; lifecycle hooks
|
|
664
|
+
// forward host events without churning an explicitly selected active set.
|
|
661
665
|
pi.on("input", async (event, context) => {
|
|
662
|
-
if (
|
|
663
|
-
|
|
664
|
-
toolOwnership.apply(state.config.fullCodeMode || state.config.schema.mode === "enforce");
|
|
665
|
-
state.dispatchHostEvent("input", event, context);
|
|
666
|
+
if (state.initialized)
|
|
667
|
+
state.dispatchHostEvent("input", event, context);
|
|
666
668
|
});
|
|
667
669
|
pi.on("turn_end", async (event, context) => {
|
|
668
|
-
if (
|
|
669
|
-
|
|
670
|
-
toolOwnership.apply(state.config.fullCodeMode || state.config.schema.mode === "enforce");
|
|
671
|
-
state.dispatchHostEvent("turn_end", event, context);
|
|
670
|
+
if (state.initialized)
|
|
671
|
+
state.dispatchHostEvent("turn_end", event, context);
|
|
672
672
|
});
|
|
673
673
|
pi.on("agent_settled", async (event, context) => {
|
|
674
674
|
if (!state.initialized)
|
|
675
675
|
return;
|
|
676
|
-
toolOwnership.apply(state.config.fullCodeMode || state.config.schema.mode === "enforce");
|
|
677
676
|
state.dispatchHostEvent("agent_settled", event, context);
|
|
678
677
|
// Keep the completed widget mounted until a newer Fabric run replaces it.
|
|
679
678
|
// Removing rows at settle would pull the editor and latest chat content upward.
|
|
@@ -713,9 +712,21 @@ export default async function piFabric(pi) {
|
|
|
713
712
|
? state.config.schema.mode
|
|
714
713
|
: DEFAULT_FABRIC_CONFIG.schema.mode;
|
|
715
714
|
const effectiveFullCodeMode = fullCodeMode || schemaMode === "enforce";
|
|
716
|
-
toolOwnership.apply(effectiveFullCodeMode);
|
|
717
715
|
if (!pi.getActiveTools().includes("fabric_exec"))
|
|
718
716
|
return;
|
|
717
|
+
const skills = event.systemPromptOptions.skills ?? [];
|
|
718
|
+
// Pi omits its entire skill catalog when the active tool set lacks a tool
|
|
719
|
+
// named read. Restore that catalog in full code mode with only the loader
|
|
720
|
+
// instruction adapted to Fabric's nested pi.read path.
|
|
721
|
+
const systemPrompt = effectiveFullCodeMode
|
|
722
|
+
? restoreSkillsForFullCodePrompt(event.systemPrompt, skills)
|
|
723
|
+
: event.systemPrompt;
|
|
724
|
+
// Pi expands the invoked skill into the user message, but wrappers may
|
|
725
|
+
// delegate by name. Resolve only explicit invocation lines so full code
|
|
726
|
+
// mode preserves Pi's progressive skill loading without exposing read.
|
|
727
|
+
const skillReferenceGuidance = effectiveFullCodeMode
|
|
728
|
+
? buildSkillReferenceGuidance(event.prompt, skills)
|
|
729
|
+
: undefined;
|
|
719
730
|
const guidance = (effectiveFullCodeMode
|
|
720
731
|
? "Pi Fabric full code mode: `fabric_exec` is the only way to call Pi core tools — use them as `pi.*` inside `code`.\nReturns: `pi.read`/`pi.grep`/`pi.find`/`pi.ls` → string; `pi.bash`/`pi.edit`/`pi.write` → `{ok, output, details}` (read `.output`).\nExamples: `pi.read('/x')` · `pi.bash({cmd:'ls'})` · `pi.grep('TODO','src')` · `pi.grep({regex:'TODO', ic:true, ctx:2})` · `pi.find('*.ts','src')` · `pi.edit({path:'/x', old:'a', new:'b'})` · `pi.write({path:'/y', text:'z'})` · `pi.ls('src')`.\nShorthands (all accepted): `cmd`/`shell`→command · `query`/`regex`/`search`→pattern · `file`/`dir`→path · `ic`→ignoreCase · `ctx`→context · `max`→limit · `start`→offset · `old`→oldText · `new`/`replacement`→newText · `text`/`contents`→content · `timeoutMs`→timeout.\n`tools` is discovery + generic calls only (`providers`/`list`/`search`/`describe`/`call`/`models`). Call known MCP tools as `mcp.<sanitized_server>.<sanitized_tool>(args)` (for example `mcp.fal_ai.get_model_schema(...)`), captured tools as `extensions.<tool>(args)`, and stable providers as `memory.*`, `state.*`, `schema.*`, or `compact.*`. Use `tools.call({ref,args})` for computed refs. `pi` is the core tools; `π.<key>` is named strings (not a tool)."
|
|
721
732
|
: "Pi Fabric is in orchestration-only mode. Pi core and registered extension tools stay on their native direct execution path; inside fabric_exec, `pi.*` and `extensions.*` are unavailable. Call known actions through `mcp.<sanitized_server>.<sanitized_tool>(args)`, `memory.*`, `state.*`, `schema.*`, `compact.*`, `agents.*`, or `mesh.*`; use `tools.search`/`describe`/`list` for discovery and `tools.call({ref,args})` for computed refs. Other surfaces are opt-in via user-loaded skills.")
|
|
@@ -724,9 +735,10 @@ export default async function piFabric(pi) {
|
|
|
724
735
|
: schemaMode === "audit"
|
|
725
736
|
? "\n\nSchema audit mode reports actions that enforce mode would block, but preserves their current behavior."
|
|
726
737
|
: "")
|
|
727
|
-
+ "\n\n" + FABRIC_TEMPLATE_LITERAL_CAVEAT
|
|
738
|
+
+ "\n\n" + FABRIC_TEMPLATE_LITERAL_CAVEAT
|
|
739
|
+
+ (skillReferenceGuidance ? `\n\n${skillReferenceGuidance}` : "");
|
|
728
740
|
return {
|
|
729
|
-
systemPrompt: `${
|
|
741
|
+
systemPrompt: `${systemPrompt}\n\n${guidance}`,
|
|
730
742
|
};
|
|
731
743
|
});
|
|
732
744
|
registerFabricCommand(pi, { state, fabricUi, capturedTools, applyFabricMode, suspendToolCapture });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import type { FabricActivityCall, FabricActivityItem, FabricActivityKind, FabricActivityPhase, FabricActivityRun } from "../activity/types.js";
|
|
2
|
+
import type { GlobalActorDefinition } from "../actors/types.js";
|
|
3
|
+
import type { FabricDashboardSnapshot, FabricUiActor, FabricUiAgent, FabricUiStateEntry } from "./types.js";
|
|
4
|
+
import { type FabricProjectMeshParticipant, type FabricProjectMeshRoute, type FabricProjectMeshTopic } from "./topology.js";
|
|
5
|
+
export type Entity = {
|
|
6
|
+
id: string;
|
|
7
|
+
kind: "agent";
|
|
8
|
+
label: string;
|
|
9
|
+
status: string;
|
|
10
|
+
value: FabricUiAgent;
|
|
11
|
+
} | {
|
|
12
|
+
id: string;
|
|
13
|
+
kind: "actor";
|
|
14
|
+
label: string;
|
|
15
|
+
status: string;
|
|
16
|
+
value: FabricUiActor;
|
|
17
|
+
} | {
|
|
18
|
+
id: string;
|
|
19
|
+
kind: "globalActor";
|
|
20
|
+
label: string;
|
|
21
|
+
status: string;
|
|
22
|
+
value: GlobalActorDefinition;
|
|
23
|
+
} | {
|
|
24
|
+
id: string;
|
|
25
|
+
kind: "call";
|
|
26
|
+
label: string;
|
|
27
|
+
status: string;
|
|
28
|
+
value: FabricActivityCall;
|
|
29
|
+
} | {
|
|
30
|
+
id: string;
|
|
31
|
+
kind: "item";
|
|
32
|
+
label: string;
|
|
33
|
+
status: string;
|
|
34
|
+
value: FabricActivityItem;
|
|
35
|
+
} | {
|
|
36
|
+
id: string;
|
|
37
|
+
kind: "state";
|
|
38
|
+
label: string;
|
|
39
|
+
status: string;
|
|
40
|
+
value: FabricUiStateEntry;
|
|
41
|
+
} | {
|
|
42
|
+
id: string;
|
|
43
|
+
kind: "meshParticipant";
|
|
44
|
+
label: string;
|
|
45
|
+
status: string;
|
|
46
|
+
value: FabricProjectMeshParticipant;
|
|
47
|
+
} | {
|
|
48
|
+
id: string;
|
|
49
|
+
kind: "meshTopic";
|
|
50
|
+
label: string;
|
|
51
|
+
status: string;
|
|
52
|
+
value: FabricProjectMeshTopic;
|
|
53
|
+
} | {
|
|
54
|
+
id: string;
|
|
55
|
+
kind: "meshRoute";
|
|
56
|
+
label: string;
|
|
57
|
+
status: string;
|
|
58
|
+
value: FabricProjectMeshRoute;
|
|
59
|
+
};
|
|
60
|
+
type PanelKind = "phase" | "unphased" | "session";
|
|
61
|
+
export interface PhasePanel {
|
|
62
|
+
id: string;
|
|
63
|
+
name: string;
|
|
64
|
+
status: string;
|
|
65
|
+
completed: number;
|
|
66
|
+
total: number;
|
|
67
|
+
phase?: FabricActivityPhase;
|
|
68
|
+
kind: PanelKind;
|
|
69
|
+
agents?: number;
|
|
70
|
+
tokens?: number;
|
|
71
|
+
elapsedMs?: number;
|
|
72
|
+
}
|
|
73
|
+
export type Pane = "phases" | "entities";
|
|
74
|
+
export type OverviewView = "activity" | "topology";
|
|
75
|
+
export type TopologyView = "run" | "mesh";
|
|
76
|
+
type EntityGroupKind = FabricActivityKind | "globalActor" | "state" | "meshParticipant" | "meshTopic" | "meshRoute";
|
|
77
|
+
export interface EntityGroup {
|
|
78
|
+
kind: EntityGroupKind;
|
|
79
|
+
label: string;
|
|
80
|
+
entries: Array<{
|
|
81
|
+
entity: Entity;
|
|
82
|
+
index: number;
|
|
83
|
+
}>;
|
|
84
|
+
}
|
|
85
|
+
export declare const groupEntities: (entities: Entity[]) => EntityGroup[];
|
|
86
|
+
export type StatusFilter = "all" | "active" | "completed" | "failed";
|
|
87
|
+
export declare const filters: StatusFilter[];
|
|
88
|
+
export declare const entitiesForOverview: (snapshot: FabricDashboardSnapshot, run: FabricActivityRun | undefined, panel: PhasePanel | undefined, view: OverviewView, topologyView: TopologyView) => Entity[];
|
|
89
|
+
export declare const phasePanels: (snapshot: FabricDashboardSnapshot, run: FabricActivityRun | undefined) => PhasePanel[];
|
|
90
|
+
export declare const matchesFilter: (status: string, filter: StatusFilter) => boolean;
|
|
91
|
+
export declare const tokensFor: (snapshot: FabricDashboardSnapshot, run: FabricActivityRun | undefined) => number;
|
|
92
|
+
export {};
|
|
93
|
+
//# sourceMappingURL=dashboard-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-model.d.ts","sourceRoot":"","sources":["../../src/ui/dashboard-model.ts"],"names":[],"mappings":"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"}
|