@yadsh/dsh-prompt-firewall 0.2.1 → 0.2.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.
@@ -2,15 +2,9 @@
2
2
  "deepseekHarness": {
3
3
  "channel": "next",
4
4
  "range": ">=0.1.5-rc.2 <0.2.0",
5
- "testedReleases": [
6
- "0.1.5-rc.2"
7
- ],
8
- "requiredHostFeatures": [
9
- "system-prompt"
10
- ],
11
- "requiredClientFeatures": [
12
- "settings.plugin.item"
13
- ]
5
+ "testedReleases": ["0.1.5-rc.2"],
6
+ "requiredHostFeatures": ["system-prompt"],
7
+ "requiredClientFeatures": ["settings.plugin.item"]
14
8
  },
15
9
  "node": ">=20"
16
10
  }
package/lib/audit.js CHANGED
@@ -1,22 +1,22 @@
1
1
  const ANNOUNCEMENT_MARKERS = Object.freeze([
2
- 'installed plugin',
3
- '本机已安装',
4
- '用户提到',
5
- 'when user mentions',
2
+ "installed plugin",
3
+ "本机已安装",
4
+ "用户提到",
5
+ "when user mentions",
6
6
  ]);
7
7
  export function estimateTokens(chars) {
8
8
  return Math.ceil(chars / 4);
9
9
  }
10
10
  export function looksLikeAnnouncement(text) {
11
- const normalized = text.toLocaleLowerCase('en-US');
12
- return ANNOUNCEMENT_MARKERS.some(marker => normalized.includes(marker));
11
+ const normalized = text.toLocaleLowerCase("en-US");
12
+ return ANNOUNCEMENT_MARKERS.some((marker) => normalized.includes(marker));
13
13
  }
14
14
  function auditDecision(decision) {
15
- if (decision.action === 'block')
16
- return 'blocked';
17
- if (decision.action === 'protect')
18
- return 'protected';
19
- return 'allowed';
15
+ if (decision.action === "block")
16
+ return "blocked";
17
+ if (decision.action === "protect")
18
+ return "protected";
19
+ return "allowed";
20
20
  }
21
21
  export function createSectionAudit(section, decision, config) {
22
22
  const chars = section.text.length;
@@ -26,13 +26,15 @@ export function createSectionAudit(section, decision, config) {
26
26
  reason: decision.reason,
27
27
  chars,
28
28
  estimatedTokens: estimateTokens(chars),
29
- ...(config.includePreview ? { preview: section.text.slice(0, config.previewChars) } : {}),
29
+ ...(config.includePreview
30
+ ? { preview: section.text.slice(0, config.previewChars) }
31
+ : {}),
30
32
  ...(looksLikeAnnouncement(section.text) ? { suspicious: true } : {}),
31
33
  };
32
34
  }
