docuvia 1.17.2 → 1.18.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/dist/ast-worker.js +1 -1
- package/dist/ast-worker.js.map +1 -1
- package/dist/{chunk-4EBYMWAR.js → chunk-AM5AGTMV.js} +2 -2
- package/dist/{chunk-4EBYMWAR.js.map → chunk-AM5AGTMV.js.map} +1 -1
- package/dist/chunk-AUAV2EQW.js +99 -0
- package/dist/chunk-AUAV2EQW.js.map +1 -0
- package/dist/{chunk-6U56UWBD.js → chunk-C5P52XYH.js} +2 -2
- package/dist/chunk-QLKE7SQF.js +62 -0
- package/dist/chunk-QLKE7SQF.js.map +1 -0
- package/dist/cli.js +302 -162
- package/dist/cli.js.map +1 -1
- package/dist/fs-utils-W5O52QBW.js +3 -0
- package/dist/{init-templates-HK62SFL5.js → init-templates-DCRJNDXE.js} +2 -2
- package/dist/migrations/0013_call_site_resolutions.sql +70 -0
- package/dist/migrations/0014_call_site_resolution_dependencies.sql +14 -0
- package/dist/migrations/0015_call_site_rule_quarantines.sql +15 -0
- package/dist/migrations/0016_call_site_projection_callers.sql +10 -0
- package/dist/migrations/0017_verified_call_site_targets.sql +118 -0
- package/package.json +1 -1
- package/dist/chunk-DXPDAPXW.js +0 -62
- package/dist/chunk-DXPDAPXW.js.map +0 -1
- package/dist/chunk-HYERMOZO.js +0 -99
- package/dist/chunk-HYERMOZO.js.map +0 -1
- package/dist/fs-utils-YXYBKROA.js +0 -3
- /package/dist/{chunk-6U56UWBD.js.map → chunk-C5P52XYH.js.map} +0 -0
- /package/dist/{fs-utils-YXYBKROA.js.map → fs-utils-W5O52QBW.js.map} +0 -0
- /package/dist/{init-templates-HK62SFL5.js.map → init-templates-DCRJNDXE.js.map} +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import{e as a,f as b,g as c}from"./chunk-C5P52XYH.js";import"./chunk-AUAV2EQW.js";import"./chunk-KVOCOCYJ.js";export{b as createBackup,c as removeBlock,a as writeOrAppend};
|
|
3
|
+
//# sourceMappingURL=fs-utils-W5O52QBW.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{A as E,B as F,C as G,D as H,E as I,F as J,G as K,H as L,I as M,J as N,K as O,L as P,M as Q,N as R,O as S,P as T,a as e,b as f,c as g,d as h,e as i,f as j,g as k,h as l,i as m,j as n,k as o,l as p,m as q,n as r,o as s,p as t,q as u,r as v,s as w,t as x,u as y,v as z,w as A,x as B,y as C,z as D}from"./chunk-
|
|
3
|
-
//# sourceMappingURL=init-templates-
|
|
2
|
+
import{A as E,B as F,C as G,D as H,E as I,F as J,G as K,H as L,I as M,J as N,K as O,L as P,M as Q,N as R,O as S,P as T,a as e,b as f,c as g,d as h,e as i,f as j,g as k,h as l,i as m,j as n,k as o,l as p,m as q,n as r,o as s,p as t,q as u,r as v,s as w,t as x,u as y,v as z,w as A,x as B,y as C,z as D}from"./chunk-AM5AGTMV.js";import{Ka as a,La as b,Ma as c,Na as d}from"./chunk-AUAV2EQW.js";import"./chunk-KVOCOCYJ.js";export{s as AGENTS_MD_FILENAME,T as AGENT_INSTRUCTIONS,p as AGENT_INSTRUCTIONS_END_MARKER,o as AGENT_INSTRUCTIONS_MARKER,j as CLAUDE_DESKTOP_CONFIG_FILENAME,f as CLAUDE_DIR,a as CLAUDE_HOOKS_DIR,m as CLAUDE_MD_FILENAME,I as CLAUDE_PLUGIN_HOOKS_DIR,K as CLAUDE_PROJECT_HOOKS_DIR,u as CONTINUE_RULES_DIR,v as CONTINUE_RULES_FILENAME,l as COPILOT_INSTRUCTIONS_FILENAME,b as CURSOR_HOOKS_DIR,i as CURSOR_MCP_CONFIG_PATH,J as CURSOR_PLUGIN_HOOKS_DIR,n as CURSOR_RULES_FILENAME,d as DOCUVIA_HOOK_CJS_FILENAME,Q as DOCUVIA_HOOK_JS,c as DOCUVIA_HOOK_JS_FILENAME,O as DOCUVIA_MCP_LAUNCH_ARGS,P as DOCUVIA_WORKSPACE_ROOT_ENV_VAR,e as GITHUB_DIR,t as HERMES_MD_FILENAME,g as HOOKS_CONFIG_FILENAME,S as HOOKS_JSON,R as HOOK_EVENT_PRE_TOOL_USE,r as LLMS_TXT_FILENAME,k as MCP_SERVER_ALIAS,L as NPX_COMMAND,N as NPX_NO_INSTALL_FLAG,M as NPX_YES_FLAG,x as PLATFORM_NAME_CLAUDE,z as PLATFORM_NAME_CODEX,A as PLATFORM_NAME_CONTINUE,y as PLATFORM_NAME_COPILOT,w as PLATFORM_NAME_CURSOR,B as PLATFORM_NAME_HERMES,D as PLATFORM_SLUG_CLAUDE,F as PLATFORM_SLUG_CODEX,G as PLATFORM_SLUG_CONTINUE,E as PLATFORM_SLUG_COPILOT,C as PLATFORM_SLUG_CURSOR,H as PLATFORM_SLUG_HERMES,h as SETTINGS_JSON_FILENAME,q as WINDSURF_RULES_FILENAME};
|
|
3
|
+
//# sourceMappingURL=init-templates-DCRJNDXE.js.map
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
-- GRPH-008 Phase 3: current per-call-site resolution is authoritative. Candidate alternatives
|
|
2
|
+
-- are normalized, while observations live independently so reparsing current state never erases
|
|
3
|
+
-- prior resolver, strict-proof, hypothesis, or Tier B evidence.
|
|
4
|
+
|
|
5
|
+
CREATE TABLE IF NOT EXISTS call_site_resolutions (
|
|
6
|
+
project_id INTEGER NOT NULL,
|
|
7
|
+
call_site_key TEXT NOT NULL,
|
|
8
|
+
identity_version INTEGER NOT NULL CHECK (identity_version = 1),
|
|
9
|
+
file_path TEXT NOT NULL,
|
|
10
|
+
source_content_hash TEXT NOT NULL CHECK (length(source_content_hash) = 64),
|
|
11
|
+
start_line INTEGER NOT NULL CHECK (start_line >= 0),
|
|
12
|
+
start_column INTEGER NOT NULL CHECK (start_column >= 0),
|
|
13
|
+
callee_kind TEXT NOT NULL,
|
|
14
|
+
callee_name TEXT NOT NULL,
|
|
15
|
+
caller_node_key TEXT NOT NULL,
|
|
16
|
+
resolution_class TEXT NOT NULL CHECK (resolution_class IN ('proven', 'likely', 'ambiguous', 'unresolved', 'external', 'unsupported')),
|
|
17
|
+
selected_target_node_key TEXT,
|
|
18
|
+
confidence REAL,
|
|
19
|
+
resolver TEXT NOT NULL,
|
|
20
|
+
rule_signature TEXT NOT NULL,
|
|
21
|
+
dependency_fingerprint TEXT NOT NULL CHECK (length(dependency_fingerprint) = 64),
|
|
22
|
+
verification_status TEXT NOT NULL CHECK (verification_status IN ('unverified', 'verified', 'contradicted')),
|
|
23
|
+
verified_target_node_key TEXT,
|
|
24
|
+
is_stale INTEGER NOT NULL DEFAULT 0 CHECK (is_stale IN (0, 1)),
|
|
25
|
+
updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
26
|
+
PRIMARY KEY (project_id, call_site_key),
|
|
27
|
+
CHECK (
|
|
28
|
+
(resolution_class = 'likely' AND confidence IS NOT NULL AND confidence BETWEEN 0.0 AND 1.0)
|
|
29
|
+
OR (resolution_class != 'likely' AND confidence IS NULL)
|
|
30
|
+
),
|
|
31
|
+
CHECK (
|
|
32
|
+
(resolution_class IN ('proven', 'likely') AND selected_target_node_key IS NOT NULL)
|
|
33
|
+
OR (resolution_class NOT IN ('proven', 'likely') AND selected_target_node_key IS NULL)
|
|
34
|
+
),
|
|
35
|
+
CHECK (
|
|
36
|
+
(verification_status = 'unverified' AND verified_target_node_key IS NULL)
|
|
37
|
+
OR (verification_status IN ('verified', 'contradicted') AND verified_target_node_key IS NOT NULL)
|
|
38
|
+
)
|
|
39
|
+
);
|
|
40
|
+
CREATE INDEX IF NOT EXISTS call_site_resolutions_project_file_idx
|
|
41
|
+
ON call_site_resolutions(project_id, file_path);
|
|
42
|
+
|
|
43
|
+
CREATE TABLE IF NOT EXISTS call_site_resolution_candidates (
|
|
44
|
+
project_id INTEGER NOT NULL,
|
|
45
|
+
call_site_key TEXT NOT NULL,
|
|
46
|
+
ordinal INTEGER NOT NULL CHECK (ordinal >= 0),
|
|
47
|
+
target_node_key TEXT NOT NULL,
|
|
48
|
+
evidence_json TEXT NOT NULL CHECK (json_valid(evidence_json)),
|
|
49
|
+
PRIMARY KEY (project_id, call_site_key, ordinal),
|
|
50
|
+
UNIQUE (project_id, call_site_key, target_node_key),
|
|
51
|
+
FOREIGN KEY (project_id, call_site_key)
|
|
52
|
+
REFERENCES call_site_resolutions(project_id, call_site_key) ON DELETE CASCADE
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
CREATE TABLE IF NOT EXISTS call_site_resolution_observations (
|
|
56
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
57
|
+
project_id INTEGER NOT NULL,
|
|
58
|
+
call_site_key TEXT NOT NULL,
|
|
59
|
+
file_path TEXT NOT NULL,
|
|
60
|
+
source_content_hash TEXT NOT NULL CHECK (length(source_content_hash) = 64),
|
|
61
|
+
source TEXT NOT NULL CHECK (source IN ('scope-resolver', 'strict-proof', 'hypothesis', 'tier-b')),
|
|
62
|
+
resolution_class TEXT CHECK (resolution_class IS NULL OR resolution_class IN ('proven', 'likely', 'ambiguous', 'unresolved', 'external', 'unsupported')),
|
|
63
|
+
target_node_key TEXT,
|
|
64
|
+
resolver TEXT,
|
|
65
|
+
rule_signature TEXT,
|
|
66
|
+
evidence_json TEXT NOT NULL CHECK (json_valid(evidence_json)),
|
|
67
|
+
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
68
|
+
);
|
|
69
|
+
CREATE INDEX IF NOT EXISTS call_site_resolution_observations_project_file_idx
|
|
70
|
+
ON call_site_resolution_observations(project_id, file_path, id);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
-- GRPH-008 Phase 3: remember the file inputs behind each current resolution fingerprint so a
|
|
2
|
+
-- changed caller, import, re-export, config, declaration, or shared index invalidates dependents.
|
|
3
|
+
|
|
4
|
+
CREATE TABLE IF NOT EXISTS call_site_resolution_dependencies (
|
|
5
|
+
project_id INTEGER NOT NULL,
|
|
6
|
+
call_site_key TEXT NOT NULL,
|
|
7
|
+
dependency_path TEXT NOT NULL,
|
|
8
|
+
content_hash TEXT CHECK (content_hash IS NULL OR length(content_hash) = 64),
|
|
9
|
+
PRIMARY KEY (project_id, call_site_key, dependency_path),
|
|
10
|
+
FOREIGN KEY (project_id, call_site_key)
|
|
11
|
+
REFERENCES call_site_resolutions(project_id, call_site_key) ON DELETE CASCADE
|
|
12
|
+
);
|
|
13
|
+
CREATE INDEX IF NOT EXISTS call_site_resolution_dependencies_path_idx
|
|
14
|
+
ON call_site_resolution_dependencies(project_id, dependency_path, content_hash);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
-- GRPH-008 Phase 4: local runtime quarantine for a rule signature contradicted by one
|
|
2
|
+
-- source-bound, unique local Tier B definition. This table is intentionally omitted from
|
|
3
|
+
-- snapshot export/hydration; quarantine is workspace-local operational state, not portable truth.
|
|
4
|
+
CREATE TABLE IF NOT EXISTS call_site_rule_quarantines (
|
|
5
|
+
project_id INTEGER NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
|
|
6
|
+
rule_signature TEXT NOT NULL,
|
|
7
|
+
policy_version TEXT NOT NULL,
|
|
8
|
+
reason TEXT NOT NULL CHECK (reason = 'tier-b-target-mismatch'),
|
|
9
|
+
call_site_key TEXT NOT NULL,
|
|
10
|
+
source_content_hash TEXT NOT NULL CHECK (length(source_content_hash) = 64),
|
|
11
|
+
expected_target_node_key TEXT NOT NULL,
|
|
12
|
+
observed_target_node_key TEXT NOT NULL,
|
|
13
|
+
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
14
|
+
PRIMARY KEY (project_id, rule_signature)
|
|
15
|
+
);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
-- Keep the ScopeResolver caller used by the calls graph projection separate from the exact
|
|
2
|
+
-- enclosing caller identity recorded in call_site_resolutions.caller_node_key.
|
|
3
|
+
CREATE TABLE IF NOT EXISTS call_site_resolution_projection_callers (
|
|
4
|
+
project_id INTEGER NOT NULL,
|
|
5
|
+
call_site_key TEXT NOT NULL,
|
|
6
|
+
caller_node_key TEXT NOT NULL,
|
|
7
|
+
PRIMARY KEY (project_id, call_site_key),
|
|
8
|
+
FOREIGN KEY (project_id, call_site_key)
|
|
9
|
+
REFERENCES call_site_resolutions(project_id, call_site_key) ON DELETE CASCADE
|
|
10
|
+
);
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
-- Allow a unique Tier B result to select a target for an originally ambiguous, unresolved,
|
|
2
|
+
-- external, or unsupported site while retaining the original resolution class.
|
|
3
|
+
CREATE TEMP TABLE call_site_resolution_candidates_backup AS
|
|
4
|
+
SELECT * FROM call_site_resolution_candidates;
|
|
5
|
+
CREATE TEMP TABLE call_site_resolution_dependencies_backup AS
|
|
6
|
+
SELECT * FROM call_site_resolution_dependencies;
|
|
7
|
+
CREATE TEMP TABLE call_site_resolution_projection_callers_backup AS
|
|
8
|
+
SELECT * FROM call_site_resolution_projection_callers;
|
|
9
|
+
|
|
10
|
+
DROP TABLE call_site_resolution_candidates;
|
|
11
|
+
DROP TABLE call_site_resolution_dependencies;
|
|
12
|
+
DROP TABLE call_site_resolution_projection_callers;
|
|
13
|
+
|
|
14
|
+
CREATE TABLE call_site_resolutions_new (
|
|
15
|
+
project_id INTEGER NOT NULL,
|
|
16
|
+
call_site_key TEXT NOT NULL,
|
|
17
|
+
identity_version INTEGER NOT NULL CHECK (identity_version = 1),
|
|
18
|
+
file_path TEXT NOT NULL,
|
|
19
|
+
source_content_hash TEXT NOT NULL CHECK (length(source_content_hash) = 64),
|
|
20
|
+
start_line INTEGER NOT NULL CHECK (start_line >= 0),
|
|
21
|
+
start_column INTEGER NOT NULL CHECK (start_column >= 0),
|
|
22
|
+
callee_kind TEXT NOT NULL,
|
|
23
|
+
callee_name TEXT NOT NULL,
|
|
24
|
+
caller_node_key TEXT NOT NULL,
|
|
25
|
+
resolution_class TEXT NOT NULL CHECK (resolution_class IN ('proven', 'likely', 'ambiguous', 'unresolved', 'external', 'unsupported')),
|
|
26
|
+
selected_target_node_key TEXT,
|
|
27
|
+
confidence REAL,
|
|
28
|
+
resolver TEXT NOT NULL,
|
|
29
|
+
rule_signature TEXT NOT NULL,
|
|
30
|
+
dependency_fingerprint TEXT NOT NULL CHECK (length(dependency_fingerprint) = 64),
|
|
31
|
+
verification_status TEXT NOT NULL CHECK (verification_status IN ('unverified', 'verified', 'contradicted')),
|
|
32
|
+
verified_target_node_key TEXT,
|
|
33
|
+
is_stale INTEGER NOT NULL DEFAULT 0 CHECK (is_stale IN (0, 1)),
|
|
34
|
+
updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
35
|
+
PRIMARY KEY (project_id, call_site_key),
|
|
36
|
+
CHECK (
|
|
37
|
+
(resolution_class = 'likely' AND confidence IS NOT NULL AND confidence BETWEEN 0.0 AND 1.0)
|
|
38
|
+
OR (resolution_class != 'likely' AND confidence IS NULL)
|
|
39
|
+
),
|
|
40
|
+
CHECK (
|
|
41
|
+
(resolution_class IN ('proven', 'likely') AND selected_target_node_key IS NOT NULL)
|
|
42
|
+
OR (
|
|
43
|
+
resolution_class NOT IN ('proven', 'likely')
|
|
44
|
+
AND (
|
|
45
|
+
selected_target_node_key IS NULL
|
|
46
|
+
OR (
|
|
47
|
+
verification_status = 'verified'
|
|
48
|
+
AND selected_target_node_key = verified_target_node_key
|
|
49
|
+
)
|
|
50
|
+
)
|
|
51
|
+
)
|
|
52
|
+
),
|
|
53
|
+
CHECK (
|
|
54
|
+
(verification_status = 'unverified' AND verified_target_node_key IS NULL)
|
|
55
|
+
OR (verification_status IN ('verified', 'contradicted') AND verified_target_node_key IS NOT NULL)
|
|
56
|
+
)
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
INSERT INTO call_site_resolutions_new (
|
|
60
|
+
project_id, call_site_key, identity_version, file_path, source_content_hash,
|
|
61
|
+
start_line, start_column, callee_kind, callee_name, caller_node_key,
|
|
62
|
+
resolution_class, selected_target_node_key, confidence, resolver, rule_signature,
|
|
63
|
+
dependency_fingerprint, verification_status, verified_target_node_key, is_stale,
|
|
64
|
+
updated_at
|
|
65
|
+
)
|
|
66
|
+
SELECT
|
|
67
|
+
project_id, call_site_key, identity_version, file_path, source_content_hash,
|
|
68
|
+
start_line, start_column, callee_kind, callee_name, caller_node_key,
|
|
69
|
+
resolution_class, selected_target_node_key, confidence, resolver, rule_signature,
|
|
70
|
+
dependency_fingerprint, verification_status, verified_target_node_key, is_stale,
|
|
71
|
+
updated_at
|
|
72
|
+
FROM call_site_resolutions;
|
|
73
|
+
|
|
74
|
+
DROP TABLE call_site_resolutions;
|
|
75
|
+
ALTER TABLE call_site_resolutions_new RENAME TO call_site_resolutions;
|
|
76
|
+
CREATE INDEX call_site_resolutions_project_file_idx
|
|
77
|
+
ON call_site_resolutions(project_id, file_path);
|
|
78
|
+
|
|
79
|
+
CREATE TABLE call_site_resolution_candidates (
|
|
80
|
+
project_id INTEGER NOT NULL,
|
|
81
|
+
call_site_key TEXT NOT NULL,
|
|
82
|
+
ordinal INTEGER NOT NULL CHECK (ordinal >= 0),
|
|
83
|
+
target_node_key TEXT NOT NULL,
|
|
84
|
+
evidence_json TEXT NOT NULL CHECK (json_valid(evidence_json)),
|
|
85
|
+
PRIMARY KEY (project_id, call_site_key, ordinal),
|
|
86
|
+
UNIQUE (project_id, call_site_key, target_node_key),
|
|
87
|
+
FOREIGN KEY (project_id, call_site_key)
|
|
88
|
+
REFERENCES call_site_resolutions(project_id, call_site_key) ON DELETE CASCADE
|
|
89
|
+
);
|
|
90
|
+
INSERT INTO call_site_resolution_candidates SELECT * FROM call_site_resolution_candidates_backup;
|
|
91
|
+
|
|
92
|
+
CREATE TABLE call_site_resolution_dependencies (
|
|
93
|
+
project_id INTEGER NOT NULL,
|
|
94
|
+
call_site_key TEXT NOT NULL,
|
|
95
|
+
dependency_path TEXT NOT NULL,
|
|
96
|
+
content_hash TEXT CHECK (content_hash IS NULL OR length(content_hash) = 64),
|
|
97
|
+
PRIMARY KEY (project_id, call_site_key, dependency_path),
|
|
98
|
+
FOREIGN KEY (project_id, call_site_key)
|
|
99
|
+
REFERENCES call_site_resolutions(project_id, call_site_key) ON DELETE CASCADE
|
|
100
|
+
);
|
|
101
|
+
CREATE INDEX call_site_resolution_dependencies_path_idx
|
|
102
|
+
ON call_site_resolution_dependencies(project_id, dependency_path, content_hash);
|
|
103
|
+
INSERT INTO call_site_resolution_dependencies SELECT * FROM call_site_resolution_dependencies_backup;
|
|
104
|
+
|
|
105
|
+
CREATE TABLE call_site_resolution_projection_callers (
|
|
106
|
+
project_id INTEGER NOT NULL,
|
|
107
|
+
call_site_key TEXT NOT NULL,
|
|
108
|
+
caller_node_key TEXT NOT NULL,
|
|
109
|
+
PRIMARY KEY (project_id, call_site_key),
|
|
110
|
+
FOREIGN KEY (project_id, call_site_key)
|
|
111
|
+
REFERENCES call_site_resolutions(project_id, call_site_key) ON DELETE CASCADE
|
|
112
|
+
);
|
|
113
|
+
INSERT INTO call_site_resolution_projection_callers
|
|
114
|
+
SELECT * FROM call_site_resolution_projection_callers_backup;
|
|
115
|
+
|
|
116
|
+
DROP TABLE call_site_resolution_candidates_backup;
|
|
117
|
+
DROP TABLE call_site_resolution_dependencies_backup;
|
|
118
|
+
DROP TABLE call_site_resolution_projection_callers_backup;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "docuvia",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.18.0",
|
|
4
4
|
"description": "Codebase Knowledge Evolver — maintains a local knowledge graph of your workspace: modules, dependencies, blast radius, and recorded architectural decisions.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
package/dist/chunk-DXPDAPXW.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{Ba as v,Ca as k,Da as Y,Ea as G,Fa as B,Ga as H,Ha as Q,Ia as V,Ja as j,Ka as W,La as q,sa as F,wa as u}from"./chunk-HYERMOZO.js";var J="anonymous";var gt="AstWorkerCrashError",$t={ARGUMENTS:"arguments",VARIABLE_DECLARATOR:"variable_declarator",ASSIGNMENT_EXPRESSION:"assignment_expression",PAIR:"pair",PUBLIC_FIELD_DEFINITION:"public_field_definition",IMPL_ITEM:"impl_item",TYPE_IDENTIFIER:"type_identifier",POINTER_TYPE:"pointer_type",QUALIFIED_IDENTIFIER:"qualified_identifier"},xt={PARSE_FAILURE_NO_DETAIL:"parse returned success=false with no error detail",PARSE_FAILURE_RESULT:"AST parse returned failure result",PARSE_THREW:"AST parse threw (worker crash or rejection)",WORKER_UNCAUGHT_EXCEPTION:"AST worker uncaughtException",QUERY_COMPILE_FAILED:"AST language query failed to compile; using fallback",WORKER_UNHANDLED_REJECTION:"AST worker unhandledRejection",WORKER_EXITED_DURING_SHUTDOWN:"AST worker exited during pool shutdown (expected)",WORKER_CRASHED_EXITED:"AST worker crashed/exited",WORKER_EXITED_UNEXPECTEDLY:"Worker exited unexpectedly",POOL_TERMINATED:"AST worker pool terminated before task completion",UNKNOWN_FILE:"(unknown file)",PARSE_CACHE_HIT:"AST parse cache hit",CACHE_METRICS_AND_QUEUE_PERFORMANCE:"AST cache metrics and queue performance",TASK_TIMED_OUT_TERMINATING:"AST worker task timed out \u2014 terminating stuck worker",WORKER_TERMINATE_FAILED:"AST worker terminate() rejected \u2014 forced termination did not complete",QUERIED_VIA_LANGUAGE_PROVIDER:"Queried nodes using @workspace/ast-core LanguageProvider",ANONYMOUS_NAME:J,workerCrashWhileParsing:n=>`AST worker crashed while parsing ${n}: `,taskTimedOutAfterMs:(n,e)=>`AST worker task ${n} timed out after ${e}ms`,workerExitedWithCode:n=>`Worker exited with code ${n}`,noLanguageProviderForExtension:n=>`No language provider registered for extension ${n}`,wasmNotFound:(n,e)=>`WASM not found for ${n}, AST parsing skipped (Regex fallback used). Tried paths: ${e}`,parsedViaTreeSitter:n=>`Parsed via web-tree-sitter (nodes: ${n})`,providerQueryFailed:n=>`ast-core provider query failed: ${n}`};var p={FILE:"file",CLASS:"class",FUNCTION:"function",CALL:"call",METHOD_CALL:"method_call",IMPORT:"import",API_CONTRACT:"api_contract"};var N={IDENTIFIER:"identifier",SCOPED_IDENTIFIER:"scoped_identifier",QUALIFIED_IDENTIFIER:"qualified_identifier",DOTTED_NAME:"dotted_name",ALIASED_IMPORT:"aliased_import",USE_AS_CLAUSE:"use_as_clause",USE_WILDCARD:"use_wildcard",SCOPED_USE_LIST:"scoped_use_list",USE_LIST:"use_list",DOT:"dot",BLANK_IDENTIFIER:"blank_identifier",NAMESPACE_USE_DECLARATION:"namespace_use_declaration",INCLUDE_EXPRESSION:"include_expression",INCLUDE_ONCE_EXPRESSION:"include_once_expression",REQUIRE_EXPRESSION:"require_expression",REQUIRE_ONCE_EXPRESSION:"require_once_expression",IMPORT_STATEMENT:"import_statement",IMPORT_FROM_STATEMENT:"import_from_statement",USE_DECLARATION:"use_declaration",IMPORT_DECLARATION:"import_declaration",PREPROC_INCLUDE:"preproc_include",USING_DECLARATION:"using_declaration",CALL:"call",USING_DIRECTIVE:"using_directive",CALL_EXPRESSION:"call_expression",METHOD_INVOCATION:"method_invocation",EXPLICIT_CONSTRUCTOR_INVOCATION:"explicit_constructor_invocation",COMMAND_CALL:"command_call",FUNCTION_CALL_EXPRESSION:"function_call_expression",MEMBER_CALL_EXPRESSION:"member_call_expression",SCOPED_CALL_EXPRESSION:"scoped_call_expression",INVOCATION_EXPRESSION:"invocation_expression",OBJECT_CREATION_EXPRESSION:"object_creation_expression",MEMBER_EXPRESSION:"member_expression",ATTRIBUTE:"attribute",MEMBER_ACCESS_EXPRESSION:"member_access_expression",VARIABLE_DECLARATION:"variable_declaration",LEXICAL_DECLARATION:"lexical_declaration",VARIABLE_DECLARATOR:"variable_declarator",ARROW_FUNCTION:"arrow_function",FUNCTION_DECLARATION:"function_declaration",METHOD_DEFINITION:"method_definition",CLASS_DECLARATION:"class_declaration",INTERFACE_DECLARATION:"interface_declaration",TYPE_ALIAS_DECLARATION:"type_alias_declaration",EXPORT_STATEMENT:"export_statement"};var d="*",ue=["require","require_relative","load"],K="this",me="new";function Xt(n){let e=[];for(let r of n){let o=r.type,i=_e[o];if(i){i(r,e);continue}if(ye(o)){Xe(r,o,e);continue}ke(r,e)}return e}var _e={[N.IMPORT_STATEMENT]:Ae,[N.EXPORT_STATEMENT]:pe,[N.IMPORT_FROM_STATEMENT]:Ce,[N.USE_DECLARATION]:Fe,[N.IMPORT_DECLARATION]:$e,[N.PREPROC_INCLUDE]:xe,[N.USING_DECLARATION]:Ue,[N.CALL]:Me,[N.USING_DIRECTIVE]:ve};function Ae(n,e){let r=n.descendantsOfType("string").pop();if(!r)return;let o=r.text.replace(/['"]/g,""),i=n.descendantsOfType("namespace_import")[0];if(i){let l=i.descendantsOfType("identifier")[0];l&&e.push({localName:l.text,originalName:d,modulePath:o});return}let s=n.descendantsOfType("named_imports")[0];if(s){let l=s.descendantsOfType("import_specifier");for(let I of l){if(!I)continue;let E=I.childForFieldName("name"),T=I.childForFieldName("alias");if(E){let S=E.text,C=T?T.text:S;e.push({localName:C,originalName:S,modulePath:o})}}return}let a=n.descendantsOfType("identifier")[0];a&&e.push({localName:a.text,originalName:d,modulePath:o})}function pe(n,e){let r=n.childForFieldName("source");if(!r)return;let o=r.text.replace(/['"]/g,""),i=n.descendantsOfType("export_clause")[0];if(i)for(let s of i.descendantsOfType("export_specifier")){if(!s)continue;let a=s.childForFieldName("name");if(!a)continue;let l=s.childForFieldName("alias");e.push({localName:l?l.text:a.text,originalName:a.text,modulePath:o,viaReexport:!0})}}function Ce(n,e){let r=n.childForFieldName("module_name");if(!r)return;let o=r.text;if(n.descendantsOfType("wildcard_import")[0])return;n.childForFieldName("name")&&Ye(n,o,e)}function Oe(n,e){let r=n.childForFieldName("path"),o=n.childForFieldName("alias");r&&o&&e.push({localName:o.text,originalName:d,modulePath:r.text})}function Se(n,e,r){let o=n.childForFieldName("path"),i=n.childForFieldName("alias");o&&i&&r.push({localName:i.text,originalName:d,modulePath:`${e}::${o.text}`})}function Re(n,e,r){let o=n.descendantsOfType("identifier").pop();o&&r.push({localName:o.text,originalName:d,modulePath:`${e}::${n.text}`})}function Le(n,e,r){if(n.type===N.USE_AS_CLAUSE){Se(n,e,r);return}if(n.type===N.IDENTIFIER){r.push({localName:n.text,originalName:d,modulePath:`${e}::${n.text}`});return}n.type===N.SCOPED_IDENTIFIER&&Re(n,e,r)}function he(n,e){let r=n.childForFieldName("path"),o=n.childForFieldName("list");if(!r||!o)return;let i=r.text;for(let s of o.namedChildren)s&&Le(s,i,e)}function De(n,e){let r=n.descendantsOfType("identifier"),o=r[r.length-1];o&&e.push({localName:o.text,originalName:d,modulePath:n.text})}function Pe(n,e){for(let r of n.namedChildren)r&&r.type===N.IDENTIFIER&&e.push({localName:r.text,originalName:d,modulePath:r.text})}function Fe(n,e){let r=n.childForFieldName("argument");if(r){if(r.type===N.USE_AS_CLAUSE){Oe(r,e);return}if(r.type!==N.USE_WILDCARD){if(r.type===N.SCOPED_USE_LIST){he(r,e);return}if(r.type===N.SCOPED_IDENTIFIER||r.type===N.IDENTIFIER){De(r,e);return}r.type===N.USE_LIST&&Pe(r,e)}}}function ge(n,e){let r=n.childForFieldName("path");if(!r)return;let o=r.text.replace(/['"]/g,""),i=n.childForFieldName("name");if(i){if(i.type===N.DOT||i.type===N.BLANK_IDENTIFIER)return;e.push({localName:i.text,originalName:d,modulePath:o})}else{let s=o.split("/"),a=s[s.length-1];e.push({localName:a,originalName:d,modulePath:o})}}function $e(n,e){let r=n.descendantsOfType("import_spec_list")[0];if(!r)return;let o=r.descendantsOfType("import_spec");for(let i of o)i&&ge(i,e)}function xe(n,e){let r=n.childForFieldName("path");if(r){let o=r.text.replace(/[<>"']/g,"");e.push({localName:o,originalName:d,modulePath:o})}}function Ue(n,e){let r=n.namedChildren;for(let o of r)if(o)if(o.type===N.QUALIFIED_IDENTIFIER){let i=o.descendantsOfType("identifier"),s=i[i.length-1];s&&e.push({localName:s.text,originalName:d,modulePath:o.text})}else o.type===N.IDENTIFIER&&e.push({localName:o.text,originalName:d,modulePath:o.text})}function Me(n,e){let r=n.childForFieldName("method");if(!r)return;let o=r.text;if(!ue.includes(o))return;let i=n.childForFieldName("arguments");if(!i)return;let s=i.descendantsOfType("string_content")[0]||i.descendantsOfType("string")[0];if(!s)return;let a=s.text.replace(/['"]/g,""),l=a.replace(/\.rb$/,"");e.push({localName:l,originalName:d,modulePath:a})}function ye(n){return n===N.NAMESPACE_USE_DECLARATION||n===N.INCLUDE_EXPRESSION||n===N.INCLUDE_ONCE_EXPRESSION||n===N.REQUIRE_EXPRESSION||n===N.REQUIRE_ONCE_EXPRESSION}function we(n,e){let r=n.descendantsOfType("qualified_name")[0]||n.descendantsOfType("name")[0];if(r){let o=r.text,i=o.split("\\"),s=i[i.length-1];e.push({localName:s,originalName:d,modulePath:o})}}function be(n,e){let r=n.descendantsOfType("string")[0]||n.descendantsOfType("string_content")[0];if(r){let o=r.text.replace(/['"]/g,"");e.push({localName:o,originalName:d,modulePath:o})}}function Xe(n,e,r){e===N.NAMESPACE_USE_DECLARATION?we(n,r):be(n,r)}function ve(n,e){let r=n.descendantsOfType("qualified_name")[0]||n.descendantsOfType("identifier")[0];if(r){let o=r.text,i=o.split("."),s=i[i.length-1];e.push({localName:s,originalName:d,modulePath:o})}}function ke(n,e){let r=n.descendantsOfType("string").pop();if(!r)return;let o=r.text.replace(/['"]/g,""),i=n.descendantsOfType("identifier");for(let s of i)s&&(e.some(a=>a.localName===s.text)||e.push({localName:s.text,originalName:s.text,modulePath:o}))}function Ye(n,e,r){if(n.childForFieldName("name")){for(let i of n.namedChildren)if(i)if(i.type===N.ALIASED_IMPORT){let s=i.childForFieldName("name"),a=i.childForFieldName("alias");s&&a&&r.push({localName:a.text,originalName:s.text,modulePath:e})}else if(i.type===N.DOTTED_NAME){let s=i.descendantsOfType("identifier"),a=s[s.length-1];a&&r.push({localName:a.text,originalName:i.text,modulePath:e})}else i.type===N.IDENTIFIER&&r.push({localName:i.text,originalName:i.text,modulePath:e})}}function Ge(n){let e=n.childForFieldName("function");if(!e)return{isMethodCall:!1,methodName:""};if(e.type===N.MEMBER_EXPRESSION){let r=e.childForFieldName("property"),o=e.childForFieldName("object");if(r)return{isMethodCall:!0,methodName:r.text,objectName:o?.text}}return{isMethodCall:!1,methodName:e.text}}function Be(n){let e=n.childForFieldName("function");if(!e)return{isMethodCall:!1,methodName:""};if(e.type===N.ATTRIBUTE){let r=e.childForFieldName("attribute"),o=e.childForFieldName("object");if(r)return{isMethodCall:!0,methodName:r.text,objectName:o?.text}}return{isMethodCall:!1,methodName:e.text}}function He(n){let e=n.childForFieldName("name"),r=n.childForFieldName("object");if(e)return{isMethodCall:!0,methodName:e.text,objectName:r?.text}}function Qe(n){return{isMethodCall:!0,methodName:n.childForFieldName("constructor")?.text||K,objectName:K}}function Ve(n){let e=n.childForFieldName("method");if(!e)return;let r=n.childForFieldName("receiver");return r?{isMethodCall:!0,methodName:e.text,objectName:r.text}:{isMethodCall:!1,methodName:e.text}}function M(n){let e=n.type,o=n.childForFieldName("name")?.text||"";if(e===N.MEMBER_CALL_EXPRESSION){let i=n.childForFieldName("object");return{isMethodCall:!0,methodName:o,objectName:i?.text}}if(e===N.SCOPED_CALL_EXPRESSION){let i=n.childForFieldName("scope");return{isMethodCall:!0,methodName:o,objectName:i?.text}}return{isMethodCall:!1,methodName:o}}function je(n){let e=n.childForFieldName("function")||n.namedChildren[0];if(e&&e.type===N.MEMBER_ACCESS_EXPRESSION){let r=e.childForFieldName("name"),o=e.childForFieldName("expression");if(r)return{isMethodCall:!0,methodName:r.text,objectName:o?.text}}if(e)return{isMethodCall:!1,methodName:e.text}}function We(n){let e=n.childForFieldName("type");return{isMethodCall:!0,methodName:me,objectName:e?.text}}var vt={[N.CALL_EXPRESSION]:Ge,[N.CALL]:Be,[N.METHOD_INVOCATION]:He,[N.EXPLICIT_CONSTRUCTOR_INVOCATION]:Qe,[N.COMMAND_CALL]:Ve,[N.FUNCTION_CALL_EXPRESSION]:M,[N.MEMBER_CALL_EXPRESSION]:M,[N.SCOPED_CALL_EXPRESSION]:M,[N.INVOCATION_EXPRESSION]:je,[N.OBJECT_CREATION_EXPRESSION]:We};var qe=/^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|[-+]\d{2}:\d{2})?$/i,L=class n extends Date{#t=!1;#n=!1;#e=null;constructor(e){let r=!0,o=!0,i="Z";if(typeof e=="string"){let s=e.match(qe);s?(s[1]||(r=!1,e=`0000-01-01T${e}`),o=!!s[2],o&&e[10]===" "&&(e=e.replace(" ","T")),s[2]&&+s[2]>23?e="":(i=s[3]||null,e=e.toUpperCase(),!i&&o&&(e+="Z"))):e=""}super(e),isNaN(this.getTime())||(this.#t=r,this.#n=o,this.#e=i)}isDateTime(){return this.#t&&this.#n}isLocal(){return!this.#t||!this.#n||!this.#e}isDate(){return this.#t&&!this.#n}isTime(){return this.#n&&!this.#t}isValid(){return this.#t||this.#n}toISOString(){let e=super.toISOString();if(this.isDate())return e.slice(0,10);if(this.isTime())return e.slice(11,23);if(this.#e===null)return e.slice(0,-1);if(this.#e==="Z")return e;let r=+this.#e.slice(1,3)*60+ +this.#e.slice(4,6);return r=this.#e[0]==="-"?r:-r,new Date(this.getTime()-r*6e4).toISOString().slice(0,-1)+this.#e}static wrapAsOffsetDateTime(e,r="Z"){let o=new n(e);return o.#e=r,o}static wrapAsLocalDateTime(e){let r=new n(e);return r.#e=null,r}static wrapAsLocalDate(e){let r=new n(e);return r.#n=!1,r.#e=null,r}static wrapAsLocalTime(e){let r=new n(e);return r.#t=!1,r.#e=null,r}};function Je(n,e){let r=n.slice(0,e).split(/\r\n|\n|\r/g);return[r.length,r.pop().length+1]}function Ke(n,e,r){let o=n.split(/\r\n|\n|\r/g),i="",s=(Math.log10(e+1)|0)+1;for(let a=e-1;a<=e+1;a++){let l=o[a-1];l&&(i+=a.toString().padEnd(s," "),i+=": ",i+=l,i+=`
|
|
3
|
-
`,a===e&&(i+=" ".repeat(s+r+2),i+=`^
|
|
4
|
-
`))}return i}var f=class extends Error{line;column;codeblock;constructor(e,r){let[o,i]=Je(r.toml,r.ptr),s=Ke(r.toml,o,i);super(`Invalid TOML document: ${e}
|
|
5
|
-
|
|
6
|
-
${s}`,r),this.line=o,this.column=i,this.codeblock=s}};var ze=/^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/,Ze=/^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/,et=/^[+-]?0[0-9_]/;function g(n,e){let r=n[e++],o=r,i=r==="'",s=r===n[e]&&r===n[e+1];s&&(n[e+=2]===`
|
|
7
|
-
`?e++:n[e]==="\r"&&n[e+1]===`
|
|
8
|
-
`&&(e+=2));let a="",l=e,I=0;for(let E=e;E<n.length;E++)if(r=n[E],s&&(r===`
|
|
9
|
-
`||r==="\r"&&n[E+1]===`
|
|
10
|
-
`))I=I&&3;else{if(r<" "&&r!==" "||r==="\x7F")throw new f("control characters are not allowed in strings",{toml:n,ptr:E});if((!I||I===3)&&r===o&&(!s||n[E+1]===o&&n[E+2]===o))return s&&(n[E+3]===o&&E++,n[E+3]===o&&E++),[I?a:a+n.slice(l,E),E+(s?3:1)];if(!I)!i&&r==="\\"&&(a+=n.slice(l,l=E),I=1);else if(I===1)if(r==="x"||r==="u"||r==="U"){let T=0,S=r==="x"?2:r==="u"?4:8;for(let C=0;C<S;C++,E++){let m=n.charCodeAt(E+1),O=m>=48&&m<=57?m-48:m>=65&&m<=70?m-65+10:m>=97&&m<=102?m-97+10:-1;if(O<0)throw new f("invalid non-hex character in unicode escape",{toml:n,ptr:E+1});T=T<<4|O}if(T<0||T>1114111||T>=55296&&T<=57343)throw new f("invalid unicode escape",{toml:n,ptr:E});a+=String.fromCodePoint(T),l=E+1,I=0}else if(r===" "||r===" ")I=2;else{if(r==="b")a+="\b";else if(r==="t")a+=" ";else if(r==="n")a+=`
|
|
11
|
-
`;else if(r==="f")a+="\f";else if(r==="r")a+="\r";else if(r==="e")a+="\x1B";else if(r==='"')a+='"';else if(r==="\\")a+="\\";else throw new f("unrecognized escape sequence",{toml:n,ptr:E});l=E+1,I=0}else if(r!==" "&&r!==" "){if(I===2)throw new f("invalid escape: only line-ending whitespace may be escaped",{toml:n,ptr:l});I=!i&&r==="\\"?1:0,l=E}}throw new f("unfinished string",{toml:n,ptr:e})}function z(n,e,r,o){if(n==="true")return!0;if(n==="false")return!1;if(n==="-inf")return-1/0;if(n==="inf"||n==="+inf")return 1/0;if(n==="nan"||n==="+nan"||n==="-nan")return NaN;if(n==="-0")return o?0n:0;let i=ze.test(n);if(i||Ze.test(n)){if(et.test(n))throw new f("leading zeroes are not allowed",{toml:e,ptr:r});n=n.replace(/_/g,"");let a=+n;if(isNaN(a))throw new f("invalid number",{toml:e,ptr:r});if(i){if((i=!Number.isSafeInteger(a))&&!o)throw new f("integer value cannot be represented losslessly",{toml:e,ptr:r});(i||o===!0)&&(a=BigInt(n))}return a}let s=new L(n);if(!s.isValid())throw new f("invalid value",{toml:e,ptr:r});return s}function $(n,e=0,r=n.length){let o=n.indexOf(`
|
|
12
|
-
`,e);return n[o-1]==="\r"&&o--,o<=r?o:-1}function R(n,e){for(let r=e;r<n.length;r++){let o=n[r];if(o===`
|
|
13
|
-
`)return r;if(o==="\r"&&n[r+1]===`
|
|
14
|
-
`)return r+1;if(o<" "&&o!==" "||o==="\x7F")throw new f("control characters are not allowed in comments",{toml:n,ptr:e})}return n.length}function A(n,e,r,o){let i;for(;;){for(;(i=n[e])===" "||i===" "||!r&&(i===`
|
|
15
|
-
`||i==="\r"&&n[e+1]===`
|
|
16
|
-
`);)e++;if(o||i!=="#")break;e=R(n,e)}return e}function Z(n,e,r,o,i=!1){if(!o)return e=$(n,e),e<0?n.length:e;for(let s=e;s<n.length;s++){let a=n[s];if(a==="#")s=$(n,s);else{if(a===r)return s+1;if(a===o||i&&(a===`
|
|
17
|
-
`||a==="\r"&&n[s+1]===`
|
|
18
|
-
`))return s}}throw new f("cannot find end of structure",{toml:n,ptr:e})}function tt(n,e,r){let o=n.slice(e,r),i=o.indexOf("#");return i>-1&&(R(n,i),o=o.slice(0,i)),[o.trimEnd(),i]}function h(n,e,r,o,i){if(o===0)throw new f("document contains excessively nested structures. aborting.",{toml:n,ptr:e});let s=n[e];if(s==="["||s==="{"){let[I,E]=s==="["?te(n,e,o,i):ee(n,e,o,i);if(r){if(E=A(n,E),n[E]===",")E++;else if(n[E]!==r)throw new f("expected comma or end of structure",{toml:n,ptr:E})}return[I,E]}if(s==='"'||s==="'"){let[I,E]=g(n,e);if(r){if(E=A(n,E),n[E]&&n[E]!==","&&n[E]!==r&&n[E]!==`
|
|
19
|
-
`&&n[E]!=="\r")throw new f("unexpected character encountered",{toml:n,ptr:E});n[E]===","&&E++}return[I,E]}let a=Z(n,e,",",r),l=tt(n,e,a-(n[a-1]===","?1:0));if(!l[0])throw new f("incomplete key-value declaration: no value specified",{toml:n,ptr:e});return r&&l[1]>-1&&(a=A(n,e+l[1]),n[a]===","&&a++),[z(l[0],n,e,i),a]}var nt=/^[a-zA-Z0-9-_]+[ \t]*$/;function x(n,e,r="="){let o=e-1,i=[],s=n.indexOf(r,e);if(s<0)throw new f("incomplete key-value: cannot find end of key",{toml:n,ptr:e});do{let a=n[e=++o];if(a!==" "&&a!==" ")if(a==='"'||a==="'"){if(a===n[e+1]&&a===n[e+2])throw new f("multiline strings are not allowed in keys",{toml:n,ptr:e});let[l,I]=g(n,e);o=n.indexOf(".",I);let E=n.slice(I,o<0||o>s?s:o),T=$(E);if(T>-1)throw new f("newlines are not allowed in keys",{toml:n,ptr:e+o+T});if(E.trimStart())throw new f("found extra tokens after the string part",{toml:n,ptr:I});if(s<I&&(s=n.indexOf(r,I),s<0))throw new f("incomplete key-value: cannot find end of key",{toml:n,ptr:e});i.push(l)}else{o=n.indexOf(".",e);let l=n.slice(e,o<0||o>s?s:o);if(!nt.test(l))throw new f("only letter, numbers, dashes and underscores are allowed in keys",{toml:n,ptr:e});i.push(l.trimEnd())}}while(o+1&&o<s);return[i,A(n,s+1,!0,!0)]}function ee(n,e,r,o){let i={},s=new Set,a;for(e++;(a=n[e++])!=="}"&&a;){if(a===",")throw new f("expected value, found comma",{toml:n,ptr:e-1});if(a==="#")e=R(n,e);else if(a!==" "&&a!==" "&&a!==`
|
|
20
|
-
`&&a!=="\r"){let l,I=i,E=!1,[T,S]=x(n,e-1);for(let O=0;O<T.length;O++){if(O&&(I=E?I[l]:I[l]={}),l=T[O],(E=Object.hasOwn(I,l))&&(typeof I[l]!="object"||s.has(I[l])))throw new f("trying to redefine an already defined value",{toml:n,ptr:e});!E&&l==="__proto__"&&Object.defineProperty(I,l,{enumerable:!0,configurable:!0,writable:!0})}if(E)throw new f("trying to redefine an already defined value",{toml:n,ptr:e});let[C,m]=h(n,S,"}",r-1,o);s.add(C),I[l]=C,e=m}}if(!a)throw new f("unfinished table encountered",{toml:n,ptr:e});return[i,e]}function te(n,e,r,o){let i=[],s;for(e++;(s=n[e++])!=="]"&&s;){if(s===",")throw new f("expected value, found comma",{toml:n,ptr:e-1});if(s==="#")e=R(n,e);else if(s!==" "&&s!==" "&&s!==`
|
|
21
|
-
`&&s!=="\r"){let a=h(n,e-1,"]",r-1,o);i.push(a[0]),e=a[1]}}if(!s)throw new f("unfinished array encountered",{toml:n,ptr:e});return[i,e]}function ne(n,e,r,o){let i=e,s=r,a,l=!1,I;for(let E=0;E<n.length;E++){if(E){if(i=l?i[a]:i[a]={},s=(I=s[a]).c,o===0&&(I.t===1||I.t===2))return null;if(I.t===2){let T=i.length-1;i=i[T],s=s[T].c}}if(a=n[E],(l=Object.hasOwn(i,a))&&s[a]?.t===0&&s[a]?.d)return null;l||(a==="__proto__"&&(Object.defineProperty(i,a,{enumerable:!0,configurable:!0,writable:!0}),Object.defineProperty(s,a,{enumerable:!0,configurable:!0,writable:!0})),s[a]={t:E<n.length-1&&o===2?3:o,d:!1,i:0,c:{}})}if(I=s[a],I.t!==o&&!(o===1&&I.t===3)||(o===2&&(I.d||(I.d=!0,i[a]=[]),i[a].push(i={}),I.c[I.i++]=I={t:1,d:!1,i:0,c:{}}),I.d))return null;if(I.d=!0,o===1)i=l?i[a]:i[a]={};else if(o===0&&l)return null;return[a,i,I.c]}function y(n,{maxDepth:e=1e3,integersAsBigInt:r}={}){let o={},i={},s=o,a=i;for(let l=A(n,0);l<n.length;){if(n[l]==="["){let I=n[++l]==="[",E=x(n,l+=+I,"]");if(I){if(n[E[1]-1]!=="]")throw new f("expected end of table declaration",{toml:n,ptr:E[1]-1});E[1]++}let T=ne(E[0],o,i,I?2:1);if(!T)throw new f("trying to redefine an already defined table or value",{toml:n,ptr:l});a=T[2],s=T[1],l=E[1]}else{let I=x(n,l),E=ne(I[0],s,a,0);if(!E)throw new f("trying to redefine an already defined table or value",{toml:n,ptr:l});let T=h(n,I[1],void 0,e,r);E[1][E[0]]=T[0],l=T[1]}if(l=A(n,l,!0),n[l]&&n[l]!==`
|
|
22
|
-
`&&n[l]!=="\r")throw new f("each key-value declaration must be followed by an end-of-line",{toml:n,ptr:l});l=A(n,l)}return o}import{Query as rt}from"web-tree-sitter";var c={CLASS:"class",FUNCTION:"function",VARIABLE:"variable",IMPORT:"import",CALL:"call",IMPLEMENTS:"implements",EXTENDS:"extends"};var D=class{buildScopeMap(e){return this.config.buildScopeMap?this.config.buildScopeMap(e):new Map}classifyCall(e){return this.config.classifyCall?this.config.classifyCall(e):{isMethodCall:!1,methodName:e.text}}wasm_file;config;compiledQueries=null;constructor(e){this.config=e,this.wasm_file=e.wasm_file}initQueries(e){if(this.compiledQueries||!this.config.queries)return;let r=this.config.queries;this.compiledQueries={classes:this.compileQuery(e,r.classes,"classes"),functions:this.compileQuery(e,r.functions,"functions"),variables:this.compileQuery(e,r.variables,"variables"),imports:this.compileQuery(e,r.imports,"imports"),calls:this.compileQuery(e,r.calls,"calls"),implements:this.compileQuery(e,r.implements,"implements"),extends:this.compileQuery(e,r.extends,"extends")}}queryCompileFailures=[];drainQueryCompileFailures(){return this.queryCompileFailures.splice(0)}compileQuery(e,r,o){if(r)try{return new rt(e,r)}catch(i){this.queryCompileFailures.push({kind:o,pattern:r,message:i instanceof Error?i.message:String(i)});return}}deleteQueries(){this.compiledQueries&&(this.compiledQueries.classes?.delete(),this.compiledQueries.functions?.delete(),this.compiledQueries.variables?.delete(),this.compiledQueries.imports?.delete(),this.compiledQueries.calls?.delete(),this.compiledQueries.implements?.delete(),this.compiledQueries.extends?.delete(),this.compiledQueries=null)}captureNodes(e,r,o){if(!o)return[];let i=o.captures(e),s=[];for(let a of i)(r.length===0||r.includes(a.name))&&s.push(a.node);return s}extractClasses(e){return this.extractNodes(e,this.compiledQueries?.classes,[p.CLASS],this.config.classes)}extractFunctions(e){return this.extractNodes(e,this.compiledQueries?.functions,[p.FUNCTION],this.config.functions)}extractVariables(e){return this.extractNodes(e,this.compiledQueries?.variables,[c.VARIABLE],[])}extractImports(e){return this.extractNodes(e,this.compiledQueries?.imports,[p.IMPORT],this.config.imports)}extractCalls(e){return this.extractNodes(e,this.compiledQueries?.calls,[p.CALL],this.config.calls)}extractImplements(e){return this.extractNodes(e,this.compiledQueries?.implements,[c.IMPLEMENTS],this.config.implements||[])}extractExtends(e){return this.extractNodes(e,this.compiledQueries?.extends,[c.EXTENDS],this.config.extends||[])}extractNodes(e,r,o,i){if(r)return this.captureNodes(e,o,r);let s=[];for(let a of i)s.push(...e.descendantsOfType(a).filter(Boolean));return s}};var ot="languages.toml",it=256*1024;function re(n){return Array.isArray(n)&&n.every(e=>typeof e=="string")}var st=["extensions","imports","classes","functions","calls"],at=["implements","extends"];function ct(n){if(!n||typeof n!="object")return!1;let e=n;return typeof e.wasm_file!="string"?!1:st.every(r=>re(e[r]))&&at.every(r=>{let o=e[r];return o==null||re(o)})}function lt(n){if(!n||typeof n!="object")return!1;let e=n;return!(!e.languages||typeof e.languages!="object"||!Object.values(e.languages).every(ct))}function Et(n,e,r){let o=n.relative(e,r);return o===""||o!==".."&&!o.startsWith(`..${n.sep}`)&&!n.isAbsolute(o)}async function Nt(n,e,r){let o=e.join(r,ot);try{let[i,s]=await Promise.all([n.realpath(r),n.realpath(o)]);if(!Et(e,i,s))return;let a=await n.open(s,"r");try{let l=await a.stat();return!l.isFile()||l.size>it?void 0:await a.readFile(F)}finally{await a.close()}}catch{return}}var U=class n{config;extToProviderMap;constructor(e){this.config=e||{languages:{}},this.extToProviderMap=new Map,this.buildCache()}buildCache(){this.extToProviderMap.clear();for(let[e,r]of Object.entries(this.config.languages)){let o=new D(r);for(let i of r.extensions)this.extToProviderMap.set(i,o)}}static loadFromString(e,r){let o=r||{languages:{}};if(!e)return new n(o);try{let i=y(e);if(lt(i)){let s={...o.languages,...i.languages};return new n({languages:s})}}catch{}return new n(o)}static async load(e,r){let o=r||{languages:{}};try{let i=n.getProcessLike();if(i&&i.versions&&i.versions.node&&i.cwd){let s=await import("fs/promises"),a=await import("path"),l=a.resolve(e??i.cwd()),I=await Nt(s,a,l);return n.loadFromString(I,o)}}catch{}return new n(o)}static getProcessLike(){if(typeof globalThis>"u")return;let r=globalThis.process;if(!(!r||typeof r!="object"))return r}getProviderForExtension(e){return this.extToProviderMap.get(e)}registerProvider(e,r){for(let o of e)this.extToProviderMap.set(o,r)}getConfig(){return this.config}};var t={IDENTIFIER:"identifier",TYPE_IDENTIFIER:"type_identifier",CALL:"call",CALL_EXPRESSION:"call_expression",CLASS_DECLARATION:"class_declaration",ABSTRACT_CLASS_DECLARATION:"abstract_class_declaration",INTERFACE_DECLARATION:"interface_declaration",ENUM_DECLARATION:"enum_declaration",METHOD_DECLARATION:"method_declaration",METHOD_DEFINITION:"method_definition",FUNCTION_DECLARATION:"function_declaration",FUNCTION_DEFINITION:"function_definition",ARROW_FUNCTION:"arrow_function",MEMBER_EXPRESSION:"member_expression",IMPORT_STATEMENT:"import_statement",IMPORT_DECLARATION:"import_declaration",USE_DECLARATION:"use_declaration",ATTRIBUTE:"attribute",STRUCT_SPECIFIER:"struct_specifier",ENUM_SPECIFIER:"enum_specifier",UNION_SPECIFIER:"union_specifier",TYPE_DEFINITION:"type_definition",FUNCTION_DECLARATOR:"function_declarator",CLASS_SPECIFIER:"class_specifier",FIELD_EXPRESSION:"field_expression",PREPROC_INCLUDE:"preproc_include",USING_DECLARATION:"using_declaration",STRUCT_DECLARATION:"struct_declaration",RECORD_DECLARATION:"record_declaration",CONSTRUCTOR_DECLARATION:"constructor_declaration",DESTRUCTOR_DECLARATION:"destructor_declaration",CONVERSION_OPERATOR_DECLARATION:"conversion_operator_declaration",OPERATOR_DECLARATION:"operator_declaration",LOCAL_FUNCTION_STATEMENT:"local_function_statement",USING_DIRECTIVE:"using_directive",INVOCATION_EXPRESSION:"invocation_expression",OBJECT_CREATION_EXPRESSION:"object_creation_expression",BASE_LIST:"base_list",TYPE_DECLARATION:"type_declaration",TYPE_SPEC:"type_spec",FIELD_IDENTIFIER:"field_identifier",SELECTOR_EXPRESSION:"selector_expression",ANNOTATION_TYPE_DECLARATION:"annotation_type_declaration",COMPACT_CONSTRUCTOR_DECLARATION:"compact_constructor_declaration",METHOD_INVOCATION:"method_invocation",EXPLICIT_CONSTRUCTOR_INVOCATION:"explicit_constructor_invocation",SUPERCLASS:"superclass",SUPER_INTERFACES:"super_interfaces",TYPE_LIST:"type_list",GENERATOR_FUNCTION_DECLARATION:"generator_function_declaration",GENERATOR_FUNCTION:"generator_function",FUNCTION_EXPRESSION:"function_expression",PROPERTY_IDENTIFIER:"property_identifier",IMPLEMENTS_CLAUSE:"implements_clause",EXTENDS_CLAUSE:"extends_clause",TYPE_ALIAS_DECLARATION:"type_alias_declaration",CLASS_HERITAGE:"class_heritage",NAMESPACE_USE_DECLARATION:"namespace_use_declaration",INCLUDE_EXPRESSION:"include_expression",INCLUDE_ONCE_EXPRESSION:"include_once_expression",REQUIRE_EXPRESSION:"require_expression",REQUIRE_ONCE_EXPRESSION:"require_once_expression",TRAIT_DECLARATION:"trait_declaration",FUNCTION_CALL_EXPRESSION:"function_call_expression",MEMBER_CALL_EXPRESSION:"member_call_expression",SCOPED_CALL_EXPRESSION:"scoped_call_expression",NAME:"name",BASE_CLAUSE:"base_clause",CLASS_INTERFACE_CLAUSE:"class_interface_clause",IMPORT_FROM_STATEMENT:"import_from_statement",CLASS_DEFINITION:"class_definition",ARGUMENT_LIST:"argument_list",CLASS:"class",MODULE:"module",SINGLETON_CLASS:"singleton_class",METHOD:"method",SINGLETON_METHOD:"singleton_method",CONSTANT:"constant",SCOPE_RESOLUTION:"scope_resolution",BASE_CLASS_CLAUSE:"base_class_clause",QUALIFIED_IDENTIFIER:"qualified_identifier",STRUCT_ITEM:"struct_item",ENUM_ITEM:"enum_item",UNION_ITEM:"union_item",TRAIT_ITEM:"trait_item",FUNCTION_ITEM:"function_item"};var It="tree-sitter-typescript.wasm",oe={extensions:v,wasm_file:It,imports:[t.IMPORT_STATEMENT,N.EXPORT_STATEMENT],classes:[t.CLASS_DECLARATION,t.ABSTRACT_CLASS_DECLARATION,t.INTERFACE_DECLARATION,t.ENUM_DECLARATION,t.TYPE_ALIAS_DECLARATION],functions:[t.FUNCTION_DECLARATION,t.METHOD_DEFINITION,t.ARROW_FUNCTION,t.FUNCTION_EXPRESSION,t.GENERATOR_FUNCTION_DECLARATION,t.GENERATOR_FUNCTION],calls:[t.CALL_EXPRESSION],implements:[t.IMPLEMENTS_CLAUSE],extends:[t.EXTENDS_CLAUSE],queries:{classes:`(${t.CLASS_DECLARATION} name: (${t.TYPE_IDENTIFIER})) @${c.CLASS} (${t.ABSTRACT_CLASS_DECLARATION} name: (${t.TYPE_IDENTIFIER})) @${c.CLASS} (${t.INTERFACE_DECLARATION} name: (${t.TYPE_IDENTIFIER})) @${c.CLASS} (${t.ENUM_DECLARATION} name: (${t.IDENTIFIER})) @${c.CLASS} (${t.TYPE_ALIAS_DECLARATION} name: (${t.TYPE_IDENTIFIER})) @${c.CLASS}`,functions:`(${t.FUNCTION_DECLARATION}) @${c.FUNCTION} (${t.METHOD_DEFINITION}) @${c.FUNCTION} (${t.ARROW_FUNCTION}) @${c.FUNCTION} (${t.FUNCTION_EXPRESSION}) @${c.FUNCTION} (${t.GENERATOR_FUNCTION_DECLARATION}) @${c.FUNCTION} (${t.GENERATOR_FUNCTION}) @${c.FUNCTION}`,imports:`(${t.IMPORT_STATEMENT}) @${c.IMPORT} (${N.EXPORT_STATEMENT} source: (string)) @${c.IMPORT}`,variables:`(export_statement declaration: (lexical_declaration (variable_declarator name: (${t.IDENTIFIER})) @${c.VARIABLE}))`,calls:`(${t.CALL_EXPRESSION} function: [(${t.IDENTIFIER}) (${t.MEMBER_EXPRESSION})] @${c.CALL})`,implements:`(${t.IMPLEMENTS_CLAUSE} (_) @${c.IMPLEMENTS})`,extends:`(${t.EXTENDS_CLAUSE} value: (_) @${c.EXTENDS})`}};var ft="tree-sitter-javascript.wasm",ie={extensions:k,wasm_file:ft,imports:[t.IMPORT_STATEMENT,N.EXPORT_STATEMENT],classes:[t.CLASS_DECLARATION],functions:[t.FUNCTION_DECLARATION,t.METHOD_DEFINITION,t.ARROW_FUNCTION,t.FUNCTION_EXPRESSION,t.GENERATOR_FUNCTION_DECLARATION,t.GENERATOR_FUNCTION],calls:[t.CALL_EXPRESSION],extends:[t.CLASS_HERITAGE],queries:{classes:`(${t.CLASS_DECLARATION} name: (${t.IDENTIFIER})) @${c.CLASS}`,functions:`(${t.FUNCTION_DECLARATION}) @${c.FUNCTION} (${t.METHOD_DEFINITION}) @${c.FUNCTION} (${t.ARROW_FUNCTION}) @${c.FUNCTION} (${t.FUNCTION_EXPRESSION}) @${c.FUNCTION} (${t.GENERATOR_FUNCTION_DECLARATION}) @${c.FUNCTION} (${t.GENERATOR_FUNCTION}) @${c.FUNCTION}`,imports:`(${t.IMPORT_STATEMENT}) @${c.IMPORT} (${N.EXPORT_STATEMENT} source: (string)) @${c.IMPORT}`,variables:`(export_statement declaration: (lexical_declaration (variable_declarator name: (${t.IDENTIFIER})) @${c.VARIABLE}))`,calls:`(${t.CALL_EXPRESSION} function: [(${t.IDENTIFIER}) (${t.MEMBER_EXPRESSION})] @${c.CALL})`,extends:`(${t.CLASS_HERITAGE} "extends" (_) @${c.EXTENDS})`}};var Tt="tree-sitter-python.wasm",se={extensions:Y,wasm_file:Tt,imports:[t.IMPORT_STATEMENT,t.IMPORT_FROM_STATEMENT],classes:[t.CLASS_DEFINITION],functions:[t.FUNCTION_DEFINITION],calls:[t.CALL],extends:[t.CLASS_DEFINITION],queries:{classes:`(${t.CLASS_DEFINITION} name: (${t.IDENTIFIER})) @${c.CLASS}`,functions:`(${t.FUNCTION_DEFINITION} name: (${t.IDENTIFIER})) @${c.FUNCTION}`,imports:`(${t.IMPORT_STATEMENT}) @${c.IMPORT} (${t.IMPORT_FROM_STATEMENT}) @${c.IMPORT}`,calls:`(${t.CALL} function: [(${t.IDENTIFIER}) (${t.ATTRIBUTE})] @${c.CALL})`,extends:`(${t.CLASS_DEFINITION} (${t.ARGUMENT_LIST} [(${t.IDENTIFIER}) (${t.ATTRIBUTE})] @${c.EXTENDS}))`}};var dt="tree-sitter-rust.wasm",ae={extensions:G,wasm_file:dt,imports:[t.USE_DECLARATION],classes:[t.STRUCT_ITEM,t.ENUM_ITEM,t.UNION_ITEM,t.TRAIT_ITEM],functions:[t.FUNCTION_ITEM],calls:[t.CALL_EXPRESSION],queries:{classes:`(${t.STRUCT_ITEM} name: (${t.TYPE_IDENTIFIER})) @${c.CLASS} (${t.ENUM_ITEM} name: (${t.TYPE_IDENTIFIER})) @${c.CLASS} (${t.UNION_ITEM} name: (${t.TYPE_IDENTIFIER})) @${c.CLASS} (${t.TRAIT_ITEM} name: (${t.TYPE_IDENTIFIER})) @${c.CLASS}`,functions:`(${t.FUNCTION_ITEM} name: (${t.IDENTIFIER})) @${c.FUNCTION}`,imports:`(${t.USE_DECLARATION}) @${c.IMPORT}`,calls:`(${t.CALL_EXPRESSION} function: [(${t.IDENTIFIER}) (${t.FIELD_EXPRESSION})] @${c.CALL})`}};var ut="tree-sitter-go.wasm",ce={extensions:B,wasm_file:ut,imports:[t.IMPORT_DECLARATION],classes:[t.TYPE_DECLARATION],functions:[t.FUNCTION_DECLARATION,t.METHOD_DECLARATION],calls:[t.CALL_EXPRESSION],queries:{classes:`(${t.TYPE_SPEC} name: (${t.TYPE_IDENTIFIER})) @${c.CLASS}`,functions:`(${t.FUNCTION_DECLARATION} name: (${t.IDENTIFIER})) @${c.FUNCTION} (${t.METHOD_DECLARATION} name: (${t.FIELD_IDENTIFIER})) @${c.FUNCTION}`,imports:`(${t.IMPORT_DECLARATION}) @${c.IMPORT}`,calls:`(${t.CALL_EXPRESSION} function: [(${t.IDENTIFIER}) (${t.SELECTOR_EXPRESSION})] @${c.CALL})`}};var mt="tree-sitter-java.wasm",le={extensions:H,wasm_file:mt,imports:[t.IMPORT_DECLARATION],classes:[t.CLASS_DECLARATION,t.INTERFACE_DECLARATION,t.ENUM_DECLARATION,t.ANNOTATION_TYPE_DECLARATION,t.RECORD_DECLARATION],functions:[t.METHOD_DECLARATION,t.CONSTRUCTOR_DECLARATION,t.COMPACT_CONSTRUCTOR_DECLARATION],calls:[t.METHOD_INVOCATION,t.EXPLICIT_CONSTRUCTOR_INVOCATION],extends:[t.SUPERCLASS],implements:[t.SUPER_INTERFACES],queries:{classes:`(${t.CLASS_DECLARATION} name: (${t.IDENTIFIER})) @${c.CLASS} (${t.INTERFACE_DECLARATION} name: (${t.IDENTIFIER})) @${c.CLASS} (${t.ENUM_DECLARATION} name: (${t.IDENTIFIER})) @${c.CLASS} (${t.ANNOTATION_TYPE_DECLARATION} name: (${t.IDENTIFIER})) @${c.CLASS} (${t.RECORD_DECLARATION} name: (${t.IDENTIFIER})) @${c.CLASS}`,functions:`(${t.METHOD_DECLARATION} name: (${t.IDENTIFIER})) @${c.FUNCTION} (${t.CONSTRUCTOR_DECLARATION} name: (${t.IDENTIFIER})) @${c.FUNCTION} (${t.COMPACT_CONSTRUCTOR_DECLARATION} name: (${t.IDENTIFIER})) @${c.FUNCTION}`,imports:`(${t.IMPORT_DECLARATION}) @${c.IMPORT}`,calls:`(${t.METHOD_INVOCATION} name: (${t.IDENTIFIER}) @${c.CALL}) (${t.EXPLICIT_CONSTRUCTOR_INVOCATION}) @${c.CALL}`,extends:`(${t.SUPERCLASS} (${t.TYPE_IDENTIFIER}) @${c.EXTENDS})`,implements:`(${t.SUPER_INTERFACES} (${t.TYPE_LIST} (${t.TYPE_IDENTIFIER}) @${c.IMPLEMENTS}))`}};var _t="tree-sitter-c.wasm",Ee={extensions:Q,wasm_file:_t,imports:[t.PREPROC_INCLUDE],classes:[t.STRUCT_SPECIFIER,t.ENUM_SPECIFIER,t.UNION_SPECIFIER,t.TYPE_DEFINITION],functions:[t.FUNCTION_DEFINITION],calls:[t.CALL_EXPRESSION],queries:{classes:`(${t.STRUCT_SPECIFIER} name: (${t.TYPE_IDENTIFIER})) @${c.CLASS} (${t.ENUM_SPECIFIER} name: (${t.TYPE_IDENTIFIER})) @${c.CLASS} (${t.UNION_SPECIFIER} name: (${t.TYPE_IDENTIFIER})) @${c.CLASS} (${t.TYPE_DEFINITION} name: (${t.TYPE_IDENTIFIER})) @${c.CLASS}`,functions:`(${t.FUNCTION_DEFINITION} declarator: (${t.FUNCTION_DECLARATOR} declarator: (${t.IDENTIFIER}))) @${c.FUNCTION}`,imports:`(${t.PREPROC_INCLUDE}) @${c.IMPORT}`,calls:`(${t.CALL_EXPRESSION} function: (${t.IDENTIFIER}) @${c.CALL})`}};var At="tree-sitter-cpp.wasm",Ne={extensions:V,wasm_file:At,imports:[t.PREPROC_INCLUDE,t.USING_DECLARATION],classes:[t.CLASS_SPECIFIER,t.STRUCT_SPECIFIER,t.ENUM_SPECIFIER,t.UNION_SPECIFIER,t.TYPE_DEFINITION],functions:[t.FUNCTION_DEFINITION],calls:[t.CALL_EXPRESSION],extends:[t.BASE_CLASS_CLAUSE],queries:{classes:`(${t.CLASS_SPECIFIER} name: (${t.TYPE_IDENTIFIER})) @${c.CLASS} (${t.STRUCT_SPECIFIER} name: (${t.TYPE_IDENTIFIER})) @${c.CLASS} (${t.ENUM_SPECIFIER} name: (${t.TYPE_IDENTIFIER})) @${c.CLASS} (${t.UNION_SPECIFIER} name: (${t.TYPE_IDENTIFIER})) @${c.CLASS} (${t.TYPE_DEFINITION} name: (${t.TYPE_IDENTIFIER})) @${c.CLASS}`,functions:`(${t.FUNCTION_DEFINITION} declarator: (${t.FUNCTION_DECLARATOR} declarator: [(${t.IDENTIFIER}) (${t.FIELD_IDENTIFIER}) (${t.QUALIFIED_IDENTIFIER})])) @${c.FUNCTION}`,imports:`(${t.PREPROC_INCLUDE}) @${c.IMPORT} (${t.USING_DECLARATION}) @${c.IMPORT}`,calls:`(${t.CALL_EXPRESSION} function: [(${t.IDENTIFIER}) (${t.FIELD_EXPRESSION})] @${c.CALL})`,extends:`(${t.BASE_CLASS_CLAUSE} (${t.TYPE_IDENTIFIER}) @${c.EXTENDS})`}};var pt="tree-sitter-ruby.wasm",Ie={extensions:j,wasm_file:pt,imports:[t.CALL],classes:[t.CLASS,t.MODULE,t.SINGLETON_CLASS],functions:[t.METHOD,t.SINGLETON_METHOD],calls:[t.CALL],extends:[t.SUPERCLASS],queries:{classes:`(${t.CLASS} name: [(${t.CONSTANT}) (${t.SCOPE_RESOLUTION})]) @${c.CLASS} (${t.MODULE} name: (${t.CONSTANT})) @${c.CLASS} (${t.SINGLETON_CLASS}) @${c.CLASS}`,functions:`(${t.METHOD} name: (${t.IDENTIFIER})) @${c.FUNCTION} (${t.SINGLETON_METHOD} name: (${t.IDENTIFIER})) @${c.FUNCTION}`,imports:`((${t.CALL} method: (${t.IDENTIFIER}) @_method) @${c.IMPORT} (#match? @_method "^(require|require_relative|load)$"))`,calls:`(${t.CALL} method: (${t.IDENTIFIER}) @${c.CALL})`,extends:`(${t.SUPERCLASS} (_) @${c.EXTENDS})`}};var Ct="tree-sitter-php.wasm",fe={extensions:W,wasm_file:Ct,imports:[t.NAMESPACE_USE_DECLARATION,t.INCLUDE_EXPRESSION,t.INCLUDE_ONCE_EXPRESSION,t.REQUIRE_EXPRESSION,t.REQUIRE_ONCE_EXPRESSION],classes:[t.CLASS_DECLARATION,t.INTERFACE_DECLARATION,t.TRAIT_DECLARATION,t.ENUM_DECLARATION],functions:[t.FUNCTION_DEFINITION,t.METHOD_DECLARATION],calls:[t.FUNCTION_CALL_EXPRESSION,t.MEMBER_CALL_EXPRESSION,t.SCOPED_CALL_EXPRESSION],extends:[t.BASE_CLAUSE],implements:[t.CLASS_INTERFACE_CLAUSE],queries:{classes:`(${t.CLASS_DECLARATION} name: (${t.NAME})) @${c.CLASS} (${t.INTERFACE_DECLARATION} name: (${t.NAME})) @${c.CLASS} (${t.TRAIT_DECLARATION} name: (${t.NAME})) @${c.CLASS} (${t.ENUM_DECLARATION} name: (${t.NAME})) @${c.CLASS}`,functions:`(${t.FUNCTION_DEFINITION} name: (${t.NAME})) @${c.FUNCTION} (${t.METHOD_DECLARATION} name: (${t.NAME})) @${c.FUNCTION}`,imports:`(${t.NAMESPACE_USE_DECLARATION}) @${c.IMPORT} (${t.INCLUDE_EXPRESSION}) @${c.IMPORT} (${t.INCLUDE_ONCE_EXPRESSION}) @${c.IMPORT} (${t.REQUIRE_EXPRESSION}) @${c.IMPORT} (${t.REQUIRE_ONCE_EXPRESSION}) @${c.IMPORT}`,calls:`(${t.FUNCTION_CALL_EXPRESSION} function: (${t.NAME}) @${c.CALL}) (${t.MEMBER_CALL_EXPRESSION} name: (${t.NAME}) @${c.CALL}) (${t.SCOPED_CALL_EXPRESSION} name: (${t.NAME}) @${c.CALL})`,extends:`(${t.BASE_CLAUSE} (${t.NAME}) @${c.EXTENDS})`,implements:`(${t.CLASS_INTERFACE_CLAUSE} (${t.NAME}) @${c.IMPLEMENTS})`}};var Ot="tree-sitter-c_sharp.wasm",Te={extensions:q,wasm_file:Ot,imports:[t.USING_DIRECTIVE],classes:[t.CLASS_DECLARATION,t.STRUCT_DECLARATION,t.INTERFACE_DECLARATION,t.ENUM_DECLARATION,t.RECORD_DECLARATION],functions:[t.METHOD_DECLARATION,t.CONSTRUCTOR_DECLARATION,t.DESTRUCTOR_DECLARATION,t.CONVERSION_OPERATOR_DECLARATION,t.OPERATOR_DECLARATION,t.LOCAL_FUNCTION_STATEMENT],calls:[t.INVOCATION_EXPRESSION,t.OBJECT_CREATION_EXPRESSION],extends:[t.BASE_LIST],queries:{classes:`(${t.CLASS_DECLARATION} name: (${t.IDENTIFIER})) @${c.CLASS} (${t.STRUCT_DECLARATION} name: (${t.IDENTIFIER})) @${c.CLASS} (${t.INTERFACE_DECLARATION} name: (${t.IDENTIFIER})) @${c.CLASS} (${t.ENUM_DECLARATION} name: (${t.IDENTIFIER})) @${c.CLASS} (${t.RECORD_DECLARATION} name: (${t.IDENTIFIER})) @${c.CLASS}`,functions:`(${t.METHOD_DECLARATION} name: (${t.IDENTIFIER})) @${c.FUNCTION} (${t.CONSTRUCTOR_DECLARATION} name: (${t.IDENTIFIER})) @${c.FUNCTION} (${t.DESTRUCTOR_DECLARATION}) @${c.FUNCTION} (${t.CONVERSION_OPERATOR_DECLARATION}) @${c.FUNCTION} (${t.OPERATOR_DECLARATION}) @${c.FUNCTION} (${t.LOCAL_FUNCTION_STATEMENT}) @${c.FUNCTION}`,imports:`(${t.USING_DIRECTIVE}) @${c.IMPORT}`,calls:`(${t.INVOCATION_EXPRESSION}) @${c.CALL} (${t.OBJECT_CREATION_EXPRESSION}) @${c.CALL}`,extends:`(${t.BASE_LIST} (_) @${c.EXTENDS})`}};var St={languages:{[u.TYPESCRIPT]:oe,[u.JAVASCRIPT]:ie,[u.PYTHON]:se,[u.RUST]:ae,[u.GO]:ce,[u.JAVA]:le,[u.C]:Ee,[u.CPP]:Ne,[u.RUBY]:Ie,[u.PHP]:fe,[u.CSHARP]:Te}};async function Mr(n){return U.load(n,St)}import{Parser as Yr,Language as Gr}from"web-tree-sitter";var P;(function(n){n[n.INTERNAL_LOGIC=0]="INTERNAL_LOGIC",n[n.CONTRACT_CHANGED=1]="CONTRACT_CHANGED"})(P||(P={}));var w=new Set([N.FUNCTION_DECLARATION,N.METHOD_DEFINITION,N.ARROW_FUNCTION,N.CLASS_DECLARATION,N.INTERFACE_DECLARATION,N.TYPE_ALIAS_DECLARATION,N.EXPORT_STATEMENT,N.LEXICAL_DECLARATION,N.VARIABLE_DECLARATION]),de=class{parser;lang;constructor(e,r){this.parser=e,this.lang=r,this.parser.setLanguage(this.lang)}analyze(e,r,o){let i=this.parser.parse(e),s=this.parser.parse(r);if(!i||!s)return i&&i.delete(),s&&s.delete(),[];let a=[];try{let l=this.buildNodeIndex(i.rootNode),I=new Set;for(let E of o)a.push(...this.processChangedRange(E,s.rootNode,l,I))}finally{i&&i.delete(),s&&s.delete()}return a}processChangedRange(e,r,o,i){let s=this.getSmallestContainingNode(r,e);if(!s)return[];let a=this.findSemanticBoundary(s);if(!a)return this.resolveSpanningBoundaries(s,e,o,i);let l=this.buildModifiedNode(a,o,i);return l?[l]:[]}resolveSpanningBoundaries(e,r,o,i){let s=[];for(let a of e.children){if(!a||a.endPosition.row<r.startRow||a.startPosition.row>r.endRow)continue;let l={startRow:Math.max(r.startRow,a.startPosition.row),endRow:Math.min(r.endRow,a.endPosition.row)},I=this.getSmallestContainingNode(a,l);if(!I)continue;let E=this.findSemanticBoundary(I);if(!E)continue;let T=this.buildModifiedNode(E,o,i);T&&s.push(T)}return s}buildModifiedNode(e,r,o){if(o.has(e.id))return null;o.add(e.id);let i=this.getNodeName(e),s=i?r.get(`${e.type}::${i}`):void 0,a=this.resolvePruningLevel(s,e);return{nodeId:i||this.getStableStructuralNodeId(e),nodeType:e.type,pruningLevel:a,newRange:{startRow:e.startPosition.row,endRow:e.endPosition.row}}}resolvePruningLevel(e,r){if(!e)return P.CONTRACT_CHANGED;let o=this.getSignature(e),i=this.getSignature(r);return o===i?P.INTERNAL_LOGIC:P.CONTRACT_CHANGED}buildNodeIndex(e){let r=new Map,o=i=>{if(w.has(i.type)){let s=this.getNodeName(i),a=s?`${i.type}::${s}`:null;a&&!r.has(a)&&r.set(a,i)}for(let s of i.children)s&&o(s)};return o(e),r}getSmallestContainingNode(e,r){if(e.startPosition.row>r.endRow||e.endPosition.row<r.startRow)return null;if(e.startPosition.row<=r.startRow&&e.endPosition.row>=r.endRow){for(let o of e.children){if(!o)continue;let i=this.getSmallestContainingNode(o,r);if(i)return i}return e}return null}findSemanticBoundary(e){let r=e;for(;r;){if(w.has(r.type))return r;r=r.parent}return null}getNodeName(e){let r=e.childForFieldName("name");if(r)return r.text;let o=this.getExportedDeclarationName(e);return o||this.getVariableDeclarationName(e)}getExportedDeclarationName(e){if(e.type!==N.EXPORT_STATEMENT)return null;let r=e.childForFieldName("declaration");if(r){let o=this.getNodeName(r);if(o)return o}for(let o of e.namedChildren){if(!o||o.type===N.EXPORT_STATEMENT||!w.has(o.type))continue;let i=this.getNodeName(o);if(i)return i}return null}getVariableDeclarationName(e){return e.type!==N.VARIABLE_DECLARATION&&e.type!==N.LEXICAL_DECLARATION?null:e.children.find(o=>o.type===N.VARIABLE_DECLARATOR)?.childForFieldName("name")?.text??null}getStableStructuralNodeId(e){return`${e.type}@${e.startPosition.row}:${e.startPosition.column}-${e.endPosition.row}:${e.endPosition.column}`}getSignature(e){let r=e.childForFieldName("body")||e.childForFieldName("value");if(e.type===N.VARIABLE_DECLARATION||e.type===N.LEXICAL_DECLARATION){let o=e.children.find(i=>i.type===N.VARIABLE_DECLARATOR);if(o){let i=o.childForFieldName("value");if(i&&i.type===N.ARROW_FUNCTION){let s=i.childForFieldName("body");if(s)return this.getTextExcludingNode(e,s)}}}return r?this.getTextExcludingNode(e,r):e.text}getTextExcludingNode(e,r){let o=[],i=s=>{if(s.id!==r.id)if(s.childCount===0)o.push(s.text);else for(let a of s.children)a&&i(a)};return i(e),o.join(" ").trim().replace(/\s+/g," ")}};import*as _ from"path";import*as X from"fs";import{createRequire as Rt}from"module";import{fileURLToPath as Lt}from"url";var ht=Lt(import.meta.url),b=_.dirname(ht),Dt=Rt(import.meta.url);function xo(n){let e=_.resolve(b,"../../../../"),r=[];try{let i=Dt.resolve("tree-sitter-wasms/package.json",{paths:[b,e]}),s=_.join(_.dirname(i),"out",n);if(r.push(s),X.existsSync(s))return{wasmPath:s,attemptedPaths:r}}catch{}let o=[_.resolve(e,`node_modules/tree-sitter-wasms/out/${n}`),_.resolve(b,`../../../node_modules/tree-sitter-wasms/out/${n}`),_.resolve(e,`node_modules/.pnpm/tree-sitter-wasms@0.1.13/node_modules/tree-sitter-wasms/out/${n}`),_.resolve(e,`artifacts/vscode-client/out/wasm/${n}`)];for(let i of o)if(r.push(i),X.existsSync(i))return{wasmPath:i,attemptedPaths:r};return{wasmPath:o[o.length-1],attemptedPaths:r}}function yo(n,e,r){if(!n.has(e))return e;let o=`${e}@L${r}`;if(!n.has(o))return o;let i=2;for(;n.has(`${o}#${i}`);)i++;return`${o}#${i}`}function wo(n,e,r){return r?`${n}#${r}.${e}`:`${n}#${e}`}export{J as a,gt as b,$t as c,xt as d,yo as e,wo as f,Xt as g,t as h,Mr as i,de as j,xo as k};
|
|
23
|
-
/*! Bundled license information:
|
|
24
|
-
|
|
25
|
-
smol-toml/dist/date.js:
|
|
26
|
-
smol-toml/dist/error.js:
|
|
27
|
-
smol-toml/dist/primitive.js:
|
|
28
|
-
smol-toml/dist/util.js:
|
|
29
|
-
smol-toml/dist/extract.js:
|
|
30
|
-
smol-toml/dist/struct.js:
|
|
31
|
-
smol-toml/dist/parse.js:
|
|
32
|
-
smol-toml/dist/stringify.js:
|
|
33
|
-
smol-toml/dist/index.js:
|
|
34
|
-
(*!
|
|
35
|
-
* Copyright (c) Squirrel Chat et al., All rights reserved.
|
|
36
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
37
|
-
*
|
|
38
|
-
* Redistribution and use in source and binary forms, with or without
|
|
39
|
-
* modification, are permitted provided that the following conditions are met:
|
|
40
|
-
*
|
|
41
|
-
* 1. Redistributions of source code must retain the above copyright notice, this
|
|
42
|
-
* list of conditions and the following disclaimer.
|
|
43
|
-
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
44
|
-
* this list of conditions and the following disclaimer in the
|
|
45
|
-
* documentation and/or other materials provided with the distribution.
|
|
46
|
-
* 3. Neither the name of the copyright holder nor the names of its contributors
|
|
47
|
-
* may be used to endorse or promote products derived from this software without
|
|
48
|
-
* specific prior written permission.
|
|
49
|
-
*
|
|
50
|
-
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
51
|
-
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
52
|
-
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
53
|
-
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
54
|
-
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
55
|
-
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
56
|
-
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
57
|
-
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
58
|
-
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
59
|
-
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
60
|
-
*)
|
|
61
|
-
*/
|
|
62
|
-
//# sourceMappingURL=chunk-DXPDAPXW.js.map
|