@ironbee-ai/cli 0.6.2 → 0.7.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.
- package/CHANGELOG.md +12 -0
- package/README.md +167 -39
- package/dist/analysis/code-changes.js.map +1 -1
- package/dist/analysis/cross-session.js.map +1 -1
- package/dist/analysis/fix-effectiveness.js.map +1 -1
- package/dist/analysis/time-analysis.js.map +1 -1
- package/dist/analysis/verdict-details.js.map +1 -1
- package/dist/analysis/verification-quality.js.map +1 -1
- package/dist/analytics/classifier.d.ts +99 -0
- package/dist/analytics/classifier.d.ts.map +1 -0
- package/dist/analytics/classifier.js +380 -0
- package/dist/analytics/classifier.js.map +1 -0
- package/dist/analytics/emit.d.ts +67 -0
- package/dist/analytics/emit.d.ts.map +1 -0
- package/dist/analytics/emit.js +901 -0
- package/dist/analytics/emit.js.map +1 -0
- package/dist/analytics/errors.d.ts +33 -0
- package/dist/analytics/errors.d.ts.map +1 -0
- package/dist/analytics/errors.js +93 -0
- package/dist/analytics/errors.js.map +1 -0
- package/dist/analytics/hook-trigger.d.ts +39 -0
- package/dist/analytics/hook-trigger.d.ts.map +1 -0
- package/dist/analytics/hook-trigger.js +127 -0
- package/dist/analytics/hook-trigger.js.map +1 -0
- package/dist/analytics/log.d.ts +44 -0
- package/dist/analytics/log.d.ts.map +1 -0
- package/dist/analytics/log.js +158 -0
- package/dist/analytics/log.js.map +1 -0
- package/dist/analytics/merge.d.ts +40 -0
- package/dist/analytics/merge.d.ts.map +1 -0
- package/dist/analytics/merge.js +527 -0
- package/dist/analytics/merge.js.map +1 -0
- package/dist/analytics/pricing.d.ts +149 -0
- package/dist/analytics/pricing.d.ts.map +1 -0
- package/dist/analytics/pricing.js +179 -0
- package/dist/analytics/pricing.js.map +1 -0
- package/dist/analytics/projection.d.ts +356 -0
- package/dist/analytics/projection.d.ts.map +1 -0
- package/dist/analytics/projection.js +2281 -0
- package/dist/analytics/projection.js.map +1 -0
- package/dist/analytics/spawn.d.ts +28 -0
- package/dist/analytics/spawn.d.ts.map +1 -0
- package/dist/analytics/spawn.js +57 -0
- package/dist/analytics/spawn.js.map +1 -0
- package/dist/analytics/state.d.ts +58 -0
- package/dist/analytics/state.d.ts.map +1 -0
- package/dist/analytics/state.js +329 -0
- package/dist/analytics/state.js.map +1 -0
- package/dist/analytics/transcript.d.ts +150 -0
- package/dist/analytics/transcript.d.ts.map +1 -0
- package/dist/analytics/transcript.js +276 -0
- package/dist/analytics/transcript.js.map +1 -0
- package/dist/analytics/types.d.ts +875 -0
- package/dist/analytics/types.d.ts.map +1 -0
- package/dist/analytics/types.js +31 -0
- package/dist/analytics/types.js.map +1 -0
- package/dist/clients/base.d.ts +21 -2
- package/dist/clients/base.d.ts.map +1 -1
- package/dist/clients/claude/commands/ironbee-verify.md +15 -7
- package/dist/clients/claude/fragments/command-verify.node.md +33 -0
- package/dist/clients/claude/fragments/rule.node.md +29 -0
- package/dist/clients/claude/fragments/skill.node.md +77 -0
- package/dist/clients/claude/hooks/activity-end.d.ts +13 -0
- package/dist/clients/claude/hooks/activity-end.d.ts.map +1 -0
- package/dist/clients/claude/hooks/activity-end.js +42 -0
- package/dist/clients/claude/hooks/activity-end.js.map +1 -0
- package/dist/clients/claude/hooks/require-verdict.d.ts +3 -2
- package/dist/clients/claude/hooks/require-verdict.d.ts.map +1 -1
- package/dist/clients/claude/hooks/require-verdict.js +6 -5
- package/dist/clients/claude/hooks/require-verdict.js.map +1 -1
- package/dist/clients/claude/hooks/require-verification.d.ts +7 -4
- package/dist/clients/claude/hooks/require-verification.d.ts.map +1 -1
- package/dist/clients/claude/hooks/require-verification.js +44 -22
- package/dist/clients/claude/hooks/require-verification.js.map +1 -1
- package/dist/clients/claude/hooks/session-end.d.ts.map +1 -1
- package/dist/clients/claude/hooks/session-end.js +17 -2
- package/dist/clients/claude/hooks/session-end.js.map +1 -1
- package/dist/clients/claude/hooks/session-start.d.ts.map +1 -1
- package/dist/clients/claude/hooks/session-start.js +2 -1
- package/dist/clients/claude/hooks/session-start.js.map +1 -1
- package/dist/clients/claude/hooks/track-action-monitor.d.ts +27 -0
- package/dist/clients/claude/hooks/track-action-monitor.d.ts.map +1 -0
- package/dist/clients/claude/hooks/track-action-monitor.js +126 -0
- package/dist/clients/claude/hooks/track-action-monitor.js.map +1 -0
- package/dist/clients/claude/hooks/track-action.d.ts.map +1 -1
- package/dist/clients/claude/hooks/track-action.js +29 -20
- package/dist/clients/claude/hooks/track-action.js.map +1 -1
- package/dist/clients/claude/hooks/verify-gate.d.ts.map +1 -1
- package/dist/clients/claude/hooks/verify-gate.js +18 -1
- package/dist/clients/claude/hooks/verify-gate.js.map +1 -1
- package/dist/clients/claude/index.d.ts +4 -1
- package/dist/clients/claude/index.d.ts.map +1 -1
- package/dist/clients/claude/index.js +171 -94
- package/dist/clients/claude/index.js.map +1 -1
- package/dist/clients/claude/rules/ironbee-verification.md +41 -33
- package/dist/clients/claude/skills/ironbee-verification.md +93 -76
- package/dist/clients/cursor/commands/ironbee-verify/SKILL.md +18 -10
- package/dist/clients/cursor/fragments/command-verify.node.md +33 -0
- package/dist/clients/cursor/fragments/rule.node.md +29 -0
- package/dist/clients/cursor/fragments/skill.node.md +77 -0
- package/dist/clients/cursor/hooks/activity-end.d.ts +14 -0
- package/dist/clients/cursor/hooks/activity-end.d.ts.map +1 -0
- package/dist/clients/cursor/hooks/activity-end.js +45 -0
- package/dist/clients/cursor/hooks/activity-end.js.map +1 -0
- package/dist/clients/cursor/hooks/require-verdict.d.ts +1 -1
- package/dist/clients/cursor/hooks/require-verdict.js +4 -4
- package/dist/clients/cursor/hooks/require-verification.d.ts.map +1 -1
- package/dist/clients/cursor/hooks/require-verification.js +42 -16
- package/dist/clients/cursor/hooks/require-verification.js.map +1 -1
- package/dist/clients/cursor/hooks/session-end.d.ts.map +1 -1
- package/dist/clients/cursor/hooks/session-end.js +18 -2
- package/dist/clients/cursor/hooks/session-end.js.map +1 -1
- package/dist/clients/cursor/hooks/session-start.d.ts.map +1 -1
- package/dist/clients/cursor/hooks/session-start.js +2 -1
- package/dist/clients/cursor/hooks/session-start.js.map +1 -1
- package/dist/clients/cursor/hooks/track-action-monitor.d.ts +27 -0
- package/dist/clients/cursor/hooks/track-action-monitor.d.ts.map +1 -0
- package/dist/clients/cursor/hooks/track-action-monitor.js +133 -0
- package/dist/clients/cursor/hooks/track-action-monitor.js.map +1 -0
- package/dist/clients/cursor/hooks/track-action.d.ts.map +1 -1
- package/dist/clients/cursor/hooks/track-action.js +51 -23
- package/dist/clients/cursor/hooks/track-action.js.map +1 -1
- package/dist/clients/cursor/hooks/verify-gate.d.ts.map +1 -1
- package/dist/clients/cursor/hooks/verify-gate.js +14 -1
- package/dist/clients/cursor/hooks/verify-gate.js.map +1 -1
- package/dist/clients/cursor/index.d.ts +4 -1
- package/dist/clients/cursor/index.d.ts.map +1 -1
- package/dist/clients/cursor/index.js +117 -71
- package/dist/clients/cursor/index.js.map +1 -1
- package/dist/clients/cursor/rules/ironbee-verification.mdc +37 -29
- package/dist/clients/cursor/skills/ironbee-verification.md +93 -76
- package/dist/clients/registry.d.ts +14 -0
- package/dist/clients/registry.d.ts.map +1 -1
- package/dist/clients/registry.js +34 -0
- package/dist/clients/registry.js.map +1 -1
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +40 -0
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/backend-toggle.d.ts +45 -0
- package/dist/commands/backend-toggle.d.ts.map +1 -0
- package/dist/commands/backend-toggle.js +192 -0
- package/dist/commands/backend-toggle.js.map +1 -0
- package/dist/commands/disable-backend.d.ts +14 -0
- package/dist/commands/disable-backend.d.ts.map +1 -0
- package/dist/commands/disable-backend.js +34 -0
- package/dist/commands/disable-backend.js.map +1 -0
- package/dist/commands/disable-verification.d.ts +16 -0
- package/dist/commands/disable-verification.d.ts.map +1 -0
- package/dist/commands/disable-verification.js +36 -0
- package/dist/commands/disable-verification.js.map +1 -0
- package/dist/commands/enable-backend.d.ts +15 -0
- package/dist/commands/enable-backend.d.ts.map +1 -0
- package/dist/commands/enable-backend.js +35 -0
- package/dist/commands/enable-backend.js.map +1 -0
- package/dist/commands/enable-verification.d.ts +14 -0
- package/dist/commands/enable-verification.d.ts.map +1 -0
- package/dist/commands/enable-verification.js +34 -0
- package/dist/commands/enable-verification.js.map +1 -0
- package/dist/commands/hook.d.ts.map +1 -1
- package/dist/commands/hook.js +60 -0
- package/dist/commands/hook.js.map +1 -1
- package/dist/commands/import.d.ts +39 -0
- package/dist/commands/import.d.ts.map +1 -0
- package/dist/commands/import.js +369 -0
- package/dist/commands/import.js.map +1 -0
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +15 -20
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/process-analytics.d.ts +18 -0
- package/dist/commands/process-analytics.d.ts.map +1 -0
- package/dist/commands/process-analytics.js +57 -0
- package/dist/commands/process-analytics.js.map +1 -0
- package/dist/commands/queue.d.ts +2 -3
- package/dist/commands/queue.d.ts.map +1 -1
- package/dist/commands/queue.js +2 -3
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +29 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/verification-toggle.d.ts +47 -0
- package/dist/commands/verification-toggle.d.ts.map +1 -0
- package/dist/commands/verification-toggle.js +122 -0
- package/dist/commands/verification-toggle.js.map +1 -0
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +28 -0
- package/dist/commands/verify.js.map +1 -1
- package/dist/hooks/core/actions.d.ts +72 -70
- package/dist/hooks/core/actions.d.ts.map +1 -1
- package/dist/hooks/core/actions.js +191 -28
- package/dist/hooks/core/actions.js.map +1 -1
- package/dist/hooks/core/activity-end.d.ts +20 -0
- package/dist/hooks/core/activity-end.d.ts.map +1 -0
- package/dist/hooks/core/activity-end.js +23 -0
- package/dist/hooks/core/activity-end.js.map +1 -0
- package/dist/hooks/core/required-tools.d.ts +30 -0
- package/dist/hooks/core/required-tools.d.ts.map +1 -0
- package/dist/hooks/core/required-tools.js +70 -0
- package/dist/hooks/core/required-tools.js.map +1 -0
- package/dist/hooks/core/session-state.d.ts +12 -3
- package/dist/hooks/core/session-state.d.ts.map +1 -1
- package/dist/hooks/core/session-state.js +59 -0
- package/dist/hooks/core/session-state.js.map +1 -1
- package/dist/hooks/core/submit-verdict.d.ts.map +1 -1
- package/dist/hooks/core/submit-verdict.js +16 -12
- package/dist/hooks/core/submit-verdict.js.map +1 -1
- package/dist/hooks/core/verify-gate.d.ts +17 -3
- package/dist/hooks/core/verify-gate.d.ts.map +1 -1
- package/dist/hooks/core/verify-gate.js +312 -116
- package/dist/hooks/core/verify-gate.js.map +1 -1
- package/dist/import/claude/analytics-runner.d.ts +42 -0
- package/dist/import/claude/analytics-runner.d.ts.map +1 -0
- package/dist/import/claude/analytics-runner.js +213 -0
- package/dist/import/claude/analytics-runner.js.map +1 -0
- package/dist/import/claude/discovery.d.ts +22 -0
- package/dist/import/claude/discovery.d.ts.map +1 -0
- package/dist/import/claude/discovery.js +197 -0
- package/dist/import/claude/discovery.js.map +1 -0
- package/dist/import/claude/encoding.d.ts +50 -0
- package/dist/import/claude/encoding.d.ts.map +1 -0
- package/dist/import/claude/encoding.js +110 -0
- package/dist/import/claude/encoding.js.map +1 -0
- package/dist/import/claude/events/file-change.d.ts +28 -0
- package/dist/import/claude/events/file-change.d.ts.map +1 -0
- package/dist/import/claude/events/file-change.js +112 -0
- package/dist/import/claude/events/file-change.js.map +1 -0
- package/dist/import/claude/events/tool-call.d.ts +61 -0
- package/dist/import/claude/events/tool-call.d.ts.map +1 -0
- package/dist/import/claude/events/tool-call.js +119 -0
- package/dist/import/claude/events/tool-call.js.map +1 -0
- package/dist/import/claude/runner.d.ts +31 -0
- package/dist/import/claude/runner.d.ts.map +1 -0
- package/dist/import/claude/runner.js +280 -0
- package/dist/import/claude/runner.js.map +1 -0
- package/dist/import/claude/summary.d.ts +23 -0
- package/dist/import/claude/summary.d.ts.map +1 -0
- package/dist/import/claude/summary.js +186 -0
- package/dist/import/claude/summary.js.map +1 -0
- package/dist/import/claude/transcript-walk.d.ts +52 -0
- package/dist/import/claude/transcript-walk.d.ts.map +1 -0
- package/dist/import/claude/transcript-walk.js +187 -0
- package/dist/import/claude/transcript-walk.js.map +1 -0
- package/dist/import/concurrent-pool.d.ts +45 -0
- package/dist/import/concurrent-pool.d.ts.map +1 -0
- package/dist/import/concurrent-pool.js +95 -0
- package/dist/import/concurrent-pool.js.map +1 -0
- package/dist/import/emitter.d.ts +29 -0
- package/dist/import/emitter.d.ts.map +1 -0
- package/dist/import/emitter.js +66 -0
- package/dist/import/emitter.js.map +1 -0
- package/dist/import/events/activity.d.ts +23 -0
- package/dist/import/events/activity.d.ts.map +1 -0
- package/dist/import/events/activity.js +45 -0
- package/dist/import/events/activity.js.map +1 -0
- package/dist/import/events/session.d.ts +24 -0
- package/dist/import/events/session.d.ts.map +1 -0
- package/dist/import/events/session.js +47 -0
- package/dist/import/events/session.js.map +1 -0
- package/dist/import/filter.d.ts +47 -0
- package/dist/import/filter.d.ts.map +1 -0
- package/dist/import/filter.js +90 -0
- package/dist/import/filter.js.map +1 -0
- package/dist/import/ids.d.ts +56 -0
- package/dist/import/ids.d.ts.map +1 -0
- package/dist/import/ids.js +87 -0
- package/dist/import/ids.js.map +1 -0
- package/dist/import/index.d.ts +29 -0
- package/dist/import/index.d.ts.map +1 -0
- package/dist/import/index.js +52 -0
- package/dist/import/index.js.map +1 -0
- package/dist/import/marker.d.ts +20 -0
- package/dist/import/marker.d.ts.map +1 -0
- package/dist/import/marker.js +71 -0
- package/dist/import/marker.js.map +1 -0
- package/dist/import/pipeline.d.ts +41 -0
- package/dist/import/pipeline.d.ts.map +1 -0
- package/dist/import/pipeline.js +47 -0
- package/dist/import/pipeline.js.map +1 -0
- package/dist/import/progress.d.ts +20 -0
- package/dist/import/progress.d.ts.map +1 -0
- package/dist/import/progress.js +69 -0
- package/dist/import/progress.js.map +1 -0
- package/dist/import/skip.d.ts +13 -0
- package/dist/import/skip.d.ts.map +1 -0
- package/dist/import/skip.js +24 -0
- package/dist/import/skip.js.map +1 -0
- package/dist/import/types.d.ts +125 -0
- package/dist/import/types.d.ts.map +1 -0
- package/dist/import/types.js +28 -0
- package/dist/import/types.js.map +1 -0
- package/dist/index.js +21 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/collector.d.ts +29 -3
- package/dist/lib/collector.d.ts.map +1 -1
- package/dist/lib/collector.js +118 -8
- package/dist/lib/collector.js.map +1 -1
- package/dist/lib/config.d.ts +240 -83
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +482 -89
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/event.d.ts +72 -0
- package/dist/lib/event.d.ts.map +1 -0
- package/dist/lib/event.js +42 -0
- package/dist/lib/event.js.map +1 -0
- package/dist/lib/gitignore.d.ts +21 -0
- package/dist/lib/gitignore.d.ts.map +1 -0
- package/dist/lib/gitignore.js +54 -0
- package/dist/lib/gitignore.js.map +1 -0
- package/dist/lib/runtime-section.d.ts +118 -0
- package/dist/lib/runtime-section.d.ts.map +1 -0
- package/dist/lib/runtime-section.js +256 -0
- package/dist/lib/runtime-section.js.map +1 -0
- package/dist/lib/telemetry.d.ts +1 -1
- package/dist/lib/telemetry.d.ts.map +1 -1
- package/dist/lib/telemetry.js +4 -1
- package/dist/lib/telemetry.js.map +1 -1
- package/dist/queue/dead-letter.d.ts +5 -1
- package/dist/queue/dead-letter.d.ts.map +1 -1
- package/dist/queue/dead-letter.js +5 -1
- package/dist/queue/dead-letter.js.map +1 -1
- package/dist/queue/drain.d.ts +3 -2
- package/dist/queue/drain.d.ts.map +1 -1
- package/dist/queue/drain.js +3 -2
- package/dist/queue/drain.js.map +1 -1
- package/dist/queue/flush.d.ts +28 -12
- package/dist/queue/flush.d.ts.map +1 -1
- package/dist/queue/flush.js +43 -18
- package/dist/queue/flush.js.map +1 -1
- package/dist/queue/handlers/send-event.d.ts.map +1 -1
- package/dist/queue/handlers/send-event.js.map +1 -1
- package/dist/queue/index.d.ts +1 -2
- package/dist/queue/index.d.ts.map +1 -1
- package/dist/queue/index.js +2 -2
- package/dist/queue/index.js.map +1 -1
- package/dist/queue/paths.d.ts +4 -2
- package/dist/queue/paths.d.ts.map +1 -1
- package/dist/queue/paths.js +4 -2
- package/dist/queue/paths.js.map +1 -1
- package/dist/queue/process-file.d.ts +5 -1
- package/dist/queue/process-file.d.ts.map +1 -1
- package/dist/queue/process-file.js +5 -1
- package/dist/queue/process-file.js.map +1 -1
- package/dist/queue/snapshot.d.ts +4 -1
- package/dist/queue/snapshot.d.ts.map +1 -1
- package/dist/queue/snapshot.js +4 -1
- package/dist/queue/snapshot.js.map +1 -1
- package/dist/queue/spawn.d.ts +1 -3
- package/dist/queue/spawn.d.ts.map +1 -1
- package/dist/queue/spawn.js +1 -3
- package/dist/queue/spawn.js.map +1 -1
- package/dist/queue/submit.d.ts +6 -1
- package/dist/queue/submit.d.ts.map +1 -1
- package/dist/queue/submit.js +6 -1
- package/dist/queue/submit.js.map +1 -1
- package/dist/queue/types.d.ts +5 -1
- package/dist/queue/types.d.ts.map +1 -1
- package/dist/queue/types.js +5 -1
- package/dist/queue/types.js.map +1 -1
- package/dist/queue/worker-log.d.ts +3 -1
- package/dist/queue/worker-log.d.ts.map +1 -1
- package/dist/queue/worker-log.js +3 -1
- package/dist/queue/worker-log.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Required-tools satisfier — pure logic for the §5 alwaysRequired + evidencePaths model.
|
|
3
|
+
*
|
|
4
|
+
* Given a set of tools that the agent actually used and a per-cycle
|
|
5
|
+
* RequiredToolsConfig, decides whether the cycle's tool requirement is met:
|
|
6
|
+
* 1. Every tool in `alwaysRequired` must be in `used`.
|
|
7
|
+
* 2. If `evidencePaths` is non-empty, at least one path must be fully
|
|
8
|
+
* satisfied — every entry in the path's `allOf` must be present (string
|
|
9
|
+
* → exact tool, `{ anyOf }` → at least one of the listed).
|
|
10
|
+
* 3. If `evidencePaths` is empty, alwaysRequired alone is sufficient.
|
|
11
|
+
*
|
|
12
|
+
* On failure, the result reports the alwaysRequired gap (if any) or the
|
|
13
|
+
* "closest" evidence path (fewest missing) for use in block messages.
|
|
14
|
+
*/
|
|
15
|
+
import { RequiredToolsConfig } from "../../lib/config";
|
|
16
|
+
export interface SatisfyResult {
|
|
17
|
+
satisfied: boolean;
|
|
18
|
+
/** Name of the satisfied (or closest-on-failure) evidence path, if any. */
|
|
19
|
+
pathName?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Missing tool names. For an `anyOf` group all of whose options are
|
|
22
|
+
* missing, the entry reads `"(toolA | toolB | toolC)"`.
|
|
23
|
+
* Empty when satisfied or when only alwaysRequired matters and is met.
|
|
24
|
+
*/
|
|
25
|
+
missing: string[];
|
|
26
|
+
/** Names of every evidence path the satisfier considered. */
|
|
27
|
+
triedPaths: string[];
|
|
28
|
+
}
|
|
29
|
+
export declare function satisfyRequiredTools(used: Set<string>, cfg: RequiredToolsConfig): SatisfyResult;
|
|
30
|
+
//# sourceMappingURL=required-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"required-tools.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/required-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAgB,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAErE,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,6DAA6D;IAC7D,UAAU,EAAE,MAAM,EAAE,CAAC;CACxB;AA0BD,wBAAgB,oBAAoB,CAChC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EACjB,GAAG,EAAE,mBAAmB,GACzB,aAAa,CAgCf"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Required-tools satisfier — pure logic for the §5 alwaysRequired + evidencePaths model.
|
|
4
|
+
*
|
|
5
|
+
* Given a set of tools that the agent actually used and a per-cycle
|
|
6
|
+
* RequiredToolsConfig, decides whether the cycle's tool requirement is met:
|
|
7
|
+
* 1. Every tool in `alwaysRequired` must be in `used`.
|
|
8
|
+
* 2. If `evidencePaths` is non-empty, at least one path must be fully
|
|
9
|
+
* satisfied — every entry in the path's `allOf` must be present (string
|
|
10
|
+
* → exact tool, `{ anyOf }` → at least one of the listed).
|
|
11
|
+
* 3. If `evidencePaths` is empty, alwaysRequired alone is sufficient.
|
|
12
|
+
*
|
|
13
|
+
* On failure, the result reports the alwaysRequired gap (if any) or the
|
|
14
|
+
* "closest" evidence path (fewest missing) for use in block messages.
|
|
15
|
+
*/
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.satisfyRequiredTools = satisfyRequiredTools;
|
|
18
|
+
function describeAllOfEntry(entry) {
|
|
19
|
+
if (typeof entry === "string") {
|
|
20
|
+
return entry;
|
|
21
|
+
}
|
|
22
|
+
return `(${entry.anyOf.join(" | ")})`;
|
|
23
|
+
}
|
|
24
|
+
function pathMissing(path, used) {
|
|
25
|
+
const missing = [];
|
|
26
|
+
for (const entry of path.allOf) {
|
|
27
|
+
if (typeof entry === "string") {
|
|
28
|
+
if (!used.has(entry)) {
|
|
29
|
+
missing.push(entry);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
const found = entry.anyOf.some((t) => used.has(t));
|
|
34
|
+
if (!found) {
|
|
35
|
+
missing.push(describeAllOfEntry(entry));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return missing;
|
|
40
|
+
}
|
|
41
|
+
function satisfyRequiredTools(used, cfg) {
|
|
42
|
+
const triedPaths = cfg.evidencePaths.map((p) => p.name);
|
|
43
|
+
// 1. alwaysRequired check
|
|
44
|
+
const missingAlways = cfg.alwaysRequired.filter((t) => !used.has(t));
|
|
45
|
+
if (missingAlways.length > 0) {
|
|
46
|
+
return { satisfied: false, missing: missingAlways, triedPaths };
|
|
47
|
+
}
|
|
48
|
+
// 2. no evidencePaths → alwaysRequired alone is sufficient
|
|
49
|
+
if (cfg.evidencePaths.length === 0) {
|
|
50
|
+
return { satisfied: true, missing: [], triedPaths };
|
|
51
|
+
}
|
|
52
|
+
// 3. at least one evidence path fully satisfied
|
|
53
|
+
let bestPartial = null;
|
|
54
|
+
for (const path of cfg.evidencePaths) {
|
|
55
|
+
const m = pathMissing(path, used);
|
|
56
|
+
if (m.length === 0) {
|
|
57
|
+
return { satisfied: true, pathName: path.name, missing: [], triedPaths };
|
|
58
|
+
}
|
|
59
|
+
if (bestPartial === null || m.length < bestPartial.missing.length) {
|
|
60
|
+
bestPartial = { path, missing: m };
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
satisfied: false,
|
|
65
|
+
pathName: bestPartial?.path.name,
|
|
66
|
+
missing: bestPartial?.missing ?? [],
|
|
67
|
+
triedPaths,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=required-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"required-tools.js","sourceRoot":"","sources":["../../../src/hooks/core/required-tools.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;AA0CH,oDAmCC;AA3DD,SAAS,kBAAkB,CAAC,KAAmC;IAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1C,CAAC;AAED,SAAS,WAAW,CAAC,IAAkB,EAAE,IAAiB;IACtD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,KAAK,GAAY,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAS,EAAW,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7E,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAgB,oBAAoB,CAChC,IAAiB,EACjB,GAAwB;IAExB,MAAM,UAAU,GAAa,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAe,EAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAExF,0BAA0B;IAC1B,MAAM,aAAa,GAAa,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAS,EAAW,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChG,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;IACpE,CAAC;IAED,2DAA2D;IAC3D,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;IACxD,CAAC;IAED,gDAAgD;IAChD,IAAI,WAAW,GAAqD,IAAI,CAAC;IACzE,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QACnC,MAAM,CAAC,GAAa,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjB,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;QAC7E,CAAC;QACD,IAAI,WAAW,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAChE,WAAW,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACvC,CAAC;IACL,CAAC;IAED,OAAO;QACH,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI;QAChC,OAAO,EAAE,WAAW,EAAE,OAAO,IAAI,EAAE;QACnC,UAAU;KACb,CAAC;AACN,CAAC"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* All session state (retries, activeVerificationId, lastVerdictStatus)
|
|
6
6
|
* is stored in a single state.json file per session.
|
|
7
7
|
*/
|
|
8
|
-
import {
|
|
8
|
+
import { Event } from "./actions";
|
|
9
9
|
export type SessionPhase = "coding" | "verifying" | "fixing" | null;
|
|
10
10
|
export interface SessionState {
|
|
11
11
|
retries: number;
|
|
@@ -59,12 +59,21 @@ export declare function getUserEmail(sessionDir: string): string | undefined;
|
|
|
59
59
|
export declare function setUserEmail(sessionDir: string, email: string | null | undefined): void;
|
|
60
60
|
export declare function setActiveActivity(sessionDir: string, activityId: string): void;
|
|
61
61
|
export declare function clearActiveActivity(sessionDir: string): void;
|
|
62
|
+
/**
|
|
63
|
+
* Close any open verification + fix cycles with a custom `reason`, without
|
|
64
|
+
* touching the activity. Intended for terminal points where activity is
|
|
65
|
+
* closed separately (session-end) or where the agent has run out of retries
|
|
66
|
+
* (verify-gate `max_retries_exceeded`). Idempotent — no-op when nothing is
|
|
67
|
+
* open. Resets phase back to "coding" on the way out so subsequent reads see
|
|
68
|
+
* a clean slate.
|
|
69
|
+
*/
|
|
70
|
+
export declare function closeOpenCycles(sessionDir: string, actionsFile: string, reason: string): Promise<void>;
|
|
62
71
|
/**
|
|
63
72
|
* Reconcile session state on session start/resume.
|
|
64
73
|
* Closes any open verification or fix cycles, records appropriate
|
|
65
74
|
* end entries in actions.jsonl, and resets phase to "coding".
|
|
66
75
|
*/
|
|
67
|
-
export declare function reconcileSessionState(sessionDir: string, actionsFile: string, appendFn: (file: string, entry:
|
|
76
|
+
export declare function reconcileSessionState(sessionDir: string, actionsFile: string, appendFn: (file: string, entry: Event) => Promise<void>): Promise<void>;
|
|
68
77
|
/**
|
|
69
78
|
* Reconcile session state when a compact occurs mid-session.
|
|
70
79
|
*
|
|
@@ -78,5 +87,5 @@ export declare function reconcileSessionState(sessionDir: string, actionsFile: s
|
|
|
78
87
|
* Session-scoped state (retries, lastVerdictStatus, verdict file,
|
|
79
88
|
* userEmail) is intentionally preserved — those survive a compact.
|
|
80
89
|
*/
|
|
81
|
-
export declare function reconcileForCompact(sessionDir: string, actionsFile: string, appendFn: (file: string, entry:
|
|
90
|
+
export declare function reconcileForCompact(sessionDir: string, actionsFile: string, appendFn: (file: string, entry: Event) => Promise<void>): Promise<void>;
|
|
82
91
|
//# sourceMappingURL=session-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-state.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/session-state.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EACH,
|
|
1
|
+
{"version":3,"file":"session-state.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/session-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,7 @@ exports.getUserEmail = getUserEmail;
|
|
|
35
35
|
exports.setUserEmail = setUserEmail;
|
|
36
36
|
exports.setActiveActivity = setActiveActivity;
|
|
37
37
|
exports.clearActiveActivity = clearActiveActivity;
|
|
38
|
+
exports.closeOpenCycles = closeOpenCycles;
|
|
38
39
|
exports.reconcileSessionState = reconcileSessionState;
|
|
39
40
|
exports.reconcileForCompact = reconcileForCompact;
|
|
40
41
|
const crypto_1 = require("crypto");
|
|
@@ -230,6 +231,64 @@ function clearActiveActivity(sessionDir) {
|
|
|
230
231
|
state.active = false;
|
|
231
232
|
writeState(sessionDir, state);
|
|
232
233
|
}
|
|
234
|
+
/**
|
|
235
|
+
* Close any open verification + fix cycles with a custom `reason`, without
|
|
236
|
+
* touching the activity. Intended for terminal points where activity is
|
|
237
|
+
* closed separately (session-end) or where the agent has run out of retries
|
|
238
|
+
* (verify-gate `max_retries_exceeded`). Idempotent — no-op when nothing is
|
|
239
|
+
* open. Resets phase back to "coding" on the way out so subsequent reads see
|
|
240
|
+
* a clean slate.
|
|
241
|
+
*/
|
|
242
|
+
async function closeOpenCycles(sessionDir, actionsFile, reason) {
|
|
243
|
+
const state = readState(sessionDir);
|
|
244
|
+
let dirty = false;
|
|
245
|
+
if (state.activeVerificationId) {
|
|
246
|
+
const now = Date.now();
|
|
247
|
+
const entry = {
|
|
248
|
+
...(0, actions_1.baseFields)(actionsFile),
|
|
249
|
+
type: "verification_end",
|
|
250
|
+
timestamp: now,
|
|
251
|
+
verification_id: state.activeVerificationId,
|
|
252
|
+
activity_id: state.activeActivityId,
|
|
253
|
+
trace_id: state.activeTraceId,
|
|
254
|
+
duration: (0, actions_1.findDurationSinceLastAction)(actionsFile, "verification_start", now),
|
|
255
|
+
reason,
|
|
256
|
+
};
|
|
257
|
+
await (0, actions_1.appendAction)(actionsFile, entry);
|
|
258
|
+
logger_1.logger.debug(`close-open-cycles: ended verification ${state.activeVerificationId} (${reason})`);
|
|
259
|
+
state.activeVerificationId = null;
|
|
260
|
+
state.activeTraceId = null;
|
|
261
|
+
dirty = true;
|
|
262
|
+
}
|
|
263
|
+
if (state.activeFixId) {
|
|
264
|
+
const now = Date.now();
|
|
265
|
+
const entry = {
|
|
266
|
+
...(0, actions_1.baseFields)(actionsFile),
|
|
267
|
+
type: "fix_end",
|
|
268
|
+
timestamp: now,
|
|
269
|
+
fix_id: state.activeFixId,
|
|
270
|
+
activity_id: state.activeActivityId,
|
|
271
|
+
duration: (0, actions_1.findDurationSinceLastAction)(actionsFile, "fix_start", now),
|
|
272
|
+
reason,
|
|
273
|
+
};
|
|
274
|
+
await (0, actions_1.appendAction)(actionsFile, entry);
|
|
275
|
+
logger_1.logger.debug(`close-open-cycles: ended fix ${state.activeFixId} (${reason})`);
|
|
276
|
+
state.activeFixId = null;
|
|
277
|
+
dirty = true;
|
|
278
|
+
}
|
|
279
|
+
if (state.recordingRequired || state.recordingActive) {
|
|
280
|
+
state.recordingRequired = false;
|
|
281
|
+
state.recordingActive = false;
|
|
282
|
+
dirty = true;
|
|
283
|
+
}
|
|
284
|
+
if (state.phase !== "coding") {
|
|
285
|
+
state.phase = "coding";
|
|
286
|
+
dirty = true;
|
|
287
|
+
}
|
|
288
|
+
if (dirty) {
|
|
289
|
+
writeState(sessionDir, state);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
233
292
|
/**
|
|
234
293
|
* Reconcile session state on session start/resume.
|
|
235
294
|
* Closes any open verification or fix cycles, records appropriate
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-state.js","sourceRoot":"","sources":["../../../src/hooks/core/session-state.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-state.js","sourceRoot":"","sources":["../../../src/hooks/core/session-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submit-verdict.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/submit-verdict.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,MAAM,WAAW,kBAAkB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"submit-verdict.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/submit-verdict.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,MAAM,WAAW,kBAAkB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACnB;AAeD,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAuI9F"}
|
|
@@ -32,19 +32,13 @@ async function runSubmitVerdict(input) {
|
|
|
32
32
|
if (verdict.status !== "pass" && verdict.status !== "fail") {
|
|
33
33
|
return { success: false, message: `REJECTED: status must be "pass" or "fail", got "${verdict.status}".` };
|
|
34
34
|
}
|
|
35
|
-
//
|
|
36
|
-
if (!Array.isArray(verdict.pages_tested) || verdict.pages_tested.length === 0) {
|
|
37
|
-
return { success: false, message: "REJECTED: pages_tested must be a non-empty array." };
|
|
38
|
-
}
|
|
35
|
+
// `checks` is shared across cycles — required for any verdict.
|
|
39
36
|
if (!Array.isArray(verdict.checks) || verdict.checks.length === 0) {
|
|
40
|
-
return { success: false, message: "REJECTED: checks must be a non-empty array." };
|
|
41
|
-
}
|
|
42
|
-
if (typeof verdict.console_errors !== "number") {
|
|
43
|
-
return { success: false, message: "REJECTED: console_errors must be a number." };
|
|
44
|
-
}
|
|
45
|
-
if (typeof verdict.network_failures !== "number") {
|
|
46
|
-
return { success: false, message: "REJECTED: network_failures must be a number." };
|
|
37
|
+
return { success: false, message: "REJECTED: checks must be a non-empty array describing what you functionally tested." };
|
|
47
38
|
}
|
|
39
|
+
// Cycle-specific evidence (pages_tested, console_errors, backend_node_*)
|
|
40
|
+
// is validated by verify-gate, which knows which cycles are active for
|
|
41
|
+
// this Stop hook run and can demand the right fields per cycle.
|
|
48
42
|
// validate issues on fail
|
|
49
43
|
if (verdict.status === "fail") {
|
|
50
44
|
if (!Array.isArray(verdict.issues) || verdict.issues.length === 0) {
|
|
@@ -62,7 +56,17 @@ async function runSubmitVerdict(input) {
|
|
|
62
56
|
}
|
|
63
57
|
// check recording is stopped if required
|
|
64
58
|
if ((0, session_state_1.isRecordingRequired)(sessionDir) && (0, session_state_1.isRecordingActive)(sessionDir)) {
|
|
65
|
-
return {
|
|
59
|
+
return {
|
|
60
|
+
success: false,
|
|
61
|
+
message: `REJECTED: recording is still active.
|
|
62
|
+
|
|
63
|
+
1. Stop recording first:
|
|
64
|
+
mcp__browser-devtools__bdt_content_stop-recording (Claude)
|
|
65
|
+
MCP:bdt_content_stop-recording (Cursor)
|
|
66
|
+
2. Then re-run the same submit-verdict command.
|
|
67
|
+
|
|
68
|
+
Recording start/stop must bracket the verification flow — start before browser tools, stop before submit-verdict.`,
|
|
69
|
+
};
|
|
66
70
|
}
|
|
67
71
|
// write verdict file
|
|
68
72
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submit-verdict.js","sourceRoot":"","sources":["../../../src/hooks/core/submit-verdict.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;
|
|
1
|
+
{"version":3,"file":"submit-verdict.js","sourceRoot":"","sources":["../../../src/hooks/core/submit-verdict.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,30 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* IronBee Stop Hook — Core Verification Logic
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Multi-cycle gate. For each Stop hook run:
|
|
5
|
+
* 1. Determine active cycles by matching file_change paths against each
|
|
6
|
+
* cycle's pattern set (`browser`, `backend.<runtime>`, …).
|
|
7
|
+
* 2. For each active cycle, verify the agent ran its required tools using
|
|
8
|
+
* the alwaysRequired + evidencePaths satisfier.
|
|
9
|
+
* 3. Read and parse the single verdict.json.
|
|
10
|
+
* 4. For each active cycle, validate the cycle-specific evidence fields.
|
|
11
|
+
* 5. Combinator: AND. Any cycle's failure (tools or evidence) blocks the
|
|
12
|
+
* whole gate; verdict status `pass` is overridden to fail when evidence
|
|
13
|
+
* fails — the status field is the agent's claim, not the source of truth.
|
|
14
|
+
* 6. Single global retry counter. Single verdict file. Single combined
|
|
15
|
+
* block message listing per-cycle failure reasons.
|
|
7
16
|
*/
|
|
17
|
+
import { IronBeeConfig } from "../../lib/config";
|
|
8
18
|
export interface VerifyGateInput {
|
|
9
19
|
sessionId: string;
|
|
10
20
|
sessionDir: string;
|
|
11
21
|
actionsFile: string;
|
|
12
22
|
verdictFile: string;
|
|
13
23
|
maxRetries?: number;
|
|
24
|
+
/** Optional pre-loaded config; loaded fresh from disk when omitted. */
|
|
25
|
+
config?: IronBeeConfig;
|
|
26
|
+
/** Project dir for config loading when `config` is not pre-supplied. */
|
|
27
|
+
projectDir?: string;
|
|
14
28
|
}
|
|
15
29
|
export interface VerifyGateResult {
|
|
16
30
|
action: "allow" | "block";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-gate.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/verify-gate.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"verify-gate.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/verify-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAkBH,OAAO,EAEH,aAAa,EAMhB,MAAM,kBAAkB,CAAC;AAG1B,MAAM,WAAW,eAAe;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAqOD,wBAAsB,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkPrF"}
|