33
35
  export function createAuditResult(sections, decisions, config, bypassReason) {
34
36
  if (sections.length !== decisions.length) {
35
- throw new TypeError('section and decision counts must match');
37
+ throw new TypeError("section and decision counts must match");
36
38
  }
37
39
  const audited = sections.map((section, index) => {
38
40
  const decision = decisions[index];
@@ -41,8 +43,8 @@ export function createAuditResult(sections, decisions, config, bypassReason) {
41
43
  return createSectionAudit(section, decision, config);
42
44
  });
43
45
  const charsBefore = audited.reduce((sum, section) => sum + section.chars, 0);
44
- const charsRemoved = audited.reduce((sum, section) => sum + (section.decision === 'blocked' ? section.chars : 0), 0);
45
- const blockedSections = audited.filter(section => section.decision === 'blocked').length;
46
+ const charsRemoved = audited.reduce((sum, section) => sum + (section.decision === "blocked" ? section.chars : 0), 0);
47
+ const blockedSections = audited.filter((section) => section.decision === "blocked").length;
46
48
  const charsAfter = charsBefore - charsRemoved;
47
49
  return {
48
50
  timestamp: Date.now(),
@@ -62,7 +64,7 @@ export function createAuditResult(sections, decisions, config, bypassReason) {
62
64
  function cloneAudit(result) {
63
65
  return {
64
66
  ...result,
65
- sections: result.sections.map(section => ({ ...section })),
67
+ sections: result.sections.map((section) => ({ ...section })),
66
68
  };
67
69
  }
68
70
  export class AuditStore {
@@ -85,7 +87,7 @@ export class AuditStore {
85
87
  for (const section of result.sections) {
86
88
  const known = this.known.get(section.name);
87
89
  if (known === undefined) {
88
- if (this.highlightNewSections && section.name.startsWith('plugin:'))
90
+ if (this.highlightNewSections && section.name.startsWith("plugin:"))
89
91
  section.isNew = true;
90
92
  this.known.set(section.name, {
91
93
  name: section.name,
@@ -114,7 +116,7 @@ export class AuditStore {
114
116
  }
115
117
  knownSections() {
116
118
  return [...this.known.values()]
117
- .map(section => ({ ...section }))
119
+ .map((section) => ({ ...section }))
118
120
  .sort((left, right) => left.name.localeCompare(right.name));
119
121
  }
120
122
  }
package/lib/audit.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AASA,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,kBAAkB;IAClB,OAAO;IACP,MAAM;IACN,oBAAoB;CACrB,CAAC,CAAA;AAEF,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAClD,OAAO,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;AACzE,CAAC;AAED,SAAS,aAAa,CAAC,QAA0B;IAC/C,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,SAAS,CAAA;IACjD,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,WAAW,CAAA;IACrD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAAwB,EACxB,QAA0B,EAC1B,MAA6B;IAE7B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAA;IACjC,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC;QACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,KAAK;QACL,eAAe,EAAE,cAAc,CAAC,KAAK,CAAC;QACtC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,GAAG,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrE,CAAA;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,QAAoC,EACpC,SAAsC,EACtC,MAA6B,EAC7B,YAAqB;IAErB,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;QACzC,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAA;IAC/D,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QAC9C,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;QACjC,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAA;QACxF,OAAO,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;IACtD,CAAC,CAAC,CAAA;IACF,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAC5E,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CACjC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAC5E,CAAC,CACF,CAAA;IACD,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM,CAAA;IACxF,MAAM,UAAU,GAAG,WAAW,GAAG,YAAY,CAAA;IAE7C,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,aAAa,EAAE,OAAO,CAAC,MAAM;QAC7B,eAAe,EAAE,OAAO,CAAC,MAAM,GAAG,eAAe;QACjD,eAAe;QACf,WAAW;QACX,UAAU;QACV,YAAY;QACZ,qBAAqB,EAAE,cAAc,CAAC,WAAW,CAAC;QAClD,oBAAoB,EAAE,cAAc,CAAC,UAAU,CAAC;QAChD,sBAAsB,EAAE,cAAc,CAAC,YAAY,CAAC;QACpD,QAAQ,EAAE,OAAO;QACjB,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;KACxE,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,MAAyB;IAC3C,OAAO;QACL,GAAG,MAAM;QACT,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;KAC3D,CAAA;AACH,CAAC;AAED,MAAM,OAAO,UAAU;IAKX,WAAW;IACX,oBAAoB;IALb,OAAO,GAAwB,EAAE,CAAA;IACjC,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAA;IAExD,YACU,WAAmB,EACnB,oBAA6B;2BAD7B,WAAW;oCACX,oBAAoB;IAC3B,CAAC;IAEJ,SAAS,CAAC,WAAmB,EAAE,oBAAoB,GAAG,IAAI,CAAC,oBAAoB;QAC7E,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAA;QAChD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;YACtC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,CAAA;QAC3D,CAAC;IACH,CAAC;IAED,MAAM,CAAC,MAAyB;QAC9B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,IAAI,CAAC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;oBAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAA;gBACzF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;oBAC3B,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,WAAW,EAAE,MAAM,CAAC,SAAS;oBAC7B,UAAU,EAAE,MAAM,CAAC,SAAS;oBAC5B,YAAY,EAAE,CAAC;iBAChB,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAA;gBACnC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAA;YACzB,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC;YAAE,OAAM;QAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;QACrC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IAClE,CAAC;IAED,IAAI;QACF,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAChC,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IACrD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACrC,CAAC;IAED,aAAa;QACX,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aAC5B,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;aAChC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IAC/D,CAAC;CACF"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,23 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import promptFirewallRemote from '@yadsh/dsh-prompt-firewall/remote';
3
- import { CardShell, bindSettingsExternalStore, registerSettingsCard, startVisibilityAwarePolling, } from '@yadsh/dsh-plugin-kit/client';
4
- import { useCallback, useEffect, useMemo, useRef, useState, useSyncExternalStore } from 'react';
5
- import { styles } from './styles.js';
6
- import { AuditSection, InspectorSection, LastRequestSection, PolicySection, RulesSection, } from './sections.js';
7
- const SETTINGS_NAMESPACE = 'prompt-firewall';
2
+ import promptFirewallRemote from "@yadsh/dsh-prompt-firewall/remote";
3
+ import { CardShell, bindSettingsExternalStore, registerSettingsCard, startVisibilityAwarePolling, } from "@yadsh/dsh-plugin-kit/client";
4
+ import { useCallback, useEffect, useMemo, useRef, useState, useSyncExternalStore, } from "react";
5
+ import { styles } from "./styles.js";
6
+ import { AuditSection, InspectorSection, LastRequestSection, PolicySection, RulesSection, } from "./sections.js";
7
+ const SETTINGS_NAMESPACE = "prompt-firewall";
8
8
  const REFRESH_INTERVAL_MS = 3_000;
9
9
  function displayError(error) {
10
10
  if (error instanceof Error)
11
11
  return error.message;
12
- if (typeof error === 'string')
12
+ if (typeof error === "string")
13
13
  return error;
14
- return 'Could not load Prompt Inspector data.';
14
+ return "Could not load Prompt Inspector data.";
15
15
  }
16
16
  function PromptFirewallCard({ scope, inspect, setSectionPolicy }) {
17
17
  const settingsStore = useMemo(() => bindSettingsExternalStore(scope), [scope]);
18
18
  const settings = useSyncExternalStore(settingsStore.subscribe, settingsStore.getSnapshot, settingsStore.getSnapshot);
19
19
  const config = settings.value;
20
- const writable = settings.status === 'ready' && settings.writable;
20
+ const writable = settings.status === "ready" && settings.writable;
21
21
  const [inspector, setInspector] = useState(null);
22
22
  const [error, setError] = useState(null);
23
23
  const [refreshing, setRefreshing] = useState(false);
@@ -62,7 +62,7 @@ function PromptFirewallCard({ scope, inspect, setSectionPolicy }) {
62
62
  return;
63
63
  }
64
64
  const current = scope.getSnapshot().value;
65
- const parent = field === 'audit' ? current?.audit : current?.metrics;
65
+ const parent = field === "audit" ? current?.audit : current?.metrics;
66
66
  void scope.set(field, { ...parent, [nested]: value });
67
67
  }, [scope]);
68
68
  const setPolicy = useCallback(async (name, policy) => {
@@ -73,27 +73,33 @@ function PromptFirewallCard({ scope, inspect, setSectionPolicy }) {
73
73
  await refresh();
74
74
  }, [refresh, scope, setSectionPolicy]);
75
75
  const enabled = config?.enabled ?? true;
76
- if (settings.status === 'unavailable')
76
+ if (settings.status === "unavailable")
77
77
  return 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 })] }));
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: () => {
79
+ void scope.unset("preset");
80
+ } }), _jsx(LastRequestSection, { config: config, inspector: inspector, refreshing: refreshing, onRefresh: () => {
81
+ void refresh();
82
+ } }), _jsx(RulesSection, { config: config, writable: writable, setPath: setPath }), _jsx(AuditSection, { config: config, writable: writable, setPath: setPath }), _jsx(InspectorSection, { inspector: inspector, writable: writable, setPolicy: setPolicy })] }));
79
83
  }
