sf-agentpmd 0.1.0 → 0.1.2
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/NOTICE +7 -5
- package/dist/commands/agentpmd/analyze.js +4141 -109
- package/dist/commands/agentpmd/analyze.js.map +7 -1
- package/dist/commands/agentpmd/install-skill.js +42 -31
- package/dist/commands/agentpmd/install-skill.js.map +7 -1
- package/dist/index.js +4155 -3
- package/dist/index.js.map +7 -1
- package/oclif.manifest.json +2 -2
- package/package.json +7 -8
- package/dist/analyzer/action-references.d.ts +0 -21
- package/dist/analyzer/action-references.js +0 -130
- package/dist/analyzer/action-references.js.map +0 -1
- package/dist/analyzer/analyze.d.ts +0 -43
- package/dist/analyzer/analyze.js +0 -222
- package/dist/analyzer/analyze.js.map +0 -1
- package/dist/analyzer/apex-analyze.d.ts +0 -14
- package/dist/analyzer/apex-analyze.js +0 -60
- package/dist/analyzer/apex-analyze.js.map +0 -1
- package/dist/analyzer/apex-complexity.d.ts +0 -27
- package/dist/analyzer/apex-complexity.js +0 -133
- package/dist/analyzer/apex-complexity.js.map +0 -1
- package/dist/analyzer/apex-parse.d.ts +0 -39
- package/dist/analyzer/apex-parse.js +0 -32
- package/dist/analyzer/apex-parse.js.map +0 -1
- package/dist/analyzer/apex-resolve.d.ts +0 -32
- package/dist/analyzer/apex-resolve.js +0 -59
- package/dist/analyzer/apex-resolve.js.map +0 -1
- package/dist/analyzer/complexity.d.ts +0 -30
- package/dist/analyzer/complexity.js +0 -126
- package/dist/analyzer/complexity.js.map +0 -1
- package/dist/analyzer/parse.d.ts +0 -51
- package/dist/analyzer/parse.js +0 -143
- package/dist/analyzer/parse.js.map +0 -1
- package/dist/analyzer/project.d.ts +0 -12
- package/dist/analyzer/project.js +0 -51
- package/dist/analyzer/project.js.map +0 -1
- package/dist/analyzer/types.d.ts +0 -76
- package/dist/analyzer/types.js +0 -2
- package/dist/analyzer/types.js.map +0 -1
- package/dist/commands/agentpmd/analyze.d.ts +0 -20
- package/dist/commands/agentpmd/install-skill.d.ts +0 -11
- package/dist/index.d.ts +0 -3
- package/dist/renderers/csv.d.ts +0 -6
- package/dist/renderers/csv.js +0 -78
- package/dist/renderers/csv.js.map +0 -1
- package/dist/renderers/index.d.ts +0 -8
- package/dist/renderers/index.js +0 -25
- package/dist/renderers/index.js.map +0 -1
- package/dist/renderers/markdown.d.ts +0 -12
- package/dist/renderers/markdown.js +0 -233
- package/dist/renderers/markdown.js.map +0 -1
- package/dist/renderers/options.d.ts +0 -20
- package/dist/renderers/options.js +0 -2
- package/dist/renderers/options.js.map +0 -1
- package/dist/renderers/sarif.d.ts +0 -3
- package/dist/renderers/sarif.js +0 -131
- package/dist/renderers/sarif.js.map +0 -1
- package/dist/renderers/text.d.ts +0 -3
- package/dist/renderers/text.js +0 -243
- package/dist/renderers/text.js.map +0 -1
- package/vendor/agentscript-parser-javascript/dist/cst-node.d.ts +0 -83
- package/vendor/agentscript-parser-javascript/dist/cst-node.js +0 -238
- package/vendor/agentscript-parser-javascript/dist/errors.d.ts +0 -34
- package/vendor/agentscript-parser-javascript/dist/errors.js +0 -74
- package/vendor/agentscript-parser-javascript/dist/expressions.d.ts +0 -36
- package/vendor/agentscript-parser-javascript/dist/expressions.js +0 -682
- package/vendor/agentscript-parser-javascript/dist/highlighter.d.ts +0 -24
- package/vendor/agentscript-parser-javascript/dist/highlighter.js +0 -260
- package/vendor/agentscript-parser-javascript/dist/index.d.ts +0 -29
- package/vendor/agentscript-parser-javascript/dist/index.js +0 -35
- package/vendor/agentscript-parser-javascript/dist/lexer.d.ts +0 -60
- package/vendor/agentscript-parser-javascript/dist/lexer.js +0 -630
- package/vendor/agentscript-parser-javascript/dist/parse-mapping.d.ts +0 -46
- package/vendor/agentscript-parser-javascript/dist/parse-mapping.js +0 -549
- package/vendor/agentscript-parser-javascript/dist/parse-sequence.d.ts +0 -10
- package/vendor/agentscript-parser-javascript/dist/parse-sequence.js +0 -118
- package/vendor/agentscript-parser-javascript/dist/parse-statements.d.ts +0 -15
- package/vendor/agentscript-parser-javascript/dist/parse-statements.js +0 -519
- package/vendor/agentscript-parser-javascript/dist/parse-templates.d.ts +0 -15
- package/vendor/agentscript-parser-javascript/dist/parse-templates.js +0 -323
- package/vendor/agentscript-parser-javascript/dist/parser.d.ts +0 -65
- package/vendor/agentscript-parser-javascript/dist/parser.js +0 -163
- package/vendor/agentscript-parser-javascript/dist/recovery.d.ts +0 -51
- package/vendor/agentscript-parser-javascript/dist/recovery.js +0 -199
- package/vendor/agentscript-parser-javascript/dist/token.d.ts +0 -58
- package/vendor/agentscript-parser-javascript/dist/token.js +0 -62
- package/vendor/agentscript-parser-javascript/package.json +0 -19
- package/vendor/agentscript-types/dist/comment.d.ts +0 -11
- package/vendor/agentscript-types/dist/comment.js +0 -10
- package/vendor/agentscript-types/dist/cst.d.ts +0 -7
- package/vendor/agentscript-types/dist/cst.js +0 -8
- package/vendor/agentscript-types/dist/diagnostic.d.ts +0 -34
- package/vendor/agentscript-types/dist/diagnostic.js +0 -23
- package/vendor/agentscript-types/dist/index.d.ts +0 -9
- package/vendor/agentscript-types/dist/index.js +0 -10
- package/vendor/agentscript-types/dist/position.d.ts +0 -11
- package/vendor/agentscript-types/dist/position.js +0 -16
- package/vendor/agentscript-types/dist/syntax-node.d.ts +0 -39
- package/vendor/agentscript-types/dist/syntax-node.js +0 -8
- package/vendor/agentscript-types/package.json +0 -15
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/renderers/text.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import type { SyntaxNode } from '@agentscript/types';
|
|
2
|
-
export declare class CSTNode implements SyntaxNode {
|
|
3
|
-
type: string;
|
|
4
|
-
/** Whether this is a "named" node (true) or anonymous punctuation/keyword (false). */
|
|
5
|
-
isNamed: boolean;
|
|
6
|
-
isError: boolean;
|
|
7
|
-
isMissing: boolean;
|
|
8
|
-
startOffset: number;
|
|
9
|
-
endOffset: number;
|
|
10
|
-
startRow: number;
|
|
11
|
-
startCol: number;
|
|
12
|
-
endRow: number;
|
|
13
|
-
endCol: number;
|
|
14
|
-
/** Lazy children array — null for leaf nodes, allocated on first appendChild. */
|
|
15
|
-
private _children;
|
|
16
|
-
parent: CSTNode | null;
|
|
17
|
-
/** Index of this node within its parent's children array. -1 if no parent. */
|
|
18
|
-
_childIndex: number;
|
|
19
|
-
/** Field name → child indices. Lazy: null until first field is added. */
|
|
20
|
-
private _fields;
|
|
21
|
-
/** Reverse map: child index → field name. Built lazily. */
|
|
22
|
-
private _childFieldNames;
|
|
23
|
-
/** Cached named children. */
|
|
24
|
-
private _namedChildren;
|
|
25
|
-
/** The original source string, shared across all nodes in a tree. */
|
|
26
|
-
private _source;
|
|
27
|
-
constructor(type: string, source: string, startOffset: number, endOffset: number, startPosition: {
|
|
28
|
-
row: number;
|
|
29
|
-
column: number;
|
|
30
|
-
}, endPosition: {
|
|
31
|
-
row: number;
|
|
32
|
-
column: number;
|
|
33
|
-
}, isNamed?: boolean, isError?: boolean, isMissing?: boolean);
|
|
34
|
-
get text(): string;
|
|
35
|
-
get startPosition(): {
|
|
36
|
-
row: number;
|
|
37
|
-
column: number;
|
|
38
|
-
};
|
|
39
|
-
set startPosition(pos: {
|
|
40
|
-
row: number;
|
|
41
|
-
column: number;
|
|
42
|
-
});
|
|
43
|
-
get endPosition(): {
|
|
44
|
-
row: number;
|
|
45
|
-
column: number;
|
|
46
|
-
};
|
|
47
|
-
set endPosition(pos: {
|
|
48
|
-
row: number;
|
|
49
|
-
column: number;
|
|
50
|
-
});
|
|
51
|
-
get children(): CSTNode[];
|
|
52
|
-
set children(value: CSTNode[]);
|
|
53
|
-
get namedChildren(): CSTNode[];
|
|
54
|
-
get previousSibling(): CSTNode | null;
|
|
55
|
-
get nextSibling(): CSTNode | null;
|
|
56
|
-
childForFieldName(name: string): CSTNode | null;
|
|
57
|
-
childrenForFieldName(name: string): CSTNode[];
|
|
58
|
-
/** True if this node or any descendant has an error or missing node. */
|
|
59
|
-
get hasError(): boolean;
|
|
60
|
-
/** Get the field name for a child at a given index. */
|
|
61
|
-
fieldNameForChild(index: number): string | null;
|
|
62
|
-
/** Add a child node, optionally associating it with a field name. */
|
|
63
|
-
appendChild(child: CSTNode, fieldName?: string): void;
|
|
64
|
-
/** @deprecated No-op: appendChild() tracks end position incrementally. */
|
|
65
|
-
finalize(): void;
|
|
66
|
-
/** Serialize to s-expression format for testing (named nodes only, no text). */
|
|
67
|
-
toSExp(): string;
|
|
68
|
-
/**
|
|
69
|
-
* Serialize to verbose s-expression format that includes ALL nodes
|
|
70
|
-
* (both named and anonymous) with truncated text content.
|
|
71
|
-
* Matches the source-of-truth format in sot/source.s-expression.
|
|
72
|
-
*/
|
|
73
|
-
toVerboseSExp(): string;
|
|
74
|
-
}
|
|
75
|
-
/** Create a leaf node (no children) from a token. */
|
|
76
|
-
export declare function leafNode(type: string, source: string, startOffset: number, endOffset: number, startPosition: {
|
|
77
|
-
row: number;
|
|
78
|
-
column: number;
|
|
79
|
-
}, endPosition: {
|
|
80
|
-
row: number;
|
|
81
|
-
column: number;
|
|
82
|
-
}, isNamed?: boolean, isError?: boolean, isMissing?: boolean): CSTNode;
|
|
83
|
-
//# sourceMappingURL=cst-node.d.ts.map
|
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2026, Salesforce, Inc.
|
|
3
|
-
* All rights reserved.
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
* For full license text, see the LICENSE file in the repo root or https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
-
*/
|
|
7
|
-
/** Shared empty array for leaf nodes — avoids allocating [] per node. */
|
|
8
|
-
const EMPTY_CHILDREN = Object.freeze([]);
|
|
9
|
-
export class CSTNode {
|
|
10
|
-
type;
|
|
11
|
-
/** Whether this is a "named" node (true) or anonymous punctuation/keyword (false). */
|
|
12
|
-
isNamed;
|
|
13
|
-
isError;
|
|
14
|
-
isMissing;
|
|
15
|
-
startOffset;
|
|
16
|
-
endOffset;
|
|
17
|
-
// Flat position storage — avoids object allocations per node.
|
|
18
|
-
// Also exposed as startPosition/endPosition getters for compat.
|
|
19
|
-
startRow;
|
|
20
|
-
startCol;
|
|
21
|
-
endRow;
|
|
22
|
-
endCol;
|
|
23
|
-
/** Lazy children array — null for leaf nodes, allocated on first appendChild. */
|
|
24
|
-
_children = null;
|
|
25
|
-
parent = null;
|
|
26
|
-
/** Index of this node within its parent's children array. -1 if no parent. */
|
|
27
|
-
_childIndex = -1;
|
|
28
|
-
/** Field name → child indices. Lazy: null until first field is added. */
|
|
29
|
-
_fields = null;
|
|
30
|
-
/** Reverse map: child index → field name. Built lazily. */
|
|
31
|
-
_childFieldNames = null;
|
|
32
|
-
/** Cached named children. */
|
|
33
|
-
_namedChildren = null;
|
|
34
|
-
/** The original source string, shared across all nodes in a tree. */
|
|
35
|
-
_source;
|
|
36
|
-
constructor(type, source, startOffset, endOffset, startPosition, endPosition, isNamed = true, isError = false, isMissing = false) {
|
|
37
|
-
this.type = type;
|
|
38
|
-
this._source = source;
|
|
39
|
-
this.startOffset = startOffset;
|
|
40
|
-
this.endOffset = endOffset;
|
|
41
|
-
this.startRow = startPosition.row;
|
|
42
|
-
this.startCol = startPosition.column;
|
|
43
|
-
this.endRow = endPosition.row;
|
|
44
|
-
this.endCol = endPosition.column;
|
|
45
|
-
this.isNamed = isNamed;
|
|
46
|
-
this.isError = isError;
|
|
47
|
-
this.isMissing = isMissing;
|
|
48
|
-
}
|
|
49
|
-
get text() {
|
|
50
|
-
return this._source.slice(this.startOffset, this.endOffset);
|
|
51
|
-
}
|
|
52
|
-
get startPosition() {
|
|
53
|
-
return { row: this.startRow, column: this.startCol };
|
|
54
|
-
}
|
|
55
|
-
set startPosition(pos) {
|
|
56
|
-
this.startRow = pos.row;
|
|
57
|
-
this.startCol = pos.column;
|
|
58
|
-
}
|
|
59
|
-
get endPosition() {
|
|
60
|
-
return { row: this.endRow, column: this.endCol };
|
|
61
|
-
}
|
|
62
|
-
set endPosition(pos) {
|
|
63
|
-
this.endRow = pos.row;
|
|
64
|
-
this.endCol = pos.column;
|
|
65
|
-
}
|
|
66
|
-
get children() {
|
|
67
|
-
return (this._children ?? EMPTY_CHILDREN);
|
|
68
|
-
}
|
|
69
|
-
set children(value) {
|
|
70
|
-
this._children = value;
|
|
71
|
-
}
|
|
72
|
-
get namedChildren() {
|
|
73
|
-
if (!this._namedChildren) {
|
|
74
|
-
this._namedChildren = this.children.filter(c => c.isNamed);
|
|
75
|
-
}
|
|
76
|
-
return this._namedChildren;
|
|
77
|
-
}
|
|
78
|
-
get previousSibling() {
|
|
79
|
-
if (!this.parent || this._childIndex <= 0)
|
|
80
|
-
return null;
|
|
81
|
-
return this.parent.children[this._childIndex - 1];
|
|
82
|
-
}
|
|
83
|
-
get nextSibling() {
|
|
84
|
-
if (!this.parent)
|
|
85
|
-
return null;
|
|
86
|
-
const siblings = this.parent.children;
|
|
87
|
-
return this._childIndex < siblings.length - 1
|
|
88
|
-
? siblings[this._childIndex + 1]
|
|
89
|
-
: null;
|
|
90
|
-
}
|
|
91
|
-
childForFieldName(name) {
|
|
92
|
-
if (!this._fields)
|
|
93
|
-
return null;
|
|
94
|
-
const indices = this._fields.get(name);
|
|
95
|
-
if (!indices || indices.length === 0)
|
|
96
|
-
return null;
|
|
97
|
-
return this.children[indices[0]] ?? null;
|
|
98
|
-
}
|
|
99
|
-
childrenForFieldName(name) {
|
|
100
|
-
if (!this._fields)
|
|
101
|
-
return [];
|
|
102
|
-
const indices = this._fields.get(name);
|
|
103
|
-
if (!indices)
|
|
104
|
-
return [];
|
|
105
|
-
return indices.map(i => this.children[i]).filter(Boolean);
|
|
106
|
-
}
|
|
107
|
-
/** True if this node or any descendant has an error or missing node. */
|
|
108
|
-
get hasError() {
|
|
109
|
-
if (this.isError || this.isMissing)
|
|
110
|
-
return true;
|
|
111
|
-
return this.children.some(c => c.hasError);
|
|
112
|
-
}
|
|
113
|
-
/** Get the field name for a child at a given index. */
|
|
114
|
-
fieldNameForChild(index) {
|
|
115
|
-
if (!this._fields)
|
|
116
|
-
return null;
|
|
117
|
-
if (!this._childFieldNames) {
|
|
118
|
-
this._childFieldNames = new Map();
|
|
119
|
-
for (const [fieldName, indices] of this._fields) {
|
|
120
|
-
for (const idx of indices) {
|
|
121
|
-
this._childFieldNames.set(idx, fieldName);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
return this._childFieldNames.get(index) ?? null;
|
|
126
|
-
}
|
|
127
|
-
/** Add a child node, optionally associating it with a field name. */
|
|
128
|
-
appendChild(child, fieldName) {
|
|
129
|
-
if (!this._children)
|
|
130
|
-
this._children = [];
|
|
131
|
-
const idx = this._children.length;
|
|
132
|
-
child.parent = this;
|
|
133
|
-
child._childIndex = idx;
|
|
134
|
-
this._children.push(child);
|
|
135
|
-
// Track end position incrementally
|
|
136
|
-
this.endRow = child.endRow;
|
|
137
|
-
this.endCol = child.endCol;
|
|
138
|
-
this.endOffset = child.endOffset;
|
|
139
|
-
if (fieldName) {
|
|
140
|
-
if (!this._fields)
|
|
141
|
-
this._fields = new Map();
|
|
142
|
-
let arr = this._fields.get(fieldName);
|
|
143
|
-
if (!arr) {
|
|
144
|
-
arr = [];
|
|
145
|
-
this._fields.set(fieldName, arr);
|
|
146
|
-
}
|
|
147
|
-
arr.push(idx);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
/** @deprecated No-op: appendChild() tracks end position incrementally. */
|
|
151
|
-
finalize() {
|
|
152
|
-
// No-op — appendChild() updates endOffset/endPosition incrementally.
|
|
153
|
-
}
|
|
154
|
-
/** Serialize to s-expression format for testing (named nodes only, no text). */
|
|
155
|
-
toSExp() {
|
|
156
|
-
return nodeToSExp(this);
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Serialize to verbose s-expression format that includes ALL nodes
|
|
160
|
-
* (both named and anonymous) with truncated text content.
|
|
161
|
-
* Matches the source-of-truth format in sot/source.s-expression.
|
|
162
|
-
*/
|
|
163
|
-
toVerboseSExp() {
|
|
164
|
-
return nodeToVerboseSExp(this, 0);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
/** Create a leaf node (no children) from a token. */
|
|
168
|
-
export function leafNode(type, source, startOffset, endOffset, startPosition, endPosition, isNamed = true, isError = false, isMissing = false) {
|
|
169
|
-
return new CSTNode(type, source, startOffset, endOffset, startPosition, endPosition, isNamed, isError, isMissing);
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Serialize a CST to s-expression format matching tree-sitter output.
|
|
173
|
-
* Only named nodes appear; anonymous nodes (punctuation, keywords) are hidden.
|
|
174
|
-
* Field names appear as `field: (node)`.
|
|
175
|
-
*/
|
|
176
|
-
function nodeToSExp(node) {
|
|
177
|
-
const parts = [];
|
|
178
|
-
for (let i = 0; i < node.children.length; i++) {
|
|
179
|
-
const child = node.children[i];
|
|
180
|
-
if (!child.isNamed && !child.isError && !child.isMissing)
|
|
181
|
-
continue; // Skip anonymous tokens
|
|
182
|
-
const fieldName = node.fieldNameForChild(i);
|
|
183
|
-
const childStr = child.children.length > 0 || child.isError
|
|
184
|
-
? nodeToSExp(child)
|
|
185
|
-
: child.isMissing
|
|
186
|
-
? `(MISSING ${child.type})`
|
|
187
|
-
: `(${child.type})`;
|
|
188
|
-
if (fieldName) {
|
|
189
|
-
parts.push(`${fieldName}: ${childStr}`);
|
|
190
|
-
}
|
|
191
|
-
else {
|
|
192
|
-
parts.push(childStr);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
if (node.isError) {
|
|
196
|
-
if (parts.length === 0) {
|
|
197
|
-
return `(ERROR)`;
|
|
198
|
-
}
|
|
199
|
-
return `(ERROR ${parts.join(' ')})`;
|
|
200
|
-
}
|
|
201
|
-
if (node.isMissing) {
|
|
202
|
-
return `(MISSING ${node.type})`;
|
|
203
|
-
}
|
|
204
|
-
if (parts.length === 0) {
|
|
205
|
-
return `(${node.type})`;
|
|
206
|
-
}
|
|
207
|
-
return `(${node.type} ${parts.join(' ')})`;
|
|
208
|
-
}
|
|
209
|
-
/**
|
|
210
|
-
* Verbose s-expression: includes ALL nodes (named + anonymous) with text.
|
|
211
|
-
* Leaf text is truncated to 20 chars with `…`.
|
|
212
|
-
* Format: (type "text") for leaves, (type children...) for branches.
|
|
213
|
-
*/
|
|
214
|
-
function nodeToVerboseSExp(node, depth) {
|
|
215
|
-
const indent = ' '.repeat(depth);
|
|
216
|
-
// MISSING nodes always render as (MISSING "type")
|
|
217
|
-
if (node.isMissing) {
|
|
218
|
-
return `${indent}(MISSING ${JSON.stringify(node.type)})`;
|
|
219
|
-
}
|
|
220
|
-
// ERROR nodes
|
|
221
|
-
if (node.isError && node.children.length === 0) {
|
|
222
|
-
return `${indent}(ERROR)`;
|
|
223
|
-
}
|
|
224
|
-
if (node.children.length === 0) {
|
|
225
|
-
// Leaf node — show text
|
|
226
|
-
const rawText = node.text;
|
|
227
|
-
const truncated = rawText.length > 20 ? rawText.slice(0, 20) + '…' : rawText;
|
|
228
|
-
const escaped = JSON.stringify(truncated);
|
|
229
|
-
return `${indent}(${node.type} ${escaped})`;
|
|
230
|
-
}
|
|
231
|
-
// Branch node — recurse
|
|
232
|
-
const childLines = [];
|
|
233
|
-
for (const child of node.children) {
|
|
234
|
-
childLines.push(nodeToVerboseSExp(child, depth + 1));
|
|
235
|
-
}
|
|
236
|
-
return `${indent}(${node.type}\n${childLines.join('\n')})`;
|
|
237
|
-
}
|
|
238
|
-
//# sourceMappingURL=cst-node.js.map
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Error recovery utilities for the parser.
|
|
3
|
-
*
|
|
4
|
-
* Core invariant: NEWLINE and DEDENT are unconditional synchronization points.
|
|
5
|
-
* No error ever cascades past them.
|
|
6
|
-
*/
|
|
7
|
-
import { TokenKind, type Token } from './token.js';
|
|
8
|
-
import { CSTNode } from './cst-node.js';
|
|
9
|
-
/**
|
|
10
|
-
* Create an ERROR node wrapping the given children.
|
|
11
|
-
*/
|
|
12
|
-
export declare function makeErrorNode(source: string, children: CSTNode[], startOffset: number, endOffset: number, startPosition: {
|
|
13
|
-
row: number;
|
|
14
|
-
column: number;
|
|
15
|
-
}, endPosition: {
|
|
16
|
-
row: number;
|
|
17
|
-
column: number;
|
|
18
|
-
}): CSTNode;
|
|
19
|
-
/**
|
|
20
|
-
* Create a MISSING node — a node that was expected but not present in the source.
|
|
21
|
-
*/
|
|
22
|
-
export declare function makeMissingNode(type: string, source: string, position: {
|
|
23
|
-
row: number;
|
|
24
|
-
column: number;
|
|
25
|
-
}, offset: number): CSTNode;
|
|
26
|
-
/**
|
|
27
|
-
* Create a leaf node from a token.
|
|
28
|
-
*/
|
|
29
|
-
export declare function tokenToLeaf(token: Token, source: string, isNamed: boolean, offset: number): CSTNode;
|
|
30
|
-
/** Create a leaf CST node from a token, auto-determining isNamed from its kind. */
|
|
31
|
-
export declare function tokenToAutoLeaf(token: Token, source: string, offset: number): CSTNode;
|
|
32
|
-
/** Check if a token kind is a synchronization point. */
|
|
33
|
-
export declare function isSyncPoint(kind: TokenKind): boolean;
|
|
34
|
-
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2026, Salesforce, Inc.
|
|
3
|
-
* All rights reserved.
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
* For full license text, see the LICENSE file in the repo root or https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Error recovery utilities for the parser.
|
|
9
|
-
*
|
|
10
|
-
* Core invariant: NEWLINE and DEDENT are unconditional synchronization points.
|
|
11
|
-
* No error ever cascades past them.
|
|
12
|
-
*/
|
|
13
|
-
import { TokenKind } from './token.js';
|
|
14
|
-
import { CSTNode } from './cst-node.js';
|
|
15
|
-
/**
|
|
16
|
-
* Create an ERROR node wrapping the given children.
|
|
17
|
-
*/
|
|
18
|
-
export function makeErrorNode(source, children, startOffset, endOffset, startPosition, endPosition) {
|
|
19
|
-
const node = new CSTNode('ERROR', source, startOffset, endOffset, startPosition, endPosition, true, true);
|
|
20
|
-
for (const child of children) {
|
|
21
|
-
node.appendChild(child);
|
|
22
|
-
}
|
|
23
|
-
return node;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Create a MISSING node — a node that was expected but not present in the source.
|
|
27
|
-
*/
|
|
28
|
-
export function makeMissingNode(type, source, position, offset) {
|
|
29
|
-
return new CSTNode(type, source, offset, offset, position, position, true, false, true);
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Create a leaf node from a token.
|
|
33
|
-
*/
|
|
34
|
-
export function tokenToLeaf(token, source, isNamed, offset) {
|
|
35
|
-
return new CSTNode(tokenTypeToNodeType(token), source, offset, offset + token.text.length, token.start, token.end, isNamed);
|
|
36
|
-
}
|
|
37
|
-
/** Named token kinds — tokens that become named CST children. */
|
|
38
|
-
const NAMED_TOKEN_KINDS = new Set([
|
|
39
|
-
TokenKind.ID,
|
|
40
|
-
TokenKind.NUMBER,
|
|
41
|
-
TokenKind.STRING,
|
|
42
|
-
TokenKind.DATETIME,
|
|
43
|
-
TokenKind.COMMENT,
|
|
44
|
-
TokenKind.ELLIPSIS,
|
|
45
|
-
]);
|
|
46
|
-
/** Create a leaf CST node from a token, auto-determining isNamed from its kind. */
|
|
47
|
-
export function tokenToAutoLeaf(token, source, offset) {
|
|
48
|
-
return tokenToLeaf(token, source, NAMED_TOKEN_KINDS.has(token.kind), offset);
|
|
49
|
-
}
|
|
50
|
-
function tokenTypeToNodeType(token) {
|
|
51
|
-
switch (token.kind) {
|
|
52
|
-
case TokenKind.ID:
|
|
53
|
-
return 'id';
|
|
54
|
-
case TokenKind.NUMBER:
|
|
55
|
-
return 'number';
|
|
56
|
-
case TokenKind.STRING:
|
|
57
|
-
return 'string';
|
|
58
|
-
case TokenKind.DATETIME:
|
|
59
|
-
return 'datetime_literal';
|
|
60
|
-
case TokenKind.COMMENT:
|
|
61
|
-
return 'comment';
|
|
62
|
-
case TokenKind.ELLIPSIS:
|
|
63
|
-
return 'ellipsis';
|
|
64
|
-
default:
|
|
65
|
-
return token.text;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
/** Check if a token kind is a synchronization point. */
|
|
69
|
-
export function isSyncPoint(kind) {
|
|
70
|
-
return (kind === TokenKind.NEWLINE ||
|
|
71
|
-
kind === TokenKind.DEDENT ||
|
|
72
|
-
kind === TokenKind.EOF);
|
|
73
|
-
}
|
|
74
|
-
//# sourceMappingURL=errors.js.map
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pratt expression parser for AgentScript.
|
|
3
|
-
*
|
|
4
|
-
* Precedence levels (matching grammar.js):
|
|
5
|
-
* 0: ternary (X if C else Y) — right-associative
|
|
6
|
-
* 1: or
|
|
7
|
-
* 2: and
|
|
8
|
-
* 3: not (prefix)
|
|
9
|
-
* 4: ==, !=, <, >, <=, >=, is, is not, = (comparison)
|
|
10
|
-
* 5: +, - (binary)
|
|
11
|
-
* 6: *, /
|
|
12
|
-
* 7: +, - (unary prefix)
|
|
13
|
-
* 8: call, member, subscript (postfix)
|
|
14
|
-
* 9: parenthesized (atomic)
|
|
15
|
-
*/
|
|
16
|
-
import { TokenKind } from './token.js';
|
|
17
|
-
import { CSTNode } from './cst-node.js';
|
|
18
|
-
import type { ParserContext } from './parser.js';
|
|
19
|
-
export declare function parseExpression(ctx: ParserContext, minPrec?: number): CSTNode | null;
|
|
20
|
-
export declare function parseString(ctx: ParserContext): CSTNode;
|
|
21
|
-
/**
|
|
22
|
-
* Leaf/literal types that need an intermediate `atom` wrapper before the `expression` wrapper.
|
|
23
|
-
*/
|
|
24
|
-
export declare const ATOM_TYPES: Set<string>;
|
|
25
|
-
/**
|
|
26
|
-
* Wrap an expression in an `expression` supertype node if it isn't already one.
|
|
27
|
-
* Tree-sitter wraps most expression children in an (expression ...) wrapper.
|
|
28
|
-
*/
|
|
29
|
-
export declare function wrapExpression(ctx: ParserContext, inner: CSTNode): CSTNode;
|
|
30
|
-
export declare function isKeyStart(ctx: ParserContext): boolean;
|
|
31
|
-
/** Can this token kind begin a key? (ID, STRING, or NUMBER for digit-prefixed keys like `3var`) */
|
|
32
|
-
export declare function isKeyTokenStart(kind: TokenKind): boolean;
|
|
33
|
-
/** Can this token kind appear within a multi-part key? (key-start tokens plus MINUS/DOT for `my-var`, `a.b`) */
|
|
34
|
-
export declare function isKeyTokenContinuation(kind: TokenKind): boolean;
|
|
35
|
-
export declare function parseKey(ctx: ParserContext): CSTNode | null;
|
|
36
|
-
//# sourceMappingURL=expressions.d.ts.map
|