@harness-engineering/core 0.13.1 → 0.15.0
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/README.md +23 -0
- package/dist/architecture/matchers.d.mts +1 -1
- package/dist/architecture/matchers.d.ts +1 -1
- package/dist/architecture/matchers.js +240 -188
- package/dist/architecture/matchers.mjs +1 -1
- package/dist/{chunk-D6VFA6AS.mjs → chunk-BQUWXBGR.mjs} +240 -188
- package/dist/index.d.mts +444 -108
- package/dist/index.d.ts +444 -108
- package/dist/index.js +2835 -1263
- package/dist/index.mjs +2545 -1056
- package/dist/{matchers-D20x48U9.d.mts → matchers-Dj1t5vpg.d.mts} +46 -46
- package/dist/{matchers-D20x48U9.d.ts → matchers-Dj1t5vpg.d.ts} +46 -46
- package/package.json +7 -4
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { Result, WorkflowStep, WorkflowStepResult, Workflow, WorkflowResult, SkillLifecycleHooks, SkillContext, SkillResult, TurnContext, CICheckName, CIFailOnSeverity, CICheckReport, Roadmap, FeatureStatus } from '@harness-engineering/types';
|
|
1
|
+
import { Result, SessionSectionName, SessionEntry, SessionSections, WorkflowStep, WorkflowStepResult, Workflow, WorkflowResult, SkillLifecycleHooks, SkillContext, SkillResult, TurnContext, CICheckName, CIFailOnSeverity, CICheckReport, Roadmap, FeatureStatus } from '@harness-engineering/types';
|
|
2
2
|
export * from '@harness-engineering/types';
|
|
3
3
|
import { z } from 'zod';
|
|
4
|
-
import { C as Collector, A as ArchConfig, a as ConstraintRule, M as MetricResult, b as ArchMetricCategory, c as ArchBaseline, d as ArchDiffResult, T as ThresholdConfig } from './matchers-
|
|
5
|
-
export { e as ArchBaselineSchema, f as ArchConfigSchema, g as ArchDiffResultSchema, h as ArchHandle, i as ArchMetricCategorySchema, j as ArchitectureOptions, k as CategoryBaseline, l as CategoryBaselineSchema, m as CategoryRegression, n as CategoryRegressionSchema, o as ConstraintRuleSchema, p as MetricResultSchema, q as ThresholdConfigSchema, V as Violation, r as ViolationSchema, s as archMatchers, t as archModule, u as architecture } from './matchers-
|
|
4
|
+
import { C as Collector, A as ArchConfig, a as ConstraintRule, M as MetricResult, b as ArchMetricCategory, c as ArchBaseline, d as ArchDiffResult, T as ThresholdConfig } from './matchers-Dj1t5vpg.js';
|
|
5
|
+
export { e as ArchBaselineSchema, f as ArchConfigSchema, g as ArchDiffResultSchema, h as ArchHandle, i as ArchMetricCategorySchema, j as ArchitectureOptions, k as CategoryBaseline, l as CategoryBaselineSchema, m as CategoryRegression, n as CategoryRegressionSchema, o as ConstraintRuleSchema, p as MetricResultSchema, q as ThresholdConfigSchema, V as Violation, r as ViolationSchema, s as archMatchers, t as archModule, u as architecture } from './matchers-Dj1t5vpg.js';
|
|
6
|
+
import Parser from 'web-tree-sitter';
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Represents an error code for identifying specific error types.
|
|
@@ -293,6 +294,73 @@ interface ContextFilterResult {
|
|
|
293
294
|
declare function contextFilter(phase: WorkflowPhase, maxCategories?: number, graphFilePaths?: string[]): ContextFilterResult;
|
|
294
295
|
declare function getPhaseCategories(phase: WorkflowPhase): FileCategory[];
|
|
295
296
|
|
|
297
|
+
/**
|
|
298
|
+
* Supported languages for AST code navigation.
|
|
299
|
+
*/
|
|
300
|
+
type SupportedLanguage = 'typescript' | 'javascript' | 'python';
|
|
301
|
+
/**
|
|
302
|
+
* Kind of code symbol extracted from AST.
|
|
303
|
+
*/
|
|
304
|
+
type SymbolKind = 'function' | 'class' | 'interface' | 'type' | 'variable' | 'method' | 'property' | 'export' | 'import';
|
|
305
|
+
/**
|
|
306
|
+
* A code symbol with its location and metadata.
|
|
307
|
+
*/
|
|
308
|
+
interface CodeSymbol {
|
|
309
|
+
name: string;
|
|
310
|
+
kind: SymbolKind;
|
|
311
|
+
file: string;
|
|
312
|
+
line: number;
|
|
313
|
+
endLine: number;
|
|
314
|
+
signature: string;
|
|
315
|
+
children?: CodeSymbol[];
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Result of code_outline — structural skeleton of a file.
|
|
319
|
+
*/
|
|
320
|
+
interface OutlineResult {
|
|
321
|
+
file: string;
|
|
322
|
+
language: SupportedLanguage | 'unknown';
|
|
323
|
+
totalLines: number;
|
|
324
|
+
symbols: CodeSymbol[];
|
|
325
|
+
error?: string;
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* A single match from code_search.
|
|
329
|
+
*/
|
|
330
|
+
interface SearchMatch {
|
|
331
|
+
symbol: CodeSymbol;
|
|
332
|
+
context: string;
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Result of code_search — cross-file symbol discovery.
|
|
336
|
+
*/
|
|
337
|
+
interface SearchResult {
|
|
338
|
+
query: string;
|
|
339
|
+
matches: SearchMatch[];
|
|
340
|
+
skipped: string[];
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* Result of code_unfold — AST-bounded code extraction.
|
|
344
|
+
*/
|
|
345
|
+
interface UnfoldResult {
|
|
346
|
+
file: string;
|
|
347
|
+
symbolName?: string;
|
|
348
|
+
startLine: number;
|
|
349
|
+
endLine: number;
|
|
350
|
+
content: string;
|
|
351
|
+
language: SupportedLanguage | 'unknown';
|
|
352
|
+
fallback: boolean;
|
|
353
|
+
warning?: string;
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* Map file extensions to supported languages.
|
|
357
|
+
*/
|
|
358
|
+
declare const EXTENSION_MAP: Record<string, SupportedLanguage>;
|
|
359
|
+
/**
|
|
360
|
+
* Detect language from file extension.
|
|
361
|
+
*/
|
|
362
|
+
declare function detectLanguage(filePath: string): SupportedLanguage | null;
|
|
363
|
+
|
|
296
364
|
/**
|
|
297
365
|
* Abstract Syntax Tree representation
|
|
298
366
|
*/
|
|
@@ -361,6 +429,10 @@ interface LanguageParser {
|
|
|
361
429
|
extractImports(ast: AST): Result<Import[], ParseError>;
|
|
362
430
|
extractExports(ast: AST): Result<Export[], ParseError>;
|
|
363
431
|
health(): Promise<Result<HealthCheckResult, ParseError>>;
|
|
432
|
+
/** Extract structural outline from a parsed AST. Optional — code-nav parsers implement this. */
|
|
433
|
+
outline?(filePath: string, ast: AST): OutlineResult;
|
|
434
|
+
/** Extract a specific symbol's full implementation. Optional — code-nav parsers implement this. */
|
|
435
|
+
unfold?(filePath: string, ast: AST, symbolName: string): UnfoldResult | null;
|
|
364
436
|
}
|
|
365
437
|
/**
|
|
366
438
|
* Create a ParseError with standard structure
|
|
@@ -522,12 +594,12 @@ declare const ManifestSchema: z.ZodObject<{
|
|
|
522
594
|
schema: string;
|
|
523
595
|
}>, "many">>;
|
|
524
596
|
}, "strip", z.ZodTypeAny, {
|
|
525
|
-
name: string;
|
|
526
597
|
version: string;
|
|
598
|
+
name: string;
|
|
527
599
|
include: string[];
|
|
528
600
|
keywords: string[];
|
|
529
|
-
layers?: Record<string, string[]> | undefined;
|
|
530
601
|
description?: string | undefined;
|
|
602
|
+
layers?: Record<string, string[]> | undefined;
|
|
531
603
|
minHarnessVersion?: string | undefined;
|
|
532
604
|
boundaries?: {
|
|
533
605
|
name: string;
|
|
@@ -536,11 +608,11 @@ declare const ManifestSchema: z.ZodObject<{
|
|
|
536
608
|
schema: string;
|
|
537
609
|
}[] | undefined;
|
|
538
610
|
}, {
|
|
539
|
-
name: string;
|
|
540
611
|
version: string;
|
|
612
|
+
name: string;
|
|
541
613
|
include: string[];
|
|
542
|
-
layers?: Record<string, string[]> | undefined;
|
|
543
614
|
description?: string | undefined;
|
|
615
|
+
layers?: Record<string, string[]> | undefined;
|
|
544
616
|
minHarnessVersion?: string | undefined;
|
|
545
617
|
keywords?: string[] | undefined;
|
|
546
618
|
boundaries?: {
|
|
@@ -675,12 +747,12 @@ declare const BundleSchema: z.ZodObject<{
|
|
|
675
747
|
schema: string;
|
|
676
748
|
}>, "many">>;
|
|
677
749
|
}, "strip", z.ZodTypeAny, {
|
|
678
|
-
name: string;
|
|
679
750
|
version: string;
|
|
751
|
+
name: string;
|
|
680
752
|
include: string[];
|
|
681
753
|
keywords: string[];
|
|
682
|
-
layers?: Record<string, string[]> | undefined;
|
|
683
754
|
description?: string | undefined;
|
|
755
|
+
layers?: Record<string, string[]> | undefined;
|
|
684
756
|
minHarnessVersion?: string | undefined;
|
|
685
757
|
boundaries?: {
|
|
686
758
|
name: string;
|
|
@@ -689,11 +761,11 @@ declare const BundleSchema: z.ZodObject<{
|
|
|
689
761
|
schema: string;
|
|
690
762
|
}[] | undefined;
|
|
691
763
|
}, {
|
|
692
|
-
name: string;
|
|
693
764
|
version: string;
|
|
765
|
+
name: string;
|
|
694
766
|
include: string[];
|
|
695
|
-
layers?: Record<string, string[]> | undefined;
|
|
696
767
|
description?: string | undefined;
|
|
768
|
+
layers?: Record<string, string[]> | undefined;
|
|
697
769
|
minHarnessVersion?: string | undefined;
|
|
698
770
|
keywords?: string[] | undefined;
|
|
699
771
|
boundaries?: {
|
|
@@ -799,15 +871,15 @@ declare const BundleSchema: z.ZodObject<{
|
|
|
799
871
|
}>;
|
|
800
872
|
contributions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
801
873
|
}, "strip", z.ZodTypeAny, {
|
|
802
|
-
name: string;
|
|
803
874
|
version: string;
|
|
875
|
+
name: string;
|
|
804
876
|
manifest: {
|
|
805
|
-
name: string;
|
|
806
877
|
version: string;
|
|
878
|
+
name: string;
|
|
807
879
|
include: string[];
|
|
808
880
|
keywords: string[];
|
|
809
|
-
layers?: Record<string, string[]> | undefined;
|
|
810
881
|
description?: string | undefined;
|
|
882
|
+
layers?: Record<string, string[]> | undefined;
|
|
811
883
|
minHarnessVersion?: string | undefined;
|
|
812
884
|
boundaries?: {
|
|
813
885
|
name: string;
|
|
@@ -842,14 +914,14 @@ declare const BundleSchema: z.ZodObject<{
|
|
|
842
914
|
minHarnessVersion?: string | undefined;
|
|
843
915
|
contributions?: Record<string, unknown> | undefined;
|
|
844
916
|
}, {
|
|
845
|
-
name: string;
|
|
846
917
|
version: string;
|
|
918
|
+
name: string;
|
|
847
919
|
manifest: {
|
|
848
|
-
name: string;
|
|
849
920
|
version: string;
|
|
921
|
+
name: string;
|
|
850
922
|
include: string[];
|
|
851
|
-
layers?: Record<string, string[]> | undefined;
|
|
852
923
|
description?: string | undefined;
|
|
924
|
+
layers?: Record<string, string[]> | undefined;
|
|
853
925
|
minHarnessVersion?: string | undefined;
|
|
854
926
|
keywords?: string[] | undefined;
|
|
855
927
|
boundaries?: {
|
|
@@ -898,16 +970,16 @@ declare const LockfilePackageSchema: z.ZodObject<{
|
|
|
898
970
|
integrity: z.ZodOptional<z.ZodString>;
|
|
899
971
|
provenance: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
900
972
|
}, "strip", z.ZodTypeAny, {
|
|
901
|
-
source: string;
|
|
902
973
|
version: string;
|
|
974
|
+
source: string;
|
|
903
975
|
installedAt: string;
|
|
904
976
|
contributions?: Record<string, unknown> | null | undefined;
|
|
905
977
|
resolved?: string | undefined;
|
|
906
978
|
integrity?: string | undefined;
|
|
907
979
|
provenance?: string[] | undefined;
|
|
908
980
|
}, {
|
|
909
|
-
source: string;
|
|
910
981
|
version: string;
|
|
982
|
+
source: string;
|
|
911
983
|
installedAt: string;
|
|
912
984
|
contributions?: Record<string, unknown> | null | undefined;
|
|
913
985
|
resolved?: string | undefined;
|
|
@@ -926,16 +998,16 @@ declare const LockfileSchema: z.ZodEffects<z.ZodObject<{
|
|
|
926
998
|
integrity: z.ZodOptional<z.ZodString>;
|
|
927
999
|
provenance: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
928
1000
|
}, "strip", z.ZodTypeAny, {
|
|
929
|
-
source: string;
|
|
930
1001
|
version: string;
|
|
1002
|
+
source: string;
|
|
931
1003
|
installedAt: string;
|
|
932
1004
|
contributions?: Record<string, unknown> | null | undefined;
|
|
933
1005
|
resolved?: string | undefined;
|
|
934
1006
|
integrity?: string | undefined;
|
|
935
1007
|
provenance?: string[] | undefined;
|
|
936
1008
|
}, {
|
|
937
|
-
source: string;
|
|
938
1009
|
version: string;
|
|
1010
|
+
source: string;
|
|
939
1011
|
installedAt: string;
|
|
940
1012
|
contributions?: Record<string, unknown> | null | undefined;
|
|
941
1013
|
resolved?: string | undefined;
|
|
@@ -944,8 +1016,8 @@ declare const LockfileSchema: z.ZodEffects<z.ZodObject<{
|
|
|
944
1016
|
}>>;
|
|
945
1017
|
}, "strip", z.ZodTypeAny, {
|
|
946
1018
|
packages: Record<string, {
|
|
947
|
-
source: string;
|
|
948
1019
|
version: string;
|
|
1020
|
+
source: string;
|
|
949
1021
|
installedAt: string;
|
|
950
1022
|
contributions?: Record<string, unknown> | null | undefined;
|
|
951
1023
|
resolved?: string | undefined;
|
|
@@ -956,8 +1028,8 @@ declare const LockfileSchema: z.ZodEffects<z.ZodObject<{
|
|
|
956
1028
|
lockfileVersion?: 1 | undefined;
|
|
957
1029
|
}, {
|
|
958
1030
|
packages: Record<string, {
|
|
959
|
-
source: string;
|
|
960
1031
|
version: string;
|
|
1032
|
+
source: string;
|
|
961
1033
|
installedAt: string;
|
|
962
1034
|
contributions?: Record<string, unknown> | null | undefined;
|
|
963
1035
|
resolved?: string | undefined;
|
|
@@ -968,8 +1040,8 @@ declare const LockfileSchema: z.ZodEffects<z.ZodObject<{
|
|
|
968
1040
|
lockfileVersion?: 1 | undefined;
|
|
969
1041
|
}>, {
|
|
970
1042
|
packages: Record<string, {
|
|
971
|
-
source: string;
|
|
972
1043
|
version: string;
|
|
1044
|
+
source: string;
|
|
973
1045
|
installedAt: string;
|
|
974
1046
|
contributions?: Record<string, unknown> | null | undefined;
|
|
975
1047
|
resolved?: string | undefined;
|
|
@@ -980,8 +1052,8 @@ declare const LockfileSchema: z.ZodEffects<z.ZodObject<{
|
|
|
980
1052
|
lockfileVersion?: 1 | undefined;
|
|
981
1053
|
}, {
|
|
982
1054
|
packages: Record<string, {
|
|
983
|
-
source: string;
|
|
984
1055
|
version: string;
|
|
1056
|
+
source: string;
|
|
985
1057
|
installedAt: string;
|
|
986
1058
|
contributions?: Record<string, unknown> | null | undefined;
|
|
987
1059
|
resolved?: string | undefined;
|
|
@@ -1852,12 +1924,12 @@ declare const PatternConfigSchema: z.ZodObject<{
|
|
|
1852
1924
|
match: z.ZodString;
|
|
1853
1925
|
convention: z.ZodEnum<["camelCase", "PascalCase", "UPPER_SNAKE", "kebab-case"]>;
|
|
1854
1926
|
}, "strip", z.ZodTypeAny, {
|
|
1855
|
-
match: string;
|
|
1856
1927
|
type: "naming";
|
|
1928
|
+
match: string;
|
|
1857
1929
|
convention: "camelCase" | "PascalCase" | "UPPER_SNAKE" | "kebab-case";
|
|
1858
1930
|
}, {
|
|
1859
|
-
match: string;
|
|
1860
1931
|
type: "naming";
|
|
1932
|
+
match: string;
|
|
1861
1933
|
convention: "camelCase" | "PascalCase" | "UPPER_SNAKE" | "kebab-case";
|
|
1862
1934
|
}>, z.ZodObject<{
|
|
1863
1935
|
type: z.ZodLiteral<"max-exports">;
|
|
@@ -1889,10 +1961,10 @@ declare const PatternConfigSchema: z.ZodObject<{
|
|
|
1889
1961
|
}>]>;
|
|
1890
1962
|
message: z.ZodOptional<z.ZodString>;
|
|
1891
1963
|
}, "strip", z.ZodTypeAny, {
|
|
1964
|
+
severity: "error" | "warning";
|
|
1965
|
+
description: string;
|
|
1892
1966
|
files: string[];
|
|
1893
1967
|
name: string;
|
|
1894
|
-
description: string;
|
|
1895
|
-
severity: "error" | "warning";
|
|
1896
1968
|
rule: {
|
|
1897
1969
|
type: "must-export";
|
|
1898
1970
|
names: string[];
|
|
@@ -1910,8 +1982,8 @@ declare const PatternConfigSchema: z.ZodObject<{
|
|
|
1910
1982
|
type: "no-import";
|
|
1911
1983
|
from: string;
|
|
1912
1984
|
} | {
|
|
1913
|
-
match: string;
|
|
1914
1985
|
type: "naming";
|
|
1986
|
+
match: string;
|
|
1915
1987
|
convention: "camelCase" | "PascalCase" | "UPPER_SNAKE" | "kebab-case";
|
|
1916
1988
|
} | {
|
|
1917
1989
|
type: "max-exports";
|
|
@@ -1925,10 +1997,10 @@ declare const PatternConfigSchema: z.ZodObject<{
|
|
|
1925
1997
|
};
|
|
1926
1998
|
message?: string | undefined;
|
|
1927
1999
|
}, {
|
|
2000
|
+
severity: "error" | "warning";
|
|
2001
|
+
description: string;
|
|
1928
2002
|
files: string[];
|
|
1929
2003
|
name: string;
|
|
1930
|
-
description: string;
|
|
1931
|
-
severity: "error" | "warning";
|
|
1932
2004
|
rule: {
|
|
1933
2005
|
type: "must-export";
|
|
1934
2006
|
names: string[];
|
|
@@ -1946,8 +2018,8 @@ declare const PatternConfigSchema: z.ZodObject<{
|
|
|
1946
2018
|
type: "no-import";
|
|
1947
2019
|
from: string;
|
|
1948
2020
|
} | {
|
|
1949
|
-
match: string;
|
|
1950
2021
|
type: "naming";
|
|
2022
|
+
match: string;
|
|
1951
2023
|
convention: "camelCase" | "PascalCase" | "UPPER_SNAKE" | "kebab-case";
|
|
1952
2024
|
} | {
|
|
1953
2025
|
type: "max-exports";
|
|
@@ -1965,10 +2037,10 @@ declare const PatternConfigSchema: z.ZodObject<{
|
|
|
1965
2037
|
ignoreFiles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1966
2038
|
}, "strip", z.ZodTypeAny, {
|
|
1967
2039
|
patterns: {
|
|
2040
|
+
severity: "error" | "warning";
|
|
2041
|
+
description: string;
|
|
1968
2042
|
files: string[];
|
|
1969
2043
|
name: string;
|
|
1970
|
-
description: string;
|
|
1971
|
-
severity: "error" | "warning";
|
|
1972
2044
|
rule: {
|
|
1973
2045
|
type: "must-export";
|
|
1974
2046
|
names: string[];
|
|
@@ -1986,8 +2058,8 @@ declare const PatternConfigSchema: z.ZodObject<{
|
|
|
1986
2058
|
type: "no-import";
|
|
1987
2059
|
from: string;
|
|
1988
2060
|
} | {
|
|
1989
|
-
match: string;
|
|
1990
2061
|
type: "naming";
|
|
2062
|
+
match: string;
|
|
1991
2063
|
convention: "camelCase" | "PascalCase" | "UPPER_SNAKE" | "kebab-case";
|
|
1992
2064
|
} | {
|
|
1993
2065
|
type: "max-exports";
|
|
@@ -2005,10 +2077,10 @@ declare const PatternConfigSchema: z.ZodObject<{
|
|
|
2005
2077
|
ignoreFiles?: string[] | undefined;
|
|
2006
2078
|
}, {
|
|
2007
2079
|
patterns: {
|
|
2080
|
+
severity: "error" | "warning";
|
|
2081
|
+
description: string;
|
|
2008
2082
|
files: string[];
|
|
2009
2083
|
name: string;
|
|
2010
|
-
description: string;
|
|
2011
|
-
severity: "error" | "warning";
|
|
2012
2084
|
rule: {
|
|
2013
2085
|
type: "must-export";
|
|
2014
2086
|
names: string[];
|
|
@@ -2026,8 +2098,8 @@ declare const PatternConfigSchema: z.ZodObject<{
|
|
|
2026
2098
|
type: "no-import";
|
|
2027
2099
|
from: string;
|
|
2028
2100
|
} | {
|
|
2029
|
-
match: string;
|
|
2030
2101
|
type: "naming";
|
|
2102
|
+
match: string;
|
|
2031
2103
|
convention: "camelCase" | "PascalCase" | "UPPER_SNAKE" | "kebab-case";
|
|
2032
2104
|
} | {
|
|
2033
2105
|
type: "max-exports";
|
|
@@ -2146,12 +2218,12 @@ declare const EntropyConfigSchema: z.ZodObject<{
|
|
|
2146
2218
|
match: z.ZodString;
|
|
2147
2219
|
convention: z.ZodEnum<["camelCase", "PascalCase", "UPPER_SNAKE", "kebab-case"]>;
|
|
2148
2220
|
}, "strip", z.ZodTypeAny, {
|
|
2149
|
-
match: string;
|
|
2150
2221
|
type: "naming";
|
|
2222
|
+
match: string;
|
|
2151
2223
|
convention: "camelCase" | "PascalCase" | "UPPER_SNAKE" | "kebab-case";
|
|
2152
2224
|
}, {
|
|
2153
|
-
match: string;
|
|
2154
2225
|
type: "naming";
|
|
2226
|
+
match: string;
|
|
2155
2227
|
convention: "camelCase" | "PascalCase" | "UPPER_SNAKE" | "kebab-case";
|
|
2156
2228
|
}>, z.ZodObject<{
|
|
2157
2229
|
type: z.ZodLiteral<"max-exports">;
|
|
@@ -2183,10 +2255,10 @@ declare const EntropyConfigSchema: z.ZodObject<{
|
|
|
2183
2255
|
}>]>;
|
|
2184
2256
|
message: z.ZodOptional<z.ZodString>;
|
|
2185
2257
|
}, "strip", z.ZodTypeAny, {
|
|
2258
|
+
severity: "error" | "warning";
|
|
2259
|
+
description: string;
|
|
2186
2260
|
files: string[];
|
|
2187
2261
|
name: string;
|
|
2188
|
-
description: string;
|
|
2189
|
-
severity: "error" | "warning";
|
|
2190
2262
|
rule: {
|
|
2191
2263
|
type: "must-export";
|
|
2192
2264
|
names: string[];
|
|
@@ -2204,8 +2276,8 @@ declare const EntropyConfigSchema: z.ZodObject<{
|
|
|
2204
2276
|
type: "no-import";
|
|
2205
2277
|
from: string;
|
|
2206
2278
|
} | {
|
|
2207
|
-
match: string;
|
|
2208
2279
|
type: "naming";
|
|
2280
|
+
match: string;
|
|
2209
2281
|
convention: "camelCase" | "PascalCase" | "UPPER_SNAKE" | "kebab-case";
|
|
2210
2282
|
} | {
|
|
2211
2283
|
type: "max-exports";
|
|
@@ -2219,10 +2291,10 @@ declare const EntropyConfigSchema: z.ZodObject<{
|
|
|
2219
2291
|
};
|
|
2220
2292
|
message?: string | undefined;
|
|
2221
2293
|
}, {
|
|
2294
|
+
severity: "error" | "warning";
|
|
2295
|
+
description: string;
|
|
2222
2296
|
files: string[];
|
|
2223
2297
|
name: string;
|
|
2224
|
-
description: string;
|
|
2225
|
-
severity: "error" | "warning";
|
|
2226
2298
|
rule: {
|
|
2227
2299
|
type: "must-export";
|
|
2228
2300
|
names: string[];
|
|
@@ -2240,8 +2312,8 @@ declare const EntropyConfigSchema: z.ZodObject<{
|
|
|
2240
2312
|
type: "no-import";
|
|
2241
2313
|
from: string;
|
|
2242
2314
|
} | {
|
|
2243
|
-
match: string;
|
|
2244
2315
|
type: "naming";
|
|
2316
|
+
match: string;
|
|
2245
2317
|
convention: "camelCase" | "PascalCase" | "UPPER_SNAKE" | "kebab-case";
|
|
2246
2318
|
} | {
|
|
2247
2319
|
type: "max-exports";
|
|
@@ -2259,10 +2331,10 @@ declare const EntropyConfigSchema: z.ZodObject<{
|
|
|
2259
2331
|
ignoreFiles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2260
2332
|
}, "strip", z.ZodTypeAny, {
|
|
2261
2333
|
patterns: {
|
|
2334
|
+
severity: "error" | "warning";
|
|
2335
|
+
description: string;
|
|
2262
2336
|
files: string[];
|
|
2263
2337
|
name: string;
|
|
2264
|
-
description: string;
|
|
2265
|
-
severity: "error" | "warning";
|
|
2266
2338
|
rule: {
|
|
2267
2339
|
type: "must-export";
|
|
2268
2340
|
names: string[];
|
|
@@ -2280,8 +2352,8 @@ declare const EntropyConfigSchema: z.ZodObject<{
|
|
|
2280
2352
|
type: "no-import";
|
|
2281
2353
|
from: string;
|
|
2282
2354
|
} | {
|
|
2283
|
-
match: string;
|
|
2284
2355
|
type: "naming";
|
|
2356
|
+
match: string;
|
|
2285
2357
|
convention: "camelCase" | "PascalCase" | "UPPER_SNAKE" | "kebab-case";
|
|
2286
2358
|
} | {
|
|
2287
2359
|
type: "max-exports";
|
|
@@ -2299,10 +2371,10 @@ declare const EntropyConfigSchema: z.ZodObject<{
|
|
|
2299
2371
|
ignoreFiles?: string[] | undefined;
|
|
2300
2372
|
}, {
|
|
2301
2373
|
patterns: {
|
|
2374
|
+
severity: "error" | "warning";
|
|
2375
|
+
description: string;
|
|
2302
2376
|
files: string[];
|
|
2303
2377
|
name: string;
|
|
2304
|
-
description: string;
|
|
2305
|
-
severity: "error" | "warning";
|
|
2306
2378
|
rule: {
|
|
2307
2379
|
type: "must-export";
|
|
2308
2380
|
names: string[];
|
|
@@ -2320,8 +2392,8 @@ declare const EntropyConfigSchema: z.ZodObject<{
|
|
|
2320
2392
|
type: "no-import";
|
|
2321
2393
|
from: string;
|
|
2322
2394
|
} | {
|
|
2323
|
-
match: string;
|
|
2324
2395
|
type: "naming";
|
|
2396
|
+
match: string;
|
|
2325
2397
|
convention: "camelCase" | "PascalCase" | "UPPER_SNAKE" | "kebab-case";
|
|
2326
2398
|
} | {
|
|
2327
2399
|
type: "max-exports";
|
|
@@ -2355,10 +2427,10 @@ declare const EntropyConfigSchema: z.ZodObject<{
|
|
|
2355
2427
|
} | undefined;
|
|
2356
2428
|
patterns?: boolean | {
|
|
2357
2429
|
patterns: {
|
|
2430
|
+
severity: "error" | "warning";
|
|
2431
|
+
description: string;
|
|
2358
2432
|
files: string[];
|
|
2359
2433
|
name: string;
|
|
2360
|
-
description: string;
|
|
2361
|
-
severity: "error" | "warning";
|
|
2362
2434
|
rule: {
|
|
2363
2435
|
type: "must-export";
|
|
2364
2436
|
names: string[];
|
|
@@ -2376,8 +2448,8 @@ declare const EntropyConfigSchema: z.ZodObject<{
|
|
|
2376
2448
|
type: "no-import";
|
|
2377
2449
|
from: string;
|
|
2378
2450
|
} | {
|
|
2379
|
-
match: string;
|
|
2380
2451
|
type: "naming";
|
|
2452
|
+
match: string;
|
|
2381
2453
|
convention: "camelCase" | "PascalCase" | "UPPER_SNAKE" | "kebab-case";
|
|
2382
2454
|
} | {
|
|
2383
2455
|
type: "max-exports";
|
|
@@ -2411,10 +2483,10 @@ declare const EntropyConfigSchema: z.ZodObject<{
|
|
|
2411
2483
|
} | undefined;
|
|
2412
2484
|
patterns?: boolean | {
|
|
2413
2485
|
patterns: {
|
|
2486
|
+
severity: "error" | "warning";
|
|
2487
|
+
description: string;
|
|
2414
2488
|
files: string[];
|
|
2415
2489
|
name: string;
|
|
2416
|
-
description: string;
|
|
2417
|
-
severity: "error" | "warning";
|
|
2418
2490
|
rule: {
|
|
2419
2491
|
type: "must-export";
|
|
2420
2492
|
names: string[];
|
|
@@ -2432,8 +2504,8 @@ declare const EntropyConfigSchema: z.ZodObject<{
|
|
|
2432
2504
|
type: "no-import";
|
|
2433
2505
|
from: string;
|
|
2434
2506
|
} | {
|
|
2435
|
-
match: string;
|
|
2436
2507
|
type: "naming";
|
|
2508
|
+
match: string;
|
|
2437
2509
|
convention: "camelCase" | "PascalCase" | "UPPER_SNAKE" | "kebab-case";
|
|
2438
2510
|
} | {
|
|
2439
2511
|
type: "max-exports";
|
|
@@ -2473,10 +2545,10 @@ declare const EntropyConfigSchema: z.ZodObject<{
|
|
|
2473
2545
|
} | undefined;
|
|
2474
2546
|
patterns?: boolean | {
|
|
2475
2547
|
patterns: {
|
|
2548
|
+
severity: "error" | "warning";
|
|
2549
|
+
description: string;
|
|
2476
2550
|
files: string[];
|
|
2477
2551
|
name: string;
|
|
2478
|
-
description: string;
|
|
2479
|
-
severity: "error" | "warning";
|
|
2480
2552
|
rule: {
|
|
2481
2553
|
type: "must-export";
|
|
2482
2554
|
names: string[];
|
|
@@ -2494,8 +2566,8 @@ declare const EntropyConfigSchema: z.ZodObject<{
|
|
|
2494
2566
|
type: "no-import";
|
|
2495
2567
|
from: string;
|
|
2496
2568
|
} | {
|
|
2497
|
-
match: string;
|
|
2498
2569
|
type: "naming";
|
|
2570
|
+
match: string;
|
|
2499
2571
|
convention: "camelCase" | "PascalCase" | "UPPER_SNAKE" | "kebab-case";
|
|
2500
2572
|
} | {
|
|
2501
2573
|
type: "max-exports";
|
|
@@ -2537,10 +2609,10 @@ declare const EntropyConfigSchema: z.ZodObject<{
|
|
|
2537
2609
|
} | undefined;
|
|
2538
2610
|
patterns?: boolean | {
|
|
2539
2611
|
patterns: {
|
|
2612
|
+
severity: "error" | "warning";
|
|
2613
|
+
description: string;
|
|
2540
2614
|
files: string[];
|
|
2541
2615
|
name: string;
|
|
2542
|
-
description: string;
|
|
2543
|
-
severity: "error" | "warning";
|
|
2544
2616
|
rule: {
|
|
2545
2617
|
type: "must-export";
|
|
2546
2618
|
names: string[];
|
|
@@ -2558,8 +2630,8 @@ declare const EntropyConfigSchema: z.ZodObject<{
|
|
|
2558
2630
|
type: "no-import";
|
|
2559
2631
|
from: string;
|
|
2560
2632
|
} | {
|
|
2561
|
-
match: string;
|
|
2562
2633
|
type: "naming";
|
|
2634
|
+
match: string;
|
|
2563
2635
|
convention: "camelCase" | "PascalCase" | "UPPER_SNAKE" | "kebab-case";
|
|
2564
2636
|
} | {
|
|
2565
2637
|
type: "max-exports";
|
|
@@ -2691,10 +2763,19 @@ declare class BenchmarkRunner {
|
|
|
2691
2763
|
rawOutput: string;
|
|
2692
2764
|
success: boolean;
|
|
2693
2765
|
}>;
|
|
2766
|
+
/**
|
|
2767
|
+
* Extract a BenchmarkResult from a single assertion with benchmark data.
|
|
2768
|
+
*/
|
|
2769
|
+
private parseBenchAssertion;
|
|
2770
|
+
/**
|
|
2771
|
+
* Extract JSON from output that may contain non-JSON preamble.
|
|
2772
|
+
*/
|
|
2773
|
+
private extractJson;
|
|
2694
2774
|
/**
|
|
2695
2775
|
* Parse vitest bench JSON reporter output into BenchmarkResult[].
|
|
2696
2776
|
* Vitest bench JSON output contains testResults with benchmark data.
|
|
2697
2777
|
*/
|
|
2778
|
+
private collectAssertionResults;
|
|
2698
2779
|
parseVitestBenchOutput(output: string): BenchmarkResult[];
|
|
2699
2780
|
}
|
|
2700
2781
|
|
|
@@ -3017,6 +3098,18 @@ declare class ChecklistBuilder {
|
|
|
3017
3098
|
addRule(rule: CustomRule): this;
|
|
3018
3099
|
addRules(rules: CustomRule[]): this;
|
|
3019
3100
|
withDiffAnalysis(options: SelfReviewConfig['diffAnalysis'], graphImpactData?: GraphImpactData): this;
|
|
3101
|
+
/**
|
|
3102
|
+
* Build a single harness check item with or without graph data.
|
|
3103
|
+
*/
|
|
3104
|
+
private buildHarnessCheckItem;
|
|
3105
|
+
/**
|
|
3106
|
+
* Build all harness check items based on harnessOptions and graph data.
|
|
3107
|
+
*/
|
|
3108
|
+
private buildHarnessItems;
|
|
3109
|
+
/**
|
|
3110
|
+
* Execute a single custom rule and return a ReviewItem.
|
|
3111
|
+
*/
|
|
3112
|
+
private executeCustomRule;
|
|
3020
3113
|
run(changes: CodeChanges): Promise<Result<ReviewChecklist, FeedbackError>>;
|
|
3021
3114
|
}
|
|
3022
3115
|
|
|
@@ -3238,19 +3331,6 @@ declare class ArchBaselineManager {
|
|
|
3238
3331
|
save(baseline: ArchBaseline): void;
|
|
3239
3332
|
}
|
|
3240
3333
|
|
|
3241
|
-
/**
|
|
3242
|
-
* Diff current metric results against a stored baseline.
|
|
3243
|
-
*
|
|
3244
|
-
* Pure function implementing the ratchet logic:
|
|
3245
|
-
* - New violations (in current but not baseline) cause failure
|
|
3246
|
-
* - Aggregate value exceeding baseline causes failure (regression)
|
|
3247
|
-
* - Pre-existing violations (in both) are allowed
|
|
3248
|
-
* - Resolved violations (in baseline but not current) are celebrated
|
|
3249
|
-
*
|
|
3250
|
-
* Categories present in current but absent from the baseline are treated
|
|
3251
|
-
* as having an empty baseline (value: 0, no known violations), so any
|
|
3252
|
-
* violations in those categories are considered new.
|
|
3253
|
-
*/
|
|
3254
3334
|
declare function diff(current: MetricResult[], baseline: ArchBaseline): ArchDiffResult;
|
|
3255
3335
|
|
|
3256
3336
|
/**
|
|
@@ -3277,13 +3357,13 @@ declare const FailureEntrySchema: z.ZodObject<{
|
|
|
3277
3357
|
description: z.ZodString;
|
|
3278
3358
|
}, "strip", z.ZodTypeAny, {
|
|
3279
3359
|
type: string;
|
|
3280
|
-
description: string;
|
|
3281
3360
|
date: string;
|
|
3361
|
+
description: string;
|
|
3282
3362
|
skill: string;
|
|
3283
3363
|
}, {
|
|
3284
3364
|
type: string;
|
|
3285
|
-
description: string;
|
|
3286
3365
|
date: string;
|
|
3366
|
+
description: string;
|
|
3287
3367
|
skill: string;
|
|
3288
3368
|
}>;
|
|
3289
3369
|
type FailureEntry = z.infer<typeof FailureEntrySchema>;
|
|
@@ -3346,14 +3426,14 @@ declare const GateResultSchema: z.ZodObject<{
|
|
|
3346
3426
|
output: z.ZodOptional<z.ZodString>;
|
|
3347
3427
|
duration: z.ZodOptional<z.ZodNumber>;
|
|
3348
3428
|
}, "strip", z.ZodTypeAny, {
|
|
3349
|
-
name: string;
|
|
3350
3429
|
passed: boolean;
|
|
3430
|
+
name: string;
|
|
3351
3431
|
command: string;
|
|
3352
3432
|
output?: string | undefined;
|
|
3353
3433
|
duration?: number | undefined;
|
|
3354
3434
|
}, {
|
|
3355
|
-
name: string;
|
|
3356
3435
|
passed: boolean;
|
|
3436
|
+
name: string;
|
|
3357
3437
|
command: string;
|
|
3358
3438
|
output?: string | undefined;
|
|
3359
3439
|
duration?: number | undefined;
|
|
@@ -3361,8 +3441,8 @@ declare const GateResultSchema: z.ZodObject<{
|
|
|
3361
3441
|
}, "strip", z.ZodTypeAny, {
|
|
3362
3442
|
passed: boolean;
|
|
3363
3443
|
checks: {
|
|
3364
|
-
name: string;
|
|
3365
3444
|
passed: boolean;
|
|
3445
|
+
name: string;
|
|
3366
3446
|
command: string;
|
|
3367
3447
|
output?: string | undefined;
|
|
3368
3448
|
duration?: number | undefined;
|
|
@@ -3370,8 +3450,8 @@ declare const GateResultSchema: z.ZodObject<{
|
|
|
3370
3450
|
}, {
|
|
3371
3451
|
passed: boolean;
|
|
3372
3452
|
checks: {
|
|
3373
|
-
name: string;
|
|
3374
3453
|
passed: boolean;
|
|
3454
|
+
name: string;
|
|
3375
3455
|
command: string;
|
|
3376
3456
|
output?: string | undefined;
|
|
3377
3457
|
duration?: number | undefined;
|
|
@@ -3434,13 +3514,13 @@ declare const HarnessStateSchema: z.ZodObject<{
|
|
|
3434
3514
|
description: z.ZodString;
|
|
3435
3515
|
status: z.ZodEnum<["open", "resolved"]>;
|
|
3436
3516
|
}, "strip", z.ZodTypeAny, {
|
|
3517
|
+
status: "resolved" | "open";
|
|
3437
3518
|
id: string;
|
|
3438
3519
|
description: string;
|
|
3439
|
-
status: "resolved" | "open";
|
|
3440
3520
|
}, {
|
|
3521
|
+
status: "resolved" | "open";
|
|
3441
3522
|
id: string;
|
|
3442
3523
|
description: string;
|
|
3443
|
-
status: "resolved" | "open";
|
|
3444
3524
|
}>, "many">>;
|
|
3445
3525
|
progress: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodEnum<["pending", "in_progress", "complete"]>>>;
|
|
3446
3526
|
lastSession: z.ZodOptional<z.ZodObject<{
|
|
@@ -3466,9 +3546,9 @@ declare const HarnessStateSchema: z.ZodObject<{
|
|
|
3466
3546
|
decision: string;
|
|
3467
3547
|
}[];
|
|
3468
3548
|
blockers: {
|
|
3549
|
+
status: "resolved" | "open";
|
|
3469
3550
|
id: string;
|
|
3470
3551
|
description: string;
|
|
3471
|
-
status: "resolved" | "open";
|
|
3472
3552
|
}[];
|
|
3473
3553
|
schemaVersion: 1;
|
|
3474
3554
|
position: {
|
|
@@ -3490,9 +3570,9 @@ declare const HarnessStateSchema: z.ZodObject<{
|
|
|
3490
3570
|
decision: string;
|
|
3491
3571
|
}[] | undefined;
|
|
3492
3572
|
blockers?: {
|
|
3573
|
+
status: "resolved" | "open";
|
|
3493
3574
|
id: string;
|
|
3494
3575
|
description: string;
|
|
3495
|
-
status: "resolved" | "open";
|
|
3496
3576
|
}[] | undefined;
|
|
3497
3577
|
position?: {
|
|
3498
3578
|
task?: string | undefined;
|
|
@@ -3512,6 +3592,24 @@ declare const DEFAULT_STATE: HarnessState;
|
|
|
3512
3592
|
declare function loadState(projectPath: string, stream?: string, session?: string): Promise<Result<HarnessState, Error>>;
|
|
3513
3593
|
declare function saveState(projectPath: string, state: HarnessState, stream?: string, session?: string): Promise<Result<void, Error>>;
|
|
3514
3594
|
|
|
3595
|
+
interface LearningsFrontmatter {
|
|
3596
|
+
hash: string;
|
|
3597
|
+
tags: string[];
|
|
3598
|
+
}
|
|
3599
|
+
interface LearningsIndexEntry {
|
|
3600
|
+
hash: string;
|
|
3601
|
+
tags: string[];
|
|
3602
|
+
summary: string;
|
|
3603
|
+
fullText: string;
|
|
3604
|
+
}
|
|
3605
|
+
/** Parse a frontmatter comment line: <!-- hash:XXXX tags:a,b --> */
|
|
3606
|
+
declare function parseFrontmatter(line: string): LearningsFrontmatter | null;
|
|
3607
|
+
/**
|
|
3608
|
+
* Extract a lightweight index entry from a full learning entry.
|
|
3609
|
+
* Summary = first line only. Tags extracted from [skill:X] and [outcome:Y] markers.
|
|
3610
|
+
* Hash computed from full entry text.
|
|
3611
|
+
*/
|
|
3612
|
+
declare function extractIndexEntry(entry: string): LearningsIndexEntry;
|
|
3515
3613
|
declare function clearLearningsCache(): void;
|
|
3516
3614
|
declare function appendLearning(projectPath: string, learning: string, skillName?: string, outcome?: string, stream?: string, session?: string): Promise<Result<void, Error>>;
|
|
3517
3615
|
/**
|
|
@@ -3537,6 +3635,7 @@ interface BudgetedLearningsOptions {
|
|
|
3537
3635
|
skill?: string;
|
|
3538
3636
|
session?: string;
|
|
3539
3637
|
stream?: string;
|
|
3638
|
+
depth?: 'index' | 'summary' | 'full';
|
|
3540
3639
|
}
|
|
3541
3640
|
/**
|
|
3542
3641
|
* Load learnings with token budget, two-tier loading, recency sorting, and relevance filtering.
|
|
@@ -3548,6 +3647,14 @@ interface BudgetedLearningsOptions {
|
|
|
3548
3647
|
* - Capped at tokenBudget (default 1000 tokens)
|
|
3549
3648
|
*/
|
|
3550
3649
|
declare function loadBudgetedLearnings(projectPath: string, options: BudgetedLearningsOptions): Promise<Result<string[], Error>>;
|
|
3650
|
+
/**
|
|
3651
|
+
* Load lightweight index entries from a learnings file.
|
|
3652
|
+
* Returns summaries (first line) with hash and tags for each entry.
|
|
3653
|
+
* Uses frontmatter when available; computes hash and extracts tags on-the-fly when not.
|
|
3654
|
+
*
|
|
3655
|
+
* This is Layer 1 of the progressive disclosure pipeline.
|
|
3656
|
+
*/
|
|
3657
|
+
declare function loadIndexEntries(projectPath: string, skillName?: string, stream?: string, session?: string): Promise<Result<LearningsIndexEntry[], Error>>;
|
|
3551
3658
|
declare function loadRelevantLearnings(projectPath: string, skillName?: string, stream?: string, session?: string): Promise<Result<string[], Error>>;
|
|
3552
3659
|
interface PruneResult {
|
|
3553
3660
|
kept: number;
|
|
@@ -3569,6 +3676,26 @@ declare function archiveLearnings(projectPath: string, entries: string[], stream
|
|
|
3569
3676
|
* Returns the prune result with pattern analysis and counts.
|
|
3570
3677
|
*/
|
|
3571
3678
|
declare function pruneLearnings(projectPath: string, stream?: string): Promise<Result<PruneResult, Error>>;
|
|
3679
|
+
interface PromoteResult {
|
|
3680
|
+
promoted: number;
|
|
3681
|
+
skipped: number;
|
|
3682
|
+
}
|
|
3683
|
+
/**
|
|
3684
|
+
* Promote generalizable session learnings to global learnings.md.
|
|
3685
|
+
*
|
|
3686
|
+
* Generalizable entries are those tagged with [outcome:gotcha],
|
|
3687
|
+
* [outcome:decision], or [outcome:observation]. These represent
|
|
3688
|
+
* reusable insights that apply beyond the current session.
|
|
3689
|
+
*
|
|
3690
|
+
* Task-specific entries (e.g., [outcome:success] completion summaries,
|
|
3691
|
+
* or entries without outcome tags) stay in the session directory.
|
|
3692
|
+
*/
|
|
3693
|
+
declare function promoteSessionLearnings(projectPath: string, sessionSlug: string, stream?: string): Promise<Result<PromoteResult, Error>>;
|
|
3694
|
+
/**
|
|
3695
|
+
* Count the number of learning entries in the global learnings.md file.
|
|
3696
|
+
* Useful for checking if pruning should be suggested (threshold: 30).
|
|
3697
|
+
*/
|
|
3698
|
+
declare function countLearningEntries(projectPath: string, stream?: string): Promise<number>;
|
|
3572
3699
|
|
|
3573
3700
|
declare function clearFailuresCache(): void;
|
|
3574
3701
|
declare function appendFailure(projectPath: string, description: string, skillName: string, type: string, stream?: string, session?: string): Promise<Result<void, Error>>;
|
|
@@ -3717,6 +3844,116 @@ declare function loadSessionSummary(projectPath: string, sessionSlug: string): R
|
|
|
3717
3844
|
*/
|
|
3718
3845
|
declare function listActiveSessions(projectPath: string): Result<string | null, Error>;
|
|
3719
3846
|
|
|
3847
|
+
/**
|
|
3848
|
+
* Reads all session sections. Returns empty sections if no session state exists.
|
|
3849
|
+
*/
|
|
3850
|
+
declare function readSessionSections(projectPath: string, sessionSlug: string): Promise<Result<SessionSections, Error>>;
|
|
3851
|
+
/**
|
|
3852
|
+
* Reads a single session section by name. Returns empty array if section has no entries.
|
|
3853
|
+
*/
|
|
3854
|
+
declare function readSessionSection(projectPath: string, sessionSlug: string, section: SessionSectionName): Promise<Result<SessionEntry[], Error>>;
|
|
3855
|
+
/**
|
|
3856
|
+
* Appends an entry to a session section (read-before-write).
|
|
3857
|
+
* Generates a unique ID and timestamp for the entry.
|
|
3858
|
+
*/
|
|
3859
|
+
declare function appendSessionEntry(projectPath: string, sessionSlug: string, section: SessionSectionName, authorSkill: string, content: string): Promise<Result<SessionEntry, Error>>;
|
|
3860
|
+
/**
|
|
3861
|
+
* Updates the status of an existing entry in a session section.
|
|
3862
|
+
* Returns Err if the entry is not found.
|
|
3863
|
+
*/
|
|
3864
|
+
declare function updateSessionEntryStatus(projectPath: string, sessionSlug: string, section: SessionSectionName, entryId: string, newStatus: SessionEntry['status']): Promise<Result<SessionEntry, Error>>;
|
|
3865
|
+
|
|
3866
|
+
/**
|
|
3867
|
+
* Archives a session by moving its directory to
|
|
3868
|
+
* `.harness/archive/sessions/<slug>-<date>`.
|
|
3869
|
+
*
|
|
3870
|
+
* The original session directory is removed. If an archive with the same
|
|
3871
|
+
* date already exists, a numeric counter is appended.
|
|
3872
|
+
*/
|
|
3873
|
+
declare function archiveSession(projectPath: string, sessionSlug: string): Promise<Result<void, Error>>;
|
|
3874
|
+
|
|
3875
|
+
/** Event types emitted at skill lifecycle points. */
|
|
3876
|
+
type EventType = 'phase_transition' | 'decision' | 'gate_result' | 'handoff' | 'error' | 'checkpoint';
|
|
3877
|
+
/** A structured skill lifecycle event. */
|
|
3878
|
+
interface SkillEvent {
|
|
3879
|
+
timestamp: string;
|
|
3880
|
+
skill: string;
|
|
3881
|
+
session?: string;
|
|
3882
|
+
type: EventType;
|
|
3883
|
+
summary: string;
|
|
3884
|
+
data?: Record<string, unknown>;
|
|
3885
|
+
refs?: string[];
|
|
3886
|
+
contentHash?: string;
|
|
3887
|
+
}
|
|
3888
|
+
/** Zod schema for validating SkillEvent objects. */
|
|
3889
|
+
declare const SkillEventSchema: z.ZodObject<{
|
|
3890
|
+
timestamp: z.ZodString;
|
|
3891
|
+
skill: z.ZodString;
|
|
3892
|
+
session: z.ZodOptional<z.ZodString>;
|
|
3893
|
+
type: z.ZodEnum<["phase_transition", "decision", "gate_result", "handoff", "error", "checkpoint"]>;
|
|
3894
|
+
summary: z.ZodString;
|
|
3895
|
+
data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3896
|
+
refs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3897
|
+
contentHash: z.ZodOptional<z.ZodString>;
|
|
3898
|
+
}, "strip", z.ZodTypeAny, {
|
|
3899
|
+
type: "error" | "decision" | "phase_transition" | "gate_result" | "handoff" | "checkpoint";
|
|
3900
|
+
timestamp: string;
|
|
3901
|
+
skill: string;
|
|
3902
|
+
summary: string;
|
|
3903
|
+
session?: string | undefined;
|
|
3904
|
+
data?: Record<string, unknown> | undefined;
|
|
3905
|
+
refs?: string[] | undefined;
|
|
3906
|
+
contentHash?: string | undefined;
|
|
3907
|
+
}, {
|
|
3908
|
+
type: "error" | "decision" | "phase_transition" | "gate_result" | "handoff" | "checkpoint";
|
|
3909
|
+
timestamp: string;
|
|
3910
|
+
skill: string;
|
|
3911
|
+
summary: string;
|
|
3912
|
+
session?: string | undefined;
|
|
3913
|
+
data?: Record<string, unknown> | undefined;
|
|
3914
|
+
refs?: string[] | undefined;
|
|
3915
|
+
contentHash?: string | undefined;
|
|
3916
|
+
}>;
|
|
3917
|
+
/** Input to emitEvent — timestamp and contentHash are computed automatically. */
|
|
3918
|
+
type EmitEventInput = Omit<SkillEvent, 'timestamp' | 'contentHash'>;
|
|
3919
|
+
interface EmitEventOptions {
|
|
3920
|
+
session?: string;
|
|
3921
|
+
stream?: string;
|
|
3922
|
+
}
|
|
3923
|
+
interface EmitEventResult {
|
|
3924
|
+
written: boolean;
|
|
3925
|
+
reason?: string;
|
|
3926
|
+
}
|
|
3927
|
+
/** Clear the known-hashes cache (for testing). */
|
|
3928
|
+
declare function clearEventHashCache(): void;
|
|
3929
|
+
/**
|
|
3930
|
+
* Emit a structured event to the JSONL event log.
|
|
3931
|
+
*
|
|
3932
|
+
* - Appends one JSON line to events.jsonl (crash-safe via appendFileSync)
|
|
3933
|
+
* - Born-deduplicated: same {skill, type, summary, session} tuple writes only once
|
|
3934
|
+
* - Session-scoped when options.session is provided
|
|
3935
|
+
* - Uses in-memory hash set for O(1) dedup checks after initial file load
|
|
3936
|
+
*/
|
|
3937
|
+
declare function emitEvent(projectPath: string, event: EmitEventInput, options?: EmitEventOptions): Promise<Result<EmitEventResult, Error>>;
|
|
3938
|
+
interface LoadEventsOptions {
|
|
3939
|
+
session?: string | undefined;
|
|
3940
|
+
stream?: string | undefined;
|
|
3941
|
+
}
|
|
3942
|
+
/**
|
|
3943
|
+
* Load all events from the JSONL event log.
|
|
3944
|
+
* Skips malformed lines gracefully.
|
|
3945
|
+
*/
|
|
3946
|
+
declare function loadEvents(projectPath: string, options?: LoadEventsOptions): Promise<Result<SkillEvent[], Error>>;
|
|
3947
|
+
/**
|
|
3948
|
+
* Format events as a compact timeline for display in gather_context.
|
|
3949
|
+
*
|
|
3950
|
+
* Example output:
|
|
3951
|
+
* - 10:30 [harness-execution] phase: PREPARE -> EXECUTE (12 tasks)
|
|
3952
|
+
* - 10:45 [harness-execution] gate: passed (test Y, lint Y)
|
|
3953
|
+
* - 11:02 [harness-execution] decision: Use polling over WebSocket
|
|
3954
|
+
*/
|
|
3955
|
+
declare function formatEventTimeline(events: SkillEvent[], limit?: number): string;
|
|
3956
|
+
|
|
3720
3957
|
type StepExecutor = (step: WorkflowStep, previousArtifact?: string) => Promise<WorkflowStepResult>;
|
|
3721
3958
|
declare function executeWorkflow(workflow: Workflow, executor: StepExecutor): Promise<WorkflowResult>;
|
|
3722
3959
|
|
|
@@ -3740,7 +3977,7 @@ type TurnExecutor = (context: TurnContext) => Promise<{
|
|
|
3740
3977
|
declare function runPipeline(initialContext: SkillContext, executor: SkillExecutor, options?: PipelineOptions): Promise<PipelineResult>;
|
|
3741
3978
|
declare function runMultiTurnPipeline(initialContext: SkillContext, turnExecutor: TurnExecutor, options?: PipelineOptions): Promise<PipelineResult>;
|
|
3742
3979
|
|
|
3743
|
-
type SecurityCategory = 'secrets' | 'injection' | 'xss' | 'crypto' | 'network' | 'deserialization' | 'path-traversal';
|
|
3980
|
+
type SecurityCategory = 'secrets' | 'injection' | 'xss' | 'crypto' | 'network' | 'deserialization' | 'path-traversal' | 'agent-config' | 'mcp';
|
|
3744
3981
|
type SecuritySeverity = 'error' | 'warning' | 'info';
|
|
3745
3982
|
type SecurityConfidence = 'high' | 'medium' | 'low';
|
|
3746
3983
|
interface SecurityRule {
|
|
@@ -3802,8 +4039,15 @@ declare class SecurityScanner {
|
|
|
3802
4039
|
private activeRules;
|
|
3803
4040
|
constructor(config?: Partial<SecurityConfig>);
|
|
3804
4041
|
configureForProject(projectRoot: string): void;
|
|
4042
|
+
/**
|
|
4043
|
+
* Scan raw content against all active rules. Note: this method does NOT apply
|
|
4044
|
+
* fileGlob filtering — every active rule is evaluated regardless of filePath.
|
|
4045
|
+
* If you are scanning a specific file and want fileGlob-based rule filtering,
|
|
4046
|
+
* use {@link scanFile} instead.
|
|
4047
|
+
*/
|
|
3805
4048
|
scanContent(content: string, filePath: string, startLine?: number): SecurityFinding[];
|
|
3806
4049
|
scanFile(filePath: string): Promise<SecurityFinding[]>;
|
|
4050
|
+
private scanContentForFile;
|
|
3807
4051
|
scanFiles(filePaths: string[]): Promise<ScanResult>;
|
|
3808
4052
|
}
|
|
3809
4053
|
|
|
@@ -3848,9 +4092,9 @@ declare const SecurityConfigSchema: z.ZodObject<{
|
|
|
3848
4092
|
} | undefined;
|
|
3849
4093
|
}>>;
|
|
3850
4094
|
}, "strip", z.ZodTypeAny, {
|
|
3851
|
-
rules: Record<string, "error" | "warning" | "info" | "off">;
|
|
3852
4095
|
enabled: boolean;
|
|
3853
4096
|
strict: boolean;
|
|
4097
|
+
rules: Record<string, "error" | "warning" | "info" | "off">;
|
|
3854
4098
|
exclude: string[];
|
|
3855
4099
|
external?: {
|
|
3856
4100
|
semgrep?: {
|
|
@@ -3862,9 +4106,9 @@ declare const SecurityConfigSchema: z.ZodObject<{
|
|
|
3862
4106
|
} | undefined;
|
|
3863
4107
|
} | undefined;
|
|
3864
4108
|
}, {
|
|
3865
|
-
rules?: Record<string, "error" | "warning" | "info" | "off"> | undefined;
|
|
3866
4109
|
enabled?: boolean | undefined;
|
|
3867
4110
|
strict?: boolean | undefined;
|
|
4111
|
+
rules?: Record<string, "error" | "warning" | "info" | "off"> | undefined;
|
|
3868
4112
|
exclude?: string[] | undefined;
|
|
3869
4113
|
external?: {
|
|
3870
4114
|
semgrep?: {
|
|
@@ -3905,6 +4149,10 @@ declare const networkRules: SecurityRule[];
|
|
|
3905
4149
|
|
|
3906
4150
|
declare const deserializationRules: SecurityRule[];
|
|
3907
4151
|
|
|
4152
|
+
declare const agentConfigRules: SecurityRule[];
|
|
4153
|
+
|
|
4154
|
+
declare const mcpRules: SecurityRule[];
|
|
4155
|
+
|
|
3908
4156
|
declare const nodeRules: SecurityRule[];
|
|
3909
4157
|
|
|
3910
4158
|
declare const expressRules: SecurityRule[];
|
|
@@ -3971,6 +4219,22 @@ interface MechanicalCheckOptions {
|
|
|
3971
4219
|
/** Only scan these files for security (e.g., changed files from a PR) */
|
|
3972
4220
|
changedFiles?: string[];
|
|
3973
4221
|
}
|
|
4222
|
+
/**
|
|
4223
|
+
* Report on evidence coverage across review findings.
|
|
4224
|
+
* Produced by the evidence gate and included in review output.
|
|
4225
|
+
*/
|
|
4226
|
+
interface EvidenceCoverageReport {
|
|
4227
|
+
/** Total evidence entries loaded from session state */
|
|
4228
|
+
totalEntries: number;
|
|
4229
|
+
/** Number of findings that have matching evidence entries */
|
|
4230
|
+
findingsWithEvidence: number;
|
|
4231
|
+
/** Number of findings without matching evidence (flagged [UNVERIFIED]) */
|
|
4232
|
+
uncitedCount: number;
|
|
4233
|
+
/** Titles of uncited findings (for reporting) */
|
|
4234
|
+
uncitedFindings: string[];
|
|
4235
|
+
/** Coverage percentage (findingsWithEvidence / total findings * 100) */
|
|
4236
|
+
coveragePercentage: number;
|
|
4237
|
+
}
|
|
3974
4238
|
|
|
3975
4239
|
/**
|
|
3976
4240
|
* Change type detected from commit message prefix or diff heuristic.
|
|
@@ -4194,6 +4458,8 @@ interface ReviewOutputOptions {
|
|
|
4194
4458
|
prNumber?: number;
|
|
4195
4459
|
/** Repository in owner/repo format (required for GitHub comments) */
|
|
4196
4460
|
repo?: string;
|
|
4461
|
+
/** Evidence coverage report to append to output (optional) */
|
|
4462
|
+
evidenceCoverage?: EvidenceCoverageReport;
|
|
4197
4463
|
}
|
|
4198
4464
|
/**
|
|
4199
4465
|
* A formatted GitHub inline comment ready for posting.
|
|
@@ -4333,6 +4599,8 @@ interface PipelineContext {
|
|
|
4333
4599
|
checkDepsOutput?: string;
|
|
4334
4600
|
/** Repository in owner/repo format (for --comment) */
|
|
4335
4601
|
repo?: string;
|
|
4602
|
+
/** Session slug for evidence checking (optional) */
|
|
4603
|
+
sessionSlug?: string;
|
|
4336
4604
|
/** Whether the pipeline was skipped by the gate */
|
|
4337
4605
|
skipped: boolean;
|
|
4338
4606
|
/** Reason for skipping (when skipped is true) */
|
|
@@ -4359,6 +4627,8 @@ interface PipelineContext {
|
|
|
4359
4627
|
githubComments?: GitHubInlineComment[];
|
|
4360
4628
|
/** Process exit code (0 = approve/comment, 1 = request-changes) */
|
|
4361
4629
|
exitCode: number;
|
|
4630
|
+
/** Evidence coverage report (when session evidence is available) */
|
|
4631
|
+
evidenceCoverage?: EvidenceCoverageReport;
|
|
4362
4632
|
}
|
|
4363
4633
|
/**
|
|
4364
4634
|
* Immutable result returned from `runPipeline()`.
|
|
@@ -4384,6 +4654,8 @@ interface ReviewPipelineResult {
|
|
|
4384
4654
|
exitCode: number;
|
|
4385
4655
|
/** Mechanical check result (for reporting) */
|
|
4386
4656
|
mechanicalResult?: MechanicalCheckResult;
|
|
4657
|
+
/** Evidence coverage report (when session evidence is available) */
|
|
4658
|
+
evidenceCoverage?: EvidenceCoverageReport;
|
|
4387
4659
|
}
|
|
4388
4660
|
|
|
4389
4661
|
/**
|
|
@@ -4419,15 +4691,6 @@ declare function scopeContext(options: ContextScopeOptions): Promise<ContextBund
|
|
|
4419
4691
|
* Descriptor for the compliance review agent.
|
|
4420
4692
|
*/
|
|
4421
4693
|
declare const COMPLIANCE_DESCRIPTOR: ReviewAgentDescriptor;
|
|
4422
|
-
/**
|
|
4423
|
-
* Run the compliance review agent.
|
|
4424
|
-
*
|
|
4425
|
-
* Analyzes the context bundle for convention adherence, spec alignment,
|
|
4426
|
-
* and documentation completeness. Produces ReviewFinding[] with domain 'compliance'.
|
|
4427
|
-
*
|
|
4428
|
-
* This function performs static/heuristic analysis. The actual LLM invocation
|
|
4429
|
-
* for deeper compliance review happens at the orchestration layer (MCP/CLI).
|
|
4430
|
-
*/
|
|
4431
4694
|
declare function runComplianceAgent(bundle: ContextBundle): ReviewFinding[];
|
|
4432
4695
|
|
|
4433
4696
|
declare const BUG_DETECTION_DESCRIPTOR: ReviewAgentDescriptor;
|
|
@@ -4581,6 +4844,7 @@ declare function formatFindingBlock(finding: ReviewFinding): string;
|
|
|
4581
4844
|
declare function formatTerminalOutput(options: {
|
|
4582
4845
|
findings: ReviewFinding[];
|
|
4583
4846
|
strengths: ReviewStrength[];
|
|
4847
|
+
evidenceCoverage?: EvidenceCoverageReport;
|
|
4584
4848
|
}): string;
|
|
4585
4849
|
|
|
4586
4850
|
/**
|
|
@@ -4602,8 +4866,22 @@ declare function formatGitHubComment(finding: ReviewFinding): GitHubInlineCommen
|
|
|
4602
4866
|
declare function formatGitHubSummary(options: {
|
|
4603
4867
|
findings: ReviewFinding[];
|
|
4604
4868
|
strengths: ReviewStrength[];
|
|
4869
|
+
evidenceCoverage?: EvidenceCoverageReport;
|
|
4605
4870
|
}): string;
|
|
4606
4871
|
|
|
4872
|
+
/**
|
|
4873
|
+
* Check evidence coverage for a set of review findings against session evidence entries.
|
|
4874
|
+
*
|
|
4875
|
+
* For each finding, checks whether any active evidence entry references the same
|
|
4876
|
+
* file:line location. Findings without matching evidence are flagged as uncited.
|
|
4877
|
+
*/
|
|
4878
|
+
declare function checkEvidenceCoverage(findings: ReviewFinding[], evidenceEntries: SessionEntry[]): EvidenceCoverageReport;
|
|
4879
|
+
/**
|
|
4880
|
+
* Tag uncited findings by prefixing their title with [UNVERIFIED].
|
|
4881
|
+
* Mutates the findings array in place and returns it.
|
|
4882
|
+
*/
|
|
4883
|
+
declare function tagUncitedFindings(findings: ReviewFinding[], evidenceEntries: SessionEntry[]): ReviewFinding[];
|
|
4884
|
+
|
|
4607
4885
|
/**
|
|
4608
4886
|
* Options for invoking the pipeline.
|
|
4609
4887
|
*/
|
|
@@ -4622,6 +4900,8 @@ interface RunPipelineOptions {
|
|
|
4622
4900
|
config?: Record<string, unknown>;
|
|
4623
4901
|
/** Pre-gathered commit history entries */
|
|
4624
4902
|
commitHistory?: CommitHistoryEntry[];
|
|
4903
|
+
/** Session slug for loading evidence entries (optional) */
|
|
4904
|
+
sessionSlug?: string;
|
|
4625
4905
|
}
|
|
4626
4906
|
/**
|
|
4627
4907
|
* Run the full 7-phase code review pipeline.
|
|
@@ -4670,8 +4950,18 @@ interface SyncOptions {
|
|
|
4670
4950
|
/**
|
|
4671
4951
|
* Scan execution state files and infer status changes for roadmap features.
|
|
4672
4952
|
* Returns proposed changes without modifying the roadmap.
|
|
4953
|
+
*
|
|
4954
|
+
* Human-always-wins rule (directional): sync never regresses a feature's
|
|
4955
|
+
* status (e.g. done → in-progress) unless forceSync is set. Forward
|
|
4956
|
+
* progression (planned → in-progress → done) is always allowed regardless
|
|
4957
|
+
* of manual edits.
|
|
4673
4958
|
*/
|
|
4674
4959
|
declare function syncRoadmap(options: SyncOptions): Result<SyncChange[]>;
|
|
4960
|
+
/**
|
|
4961
|
+
* Apply sync changes to a roadmap in-place and update lastSynced.
|
|
4962
|
+
* Shared by manage_roadmap sync action and autoSyncRoadmap.
|
|
4963
|
+
*/
|
|
4964
|
+
declare function applySyncChanges(roadmap: Roadmap, changes: SyncChange[]): void;
|
|
4675
4965
|
|
|
4676
4966
|
declare const InteractionTypeSchema: z.ZodEnum<["question", "confirmation", "transition"]>;
|
|
4677
4967
|
declare const QuestionSchema: z.ZodObject<{
|
|
@@ -4680,12 +4970,12 @@ declare const QuestionSchema: z.ZodObject<{
|
|
|
4680
4970
|
default: z.ZodOptional<z.ZodString>;
|
|
4681
4971
|
}, "strip", z.ZodTypeAny, {
|
|
4682
4972
|
text: string;
|
|
4683
|
-
default?: string | undefined;
|
|
4684
4973
|
options?: string[] | undefined;
|
|
4974
|
+
default?: string | undefined;
|
|
4685
4975
|
}, {
|
|
4686
4976
|
text: string;
|
|
4687
|
-
default?: string | undefined;
|
|
4688
4977
|
options?: string[] | undefined;
|
|
4978
|
+
default?: string | undefined;
|
|
4689
4979
|
}>;
|
|
4690
4980
|
declare const ConfirmationSchema: z.ZodObject<{
|
|
4691
4981
|
text: z.ZodString;
|
|
@@ -4729,12 +5019,12 @@ declare const EmitInteractionInputSchema: z.ZodObject<{
|
|
|
4729
5019
|
default: z.ZodOptional<z.ZodString>;
|
|
4730
5020
|
}, "strip", z.ZodTypeAny, {
|
|
4731
5021
|
text: string;
|
|
4732
|
-
default?: string | undefined;
|
|
4733
5022
|
options?: string[] | undefined;
|
|
5023
|
+
default?: string | undefined;
|
|
4734
5024
|
}, {
|
|
4735
5025
|
text: string;
|
|
4736
|
-
default?: string | undefined;
|
|
4737
5026
|
options?: string[] | undefined;
|
|
5027
|
+
default?: string | undefined;
|
|
4738
5028
|
}>>;
|
|
4739
5029
|
confirmation: z.ZodOptional<z.ZodObject<{
|
|
4740
5030
|
text: z.ZodString;
|
|
@@ -4774,8 +5064,8 @@ declare const EmitInteractionInputSchema: z.ZodObject<{
|
|
|
4774
5064
|
stream?: string | undefined;
|
|
4775
5065
|
question?: {
|
|
4776
5066
|
text: string;
|
|
4777
|
-
default?: string | undefined;
|
|
4778
5067
|
options?: string[] | undefined;
|
|
5068
|
+
default?: string | undefined;
|
|
4779
5069
|
} | undefined;
|
|
4780
5070
|
confirmation?: {
|
|
4781
5071
|
text: string;
|
|
@@ -4795,8 +5085,8 @@ declare const EmitInteractionInputSchema: z.ZodObject<{
|
|
|
4795
5085
|
stream?: string | undefined;
|
|
4796
5086
|
question?: {
|
|
4797
5087
|
text: string;
|
|
4798
|
-
default?: string | undefined;
|
|
4799
5088
|
options?: string[] | undefined;
|
|
5089
|
+
default?: string | undefined;
|
|
4800
5090
|
} | undefined;
|
|
4801
5091
|
confirmation?: {
|
|
4802
5092
|
text: string;
|
|
@@ -4900,6 +5190,52 @@ declare function spawnBackgroundCheck(currentVersion: string): void;
|
|
|
4900
5190
|
*/
|
|
4901
5191
|
declare function getUpdateNotification(currentVersion: string): string | null;
|
|
4902
5192
|
|
|
5193
|
+
interface ParsedFile {
|
|
5194
|
+
tree: Parser.Tree;
|
|
5195
|
+
language: SupportedLanguage;
|
|
5196
|
+
source: string;
|
|
5197
|
+
filePath: string;
|
|
5198
|
+
}
|
|
5199
|
+
interface ParseFileError {
|
|
5200
|
+
code: 'UNSUPPORTED_LANGUAGE' | 'FILE_NOT_FOUND' | 'PARSE_FAILED' | 'INIT_FAILED';
|
|
5201
|
+
message: string;
|
|
5202
|
+
}
|
|
5203
|
+
/**
|
|
5204
|
+
* Get or create a cached parser for the given language.
|
|
5205
|
+
*/
|
|
5206
|
+
declare function getParser(lang: SupportedLanguage): Promise<Parser>;
|
|
5207
|
+
/**
|
|
5208
|
+
* Parse a file and return the tree-sitter tree with metadata.
|
|
5209
|
+
*/
|
|
5210
|
+
declare function parseFile(filePath: string): Promise<Result<ParsedFile, ParseFileError>>;
|
|
5211
|
+
/**
|
|
5212
|
+
* Reset the parser cache (for testing).
|
|
5213
|
+
*/
|
|
5214
|
+
declare function resetParserCache(): void;
|
|
5215
|
+
|
|
5216
|
+
/**
|
|
5217
|
+
* Get structural outline for a single file.
|
|
5218
|
+
*/
|
|
5219
|
+
declare function getOutline(filePath: string): Promise<OutlineResult>;
|
|
5220
|
+
/**
|
|
5221
|
+
* Format an outline result as the tree-style text format shown in the spec.
|
|
5222
|
+
*/
|
|
5223
|
+
declare function formatOutline(outline: OutlineResult): string;
|
|
5224
|
+
|
|
5225
|
+
/**
|
|
5226
|
+
* Search for symbols matching a query across files in a directory.
|
|
5227
|
+
*/
|
|
5228
|
+
declare function searchSymbols(query: string, directory: string, fileGlob?: string): Promise<SearchResult>;
|
|
5229
|
+
|
|
5230
|
+
/**
|
|
5231
|
+
* Extract a specific symbol's implementation from a file by name.
|
|
5232
|
+
*/
|
|
5233
|
+
declare function unfoldSymbol(filePath: string, symbolName: string): Promise<UnfoldResult>;
|
|
5234
|
+
/**
|
|
5235
|
+
* Extract a range of lines from a file.
|
|
5236
|
+
*/
|
|
5237
|
+
declare function unfoldRange(filePath: string, startLine: number, endLine: number): Promise<UnfoldResult>;
|
|
5238
|
+
|
|
4903
5239
|
/**
|
|
4904
5240
|
* @harness-engineering/core
|
|
4905
5241
|
*
|
|
@@ -4919,6 +5255,6 @@ declare function getUpdateNotification(currentVersion: string): string | null;
|
|
|
4919
5255
|
* release. Kept only as a fallback for consumers that cannot resolve the CLI
|
|
4920
5256
|
* package at runtime.
|
|
4921
5257
|
*/
|
|
4922
|
-
declare const VERSION = "0.
|
|
5258
|
+
declare const VERSION = "0.15.0";
|
|
4923
5259
|
|
|
4924
|
-
export { AGENT_DESCRIPTORS, ARCHITECTURE_DESCRIPTOR, type AST, type ActionContext, type ActionEvent, type ActionEventHandler, type ActionEventType, type ActionResult, type ActionSink, type ActionTracker, type ActionType, type AgentAction, AgentActionEmitter, type AgentExecutor, type AgentMapLink, type AgentMapSection, type AgentMapValidation, type AgentProcess, type AgentReviewResult, type AgentType, type AgentsMapConfig, ArchBaseline, ArchBaselineManager, ArchConfig, ArchDiffResult, ArchMetricCategory, BUG_DETECTION_DESCRIPTOR, type BaseError, type Baseline, BaselineManager, type BaselinesFile, type BenchmarkResult, type BenchmarkRunOptions, BenchmarkRunner, type BlueprintData, BlueprintGenerator, type BlueprintModule, type BlueprintOptions, type BoundaryDefinition, type BoundaryValidation, type BoundaryValidator, type BoundaryViolation, type BrokenLink, type BudgetedLearningsOptions, type Bundle, type BundleConstraints, BundleConstraintsSchema, BundleSchema, COMPLIANCE_DESCRIPTOR, type ChangeType, type ChangedFile, ChecklistBuilder, type CircularDependency, CircularDepsCollector, type CircularDepsResult, type CleanupFinding, type CodeBlock, type CodeChanges, type CodePattern, type CodeReference, type CodebaseSnapshot, Collector, type CommentedCodeBlock, type CommitFormat, type CommitHistoryEntry, type CommitValidation, ComplexityCollector, type ComplexityConfig, type ComplexityReport, type ComplexityThresholds, type ComplexityViolation, type ConfigError, type ConfigPattern, type Confirmation, ConfirmationSchema, type ConflictReport, ConsoleSink, type ConstraintError, type ConstraintNodeStore, ConstraintRule, type Content, ContentPipeline, type ContextBundle, type ContextError, type ContextFile, type ContextFilterResult, type ContextScopeOptions, type Contributions, ContributionsSchema, type Convention, CouplingCollector, type CouplingConfig, type CouplingReport, type CouplingThresholds, type CouplingViolation, type CoverageOptions, type CoverageReport, type CriticalPathEntry, CriticalPathResolver, type CriticalPathSet, type CustomRule, type CustomRuleResult, DEFAULT_PROVIDER_TIERS, DEFAULT_SECURITY_CONFIG, DEFAULT_STATE, DEFAULT_STREAM_INDEX, type DeadCodeConfig, type DeadCodeReport, type DeadExport, type DeadFile, type DeadInternal, type DeduplicateFindingsOptions, DepDepthCollector, type DependencyEdge, type DependencyGraph, type DependencyValidation, type DependencyViolation, type DetectStaleResult, type DiffInfo, type DocumentationDrift, type DocumentationFile, type DocumentationGap, type DriftConfig, type DriftReport, type EligibilityResult, type EmitInteractionInput, EmitInteractionInputSchema, EntropyAnalyzer, type EntropyConfig, EntropyConfigSchema, type EntropyError, type EntropyReport, ExclusionSet, type ExecutorHealth, type Export, type ExportMap, type FailureEntry, FailureEntrySchema, type FanOutOptions, type FeedbackAgentConfig, type FeedbackConfig, type FeedbackError$1 as FeedbackError, type FileCategory, FileSink, type FindingSeverity, type Fix, type FixConfig, type FixResult, type FixType, ForbiddenImportCollector, type ForbiddenImportViolation, type ForbiddenPattern, type GateConfig, GateConfigSchema, type GateResult, GateResultSchema, type GenerationSection, type GitHubInlineComment, type GraphAdapter, type GraphComplexityData, type GraphCouplingData, type GraphCoverageData, type GraphCriticalPathData, type GraphDependencyData, type GraphHarnessCheckData, type GraphImpactData, type Handoff, HandoffSchema, type HarnessState, HarnessStateSchema, type HealthCheckResult, type Hotspot, type HotspotContext, type Import, type InlineReference, type IntegrityReport, type InteractionType, InteractionTypeSchema, type InternalSymbol, type JSDocComment, type LanguageParser, type Layer, type LayerConfig, LayerViolationCollector, type LearningPattern, type Lockfile, type LockfilePackage, LockfilePackageSchema, LockfileSchema, type LogEntry, type LogFilter, type Manifest, ManifestSchema, type MechanicalCheckOptions, type MechanicalCheckResult, type MechanicalCheckStatus, type MechanicalFinding, type MergeResult, type Metric, MetricResult, type ModelProvider, type ModelTier, type ModelTierConfig, type ModuleDependency, ModuleSizeCollector, NoOpExecutor, NoOpSink, NoOpTelemetryAdapter, type OrphanedDep, type ParseError, type PatternConfig, PatternConfigSchema, type PatternMatch, type PatternReport, type PatternViolation, type PeerReview, type PeerReviewOptions, type PipelineContext, type PipelineFlags, type PipelineOptions, type PipelineResult, type PrMetadata, type PriorReview, ProjectScanner, type ProviderDefaults, type PruneResult, type Question, QuestionSchema, REQUIRED_SECTIONS, type ReachabilityNode, RegressionDetector, type RegressionReport, type RegressionResult, type ReviewAgentDescriptor, type ReviewAssessment, type ReviewChecklist, type ReviewComment, type ReviewContext, type ReviewDomain, type ReviewFinding, type ReviewItem, type ReviewOutputOptions, type ReviewPipelineResult, type ReviewStrength, type RuleOverride, RuleRegistry, type RunCIChecksInput, type RunPipelineOptions, SECURITY_DESCRIPTOR, type SafetyLevel, type ScanResult, type SecurityCategory, type SecurityConfidence, type SecurityConfig, SecurityConfigSchema, type SecurityFinding, type SecurityRule, SecurityScanner, type SecuritySeverity, type SelfReviewConfig, type SessionSummaryData, SharableBoundaryConfigSchema, SharableForbiddenImportSchema, SharableLayerSchema, SharableSecurityRulesSchema, type SizeBudgetConfig, type SizeBudgetReport, type SizeBudgetViolation, type SkillExecutor, type SourceFile, type Span, type SpanEvent, type StaleConstraint, type StepExecutor, type StreamIndex, StreamIndexSchema, type StreamInfo, StreamInfoSchema, type StructureValidation, type Suggestion, type SuggestionReport, type SyncChange, type SyncOptions, type TelemetryAdapter, type TelemetryHealth, ThresholdConfig, type TimeRange, type TokenBudget, type TokenBudgetOverrides, type Trace, type Transition, TransitionSchema, type TurnExecutor, TypeScriptParser, type UnusedImport, type UpdateCheckState, VERSION, type ValidateFindingsOptions, type ValidationError, type WorkflowPhase, addProvenance, analyzeDiff, analyzeLearningPatterns, appendFailure, appendLearning, applyFixes, applyHotspotDowngrade, archiveFailures, archiveLearnings, archiveStream, buildDependencyGraph, buildExclusionSet, buildSnapshot, checkDocCoverage, checkEligibility, classifyFinding, clearFailuresCache, clearLearningsCache, configureFeedback, constraintRuleId, contextBudget, contextFilter, createBoundaryValidator, createCommentedCodeFixes, createError, createFixes, createForbiddenImportFixes, createOrphanedDepFixes, createParseError, createSelfReview, createStream, cryptoRules, deduplicateCleanupFindings, deduplicateFindings, deepMergeConstraints, defaultCollectors, defineLayer, deserializationRules, detectChangeType, detectCircularDeps, detectCircularDepsInFiles, detectComplexityViolations, detectCouplingViolations, detectDeadCode, detectDocDrift, detectPatternViolations, detectSizeBudgetViolations, detectStack, detectStaleConstraints, determineAssessment, diff, executeWorkflow, expressRules, extractBundle, extractMarkdownLinks, extractSections, fanOutReview, formatFindingBlock, formatGitHubComment, formatGitHubSummary, formatTerminalOutput, generateAgentsMap, generateSuggestions, getActionEmitter, getExitCode, getFeedbackConfig, getPhaseCategories, getStreamForBranch, getUpdateNotification, goRules, injectionRules, isSmallSuggestion, isUpdateCheckEnabled, listActiveSessions, listStreams, loadBudgetedLearnings, loadFailures, loadHandoff, loadRelevantLearnings, loadSessionSummary, loadState, loadStreamIndex, logAgentAction, migrateToStreams, networkRules, nodeRules, parseDateFromEntry, parseDiff, parseManifest, parseRoadmap, parseSecurityConfig, parseSize, pathTraversalRules, previewFix, pruneLearnings, reactRules, readCheckState, readLockfile, removeContributions, removeProvenance, requestMultiplePeerReviews, requestPeerReview, resetFeedbackConfig, resolveFileToLayer, resolveModelTier, resolveRuleSeverity, resolveSessionDir, resolveStreamPath, resolveThresholds, runAll, runArchitectureAgent, runBugDetectionAgent, runCIChecks, runComplianceAgent, runMechanicalChecks, runMechanicalGate, runMultiTurnPipeline, runPipeline, runReviewPipeline, runSecurityAgent, saveHandoff, saveState, saveStreamIndex, scopeContext, secretRules, serializeRoadmap, setActiveStream, shouldRunCheck, spawnBackgroundCheck, syncConstraintNodes, syncRoadmap, touchStream, trackAction, updateSessionIndex, validateAgentsMap, validateBoundaries, validateCommitMessage, validateConfig, validateDependencies, validateFileStructure, validateFindings, validateKnowledgeMap, validatePatternConfig, violationId, writeConfig, writeLockfile, writeSessionSummary, xssRules };
|
|
5260
|
+
export { AGENT_DESCRIPTORS, ARCHITECTURE_DESCRIPTOR, type AST, type ActionContext, type ActionEvent, type ActionEventHandler, type ActionEventType, type ActionResult, type ActionSink, type ActionTracker, type ActionType, type AgentAction, AgentActionEmitter, type AgentExecutor, type AgentMapLink, type AgentMapSection, type AgentMapValidation, type AgentProcess, type AgentReviewResult, type AgentType, type AgentsMapConfig, ArchBaseline, ArchBaselineManager, ArchConfig, ArchDiffResult, ArchMetricCategory, BUG_DETECTION_DESCRIPTOR, type BaseError, type Baseline, BaselineManager, type BaselinesFile, type BenchmarkResult, type BenchmarkRunOptions, BenchmarkRunner, type BlueprintData, BlueprintGenerator, type BlueprintModule, type BlueprintOptions, type BoundaryDefinition, type BoundaryValidation, type BoundaryValidator, type BoundaryViolation, type BrokenLink, type BudgetedLearningsOptions, type Bundle, type BundleConstraints, BundleConstraintsSchema, BundleSchema, COMPLIANCE_DESCRIPTOR, type ChangeType, type ChangedFile, ChecklistBuilder, type CircularDependency, CircularDepsCollector, type CircularDepsResult, type CleanupFinding, type CodeBlock, type CodeChanges, type CodePattern, type CodeReference, type CodeSymbol, type CodebaseSnapshot, Collector, type CommentedCodeBlock, type CommitFormat, type CommitHistoryEntry, type CommitValidation, ComplexityCollector, type ComplexityConfig, type ComplexityReport, type ComplexityThresholds, type ComplexityViolation, type ConfigError, type ConfigPattern, type Confirmation, ConfirmationSchema, type ConflictReport, ConsoleSink, type ConstraintError, type ConstraintNodeStore, ConstraintRule, type Content, ContentPipeline, type ContextBundle, type ContextError, type ContextFile, type ContextFilterResult, type ContextScopeOptions, type Contributions, ContributionsSchema, type Convention, CouplingCollector, type CouplingConfig, type CouplingReport, type CouplingThresholds, type CouplingViolation, type CoverageOptions, type CoverageReport, type CriticalPathEntry, CriticalPathResolver, type CriticalPathSet, type CustomRule, type CustomRuleResult, DEFAULT_PROVIDER_TIERS, DEFAULT_SECURITY_CONFIG, DEFAULT_STATE, DEFAULT_STREAM_INDEX, type DeadCodeConfig, type DeadCodeReport, type DeadExport, type DeadFile, type DeadInternal, type DeduplicateFindingsOptions, DepDepthCollector, type DependencyEdge, type DependencyGraph, type DependencyValidation, type DependencyViolation, type DetectStaleResult, type DiffInfo, type DocumentationDrift, type DocumentationFile, type DocumentationGap, type DriftConfig, type DriftReport, EXTENSION_MAP, type EligibilityResult, type EmitEventInput, type EmitEventOptions, type EmitEventResult, type EmitInteractionInput, EmitInteractionInputSchema, EntropyAnalyzer, type EntropyConfig, EntropyConfigSchema, type EntropyError, type EntropyReport, type EventType, type EvidenceCoverageReport, ExclusionSet, type ExecutorHealth, type Export, type ExportMap, type FailureEntry, FailureEntrySchema, type FanOutOptions, type FeedbackAgentConfig, type FeedbackConfig, type FeedbackError$1 as FeedbackError, type FileCategory, FileSink, type FindingSeverity, type Fix, type FixConfig, type FixResult, type FixType, ForbiddenImportCollector, type ForbiddenImportViolation, type ForbiddenPattern, type GateConfig, GateConfigSchema, type GateResult, GateResultSchema, type GenerationSection, type GitHubInlineComment, type GraphAdapter, type GraphComplexityData, type GraphCouplingData, type GraphCoverageData, type GraphCriticalPathData, type GraphDependencyData, type GraphHarnessCheckData, type GraphImpactData, type Handoff, HandoffSchema, type HarnessState, HarnessStateSchema, type HealthCheckResult, type Hotspot, type HotspotContext, type Import, type InlineReference, type IntegrityReport, type InteractionType, InteractionTypeSchema, type InternalSymbol, type JSDocComment, type LanguageParser, type Layer, type LayerConfig, LayerViolationCollector, type LearningPattern, type LearningsFrontmatter, type LearningsIndexEntry, type LoadEventsOptions, type Lockfile, type LockfilePackage, LockfilePackageSchema, LockfileSchema, type LogEntry, type LogFilter, type Manifest, ManifestSchema, type MechanicalCheckOptions, type MechanicalCheckResult, type MechanicalCheckStatus, type MechanicalFinding, type MergeResult, type Metric, MetricResult, type ModelProvider, type ModelTier, type ModelTierConfig, type ModuleDependency, ModuleSizeCollector, NoOpExecutor, NoOpSink, NoOpTelemetryAdapter, type OrphanedDep, type OutlineResult, type ParseError, type ParsedFile, type PatternConfig, PatternConfigSchema, type PatternMatch, type PatternReport, type PatternViolation, type PeerReview, type PeerReviewOptions, type PipelineContext, type PipelineFlags, type PipelineOptions, type PipelineResult, type PrMetadata, type PriorReview, ProjectScanner, type PromoteResult, type ProviderDefaults, type PruneResult, type Question, QuestionSchema, REQUIRED_SECTIONS, type ReachabilityNode, RegressionDetector, type RegressionReport, type RegressionResult, type ReviewAgentDescriptor, type ReviewAssessment, type ReviewChecklist, type ReviewComment, type ReviewContext, type ReviewDomain, type ReviewFinding, type ReviewItem, type ReviewOutputOptions, type ReviewPipelineResult, type ReviewStrength, type RuleOverride, RuleRegistry, type RunCIChecksInput, type RunPipelineOptions, SECURITY_DESCRIPTOR, type SafetyLevel, type ScanResult, type SearchMatch, type SearchResult, type SecurityCategory, type SecurityConfidence, type SecurityConfig, SecurityConfigSchema, type SecurityFinding, type SecurityRule, SecurityScanner, type SecuritySeverity, type SelfReviewConfig, type SessionSummaryData, SharableBoundaryConfigSchema, SharableForbiddenImportSchema, SharableLayerSchema, SharableSecurityRulesSchema, type SizeBudgetConfig, type SizeBudgetReport, type SizeBudgetViolation, type SkillEvent, SkillEventSchema, type SkillExecutor, type SourceFile, type Span, type SpanEvent, type StaleConstraint, type StepExecutor, type StreamIndex, StreamIndexSchema, type StreamInfo, StreamInfoSchema, type StructureValidation, type Suggestion, type SuggestionReport, type SupportedLanguage, type SymbolKind, type SyncChange, type SyncOptions, type TelemetryAdapter, type TelemetryHealth, ThresholdConfig, type TimeRange, type TokenBudget, type TokenBudgetOverrides, type Trace, type Transition, TransitionSchema, type TurnExecutor, TypeScriptParser, type UnfoldResult, type UnusedImport, type UpdateCheckState, VERSION, type ValidateFindingsOptions, type ValidationError, type WorkflowPhase, addProvenance, agentConfigRules, analyzeDiff, analyzeLearningPatterns, appendFailure, appendLearning, appendSessionEntry, applyFixes, applyHotspotDowngrade, applySyncChanges, archiveFailures, archiveLearnings, archiveSession, archiveStream, buildDependencyGraph, buildExclusionSet, buildSnapshot, checkDocCoverage, checkEligibility, checkEvidenceCoverage, classifyFinding, clearEventHashCache, clearFailuresCache, clearLearningsCache, configureFeedback, constraintRuleId, contextBudget, contextFilter, countLearningEntries, createBoundaryValidator, createCommentedCodeFixes, createError, createFixes, createForbiddenImportFixes, createOrphanedDepFixes, createParseError, createSelfReview, createStream, cryptoRules, deduplicateCleanupFindings, deduplicateFindings, deepMergeConstraints, defaultCollectors, defineLayer, deserializationRules, detectChangeType, detectCircularDeps, detectCircularDepsInFiles, detectComplexityViolations, detectCouplingViolations, detectDeadCode, detectDocDrift, detectLanguage, detectPatternViolations, detectSizeBudgetViolations, detectStack, detectStaleConstraints, determineAssessment, diff, emitEvent, executeWorkflow, expressRules, extractBundle, extractIndexEntry, extractMarkdownLinks, extractSections, fanOutReview, formatEventTimeline, formatFindingBlock, formatGitHubComment, formatGitHubSummary, formatOutline, formatTerminalOutput, generateAgentsMap, generateSuggestions, getActionEmitter, getExitCode, getFeedbackConfig, getOutline, getParser, getPhaseCategories, getStreamForBranch, getUpdateNotification, goRules, injectionRules, isSmallSuggestion, isUpdateCheckEnabled, listActiveSessions, listStreams, loadBudgetedLearnings, loadEvents, loadFailures, loadHandoff, loadIndexEntries, loadRelevantLearnings, loadSessionSummary, loadState, loadStreamIndex, logAgentAction, mcpRules, migrateToStreams, networkRules, nodeRules, parseDateFromEntry, parseDiff, parseFile, parseFrontmatter, parseManifest, parseRoadmap, parseSecurityConfig, parseSize, pathTraversalRules, previewFix, promoteSessionLearnings, pruneLearnings, reactRules, readCheckState, readLockfile, readSessionSection, readSessionSections, removeContributions, removeProvenance, requestMultiplePeerReviews, requestPeerReview, resetFeedbackConfig, resetParserCache, resolveFileToLayer, resolveModelTier, resolveRuleSeverity, resolveSessionDir, resolveStreamPath, resolveThresholds, runAll, runArchitectureAgent, runBugDetectionAgent, runCIChecks, runComplianceAgent, runMechanicalChecks, runMechanicalGate, runMultiTurnPipeline, runPipeline, runReviewPipeline, runSecurityAgent, saveHandoff, saveState, saveStreamIndex, scopeContext, searchSymbols, secretRules, serializeRoadmap, setActiveStream, shouldRunCheck, spawnBackgroundCheck, syncConstraintNodes, syncRoadmap, tagUncitedFindings, touchStream, trackAction, unfoldRange, unfoldSymbol, updateSessionEntryStatus, updateSessionIndex, validateAgentsMap, validateBoundaries, validateCommitMessage, validateConfig, validateDependencies, validateFileStructure, validateFindings, validateKnowledgeMap, validatePatternConfig, violationId, writeConfig, writeLockfile, writeSessionSummary, xssRules };
|