@xano/xanoscript-language-server 11.10.1 → 11.11.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.
@@ -2,20 +2,35 @@
2
2
  "permissions": {
3
3
  "allow": [
4
4
  "Bash(npm test:*)",
5
- "Bash(git checkout:*)",
6
- "Bash(ls:*)",
7
- "Bash(npm run lint:*)",
5
+ "Bash(npm run lint)",
6
+ "Bash(npm run test:*)",
7
+ "Bash(npx eslint:*)",
8
+ "Bash(node:*)",
9
+ "Bash(npm install)",
8
10
  "Bash(grep:*)",
11
+ "Bash(git -C /Users/justinalbrecht/git/xs-language-server log --all --pretty=format:\"%h %s\")",
12
+ "Bash(git -C /Users/justinalbrecht/git/xs-language-server log --all -S \"password\\\\|secret\\\\|api_key\\\\|token\" --oneline)",
13
+ "Bash(xargs file:*)",
9
14
  "Bash(find:*)",
10
- "Read(//tmp/**)",
11
- "Bash(git stash:*)",
12
- "Bash(do)",
13
- "Bash(if ! grep -q \"guidFieldAttribute\" \"$f\")",
14
- "Bash(then)",
15
- "Bash(echo:*)",
16
- "Bash(fi)",
17
- "Bash(done)",
18
- "Bash(npx eslint:*)"
19
- ]
15
+ "Bash(git -C /Users/justinalbrecht/git/xs-language-server log -p --all -S \"webhook\\\\|Bearer\\\\|discord\\\\|slack\\\\|xano_insiders\" -- \"*.xs\" \"*.js\")",
16
+ "Bash(git -C /Users/justinalbrecht/git/xs-language-server ls-files:*)",
17
+ "Bash(git -C /Users/justinalbrecht/git/xs-language-server status)",
18
+ "Bash(git -C /Users/justinalbrecht/git/xs-language-server diff --stat)",
19
+ "Bash(git -C /Users/justinalbrecht/git/xs-language-server log --oneline -5)",
20
+ "Bash(git -C /Users/justinalbrecht/git/xs-language-server add README.md LICENSE package.json lexer/tests/query/valid_sources/basic_query.xs parser/functions/stream/streamFromRequestFn.js parser/functions/stream/streamFromRequestFn.spec.js parser/tests/function/valid_sources/discord_poll_send_to_slack.xs parser/tests/query/valid_sources/all_basics.xs)",
21
+ "Bash(git -C /Users/justinalbrecht/git/xs-language-server commit -m \"$\\(cat <<''EOF''\nPrepare package for public npm release as @xano/xanoscript-language-server\n\n- Rename package to @xano/xanoscript-language-server\n- Add MIT LICENSE file\n- Add npm metadata \\(description, repository, author, license, bugs, homepage\\)\n- Remove private flag to allow publishing\n- Sanitize test files: replace internal URLs, IDs, and env var names with placeholders\n- Simplify README maintainer section\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>\nEOF\n\\)\")",
22
+ "Bash(git -C /Users/justinalbrecht/git/xs-language-server log -1 --oneline)",
23
+ "Bash(git add:*)",
24
+ "Bash(git commit:*)",
25
+ "Bash(git push)",
26
+ "Bash(npm whoami:*)",
27
+ "Bash(npm view:*)",
28
+ "Bash(npm version:*)",
29
+ "Bash(npm publish:*)",
30
+ "Bash(wc:*)",
31
+ "Bash(git push:*)"
32
+ ],
33
+ "deny": [],
34
+ "ask": []
20
35
  }
21
36
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xano/xanoscript-language-server",
3
- "version": "11.10.1",
3
+ "version": "11.11.0",
4
4
  "description": "Language Server Protocol implementation for XanoScript",
5
5
  "type": "module",
6
6
  "main": "server.js",
@@ -46,6 +46,11 @@ describe("dbDelFn", () => {
46
46
  expect(parser.errors).to.be.empty;
47
47
  });
48
48
 
49
+ it("dbDelFn rejects comma separated attributes", () => {
50
+ const parser = parse(`del account {field_name = "id", field_value = "a"}`);
51
+ expect(parser.errors).to.not.be.empty;
52
+ });
53
+
49
54
  it("dbDelFn requires a field_name", () => {
50
55
  const parser = parse(`del user {
51
56
  field_value = $input.email
@@ -1,11 +1,6 @@
1
1
  import { get, isPlainObject, keys, some } from "lodash-es";
2
2
  import { ExclamationToken } from "../../../lexer/cast.js";
3
- import {
4
- CommaToken,
5
- EqualToken,
6
- LCurly,
7
- RCurly,
8
- } from "../../../lexer/control.js";
3
+ import { EqualToken, LCurly, RCurly } from "../../../lexer/control.js";
9
4
  import { StringLiteral } from "../../../lexer/literal.js";
10
5
  import { Identifier, NewlineToken } from "../../../lexer/tokens.js";
11
6
  import {
@@ -156,10 +151,7 @@ function _schemaParseAttributeFn($) {
156
151
  $.CONSUME1(NewlineToken);
157
152
  });
158
153
 
159
- $.OPTION(() => {
160
- needSeparator = false;
161
- $.CONSUME1(CommaToken);
162
- });
154
+ lastToken = objectKeyToken;
163
155
  });
164
156
  $.CONSUME(RCurly); // "}"
165
157
 
@@ -127,15 +127,17 @@ describe("schemaParseAttributeFn", () => {
127
127
  expect(parser.errors).to.be.empty;
128
128
 
129
129
  parse(`value = {
130
- something = 123.2,
130
+ something = 123.2
131
131
  other_thing = 44
132
132
  }`).schemaParseAttributeFn_flat();
133
133
  expect(parser.errors).to.be.empty;
134
+ });
134
135
 
136
+ it("schemaParseAttributeFn rejects comma separated attributes", () => {
135
137
  parse(
136
138
  `value = { something = 123.2, other_thing = 44 }`,
137
139
  ).schemaParseAttributeFn_flat();
138
- expect(parser.errors).to.be.empty;
140
+ expect(parser.errors).to.not.be.empty;
139
141
  });
140
142
 
141
143
  it("schemaParseAttributeFn immutable restricts to valid token", () => {
@@ -1,11 +0,0 @@
1
- ---
2
- name: no-git-interactions
3
- description: User does not want Claude to interact with git (no commits, no staging, no git commands)
4
- type: feedback
5
- ---
6
-
7
- Do not interact with git — no commits, no staging, no git commands. Focus purely on implementation and testing.
8
-
9
- **Why:** User manages their own git workflow.
10
-
11
- **How to apply:** Skip all git-related steps in plans. When dispatching subagents, explicitly tell them not to run any git commands. Remove commit steps from task instructions.