80
- export const inject = ['slots', 'settingsScope', 'remote'];
84
+ export const inject = ["slots", "settingsScope", "remote"];
81
85
  /** Mount the generated Remote contribution and register the native Settings card. */
82
86
  export async function apply(ctx) {
83
87
  const remote = ctx.remote;
84
88
  const disposeRemote = await remote.$mount(promptFirewallRemote);
85
89
  try {
86
- await ctx.inject(['remote.promptFirewall'], (remoteCtx) => {
90
+ await ctx.inject(["remote.promptFirewall"], (remoteCtx) => {
87
91
  const injectedRemote = remoteCtx.remote;
88
- const scope = remoteCtx.settingsScope.bind({ namespace: SETTINGS_NAMESPACE });
92
+ const scope = remoteCtx.settingsScope.bind({
93
+ namespace: SETTINGS_NAMESPACE,
94
+ });
89
95
  const face = {
90
96
  scope,
91
97
  inspect: () => injectedRemote.promptFirewall.inspect(),
92
- setSectionPolicy: (section, policy, revision) => (injectedRemote.promptFirewall.setSectionPolicy(section, policy, revision)),
98
+ setSectionPolicy: (section, policy, revision) => injectedRemote.promptFirewall.setSectionPolicy(section, policy, revision),
93
99
  };
94
100
  return registerSettingsCard(remoteCtx, {
95
101
  key: SETTINGS_NAMESPACE,
96
- pluginName: 'dsh-prompt-firewall',
102
+ pluginName: "dsh-prompt-firewall",
97
103
  styles,
98
104
  component: PromptFirewallCard,
99
105
  inject: () => face,
@@ -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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"}
@@ -2,74 +2,155 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  // Body sections of the Prompt Firewall settings card. Each section owns its
3
3
  // local UI state only; the card parent keeps the settings store, polling, and
4
4
  // the remote face.
5
- import { useState } from 'react';
5
+ import { useState } from "react";
6
6
  const EMPTY_LIST = Object.freeze([]);
7
7
  function list(config, field) {
8
8
  return config?.[field] ?? EMPTY_LIST;
9
9
  }
10
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); } })] }));
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) => {
12
+ props.onChange(event.currentTarget.checked);
13
+ } })] }));
12
14
  }
