@google/gemini-cli-core 0.37.0-preview.0 → 0.37.0-preview.1

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.
@@ -180,9 +180,16 @@ As described in the
180
180
  rule that does not explicitly specify `modes` is considered "always active" and
181
181
  will apply to Plan Mode as well.
182
182
 
183
- If you want a rule to apply to other modes but _not_ to Plan Mode, you must
184
- explicitly specify the target modes. For example, to allow `npm test` in default
185
- and Auto-Edit modes but not in Plan Mode:
183
+ To maintain the integrity of Plan Mode as a safe research environment,
184
+ persistent tool approvals are context-aware. Approvals granted in modes like
185
+ Default or Auto-Edit do not apply to Plan Mode, ensuring that tools trusted for
186
+ implementation don't automatically execute while you're researching. However,
187
+ approvals granted while in Plan Mode are treated as intentional choices for
188
+ global trust and apply to all modes.
189
+
190
+ If you want to manually restrict a rule to other modes but _not_ to Plan Mode,
191
+ you must explicitly specify the target modes. For example, to allow `npm test`
192
+ in default and Auto-Edit modes but not in Plan Mode:
186
193
 
187
194
  ```toml
188
195
  [[rule]]
@@ -171,6 +171,24 @@ modes specified, it is always active.
171
171
  [Customizing Plan Mode Policies](../cli/plan-mode.md#customizing-policies).
172
172
  - `yolo`: A mode where all tools are auto-approved (use with extreme caution).
173
173
 
174
+ To maintain the integrity of Plan Mode as a safe research environment,
175
+ persistent tool approvals are context-aware. When you select **"Allow for all
176
+ future sessions"**, the policy engine explicitly includes the current mode and
177
+ all more permissive modes in the hierarchy (`plan` < `default` < `autoEdit` <
178
+ `yolo`).
179
+
180
+ - **Approvals in `plan` mode**: These represent an intentional choice to trust a
181
+ tool globally. The resulting rule explicitly includes all modes (`plan`,
182
+ `default`, `autoEdit`, and `yolo`).
183
+ - **Approvals in other modes**: These only apply to the current mode and those
184
+ more permissive. For example:
185
+ - An approval granted in **`default`** mode applies to `default`, `autoEdit`,
186
+ and `yolo`.
187
+ - An approval granted in **`autoEdit`** mode applies to `autoEdit` and `yolo`.
188
+ - An approval granted in **`yolo`** mode applies only to `yolo`. This ensures
189
+ that trust flows correctly to more permissive environments while maintaining
190
+ the safety of more restricted modes like `plan`.
191
+
174
192
  ## Rule matching
175
193
 
176
194
  When a tool call is made, the engine checks it against all active rules,
@@ -304,7 +322,8 @@ priority = 10
304
322
  denyMessage = "Deletion is permanent"
305
323
 
306
324
  # (Optional) An array of approval modes where this rule is active.
307
- modes = ["autoEdit"]
325
+ # If omitted or empty, the rule applies to all modes.
326
+ modes = ["default", "autoEdit", "yolo"]
308
327
 
309
328
  # (Optional) A boolean to restrict the rule to interactive (true) or
310
329
  # non-interactive (false) environments.
@@ -4,6 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { type FunctionCall } from '@google/genai';
7
+ import { type ApprovalMode } from '../policy/types.js';
7
8
  import type { ToolConfirmationOutcome, ToolConfirmationPayload, DiffStat } from '../tools/tools.js';
8
9
  import type { ToolCall } from '../scheduler/types.js';
9
10
  import type { SandboxPermissions } from '../services/sandboxManager.js';
@@ -132,6 +133,7 @@ export interface UpdatePolicy {
132
133
  commandPrefix?: string | string[];
133
134
  mcpName?: string;
134
135
  allowRedirection?: boolean;
136
+ modes?: ApprovalMode[];
135
137
  }
136
138
  export interface ToolPolicyRejection {
137
139
  type: MessageBusType.TOOL_POLICY_REJECTION;
@@ -4,6 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import {} from '@google/genai';
7
+ import {} from '../policy/types.js';
7
8
  export var MessageBusType;
8
9
  (function (MessageBusType) {
9
10
  MessageBusType["TOOL_CONFIRMATION_REQUEST"] = "tool-confirmation-request";
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/confirmation-bus/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAqB,MAAM,eAAe,CAAC;AAUlD,MAAM,CAAN,IAAY,cAWX;AAXD,WAAY,cAAc;IACxB,yEAAuD,CAAA;IACvD,2EAAyD,CAAA;IACzD,iEAA+C,CAAA;IAC/C,mEAAiD,CAAA;IACjD,mEAAiD,CAAA;IACjD,iDAA+B,CAAA;IAC/B,yDAAuC,CAAA;IACvC,uDAAqC,CAAA;IACrC,yDAAuC,CAAA;IACvC,yDAAuC,CAAA;AACzC,CAAC,EAXW,cAAc,KAAd,cAAc,QAWzB;AAqJD,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,6BAAa,CAAA;IACb,+BAAe,CAAA;AACjB,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/confirmation-bus/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAqB,MAAM,eAAe,CAAC;AAClD,OAAO,EAAqB,MAAM,oBAAoB,CAAC;AAUvD,MAAM,CAAN,IAAY,cAWX;AAXD,WAAY,cAAc;IACxB,yEAAuD,CAAA;IACvD,2EAAyD,CAAA;IACzD,iEAA+C,CAAA;IAC/C,mEAAiD,CAAA;IACjD,mEAAiD,CAAA;IACjD,iDAA+B,CAAA;IAC/B,yDAAuC,CAAA;IACvC,uDAAqC,CAAA;IACrC,yDAAuC,CAAA;IACvC,yDAAuC,CAAA;AACzC,CAAC,EAXW,cAAc,KAAd,cAAc,QAWzB;AAsJD,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,6BAAa,CAAA;IACb,+BAAe,CAAA;AACjB,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB"}
@@ -3,5 +3,5 @@
3
3
  * Copyright 2026 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export declare const GIT_COMMIT_INFO = "d9d51ba15";
7
- export declare const CLI_VERSION = "0.37.0-preview.0";
6
+ export declare const GIT_COMMIT_INFO = "24810f97e";
7
+ export declare const CLI_VERSION = "0.37.0-preview.1";
@@ -5,6 +5,6 @@
5
5
  */
6
6
  // This file is auto-generated by the build script (scripts/generate-git-commit-info.js)
7
7
  // Do not edit this file manually.
8
- export const GIT_COMMIT_INFO = 'd9d51ba15';
9
- export const CLI_VERSION = '0.37.0-preview.0';
8
+ export const GIT_COMMIT_INFO = '24810f97e';
9
+ export const CLI_VERSION = '0.37.0-preview.1';
10
10
  //# sourceMappingURL=git-commit.js.map
@@ -398,6 +398,42 @@ export async function createPolicyEngineConfig(settings, approvalMode, defaultPo
398
398
  disableAlwaysAllow: settings.disableAlwaysAllow,
399
399
  };
400
400
  }
401
+ /**
402
+ * Finds a rule in the rule array that matches the given criteria.
403
+ */
404
+ function findMatchingRule(rules, criteria) {
405
+ return rules.find((r) => r.toolName === criteria.toolName &&
406
+ r.mcpName === criteria.mcpName &&
407
+ JSON.stringify(r.commandPrefix) ===
408
+ JSON.stringify(criteria.commandPrefix) &&
409
+ r.argsPattern === criteria.argsPattern);
410
+ }
411
+ /**
412
+ * Creates a new TOML rule object from the given tool name and message.
413
+ */
414
+ function createTomlRule(toolName, message) {
415
+ const rule = {
416
+ decision: 'allow',
417
+ priority: getAlwaysAllowPriorityFraction(),
418
+ toolName,
419
+ };
420
+ if (message.mcpName) {
421
+ rule.mcpName = message.mcpName;
422
+ }
423
+ if (message.commandPrefix) {
424
+ rule.commandPrefix = message.commandPrefix;
425
+ }
426
+ else if (message.argsPattern) {
427
+ rule.argsPattern = message.argsPattern;
428
+ }
429
+ if (message.allowRedirection !== undefined) {
430
+ rule.allowRedirection = message.allowRedirection;
431
+ }
432
+ if (message.modes) {
433
+ rule.modes = message.modes;
434
+ }
435
+ return rule;
436
+ }
401
437
  export function createPolicyUpdater(policyEngine, messageBus, storage) {
402
438
  // Use a sequential queue for persistence to avoid lost updates from concurrent events.
403
439
  let persistenceQueue = Promise.resolve();
@@ -424,6 +460,7 @@ export function createPolicyUpdater(policyEngine, messageBus, storage) {
424
460
  priority,
425
461
  argsPattern: new RegExp(pattern),
426
462
  mcpName: message.mcpName,
463
+ modes: message.modes,
427
464
  source: 'Dynamic (Confirmed)',
428
465
  allowRedirection: message.allowRedirection,
429
466
  });
@@ -452,6 +489,7 @@ export function createPolicyUpdater(policyEngine, messageBus, storage) {
452
489
  priority,
453
490
  argsPattern,
454
491
  mcpName: message.mcpName,
492
+ modes: message.modes,
455
493
  source: 'Dynamic (Confirmed)',
456
494
  allowRedirection: message.allowRedirection,
457
495
  });
@@ -483,36 +521,32 @@ export function createPolicyUpdater(policyEngine, messageBus, storage) {
483
521
  if (!existingData.rule) {
484
522
  existingData.rule = [];
485
523
  }
486
- // Create new rule object
487
- const newRule = {
488
- decision: 'allow',
489
- priority: getAlwaysAllowPriorityFraction(),
490
- };
524
+ // Normalize tool name for MCP
525
+ let normalizedToolName = toolName;
491
526
  if (message.mcpName) {
492
- newRule.mcpName = message.mcpName;
493
527
  const expectedPrefix = `${MCP_TOOL_PREFIX}${message.mcpName}_`;
494
528
  if (toolName.startsWith(expectedPrefix)) {
495
- newRule.toolName = toolName.slice(expectedPrefix.length);
529
+ normalizedToolName = toolName.slice(expectedPrefix.length);
496
530
  }
497
- else {
498
- newRule.toolName = toolName;
531
+ }
532
+ // Look for an existing rule to update
533
+ const existingRule = findMatchingRule(existingData.rule, {
534
+ toolName: normalizedToolName,
535
+ mcpName: message.mcpName,
536
+ commandPrefix: message.commandPrefix,
537
+ argsPattern: message.argsPattern,
538
+ });
539
+ if (existingRule) {
540
+ if (message.allowRedirection !== undefined) {
541
+ existingRule.allowRedirection = message.allowRedirection;
542
+ }
543
+ if (message.modes) {
544
+ existingRule.modes = message.modes;
499
545
  }
500
546
  }
501
547
  else {
502
- newRule.toolName = toolName;
503
- }
504
- if (message.commandPrefix) {
505
- newRule.commandPrefix = message.commandPrefix;
506
- }
507
- else if (message.argsPattern) {
508
- // message.argsPattern was already validated above
509
- newRule.argsPattern = message.argsPattern;
510
- }
511
- if (message.allowRedirection !== undefined) {
512
- newRule.allowRedirection = message.allowRedirection;
548
+ existingData.rule.push(createTomlRule(normalizedToolName, message));
513
549
  }
514
- // Add to rules
515
- existingData.rule.push(newRule);
516
550
  // Serialize back to TOML
517
551
  // @iarna/toml stringify might not produce beautiful output but it handles escaping correctly
518
552
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/policy/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EACL,YAAY,EAEZ,cAAc,EAId,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,oBAAoB,EAAwB,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,EACL,cAAc,GAEf,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAmB,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACL,eAAe,EACf,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AAE1E,0DAA0D;AAC1D,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;AAE1C;;GAEG;AACH,SAAS,eAAe,CAAC,OAAe;IACtC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,UAAU,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5C,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B;IACxC,eAAe,CAAC,KAAK,EAAE,CAAC;AAC1B,CAAC;AAED,iDAAiD;AACjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AACrC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAClC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAEnC,+EAA+E;AAE/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,gBAAgB,GAAG,GAAG,CAAC;AAC5D,MAAM,CAAC,MAAM,2BAA2B,GAAG,gBAAgB,GAAG,GAAG,CAAC;AAClE,MAAM,CAAC,MAAM,2BAA2B,GAAG,gBAAgB,GAAG,GAAG,CAAC;AAClE,MAAM,CAAC,MAAM,2BAA2B,GAAG,gBAAgB,GAAG,GAAG,CAAC;AAClE,MAAM,CAAC,MAAM,2BAA2B,GAAG,gBAAgB,GAAG,GAAG,CAAC;AAElE,6DAA6D;AAC7D,wEAAwE;AACxE,MAAM,CAAC,MAAM,qBAAqB,GAChC,qBAAqB,GAAG,4BAA4B,CAAC;AAEvD;;GAEG;AACH,MAAM,UAAU,8BAA8B;IAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,qBAAqB,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oBAAoB,CAClC,kBAA2B,EAC3B,WAAsB,EACtB,oBAA6B,EAC7B,gBAA2B;IAE3B,OAAO;QACL,gCAAgC;QAChC,OAAO,CAAC,oBAAoB,EAAE;QAC9B,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;QAE3B,sCAAsC;QACtC,GAAG,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YACvC,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAEnC,iCAAiC;QACjC,oBAAoB;QAEpB,iCAAiC;QACjC,kBAAkB,IAAI,yBAAyB;KAChD,CAAC,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,GAAW,EACX,OAMC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAExC,IAAI,aAAa,KAAK,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAChD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,IAAI,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QACjD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,IAAI,aAAa,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC;QAC9C,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,IACE,OAAO,CAAC,oBAAoB;QAC5B,aAAa,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAC5D,CAAC;QACD,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IACD,IACE,OAAO,CAAC,kBAAkB;QAC1B,aAAa,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAC1D,CAAC;QACD,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IACD,IAAI,aAAa,KAAK,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,EAAE,CAAC;QAC9D,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAsB;IACtD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IACzE,IAAI,OAAO,GAAG,IAAI,SAAS,iBAAiB,aAAa,OAAO,KAAK,CAAC,QAAQ,KAAK,CAAC;IACpF,OAAO,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;IAChC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,IAAI,mBAAmB,KAAK,CAAC,UAAU,EAAE,CAAC;IACnD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,6BAA6B,CAC1C,IAAc,EACd,iBAAyB;IAEzB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACrB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,cAAc,GAAG,aAAa,KAAK,iBAAiB,CAAC;QAE3D,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,GAAG,GAAG,mDAAmD,GAAG,KAAK,MAAM,EAAE,CAAC;gBAChF,eAAe,CAAC,GAAG,CAAC,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,aAAqB,EACrB,SAAiB;IAMjB,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACvC,CAAC,SAAS,CAAC,EACX,GAAG,EAAE,CAAC,qBAAqB,CAC5B,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACzC,4EAA4E;QAC5E,IAAI,IAAI,CAAC,QAAQ,KAAK,cAAc,CAAC,KAAK,EAAE,CAAC;YAC3C,WAAW,CAAC,IAAI,CACd,6BAA6B,aAAa,qDAAqD,IAAI,CAAC,QAAQ,qCAAqC,CAClJ,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,sEAAsE;QACtE,IAAI,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,WAAW,CAAC,IAAI,CACd,6BAA6B,aAAa,kFAAkF,CAC7H,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,8EAA8E;QAC9E,gGAAgG;QAChG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAChC,cAAc,EACd,cAAc,aAAa,KAAK,CACjC,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QAClD,yEAAyE;QACzE,IAAI,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,WAAW,CAAC,IAAI,CACd,6BAA6B,aAAa,+FAA+F,CAC1I,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,qCAAqC;QACrC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,CACtC,cAAc,EACd,cAAc,aAAa,KAAK,CACjC,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,QAAwB,EACxB,YAA0B,EAC1B,kBAA2B,EAC3B,cAAuB,IAAI;IAE3B,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACvE,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACnE,IAAI,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;IAEjD,kGAAkG;IAClG,kFAAkF;IAClF,IAAI,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAClD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBAC3C,MAAM,GAAG,GAAG,4FAA4F,iBAAiB,EAAE,CAAC;gBAC5H,eAAe,CAAC,GAAG,CAAC,CAAC;gBACrB,gBAAgB,GAAG,SAAS,CAAC;YAC/B,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3C,WAAW,CAAC,IAAI,CACd,sCAAsC,iBAAiB,EAAE,EACzD,CAAC,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,oBAAoB,CACrC,kBAAkB,EAClB,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,oBAAoB,EAC7B,gBAAgB,CACjB,CAAC;IAEF,MAAM,mBAAmB,GAAG,gBAAgB;QAC1C,CAAC,CAAC,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,gBAAgB,GAAG,MAAM,6BAA6B,CAC1D,UAAU,EACV,iBAAiB,CAClB,CAAC;IAEF,MAAM,WAAW,GAAG;QAClB,kBAAkB;QAClB,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;QACnD,gBAAgB,EAAE,mBAAmB;QACrC,iBAAiB;QACjB,eAAe;KAChB,CAAC;IAEF,MAAM,iBAAiB,GAAG,QAAQ,CAAC,WAAW;QAC5C,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,IAAI,GAAG,EAAU,CAAC;IAEtB,gCAAgC;IAChC,MAAM,EACJ,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,YAAY,EACtB,MAAM,GACP,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE;QACrD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,aAAa,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAExD,+FAA+F;QAC/F,IAAI,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACxE,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,4DAA4D;IAC5D,uEAAuE;IACvE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,UAAU,CAAC,YAAY,CACrB,KAAK,CAAC,QAAQ,IAAI,OAAO,EACzB,iBAAiB,CAAC,KAAK,CAAC,CACzB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAiB,CAAC,GAAG,SAAS,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;IAEnC,oCAAoC;IAEpC,4DAA4D;IAC5D,oEAAoE;IACpE,6DAA6D;IAC7D,EAAE;IACF,0BAA0B;IAC1B,4EAA4E;IAC5E,8EAA8E;IAC9E,8EAA8E;IAC9E,yEAAyE;IACzE,0EAA0E;IAC1E,EAAE;IACF,6FAA6F;IAC7F,qEAAqE;IACrE,EAAE;IACF,kDAAkD;IAClD,iGAAiG;IACjG,gGAAgG;IAChG,gGAAgG;IAChG,2FAA2F;IAC3F,8FAA8F;IAC9F,2GAA2G;IAC3G,+EAA+E;IAC/E,EAAE;IACF,kDAAkD;IAClD,wEAAwE;IACxE,gEAAgE;IAChE,wDAAwD;IACxD,0EAA0E;IAC1E,0EAA0E;IAC1E,6DAA6D;IAE7D,oEAAoE;IACpE,iGAAiG;IACjG,IAAI,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC;QAC3B,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC;gBACT,QAAQ,EACN,UAAU,KAAK,GAAG;oBAChB,CAAC,CAAC,GAAG,eAAe,GAAG;oBACvB,CAAC,CAAC,GAAG,eAAe,GAAG,UAAU,IAAI;gBACzC,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,cAAc,CAAC,IAAI;gBAC7B,QAAQ,EAAE,qBAAqB;gBAC/B,MAAM,EAAE,yBAAyB;aAClC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,gFAAgF;IAChF,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC;gBACT,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,cAAc,CAAC,IAAI;gBAC7B,QAAQ,EAAE,2BAA2B;gBACrC,MAAM,EAAE,2BAA2B;aACpC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,gFAAgF;IAChF,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC1C,0CAA0C;YAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YACvD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;gBACpC,+BAA+B;gBAC/B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC;oBACrD,CAAC,CAAC,eAAe;oBACjB,CAAC,CAAC,WAAW,CAAC;gBAEhB,gDAAgD;gBAChD,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;oBACjC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBACpD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;wBAC/B,IAAI,OAAO,EAAE,CAAC;4BACZ,KAAK,CAAC,IAAI,CAAC;gCACT,QAAQ;gCACR,QAAQ,EAAE,cAAc,CAAC,KAAK;gCAC9B,QAAQ,EAAE,2BAA2B;gCACrC,WAAW,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC;gCAChC,MAAM,EAAE,0BAA0B;6BACnC,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,gEAAgE;oBAChE,oEAAoE;oBACpE,KAAK,CAAC,IAAI,CAAC;wBACT,QAAQ;wBACR,QAAQ,EAAE,cAAc,CAAC,KAAK;wBAC9B,QAAQ,EAAE,2BAA2B;wBACrC,MAAM,EAAE,0BAA0B;qBACnC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,qBAAqB;gBACrB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAC9C,CAAC,CAAC,eAAe;oBACjB,CAAC,CAAC,IAAI,CAAC;gBACT,KAAK,CAAC,IAAI,CAAC;oBACT,QAAQ;oBACR,QAAQ,EAAE,cAAc,CAAC,KAAK;oBAC9B,QAAQ,EAAE,2BAA2B;oBACrC,MAAM,EAAE,0BAA0B;iBACnC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,iFAAiF;IACjF,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CACrD,QAAQ,CAAC,UAAU,CACpB,EAAE,CAAC;YACF,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;gBACvB,uCAAuC;gBACvC,6DAA6D;gBAC7D,KAAK,CAAC,IAAI,CAAC;oBACT,QAAQ,EAAE,GAAG,eAAe,GAAG,UAAU,IAAI;oBAC7C,OAAO,EAAE,UAAU;oBACnB,QAAQ,EAAE,cAAc,CAAC,KAAK;oBAC9B,QAAQ,EAAE,2BAA2B;oBACrC,MAAM,EAAE,wBAAwB;iBACjC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,uFAAuF;IACvF,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;QAC1B,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC;gBACT,QAAQ,EACN,UAAU,KAAK,GAAG;oBAChB,CAAC,CAAC,GAAG,eAAe,GAAG;oBACvB,CAAC,CAAC,GAAG,eAAe,GAAG,UAAU,IAAI;gBACzC,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,cAAc,CAAC,KAAK;gBAC9B,QAAQ,EAAE,2BAA2B;gBACrC,MAAM,EAAE,wBAAwB;aACjC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK;QACL,QAAQ;QACR,eAAe,EAAE,WAAW;YAC1B,CAAC,CAAC,cAAc,CAAC,QAAQ;YACzB,CAAC,CAAC,cAAc,CAAC,IAAI;QACvB,cAAc,EAAE,CAAC,WAAW;QAC5B,YAAY;QACZ,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;KAChD,CAAC;AACJ,CAAC;AAcD,MAAM,UAAU,mBAAmB,CACjC,YAA0B,EAC1B,UAAsB,EACtB,OAAgB;IAEhB,uFAAuF;IACvF,IAAI,gBAAgB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAEzC,UAAU,CAAC,SAAS,CAClB,cAAc,CAAC,aAAa,EAC5B,KAAK,EAAE,OAAqB,EAAE,EAAE;QAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAElC,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,gEAAgE;YAChE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;YACrE,MAAM,IAAI,GACR,OAAO,CAAC,YAAY,KAAK,MAAM;gBAC7B,CAAC,CAAC,gBAAgB;gBAClB,CAAC,CAAC,qBAAqB,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,GAAG,8BAA8B,EAAE,GAAG,IAAI,CAAC;YAEhE,IAAI,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBACtE,WAAW,CAAC,IAAI,CACd,kDAAkD,QAAQ,sCAAsC,CACjG,CAAC;gBACF,OAAO;YACT,CAAC;YAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,OAAO,EAAE,CAAC;oBACZ,sEAAsE;oBACtE,kDAAkD;oBAClD,YAAY,CAAC,OAAO,CAAC;wBACnB,QAAQ;wBACR,QAAQ,EAAE,cAAc,CAAC,KAAK;wBAC9B,QAAQ;wBACR,WAAW,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC;wBAChC,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,MAAM,EAAE,qBAAqB;wBAC7B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;qBAC3C,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9D,UAAU,CAAC,YAAY,CACrB,OAAO,EACP,iDAAiD,QAAQ,KAAK,OAAO,CAAC,WAAW,EAAE,CACpF,CAAC;gBACF,OAAO;YACT,CAAC;YAED,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW;gBACrC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;gBACjC,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,IAAI,GACR,OAAO,CAAC,YAAY,KAAK,MAAM;gBAC7B,CAAC,CAAC,gBAAgB;gBAClB,CAAC,CAAC,qBAAqB,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,GAAG,8BAA8B,EAAE,GAAG,IAAI,CAAC;YAEhE,IAAI,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBACpE,WAAW,CAAC,IAAI,CACd,kDAAkD,QAAQ,qCAAqC,CAChG,CAAC;gBACF,OAAO;YACT,CAAC;YAED,YAAY,CAAC,OAAO,CAAC;gBACnB,QAAQ;gBACR,QAAQ,EAAE,cAAc,CAAC,KAAK;gBAC9B,QAAQ;gBACR,WAAW;gBACX,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,qBAAqB;gBAC7B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;aAC3C,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;gBAClD,IAAI,CAAC;oBACH,MAAM,UAAU,GACd,OAAO,CAAC,YAAY,KAAK,WAAW;wBAClC,CAAC,CAAC,OAAO,CAAC,+BAA+B,EAAE;wBAC3C,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;oBACvC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBAE9D,qBAAqB;oBACrB,IAAI,YAAY,GAA0B,EAAE,CAAC;oBAC7C,IAAI,CAAC;wBACH,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;wBAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;wBACvC,IACE,OAAO,MAAM,KAAK,QAAQ;4BAC1B,MAAM,KAAK,IAAI;4BACf,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EACtD,CAAC;4BACD,YAAY,GAAG,MAA+B,CAAC;wBACjD,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;4BACnD,WAAW,CAAC,IAAI,CACd,mBAAmB,UAAU,gCAAgC,EAC7D,KAAK,CACN,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAED,kCAAkC;oBAClC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;wBACvB,YAAY,CAAC,IAAI,GAAG,EAAE,CAAC;oBACzB,CAAC;oBAED,yBAAyB;oBACzB,MAAM,OAAO,GAAa;wBACxB,QAAQ,EAAE,OAAO;wBACjB,QAAQ,EAAE,8BAA8B,EAAE;qBAC3C,CAAC;oBAEF,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpB,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;wBAElC,MAAM,cAAc,GAAG,GAAG,eAAe,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC;wBAC/D,IAAI,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;4BACxC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;wBAC3D,CAAC;6BAAM,CAAC;4BACN,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;wBAC9B,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;oBAC9B,CAAC;oBAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;wBAC1B,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;oBAChD,CAAC;yBAAM,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;wBAC/B,kDAAkD;wBAClD,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;oBAC5C,CAAC;oBAED,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;wBAC3C,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBACtD,CAAC;oBAED,eAAe;oBACf,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAEhC,yBAAyB;oBACzB,6FAA6F;oBAC7F,uEAAuE;oBACvE,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,YAA4B,CAAC,CAAC;oBAEhE,2EAA2E;oBAC3E,0EAA0E;oBAC1E,8EAA8E;oBAC9E,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACxD,MAAM,OAAO,GAAG,GAAG,UAAU,IAAI,SAAS,MAAM,CAAC;oBAEjD,IAAI,MAAiC,CAAC;oBACtC,IAAI,CAAC;wBACH,0EAA0E;wBAC1E,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;wBACtC,MAAM,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;oBAC9C,CAAC;4BAAS,CAAC;wBACT,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC;oBACxB,CAAC;oBACD,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBACvC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,UAAU,CAAC,YAAY,CACrB,OAAO,EACP,gCAAgC,QAAQ,EAAE,EAC1C,KAAK,CACN,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/policy/config.ts"],"names":[],"mappings":"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"}
@@ -184,5 +184,47 @@ decision = "deny"
184
184
  const content = memfs.readFileSync(policyFile, 'utf-8');
185
185
  expect(content).toContain('toolName = "test_tool"');
186
186
  });
187
+ it('should include modes if provided', async () => {
188
+ createPolicyUpdater(policyEngine, messageBus, mockStorage);
189
+ const policyFile = '/mock/user/.gemini/policies/auto-saved.toml';
190
+ vi.spyOn(mockStorage, 'getAutoSavedPolicyPath').mockReturnValue(policyFile);
191
+ await messageBus.publish({
192
+ type: MessageBusType.UPDATE_POLICY,
193
+ toolName: 'test_tool',
194
+ persist: true,
195
+ modes: [ApprovalMode.DEFAULT, ApprovalMode.YOLO],
196
+ });
197
+ await vi.advanceTimersByTimeAsync(100);
198
+ const content = memfs.readFileSync(policyFile, 'utf-8');
199
+ expect(content).toContain('modes = [ "default", "yolo" ]');
200
+ });
201
+ it('should update existing rule modes instead of appending redundant rule', async () => {
202
+ createPolicyUpdater(policyEngine, messageBus, mockStorage);
203
+ const policyFile = '/mock/user/.gemini/policies/auto-saved.toml';
204
+ vi.spyOn(mockStorage, 'getAutoSavedPolicyPath').mockReturnValue(policyFile);
205
+ const existingContent = `
206
+ [[rule]]
207
+ decision = "allow"
208
+ priority = 950
209
+ toolName = "test_tool"
210
+ modes = [ "autoEdit", "yolo" ]
211
+ `;
212
+ const dir = path.dirname(policyFile);
213
+ memfs.mkdirSync(dir, { recursive: true });
214
+ memfs.writeFileSync(policyFile, existingContent);
215
+ // Now grant in DEFAULT mode, which should include [default, autoEdit, yolo]
216
+ await messageBus.publish({
217
+ type: MessageBusType.UPDATE_POLICY,
218
+ toolName: 'test_tool',
219
+ persist: true,
220
+ modes: [ApprovalMode.DEFAULT, ApprovalMode.AUTO_EDIT, ApprovalMode.YOLO],
221
+ });
222
+ await vi.advanceTimersByTimeAsync(100);
223
+ const content = memfs.readFileSync(policyFile, 'utf-8');
224
+ // Should NOT have two [[rule]] entries for test_tool
225
+ const ruleCount = (content.match(/\[\[rule\]\]/g) || []).length;
226
+ expect(ruleCount).toBe(1);
227
+ expect(content).toContain('modes = [ "default", "autoEdit", "yolo" ]');
228
+ });
187
229
  });
188
230
  //# sourceMappingURL=persistence.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.test.js","sourceRoot":"","sources":["../../../src/policy/persistence.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistence.test.js","sourceRoot":"","sources":["../../../src/policy/persistence.test.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,12 @@ export declare enum ApprovalMode {
25
25
  YOLO = "yolo",
26
26
  PLAN = "plan"
27
27
  }
28
+ /**
29
+ * The order of permissiveness for approval modes.
30
+ * Tools allowed in a less permissive mode should also be allowed
31
+ * in more permissive modes.
32
+ */
33
+ export declare const MODES_BY_PERMISSIVENESS: ApprovalMode[];
28
34
  /**
29
35
  * Configuration for the built-in allowed-path checker.
30
36
  */
@@ -39,6 +39,17 @@ export var ApprovalMode;
39
39
  ApprovalMode["YOLO"] = "yolo";
40
40
  ApprovalMode["PLAN"] = "plan";
41
41
  })(ApprovalMode || (ApprovalMode = {}));
42
+ /**
43
+ * The order of permissiveness for approval modes.
44
+ * Tools allowed in a less permissive mode should also be allowed
45
+ * in more permissive modes.
46
+ */
47
+ export const MODES_BY_PERMISSIVENESS = [
48
+ ApprovalMode.PLAN,
49
+ ApprovalMode.DEFAULT,
50
+ ApprovalMode.AUTO_EDIT,
51
+ ApprovalMode.YOLO,
52
+ ];
42
53
  export var InProcessCheckerType;
43
54
  (function (InProcessCheckerType) {
44
55
  InProcessCheckerType["ALLOWED_PATH"] = "allowed-path";
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/policy/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,iCAAe,CAAA;IACf,+BAAa,CAAA;IACb,uCAAqB,CAAA;AACvB,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAOD;;GAEG;AACH,MAAM,kBAAkB,GAAiB;IACvC,SAAS;IACT,MAAM;IACN,QAAQ;IACR,WAAW;CACZ,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,KAA8B;IAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;IACpC,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,uEAAuE;QACvE,kBAAkB,CAAC,QAAQ,CAAC,MAAoB,CAAC,EACjD,CAAC;QACD,uEAAuE;QACvE,OAAO,MAAoB,CAAC;IAC9B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,sCAAsB,CAAA;IACtB,6BAAa,CAAA;IACb,6BAAa,CAAA;AACf,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB;AA2BD,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,qDAA6B,CAAA;IAC7B,2CAAmB,CAAA;AACrB,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B;AAoQD;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAE3C;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAElD;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GACvC,8BAA8B,GAAG,IAAI,CAAC;AAExC;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/policy/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,iCAAe,CAAA;IACf,+BAAa,CAAA;IACb,uCAAqB,CAAA;AACvB,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAOD;;GAEG;AACH,MAAM,kBAAkB,GAAiB;IACvC,SAAS;IACT,MAAM;IACN,QAAQ;IACR,WAAW;CACZ,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,KAA8B;IAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;IACpC,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,uEAAuE;QACvE,kBAAkB,CAAC,QAAQ,CAAC,MAAoB,CAAC,EACjD,CAAC;QACD,uEAAuE;QACvE,OAAO,MAAoB,CAAC;IAC9B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,sCAAsB,CAAA;IACtB,6BAAa,CAAA;IACb,6BAAa,CAAA;AACf,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,YAAY,CAAC,IAAI;IACjB,YAAY,CAAC,OAAO;IACpB,YAAY,CAAC,SAAS;IACtB,YAAY,CAAC,IAAI;CAClB,CAAC;AA2BF,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,qDAA6B,CAAA;IAC7B,2CAAmB,CAAA;AACrB,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B;AAoQD;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAE3C;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAElD;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GACvC,8BAA8B,GAAG,IAAI,CAAC;AAExC;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { ToolErrorType } from '../tools/tool-error.js';
7
- import { ApprovalMode, PolicyDecision, } from '../policy/types.js';
7
+ import { ApprovalMode, MODES_BY_PERMISSIVENESS, PolicyDecision, } from '../policy/types.js';
8
8
  import { MessageBusType, } from '../confirmation-bus/types.js';
9
9
  import { ToolConfirmationOutcome, } from '../tools/tools.js';
10
10
  import { buildFilePathArgsPattern } from '../policy/utils.js';
@@ -72,6 +72,19 @@ export async function updatePolicy(tool, outcome, confirmationDetails, context,
72
72
  }
73
73
  // Determine persist scope if we are persisting.
74
74
  let persistScope;
75
+ let modes;
76
+ const currentMode = context.config.getApprovalMode();
77
+ // If this is an 'Always Allow' selection, we restrict it to the current mode
78
+ // and more permissive modes.
79
+ if (outcome === ToolConfirmationOutcome.ProceedAlways ||
80
+ outcome === ToolConfirmationOutcome.ProceedAlwaysTool ||
81
+ outcome === ToolConfirmationOutcome.ProceedAlwaysServer ||
82
+ outcome === ToolConfirmationOutcome.ProceedAlwaysAndSave) {
83
+ const modeIndex = MODES_BY_PERMISSIVENESS.indexOf(currentMode);
84
+ if (modeIndex !== -1) {
85
+ modes = MODES_BY_PERMISSIVENESS.slice(modeIndex);
86
+ }
87
+ }
75
88
  if (outcome === ToolConfirmationOutcome.ProceedAlwaysAndSave) {
76
89
  // If folder is trusted and workspace policies are enabled, we prefer workspace scope.
77
90
  if (context.config &&
@@ -85,11 +98,11 @@ export async function updatePolicy(tool, outcome, confirmationDetails, context,
85
98
  }
86
99
  // Specialized Tools (MCP)
87
100
  if (confirmationDetails?.type === 'mcp') {
88
- await handleMcpPolicyUpdate(tool, outcome, confirmationDetails, messageBus, persistScope);
101
+ await handleMcpPolicyUpdate(tool, outcome, confirmationDetails, messageBus, persistScope, modes);
89
102
  return;
90
103
  }
91
104
  // Generic Fallback (Shell, Info, etc.)
92
- await handleStandardPolicyUpdate(tool, outcome, confirmationDetails, messageBus, persistScope, toolInvocation, context.config);
105
+ await handleStandardPolicyUpdate(tool, outcome, confirmationDetails, messageBus, persistScope, toolInvocation, context.config, modes);
93
106
  }
94
107
  /**
95
108
  * Returns true if the user's 'Always Allow' selection for a specific tool
@@ -106,7 +119,7 @@ function isAutoEditTransition(tool, outcome) {
106
119
  * Handles policy updates for standard tools (Shell, Info, etc.), including
107
120
  * session-level and persistent approvals.
108
121
  */
109
- async function handleStandardPolicyUpdate(tool, outcome, confirmationDetails, messageBus, persistScope, toolInvocation, config) {
122
+ async function handleStandardPolicyUpdate(tool, outcome, confirmationDetails, messageBus, persistScope, toolInvocation, config, modes) {
110
123
  if (outcome === ToolConfirmationOutcome.ProceedAlways ||
111
124
  outcome === ToolConfirmationOutcome.ProceedAlwaysAndSave) {
112
125
  const options = toolInvocation?.getPolicyUpdateOptions?.(outcome) || {};
@@ -124,6 +137,7 @@ async function handleStandardPolicyUpdate(tool, outcome, confirmationDetails, me
124
137
  toolName: tool.name,
125
138
  persist: outcome === ToolConfirmationOutcome.ProceedAlwaysAndSave,
126
139
  persistScope,
140
+ modes,
127
141
  ...options,
128
142
  });
129
143
  }
@@ -132,7 +146,7 @@ async function handleStandardPolicyUpdate(tool, outcome, confirmationDetails, me
132
146
  * Handles policy updates specifically for MCP tools, including session-level
133
147
  * and persistent approvals.
134
148
  */
135
- async function handleMcpPolicyUpdate(tool, outcome, confirmationDetails, messageBus, persistScope) {
149
+ async function handleMcpPolicyUpdate(tool, outcome, confirmationDetails, messageBus, persistScope, modes) {
136
150
  const isMcpAlways = outcome === ToolConfirmationOutcome.ProceedAlways ||
137
151
  outcome === ToolConfirmationOutcome.ProceedAlwaysTool ||
138
152
  outcome === ToolConfirmationOutcome.ProceedAlwaysServer ||
@@ -152,6 +166,7 @@ async function handleMcpPolicyUpdate(tool, outcome, confirmationDetails, message
152
166
  mcpName: confirmationDetails.serverName,
153
167
  persist,
154
168
  persistScope,
169
+ modes,
155
170
  });
156
171
  }
157
172
  //# sourceMappingURL=policy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/scheduler/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/scheduler/policy.ts"],"names":[],"mappings":"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"}