@burtson-labs/host-kit 0.4.14 → 0.4.15

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/index.d.ts CHANGED
@@ -9,7 +9,7 @@ export { loadHookSettings, persistAllowEntry, runHooks, type HookEvent, type Hoo
9
9
  export { evaluateSecurityGuard, type SecurityGuardSettings, type SecurityGuardContext, type SecurityGuardDecision } from './securityGuard';
10
10
  export { classifyRisk, type RiskTier, type RiskAssessment, type RiskContext } from './riskTiers';
11
11
  export { grantRuleFor, commandSignature, policyIncludes, type GrantScope, type GrantRule, type GrantScopeInput } from './grantScope';
12
- export { resolvePermissionMode, shouldAutoApprove, decidePermission, isPermissionMode, AutoApprovalLedger, PERMISSION_MODES, type PermissionMode, type ResolvedMode, type ResolveModeInput, type AutoDecision, type AutoApprovalRecord, type PermissionDecisionInput, type PermissionOutcome } from './permissionMode';
12
+ export { resolvePermissionMode, shouldAutoApprove, decidePermission, isPermissionMode, nextCycleMode, AutoApprovalLedger, PERMISSION_MODES, CYCLE_MODES, type PermissionMode, type ResolvedMode, type ResolveModeInput, type AutoDecision, type AutoApprovalRecord, type PermissionDecisionInput, type PermissionOutcome } from './permissionMode';
13
13
  export { expandMentions, type ExpandedPrompt } from './mentions';
14
14
  export { TodoStore, buildTodoWriteTool, buildWebFetchTool, buildWebSearchTool, type WebSearchToolOptions, buildRememberTool } from './tools/extraTools';
15
15
  export { buildTaskTool, buildCheckTaskTool, buildListTasksTool, type TaskToolOptions } from './tools/taskTool';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.decidePermission = exports.shouldAutoApprove = exports.resolvePermissionMode = exports.policyIncludes = exports.commandSignature = exports.grantRuleFor = exports.classifyRisk = exports.evaluateSecurityGuard = exports.runHooks = exports.persistAllowEntry = exports.loadHookSettings = exports.mcpToolCachePath = exports.pruneMcpToolCache = exports.saveMcpToolEntry = exports.loadMcpToolCache = exports.mcpTrustPath = exports.revokeMcpFingerprint = exports.approveMcpFingerprint = exports.loadApprovedMcpFingerprints = exports.buildCustomServerConfig = exports.looksLikeGmailCredentialsPath = exports.buildGmailServerConfig = exports.looksLikeGitLabToken = exports.buildGitLabServerConfig = exports.looksLikeSlackTeamId = exports.looksLikeSlackToken = exports.buildSlackServerConfig = exports.looksLikeGitHubToken = exports.buildGitHubServerConfig = exports.addMcpServerToConfig = exports.persistMcpActivation = exports.globalMcpServersPath = exports.registerMcpServersFromDisk = exports.loadMcpServersConfig = exports.buildReadMemoryTool = exports.BANDIT_MEMORY_INDEX_FILE = exports.BANDIT_MEMORY_DIR = exports.BANDIT_DIR = exports.MEMORY_INDEX_FILE = exports.MEMORY_DIR = exports.MAX_MEMORY_FILE_BYTES = exports.MAX_INDEX_BYTES = exports.migrateMemoryToBanditDir = exports.writeMemoryTopic = exports.renderMemoryIndexBlock = exports.loadMemoryIndex = exports.consolidateMemory = exports.appendMemory = exports.loadCombinedMemory = exports.loadMemory = void 0;
4
- exports.CheckpointStore = exports.isChatCapable = exports.suggestOllamaMatch = exports.listInstalledOllamaModels = exports.formatTurnTraceMarkdown = exports.summarizeTurnTrace = exports.parseTurnLog = exports.readTurnTraceById = exports.readTurnTrace = exports.listTurnTraces = exports.listTurnTraceFiles = exports.previewText = exports.openTurnLog = exports.SessionPermissionStore = exports.mergePolicies = exports.emptyPolicy = exports.evaluatePermission = exports.InMemoryBackgroundTaskStore = exports.buildInsightsAiCallback = exports.buildAiInput = exports.writeInsightsReport = exports.renderInsightsHtml = exports.computeInsights = exports.parseTestOutput = exports.buildTestCommand = exports.detectTestFramework = exports.buildTestRunTool = exports.buildListTasksTool = exports.buildCheckTaskTool = exports.buildTaskTool = exports.buildRememberTool = exports.buildWebSearchTool = exports.buildWebFetchTool = exports.buildTodoWriteTool = exports.TodoStore = exports.expandMentions = exports.PERMISSION_MODES = exports.AutoApprovalLedger = exports.isPermissionMode = void 0;
4
+ exports.CheckpointStore = exports.isChatCapable = exports.suggestOllamaMatch = exports.listInstalledOllamaModels = exports.formatTurnTraceMarkdown = exports.summarizeTurnTrace = exports.parseTurnLog = exports.readTurnTraceById = exports.readTurnTrace = exports.listTurnTraces = exports.listTurnTraceFiles = exports.previewText = exports.openTurnLog = exports.SessionPermissionStore = exports.mergePolicies = exports.emptyPolicy = exports.evaluatePermission = exports.InMemoryBackgroundTaskStore = exports.buildInsightsAiCallback = exports.buildAiInput = exports.writeInsightsReport = exports.renderInsightsHtml = exports.computeInsights = exports.parseTestOutput = exports.buildTestCommand = exports.detectTestFramework = exports.buildTestRunTool = exports.buildListTasksTool = exports.buildCheckTaskTool = exports.buildTaskTool = exports.buildRememberTool = exports.buildWebSearchTool = exports.buildWebFetchTool = exports.buildTodoWriteTool = exports.TodoStore = exports.expandMentions = exports.CYCLE_MODES = exports.PERMISSION_MODES = exports.AutoApprovalLedger = exports.nextCycleMode = exports.isPermissionMode = void 0;
5
5
  var memory_1 = require("./memory");
6
6
  Object.defineProperty(exports, "loadMemory", { enumerable: true, get: function () { return memory_1.loadMemory; } });
7
7
  Object.defineProperty(exports, "loadCombinedMemory", { enumerable: true, get: function () { return memory_1.loadCombinedMemory; } });
@@ -65,8 +65,10 @@ Object.defineProperty(exports, "resolvePermissionMode", { enumerable: true, get:
65
65
  Object.defineProperty(exports, "shouldAutoApprove", { enumerable: true, get: function () { return permissionMode_1.shouldAutoApprove; } });
66
66
  Object.defineProperty(exports, "decidePermission", { enumerable: true, get: function () { return permissionMode_1.decidePermission; } });
67
67
  Object.defineProperty(exports, "isPermissionMode", { enumerable: true, get: function () { return permissionMode_1.isPermissionMode; } });
68
+ Object.defineProperty(exports, "nextCycleMode", { enumerable: true, get: function () { return permissionMode_1.nextCycleMode; } });
68
69
  Object.defineProperty(exports, "AutoApprovalLedger", { enumerable: true, get: function () { return permissionMode_1.AutoApprovalLedger; } });
69
70
  Object.defineProperty(exports, "PERMISSION_MODES", { enumerable: true, get: function () { return permissionMode_1.PERMISSION_MODES; } });
71
+ Object.defineProperty(exports, "CYCLE_MODES", { enumerable: true, get: function () { return permissionMode_1.CYCLE_MODES; } });
70
72
  var mentions_1 = require("./mentions");
71
73
  Object.defineProperty(exports, "expandMentions", { enumerable: true, get: function () { return mentions_1.expandMentions; } });
72
74
  var extraTools_1 = require("./tools/extraTools");
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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"}
@@ -1,6 +1,11 @@
1
1
  /**
2
2
  * Permission mode — how much Bandit is allowed to do without stopping to ask.
3
3
  *
4
+ * plan Read-only. Reads, searches, and read-only shell (`git diff`,
5
+ * `ls`, `grep`) run unprompted; every edit, write, mutating
6
+ * command, delete, and network-write is DENIED — not queued for a
7
+ * prompt, denied outright — so the model presents a plan instead
8
+ * of acting. Leaving plan mode is the user's explicit approval.
4
9
  * ask (default) Every non-allowlisted call prompts. Today's behavior.
5
10
  * auto `routine` calls run unprompted; `elevated` and `critical` still
6
11
  * prompt. This is the mode meant for "let it work while I watch."
@@ -12,14 +17,36 @@
12
17
  * is a different mode from `dangerous` rather than a softer setting on the same
13
18
  * dial — a mode whose exceptions are configurable is a bypass with extra steps.
14
19
  *
20
+ * `plan` is the mirror image: instead of a floor on what auto-approves, it's a
21
+ * ceiling on what runs at all. Its boundary is `risk.readOnly`, which is
22
+ * strictly narrower than the `routine` tier — an in-workspace edit is `routine`
23
+ * (auto runs it) but not read-only (plan blocks it). "Deny, don't prompt" is
24
+ * the whole point: a plan-mode prompt would just be an interruption the user
25
+ * clicks through, defeating the "research first, act later" boundary.
26
+ *
15
27
  * `dangerous` has no floor, by design and by name. If someone needs an
16
28
  * unattended full-access run, they should have to type a word that tells them
17
29
  * what they are doing; the failure mode we are avoiding is a user reaching for
18
30
  * "auto" in a blog post and getting "no confirmation for anything."
31
+ *
32
+ * The shift+tab cycle (both hosts) rotates ask → auto → plan → ask. `dangerous`
33
+ * is NOT in the cycle — it stays an env/settings-only deliberate act.
19
34
  */
20
35
  import type { RiskAssessment, RiskTier } from './riskTiers';
21
- export type PermissionMode = 'ask' | 'auto' | 'dangerous';
36
+ export type PermissionMode = 'plan' | 'ask' | 'auto' | 'dangerous';
22
37
  export declare const PERMISSION_MODES: readonly PermissionMode[];
38
+ /**
39
+ * The subset of modes the shift+tab UI rotates through, in cycle order.
40
+ * `dangerous` is deliberately excluded — reaching a full bypass should require
41
+ * typing an env var / settings value, not a keypress in a cycle.
42
+ */
43
+ export declare const CYCLE_MODES: readonly PermissionMode[];
44
+ /**
45
+ * The next mode when the user presses shift+tab. Rotates within CYCLE_MODES;
46
+ * a current mode that isn't in the cycle (e.g. `dangerous`) lands back at the
47
+ * cycle's start so the key always does something predictable.
48
+ */
49
+ export declare function nextCycleMode(current: PermissionMode): PermissionMode;
23
50
  export declare function isPermissionMode(value: unknown): value is PermissionMode;
24
51
  export interface ResolveModeInput {
25
52
  /** `permissions.mode` from .bandit/settings.json. */
@@ -83,16 +110,21 @@ export interface PermissionOutcome {
83
110
  * extension never had). One function, one order, one set of tests:
84
111
  *
85
112
  * 1. `deny` from policy — nothing overrides an explicit deny.
86
- * 2. **The critical floor.** A `critical` call always asks, even when a
113
+ * 2. **Plan mode.** A hard read-only ceiling: read-only calls allow, every
114
+ * other call DENIES (not asks). Sits above the critical floor and the
115
+ * allow-policy path on purpose — in plan mode an allowlisted write is
116
+ * still blocked, and a destructive call is denied outright rather than
117
+ * surfaced as a prompt. The deny reason tells the model to present a plan.
118
+ * 3. **The critical floor.** A `critical` call always asks, even when a
87
119
  * stored rule says allow. This is what stops a saved grant from widening
88
120
  * into destruction: approving `git push origin main` for the session
89
121
  * stores `run_command:git push*`, which as a bare glob would also cover
90
122
  * `git push --force`. It doesn't, because force-push classifies critical
91
123
  * and lands here. Same protection covers a hand-written `run_command:git *`
92
124
  * in settings.json, which had this hole before the floor existed.
93
- * 3. `dangerous` mode — no floor, by name and by design.
94
- * 4. `auto` mode — routine runs unattended.
95
- * 5. Otherwise the policy decides.
125
+ * 4. `dangerous` mode — no floor, by name and by design.
126
+ * 5. `auto` mode — routine runs unattended.
127
+ * 6. Otherwise the policy decides.
96
128
  *
97
129
  * The security guard and PreToolUse hooks run BEFORE this, in the host. This
98
130
  * function answers "does the user have to be asked", not "is this call safe".
@@ -1 +1 @@
1
- {"version":3,"file":"permissionMode.d.ts","sourceRoot":"","sources":["../src/permissionMode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5D,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,WAAW,CAAC;AAE1D,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EAA0C,CAAC;AAEjG,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAExE;AAED,MAAM,WAAW,gBAAgB;IAC/B,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,cAAc,CAAC;IACrB,wEAAwE;IACxE,MAAM,EAAE,UAAU,GAAG,KAAK,GAAG,UAAU,GAAG,SAAS,CAAC;IACpD,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,GAAE,gBAAqB,GAAG,YAAY,CA+ChF;AAED,MAAM,WAAW,YAAY;IAC3B,+DAA+D;IAC/D,WAAW,EAAE,OAAO,CAAC;IACrB,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,GAAG,YAAY,CAgB1F;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,cAAc,CAAC;IACrB,6EAA6E;IAC7E,cAAc,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;CAC1C;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IACjC,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,GAAG,iBAAiB,CAiClF;AAED,2DAA2D;AAC3D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAEnB,KAAK,SAAM;IAIvB,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAKvC,GAAG,IAAI,SAAS,kBAAkB,EAAE;IAIpC,IAAI,IAAI,MAAM;IAId,8EAA8E;IAC9E,OAAO,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAQjD,KAAK,IAAI,IAAI;CAGd"}
1
+ {"version":3,"file":"permissionMode.d.ts","sourceRoot":"","sources":["../src/permissionMode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5D,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,WAAW,CAAC;AAEnE,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EAAkD,CAAC;AAEzG;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,cAAc,EAAqC,CAAC;AAEvF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,cAAc,CAIrE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAExE;AAED,MAAM,WAAW,gBAAgB;IAC/B,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,cAAc,CAAC;IACrB,wEAAwE;IACxE,MAAM,EAAE,UAAU,GAAG,KAAK,GAAG,UAAU,GAAG,SAAS,CAAC;IACpD,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,GAAE,gBAAqB,GAAG,YAAY,CA+ChF;AAED,MAAM,WAAW,YAAY;IAC3B,+DAA+D;IAC/D,WAAW,EAAE,OAAO,CAAC;IACrB,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,GAAG,YAAY,CAwB1F;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,cAAc,CAAC;IACrB,6EAA6E;IAC7E,cAAc,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;CAC1C;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IACjC,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,GAAG,iBAAiB,CA2ClF;AAED,2DAA2D;AAC3D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAEnB,KAAK,SAAM;IAIvB,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAKvC,GAAG,IAAI,SAAS,kBAAkB,EAAE;IAIpC,IAAI,IAAI,MAAM;IAId,8EAA8E;IAC9E,OAAO,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAQjD,KAAK,IAAI,IAAI;CAGd"}
@@ -1,11 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AutoApprovalLedger = exports.PERMISSION_MODES = void 0;
3
+ exports.AutoApprovalLedger = exports.CYCLE_MODES = exports.PERMISSION_MODES = void 0;
4
+ exports.nextCycleMode = nextCycleMode;
4
5
  exports.isPermissionMode = isPermissionMode;
5
6
  exports.resolvePermissionMode = resolvePermissionMode;
6
7
  exports.shouldAutoApprove = shouldAutoApprove;
7
8
  exports.decidePermission = decidePermission;
8
- exports.PERMISSION_MODES = ['ask', 'auto', 'dangerous'];
9
+ exports.PERMISSION_MODES = ['plan', 'ask', 'auto', 'dangerous'];
10
+ /**
11
+ * The subset of modes the shift+tab UI rotates through, in cycle order.
12
+ * `dangerous` is deliberately excluded — reaching a full bypass should require
13
+ * typing an env var / settings value, not a keypress in a cycle.
14
+ */
15
+ exports.CYCLE_MODES = ['ask', 'auto', 'plan'];
16
+ /**
17
+ * The next mode when the user presses shift+tab. Rotates within CYCLE_MODES;
18
+ * a current mode that isn't in the cycle (e.g. `dangerous`) lands back at the
19
+ * cycle's start so the key always does something predictable.
20
+ */
21
+ function nextCycleMode(current) {
22
+ const idx = exports.CYCLE_MODES.indexOf(current);
23
+ if (idx === -1)
24
+ return exports.CYCLE_MODES[0];
25
+ return exports.CYCLE_MODES[(idx + 1) % exports.CYCLE_MODES.length];
26
+ }
9
27
  function isPermissionMode(value) {
10
28
  return typeof value === 'string' && exports.PERMISSION_MODES.includes(value);
11
29
  }
@@ -73,6 +91,14 @@ function shouldAutoApprove(mode, risk) {
73
91
  if (mode === 'dangerous') {
74
92
  return { autoApprove: true, reason: 'permission mode is "dangerous" (all prompts disabled)' };
75
93
  }
94
+ if (mode === 'plan') {
95
+ // Read-only calls run silently; everything else is BLOCKED in plan mode
96
+ // (see decidePermission). Auto-approving a non-read-only call here would
97
+ // be wrong, so this only waives the prompt for reads.
98
+ return risk.readOnly
99
+ ? { autoApprove: true, reason: `plan mode: read-only call (${risk.rule})` }
100
+ : { autoApprove: false, reason: `plan mode blocks non-read-only calls (${risk.rule})` };
101
+ }
76
102
  if (mode !== 'auto') {
77
103
  return { autoApprove: false, reason: 'permission mode is "ask"' };
78
104
  }
@@ -93,16 +119,21 @@ function shouldAutoApprove(mode, risk) {
93
119
  * extension never had). One function, one order, one set of tests:
94
120
  *
95
121
  * 1. `deny` from policy — nothing overrides an explicit deny.
96
- * 2. **The critical floor.** A `critical` call always asks, even when a
122
+ * 2. **Plan mode.** A hard read-only ceiling: read-only calls allow, every
123
+ * other call DENIES (not asks). Sits above the critical floor and the
124
+ * allow-policy path on purpose — in plan mode an allowlisted write is
125
+ * still blocked, and a destructive call is denied outright rather than
126
+ * surfaced as a prompt. The deny reason tells the model to present a plan.
127
+ * 3. **The critical floor.** A `critical` call always asks, even when a
97
128
  * stored rule says allow. This is what stops a saved grant from widening
98
129
  * into destruction: approving `git push origin main` for the session
99
130
  * stores `run_command:git push*`, which as a bare glob would also cover
100
131
  * `git push --force`. It doesn't, because force-push classifies critical
101
132
  * and lands here. Same protection covers a hand-written `run_command:git *`
102
133
  * in settings.json, which had this hole before the floor existed.
103
- * 3. `dangerous` mode — no floor, by name and by design.
104
- * 4. `auto` mode — routine runs unattended.
105
- * 5. Otherwise the policy decides.
134
+ * 4. `dangerous` mode — no floor, by name and by design.
135
+ * 5. `auto` mode — routine runs unattended.
136
+ * 6. Otherwise the policy decides.
106
137
  *
107
138
  * The security guard and PreToolUse hooks run BEFORE this, in the host. This
108
139
  * function answers "does the user have to be asked", not "is this call safe".
@@ -112,6 +143,15 @@ function decidePermission(input) {
112
143
  if (policyDecision === 'deny') {
113
144
  return { action: 'deny', reason: 'denied by permission policy' };
114
145
  }
146
+ if (mode === 'plan') {
147
+ if (risk.readOnly) {
148
+ return { action: 'allow', reason: `plan mode: read-only call (${risk.rule})` };
149
+ }
150
+ return {
151
+ action: 'deny',
152
+ reason: `plan mode is on — Bandit is read-only right now. Present your plan for the user; they leave plan mode (shift+tab) to approve running this (${risk.rule}).`
153
+ };
154
+ }
115
155
  if (mode === 'dangerous') {
116
156
  return { action: 'allow', reason: 'permission mode is "dangerous" (all prompts disabled)' };
117
157
  }
@@ -1 +1 @@
1
- {"version":3,"file":"permissionMode.js","sourceRoot":"","sources":["../src/permissionMode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permissionMode.js","sourceRoot":"","sources":["../src/permissionMode.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,15 @@ export interface RiskAssessment {
5
5
  why: string;
6
6
  /** Stable identifier for the rule that decided this (logging / tests). */
7
7
  rule: string;
8
+ /**
9
+ * True only when the call reads/inspects and changes NOTHING — the strict
10
+ * subset plan mode allows through. Deliberately narrower than the `routine`
11
+ * tier: an in-workspace edit or a `vitest` run is `routine` (auto mode runs
12
+ * it) but is NOT read-only (plan mode blocks it). Absent/false means "not
13
+ * known to be read-only", which plan mode treats as blocked — the safe
14
+ * default for anything we can't positively vouch for.
15
+ */
16
+ readOnly?: boolean;
8
17
  }
9
18
  export interface RiskContext {
10
19
  workspaceRoot?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"riskTiers.d.ts","sourceRoot":"","sources":["../src/riskTiers.ts"],"names":[],"mappings":"AAkCA,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,mEAAmE;IACnE,GAAG,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAsLD;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EACtD,GAAG,GAAE,WAAgB,GACpB,cAAc,CA+FhB"}
1
+ {"version":3,"file":"riskTiers.d.ts","sourceRoot":"","sources":["../src/riskTiers.ts"],"names":[],"mappings":"AAkCA,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,mEAAmE;IACnE,GAAG,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAmMD;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EACtD,GAAG,GAAE,WAAgB,GACpB,cAAc,CAkGhB"}
package/dist/riskTiers.js CHANGED
@@ -78,6 +78,18 @@ const ROUTINE_COMMANDS = new Set([
78
78
  'pytest', 'ruff', 'mypy', 'black', 'gofmt', 'rustc', 'javac',
79
79
  'ls', 'cat', 'head', 'tail', 'grep', 'find', 'jq', 'yq', 'wc', 'which', 'echo', 'pwd'
80
80
  ]);
81
+ /**
82
+ * The pure-inspection subset of ROUTINE_COMMANDS: they only print or read and
83
+ * cannot mutate the filesystem or run project code. This is what plan mode
84
+ * lets through as a shell command. `find` and the build/test tools
85
+ * (tsc/vitest/…) are intentionally EXCLUDED — `find -delete`/`-exec` mutate,
86
+ * and a test run executes arbitrary project code. Plan-mode exploration that
87
+ * needs a directory tree should use the read-only `find_directory` /
88
+ * `list_files` tools instead.
89
+ */
90
+ const READ_ONLY_COMMANDS = new Set([
91
+ 'ls', 'cat', 'head', 'tail', 'grep', 'jq', 'yq', 'wc', 'which', 'echo', 'pwd'
92
+ ]);
81
93
  /** Read-only git subcommands. Anything not listed is treated as state-changing. */
82
94
  const ROUTINE_GIT = new Set([
83
95
  'status', 'log', 'diff', 'show', 'blame', 'ls-files', 'rev-parse',
@@ -253,7 +265,7 @@ function classifyRisk(call, ctx = {}) {
253
265
  return { tier: 'critical', rule: 'delete', why: 'Permanently deletes a file.' };
254
266
  }
255
267
  if (READ_ONLY_TOOLS.has(name)) {
256
- return { tier: 'routine', rule: 'read-only', why: 'Reads local state only.' };
268
+ return { tier: 'routine', rule: 'read-only', why: 'Reads local state only.', readOnly: true };
257
269
  }
258
270
  if (EDIT_TOOLS.has(name)) {
259
271
  return { tier: 'routine', rule: 'in-workspace-edit', why: 'Edits a file in your project. Review the diff.' };
@@ -288,7 +300,7 @@ function classifyRisk(call, ctx = {}) {
288
300
  const sub = argv[1] ?? '';
289
301
  if (bin === 'git') {
290
302
  return ROUTINE_GIT.has(sub)
291
- ? { tier: 'routine', rule: 'git-read', why: 'Reads git state.' }
303
+ ? { tier: 'routine', rule: 'git-read', why: 'Reads git state.', readOnly: true }
292
304
  : { tier: 'elevated', rule: 'git-state-change', why: 'Changes git state in this repository.' };
293
305
  }
294
306
  const allowedSubs = ROUTINE_SUBCOMMANDS[bin];
@@ -297,6 +309,9 @@ function classifyRisk(call, ctx = {}) {
297
309
  ? { tier: 'routine', rule: 'build-or-test', why: 'Builds or tests this project.' }
298
310
  : { tier: 'elevated', rule: 'package-manager', why: `Runs \`${bin} ${sub}\`, which can change project state.` };
299
311
  }
312
+ if (READ_ONLY_COMMANDS.has(bin)) {
313
+ return { tier: 'routine', rule: 'read-only-command', why: 'Inspects files or state without changing them.', readOnly: true };
314
+ }
300
315
  if (ROUTINE_COMMANDS.has(bin)) {
301
316
  return { tier: 'routine', rule: 'build-or-test', why: 'Builds, checks, or inspects this project.' };
302
317
  }
@@ -312,7 +327,7 @@ function classifyRisk(call, ctx = {}) {
312
327
  return { tier: 'elevated', rule: 'mcp-mutating', why: 'Changes data in a connected service.' };
313
328
  }
314
329
  if (/^(list|get|search|read|find|fetch|query|describe)[A-Z_]/.test(bare)) {
315
- return { tier: 'routine', rule: 'mcp-read', why: 'Reads from a connected service.' };
330
+ return { tier: 'routine', rule: 'mcp-read', why: 'Reads from a connected service.', readOnly: true };
316
331
  }
317
332
  return { tier: 'elevated', rule: 'unknown-tool', why: 'Bandit is asking before using this capability.' };
318
333
  }
@@ -1 +1 @@
1
- {"version":3,"file":"riskTiers.js","sourceRoot":"","sources":["../src/riskTiers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"riskTiers.js","sourceRoot":"","sources":["../src/riskTiers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+PA,oCAqGC;AApWD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,2CAA6B;AAC7B,uCAAyB;AA0BzB,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,gBAAgB;IAChE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU;CACpE,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC;AAE5D,kFAAkF;AAClF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY;IACpE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC5D,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;CACtF,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;CAC9E,CAAC,CAAC;AAEH,mFAAmF;AACnF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW;IACjE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ;CAC5D,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,mBAAmB,GAAgC;IACvD,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACrF,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACxD,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAClD,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACnE,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACpD,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACvD,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACnD,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAIF,MAAM,sBAAsB,GAAkB;IAC5C;QACE,EAAE,EAAE,gBAAgB;QACpB,GAAG,EAAE,2CAA2C;QAChD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;KAC1F;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,GAAG,EAAE,gCAAgC;QACrC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;KAC1C;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,GAAG,EAAE,oEAAoE;QACzE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CACV,sEAAsE,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9E,wCAAwC,CAAC,IAAI,CAAC,CAAC,CAAC;YAChD,wCAAwC,CAAC,IAAI,CAAC,CAAC,CAAC;YAChD,0DAA0D,CAAC,IAAI,CAAC,CAAC,CAAC;KACrE;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,GAAG,EAAE,uEAAuE;QAC5E,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CACV,2DAA2D,CAAC,IAAI,CAAC,CAAC,CAAC;YACnE,kCAAkC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1C,gDAAgD,CAAC,IAAI,CAAC,CAAC,CAAC;YACxD,kCAAkC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1C,+DAA+D,CAAC,IAAI,CAAC,CAAC,CAAC;YACvE,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC;YACrC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC;KACrC;IACD;QACE,EAAE,EAAE,SAAS;QACb,GAAG,EAAE,sDAAsD;QAC3D,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,uCAAuC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC;KAC9I;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,GAAG,EAAE,8BAA8B;QACnC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CACV,wGAAwG,CAAC,IAAI,CAAC,CAAC,CAAC;YAChH,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC;YACtC,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC;KACxC;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,GAAG,EAAE,0CAA0C;QAC/C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,2EAA2E,CAAC,IAAI,CAAC,CAAC,CAAC;KACjG;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,GAAG,EAAE,wCAAwC;QAC7C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;KAC/C;CACF,CAAC;AAEF,MAAM,sBAAsB,GAAkB;IAC5C;QACE,EAAE,EAAE,oBAAoB;QACxB,GAAG,EAAE,uCAAuC;QAC5C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,qEAAqE,CAAC,IAAI,CAAC,CAAC,CAAC;YACxF,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC;YACrC,kDAAkD,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1D,kCAAkC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1C,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC;KACvC;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,GAAG,EAAE,uCAAuC;QAC5C,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;KAChH;IACD;QACE,EAAE,EAAE,YAAY;QAChB,GAAG,EAAE,uDAAuD;QAC5D,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;KACrC;IACD;QACE,EAAE,EAAE,WAAW;QACf,GAAG,EAAE,6BAA6B;QAClC,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;KACjG;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,GAAG,EAAE,+EAA+E;QACpF,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM;YACjF,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;YACxC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;YACzC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;YACzC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW;KAC/C;CACF,CAAC;AAEF,MAAM,eAAe,GAAG,8HAA8H,CAAC;AAEvJ,2EAA2E;AAC3E,SAAS,YAAY,CAAC,MAA8B;IAClD,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,MAAM,IAAI,GAAG,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACZ,uEAAuE;QACvE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe,EAAE,GAAgB;IAC3D,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IACjD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC7C,OAAO,QAAQ,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;AACpE,CAAC;AAED,oDAAoD;AACpD,SAAS,kBAAkB,CAAC,MAA8B;IACxD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACxC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;IACzC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,gBAAgB,GAAG,uEAAuE,CAAC;AACjG,MAAM,YAAY,GAAG,2JAA2J,CAAC;AAEjL;;;GAGG;AACH,SAAgB,YAAY,CAC1B,IAAsD,EACtD,MAAmB,EAAE;IAErB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAEjC,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,wCAAwC,EAAE,CAAC;QACtG,CAAC;QAED,iEAAiE;QACjE,iEAAiE;QACjE,0BAA0B;QAC1B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACpC,IAAI,SAAS,IAAI,kBAAkB,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;YACpD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,qCAAqC,EAAE,CAAC;QACrG,CAAC;QAED,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,6BAA6B,EAAE,CAAC;QAClF,CAAC;QAED,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,yBAAyB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAChG,CAAC;QAED,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,gDAAgD,EAAE,CAAC;QAC/G,CAAC;QAED,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1B,yEAAyE;YACzE,4DAA4D;YAC5D,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,qCAAqC,EAAE,CAAC;QACpG,CAAC;QAED,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,gCAAgC,EAAE,CAAC;QAC/F,CAAC;QAED,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAClD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,iDAAiD,EAAE,CAAC;QAC5G,CAAC;QAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,6CAA6C,EAAE,CAAC;QACpG,CAAC;QAED,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;YACvD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,CAAC,IAAI;gBAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC;YAE5F,KAAK,MAAM,IAAI,IAAI,sBAAsB,EAAE,CAAC;gBAC1C,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;oBAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YACvF,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,sBAAsB,EAAE,CAAC;gBAC1C,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;oBAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YACvF,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1B,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBAClB,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;oBACzB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAChF,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,uCAAuC,EAAE,CAAC;YACnG,CAAC;YACD,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;oBACzB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,+BAA+B,EAAE;oBAClF,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,UAAU,GAAG,IAAI,GAAG,qCAAqC,EAAE,CAAC;YACpH,CAAC;YACD,IAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,gDAAgD,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC/H,CAAC;YACD,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,2CAA2C,EAAE,CAAC;YACtG,CAAC;YACD,wEAAwE;YACxE,2BAA2B;YAC3B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,2CAA2C,EAAE,CAAC;QAC9G,CAAC;QAED,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,+CAA+C,EAAE,CAAC;QAC9G,CAAC;QACD,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,sCAAsC,EAAE,CAAC;QACjG,CAAC;QACD,IAAI,yDAAyD,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACzE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,iCAAiC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACvG,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,gDAAgD,EAAE,CAAC;IAC3G,CAAC;IAAC,MAAM,CAAC;QACP,uDAAuD;QACvD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,oDAAoD,EAAE,CAAC;IACnH,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burtson-labs/host-kit",
3
- "version": "0.4.14",
3
+ "version": "0.4.15",
4
4
  "author": {
5
5
  "name": "Burtson Labs",
6
6
  "email": "team@burtson.ai",
@@ -22,7 +22,7 @@
22
22
  "dist"
23
23
  ],
24
24
  "dependencies": {
25
- "@burtson-labs/agent-core": "1.6.31"
25
+ "@burtson-labs/agent-core": "1.6.32"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@types/node": "^20.11.0",