tldr-experts 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +994 -0
- package/README.md +26 -7
- package/dist/hooks/answer-capture.js +20 -11
- package/dist/hooks/budget-gate.js +28 -8
- package/dist/hooks/chunk-0z27twdk.js +159 -0
- package/dist/hooks/{chunk-0bt6yb2q.js → chunk-39zh2e44.js} +10 -1
- package/dist/hooks/{chunk-1zwcxd3f.js → chunk-3g61yg59.js} +1 -1
- package/dist/hooks/chunk-3t91gvpp.js +193 -0
- package/dist/hooks/{chunk-kw4tffzf.js → chunk-458wgg9j.js} +30 -24
- package/dist/hooks/{chunk-j234zf0t.js → chunk-9kkm6q0t.js} +4 -165
- package/dist/hooks/{chunk-t8tdv11p.js → chunk-afamdvyn.js} +1 -1
- package/dist/hooks/{chunk-a8p2rc94.js → chunk-s5qsb4k6.js} +1 -1
- package/dist/hooks/{chunk-g395gk7e.js → chunk-sznsenee.js} +1 -1
- package/dist/hooks/{chunk-y0jdr3et.js → chunk-xpxe94qe.js} +23 -10
- package/dist/hooks/{chunk-azctppjh.js → chunk-ybacnpxd.js} +4 -1
- package/dist/hooks/{chunk-x98qs959.js → chunk-ytvmc5ns.js} +19 -22
- package/dist/hooks/chunk-zdxgragg.js +1655 -0
- package/dist/hooks/{chunk-p274ckxv.js → chunk-ztczwtj0.js} +6 -1
- package/dist/hooks/claim-sources.js +9 -9
- package/dist/hooks/dod-gate.js +12 -37
- package/dist/hooks/no-reask.js +9 -9
- package/dist/hooks/session-start.js +176 -422
- package/dist/hooks/statusline.js +14 -11
- package/dist/tldrx.js +12029 -6330
- package/package.json +1 -1
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/skills/tldrx/SKILL.md +16 -3
- package/stages/build/stage.md +5 -0
- package/templates/budget.yml +5 -0
- package/dist/hooks/chunk-ae6bkfs5.js +0 -0
- package/dist/hooks/chunk-sdjnnmzz.js +0 -497
- package/dist/hooks/chunk-t56k6146.js +0 -14
|
@@ -7352,6 +7352,7 @@ function loadWorkspace(root) {
|
|
|
7352
7352
|
const repos = new Map;
|
|
7353
7353
|
const commands = new Set;
|
|
7354
7354
|
const repoCommands = new Map;
|
|
7355
|
+
const commandRoles = new Map;
|
|
7355
7356
|
const defaultBranches = new Map;
|
|
7356
7357
|
let seedTriageThresholdTokens = null;
|
|
7357
7358
|
const empty = () => ({
|
|
@@ -7359,6 +7360,7 @@ function loadWorkspace(root) {
|
|
|
7359
7360
|
repos,
|
|
7360
7361
|
commands,
|
|
7361
7362
|
repoCommands,
|
|
7363
|
+
commandRoles,
|
|
7362
7364
|
defaultBranches,
|
|
7363
7365
|
seedTriageThresholdTokens
|
|
7364
7366
|
});
|
|
@@ -7387,17 +7389,20 @@ function loadWorkspace(root) {
|
|
|
7387
7389
|
repos.set(entry.name, typeof entry.path === "string" ? entry.path : ".");
|
|
7388
7390
|
defaultBranches.set(entry.name, typeof entry.default_branch === "string" && entry.default_branch !== "" ? entry.default_branch : FALLBACK_DEFAULT_BRANCH);
|
|
7389
7391
|
const own = [];
|
|
7392
|
+
const roles = new Map;
|
|
7390
7393
|
const cmds = entry.commands;
|
|
7391
7394
|
if (cmds !== null && typeof cmds === "object") {
|
|
7392
|
-
for (const value of Object.
|
|
7395
|
+
for (const [role, value] of Object.entries(cmds)) {
|
|
7393
7396
|
if (typeof value !== "string" || value.trim() === "")
|
|
7394
7397
|
continue;
|
|
7395
7398
|
commands.add(value);
|
|
7399
|
+
roles.set(role, value);
|
|
7396
7400
|
if (!own.includes(value))
|
|
7397
7401
|
own.push(value);
|
|
7398
7402
|
}
|
|
7399
7403
|
}
|
|
7400
7404
|
repoCommands.set(entry.name, own);
|
|
7405
|
+
commandRoles.set(entry.name, roles);
|
|
7401
7406
|
}
|
|
7402
7407
|
return empty();
|
|
7403
7408
|
}
|
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
wouldBeContent
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-afamdvyn.js";
|
|
5
5
|
import {
|
|
6
6
|
claimSourcesDeny,
|
|
7
7
|
claimSourcesEmptySectionDeny,
|
|
8
8
|
claimSourcesMalformedDeny,
|
|
9
9
|
claimSourcesUnresolvedDeny
|
|
10
10
|
} from "./chunk-9gb21660.js";
|
|
11
|
-
import {
|
|
12
|
-
isHandoff,
|
|
13
|
-
validateHandoff
|
|
14
|
-
} from "./chunk-kw4tffzf.js";
|
|
15
11
|
import {
|
|
16
12
|
allow,
|
|
17
13
|
deny,
|
|
@@ -20,14 +16,18 @@ import {
|
|
|
20
16
|
postContext,
|
|
21
17
|
readPayload,
|
|
22
18
|
runHook
|
|
23
|
-
} from "./chunk-
|
|
24
|
-
import"./chunk-
|
|
25
|
-
import
|
|
19
|
+
} from "./chunk-3g61yg59.js";
|
|
20
|
+
import"./chunk-s5qsb4k6.js";
|
|
21
|
+
import {
|
|
22
|
+
isHandoff,
|
|
23
|
+
validateHandoff
|
|
24
|
+
} from "./chunk-458wgg9j.js";
|
|
25
|
+
import"./chunk-sznsenee.js";
|
|
26
26
|
import {
|
|
27
27
|
loadWorkspace,
|
|
28
28
|
locateWork,
|
|
29
29
|
toSrcContext
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-ztczwtj0.js";
|
|
31
31
|
|
|
32
32
|
// src/hooks/claim-sources.ts
|
|
33
33
|
await runHook("claim-sources", async () => {
|
package/dist/hooks/dod-gate.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
wouldBeContent
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-afamdvyn.js";
|
|
5
5
|
import {
|
|
6
6
|
dodGateDeny,
|
|
7
7
|
dodGateInternalErrorDeny,
|
|
@@ -15,54 +15,29 @@ import {
|
|
|
15
15
|
filePathOf,
|
|
16
16
|
isWriteOrEdit,
|
|
17
17
|
readPayload
|
|
18
|
-
} from "./chunk-
|
|
19
|
-
import"./chunk-
|
|
20
|
-
import
|
|
21
|
-
|
|
18
|
+
} from "./chunk-3g61yg59.js";
|
|
19
|
+
import"./chunk-s5qsb4k6.js";
|
|
20
|
+
import {
|
|
21
|
+
parseDodBlock
|
|
22
|
+
} from "./chunk-0z27twdk.js";
|
|
23
|
+
import"./chunk-39zh2e44.js";
|
|
22
24
|
import {
|
|
23
25
|
loadWorkspace,
|
|
24
26
|
locateWork,
|
|
25
27
|
repoPath,
|
|
26
28
|
runtime
|
|
27
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-ztczwtj0.js";
|
|
28
30
|
|
|
29
31
|
// src/hooks/dod-gate.ts
|
|
30
32
|
import { basename, join } from "node:path";
|
|
31
33
|
import { existsSync } from "node:fs";
|
|
32
34
|
|
|
33
|
-
// src/core/schemas/story.ts
|
|
34
|
-
var FENCE_OPEN_RE = /^\s*```+\s*dod\s*$/i;
|
|
35
|
-
var FENCE_CLOSE_RE = /^\s*```+\s*$/;
|
|
36
|
-
function parseDodBlock(text) {
|
|
37
|
-
const commands = [];
|
|
38
|
-
let present = false;
|
|
39
|
-
let inside = false;
|
|
40
|
-
for (const line of text.split(`
|
|
41
|
-
`)) {
|
|
42
|
-
if (inside) {
|
|
43
|
-
if (FENCE_CLOSE_RE.test(line)) {
|
|
44
|
-
inside = false;
|
|
45
|
-
continue;
|
|
46
|
-
}
|
|
47
|
-
const command = line.trim();
|
|
48
|
-
if (command !== "" && !command.startsWith("#"))
|
|
49
|
-
commands.push(command);
|
|
50
|
-
continue;
|
|
51
|
-
}
|
|
52
|
-
if (FENCE_OPEN_RE.test(line)) {
|
|
53
|
-
present = true;
|
|
54
|
-
inside = true;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return { present, commands };
|
|
58
|
-
}
|
|
59
|
-
|
|
60
35
|
// src/hooks/lib/story.ts
|
|
61
36
|
var DONE_RE = /^\s*(?:[-*]\s*)?(?:\*\*)?status(?:\*\*)?\s*:\s*["'`]?done["'`]?\.?\s*$/i;
|
|
62
37
|
var REPO_RE = /^\s*(?:[-*]\s*)?(?:\*\*)?repo(?:\*\*)?\s*:\s*["'`]?([A-Za-z0-9._-]{1,64})["'`]?\s*$/i;
|
|
63
38
|
var TIMEOUT_RE = /^\s*(?:[-*]\s*)?(?:\*\*)?timeout_s(?:\*\*)?\s*:\s*(\d{1,6})\s*$/i;
|
|
64
|
-
var
|
|
65
|
-
var
|
|
39
|
+
var FENCE_OPEN_RE = /^\s*```+\s*dod\s*$/i;
|
|
40
|
+
var FENCE_CLOSE_RE = /^\s*```+\s*$/;
|
|
66
41
|
function readStory(text) {
|
|
67
42
|
const lines = text.split(`
|
|
68
43
|
`);
|
|
@@ -73,11 +48,11 @@ function readStory(text) {
|
|
|
73
48
|
let inDod = false;
|
|
74
49
|
for (const line of lines) {
|
|
75
50
|
if (inDod) {
|
|
76
|
-
if (
|
|
51
|
+
if (FENCE_CLOSE_RE.test(line))
|
|
77
52
|
inDod = false;
|
|
78
53
|
continue;
|
|
79
54
|
}
|
|
80
|
-
if (
|
|
55
|
+
if (FENCE_OPEN_RE.test(line)) {
|
|
81
56
|
inDod = true;
|
|
82
57
|
continue;
|
|
83
58
|
}
|
package/dist/hooks/no-reask.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
wouldBeContent
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-afamdvyn.js";
|
|
5
5
|
import {
|
|
6
6
|
noReAskDeny
|
|
7
7
|
} from "./chunk-9gb21660.js";
|
|
8
8
|
import {
|
|
9
9
|
FactsStore
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-ytvmc5ns.js";
|
|
11
11
|
import {
|
|
12
12
|
allow,
|
|
13
13
|
deny,
|
|
@@ -15,19 +15,19 @@ import {
|
|
|
15
15
|
isWriteOrEdit,
|
|
16
16
|
readPayload,
|
|
17
17
|
runHook
|
|
18
|
-
} from "./chunk-
|
|
19
|
-
import"./chunk-
|
|
18
|
+
} from "./chunk-3g61yg59.js";
|
|
19
|
+
import"./chunk-s5qsb4k6.js";
|
|
20
|
+
import"./chunk-9kkm6q0t.js";
|
|
20
21
|
import {
|
|
21
22
|
openBlocks,
|
|
22
23
|
parseQuestions
|
|
23
|
-
} from "./chunk-
|
|
24
|
-
import"./chunk-
|
|
25
|
-
import"./chunk-
|
|
26
|
-
import"./chunk-0bt6yb2q.js";
|
|
24
|
+
} from "./chunk-3t91gvpp.js";
|
|
25
|
+
import"./chunk-sznsenee.js";
|
|
26
|
+
import"./chunk-39zh2e44.js";
|
|
27
27
|
import {
|
|
28
28
|
factsPath,
|
|
29
29
|
locateWork
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-ztczwtj0.js";
|
|
31
31
|
|
|
32
32
|
// src/hooks/no-reask.ts
|
|
33
33
|
import { existsSync, readFileSync } from "node:fs";
|