@prosdevlab/dev-agent 0.8.5
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/LICENSE +21 -0
- package/README.md +138 -0
- package/dist/cli.js +74721 -0
- package/dist/cli.js.map +1 -0
- package/dist/mcp.js +61445 -0
- package/dist/mcp.js.map +1 -0
- package/dist/vendor/web-tree-sitter/lib/alloc.c +48 -0
- package/dist/vendor/web-tree-sitter/lib/alloc.h +41 -0
- package/dist/vendor/web-tree-sitter/lib/array.h +291 -0
- package/dist/vendor/web-tree-sitter/lib/atomic.h +68 -0
- package/dist/vendor/web-tree-sitter/lib/clock.h +146 -0
- package/dist/vendor/web-tree-sitter/lib/error_costs.h +11 -0
- package/dist/vendor/web-tree-sitter/lib/get_changed_ranges.c +523 -0
- package/dist/vendor/web-tree-sitter/lib/get_changed_ranges.h +36 -0
- package/dist/vendor/web-tree-sitter/lib/host.h +21 -0
- package/dist/vendor/web-tree-sitter/lib/language.c +293 -0
- package/dist/vendor/web-tree-sitter/lib/language.h +293 -0
- package/dist/vendor/web-tree-sitter/lib/length.h +52 -0
- package/dist/vendor/web-tree-sitter/lib/lexer.c +483 -0
- package/dist/vendor/web-tree-sitter/lib/lexer.h +54 -0
- package/dist/vendor/web-tree-sitter/lib/lib.c +12 -0
- package/dist/vendor/web-tree-sitter/lib/node.c +875 -0
- package/dist/vendor/web-tree-sitter/lib/parser.c +2297 -0
- package/dist/vendor/web-tree-sitter/lib/parser.h +286 -0
- package/dist/vendor/web-tree-sitter/lib/point.h +48 -0
- package/dist/vendor/web-tree-sitter/lib/query.c +4347 -0
- package/dist/vendor/web-tree-sitter/lib/reduce_action.h +34 -0
- package/dist/vendor/web-tree-sitter/lib/reusable_node.h +95 -0
- package/dist/vendor/web-tree-sitter/lib/stack.c +912 -0
- package/dist/vendor/web-tree-sitter/lib/stack.h +133 -0
- package/dist/vendor/web-tree-sitter/lib/subtree.c +1034 -0
- package/dist/vendor/web-tree-sitter/lib/subtree.h +399 -0
- package/dist/vendor/web-tree-sitter/lib/tree-sitter.c +987 -0
- package/dist/vendor/web-tree-sitter/lib/tree-sitter.cjs +2988 -0
- package/dist/vendor/web-tree-sitter/lib/tree-sitter.wasm +0 -0
- package/dist/vendor/web-tree-sitter/lib/tree-sitter.wasm.map +1 -0
- package/dist/vendor/web-tree-sitter/lib/tree.c +170 -0
- package/dist/vendor/web-tree-sitter/lib/tree.h +31 -0
- package/dist/vendor/web-tree-sitter/lib/tree_cursor.c +716 -0
- package/dist/vendor/web-tree-sitter/lib/tree_cursor.h +48 -0
- package/dist/vendor/web-tree-sitter/lib/ts_assert.h +11 -0
- package/dist/vendor/web-tree-sitter/lib/unicode.h +75 -0
- package/dist/vendor/web-tree-sitter/lib/wasm_store.c +1937 -0
- package/dist/vendor/web-tree-sitter/lib/wasm_store.h +31 -0
- package/dist/vendor/web-tree-sitter/package.json +98 -0
- package/dist/vendor/web-tree-sitter/tree-sitter.cjs +4031 -0
- package/dist/vendor/web-tree-sitter/tree-sitter.wasm +0 -0
- package/dist/wasm/tree-sitter-go.wasm +0 -0
- package/dist/wasm/tree-sitter.wasm +0 -0
- package/package.json +65 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
#ifndef TREE_SITTER_REDUCE_ACTION_H_
|
|
2
|
+
#define TREE_SITTER_REDUCE_ACTION_H_
|
|
3
|
+
|
|
4
|
+
#ifdef __cplusplus
|
|
5
|
+
extern "C" {
|
|
6
|
+
#endif
|
|
7
|
+
|
|
8
|
+
#include "./array.h"
|
|
9
|
+
#include "tree_sitter/api.h"
|
|
10
|
+
|
|
11
|
+
typedef struct {
|
|
12
|
+
uint32_t count;
|
|
13
|
+
TSSymbol symbol;
|
|
14
|
+
int dynamic_precedence;
|
|
15
|
+
unsigned short production_id;
|
|
16
|
+
} ReduceAction;
|
|
17
|
+
|
|
18
|
+
typedef Array(ReduceAction) ReduceActionSet;
|
|
19
|
+
|
|
20
|
+
static inline void ts_reduce_action_set_add(ReduceActionSet *self,
|
|
21
|
+
ReduceAction new_action) {
|
|
22
|
+
for (uint32_t i = 0; i < self->size; i++) {
|
|
23
|
+
ReduceAction action = self->contents[i];
|
|
24
|
+
if (action.symbol == new_action.symbol && action.count == new_action.count)
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
array_push(self, new_action);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
#ifdef __cplusplus
|
|
31
|
+
}
|
|
32
|
+
#endif
|
|
33
|
+
|
|
34
|
+
#endif // TREE_SITTER_REDUCE_ACTION_H_
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
#include "./subtree.h"
|
|
2
|
+
|
|
3
|
+
typedef struct {
|
|
4
|
+
Subtree tree;
|
|
5
|
+
uint32_t child_index;
|
|
6
|
+
uint32_t byte_offset;
|
|
7
|
+
} StackEntry;
|
|
8
|
+
|
|
9
|
+
typedef struct {
|
|
10
|
+
Array(StackEntry) stack;
|
|
11
|
+
Subtree last_external_token;
|
|
12
|
+
} ReusableNode;
|
|
13
|
+
|
|
14
|
+
static inline ReusableNode reusable_node_new(void) {
|
|
15
|
+
return (ReusableNode) {array_new(), NULL_SUBTREE};
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
static inline void reusable_node_clear(ReusableNode *self) {
|
|
19
|
+
array_clear(&self->stack);
|
|
20
|
+
self->last_external_token = NULL_SUBTREE;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
static inline Subtree reusable_node_tree(ReusableNode *self) {
|
|
24
|
+
return self->stack.size > 0
|
|
25
|
+
? self->stack.contents[self->stack.size - 1].tree
|
|
26
|
+
: NULL_SUBTREE;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
static inline uint32_t reusable_node_byte_offset(ReusableNode *self) {
|
|
30
|
+
return self->stack.size > 0
|
|
31
|
+
? self->stack.contents[self->stack.size - 1].byte_offset
|
|
32
|
+
: UINT32_MAX;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
static inline void reusable_node_delete(ReusableNode *self) {
|
|
36
|
+
array_delete(&self->stack);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
static inline void reusable_node_advance(ReusableNode *self) {
|
|
40
|
+
StackEntry last_entry = *array_back(&self->stack);
|
|
41
|
+
uint32_t byte_offset = last_entry.byte_offset + ts_subtree_total_bytes(last_entry.tree);
|
|
42
|
+
if (ts_subtree_has_external_tokens(last_entry.tree)) {
|
|
43
|
+
self->last_external_token = ts_subtree_last_external_token(last_entry.tree);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
Subtree tree;
|
|
47
|
+
uint32_t next_index;
|
|
48
|
+
do {
|
|
49
|
+
StackEntry popped_entry = array_pop(&self->stack);
|
|
50
|
+
next_index = popped_entry.child_index + 1;
|
|
51
|
+
if (self->stack.size == 0) return;
|
|
52
|
+
tree = array_back(&self->stack)->tree;
|
|
53
|
+
} while (ts_subtree_child_count(tree) <= next_index);
|
|
54
|
+
|
|
55
|
+
array_push(&self->stack, ((StackEntry) {
|
|
56
|
+
.tree = ts_subtree_children(tree)[next_index],
|
|
57
|
+
.child_index = next_index,
|
|
58
|
+
.byte_offset = byte_offset,
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
static inline bool reusable_node_descend(ReusableNode *self) {
|
|
63
|
+
StackEntry last_entry = *array_back(&self->stack);
|
|
64
|
+
if (ts_subtree_child_count(last_entry.tree) > 0) {
|
|
65
|
+
array_push(&self->stack, ((StackEntry) {
|
|
66
|
+
.tree = ts_subtree_children(last_entry.tree)[0],
|
|
67
|
+
.child_index = 0,
|
|
68
|
+
.byte_offset = last_entry.byte_offset,
|
|
69
|
+
}));
|
|
70
|
+
return true;
|
|
71
|
+
} else {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
static inline void reusable_node_advance_past_leaf(ReusableNode *self) {
|
|
77
|
+
while (reusable_node_descend(self)) {}
|
|
78
|
+
reusable_node_advance(self);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
static inline void reusable_node_reset(ReusableNode *self, Subtree tree) {
|
|
82
|
+
reusable_node_clear(self);
|
|
83
|
+
array_push(&self->stack, ((StackEntry) {
|
|
84
|
+
.tree = tree,
|
|
85
|
+
.child_index = 0,
|
|
86
|
+
.byte_offset = 0,
|
|
87
|
+
}));
|
|
88
|
+
|
|
89
|
+
// Never reuse the root node, because it has a non-standard internal structure
|
|
90
|
+
// due to transformations that are applied when it is accepted: adding the EOF
|
|
91
|
+
// child and any extra children.
|
|
92
|
+
if (!reusable_node_descend(self)) {
|
|
93
|
+
reusable_node_clear(self);
|
|
94
|
+
}
|
|
95
|
+
}
|