@yadsh/dsh-prompt-firewall 0.1.2 → 0.1.3
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 +1 -1
- package/compatibility.json +16 -0
- package/lib/client/index.js +11 -71
- package/lib/client/index.js.map +1 -1
- package/lib/client/sections.js +75 -0
- package/lib/client/sections.js.map +1 -0
- package/lib/client/styles.js +2 -13
- package/lib/client/styles.js.map +1 -1
- package/lib/client.js +712 -569
- package/lib/client.js.map +1 -1
- package/lib/types/audit.d.ts +1 -0
- package/lib/types/client/index.d.ts +1 -0
- package/lib/types/client/sections.d.ts +39 -0
- package/lib/types/client/styles.d.ts +1 -0
- package/lib/types/config.d.ts +1 -0
- package/lib/types/firewall.d.ts +1 -0
- package/lib/types/index.d.ts +1 -0
- package/lib/types/metrics.d.ts +1 -0
- package/lib/types/presets.d.ts +1 -0
- package/lib/types/rules.d.ts +1 -0
- package/lib/types/types.d.ts +1 -0
- package/package.json +12 -7
- package/lib/client/settings-store.js +0 -11
- package/lib/client/settings-store.js.map +0 -1
- package/lib/types/client/settings-store.d.ts +0 -11
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ Prompt hygiene, observability, and policy middleware for [DeepSeek Harness](http
|
|
|
10
10
|
|
|
11
11
|
`dsh-prompt-firewall` inspects the final structured system-prompt assembly, audits every section, and can remove explicitly denied sections without changing user messages, tool calls, contexts, variables, or allowed section objects. It is a policy and observability layer, not a security sandbox.
|
|
12
12
|
|
|
13
|
-
[Specification](
|
|
13
|
+
[Specification](SPEC.md)
|
|
14
14
|
|
|
15
15
|
## Installation
|
|
16
16
|
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"deepseekHarness": {
|
|
3
|
+
"channel": "next",
|
|
4
|
+
"range": ">=0.1.1-rc.2 <0.2.0",
|
|
5
|
+
"testedReleases": [
|
|
6
|
+
"0.1.1-rc.2"
|
|
7
|
+
],
|
|
8
|
+
"requiredHostFeatures": [
|
|
9
|
+
"system-prompt"
|
|
10
|
+
],
|
|
11
|
+
"requiredClientFeatures": [
|
|
12
|
+
"settings.plugin.item"
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
"node": ">=20"
|
|
16
|
+
}
|
package/lib/client/index.js
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useCallback, useEffect, useMemo, useRef, useState, useSyncExternalStore, } from 'react';
|
|
3
2
|
import promptFirewallRemote from '@yadsh/dsh-prompt-firewall/remote';
|
|
4
|
-
import { bindSettingsExternalStore } from '
|
|
3
|
+
import { CardShell, bindSettingsExternalStore, registerSettingsCard, startVisibilityAwarePolling, } from '@yadsh/dsh-plugin-kit/client';
|
|
4
|
+
import { useCallback, useEffect, useMemo, useRef, useState, useSyncExternalStore } from 'react';
|
|
5
5
|
import { styles } from './styles.js';
|
|
6
|
+
import { AuditSection, InspectorSection, LastRequestSection, PolicySection, RulesSection, } from './sections.js';
|
|
6
7
|
const SETTINGS_NAMESPACE = 'prompt-firewall';
|
|
7
8
|
const REFRESH_INTERVAL_MS = 3_000;
|
|
8
|
-
const EMPTY_LIST = Object.freeze([]);
|
|
9
|
-
function list(config, field) {
|
|
10
|
-
return config?.[field] ?? EMPTY_LIST;
|
|
11
|
-
}
|
|
12
9
|
function displayError(error) {
|
|
13
10
|
if (error instanceof Error)
|
|
14
11
|
return error.message;
|
|
@@ -16,24 +13,14 @@ function displayError(error) {
|
|
|
16
13
|
return error;
|
|
17
14
|
return 'Could not load Prompt Inspector data.';
|
|
18
15
|
}
|
|
19
|
-
function ChevronDown() {
|
|
20
|
-
return (_jsx("svg", { className: "dsh-plugin-card__chevron", viewBox: "0 0 14 14", fill: "none", "aria-hidden": "true", children: _jsx("path", { d: "m3.5 5.25 3.5 3.5 3.5-3.5", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round" }) }));
|
|
21
|
-
}
|
|
22
|
-
function Toggle(props) {
|
|
23
|
-
return (_jsxs("label", { className: "pf-toggle-row", children: [_jsxs("span", { className: "pf-toggle-copy", children: [_jsx("strong", { children: props.label }), _jsx("span", { children: props.hint })] }), _jsx("input", { className: "pf-toggle", type: "checkbox", checked: props.checked, disabled: props.disabled, onChange: event => { props.onChange(event.currentTarget.checked); } })] }));
|
|
24
|
-
}
|
|
25
16
|
function PromptFirewallCard({ scope, inspect, setSectionPolicy }) {
|
|
26
17
|
const settingsStore = useMemo(() => bindSettingsExternalStore(scope), [scope]);
|
|
27
18
|
const settings = useSyncExternalStore(settingsStore.subscribe, settingsStore.getSnapshot, settingsStore.getSnapshot);
|
|
28
19
|
const config = settings.value;
|
|
29
20
|
const writable = settings.status === 'ready' && settings.writable;
|
|
30
|
-
const [open, setOpen] = useState(false);
|
|
31
21
|
const [inspector, setInspector] = useState(null);
|
|
32
22
|
const [error, setError] = useState(null);
|
|
33
23
|
const [refreshing, setRefreshing] = useState(false);
|
|
34
|
-
const [rule, setRule] = useState('');
|
|
35
|
-
const [ruleKind, setRuleKind] = useState('exact');
|
|
36
|
-
const [ruleAction, setRuleAction] = useState('block');
|
|
37
24
|
const activeRequest = useRef(0);
|
|
38
25
|
const refresh = useCallback(async () => {
|
|
39
26
|
const request = ++activeRequest.current;
|
|
@@ -60,10 +47,9 @@ function PromptFirewallCard({ scope, inspect, setSectionPolicy }) {
|
|
|
60
47
|
}
|
|
61
48
|
}, [inspect]);
|
|
62
49
|
useEffect(() => {
|
|
63
|
-
|
|
64
|
-
const interval = window.setInterval(() => { void refresh(); }, REFRESH_INTERVAL_MS);
|
|
50
|
+
const stopPolling = startVisibilityAwarePolling(refresh, REFRESH_INTERVAL_MS);
|
|
65
51
|
return () => {
|
|
66
|
-
|
|
52
|
+
stopPolling();
|
|
67
53
|
activeRequest.current += 1;
|
|
68
54
|
};
|
|
69
55
|
}, [refresh]);
|
|
@@ -86,50 +72,10 @@ function PromptFirewallCard({ scope, inspect, setSectionPolicy }) {
|
|
|
86
72
|
setError(displayError(result.error));
|
|
87
73
|
await refresh();
|
|
88
74
|
}, [refresh, scope, setSectionPolicy]);
|
|
89
|
-
const addRule = (event) => {
|
|
90
|
-
event.preventDefault();
|
|
91
|
-
const value = rule.trim();
|
|
92
|
-
if (value.length === 0)
|
|
93
|
-
return;
|
|
94
|
-
const field = ruleAction === 'protect'
|
|
95
|
-
? 'protectedSections'
|
|
96
|
-
: ruleKind === 'exact'
|
|
97
|
-
? `${ruleAction === 'allow' ? 'allowed' : 'blocked'}Sections`
|
|
98
|
-
: ruleKind === 'prefix'
|
|
99
|
-
? `${ruleAction === 'allow' ? 'allowed' : 'blocked'}Prefixes`
|
|
100
|
-
: `${ruleAction === 'allow' ? 'allowed' : 'blocked'}Patterns`;
|
|
101
|
-
const values = [...new Set([...list(config, field), value])];
|
|
102
|
-
setPath([field], values);
|
|
103
|
-
setRule('');
|
|
104
|
-
};
|
|
105
|
-
const explicitRules = [
|
|
106
|
-
...list(config, 'allowedSections').map(value => ({ field: 'allowedSections', value, kind: 'exact', action: 'allow' })),
|
|
107
|
-
...list(config, 'blockedSections').map(value => ({ field: 'blockedSections', value, kind: 'exact', action: 'block' })),
|
|
108
|
-
...list(config, 'protectedSections').map(value => ({ field: 'protectedSections', value, kind: 'exact', action: 'protect' })),
|
|
109
|
-
...list(config, 'allowedPrefixes').map(value => ({ field: 'allowedPrefixes', value, kind: 'prefix', action: 'allow' })),
|
|
110
|
-
...list(config, 'blockedPrefixes').map(value => ({ field: 'blockedPrefixes', value, kind: 'prefix', action: 'block' })),
|
|
111
|
-
...list(config, 'allowedPatterns').map(value => ({ field: 'allowedPatterns', value, kind: 'glob', action: 'allow' })),
|
|
112
|
-
...list(config, 'blockedPatterns').map(value => ({ field: 'blockedPatterns', value, kind: 'glob', action: 'block' })),
|
|
113
|
-
];
|
|
114
75
|
const enabled = config?.enabled ?? true;
|
|
115
|
-
const last = inspector?.last ?? null;
|
|
116
|
-
const effectiveMode = inspector?.config.mode ?? config?.mode ?? 'blocklist';
|
|
117
|
-
const configuredMode = config?.mode
|
|
118
|
-
?? (config?.preset === 'strict' ? 'allowlist' : config?.preset === 'audit-only' ? 'audit' : 'blocklist');
|
|
119
76
|
if (settings.status === 'unavailable')
|
|
120
77
|
return null;
|
|
121
|
-
return (_jsxs(
|
|
122
|
-
const value = event.currentTarget.value;
|
|
123
|
-
if (value === '')
|
|
124
|
-
void scope.unset('preset');
|
|
125
|
-
else
|
|
126
|
-
setPath(['preset'], value);
|
|
127
|
-
}, children: [_jsx("option", { value: "", children: "None" }), _jsx("option", { value: "clean", children: "Clean" }), _jsx("option", { value: "strict", children: "Strict" }), _jsx("option", { value: "audit-only", children: "Audit only" })] })] }), _jsxs("label", { className: "pf-field", children: [_jsx("span", { children: "Unknown plugin sections" }), _jsxs("select", { className: "pf-control", value: config?.unknownPluginPolicy ?? 'allow', disabled: !writable, onChange: event => { setPath(['unknownPluginPolicy'], event.currentTarget.value); }, children: [_jsx("option", { value: "allow", children: "Allow" }), _jsx("option", { value: "block", children: "Block" })] })] })] })] }), _jsxs("section", { className: "pf-section", children: [_jsxs("div", { className: "pf-section-title", children: [_jsx("h3", { children: "Last request" }), _jsx("button", { className: "pf-btn", disabled: refreshing, onClick: () => { void refresh(); }, children: refreshing ? 'Refreshing…' : 'Refresh' })] }), _jsxs("div", { className: "pf-stats", children: [_jsxs("div", { className: "pf-stat", children: [_jsx("b", { children: last?.totalSections ?? '—' }), _jsx("span", { children: "sections" })] }), _jsxs("div", { className: "pf-stat", children: [_jsx("b", { children: last?.blockedSections ?? '—' }), _jsx("span", { children: "blocked" })] }), _jsxs("div", { className: "pf-stat", children: [_jsx("b", { children: last === null ? '—' : `~${last.estimatedTokensRemoved}` }), _jsx("span", { children: "tokens removed (estimate)" })] }), _jsxs("div", { className: "pf-stat", children: [_jsx("b", { children: effectiveMode }), _jsx("span", { children: "effective mode" })] })] })] }), _jsxs("section", { className: "pf-section", children: [_jsxs("div", { className: "pf-section-title", children: [_jsx("h3", { children: "Rules" }), _jsx("span", { className: "pf-muted", children: "Explicit rules; preset rules are applied in addition" })] }), _jsxs("form", { className: "pf-editor", onSubmit: addRule, children: [_jsx("input", { className: "pf-control", value: rule, disabled: !writable, placeholder: "plugin:example or announcement:*", onChange: event => { setRule(event.currentTarget.value); } }), _jsxs("select", { className: "pf-control", value: ruleKind, disabled: !writable || ruleAction === 'protect', onChange: event => { setRuleKind(event.currentTarget.value); }, children: [_jsx("option", { value: "exact", children: "Exact" }), _jsx("option", { value: "prefix", children: "Prefix" }), _jsx("option", { value: "glob", children: "Glob" })] }), _jsxs("select", { className: "pf-control", value: ruleAction, disabled: !writable, onChange: event => {
|
|
128
|
-
const action = event.currentTarget.value;
|
|
129
|
-
setRuleAction(action);
|
|
130
|
-
if (action === 'protect')
|
|
131
|
-
setRuleKind('exact');
|
|
132
|
-
}, children: [_jsx("option", { value: "block", children: "Block" }), _jsx("option", { value: "allow", children: "Allow" }), _jsx("option", { value: "protect", children: "Protect" })] }), _jsx("button", { className: "pf-btn primary", type: "submit", disabled: !writable || rule.trim().length === 0, children: "Add rule" })] }), _jsxs("div", { className: "pf-rules", children: [explicitRules.length === 0 && _jsx("div", { className: "pf-empty", children: "No explicit rules yet." }), explicitRules.map(item => _jsxs("div", { className: "pf-rule", children: [_jsx("code", { title: item.value, children: item.value }), _jsx("span", { className: "pf-pill pf-kind", children: item.kind }), _jsx("span", { className: `pf-pill ${item.action}`, children: item.action }), _jsx("button", { className: "pf-btn link danger", disabled: !writable, onClick: () => { setPath([item.field], list(config, item.field).filter(value => value !== item.value)); }, children: "Remove" })] }, `${item.field}:${item.value}`))] })] }), _jsxs("details", { className: "pf-advanced", children: [_jsx("summary", { children: "Audit & metrics" }), _jsxs("div", { className: "pf-advanced-content pf-grid", children: [_jsx(Toggle, { checked: config?.audit?.enabled ?? true, disabled: !writable, label: "Audit history", hint: "Keep recent assemblies in Host memory.", onChange: value => { setPath(['audit', 'enabled'], value); } }), _jsx(Toggle, { checked: config?.audit?.includePreview ?? false, disabled: !writable, label: "Section preview", hint: "Expose only the configured prefix in Inspector.", onChange: value => { setPath(['audit', 'includePreview'], value); } }), _jsx(Toggle, { checked: config?.audit?.logBlocked ?? true, disabled: !writable, label: "Log blocked sections", hint: "Names and sizes only unless preview is enabled.", onChange: value => { setPath(['audit', 'logBlocked'], value); } }), _jsx(Toggle, { checked: config?.audit?.logAllowed ?? false, disabled: !writable, label: "Log allowed sections", hint: "Useful for initial policy discovery.", onChange: value => { setPath(['audit', 'logAllowed'], value); } }), _jsx(Toggle, { checked: config?.audit?.highlightNewSections ?? true, disabled: !writable, label: "Highlight new plugin sections", hint: "Informational only; never blocks automatically.", onChange: value => { setPath(['audit', 'highlightNewSections'], value); } }), _jsx(Toggle, { checked: config?.metrics?.enabled ?? true, disabled: !writable, label: "Aggregate metrics", hint: "No arbitrary section-name labels.", onChange: value => { setPath(['metrics', 'enabled'], value); } }), _jsxs("label", { className: "pf-field", children: [_jsx("span", { children: "Preview characters" }), _jsx("input", { className: "pf-control", type: "number", min: "0", step: "1", value: config?.audit?.previewChars ?? 160, disabled: !writable, onChange: event => { setPath(['audit', 'previewChars'], Number(event.currentTarget.value)); } })] }), _jsxs("label", { className: "pf-field", children: [_jsx("span", { children: "History size" }), _jsx("input", { className: "pf-control", type: "number", min: "0", step: "1", value: config?.audit?.historySize ?? 100, disabled: !writable, onChange: event => { setPath(['audit', 'historySize'], Number(event.currentTarget.value)); } })] })] })] }), _jsxs("section", { className: "pf-section", children: [_jsxs("div", { className: "pf-section-title", children: [_jsx("h3", { children: "Prompt Inspector" }), _jsx("span", { className: "pf-muted", children: "Updates every 3 seconds" })] }), _jsx("div", { className: "pf-table-wrap", children: last === null ? _jsx("div", { className: "pf-empty", children: "No audited prompt assembly yet." }) : _jsxs("table", { className: "pf-table", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: "Section" }), _jsx("th", { children: "Size" }), _jsx("th", { children: "Decision" }), _jsx("th", { children: "Reason" }), _jsx("th", { children: "Policy" })] }) }), _jsx("tbody", { children: last.sections.map((section, index) => _jsxs("tr", { children: [_jsxs("td", { children: [_jsxs("div", { className: "pf-section-name", children: [_jsx("span", { children: section.name }), section.isNew && _jsx("span", { className: "pf-new", children: "NEW" }), section.suspicious && _jsx("span", { className: "pf-warn", children: "POSSIBLE ANNOUNCEMENT" })] }), section.preview !== undefined && _jsx("div", { className: "pf-preview", children: section.preview })] }), _jsxs("td", { children: ["~", section.estimatedTokens, " t", _jsx("br", {}), _jsxs("span", { className: "pf-muted", children: [section.chars, " chars"] })] }), _jsx("td", { children: _jsx("span", { className: `pf-pill ${section.decision === 'blocked' ? 'block' : section.decision === 'protected' ? 'protect' : 'allow'}`, children: section.decision }) }), _jsx("td", { children: section.reason }), _jsx("td", { children: _jsxs("div", { className: "pf-actions", children: [_jsx("button", { className: "pf-btn link", disabled: !writable, onClick: () => { void setPolicy(section.name, 'allow'); }, children: "Allow" }), _jsx("button", { className: "pf-btn link danger", disabled: !writable, onClick: () => { void setPolicy(section.name, 'block'); }, children: "Block" }), _jsx("button", { className: "pf-btn link", disabled: !writable, onClick: () => { void setPolicy(section.name, 'protect'); }, children: "Protect" }), _jsx("button", { className: "pf-btn link", disabled: !writable, onClick: () => { void setPolicy(section.name, 'clear'); }, children: "Clear" })] }) })] }, `${section.name}:${index}`)) })] }) }), _jsx("p", { className: "pf-footer-note", children: "Token counts are estimates. Prompt Firewall is a hygiene and observability layer, not a security boundary." })] })] }) : null] }));
|
|
78
|
+
return (_jsxs(CardShell, { title: "Prompt Firewall", description: "Prompt hygiene, section policy, and request-level observability.", badge: _jsx("span", { className: "dsh-plugin-card__badge", children: enabled ? 'Enabled' : 'Disabled' }), label: open => `${open ? 'Hide' : 'Show'} settings: Prompt Firewall`, bodyClassName: "pf-body", children: [error !== null && _jsx("div", { className: "pf-error", children: error }), _jsx(PolicySection, { config: config, writable: writable, setPath: setPath, unsetPreset: () => { void scope.unset('preset'); } }), _jsx(LastRequestSection, { config: config, inspector: inspector, refreshing: refreshing, onRefresh: () => { void refresh(); } }), _jsx(RulesSection, { config: config, writable: writable, setPath: setPath }), _jsx(AuditSection, { config: config, writable: writable, setPath: setPath }), _jsx(InspectorSection, { inspector: inspector, writable: writable, setPolicy: setPolicy })] }));
|
|
133
79
|
}
|
|
134
80
|
export const inject = ['slots', 'settingsScope', 'remote'];
|
|
135
81
|
/** Mount the generated Remote contribution and register the native Settings card. */
|
|
@@ -145,19 +91,13 @@ export async function apply(ctx) {
|
|
|
145
91
|
inspect: () => injectedRemote.promptFirewall.inspect(),
|
|
146
92
|
setSectionPolicy: (section, policy, revision) => (injectedRemote.promptFirewall.setSectionPolicy(section, policy, revision)),
|
|
147
93
|
};
|
|
148
|
-
|
|
149
|
-
style.dataset.plugin = 'dsh-prompt-firewall';
|
|
150
|
-
style.textContent = styles;
|
|
151
|
-
document.head.appendChild(style);
|
|
152
|
-
const disposeSlot = remoteCtx.slots.inject('settings.plugin.item', () => remoteCtx.slots.register({
|
|
153
|
-
name: 'settings.plugin.item',
|
|
94
|
+
return registerSettingsCard(remoteCtx, {
|
|
154
95
|
key: SETTINGS_NAMESPACE,
|
|
96
|
+
pluginName: 'dsh-prompt-firewall',
|
|
97
|
+
styles,
|
|
98
|
+
component: PromptFirewallCard,
|
|
155
99
|
inject: () => face,
|
|
156
|
-
}
|
|
157
|
-
return () => {
|
|
158
|
-
disposeSlot();
|
|
159
|
-
style.remove();
|
|
160
|
-
};
|
|
100
|
+
});
|
|
161
101
|
});
|
|
162
102
|
}
|
|
163
103
|
catch (cause) {
|
package/lib/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// Body sections of the Prompt Firewall settings card. Each section owns its
|
|
3
|
+
// local UI state only; the card parent keeps the settings store, polling, and
|
|
4
|
+
// the remote face.
|
|
5
|
+
import { useState } from 'react';
|
|
6
|
+
const EMPTY_LIST = Object.freeze([]);
|
|
7
|
+
function list(config, field) {
|
|
8
|
+
return config?.[field] ?? EMPTY_LIST;
|
|
9
|
+
}
|
|
10
|
+
export function Toggle(props) {
|
|
11
|
+
return (_jsxs("label", { className: "pf-toggle-row", children: [_jsxs("span", { className: "pf-toggle-copy", children: [_jsx("strong", { children: props.label }), _jsx("span", { children: props.hint })] }), _jsx("input", { className: "pf-toggle", type: "checkbox", checked: props.checked, disabled: props.disabled, onChange: event => { props.onChange(event.currentTarget.checked); } })] }));
|
|
12
|
+
}
|
|
13
|
+
export function PolicySection(props) {
|
|
14
|
+
const { config, writable, setPath } = props;
|
|
15
|
+
const configuredMode = config?.mode
|
|
16
|
+
?? (config?.preset === 'strict' ? 'allowlist' : config?.preset === 'audit-only' ? 'audit' : 'blocklist');
|
|
17
|
+
return (_jsxs("section", { className: "pf-section", children: [_jsxs("div", { className: "pf-section-title", children: [_jsx("h3", { children: "Policy" }), _jsx("span", { className: "pf-muted", children: "Changes apply live" })] }), _jsxs("div", { className: "pf-grid", children: [_jsx(Toggle, { checked: config?.enabled ?? true, disabled: !writable, label: "Firewall enabled", hint: "Keep auditing available when policy is off.", onChange: value => { setPath(['enabled'], value); } }), _jsx(Toggle, { checked: config?.protectCoreSections ?? true, disabled: !writable, label: "Protect core sections", hint: "Prevents ordinary rules from removing Harness internals.", onChange: value => { setPath(['protectCoreSections'], value); } }), _jsxs("label", { className: "pf-field", children: [_jsx("span", { children: "Mode" }), _jsxs("select", { className: "pf-control", value: configuredMode, disabled: !writable, onChange: event => { setPath(['mode'], event.currentTarget.value); }, children: [_jsx("option", { value: "off", children: "Off" }), _jsx("option", { value: "audit", children: "Audit only" }), _jsx("option", { value: "blocklist", children: "Blocklist" }), _jsx("option", { value: "allowlist", children: "Allowlist" })] })] }), _jsxs("label", { className: "pf-field", children: [_jsx("span", { children: "Preset" }), _jsxs("select", { className: "pf-control", value: config?.preset ?? '', disabled: !writable, onChange: event => {
|
|
18
|
+
const value = event.currentTarget.value;
|
|
19
|
+
if (value === '')
|
|
20
|
+
props.unsetPreset();
|
|
21
|
+
else
|
|
22
|
+
setPath(['preset'], value);
|
|
23
|
+
}, children: [_jsx("option", { value: "", children: "None" }), _jsx("option", { value: "clean", children: "Clean" }), _jsx("option", { value: "strict", children: "Strict" }), _jsx("option", { value: "audit-only", children: "Audit only" })] })] }), _jsxs("label", { className: "pf-field", children: [_jsx("span", { children: "Unknown plugin sections" }), _jsxs("select", { className: "pf-control", value: config?.unknownPluginPolicy ?? 'allow', disabled: !writable, onChange: event => { setPath(['unknownPluginPolicy'], event.currentTarget.value); }, children: [_jsx("option", { value: "allow", children: "Allow" }), _jsx("option", { value: "block", children: "Block" })] })] })] })] }));
|
|
24
|
+
}
|
|
25
|
+
export function LastRequestSection(props) {
|
|
26
|
+
const last = props.inspector?.last ?? null;
|
|
27
|
+
const effectiveMode = props.inspector?.config.mode ?? props.config?.mode ?? 'blocklist';
|
|
28
|
+
return (_jsxs("section", { className: "pf-section", children: [_jsxs("div", { className: "pf-section-title", children: [_jsx("h3", { children: "Last request" }), _jsx("button", { className: "pf-btn", disabled: props.refreshing, onClick: () => { props.onRefresh(); }, children: props.refreshing ? 'Refreshing…' : 'Refresh' })] }), _jsxs("div", { className: "pf-stats", children: [_jsxs("div", { className: "pf-stat", children: [_jsx("b", { children: last?.totalSections ?? '—' }), _jsx("span", { children: "sections" })] }), _jsxs("div", { className: "pf-stat", children: [_jsx("b", { children: last?.blockedSections ?? '—' }), _jsx("span", { children: "blocked" })] }), _jsxs("div", { className: "pf-stat", children: [_jsx("b", { children: last === null ? '—' : '~' + String(last.estimatedTokensRemoved) }), _jsx("span", { children: "tokens removed (estimate)" })] }), _jsxs("div", { className: "pf-stat", children: [_jsx("b", { children: effectiveMode }), _jsx("span", { children: "effective mode" })] })] })] }));
|
|
29
|
+
}
|
|
30
|
+
export function RulesSection(props) {
|
|
31
|
+
const { config, writable, setPath } = props;
|
|
32
|
+
const [rule, setRule] = useState('');
|
|
33
|
+
const [ruleKind, setRuleKind] = useState('exact');
|
|
34
|
+
const [ruleAction, setRuleAction] = useState('block');
|
|
35
|
+
const addRule = (event) => {
|
|
36
|
+
event.preventDefault();
|
|
37
|
+
const value = rule.trim();
|
|
38
|
+
if (value.length === 0)
|
|
39
|
+
return;
|
|
40
|
+
const field = ruleAction === 'protect'
|
|
41
|
+
? 'protectedSections'
|
|
42
|
+
: ruleKind === 'exact'
|
|
43
|
+
? `${ruleAction === 'allow' ? 'allowed' : 'blocked'}Sections`
|
|
44
|
+
: ruleKind === 'prefix'
|
|
45
|
+
? `${ruleAction === 'allow' ? 'allowed' : 'blocked'}Prefixes`
|
|
46
|
+
: `${ruleAction === 'allow' ? 'allowed' : 'blocked'}Patterns`;
|
|
47
|
+
const values = [...new Set([...list(config, field), value])];
|
|
48
|
+
setPath([field], values);
|
|
49
|
+
setRule('');
|
|
50
|
+
};
|
|
51
|
+
const explicitRules = [
|
|
52
|
+
...list(config, 'allowedSections').map(value => ({ field: 'allowedSections', value, kind: 'exact', action: 'allow' })),
|
|
53
|
+
...list(config, 'blockedSections').map(value => ({ field: 'blockedSections', value, kind: 'exact', action: 'block' })),
|
|
54
|
+
...list(config, 'protectedSections').map(value => ({ field: 'protectedSections', value, kind: 'exact', action: 'protect' })),
|
|
55
|
+
...list(config, 'allowedPrefixes').map(value => ({ field: 'allowedPrefixes', value, kind: 'prefix', action: 'allow' })),
|
|
56
|
+
...list(config, 'blockedPrefixes').map(value => ({ field: 'blockedPrefixes', value, kind: 'prefix', action: 'block' })),
|
|
57
|
+
...list(config, 'allowedPatterns').map(value => ({ field: 'allowedPatterns', value, kind: 'glob', action: 'allow' })),
|
|
58
|
+
...list(config, 'blockedPatterns').map(value => ({ field: 'blockedPatterns', value, kind: 'glob', action: 'block' })),
|
|
59
|
+
];
|
|
60
|
+
return (_jsxs("section", { className: "pf-section", children: [_jsxs("div", { className: "pf-section-title", children: [_jsx("h3", { children: "Rules" }), _jsx("span", { className: "pf-muted", children: "Explicit rules; preset rules are applied in addition" })] }), _jsxs("form", { className: "pf-editor", onSubmit: addRule, children: [_jsx("input", { className: "pf-control", value: rule, disabled: !writable, placeholder: "plugin:example or announcement:*", onChange: event => { setRule(event.currentTarget.value); } }), _jsxs("select", { className: "pf-control", value: ruleKind, disabled: !writable || ruleAction === 'protect', onChange: event => { setRuleKind(event.currentTarget.value); }, children: [_jsx("option", { value: "exact", children: "Exact" }), _jsx("option", { value: "prefix", children: "Prefix" }), _jsx("option", { value: "glob", children: "Glob" })] }), _jsxs("select", { className: "pf-control", value: ruleAction, disabled: !writable, onChange: event => {
|
|
61
|
+
const action = event.currentTarget.value;
|
|
62
|
+
setRuleAction(action);
|
|
63
|
+
if (action === 'protect')
|
|
64
|
+
setRuleKind('exact');
|
|
65
|
+
}, children: [_jsx("option", { value: "block", children: "Block" }), _jsx("option", { value: "allow", children: "Allow" }), _jsx("option", { value: "protect", children: "Protect" })] }), _jsx("button", { className: "pf-btn primary", type: "submit", disabled: !writable || rule.trim().length === 0, children: "Add rule" })] }), _jsxs("div", { className: "pf-rules", children: [explicitRules.length === 0 && _jsx("div", { className: "pf-empty", children: "No explicit rules yet." }), explicitRules.map(item => _jsxs("div", { className: "pf-rule", children: [_jsx("code", { title: item.value, children: item.value }), _jsx("span", { className: "pf-pill pf-kind", children: item.kind }), _jsx("span", { className: `pf-pill ${item.action}`, children: item.action }), _jsx("button", { className: "pf-btn link danger", disabled: !writable, onClick: () => { setPath([item.field], list(config, item.field).filter(value => value !== item.value)); }, children: "Remove" })] }, `${item.field}:${item.value}`))] })] }));
|
|
66
|
+
}
|
|
67
|
+
export function AuditSection(props) {
|
|
68
|
+
const { config, writable, setPath } = props;
|
|
69
|
+
return (_jsxs("details", { className: "pf-advanced", children: [_jsx("summary", { children: "Audit & metrics" }), _jsxs("div", { className: "pf-advanced-content pf-grid", children: [_jsx(Toggle, { checked: config?.audit?.enabled ?? true, disabled: !writable, label: "Audit history", hint: "Keep recent assemblies in Host memory.", onChange: value => { setPath(['audit', 'enabled'], value); } }), _jsx(Toggle, { checked: config?.audit?.includePreview ?? false, disabled: !writable, label: "Section preview", hint: "Expose only the configured prefix in Inspector.", onChange: value => { setPath(['audit', 'includePreview'], value); } }), _jsx(Toggle, { checked: config?.audit?.logBlocked ?? true, disabled: !writable, label: "Log blocked sections", hint: "Names and sizes only unless preview is enabled.", onChange: value => { setPath(['audit', 'logBlocked'], value); } }), _jsx(Toggle, { checked: config?.audit?.logAllowed ?? false, disabled: !writable, label: "Log allowed sections", hint: "Useful for initial policy discovery.", onChange: value => { setPath(['audit', 'logAllowed'], value); } }), _jsx(Toggle, { checked: config?.audit?.highlightNewSections ?? true, disabled: !writable, label: "Highlight new plugin sections", hint: "Informational only; never blocks automatically.", onChange: value => { setPath(['audit', 'highlightNewSections'], value); } }), _jsx(Toggle, { checked: config?.metrics?.enabled ?? true, disabled: !writable, label: "Aggregate metrics", hint: "No arbitrary section-name labels.", onChange: value => { setPath(['metrics', 'enabled'], value); } }), _jsxs("label", { className: "pf-field", children: [_jsx("span", { children: "Preview characters" }), _jsx("input", { className: "pf-control", type: "number", min: "0", step: "1", value: config?.audit?.previewChars ?? 160, disabled: !writable, onChange: event => { setPath(['audit', 'previewChars'], Number(event.currentTarget.value)); } })] }), _jsxs("label", { className: "pf-field", children: [_jsx("span", { children: "History size" }), _jsx("input", { className: "pf-control", type: "number", min: "0", step: "1", value: config?.audit?.historySize ?? 100, disabled: !writable, onChange: event => { setPath(['audit', 'historySize'], Number(event.currentTarget.value)); } })] })] })] }));
|
|
70
|
+
}
|
|
71
|
+
export function InspectorSection(props) {
|
|
72
|
+
const last = props.inspector?.last ?? null;
|
|
73
|
+
return (_jsxs("section", { className: "pf-section", children: [_jsxs("div", { className: "pf-section-title", children: [_jsx("h3", { children: "Prompt Inspector" }), _jsx("span", { className: "pf-muted", children: "Updates every 3 seconds" })] }), _jsx("div", { className: "pf-table-wrap", children: last === null ? _jsx("div", { className: "pf-empty", children: "No audited prompt assembly yet." }) : _jsxs("table", { className: "pf-table", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: "Section" }), _jsx("th", { children: "Size" }), _jsx("th", { children: "Decision" }), _jsx("th", { children: "Reason" }), _jsx("th", { children: "Policy" })] }) }), _jsx("tbody", { children: last.sections.map((section, index) => _jsxs("tr", { children: [_jsxs("td", { children: [_jsxs("div", { className: "pf-section-name", children: [_jsx("span", { children: section.name }), section.isNew && _jsx("span", { className: "pf-new", children: "NEW" }), section.suspicious && _jsx("span", { className: "pf-warn", children: "POSSIBLE ANNOUNCEMENT" })] }), section.preview !== undefined && _jsx("div", { className: "pf-preview", children: section.preview })] }), _jsxs("td", { children: ["~", section.estimatedTokens, " t", _jsx("br", {}), _jsxs("span", { className: "pf-muted", children: [section.chars, " chars"] })] }), _jsx("td", { children: _jsx("span", { className: `pf-pill ${section.decision === 'blocked' ? 'block' : section.decision === 'protected' ? 'protect' : 'allow'}`, children: section.decision }) }), _jsx("td", { children: section.reason }), _jsx("td", { children: _jsxs("div", { className: "pf-actions", children: [_jsx("button", { className: "pf-btn link", disabled: !props.writable, onClick: () => { void props.setPolicy(section.name, 'allow'); }, children: "Allow" }), _jsx("button", { className: "pf-btn link danger", disabled: !props.writable, onClick: () => { void props.setPolicy(section.name, 'block'); }, children: "Block" }), _jsx("button", { className: "pf-btn link", disabled: !props.writable, onClick: () => { void props.setPolicy(section.name, 'protect'); }, children: "Protect" }), _jsx("button", { className: "pf-btn link", disabled: !props.writable, onClick: () => { void props.setPolicy(section.name, 'clear'); }, children: "Clear" })] }) })] }, `${section.name}:${index}`)) })] }) }), _jsx("p", { className: "pf-footer-note", children: "Token counts are estimates. Prompt Firewall is a hygiene and observability layer, not a security boundary." })] }));
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=sections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sections.js","sourceRoot":"","sources":["../../src/client/sections.tsx"],"names":[],"mappings":"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"}
|
package/lib/client/styles.js
CHANGED
|
@@ -1,16 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
.dsh-plugin-card:hover{border-color:var(--dsw-alias-label-dimmed)}
|
|
4
|
-
.dsh-plugin-card--open{background:var(--dsw-alias-bg-layer-2);border-color:var(--dsw-alias-label-dimmed)}
|
|
5
|
-
.dsh-plugin-card__header{appearance:none;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}
|
|
6
|
-
.dsh-plugin-card__header:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:-2px}
|
|
7
|
-
.dsh-plugin-card__head-text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}
|
|
8
|
-
.dsh-plugin-card__name{color:var(--dsw-alias-label-primary);font-size:15px;font-weight:600;line-height:1.4}
|
|
9
|
-
.dsh-plugin-card__description{color:var(--dsw-alias-label-tertiary);font-size:13px;line-height:1.5}
|
|
10
|
-
.dsh-plugin-card__badge{white-space:nowrap;background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-label-secondary);border-radius:999px;flex:none;padding:1px 8px;font-size:11px;font-weight:500;line-height:17px}
|
|
11
|
-
.dsh-plugin-card__chevron{width:14px;height:14px;color:var(--dsw-alias-label-tertiary);flex:none;transition:transform .16s}
|
|
12
|
-
.dsh-plugin-card--open .dsh-plugin-card__chevron{transform:rotate(180deg)}
|
|
13
|
-
.dsh-plugin-card__body{border-top:1px solid var(--dsw-alias-border-l2);margin:0 16px;padding-bottom:8px}
|
|
1
|
+
import { PLUGIN_CARD_SHELL_CSS } from '@yadsh/dsh-plugin-kit/client';
|
|
2
|
+
export const styles = `${PLUGIN_CARD_SHELL_CSS}
|
|
14
3
|
.pf-body,.pf-body *{box-sizing:border-box}
|
|
15
4
|
.pf-body{padding-top:16px;display:grid;gap:18px;color:var(--dsw-alias-label-primary)}
|
|
16
5
|
.pf-section{display:grid;gap:12px}.pf-section-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.pf-section-title h3{font-size:13px;margin:0}.pf-muted{color:var(--dsw-alias-label-tertiary);font-size:12px;margin:0;line-height:1.5}
|
package/lib/client/styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/client/styles.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAAW
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/client/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAEpE,MAAM,CAAC,MAAM,MAAM,GAAW,GAAG,qBAAqB;;;;;;;;;;;;;;;CAerD,CAAA"}
|