13
15
  export function PolicySection(props) {
14
16
  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 => {
17
+ const configuredMode = config?.mode ??
18
+ (config?.preset === "strict"
19
+ ? "allowlist"
20
+ : config?.preset === "audit-only"
21
+ ? "audit"
22
+ : "blocklist");
23
+ 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) => {
24
+ setPath(["enabled"], value);
25
+ } }), _jsx(Toggle, { checked: config?.protectCoreSections ?? true, disabled: !writable, label: "Protect core sections", hint: "Prevents ordinary rules from removing Harness internals.", onChange: (value) => {
26
+ setPath(["protectCoreSections"], value);
27
+ } }), _jsxs("label", { className: "pf-field", children: [_jsx("span", { children: "Mode" }), _jsxs("select", { className: "pf-control", value: configuredMode, disabled: !writable, onChange: (event) => {
28
+ setPath(["mode"], event.currentTarget.value);
29
+ }, 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
30
  const value = event.currentTarget.value;
19
- if (value === '')
31
+ if (value === "")
20
32
  props.unsetPreset();
21
33
  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" })] })] })] })] }));
34
+ setPath(["preset"], value);
35
+ }, 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) => {
36
+ setPath(["unknownPluginPolicy"], event.currentTarget.value);
37
+ }, children: [_jsx("option", { value: "allow", children: "Allow" }), _jsx("option", { value: "block", children: "Block" })] })] })] })] }));
24
38
  }
