audit-tools 0.30.12 → 0.30.14
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/audit/cli/dispatch/quotaPool.d.ts.map +1 -1
- package/dist/audit/cli/dispatch/quotaPool.js +8 -1
- package/dist/audit/cli/dispatch/quotaPool.js.map +1 -1
- package/dist/audit/cli/mergeAndIngestCommand.d.ts +4 -1
- package/dist/audit/cli/mergeAndIngestCommand.d.ts.map +1 -1
- package/dist/audit/cli/mergeAndIngestCommand.js +27 -3
- package/dist/audit/cli/mergeAndIngestCommand.js.map +1 -1
- package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
- package/dist/audit/cli/nextStepHelpers.js +1 -2
- package/dist/audit/cli/nextStepHelpers.js.map +1 -1
- package/dist/audit/cli/workerRunCommand.d.ts.map +1 -1
- package/dist/audit/cli/workerRunCommand.js +23 -1
- package/dist/audit/cli/workerRunCommand.js.map +1 -1
- package/dist/audit/contracts/workerSchemas.d.ts +4 -4
- package/dist/audit/contracts/wrapperResponse.d.ts +6 -6
- package/dist/audit/orchestrator/intentCheckpointGate.d.ts.map +1 -1
- package/dist/audit/orchestrator/intentCheckpointGate.js +4 -3
- package/dist/audit/orchestrator/intentCheckpointGate.js.map +1 -1
- package/dist/audit/orchestrator/ledger.d.ts.map +1 -1
- package/dist/audit/orchestrator/ledger.js +4 -1
- package/dist/audit/orchestrator/ledger.js.map +1 -1
- package/dist/audit/orchestrator/resultBaseline.d.ts +7 -0
- package/dist/audit/orchestrator/resultBaseline.d.ts.map +1 -1
- package/dist/audit/orchestrator/resultBaseline.js +8 -2
- package/dist/audit/orchestrator/resultBaseline.js.map +1 -1
- package/dist/audit/quota/index.d.ts +12 -12
- package/dist/audit/types.d.ts +2 -2
- package/dist/audit/validation/auditResults.d.ts.map +1 -1
- package/dist/audit/validation/auditResults.js +5 -0
- package/dist/audit/validation/auditResults.js.map +1 -1
- package/dist/remediate/contractPipeline/artifactStore.d.ts +5 -12
- package/dist/remediate/contractPipeline/artifactStore.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/artifactStore.js +6 -8
- package/dist/remediate/contractPipeline/artifactStore.js.map +1 -1
- package/dist/remediate/steps/contractPipeline.d.ts +7 -0
- package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipeline.js +185 -2
- package/dist/remediate/steps/contractPipeline.js.map +1 -1
- package/dist/remediate/steps/dispatch.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch.js +42 -1
- package/dist/remediate/steps/dispatch.js.map +1 -1
- package/dist/remediate/validation/contractPipeline.d.ts +1 -1
- package/dist/remediate/validation/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/validation/contractPipeline.js +1 -1
- package/dist/remediate/validation/contractPipeline.js.map +1 -1
- package/dist/remediate/validation/contractPipelineGates.d.ts +34 -16
- package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
- package/dist/remediate/validation/contractPipelineGates.js +129 -2
- package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
- package/dist/shared/contentKey.d.ts +47 -0
- package/dist/shared/contentKey.d.ts.map +1 -1
- package/dist/shared/contentKey.js +54 -0
- package/dist/shared/contentKey.js.map +1 -1
- package/dist/shared/dispatch/rollingDispatch.d.ts +12 -0
- package/dist/shared/dispatch/rollingDispatch.d.ts.map +1 -1
- package/dist/shared/dispatch/rollingDispatch.js +23 -1
- package/dist/shared/dispatch/rollingDispatch.js.map +1 -1
- package/dist/shared/friction/captureFrictionEvent.d.ts +12 -8
- package/dist/shared/friction/captureFrictionEvent.d.ts.map +1 -1
- package/dist/shared/friction/captureFrictionEvent.js +21 -21
- package/dist/shared/friction/captureFrictionEvent.js.map +1 -1
- package/dist/shared/friction/frictionRecord.d.ts +76 -0
- package/dist/shared/friction/frictionRecord.d.ts.map +1 -0
- package/dist/shared/friction/frictionRecord.js +45 -0
- package/dist/shared/friction/frictionRecord.js.map +1 -0
- package/dist/shared/friction/stepBoundaryCapture.d.ts +80 -0
- package/dist/shared/friction/stepBoundaryCapture.d.ts.map +1 -0
- package/dist/shared/friction/stepBoundaryCapture.js +41 -0
- package/dist/shared/friction/stepBoundaryCapture.js.map +1 -0
- package/dist/shared/friction/triage.d.ts +3 -43
- package/dist/shared/friction/triage.d.ts.map +1 -1
- package/dist/shared/friction/triage.js +35 -34
- package/dist/shared/friction/triage.js.map +1 -1
- package/dist/shared/index.d.ts +4 -1
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +6 -1
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/io/gitignoreArtifacts.d.ts +52 -10
- package/dist/shared/io/gitignoreArtifacts.d.ts.map +1 -1
- package/dist/shared/io/gitignoreArtifacts.js +83 -29
- package/dist/shared/io/gitignoreArtifacts.js.map +1 -1
- package/dist/shared/quota/capacity.d.ts +4 -4
- package/dist/shared/quota/compositeQuotaSource.d.ts +12 -0
- package/dist/shared/quota/compositeQuotaSource.d.ts.map +1 -1
- package/dist/shared/quota/compositeQuotaSource.js +7 -0
- package/dist/shared/quota/compositeQuotaSource.js.map +1 -1
- package/dist/shared/quota/hostSessionQuotaSource.d.ts.map +1 -1
- package/dist/shared/quota/hostSessionQuotaSource.js +42 -8
- package/dist/shared/quota/hostSessionQuotaSource.js.map +1 -1
- package/dist/shared/quota/quotaSource.d.ts +2 -2
- package/dist/shared/repair/emitValidateRepair.d.ts.map +1 -1
- package/dist/shared/repair/emitValidateRepair.js +4 -3
- package/dist/shared/repair/emitValidateRepair.js.map +1 -1
- package/dist/{audit → shared}/validation/designFindingGrounding.d.ts +5 -1
- package/dist/shared/validation/designFindingGrounding.d.ts.map +1 -0
- package/dist/{audit → shared}/validation/designFindingGrounding.js +1 -1
- package/dist/shared/validation/designFindingGrounding.js.map +1 -0
- package/package.json +1 -1
- package/scripts/postinstall.mjs +8 -2
- package/dist/audit/validation/designFindingGrounding.d.ts.map +0 -1
- package/dist/audit/validation/designFindingGrounding.js.map +0 -1
|
@@ -182,18 +182,18 @@ export declare const DispatchCapacityPoolSummarySchema: z.ZodObject<{
|
|
|
182
182
|
captured_at: z.ZodString;
|
|
183
183
|
source: z.ZodString;
|
|
184
184
|
}, "strict", z.ZodTypeAny, {
|
|
185
|
-
captured_at: string;
|
|
186
185
|
remaining_pct: number | null;
|
|
187
186
|
reset_at: string | null;
|
|
188
187
|
requests_remaining: number | null;
|
|
189
188
|
tokens_remaining: number | null;
|
|
189
|
+
captured_at: string;
|
|
190
190
|
source: string;
|
|
191
191
|
}, {
|
|
192
|
-
captured_at: string;
|
|
193
192
|
remaining_pct: number | null;
|
|
194
193
|
reset_at: string | null;
|
|
195
194
|
requests_remaining: number | null;
|
|
196
195
|
tokens_remaining: number | null;
|
|
196
|
+
captured_at: string;
|
|
197
197
|
source: string;
|
|
198
198
|
}>>>;
|
|
199
199
|
/** Raw silent-degrade marker for this pool (see CapacityPool.quotaSignalDegraded). */
|
|
@@ -223,11 +223,11 @@ export declare const DispatchCapacityPoolSummarySchema: z.ZodObject<{
|
|
|
223
223
|
binding_cap: "none" | "learned" | "rpm" | "tpm" | "fallback" | "first_contact" | "cooldown" | "host_concurrency";
|
|
224
224
|
rank?: "deep" | "small" | "standard" | undefined;
|
|
225
225
|
quota_source_snapshot?: {
|
|
226
|
-
captured_at: string;
|
|
227
226
|
remaining_pct: number | null;
|
|
228
227
|
reset_at: string | null;
|
|
229
228
|
requests_remaining: number | null;
|
|
230
229
|
tokens_remaining: number | null;
|
|
230
|
+
captured_at: string;
|
|
231
231
|
source: string;
|
|
232
232
|
} | null | undefined;
|
|
233
233
|
quota_signal_degraded?: boolean | undefined;
|
|
@@ -255,11 +255,11 @@ export declare const DispatchCapacityPoolSummarySchema: z.ZodObject<{
|
|
|
255
255
|
binding_cap: "none" | "learned" | "rpm" | "tpm" | "fallback" | "first_contact" | "cooldown" | "host_concurrency";
|
|
256
256
|
rank?: "deep" | "small" | "standard" | undefined;
|
|
257
257
|
quota_source_snapshot?: {
|
|
258
|
-
captured_at: string;
|
|
259
258
|
remaining_pct: number | null;
|
|
260
259
|
reset_at: string | null;
|
|
261
260
|
requests_remaining: number | null;
|
|
262
261
|
tokens_remaining: number | null;
|
|
262
|
+
captured_at: string;
|
|
263
263
|
source: string;
|
|
264
264
|
} | null | undefined;
|
|
265
265
|
quota_signal_degraded?: boolean | undefined;
|
|
@@ -10,6 +10,18 @@ export interface BuildQuotaSourceOptions {
|
|
|
10
10
|
* it (e.g. tests) or a stub to inject one.
|
|
11
11
|
*/
|
|
12
12
|
claudeOAuth?: QuotaSource | false;
|
|
13
|
+
/**
|
|
14
|
+
* The host-session fixed-window source ({@link HostSessionQuotaSource}),
|
|
15
|
+
* PREPENDED ahead of every proactive source so it answers FIRST for the
|
|
16
|
+
* provider/model key it owns (own-key precedence via its exact
|
|
17
|
+
* `providerModelKey` gate — it returns `not_applicable`, passing through, for
|
|
18
|
+
* any other key, and `not_applicable` for its own key while the window is open
|
|
19
|
+
* with no limit known). This wires the operator's account-level session wall in
|
|
20
|
+
* as a first-class PRE-WALL source: its graduated `remaining_pct` lets the
|
|
21
|
+
* scheduler's LOW / CRITICAL bands throttle BEFORE a hard 429, and its paused
|
|
22
|
+
* snapshot folds a cooldown in. Omit (default) to leave it unwired. [CE-001/CE-002]
|
|
23
|
+
*/
|
|
24
|
+
hostSession?: QuotaSource;
|
|
13
25
|
}
|
|
14
26
|
export declare class CompositeQuotaSource implements QuotaSource {
|
|
15
27
|
readonly name = "composite";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compositeQuotaSource.d.ts","sourceRoot":"","sources":["../../../src/shared/quota/compositeQuotaSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAQ1F,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,MAAM,WAAW,uBAAuB;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,WAAW,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"compositeQuotaSource.d.ts","sourceRoot":"","sources":["../../../src/shared/quota/compositeQuotaSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAQ1F,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,MAAM,WAAW,uBAAuB;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,WAAW,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC;IAClC;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,qBAAa,oBAAqB,YAAW,WAAW;IACtD,QAAQ,CAAC,IAAI,eAAe;IAC5B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,SAAS,CAAY;gBAEjB,OAAO,EAAE,WAAW,EAAE,EAAE,SAAS,CAAC,EAAE,SAAS;IAKnD,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAIrF;;;;;;;OAOG;IACG,UAAU,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiCrE;;;;;OAKG;IACG,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAQxE,2EAA2E;IAC3E,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;CAG1C;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,WAAW,CA0BnF;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,EACvD,QAAQ,EAAE,WAAW,GACpB,WAAW,CAYb"}
|
|
@@ -89,6 +89,13 @@ export class CompositeQuotaSource {
|
|
|
89
89
|
*/
|
|
90
90
|
export function buildQuotaSource(options = {}) {
|
|
91
91
|
const proactive = [];
|
|
92
|
+
// The host-session source is PREPENDED before every proactive source: it owns
|
|
93
|
+
// its exact provider/model key (exact-key gate, not coversProvider), so it
|
|
94
|
+
// answers first for that key and passes through for all others — never masking
|
|
95
|
+
// the proactive/learned sources. [CE-001/CE-002]
|
|
96
|
+
if (options.hostSession) {
|
|
97
|
+
proactive.push(options.hostSession);
|
|
98
|
+
}
|
|
92
99
|
if (options.claudeOAuth !== false) {
|
|
93
100
|
proactive.push(options.claudeOAuth ?? new ClaudeOAuthQuotaSource());
|
|
94
101
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compositeQuotaSource.js","sourceRoot":"","sources":["../../../src/shared/quota/compositeQuotaSource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"compositeQuotaSource.js","sourceRoot":"","sources":["../../../src/shared/quota/compositeQuotaSource.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hostSessionQuotaSource.d.ts","sourceRoot":"","sources":["../../../src/shared/quota/hostSessionQuotaSource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,8BAA8B,iBAAiB,CAAC;AAE7D,kGAAkG;AAClG,eAAO,MAAM,iCAAiC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"hostSessionQuotaSource.d.ts","sourceRoot":"","sources":["../../../src/shared/quota/hostSessionQuotaSource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,8BAA8B,iBAAiB,CAAC;AAE7D,kGAAkG;AAClG,eAAO,MAAM,iCAAiC,IAAI,CAAC;AAcnD,2EAA2E;AAC3E,MAAM,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC;AAEjC,MAAM,WAAW,qBAAqB;IACpC,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,4EAA4E;IAC5E,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,oGAAoG;IACpG,QAAQ,EAAE,OAAO,CAAC;IAClB,8DAA8D;IAC9D,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;;OAIG;IACH,UAAU,EAAE,qBAAqB,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,6BAA6B;IAC5C,wEAAwE;IACxE,gBAAgB,EAAE,MAAM,CAAC;IACzB,8CAA8C;IAC9C,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,+EAA+E;IAC/E,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,8EAA8E;IAC9E,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,qBAAqB,KAAK,IAAI,CAAC;CAC5D;AA2BD;;;;GAIG;AACH,qBAAa,sBAAuB,YAAW,WAAW;IACxD,QAAQ,CAAC,IAAI,kBAAkC;IAE/C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAChD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAgB;IACpD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA8C;IAE3E,8DAA8D;IAC9D,OAAO,CAAC,eAAe,CAAuB;IAC9C,yDAAyD;IACzD,OAAO,CAAC,UAAU,CAAS;IAC3B,kFAAkF;IAClF,OAAO,CAAC,OAAO,CAAkC;IACjD,mFAAmF;IACnF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;gBAEnC,OAAO,EAAE,6BAA6B;IAWlD;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAiBhB,4EAA4E;IAC5E,aAAa,IAAI,MAAM,GAAG,IAAI;IAM9B,mFAAmF;IACnF,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAItC;;;;;;;;;OASG;IACH,WAAW,CACT,OAAO,EAAE,mBAAmB,EAC5B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,qBAAqB;IA+ElB,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAIrF;;;;OAIG;IACG,UAAU,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CA+BtE"}
|
|
@@ -40,10 +40,17 @@ import { DEFAULT_COOLDOWN_MS, detectRateLimitFromChannel, } from "./errorParsing
|
|
|
40
40
|
export const HOST_SESSION_QUOTA_SOURCE_NAME = "host_session";
|
|
41
41
|
/** Default number of consecutive non-consuming re-limits of the SAME packet before escalating. */
|
|
42
42
|
export const DEFAULT_MAX_CONSECUTIVE_RE_LIMITS = 3;
|
|
43
|
-
/** `remaining_pct` reported while the window is open and no limit has been seen. */
|
|
44
|
-
const WINDOW_OPEN_REMAINING_PCT = 1;
|
|
45
43
|
/** `remaining_pct` reported while the window is paused (limit active, before reset). */
|
|
46
44
|
const WINDOW_PAUSED_REMAINING_PCT = 0;
|
|
45
|
+
/**
|
|
46
|
+
* `remaining_pct` reported while a limit is active but the window has not yet been
|
|
47
|
+
* recorded as paused for THIS key — graduated band so the scheduler's CRITICAL
|
|
48
|
+
* throttle (`QUOTA_REMAINING_PCT_CRITICAL`) fires as the account approaches the
|
|
49
|
+
* wall rather than only after a hard 429. Used when a limit has been seen this
|
|
50
|
+
* window cycle but the cooldown has since elapsed and a fresh same-cycle limit is
|
|
51
|
+
* being tracked.
|
|
52
|
+
*/
|
|
53
|
+
const WINDOW_NEAR_WALL_REMAINING_PCT = 0.05;
|
|
47
54
|
function emitEscalationToStderr(escalation) {
|
|
48
55
|
try {
|
|
49
56
|
process.stderr.write(JSON.stringify({
|
|
@@ -98,10 +105,15 @@ export class HostSessionQuotaSource {
|
|
|
98
105
|
if (this.cooldownUntilMs == null)
|
|
99
106
|
return false;
|
|
100
107
|
if (this.now() >= this.cooldownUntilMs) {
|
|
101
|
-
// Auto-resume: window reopened, clear the
|
|
102
|
-
//
|
|
108
|
+
// Auto-resume: the window reopened, so clear the PAUSE. Do NOT null the
|
|
109
|
+
// re-limit tracker here — a probe firing between two re-limits of the same
|
|
110
|
+
// in-flight packet would otherwise silently reset the escalation count and
|
|
111
|
+
// let an unresettable / clock-skewed wall livelock forever (the packet is
|
|
112
|
+
// re-dispatched, re-limits, the bound never accrues). The tracker is reset
|
|
113
|
+
// in {@link recordLimit} instead, and only when a fresh limit proves the
|
|
114
|
+
// sequence was genuine progress (a NEW packet, or a limit arriving after the
|
|
115
|
+
// prior window's reset already elapsed before re-dispatch).
|
|
103
116
|
this.cooldownUntilMs = null;
|
|
104
|
-
this.tracker = null;
|
|
105
117
|
return false;
|
|
106
118
|
}
|
|
107
119
|
return true;
|
|
@@ -137,9 +149,18 @@ export class HostSessionQuotaSource {
|
|
|
137
149
|
: this.defaultCooldownMs;
|
|
138
150
|
const resetMs = nowMs + cooldownMs;
|
|
139
151
|
// Track consecutive re-limits of the SAME packet. A re-limit is "the same"
|
|
140
|
-
// when the same packet trips again
|
|
152
|
+
// when the same packet trips again BEFORE the window it last set has
|
|
141
153
|
// reopened — i.e. an unresettable / clock-skewed wall, not normal progress.
|
|
142
|
-
|
|
154
|
+
// If instead the prior reset had already elapsed before this fresh limit
|
|
155
|
+
// arrived, the window genuinely reopened and the packet made progress between
|
|
156
|
+
// dispatches → this is a NEW exhaustion cycle, so the count restarts. (The
|
|
157
|
+
// tracker is intentionally NOT cleared on auto-resume so a probe between two
|
|
158
|
+
// pre-reset re-limits cannot reset the count; the elapsed-reset check here is
|
|
159
|
+
// what distinguishes genuine progress from a livelock.)
|
|
160
|
+
const priorResetElapsed = this.tracker != null && nowMs >= this.tracker.last_reset_ms;
|
|
161
|
+
if (this.tracker &&
|
|
162
|
+
this.tracker.packet_id === packetId &&
|
|
163
|
+
!priorResetElapsed) {
|
|
143
164
|
this.tracker.consecutive_re_limits += 1;
|
|
144
165
|
this.tracker.cumulative_wall_ms += cooldownMs;
|
|
145
166
|
this.tracker.last_reset_ms = resetMs;
|
|
@@ -197,8 +218,21 @@ export class HostSessionQuotaSource {
|
|
|
197
218
|
return { snapshot: null, status: "not_applicable" };
|
|
198
219
|
}
|
|
199
220
|
const paused = this.isPaused();
|
|
221
|
+
// Graduated pre-wall band: paused → 0 (hard stop, scheduler cooldowns); a
|
|
222
|
+
// limit was seen this cycle but the cooldown has since elapsed without a clean
|
|
223
|
+
// reset → near-wall (CRITICAL throttle). Open with no limit known → the source
|
|
224
|
+
// has NO usage signal, so it must PASS THROUGH (`not_applicable`, null
|
|
225
|
+
// snapshot) rather than win the cascade and mask the learned/sliding source.
|
|
226
|
+
// First snapshot wins in the composite, so asserting a snapshot here would
|
|
227
|
+
// shadow the reactive learned reading. Composition over masking.
|
|
228
|
+
if (!paused && this.tracker == null) {
|
|
229
|
+
return { snapshot: null, status: "not_applicable" };
|
|
230
|
+
}
|
|
231
|
+
const remainingPct = paused
|
|
232
|
+
? WINDOW_PAUSED_REMAINING_PCT
|
|
233
|
+
: WINDOW_NEAR_WALL_REMAINING_PCT;
|
|
200
234
|
const snapshot = {
|
|
201
|
-
remaining_pct:
|
|
235
|
+
remaining_pct: remainingPct,
|
|
202
236
|
reset_at: paused && this.cooldownUntilMs != null
|
|
203
237
|
? new Date(this.cooldownUntilMs).toISOString()
|
|
204
238
|
: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hostSessionQuotaSource.js","sourceRoot":"","sources":["../../../src/shared/quota/hostSessionQuotaSource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAGH,OAAO,EACL,mBAAmB,EACnB,0BAA0B,GAE3B,MAAM,mBAAmB,CAAC;AAE3B,MAAM,CAAC,MAAM,8BAA8B,GAAG,cAAc,CAAC;AAE7D,kGAAkG;AAClG,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC;AAEnD,
|
|
1
|
+
{"version":3,"file":"hostSessionQuotaSource.js","sourceRoot":"","sources":["../../../src/shared/quota/hostSessionQuotaSource.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,18 +7,18 @@ export declare const QuotaUsageSnapshotSchema: z.ZodObject<{
|
|
|
7
7
|
captured_at: z.ZodString;
|
|
8
8
|
source: z.ZodString;
|
|
9
9
|
}, "strict", z.ZodTypeAny, {
|
|
10
|
-
captured_at: string;
|
|
11
10
|
remaining_pct: number | null;
|
|
12
11
|
reset_at: string | null;
|
|
13
12
|
requests_remaining: number | null;
|
|
14
13
|
tokens_remaining: number | null;
|
|
14
|
+
captured_at: string;
|
|
15
15
|
source: string;
|
|
16
16
|
}, {
|
|
17
|
-
captured_at: string;
|
|
18
17
|
remaining_pct: number | null;
|
|
19
18
|
reset_at: string | null;
|
|
20
19
|
requests_remaining: number | null;
|
|
21
20
|
tokens_remaining: number | null;
|
|
21
|
+
captured_at: string;
|
|
22
22
|
source: string;
|
|
23
23
|
}>;
|
|
24
24
|
export type QuotaUsageSnapshot = z.infer<typeof QuotaUsageSnapshotSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitValidateRepair.d.ts","sourceRoot":"","sources":["../../../src/shared/repair/emitValidateRepair.ts"],"names":[],"mappings":"AAuDA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAExE,gFAAgF;AAChF,MAAM,WAAW,qBAAqB;IACpC,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,iEAAiE;AACjE,MAAM,WAAW,sBAAsB;IACrC,uDAAuD;IACvD,MAAM,EAAE,qBAAqB,EAAE,CAAC;CACjC;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;;OAQG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,oBAAoB,CAAC;CAChD;AAED,6CAA6C;AAC7C,MAAM,WAAW,oBAAoB;IACnC,uEAAuE;IACvE,OAAO,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,kEAAkE;IAClE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB;;;;OAIG;IACH,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,qBAAqB,EAAE,KAC5B,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,gFAAgF;AAChF,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,sBAAsB,CAAC;IACnD,4EAA4E;IAC5E,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,cAAc,CAAC;AAE5E,iDAAiD;AACjD,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC;AAE7E,yEAAyE;AACzE,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,iEAAiE;AACjE,MAAM,WAAW,aAAa;IAC5B,4EAA4E;IAC5E,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uBAAuB;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,wFAAwF;IACxF,gBAAgB,EAAE,qBAAqB,EAAE,CAAC;IAC1C,+DAA+D;IAC/D,cAAc,EAAE,WAAW,EAAE,CAAC;IAC9B,2EAA2E;IAC3E,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED,kCAAkC;AAClC,MAAM,WAAW,4BAA4B;IAC3C,sDAAsD;IACtD,QAAQ,EAAE,cAAc,CAAC;IACzB,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,IAAI,CAAC,EAAE,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACvC,0EAA0E;IAC1E,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"emitValidateRepair.d.ts","sourceRoot":"","sources":["../../../src/shared/repair/emitValidateRepair.ts"],"names":[],"mappings":"AAuDA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAExE,gFAAgF;AAChF,MAAM,WAAW,qBAAqB;IACpC,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,iEAAiE;AACjE,MAAM,WAAW,sBAAsB;IACrC,uDAAuD;IACvD,MAAM,EAAE,qBAAqB,EAAE,CAAC;CACjC;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;;OAQG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,oBAAoB,CAAC;CAChD;AAED,6CAA6C;AAC7C,MAAM,WAAW,oBAAoB;IACnC,uEAAuE;IACvE,OAAO,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,kEAAkE;IAClE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB;;;;OAIG;IACH,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,qBAAqB,EAAE,KAC5B,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,gFAAgF;AAChF,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,sBAAsB,CAAC;IACnD,4EAA4E;IAC5E,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,cAAc,CAAC;AAE5E,iDAAiD;AACjD,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC;AAE7E,yEAAyE;AACzE,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,iEAAiE;AACjE,MAAM,WAAW,aAAa;IAC5B,4EAA4E;IAC5E,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uBAAuB;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,wFAAwF;IACxF,gBAAgB,EAAE,qBAAqB,EAAE,CAAC;IAC1C,+DAA+D;IAC/D,cAAc,EAAE,WAAW,EAAE,CAAC;IAC9B,2EAA2E;IAC3E,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED,kCAAkC;AAClC,MAAM,WAAW,4BAA4B;IAC3C,sDAAsD;IACtD,QAAQ,EAAE,cAAc,CAAC;IACzB,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,IAAI,CAAC,EAAE,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACvC,0EAA0E;IAC1E,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA4BD;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,4BAA4B,GACjC,OAAO,CAAC,aAAa,CAAC,CAyIxB"}
|
|
@@ -52,14 +52,15 @@
|
|
|
52
52
|
* repair is recorded through the O1 `captureFrictionEvent` sink (best-effort,
|
|
53
53
|
* never fatal). `warnings` is non-empty whenever `status !== 'clean'`.
|
|
54
54
|
*/
|
|
55
|
-
import {
|
|
55
|
+
import { captureStepBoundaryFriction } from '../friction/stepBoundaryCapture.js';
|
|
56
56
|
function requiredErrors(result) {
|
|
57
57
|
return result.errors.filter((e) => e.required);
|
|
58
58
|
}
|
|
59
59
|
/** Emit one best-effort, de-duped friction event for a repair action. */
|
|
60
60
|
async function captureRepair(opts, idSuffix, note, severity) {
|
|
61
|
-
await
|
|
62
|
-
|
|
61
|
+
await captureStepBoundaryFriction(opts.artifactsDir, opts.runId, {
|
|
62
|
+
eventType: 'repair_round',
|
|
63
|
+
discriminator: `${opts.contract.contractId}:attempt-${opts.attempt ?? 1}:${idSuffix}`,
|
|
63
64
|
note,
|
|
64
65
|
severity,
|
|
65
66
|
category: 'trap',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitValidateRepair.js","sourceRoot":"","sources":["../../../src/shared/repair/emitValidateRepair.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"emitValidateRepair.js","sourceRoot":"","sources":["../../../src/shared/repair/emitValidateRepair.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,8 +11,12 @@
|
|
|
11
11
|
*
|
|
12
12
|
* Before this, design findings were ingested on `Array.isArray()` alone, with no
|
|
13
13
|
* evidence requirement — unlike the schema-gated AuditResult path.
|
|
14
|
+
*
|
|
15
|
+
* Single source for both orchestrators (lives in shared next to the quote-and-
|
|
16
|
+
* verify primitives) so neither orchestrator forks the design-grounding logic and
|
|
17
|
+
* there is no remediate→audit cross-area import.
|
|
14
18
|
*/
|
|
15
|
-
import type { Finding, FindingGrounding } from "
|
|
19
|
+
import type { Finding, FindingGrounding } from "../types/finding.js";
|
|
16
20
|
/**
|
|
17
21
|
* Ground a single design finding against the set of real repository paths. The
|
|
18
22
|
* verdict is the tool's check, never the model's word: a finding survives as
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"designFindingGrounding.d.ts","sourceRoot":"","sources":["../../../src/shared/validation/designFindingGrounding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAIrE;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAC9B,gBAAgB,CAkBlB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,OAAO,EAAE,EACnB,YAAY,EAAE;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,SAAS,GAC5D,OAAO,EAAE,CAQX"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Repo-relative path normalizer is single-sourced in shared (drift-plan P7).
|
|
2
|
-
import { normalizeRepoPath } from "
|
|
2
|
+
import { normalizeRepoPath } from "./findingGrounding.js";
|
|
3
3
|
/**
|
|
4
4
|
* Ground a single design finding against the set of real repository paths. The
|
|
5
5
|
* verdict is the tool's check, never the model's word: a finding survives as
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"designFindingGrounding.js","sourceRoot":"","sources":["../../../src/shared/validation/designFindingGrounding.ts"],"names":[],"mappings":"AAmBA,6EAA6E;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAgB,EAChB,UAA+B;IAE/B,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;SACzC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;SAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,8CAA8C;SACvD,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,mDAAmD,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAC1F,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAmB,EACnB,YAA6D;IAE7D,MAAM,KAAK,GAAG,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC;IACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAChC,GAAG,OAAO;QACV,SAAS,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC;KAC/C,CAAC,CAAC,CAAC;AACN,CAAC"}
|
package/package.json
CHANGED
package/scripts/postinstall.mjs
CHANGED
|
@@ -42,8 +42,14 @@ async function manageArtifactGitignore() {
|
|
|
42
42
|
// The consuming repo root: npm sets INIT_CWD to the dir `npm install` ran in.
|
|
43
43
|
const repoRoot = process.env.INIT_CWD || process.cwd();
|
|
44
44
|
|
|
45
|
-
// Explicit operator override always wins.
|
|
46
|
-
|
|
45
|
+
// Explicit operator override always wins. Single-sourced parse +
|
|
46
|
+
// env-var name from shared (accepts private/public/track/ignore).
|
|
47
|
+
const override =
|
|
48
|
+
typeof shared.parseVisibilityOverride === "function"
|
|
49
|
+
? shared.parseVisibilityOverride(
|
|
50
|
+
process.env[shared.REPO_VISIBILITY_ENV ?? "AUDIT_TOOLS_REPO_VISIBILITY"],
|
|
51
|
+
)
|
|
52
|
+
: resolveVisibilityOverride();
|
|
47
53
|
|
|
48
54
|
const result = shared.ensureArtifactGitignore({
|
|
49
55
|
repoRoot,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"designFindingGrounding.d.ts","sourceRoot":"","sources":["../../../src/audit/validation/designFindingGrounding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAIpE;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAC9B,gBAAgB,CAkBlB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,OAAO,EAAE,EACnB,YAAY,EAAE;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,SAAS,GAC5D,OAAO,EAAE,CAQX"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"designFindingGrounding.js","sourceRoot":"","sources":["../../../src/audit/validation/designFindingGrounding.ts"],"names":[],"mappings":"AAeA,6EAA6E;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAgB,EAChB,UAA+B;IAE/B,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;SACzC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;SAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,8CAA8C;SACvD,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,mDAAmD,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAC1F,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAmB,EACnB,YAA6D;IAE7D,MAAM,KAAK,GAAG,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC;IACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAChC,GAAG,OAAO;QACV,SAAS,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC;KAC/C,CAAC,CAAC,CAAC;AACN,CAAC"}
|