@jamesaphoenix/tx-types 0.4.2 → 0.4.4
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 +480 -0
- package/dist/attempt.d.ts +36 -28
- package/dist/attempt.d.ts.map +1 -1
- package/dist/attempt.js +59 -1
- package/dist/attempt.js.map +1 -1
- package/dist/cycle.d.ts +130 -0
- package/dist/cycle.d.ts.map +1 -0
- package/dist/cycle.js +89 -0
- package/dist/cycle.js.map +1 -0
- package/dist/deduplication.d.ts +76 -92
- package/dist/deduplication.d.ts.map +1 -1
- package/dist/deduplication.js +63 -2
- package/dist/deduplication.js.map +1 -1
- package/dist/doc.d.ts +269 -0
- package/dist/doc.d.ts.map +1 -0
- package/dist/doc.js +232 -0
- package/dist/doc.js.map +1 -0
- package/dist/file-learning.d.ts +23 -28
- package/dist/file-learning.d.ts.map +1 -1
- package/dist/file-learning.js +22 -2
- package/dist/file-learning.js.map +1 -1
- package/dist/index.d.ts +14 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +38 -21
- package/dist/index.js.map +1 -1
- package/dist/learning.d.ts +167 -172
- package/dist/learning.d.ts.map +1 -1
- package/dist/learning.js +109 -1
- package/dist/learning.js.map +1 -1
- package/dist/response.d.ts +636 -0
- package/dist/response.d.ts.map +1 -0
- package/dist/response.js +354 -0
- package/dist/response.js.map +1 -0
- package/dist/run.d.ts +73 -40
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +108 -1
- package/dist/run.js.map +1 -1
- package/dist/task.d.ts +114 -78
- package/dist/task.d.ts.map +1 -1
- package/dist/task.js +149 -2
- package/dist/task.js.map +1 -1
- package/dist/tracked-project.d.ts +24 -34
- package/dist/tracked-project.d.ts.map +1 -1
- package/dist/tracked-project.js +34 -0
- package/dist/tracked-project.js.map +1 -1
- package/package.json +27 -3
- package/dist/anchor.d.ts +0 -153
- package/dist/anchor.d.ts.map +0 -1
- package/dist/anchor.js +0 -27
- package/dist/anchor.js.map +0 -1
- package/dist/candidate.d.ts +0 -203
- package/dist/candidate.d.ts.map +0 -1
- package/dist/candidate.js +0 -30
- package/dist/candidate.js.map +0 -1
- package/dist/edge.d.ts +0 -90
- package/dist/edge.d.ts.map +0 -1
- package/dist/edge.js +0 -32
- package/dist/edge.js.map +0 -1
- package/dist/symbol.d.ts +0 -72
- package/dist/symbol.d.ts.map +0 -1
- package/dist/symbol.js +0 -29
- package/dist/symbol.js.map +0 -1
package/dist/cycle.d.ts
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cycle types for tx
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the cycle-based issue discovery system.
|
|
5
|
+
* Core type definitions using Effect Schema (Doctrine Rule 10).
|
|
6
|
+
*
|
|
7
|
+
* Cycles dispatch sub-agent swarms to scan for codebase issues,
|
|
8
|
+
* deduplicate findings against known issues, and optionally fix them.
|
|
9
|
+
*/
|
|
10
|
+
import { Schema } from "effect";
|
|
11
|
+
export declare const FINDING_SEVERITIES: readonly ["high", "medium", "low"];
|
|
12
|
+
export declare const LOSS_WEIGHTS: {
|
|
13
|
+
readonly high: 3;
|
|
14
|
+
readonly medium: 2;
|
|
15
|
+
readonly low: 1;
|
|
16
|
+
};
|
|
17
|
+
/** Severity level for a finding. */
|
|
18
|
+
export declare const FindingSeveritySchema: Schema.Literal<["high", "medium", "low"]>;
|
|
19
|
+
export type FindingSeverity = typeof FindingSeveritySchema.Type;
|
|
20
|
+
/** A single issue found by a scan agent. */
|
|
21
|
+
export declare const FindingSchema: Schema.Struct<{
|
|
22
|
+
title: typeof Schema.String;
|
|
23
|
+
description: typeof Schema.String;
|
|
24
|
+
severity: Schema.Literal<["high", "medium", "low"]>;
|
|
25
|
+
issueType: typeof Schema.String;
|
|
26
|
+
file: typeof Schema.String;
|
|
27
|
+
line: typeof Schema.Number;
|
|
28
|
+
}>;
|
|
29
|
+
export type Finding = typeof FindingSchema.Type;
|
|
30
|
+
/** A duplicate finding mapped to an existing issue. */
|
|
31
|
+
export declare const DuplicateSchema: Schema.Struct<{
|
|
32
|
+
findingIdx: typeof Schema.Number;
|
|
33
|
+
existingIssueId: typeof Schema.String;
|
|
34
|
+
reason: typeof Schema.String;
|
|
35
|
+
}>;
|
|
36
|
+
export type Duplicate = typeof DuplicateSchema.Type;
|
|
37
|
+
/** Result of deduplication: new issues and identified duplicates. */
|
|
38
|
+
export declare const DedupResultSchema: Schema.Struct<{
|
|
39
|
+
newIssues: Schema.Array$<Schema.Struct<{
|
|
40
|
+
title: typeof Schema.String;
|
|
41
|
+
description: typeof Schema.String;
|
|
42
|
+
severity: Schema.Literal<["high", "medium", "low"]>;
|
|
43
|
+
issueType: typeof Schema.String;
|
|
44
|
+
file: typeof Schema.String;
|
|
45
|
+
line: typeof Schema.Number;
|
|
46
|
+
}>>;
|
|
47
|
+
duplicates: Schema.Array$<Schema.Struct<{
|
|
48
|
+
findingIdx: typeof Schema.Number;
|
|
49
|
+
existingIssueId: typeof Schema.String;
|
|
50
|
+
reason: typeof Schema.String;
|
|
51
|
+
}>>;
|
|
52
|
+
}>;
|
|
53
|
+
export type DedupResult = typeof DedupResultSchema.Type;
|
|
54
|
+
/** Configuration for a cycle scan run. */
|
|
55
|
+
export declare const CycleConfigSchema: Schema.Struct<{
|
|
56
|
+
taskPrompt: typeof Schema.String;
|
|
57
|
+
scanPrompt: typeof Schema.String;
|
|
58
|
+
name: Schema.optional<typeof Schema.String>;
|
|
59
|
+
description: Schema.optional<typeof Schema.String>;
|
|
60
|
+
cycles: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
|
|
61
|
+
maxRounds: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
|
|
62
|
+
agents: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
|
|
63
|
+
model: Schema.optional<typeof Schema.String>;
|
|
64
|
+
fix: Schema.optional<typeof Schema.Boolean>;
|
|
65
|
+
scanOnly: Schema.optional<typeof Schema.Boolean>;
|
|
66
|
+
dryRun: Schema.optional<typeof Schema.Boolean>;
|
|
67
|
+
score: Schema.optional<Schema.filter<typeof Schema.Number>>;
|
|
68
|
+
}>;
|
|
69
|
+
export type CycleConfig = typeof CycleConfigSchema.Type;
|
|
70
|
+
/** Metrics for a single round within a cycle. */
|
|
71
|
+
export declare const RoundMetricsSchema: Schema.Struct<{
|
|
72
|
+
cycle: Schema.filter<typeof Schema.Number>;
|
|
73
|
+
round: Schema.filter<typeof Schema.Number>;
|
|
74
|
+
loss: typeof Schema.Number;
|
|
75
|
+
newIssues: Schema.filter<typeof Schema.Number>;
|
|
76
|
+
existingIssues: Schema.filter<typeof Schema.Number>;
|
|
77
|
+
duplicates: Schema.filter<typeof Schema.Number>;
|
|
78
|
+
high: Schema.filter<typeof Schema.Number>;
|
|
79
|
+
medium: Schema.filter<typeof Schema.Number>;
|
|
80
|
+
low: Schema.filter<typeof Schema.Number>;
|
|
81
|
+
}>;
|
|
82
|
+
export type RoundMetrics = typeof RoundMetricsSchema.Type;
|
|
83
|
+
/** Result of a completed cycle. */
|
|
84
|
+
export declare const CycleResultSchema: Schema.Struct<{
|
|
85
|
+
cycleRunId: typeof Schema.String;
|
|
86
|
+
cycle: Schema.filter<typeof Schema.Number>;
|
|
87
|
+
name: typeof Schema.String;
|
|
88
|
+
description: typeof Schema.String;
|
|
89
|
+
rounds: Schema.filter<typeof Schema.Number>;
|
|
90
|
+
totalNewIssues: Schema.filter<typeof Schema.Number>;
|
|
91
|
+
existingIssues: Schema.filter<typeof Schema.Number>;
|
|
92
|
+
finalLoss: typeof Schema.Number;
|
|
93
|
+
converged: typeof Schema.Boolean;
|
|
94
|
+
}>;
|
|
95
|
+
export type CycleResult = typeof CycleResultSchema.Type;
|
|
96
|
+
/** Progress events emitted during cycle scan — keeps service UI-agnostic. */
|
|
97
|
+
export type CycleProgressEvent = {
|
|
98
|
+
type: "cycle_start";
|
|
99
|
+
cycle: number;
|
|
100
|
+
totalCycles: number;
|
|
101
|
+
name: string;
|
|
102
|
+
} | {
|
|
103
|
+
type: "scan_complete";
|
|
104
|
+
cycle: number;
|
|
105
|
+
round: number;
|
|
106
|
+
findings: number;
|
|
107
|
+
durationMs: number;
|
|
108
|
+
} | {
|
|
109
|
+
type: "dedup_complete";
|
|
110
|
+
cycle: number;
|
|
111
|
+
round: number;
|
|
112
|
+
newIssues: number;
|
|
113
|
+
duplicates: number;
|
|
114
|
+
} | {
|
|
115
|
+
type: "round_loss";
|
|
116
|
+
cycle: number;
|
|
117
|
+
round: number;
|
|
118
|
+
loss: number;
|
|
119
|
+
high: number;
|
|
120
|
+
medium: number;
|
|
121
|
+
low: number;
|
|
122
|
+
} | {
|
|
123
|
+
type: "converged";
|
|
124
|
+
cycle: number;
|
|
125
|
+
round: number;
|
|
126
|
+
} | {
|
|
127
|
+
type: "cycle_complete";
|
|
128
|
+
result: CycleResult;
|
|
129
|
+
};
|
|
130
|
+
//# sourceMappingURL=cycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cycle.d.ts","sourceRoot":"","sources":["../src/cycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAM/B,eAAO,MAAM,kBAAkB,oCAAqC,CAAA;AAEpE,eAAO,MAAM,YAAY;;;;CAA0C,CAAA;AAMnE,oCAAoC;AACpC,eAAO,MAAM,qBAAqB,2CAAwC,CAAA;AAC1E,MAAM,MAAM,eAAe,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAE/D,4CAA4C;AAC5C,eAAO,MAAM,aAAa;;;;;;;EAOxB,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;AAM/C,uDAAuD;AACvD,eAAO,MAAM,eAAe;;;;EAI1B,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAEnD,qEAAqE;AACrE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;EAG5B,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAMvD,0CAA0C;AAC1C,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;EAa5B,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAMvD,iDAAiD;AACjD,eAAO,MAAM,kBAAkB;;;;;;;;;;EAU7B,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAA;AAEzD,mCAAmC;AACnC,eAAO,MAAM,iBAAiB;;;;;;;;;;EAU5B,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAMvD,6EAA6E;AAC7E,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzE;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC7F;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC/F;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC7G;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,CAAA"}
|
package/dist/cycle.js
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cycle types for tx
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the cycle-based issue discovery system.
|
|
5
|
+
* Core type definitions using Effect Schema (Doctrine Rule 10).
|
|
6
|
+
*
|
|
7
|
+
* Cycles dispatch sub-agent swarms to scan for codebase issues,
|
|
8
|
+
* deduplicate findings against known issues, and optionally fix them.
|
|
9
|
+
*/
|
|
10
|
+
import { Schema } from "effect";
|
|
11
|
+
// =============================================================================
|
|
12
|
+
// CONSTANTS
|
|
13
|
+
// =============================================================================
|
|
14
|
+
export const FINDING_SEVERITIES = ["high", "medium", "low"];
|
|
15
|
+
export const LOSS_WEIGHTS = { high: 3, medium: 2, low: 1 };
|
|
16
|
+
// =============================================================================
|
|
17
|
+
// SCHEMAS & TYPES — Finding
|
|
18
|
+
// =============================================================================
|
|
19
|
+
/** Severity level for a finding. */
|
|
20
|
+
export const FindingSeveritySchema = Schema.Literal(...FINDING_SEVERITIES);
|
|
21
|
+
/** A single issue found by a scan agent. */
|
|
22
|
+
export const FindingSchema = Schema.Struct({
|
|
23
|
+
title: Schema.String,
|
|
24
|
+
description: Schema.String,
|
|
25
|
+
severity: FindingSeveritySchema,
|
|
26
|
+
issueType: Schema.String,
|
|
27
|
+
file: Schema.String,
|
|
28
|
+
line: Schema.Number,
|
|
29
|
+
});
|
|
30
|
+
// =============================================================================
|
|
31
|
+
// SCHEMAS & TYPES — Dedup
|
|
32
|
+
// =============================================================================
|
|
33
|
+
/** A duplicate finding mapped to an existing issue. */
|
|
34
|
+
export const DuplicateSchema = Schema.Struct({
|
|
35
|
+
findingIdx: Schema.Number,
|
|
36
|
+
existingIssueId: Schema.String,
|
|
37
|
+
reason: Schema.String,
|
|
38
|
+
});
|
|
39
|
+
/** Result of deduplication: new issues and identified duplicates. */
|
|
40
|
+
export const DedupResultSchema = Schema.Struct({
|
|
41
|
+
newIssues: Schema.Array(FindingSchema),
|
|
42
|
+
duplicates: Schema.Array(DuplicateSchema),
|
|
43
|
+
});
|
|
44
|
+
// =============================================================================
|
|
45
|
+
// SCHEMAS & TYPES — Cycle Config
|
|
46
|
+
// =============================================================================
|
|
47
|
+
/** Configuration for a cycle scan run. */
|
|
48
|
+
export const CycleConfigSchema = Schema.Struct({
|
|
49
|
+
taskPrompt: Schema.String,
|
|
50
|
+
scanPrompt: Schema.String,
|
|
51
|
+
name: Schema.optional(Schema.String),
|
|
52
|
+
description: Schema.optional(Schema.String),
|
|
53
|
+
cycles: Schema.optional(Schema.Number.pipe(Schema.int(), Schema.positive())),
|
|
54
|
+
maxRounds: Schema.optional(Schema.Number.pipe(Schema.int(), Schema.positive())),
|
|
55
|
+
agents: Schema.optional(Schema.Number.pipe(Schema.int(), Schema.positive())),
|
|
56
|
+
model: Schema.optional(Schema.String),
|
|
57
|
+
fix: Schema.optional(Schema.Boolean),
|
|
58
|
+
scanOnly: Schema.optional(Schema.Boolean),
|
|
59
|
+
dryRun: Schema.optional(Schema.Boolean),
|
|
60
|
+
score: Schema.optional(Schema.Number.pipe(Schema.int())),
|
|
61
|
+
});
|
|
62
|
+
// =============================================================================
|
|
63
|
+
// SCHEMAS & TYPES — Metrics
|
|
64
|
+
// =============================================================================
|
|
65
|
+
/** Metrics for a single round within a cycle. */
|
|
66
|
+
export const RoundMetricsSchema = Schema.Struct({
|
|
67
|
+
cycle: Schema.Number.pipe(Schema.int()),
|
|
68
|
+
round: Schema.Number.pipe(Schema.int()),
|
|
69
|
+
loss: Schema.Number,
|
|
70
|
+
newIssues: Schema.Number.pipe(Schema.int()),
|
|
71
|
+
existingIssues: Schema.Number.pipe(Schema.int()),
|
|
72
|
+
duplicates: Schema.Number.pipe(Schema.int()),
|
|
73
|
+
high: Schema.Number.pipe(Schema.int()),
|
|
74
|
+
medium: Schema.Number.pipe(Schema.int()),
|
|
75
|
+
low: Schema.Number.pipe(Schema.int()),
|
|
76
|
+
});
|
|
77
|
+
/** Result of a completed cycle. */
|
|
78
|
+
export const CycleResultSchema = Schema.Struct({
|
|
79
|
+
cycleRunId: Schema.String,
|
|
80
|
+
cycle: Schema.Number.pipe(Schema.int()),
|
|
81
|
+
name: Schema.String,
|
|
82
|
+
description: Schema.String,
|
|
83
|
+
rounds: Schema.Number.pipe(Schema.int()),
|
|
84
|
+
totalNewIssues: Schema.Number.pipe(Schema.int()),
|
|
85
|
+
existingIssues: Schema.Number.pipe(Schema.int()),
|
|
86
|
+
finalLoss: Schema.Number,
|
|
87
|
+
converged: Schema.Boolean,
|
|
88
|
+
});
|
|
89
|
+
//# sourceMappingURL=cycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cycle.js","sourceRoot":"","sources":["../src/cycle.ts"],"names":[],"mappings":"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"}
|
package/dist/deduplication.d.ts
CHANGED
|
@@ -3,34 +3,83 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Type definitions for JSONL line deduplication and file progress tracking.
|
|
5
5
|
* Used by the telemetry daemon to avoid re-processing already-seen content.
|
|
6
|
-
*
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Processed hash ID (auto-incremented integer).
|
|
6
|
+
* Core type definitions using Effect Schema (Doctrine Rule 10).
|
|
7
|
+
* Schema definitions provide both compile-time types and runtime validation.
|
|
10
8
|
*/
|
|
9
|
+
import { Schema } from "effect";
|
|
10
|
+
/** Processed hash ID (auto-incremented integer). */
|
|
11
11
|
export type ProcessedHashId = number;
|
|
12
|
-
/**
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
12
|
+
/** A processed JSONL line hash record. */
|
|
13
|
+
export declare const ProcessedHashSchema: Schema.Struct<{
|
|
14
|
+
id: Schema.filter<typeof Schema.Number>;
|
|
15
|
+
contentHash: typeof Schema.String;
|
|
16
|
+
sourceFile: typeof Schema.String;
|
|
17
|
+
sourceLine: Schema.filter<typeof Schema.Number>;
|
|
18
|
+
processedAt: typeof Schema.DateFromSelf;
|
|
19
|
+
}>;
|
|
20
|
+
export type ProcessedHash = typeof ProcessedHashSchema.Type;
|
|
21
|
+
/** Input for recording a processed hash. */
|
|
22
|
+
export declare const CreateProcessedHashInputSchema: Schema.Struct<{
|
|
23
|
+
contentHash: typeof Schema.String;
|
|
24
|
+
sourceFile: typeof Schema.String;
|
|
25
|
+
sourceLine: Schema.filter<typeof Schema.Number>;
|
|
26
|
+
}>;
|
|
27
|
+
export type CreateProcessedHashInput = typeof CreateProcessedHashInputSchema.Type;
|
|
28
|
+
/** File progress ID (auto-incremented integer). */
|
|
29
|
+
export type FileProgressId = number;
|
|
30
|
+
/** File processing progress record. */
|
|
31
|
+
export declare const FileProgressSchema: Schema.Struct<{
|
|
32
|
+
id: Schema.filter<typeof Schema.Number>;
|
|
33
|
+
filePath: typeof Schema.String;
|
|
34
|
+
lastLineProcessed: Schema.filter<typeof Schema.Number>;
|
|
35
|
+
lastByteOffset: Schema.filter<typeof Schema.Number>;
|
|
36
|
+
fileSize: Schema.NullOr<Schema.filter<typeof Schema.Number>>;
|
|
37
|
+
fileChecksum: Schema.NullOr<typeof Schema.String>;
|
|
38
|
+
lastProcessedAt: typeof Schema.DateFromSelf;
|
|
39
|
+
}>;
|
|
40
|
+
export type FileProgress = typeof FileProgressSchema.Type;
|
|
41
|
+
/** Input for creating/updating file progress. */
|
|
42
|
+
export declare const UpsertFileProgressInputSchema: Schema.Struct<{
|
|
43
|
+
filePath: typeof Schema.String;
|
|
44
|
+
lastLineProcessed: Schema.filter<typeof Schema.Number>;
|
|
45
|
+
lastByteOffset: Schema.filter<typeof Schema.Number>;
|
|
46
|
+
fileSize: Schema.optional<Schema.filter<typeof Schema.Number>>;
|
|
47
|
+
fileChecksum: Schema.optional<typeof Schema.String>;
|
|
48
|
+
}>;
|
|
49
|
+
export type UpsertFileProgressInput = typeof UpsertFileProgressInputSchema.Type;
|
|
50
|
+
/** Result of checking if a hash exists. */
|
|
51
|
+
export declare const HashCheckResultSchema: Schema.Struct<{
|
|
52
|
+
exists: typeof Schema.Boolean;
|
|
53
|
+
hash: typeof Schema.String;
|
|
54
|
+
}>;
|
|
55
|
+
export type HashCheckResult = typeof HashCheckResultSchema.Type;
|
|
56
|
+
/** Result of processing a JSONL line. */
|
|
57
|
+
export declare const LineProcessResultSchema: Schema.Struct<{
|
|
58
|
+
hash: typeof Schema.String;
|
|
59
|
+
isNew: typeof Schema.Boolean;
|
|
60
|
+
lineNumber: Schema.filter<typeof Schema.Number>;
|
|
61
|
+
content: typeof Schema.String;
|
|
62
|
+
}>;
|
|
63
|
+
export type LineProcessResult = typeof LineProcessResultSchema.Type;
|
|
64
|
+
/** Result of processing a file. */
|
|
65
|
+
export declare const FileProcessResultSchema: Schema.Struct<{
|
|
66
|
+
filePath: typeof Schema.String;
|
|
67
|
+
totalLines: Schema.filter<typeof Schema.Number>;
|
|
68
|
+
newLines: Schema.filter<typeof Schema.Number>;
|
|
69
|
+
skippedLines: Schema.filter<typeof Schema.Number>;
|
|
70
|
+
startLine: Schema.filter<typeof Schema.Number>;
|
|
71
|
+
endLine: Schema.filter<typeof Schema.Number>;
|
|
72
|
+
duration: typeof Schema.Number;
|
|
73
|
+
}>;
|
|
74
|
+
export type FileProcessResult = typeof FileProcessResultSchema.Type;
|
|
75
|
+
/** Options for deduplication processing. */
|
|
76
|
+
export declare const DeduplicationOptionsSchema: Schema.Struct<{
|
|
77
|
+
batchSize: Schema.optional<Schema.filter<typeof Schema.Number>>;
|
|
78
|
+
startLine: Schema.optional<Schema.filter<typeof Schema.Number>>;
|
|
79
|
+
maxLines: Schema.optional<Schema.filter<typeof Schema.Number>>;
|
|
80
|
+
}>;
|
|
81
|
+
export type DeduplicationOptions = typeof DeduplicationOptionsSchema.Type;
|
|
82
|
+
/** Database row type for processed_hashes (snake_case from SQLite). */
|
|
34
83
|
export interface ProcessedHashRow {
|
|
35
84
|
id: number;
|
|
36
85
|
content_hash: string;
|
|
@@ -38,36 +87,7 @@ export interface ProcessedHashRow {
|
|
|
38
87
|
source_line: number;
|
|
39
88
|
processed_at: string;
|
|
40
89
|
}
|
|
41
|
-
/**
|
|
42
|
-
* File progress ID (auto-incremented integer).
|
|
43
|
-
*/
|
|
44
|
-
export type FileProgressId = number;
|
|
45
|
-
/**
|
|
46
|
-
* File processing progress record.
|
|
47
|
-
* Tracks how far we've processed a JSONL file for incremental processing.
|
|
48
|
-
*/
|
|
49
|
-
export interface FileProgress {
|
|
50
|
-
readonly id: FileProgressId;
|
|
51
|
-
readonly filePath: string;
|
|
52
|
-
readonly lastLineProcessed: number;
|
|
53
|
-
readonly lastByteOffset: number;
|
|
54
|
-
readonly fileSize: number | null;
|
|
55
|
-
readonly fileChecksum: string | null;
|
|
56
|
-
readonly lastProcessedAt: Date;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Input for creating/updating file progress.
|
|
60
|
-
*/
|
|
61
|
-
export interface UpsertFileProgressInput {
|
|
62
|
-
readonly filePath: string;
|
|
63
|
-
readonly lastLineProcessed: number;
|
|
64
|
-
readonly lastByteOffset: number;
|
|
65
|
-
readonly fileSize?: number;
|
|
66
|
-
readonly fileChecksum?: string;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Database row type for file_progress (snake_case from SQLite).
|
|
70
|
-
*/
|
|
90
|
+
/** Database row type for file_progress (snake_case from SQLite). */
|
|
71
91
|
export interface FileProgressRow {
|
|
72
92
|
id: number;
|
|
73
93
|
file_path: string;
|
|
@@ -77,40 +97,4 @@ export interface FileProgressRow {
|
|
|
77
97
|
file_checksum: string | null;
|
|
78
98
|
last_processed_at: string;
|
|
79
99
|
}
|
|
80
|
-
/**
|
|
81
|
-
* Result of checking if a hash exists.
|
|
82
|
-
*/
|
|
83
|
-
export interface HashCheckResult {
|
|
84
|
-
readonly exists: boolean;
|
|
85
|
-
readonly hash: string;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Result of processing a JSONL line.
|
|
89
|
-
*/
|
|
90
|
-
export interface LineProcessResult {
|
|
91
|
-
readonly hash: string;
|
|
92
|
-
readonly isNew: boolean;
|
|
93
|
-
readonly lineNumber: number;
|
|
94
|
-
readonly content: string;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Result of processing a file.
|
|
98
|
-
*/
|
|
99
|
-
export interface FileProcessResult {
|
|
100
|
-
readonly filePath: string;
|
|
101
|
-
readonly totalLines: number;
|
|
102
|
-
readonly newLines: number;
|
|
103
|
-
readonly skippedLines: number;
|
|
104
|
-
readonly startLine: number;
|
|
105
|
-
readonly endLine: number;
|
|
106
|
-
readonly duration: number;
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Options for deduplication processing.
|
|
110
|
-
*/
|
|
111
|
-
export interface DeduplicationOptions {
|
|
112
|
-
readonly batchSize?: number;
|
|
113
|
-
readonly startLine?: number;
|
|
114
|
-
readonly maxLines?: number;
|
|
115
|
-
}
|
|
116
100
|
//# sourceMappingURL=deduplication.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deduplication.d.ts","sourceRoot":"","sources":["../src/deduplication.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"deduplication.d.ts","sourceRoot":"","sources":["../src/deduplication.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAM/B,oDAAoD;AACpD,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;AAErC,0CAA0C;AAC1C,eAAO,MAAM,mBAAmB;;;;;;EAM9B,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAA;AAE3D,4CAA4C;AAC5C,eAAO,MAAM,8BAA8B;;;;EAIzC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,OAAO,8BAA8B,CAAC,IAAI,CAAA;AAEjF,mDAAmD;AACnD,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AAEpC,uCAAuC;AACvC,eAAO,MAAM,kBAAkB;;;;;;;;EAQ7B,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAA;AAEzD,iDAAiD;AACjD,eAAO,MAAM,6BAA6B;;;;;;EAMxC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,OAAO,6BAA6B,CAAC,IAAI,CAAA;AAE/E,2CAA2C;AAC3C,eAAO,MAAM,qBAAqB;;;EAGhC,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAE/D,yCAAyC;AACzC,eAAO,MAAM,uBAAuB;;;;;EAKlC,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAEnE,mCAAmC;AACnC,eAAO,MAAM,uBAAuB;;;;;;;;EAQlC,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAEnE,4CAA4C;AAC5C,eAAO,MAAM,0BAA0B;;;;EAIrC,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,OAAO,0BAA0B,CAAC,IAAI,CAAA;AAMzE,uEAAuE;AACvE,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,oEAAoE;AACpE,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;CAC3B"}
|
package/dist/deduplication.js
CHANGED
|
@@ -3,7 +3,68 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Type definitions for JSONL line deduplication and file progress tracking.
|
|
5
5
|
* Used by the telemetry daemon to avoid re-processing already-seen content.
|
|
6
|
-
*
|
|
6
|
+
* Core type definitions using Effect Schema (Doctrine Rule 10).
|
|
7
|
+
* Schema definitions provide both compile-time types and runtime validation.
|
|
7
8
|
*/
|
|
8
|
-
|
|
9
|
+
import { Schema } from "effect";
|
|
10
|
+
/** A processed JSONL line hash record. */
|
|
11
|
+
export const ProcessedHashSchema = Schema.Struct({
|
|
12
|
+
id: Schema.Number.pipe(Schema.int()),
|
|
13
|
+
contentHash: Schema.String,
|
|
14
|
+
sourceFile: Schema.String,
|
|
15
|
+
sourceLine: Schema.Number.pipe(Schema.int()),
|
|
16
|
+
processedAt: Schema.DateFromSelf,
|
|
17
|
+
});
|
|
18
|
+
/** Input for recording a processed hash. */
|
|
19
|
+
export const CreateProcessedHashInputSchema = Schema.Struct({
|
|
20
|
+
contentHash: Schema.String,
|
|
21
|
+
sourceFile: Schema.String,
|
|
22
|
+
sourceLine: Schema.Number.pipe(Schema.int()),
|
|
23
|
+
});
|
|
24
|
+
/** File processing progress record. */
|
|
25
|
+
export const FileProgressSchema = Schema.Struct({
|
|
26
|
+
id: Schema.Number.pipe(Schema.int()),
|
|
27
|
+
filePath: Schema.String,
|
|
28
|
+
lastLineProcessed: Schema.Number.pipe(Schema.int()),
|
|
29
|
+
lastByteOffset: Schema.Number.pipe(Schema.int()),
|
|
30
|
+
fileSize: Schema.NullOr(Schema.Number.pipe(Schema.int())),
|
|
31
|
+
fileChecksum: Schema.NullOr(Schema.String),
|
|
32
|
+
lastProcessedAt: Schema.DateFromSelf,
|
|
33
|
+
});
|
|
34
|
+
/** Input for creating/updating file progress. */
|
|
35
|
+
export const UpsertFileProgressInputSchema = Schema.Struct({
|
|
36
|
+
filePath: Schema.String,
|
|
37
|
+
lastLineProcessed: Schema.Number.pipe(Schema.int()),
|
|
38
|
+
lastByteOffset: Schema.Number.pipe(Schema.int()),
|
|
39
|
+
fileSize: Schema.optional(Schema.Number.pipe(Schema.int())),
|
|
40
|
+
fileChecksum: Schema.optional(Schema.String),
|
|
41
|
+
});
|
|
42
|
+
/** Result of checking if a hash exists. */
|
|
43
|
+
export const HashCheckResultSchema = Schema.Struct({
|
|
44
|
+
exists: Schema.Boolean,
|
|
45
|
+
hash: Schema.String,
|
|
46
|
+
});
|
|
47
|
+
/** Result of processing a JSONL line. */
|
|
48
|
+
export const LineProcessResultSchema = Schema.Struct({
|
|
49
|
+
hash: Schema.String,
|
|
50
|
+
isNew: Schema.Boolean,
|
|
51
|
+
lineNumber: Schema.Number.pipe(Schema.int()),
|
|
52
|
+
content: Schema.String,
|
|
53
|
+
});
|
|
54
|
+
/** Result of processing a file. */
|
|
55
|
+
export const FileProcessResultSchema = Schema.Struct({
|
|
56
|
+
filePath: Schema.String,
|
|
57
|
+
totalLines: Schema.Number.pipe(Schema.int()),
|
|
58
|
+
newLines: Schema.Number.pipe(Schema.int()),
|
|
59
|
+
skippedLines: Schema.Number.pipe(Schema.int()),
|
|
60
|
+
startLine: Schema.Number.pipe(Schema.int()),
|
|
61
|
+
endLine: Schema.Number.pipe(Schema.int()),
|
|
62
|
+
duration: Schema.Number,
|
|
63
|
+
});
|
|
64
|
+
/** Options for deduplication processing. */
|
|
65
|
+
export const DeduplicationOptionsSchema = Schema.Struct({
|
|
66
|
+
batchSize: Schema.optional(Schema.Number.pipe(Schema.int())),
|
|
67
|
+
startLine: Schema.optional(Schema.Number.pipe(Schema.int())),
|
|
68
|
+
maxLines: Schema.optional(Schema.Number.pipe(Schema.int())),
|
|
69
|
+
});
|
|
9
70
|
//# sourceMappingURL=deduplication.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deduplication.js","sourceRoot":"","sources":["../src/deduplication.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"deduplication.js","sourceRoot":"","sources":["../src/deduplication.ts"],"names":[],"mappings":"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"}
|