25
39
  export function LastRequestSection(props) {
26
40
  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" })] })] })] }));
41
+ const effectiveMode = props.inspector?.config.mode ?? props.config?.mode ?? "blocklist";
42
+ 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: () => {
43
+ props.onRefresh();
44
+ }, 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
45
  }
30
46
  export function RulesSection(props) {
31
47
  const { config, writable, setPath } = props;
32
- const [rule, setRule] = useState('');
33
- const [ruleKind, setRuleKind] = useState('exact');
34
- const [ruleAction, setRuleAction] = useState('block');
48
+ const [rule, setRule] = useState("");
49
+ const [ruleKind, setRuleKind] = useState("exact");
50
+ const [ruleAction, setRuleAction] = useState("block");
35
51
  const addRule = (event) => {
36
52
  event.preventDefault();
37
53
  const value = rule.trim();
38
54
  if (value.length === 0)
39
55
  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`;
56
+ const field = ruleAction === "protect"
57
+ ? "protectedSections"
58
+ : ruleKind === "exact"
59
+ ? `${ruleAction === "allow" ? "allowed" : "blocked"}Sections`
60
+ : ruleKind === "prefix"
61
+ ? `${ruleAction === "allow" ? "allowed" : "blocked"}Prefixes`
62
+ : `${ruleAction === "allow" ? "allowed" : "blocked"}Patterns`;
47
63
  const values = [...new Set([...list(config, field), value])];
48
64
  setPath([field], values);
49
- setRule('');
65
+ setRule("");
50
66
  };
51
67
  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' })),
68
+ ...list(config, "allowedSections").map((value) => ({
69
+ field: "allowedSections",
70
+ value,
71
+ kind: "exact",
72
+ action: "allow",
73
+ })),
74
+ ...list(config, "blockedSections").map((value) => ({
75
+ field: "blockedSections",
76
+ value,
77
+ kind: "exact",
78
+ action: "block",
79
+ })),
80
+ ...list(config, "protectedSections").map((value) => ({
81
+ field: "protectedSections",
82
+ value,
83
+ kind: "exact",
84
+ action: "protect",
85
+ })),
86
+ ...list(config, "allowedPrefixes").map((value) => ({
87
+ field: "allowedPrefixes",
88
+ value,
89
+ kind: "prefix",
90
+ action: "allow",
91
+ })),
92
+ ...list(config, "blockedPrefixes").map((value) => ({
93
+ field: "blockedPrefixes",
94
+ value,
95
+ kind: "prefix",
96
+ action: "block",
97
+ })),
98
+ ...list(config, "allowedPatterns").map((value) => ({
99
+ field: "allowedPatterns",
100
+ value,
101
+ kind: "glob",
102
+ action: "allow",
103
+ })),
104
+ ...list(config, "blockedPatterns").map((value) => ({
105
+ field: "blockedPatterns",
106
+ value,
107
+ kind: "glob",
108
+ action: "block",
109
+ })),
59
110
  ];
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 => {
111
+ 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) => {
112
+ setRule(event.currentTarget.value);
113
+ } }), _jsxs("select", { className: "pf-control", value: ruleKind, disabled: !writable || ruleAction === "protect", onChange: (event) => {
114
+ setRuleKind(event.currentTarget.value);
115
+ }, 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
116
  const action = event.currentTarget.value;
62
117
  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}`))] })] }));
118
+ if (action === "protect")
119
+ setRuleKind("exact");
120
+ }, 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: () => {
121
+ setPath([item.field], list(config, item.field).filter((value) => value !== item.value));
122
+ }, children: "Remove" })] }, `${item.field}:${item.value}`)))] })] }));
66
123
  }
67
124
  export function AuditSection(props) {
68
125
  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)); } })] })] })] }));
