@hyperdreamer/pi-webui 1.10.7 → 1.11.0-beta.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/README.md +17 -2
- package/dist/cli.js +265 -32
- package/dist/cli.js.map +1 -1
- package/dist/client/assets/{CodeViewer-BIb2Wx8W.js → CodeViewer-CAf_j27u.js} +1 -1
- package/dist/client/assets/{UnifiedDiffViewer-DpWiGlQo.js → UnifiedDiffViewer-wBjEJWa1.js} +1 -1
- package/dist/client/assets/{index-DX583DEv.js → index-5EtDb9nj.js} +1197 -476
- package/dist/client/index.html +1 -1
- package/dist/config.js +52 -11
- package/dist/config.js.map +1 -1
- package/dist/pi-webui-plugins/workspace-memory/pi-webui-plugin.js +3 -2
- package/dist/pi-webui-plugins/workspace-tasks/pi-webui-plugin.js +1 -0
- package/dist/plugin-api.d.ts +30 -0
- package/dist/server/app.js +6 -1
- package/dist/server/app.js.map +1 -1
- package/dist/server/realtime/sessionEventHub.js +40 -5
- package/dist/server/realtime/sessionEventHub.js.map +1 -1
- package/dist/server/realtime/sessionStatusCoalescer.js +137 -0
- package/dist/server/realtime/sessionStatusCoalescer.js.map +1 -0
- package/dist/server/sessiond/sessionProxyRoutes.js +2 -0
- package/dist/server/sessiond/sessionProxyRoutes.js.map +1 -1
- package/dist/server/sessiond.js +57 -5
- package/dist/server/sessiond.js.map +1 -1
- package/dist/server/sessions/modelPolicyCapability.js +88 -0
- package/dist/server/sessions/modelPolicyCapability.js.map +1 -0
- package/dist/server/sessions/modelPolicyTool.js +31 -0
- package/dist/server/sessions/modelPolicyTool.js.map +1 -0
- package/dist/server/sessions/modelTierRegistry.js +14 -0
- package/dist/server/sessions/modelTierRegistry.js.map +1 -1
- package/dist/server/sessions/modelTierSettingsRoutes.js +36 -0
- package/dist/server/sessions/modelTierSettingsRoutes.js.map +1 -0
- package/dist/server/sessions/modelTierSettingsService.js +100 -0
- package/dist/server/sessions/modelTierSettingsService.js.map +1 -0
- package/dist/server/sessions/piSessionService.js +1643 -433
- package/dist/server/sessions/piSessionService.js.map +1 -1
- package/dist/server/sessions/sessionDefaultsRoutes.js +39 -0
- package/dist/server/sessions/sessionDefaultsRoutes.js.map +1 -1
- package/dist/server/sessions/sessionDefaultsService.js +36 -6
- package/dist/server/sessions/sessionDefaultsService.js.map +1 -1
- package/dist/server/sessions/sessionMetadataStore.js +107 -13
- package/dist/server/sessions/sessionMetadataStore.js.map +1 -1
- package/dist/server/sessions/sessionModelPolicy.js +118 -0
- package/dist/server/sessions/sessionModelPolicy.js.map +1 -0
- package/dist/server/sessions/sessionReorder.js +117 -0
- package/dist/server/sessions/sessionReorder.js.map +1 -0
- package/dist/server/sessions/sessionRouteFastifyOptions.js +8 -0
- package/dist/server/sessions/sessionRouteFastifyOptions.js.map +1 -0
- package/dist/server/sessions/sessionRoutes.js +208 -3
- package/dist/server/sessions/sessionRoutes.js.map +1 -1
- package/dist/server/sessions/starterModelPolicyPreferenceStore.js +164 -0
- package/dist/server/sessions/starterModelPolicyPreferenceStore.js.map +1 -0
- package/dist/server/sessions/utilityModelExtension.js +199 -0
- package/dist/server/sessions/utilityModelExtension.js.map +1 -0
- package/dist/server/sessions/utilityModelResolver.js +77 -0
- package/dist/server/sessions/utilityModelResolver.js.map +1 -0
- package/dist/server/sessions/utilityModelSettingsRoutes.js +62 -0
- package/dist/server/sessions/utilityModelSettingsRoutes.js.map +1 -0
- package/dist/server/sessions/utilityModelSettingsService.js +101 -0
- package/dist/server/sessions/utilityModelSettingsService.js.map +1 -0
- package/dist/server/skills/optionalSkillInstall.js +69 -0
- package/dist/server/skills/optionalSkillInstall.js.map +1 -0
- package/dist/server/skills/optionalSkillInstaller.js +148 -0
- package/dist/server/skills/optionalSkillInstaller.js.map +1 -0
- package/dist/shared/apiTypes.d.ts +129 -3
- package/dist/shared/apiTypes.js +10 -0
- package/dist/shared/apiTypes.js.map +1 -1
- package/dist/shared/capabilities.js +15 -0
- package/dist/shared/capabilities.js.map +1 -1
- package/dist/shared/federatedRoutes.js +7 -0
- package/dist/shared/federatedRoutes.js.map +1 -1
- package/docs/assets/pi-webui-desktop.png +0 -0
- package/docs/config.md +61 -3
- package/docs/plugins.md +93 -16
- package/optional-skills/deterministic-subagent-driven-development/SKILL.md +224 -0
- package/optional-skills/deterministic-subagent-driven-development/pi-webui-skill.json +28 -0
- package/optional-skills/deterministic-subagent-driven-development/prompts/final-reviewer.md +132 -0
- package/optional-skills/deterministic-subagent-driven-development/prompts/implementer.md +101 -0
- package/optional-skills/deterministic-subagent-driven-development/prompts/re-reviewer.md +60 -0
- package/optional-skills/deterministic-subagent-driven-development/prompts/task-reviewer.md +80 -0
- package/optional-skills/deterministic-subagent-driven-development/references/capability-contract.md +174 -0
- package/optional-skills/deterministic-subagent-driven-development/references/plan-contract.md +268 -0
- package/optional-skills/deterministic-subagent-driven-development/references/state-machine.md +177 -0
- package/optional-skills/deterministic-subagent-driven-development/scripts/lib/manifest.mjs +258 -0
- package/optional-skills/deterministic-subagent-driven-development/scripts/lib/plan-policy.mjs +350 -0
- package/optional-skills/deterministic-subagent-driven-development/scripts/lib/prompt-renderer.mjs +290 -0
- package/optional-skills/deterministic-subagent-driven-development/scripts/lib/state-machine.mjs +1264 -0
- package/optional-skills/deterministic-subagent-driven-development/scripts/lib/state-store.mjs +532 -0
- package/optional-skills/deterministic-subagent-driven-development/scripts/sdd-state +3 -0
- package/optional-skills/deterministic-subagent-driven-development/scripts/sdd-state.mjs +349 -0
- package/optional-skills/deterministic-writing-plans/SKILL.md +232 -0
- package/optional-skills/deterministic-writing-plans/references/grammar.md +84 -0
- package/optional-skills/deterministic-writing-plans/templates/plan-skeleton.md +143 -0
- package/package.json +13 -9
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { MODEL_TIERS, } from "../../shared/apiTypes.js";
|
|
2
|
+
import { resolveTier } from "./modelTierRegistry.js";
|
|
3
|
+
/**
|
|
4
|
+
* Inspect and atomically replace the machine-global model-tier ladder against
|
|
5
|
+
* the daemon's latest authenticated model catalog.
|
|
6
|
+
*
|
|
7
|
+
* File access and runtime refresh remain dependency-injected so this boundary
|
|
8
|
+
* can be tested without starting the daemon or making network requests.
|
|
9
|
+
*/
|
|
10
|
+
export function createModelTierSettingsService(deps) {
|
|
11
|
+
const inspect = async () => {
|
|
12
|
+
const snapshot = await refreshedSnapshot();
|
|
13
|
+
return responseFor(deps.loadConfig(), snapshot);
|
|
14
|
+
};
|
|
15
|
+
return {
|
|
16
|
+
inspect,
|
|
17
|
+
replace: async (ladder) => {
|
|
18
|
+
const snapshot = await refreshedSnapshot();
|
|
19
|
+
const rows = validationRows(ladder, snapshot);
|
|
20
|
+
const invalidRows = MODEL_TIERS.filter((tier) => !rows[tier].valid);
|
|
21
|
+
if (invalidRows.length > 0) {
|
|
22
|
+
throw new Error(invalidRows.map((tier) => rows[tier].reason ?? `tier ${tier} is invalid`).join("; "));
|
|
23
|
+
}
|
|
24
|
+
await deps.saveConfig({ modelTiers: ladder });
|
|
25
|
+
return await inspect();
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
async function refreshedSnapshot() {
|
|
29
|
+
await deps.modelRuntime.refresh({ allowNetwork: false });
|
|
30
|
+
return deps.modelRuntime.getAvailableSnapshot();
|
|
31
|
+
}
|
|
32
|
+
function responseFor(config, models) {
|
|
33
|
+
const modelOptions = models.map((model) => modelOptionFor(model));
|
|
34
|
+
if (config.modelTiersError !== undefined) {
|
|
35
|
+
return {
|
|
36
|
+
contractVersion: 1,
|
|
37
|
+
configError: config.modelTiersError,
|
|
38
|
+
models: modelOptions,
|
|
39
|
+
rows: invalidRows(config.modelTiersError),
|
|
40
|
+
valid: false,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
if (config.modelTiers === undefined) {
|
|
44
|
+
return {
|
|
45
|
+
contractVersion: 1,
|
|
46
|
+
models: modelOptions,
|
|
47
|
+
rows: invalidRows("model tier configuration is missing"),
|
|
48
|
+
valid: false,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
const rows = validationRows(config.modelTiers, models);
|
|
52
|
+
return {
|
|
53
|
+
contractVersion: 1,
|
|
54
|
+
ladder: config.modelTiers,
|
|
55
|
+
models: modelOptions,
|
|
56
|
+
rows,
|
|
57
|
+
valid: MODEL_TIERS.every((tier) => rows[tier].valid),
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
function modelOptionFor(model) {
|
|
61
|
+
return {
|
|
62
|
+
model: { provider: model.provider, id: model.id },
|
|
63
|
+
...(model.name === undefined ? {} : { name: model.name }),
|
|
64
|
+
thinkingLevels: [...deps.thinkingLevelsForModel(model)],
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
function validationRows(ladder, models) {
|
|
68
|
+
return {
|
|
69
|
+
economy: validationFor("economy", ladder, models),
|
|
70
|
+
fast: validationFor("fast", ladder, models),
|
|
71
|
+
standard: validationFor("standard", ladder, models),
|
|
72
|
+
advanced: validationFor("advanced", ladder, models),
|
|
73
|
+
capable: validationFor("capable", ladder, models),
|
|
74
|
+
frontier: validationFor("frontier", ladder, models),
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
function validationFor(tier, ladder, models) {
|
|
78
|
+
try {
|
|
79
|
+
resolveTier(tier, ladder, {
|
|
80
|
+
models,
|
|
81
|
+
supportedThinkingLevels: (model) => deps.thinkingLevelsForModel(model),
|
|
82
|
+
});
|
|
83
|
+
return { valid: true };
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
return { valid: false, reason: error instanceof Error ? error.message : String(error) };
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
function invalidRows(reason) {
|
|
90
|
+
return {
|
|
91
|
+
economy: { valid: false, reason },
|
|
92
|
+
fast: { valid: false, reason },
|
|
93
|
+
standard: { valid: false, reason },
|
|
94
|
+
advanced: { valid: false, reason },
|
|
95
|
+
capable: { valid: false, reason },
|
|
96
|
+
frontier: { valid: false, reason },
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=modelTierSettingsService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modelTierSettingsService.js","sourceRoot":"","sources":["../../../src/server/sessions/modelTierSettingsService.ts"],"names":[],"mappings":"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"}
|