@event4u/agent-config 17.1.0 → 17.2.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/.augment-plugin/marketplace.json +3 -3
- package/.augment-plugin/plugin.json +1 -1
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +92 -0
- package/README.md +2 -2
- package/dist/agent-src/commands/project/analyze.md +9 -6
- package/dist/agent-src/commands/project/map.md +58 -0
- package/dist/agent-src/commands/project.md +5 -3
- package/dist/agent-src/skills/code-intelligence/SKILL.md +6 -0
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/cli/registry.js +1 -1
- package/dist/cli-delegate/cmd_conformance.js +23 -39
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +39 -13
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +3 -3
- package/dist/discovery/dormancy-report.md +1 -1
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +6 -5
- package/dist/discovery/trust-report.md +2 -2
- package/dist/discovery/workspaces.json +5 -4
- package/dist/hooks/dispatch.js +65 -74
- package/dist/hooks/dispatch.sha256 +1 -1
- package/dist/hooks/instructions_observer.chunk.cjs +301 -0
- package/dist/hooks/instructions_observer.chunk.cjs.sha256 +1 -0
- package/dist/mcp/registry-manifest.json +2 -2
- package/dist/mcp/server.json +2 -2
- package/dist/mcp/server.mjs +33058 -22930
- package/package.json +4 -1
- package/src/config/continuity-surface.json +7 -0
- package/src/config/evaluator-budgets.json +4 -4
- package/src/config/gate-violation-baselines.json +3 -3
- package/src/config/gitignore-block.txt +6 -0
- package/src/config/hook-bundle-budget.json +17 -2
- package/src/config/hook-token-budget.json +1 -1
- package/src/config/packed-binary-manifest.json +27 -0
- package/src/config/skill-body-budget.json +7 -1
- package/src/scripts/_lib/bench_ab_complexity.ts +14 -2
- package/src/scripts/_lib/collector_record.ts +1 -0
- package/src/scripts/_lib/runtime_journal.ts +7 -7
- package/src/scripts/code_graph/build.ts +210 -10
- package/src/scripts/code_graph/cli.ts +168 -46
- package/src/scripts/code_graph/detect.ts +5 -4
- package/src/scripts/code_graph/docs_layer.ts +57 -0
- package/src/scripts/code_graph/extract.ts +58 -13
- package/src/scripts/code_graph/extract_more.ts +314 -0
- package/src/scripts/code_graph/laravel_overlay.ts +454 -0
- package/src/scripts/code_graph/map.ts +846 -0
- package/src/scripts/code_graph/map_model.ts +977 -0
- package/src/scripts/code_graph/map_verify.ts +140 -0
- package/src/scripts/code_graph/map_viewer/viewer.css +278 -0
- package/src/scripts/code_graph/map_viewer/viewer.js +756 -0
- package/src/scripts/code_graph/scip_reader.ts +201 -0
- package/src/scripts/code_graph/sqlite_store.ts +8 -1
- package/src/scripts/code_graph/types.ts +81 -15
- package/src/scripts/code_graph/validate.ts +16 -26
- package/src/scripts/code_graph/verbs.ts +7 -0
- package/src/scripts/hook_chunks.mjs +7 -0
- package/src/scripts/hook_manifest.json +1 -1
- package/src/scripts/hook_manifest.yaml +20 -0
- package/src/scripts/hooks/dispatch_hook.ts +2 -2
- package/src/scripts/hooks/instructions_observer_hook.ts +25 -6
- package/src/scripts/hooks/lazy_concern.ts +4 -0
- package/src/scripts/install-hooks.sh +5 -0
- package/src/scripts/lint_agents_layout.ts +2 -0
- package/src/scripts/lint_hook_manifest.ts +1 -0
- package/src/scripts/mcp_server/consumer_tool_catalog.json +53 -6
- package/src/scripts/mcp_server/graph_tools.ts +73 -1
- package/src/scripts/mcp_server/tools.ts +19 -36
- package/src/vendor/grammars/README.md +10 -5
- package/src/vendor/grammars/tree-sitter-go.wasm +0 -0
- package/src/vendor/grammars/tree-sitter-java.wasm +0 -0
- package/src/vendor/grammars/tree-sitter-python.wasm +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Discovery Manifest — Summary
|
|
2
2
|
|
|
3
|
-
- Generated: `2026-10-
|
|
3
|
+
- Generated: `2026-10-23T14:16:10Z`
|
|
4
4
|
- Scanner: `de0a22b4ac4c`
|
|
5
|
-
- Artefacts: **
|
|
5
|
+
- Artefacts: **637**
|
|
6
6
|
- Unassigned: **0**
|
|
7
7
|
|
|
8
8
|
## `engineering` — Engineering
|
|
@@ -106,7 +106,7 @@
|
|
|
106
106
|
|
|
107
107
|
| Pack | Artefacts |
|
|
108
108
|
|---|---|
|
|
109
|
-
| `meta` — Meta |
|
|
109
|
+
| `meta` — Meta | 308 |
|
|
110
110
|
| `memory` — Memory | 8 |
|
|
111
111
|
| `analytics` — Analytics | 4 |
|
|
112
112
|
| `product-reasoning` — Product Reasoning | 12 |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"checksum": "sha256:
|
|
3
|
-
"generated_at": "2026-10-
|
|
2
|
+
"checksum": "sha256:78594c2e14f67a1cb0b14a85d62c2ccdc967977ab6bf4bf0f1a869d1a91d4e35",
|
|
3
|
+
"generated_at": "2026-10-23T14:16:10Z",
|
|
4
4
|
"packs": [
|
|
5
5
|
{
|
|
6
6
|
"always_on": false,
|
|
@@ -1388,7 +1388,7 @@
|
|
|
1388
1388
|
},
|
|
1389
1389
|
{
|
|
1390
1390
|
"always_on": true,
|
|
1391
|
-
"artefact_count":
|
|
1391
|
+
"artefact_count": 308,
|
|
1392
1392
|
"artefacts": [
|
|
1393
1393
|
"src/agent-src/templates/agents/proposal.example.md",
|
|
1394
1394
|
"src/domains/ai-video/image/analyse/command.md",
|
|
@@ -1441,6 +1441,7 @@
|
|
|
1441
1441
|
"src/domains/engineering-base/project/analyze/command.md",
|
|
1442
1442
|
"src/domains/engineering-base/project/command.md",
|
|
1443
1443
|
"src/domains/engineering-base/project/health/command.md",
|
|
1444
|
+
"src/domains/engineering-base/project/map/command.md",
|
|
1444
1445
|
"src/domains/engineering-base/review/changes/command.md",
|
|
1445
1446
|
"src/domains/engineering-base/review/command.md",
|
|
1446
1447
|
"src/domains/engineering-base/review/routing/command.md",
|
|
@@ -1699,14 +1700,14 @@
|
|
|
1699
1700
|
"src/skills/verify-repair-loop/SKILL.md"
|
|
1700
1701
|
],
|
|
1701
1702
|
"by_lifecycle": {
|
|
1702
|
-
"active":
|
|
1703
|
+
"active": 307,
|
|
1703
1704
|
"archived": 0,
|
|
1704
1705
|
"deprecated": 0,
|
|
1705
1706
|
"experimental": 1
|
|
1706
1707
|
},
|
|
1707
1708
|
"by_trust_level": {
|
|
1708
1709
|
"advisory": 0,
|
|
1709
|
-
"core":
|
|
1710
|
+
"core": 306,
|
|
1710
1711
|
"experimental": 2,
|
|
1711
1712
|
"professional": 0,
|
|
1712
1713
|
"restricted": 0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Discovery — Trust Report
|
|
2
2
|
|
|
3
|
-
- Generated: `2026-10-
|
|
3
|
+
- Generated: `2026-10-23T14:16:10Z`
|
|
4
4
|
- Workspaces tracked: **10**
|
|
5
5
|
- Human-review-required artefacts: **3**
|
|
6
6
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
| Workspace | core | professional | experimental | advisory | restricted |
|
|
10
10
|
|---|---|---|---|---|---|
|
|
11
|
-
| `agent-config-maintainer` |
|
|
11
|
+
| `agent-config-maintainer` | 339 | 0 | 3 | 0 | 0 |
|
|
12
12
|
| `construction` | 27 | 0 | 0 | 0 | 0 |
|
|
13
13
|
| `engineering` | 207 | 63 | 5 | 0 | 0 |
|
|
14
14
|
| `finance` | 30 | 4 | 0 | 1 | 0 |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"checksum": "sha256:
|
|
3
|
-
"generated_at": "2026-10-
|
|
2
|
+
"checksum": "sha256:78594c2e14f67a1cb0b14a85d62c2ccdc967977ab6bf4bf0f1a869d1a91d4e35",
|
|
3
|
+
"generated_at": "2026-10-23T14:16:10Z",
|
|
4
4
|
"scanner_version": "de0a22b4ac4c",
|
|
5
5
|
"workspaces": [
|
|
6
6
|
{
|
|
@@ -655,7 +655,7 @@
|
|
|
655
655
|
]
|
|
656
656
|
},
|
|
657
657
|
{
|
|
658
|
-
"artefact_count":
|
|
658
|
+
"artefact_count": 332,
|
|
659
659
|
"default_packs": [
|
|
660
660
|
"meta",
|
|
661
661
|
"memory",
|
|
@@ -668,7 +668,7 @@
|
|
|
668
668
|
"optional_packs": [],
|
|
669
669
|
"packs": [
|
|
670
670
|
{
|
|
671
|
-
"artefact_count":
|
|
671
|
+
"artefact_count": 308,
|
|
672
672
|
"artefacts": [
|
|
673
673
|
"src/agent-src/templates/agents/proposal.example.md",
|
|
674
674
|
"src/domains/ai-video/image/analyse/command.md",
|
|
@@ -721,6 +721,7 @@
|
|
|
721
721
|
"src/domains/engineering-base/project/analyze/command.md",
|
|
722
722
|
"src/domains/engineering-base/project/command.md",
|
|
723
723
|
"src/domains/engineering-base/project/health/command.md",
|
|
724
|
+
"src/domains/engineering-base/project/map/command.md",
|
|
724
725
|
"src/domains/engineering-base/review/changes/command.md",
|
|
725
726
|
"src/domains/engineering-base/review/command.md",
|
|
726
727
|
"src/domains/engineering-base/review/routing/command.md",
|
package/dist/hooks/dispatch.js
CHANGED
|
@@ -9073,9 +9073,9 @@ function observeAssetRender(root, command, exitCode, shellCwd = root) {
|
|
|
9073
9073
|
if (cd && !PLAIN_WORD.test(cd[1].trim())) return null;
|
|
9074
9074
|
const cwd = path8.resolve(shellCwd, cd ? unquote(cd[1].trim()) : ".");
|
|
9075
9075
|
const head = command.replace(/^\s*cd\s+[^;&|<>`$\n]+&&\s*/, "").replace(/\s\d?>&\d\b/g, " ").replace(/\s2>\s*\/dev\/null\b/g, " ").split("|")[0] ?? "";
|
|
9076
|
-
const
|
|
9077
|
-
if (!
|
|
9078
|
-
const tokens =
|
|
9076
|
+
const words3 = head.trim().split(/\s+/);
|
|
9077
|
+
if (!words3.every((w) => PLAIN_WORD.test(w))) return null;
|
|
9078
|
+
const tokens = words3.map(unquote);
|
|
9079
9079
|
const at = tokens.findIndex((t) => t === "ui:render");
|
|
9080
9080
|
if (at === -1) return null;
|
|
9081
9081
|
const opts = /* @__PURE__ */ new Map();
|
|
@@ -27729,8 +27729,8 @@ var VISUAL_RUNNERS = /* @__PURE__ */ new Set(["playwright", "test-storybook"]);
|
|
|
27729
27729
|
var LAUNCHERS = /* @__PURE__ */ new Set(["npx", "bunx", "pnpx"]);
|
|
27730
27730
|
var PACKAGE_MANAGERS = /* @__PURE__ */ new Set(["npm", "pnpm", "yarn", "bun"]);
|
|
27731
27731
|
var VALUE_OPTIONS2 = /* @__PURE__ */ new Set(["-p", "--package", "--filter", "-F", "-C", "--dir", "--cwd", "-u", "--unset", "--chdir"]);
|
|
27732
|
-
function runsSnapshotUpdate(
|
|
27733
|
-
const at = (k) =>
|
|
27732
|
+
function runsSnapshotUpdate(words3) {
|
|
27733
|
+
const at = (k) => words3[k] ?? "";
|
|
27734
27734
|
let i = 0;
|
|
27735
27735
|
const skipOptions = () => {
|
|
27736
27736
|
while (at(i).startsWith("-") || /^[A-Za-z_]\w*=/.test(at(i))) i += VALUE_OPTIONS2.has(at(i)) ? 2 : 1;
|
|
@@ -27754,22 +27754,22 @@ function runsSnapshotUpdate(words2) {
|
|
|
27754
27754
|
}
|
|
27755
27755
|
skipOptions();
|
|
27756
27756
|
if (!VISUAL_RUNNERS.has(at(i).split("/").pop() ?? "")) return false;
|
|
27757
|
-
const args =
|
|
27757
|
+
const args = words3.slice(i + 1);
|
|
27758
27758
|
return !args.some((w) => /^(--list|--help|-h|--version)$/.test(w)) && args.some((w) => w === "-u" || /^--update-snapshots(=(?!(false|none)$).+)?$/.test(w));
|
|
27759
27759
|
}
|
|
27760
27760
|
function shellSegments(command) {
|
|
27761
27761
|
const segments = [];
|
|
27762
|
-
let
|
|
27762
|
+
let words3 = [];
|
|
27763
27763
|
let word = null;
|
|
27764
27764
|
let quote = null;
|
|
27765
27765
|
const endWord = () => {
|
|
27766
|
-
if (word !== null)
|
|
27766
|
+
if (word !== null) words3.push(word);
|
|
27767
27767
|
word = null;
|
|
27768
27768
|
};
|
|
27769
27769
|
const endSegment = () => {
|
|
27770
27770
|
endWord();
|
|
27771
|
-
if (
|
|
27772
|
-
|
|
27771
|
+
if (words3.length > 0) segments.push(words3);
|
|
27772
|
+
words3 = [];
|
|
27773
27773
|
};
|
|
27774
27774
|
for (let i = 0; i < command.length; i++) {
|
|
27775
27775
|
const c = command[i] ?? "";
|
|
@@ -28444,13 +28444,13 @@ var WRAPPERS = /* @__PURE__ */ new Set([
|
|
|
28444
28444
|
]);
|
|
28445
28445
|
var NON_READING_GIT = /* @__PURE__ */ new Set(["add", "rm", "mv", "check-ignore", "ls-files", "status"]);
|
|
28446
28446
|
function commandWords(segment) {
|
|
28447
|
-
const
|
|
28447
|
+
const words3 = [];
|
|
28448
28448
|
let word = "";
|
|
28449
28449
|
let inWord = false;
|
|
28450
28450
|
for (let i = 0; i < segment.length; i += 1) {
|
|
28451
28451
|
const ch = segment[i];
|
|
28452
28452
|
if (/\s/.test(ch)) {
|
|
28453
|
-
if (inWord)
|
|
28453
|
+
if (inWord) words3.push(word);
|
|
28454
28454
|
word = "";
|
|
28455
28455
|
inWord = false;
|
|
28456
28456
|
continue;
|
|
@@ -28478,8 +28478,8 @@ function commandWords(segment) {
|
|
|
28478
28478
|
word += ch;
|
|
28479
28479
|
}
|
|
28480
28480
|
}
|
|
28481
|
-
if (inWord)
|
|
28482
|
-
return
|
|
28481
|
+
if (inWord) words3.push(word);
|
|
28482
|
+
return words3;
|
|
28483
28483
|
}
|
|
28484
28484
|
var ASSIGNMENT = /^[A-Za-z_][A-Za-z0-9_]*=/;
|
|
28485
28485
|
var VARIABLE_NAME = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
@@ -28512,8 +28512,8 @@ function mentionIn(text, host2) {
|
|
|
28512
28512
|
}
|
|
28513
28513
|
return null;
|
|
28514
28514
|
}
|
|
28515
|
-
function credentialAmong(
|
|
28516
|
-
for (const w of
|
|
28515
|
+
function credentialAmong(words3, host2) {
|
|
28516
|
+
for (const w of words3) {
|
|
28517
28517
|
const v = mentionIn(w, host2);
|
|
28518
28518
|
if (v !== null) return v;
|
|
28519
28519
|
}
|
|
@@ -28571,11 +28571,11 @@ function copySources(args) {
|
|
|
28571
28571
|
return targetGiven ? operands : operands.slice(0, -1);
|
|
28572
28572
|
}
|
|
28573
28573
|
function segmentVerdict(segment, host2 = HOST, depth = 0) {
|
|
28574
|
-
const
|
|
28574
|
+
const words3 = commandWords(segment);
|
|
28575
28575
|
let i = 0;
|
|
28576
|
-
while (i <
|
|
28577
|
-
const cmd = base(
|
|
28578
|
-
const args =
|
|
28576
|
+
while (i < words3.length && ASSIGNMENT.test(words3[i])) i += 1;
|
|
28577
|
+
const cmd = base(words3[i] ?? "");
|
|
28578
|
+
const args = words3.slice(i + 1);
|
|
28579
28579
|
if (WRAPPERS.has(cmd)) {
|
|
28580
28580
|
if (args.some((a) => base(a) === "env" || base(a) === "printenv")) {
|
|
28581
28581
|
return { class: "process-environment", what: `\`${cmd} \u2026 env\`` };
|
|
@@ -30136,10 +30136,10 @@ var SLOP_RULES = [
|
|
|
30136
30136
|
message: "Em-dash density above ~2 per 500 words is the #1 LLM syntactic tell (CP1).",
|
|
30137
30137
|
detect: ({ content, ext }) => {
|
|
30138
30138
|
const text = visibleText(content, ext);
|
|
30139
|
-
const
|
|
30139
|
+
const words3 = (text.match(/\S+/g) ?? []).length;
|
|
30140
30140
|
const dashes = (text.match(/—/g) ?? []).length;
|
|
30141
|
-
if (
|
|
30142
|
-
return [{ line: 1, snippet: `${dashes} em-dashes in ~${
|
|
30141
|
+
if (words3 >= 80 && dashes > Math.max(2, Math.round(words3 / 500 * 2))) {
|
|
30142
|
+
return [{ line: 1, snippet: `${dashes} em-dashes in ~${words3} words` }];
|
|
30143
30143
|
}
|
|
30144
30144
|
return [];
|
|
30145
30145
|
}
|
|
@@ -31088,19 +31088,11 @@ import * as fs82 from "node:fs";
|
|
|
31088
31088
|
import * as path86 from "node:path";
|
|
31089
31089
|
|
|
31090
31090
|
// src/scripts/code_graph/types.ts
|
|
31091
|
-
var GUESS_RESOLVED_VIA = /* @__PURE__ */ new Set([
|
|
31092
|
-
"name-lookup",
|
|
31093
|
-
"dynamic",
|
|
31094
|
-
// The accepted-edge filter is a DENYLIST, so a new value is accepted by
|
|
31095
|
-
// default — which is exactly backwards for this one. `foreign` must be
|
|
31096
|
-
// listed here or a consumer's graph would silently answer the gate verbs
|
|
31097
|
-
// as if this package had resolved its edges.
|
|
31098
|
-
"foreign"
|
|
31099
|
-
]);
|
|
31091
|
+
var GUESS_RESOLVED_VIA = /* @__PURE__ */ new Set(["name-lookup", "dynamic", "foreign"]);
|
|
31100
31092
|
function isStatedResolution(resolved_via) {
|
|
31101
31093
|
return !GUESS_RESOLVED_VIA.has(resolved_via);
|
|
31102
31094
|
}
|
|
31103
|
-
var SCHEMA_VERSION2 =
|
|
31095
|
+
var SCHEMA_VERSION2 = 5;
|
|
31104
31096
|
var EXT_LANG = {
|
|
31105
31097
|
".php": "php",
|
|
31106
31098
|
".ts": "typescript",
|
|
@@ -31110,37 +31102,24 @@ var EXT_LANG = {
|
|
|
31110
31102
|
".js": "javascript",
|
|
31111
31103
|
".jsx": "javascript",
|
|
31112
31104
|
".mjs": "javascript",
|
|
31113
|
-
".cjs": "javascript"
|
|
31105
|
+
".cjs": "javascript",
|
|
31106
|
+
".py": "python",
|
|
31107
|
+
".go": "go",
|
|
31108
|
+
".java": "java",
|
|
31109
|
+
".vue": "typescript"
|
|
31114
31110
|
};
|
|
31115
31111
|
|
|
31116
31112
|
// src/scripts/code_graph/validate.ts
|
|
31117
|
-
var
|
|
31113
|
+
var words2 = (s) => new Set(s.split(" "));
|
|
31114
|
+
var RELATIONS = words2(
|
|
31115
|
+
"calls imports uses inherits member tests routes-to renders includes reads migrates persists relates documents"
|
|
31116
|
+
);
|
|
31118
31117
|
var CONFIDENCES = /* @__PURE__ */ new Set(["EXTRACTED", "INFERRED", "AMBIGUOUS"]);
|
|
31119
|
-
var RESOLVED_VIA =
|
|
31120
|
-
"same-file"
|
|
31121
|
-
|
|
31122
|
-
|
|
31123
|
-
|
|
31124
|
-
"route-table",
|
|
31125
|
-
"test-import",
|
|
31126
|
-
"name-lookup",
|
|
31127
|
-
"dynamic",
|
|
31128
|
-
// Adapted from a consumer's own graph file; see `foreign.ts`.
|
|
31129
|
-
"foreign"
|
|
31130
|
-
]);
|
|
31131
|
-
var PROVIDERS = /* @__PURE__ */ new Set(["native", "foreign"]);
|
|
31132
|
-
var KINDS = /* @__PURE__ */ new Set([
|
|
31133
|
-
"file",
|
|
31134
|
-
"class",
|
|
31135
|
-
"interface",
|
|
31136
|
-
"trait",
|
|
31137
|
-
"function",
|
|
31138
|
-
"method",
|
|
31139
|
-
"constant",
|
|
31140
|
-
"type",
|
|
31141
|
-
"enum",
|
|
31142
|
-
"skipped"
|
|
31143
|
-
]);
|
|
31118
|
+
var RESOLVED_VIA = words2(
|
|
31119
|
+
"same-file import-specifier path-alias psr4 route-table directive-scan schema-call eloquent-relation compiler-index test-import name-lookup dynamic foreign"
|
|
31120
|
+
);
|
|
31121
|
+
var PROVIDERS = /* @__PURE__ */ new Set(["native", "foreign", "scip"]);
|
|
31122
|
+
var KINDS = words2("file class interface trait function method constant type enum skipped route table");
|
|
31144
31123
|
function validateGraph(g) {
|
|
31145
31124
|
const errors = [];
|
|
31146
31125
|
const push = (m) => {
|
|
@@ -31159,6 +31138,7 @@ function validateGraph(g) {
|
|
|
31159
31138
|
if (typeof n !== "object" || n === null) return push(`node[${i}] not an object`);
|
|
31160
31139
|
const nn = n;
|
|
31161
31140
|
if (typeof nn["id"] !== "string") push(`node[${i}].id must be a string`);
|
|
31141
|
+
else if (ids.has(nn["id"])) push(`node[${i}].id is a duplicate: ${nn["id"]}`);
|
|
31162
31142
|
else ids.add(nn["id"]);
|
|
31163
31143
|
if (!KINDS.has(nn["kind"])) push(`node[${i}].kind invalid: ${String(nn["kind"])}`);
|
|
31164
31144
|
if (typeof nn["source_file"] !== "string") push(`node[${i}].source_file must be a string`);
|
|
@@ -31270,7 +31250,7 @@ function detectSources(root, nativeCache) {
|
|
|
31270
31250
|
} catch {
|
|
31271
31251
|
}
|
|
31272
31252
|
const scip = scipCandidates.find((p) => fs82.existsSync(p));
|
|
31273
|
-
if (scip) out.push({ kind: "scip", path: scip, present: true, note: "SCIP
|
|
31253
|
+
if (scip) out.push({ kind: "scip", path: scip, present: true, note: "SCIP \u2014 index.scip merges into the build" });
|
|
31274
31254
|
if (fs82.existsSync(nativeCache)) out.push({ kind: "native", path: nativeCache, present: true, ...freshness(abs, nativeCache, null) });
|
|
31275
31255
|
return out;
|
|
31276
31256
|
}
|
|
@@ -31355,16 +31335,16 @@ var VALUE_TAKING = /* @__PURE__ */ new Set([
|
|
|
31355
31335
|
]);
|
|
31356
31336
|
var NOT_A_SEARCH = /* @__PURE__ */ new Set(["--help", "-h", "--version", "-V", "--usage"]);
|
|
31357
31337
|
var FIND_SUBJECT = /* @__PURE__ */ new Set(["-name", "-iname", "-path", "-ipath", "-regex"]);
|
|
31358
|
-
function segmentSearchToken(
|
|
31359
|
-
if (
|
|
31338
|
+
function segmentSearchToken(words3) {
|
|
31339
|
+
if (words3.length === 0) return null;
|
|
31360
31340
|
let i = 0;
|
|
31361
|
-
let head =
|
|
31341
|
+
let head = words3[0].split("/").pop();
|
|
31362
31342
|
if (head === "git") {
|
|
31363
31343
|
let j = 1;
|
|
31364
|
-
while (j <
|
|
31365
|
-
j += VALUE_TAKING.has(
|
|
31344
|
+
while (j < words3.length && words3[j].startsWith("-")) {
|
|
31345
|
+
j += VALUE_TAKING.has(words3[j]) || words3[j] === "-C" ? 2 : 1;
|
|
31366
31346
|
}
|
|
31367
|
-
if (
|
|
31347
|
+
if (words3[j] !== "grep") return null;
|
|
31368
31348
|
head = "git grep";
|
|
31369
31349
|
i = j + 1;
|
|
31370
31350
|
} else if (SEARCH_HEADS.has(head)) {
|
|
@@ -31372,7 +31352,7 @@ function segmentSearchToken(words2) {
|
|
|
31372
31352
|
} else {
|
|
31373
31353
|
return null;
|
|
31374
31354
|
}
|
|
31375
|
-
const rest =
|
|
31355
|
+
const rest = words3.slice(i);
|
|
31376
31356
|
if (rest.some((w) => NOT_A_SEARCH.has(w))) return null;
|
|
31377
31357
|
if (head === "find") {
|
|
31378
31358
|
const at = rest.findIndex((w) => FIND_SUBJECT.has(w));
|
|
@@ -31393,8 +31373,8 @@ function strip(w) {
|
|
|
31393
31373
|
}
|
|
31394
31374
|
function bashSearchToken(command) {
|
|
31395
31375
|
for (const segment of command.split(/\||&&|;/)) {
|
|
31396
|
-
const
|
|
31397
|
-
const hit = segmentSearchToken(
|
|
31376
|
+
const words3 = segment.trim().split(/\s+/).filter((w) => w !== "");
|
|
31377
|
+
const hit = segmentSearchToken(words3);
|
|
31398
31378
|
if (hit !== null) return hit;
|
|
31399
31379
|
}
|
|
31400
31380
|
return null;
|
|
@@ -36742,6 +36722,7 @@ function emitSqliteTwin(graph, serialized, jsonPath) {
|
|
|
36742
36722
|
db.exec(
|
|
36743
36723
|
"CREATE TABLE meta (key TEXT PRIMARY KEY, value TEXT NOT NULL);CREATE TABLE nodes (id TEXT PRIMARY KEY, label TEXT NOT NULL, kind TEXT, source_file TEXT, l0 INTEGER, l1 INTEGER, l2 INTEGER, l3 INTEGER);CREATE TABLE edges (source TEXT NOT NULL, target TEXT NOT NULL, relation TEXT NOT NULL, confidence TEXT NOT NULL, candidates TEXT, ambiguity_reason TEXT, resolved_via TEXT, provider TEXT);CREATE INDEX edges_source ON edges(source);CREATE INDEX edges_target ON edges(target);CREATE INDEX nodes_label ON nodes(label);CREATE INDEX nodes_source_file ON nodes(source_file);"
|
|
36744
36724
|
);
|
|
36725
|
+
db.exec("BEGIN");
|
|
36745
36726
|
const meta = db.prepare("INSERT INTO meta (key, value) VALUES (?, ?)");
|
|
36746
36727
|
meta.run("source_checksum", graph.source_checksum);
|
|
36747
36728
|
meta.run("json_size", String(stat.size));
|
|
@@ -36780,14 +36761,17 @@ function emitSqliteTwin(graph, serialized, jsonPath) {
|
|
|
36780
36761
|
e.provider
|
|
36781
36762
|
);
|
|
36782
36763
|
}
|
|
36764
|
+
db.exec("COMMIT");
|
|
36783
36765
|
stampUserVersion(db, GRAPH_STORE_VERSION);
|
|
36784
36766
|
} finally {
|
|
36785
36767
|
db.close();
|
|
36786
36768
|
}
|
|
36787
36769
|
fs108.renameSync(tmp, twin);
|
|
36788
36770
|
return true;
|
|
36789
|
-
} catch {
|
|
36771
|
+
} catch (e) {
|
|
36790
36772
|
fs108.rmSync(tmp, { force: true });
|
|
36773
|
+
process.stderr.write(`code-graph: index not written: ${e.message}
|
|
36774
|
+
`);
|
|
36791
36775
|
return false;
|
|
36792
36776
|
}
|
|
36793
36777
|
}
|
|
@@ -41600,7 +41584,8 @@ var RECORDED_EVENTS = /* @__PURE__ */ new Set([
|
|
|
41600
41584
|
"pre_compact",
|
|
41601
41585
|
"agent_error",
|
|
41602
41586
|
"subagent_start",
|
|
41603
|
-
"subagent_stop"
|
|
41587
|
+
"subagent_stop",
|
|
41588
|
+
"instructions_loaded"
|
|
41604
41589
|
]);
|
|
41605
41590
|
var NOT_RECORDED = /* @__PURE__ */ new Map();
|
|
41606
41591
|
var CONSUMPTION_STATES = ["consumed", "partially-consumed", "rejected-with-reason"];
|
|
@@ -42185,6 +42170,10 @@ var LAZY_CONCERNS = Object.freeze({
|
|
|
42185
42170
|
"src/scripts/chat_history.ts": Object.freeze({
|
|
42186
42171
|
chunk: "chat_history.chunk.cjs",
|
|
42187
42172
|
source: path138.join("..", "chat_history")
|
|
42173
|
+
}),
|
|
42174
|
+
"src/scripts/hooks/instructions_observer_hook.ts": Object.freeze({
|
|
42175
|
+
chunk: "instructions_observer.chunk.cjs",
|
|
42176
|
+
source: "instructions_observer_hook"
|
|
42188
42177
|
})
|
|
42189
42178
|
});
|
|
42190
42179
|
function isBundled3() {
|
|
@@ -43099,7 +43088,8 @@ var COLLECTOR_EVENTS = [
|
|
|
43099
43088
|
"pre_compact",
|
|
43100
43089
|
"agent_error",
|
|
43101
43090
|
"subagent_start",
|
|
43102
|
-
"subagent_stop"
|
|
43091
|
+
"subagent_stop",
|
|
43092
|
+
"instructions_loaded"
|
|
43103
43093
|
];
|
|
43104
43094
|
var COLLECTOR_OUTCOMES = ["captured", "startup_failure", "write_failure"];
|
|
43105
43095
|
var COLLECTOR_PLATFORMS = [
|
|
@@ -43362,7 +43352,8 @@ var EVENT_VOCABULARY = /* @__PURE__ */ new Set([
|
|
|
43362
43352
|
"pre_compact",
|
|
43363
43353
|
"agent_error",
|
|
43364
43354
|
"subagent_start",
|
|
43365
|
-
"subagent_stop"
|
|
43355
|
+
"subagent_stop",
|
|
43356
|
+
"instructions_loaded"
|
|
43366
43357
|
]);
|
|
43367
43358
|
var _SEVERITY_BY_EXIT = {
|
|
43368
43359
|
[EXIT_ALLOW]: "allow",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1089777b2ae58baebcf459eeaccfe7a043a8aa24de365e85cea9827d5a64be27 dispatch.js
|