126
+ 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) => {
127
+ setPath(["audit", "enabled"], value);
128
+ } }), _jsx(Toggle, { checked: config?.audit?.includePreview ?? false, disabled: !writable, label: "Section preview", hint: "Expose only the configured prefix in Inspector.", onChange: (value) => {
129
+ setPath(["audit", "includePreview"], value);
130
+ } }), _jsx(Toggle, { checked: config?.audit?.logBlocked ?? true, disabled: !writable, label: "Log blocked sections", hint: "Names and sizes only unless preview is enabled.", onChange: (value) => {
131
+ setPath(["audit", "logBlocked"], value);
132
+ } }), _jsx(Toggle, { checked: config?.audit?.logAllowed ?? false, disabled: !writable, label: "Log allowed sections", hint: "Useful for initial policy discovery.", onChange: (value) => {
133
+ setPath(["audit", "logAllowed"], value);
134
+ } }), _jsx(Toggle, { checked: config?.audit?.highlightNewSections ?? true, disabled: !writable, label: "Highlight new plugin sections", hint: "Informational only; never blocks automatically.", onChange: (value) => {
135
+ setPath(["audit", "highlightNewSections"], value);
136
+ } }), _jsx(Toggle, { checked: config?.metrics?.enabled ?? true, disabled: !writable, label: "Aggregate metrics", hint: "No arbitrary section-name labels.", onChange: (value) => {
137
+ setPath(["metrics", "enabled"], value);
138
+ } }), _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) => {
139
+ setPath(["audit", "previewChars"], Number(event.currentTarget.value));
140
+ } })] }), _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) => {
141
+ setPath(["audit", "historySize"], Number(event.currentTarget.value));
142
+ } })] })] })] }));
70
143
  }
71
144
  export function InspectorSection(props) {
72
145
  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." })] }));
146
+ 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: () => {
147
+ void props.setPolicy(section.name, "allow");
148
+ }, children: "Allow" }), _jsx("button", { className: "pf-btn link danger", disabled: !props.writable, onClick: () => {
149
+ void props.setPolicy(section.name, "block");
150
+ }, children: "Block" }), _jsx("button", { className: "pf-btn link", disabled: !props.writable, onClick: () => {
151
+ void props.setPolicy(section.name, "protect");
152
+ }, children: "Protect" }), _jsx("button", { className: "pf-btn link", disabled: !props.writable, onClick: () => {
153
+ void props.setPolicy(section.name, "clear");
154
+ }, 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
155
  }
75
156
  //# sourceMappingURL=sections.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sections.js","sourceRoot":"","sources":["../../src/client/sections.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sections.js","sourceRoot":"","sources":["../../src/client/sections.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { PLUGIN_CARD_SHELL_CSS } from '@yadsh/dsh-plugin-kit/client';
1
+ import { PLUGIN_CARD_SHELL_CSS } from "@yadsh/dsh-plugin-kit/client";
2
2
  export const styles = `${PLUGIN_CARD_SHELL_CSS}
3
3
  .pf-body,.pf-body *{box-sizing:border-box}
4
4
  .pf-body{padding-top:16px;display:grid;gap:18px;color:var(--dsw-alias-label-primary)}
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/client/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,MAAM,CAAC,MAAM,MAAM,GAAW,GAAG,qBAAqB;;;;;;;;;;;;;;;CAerD,CAAC"}
package/lib/client.js CHANGED
@@ -5124,7 +5124,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5124
5124
  },
5125
5125
  sourceLocation: {
5126
5126
  "file": "packages/dsh-prompt-firewall/src/index.ts",
5127
- "line": 136,
5127
+ "line": 152,
5128
5128
  "column": 3
5129
5129
  }
5130
5130
  }, {
@@ -5173,7 +5173,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5173
5173
  },
5174
5174
  sourceLocation: {
5175
5175
  "file": "packages/dsh-prompt-firewall/src/index.ts",
5176
- "line": 150,
5176
+ "line": 166,
5177
5177
  "column": 9
5178
5178
  }
5179
5179
  }]