@cratis/pi 2.24.0 → 2.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -207,16 +207,20 @@ The language service ships two ways: the Monaco package
207
207
  (marketplace id `cratis.screenplay`), which is the same service plus a `.play`
208
208
  file icon.
209
209
 
210
- ⚠️ Its keyword list has drifted from the parser. `theme`, `ui`, `form`,
211
- `contribute`, `dialog` and `reducer` have no keyword, tokenizer or completion
212
- entry in the Monaco package (the words occur only in prose and theme names),
213
- although all six are real constructs the compiler accepts. They get no
214
- highlighting and no completion. Absent highlighting is not evidence that a
215
- construct is wrong — check `screenplay` instead.
210
+ Its keyword list had drifted from the parser: `capture`, `projection`, `reducer`,
211
+ `contribute`, `dialog`, `form`, `theme` and `ui` were constructs the compiler
212
+ accepts with no keyword entry, so they got no highlighting and no completion.
213
+ Fixed in `Cratis/Screenplay#199`, which also added a specification deriving the
214
+ dispatched set from the parsers so the two cannot drift apart again silently.
215
+
216
+ ⚠️ The general lesson stands regardless: **absent highlighting is not evidence
217
+ that a construct is wrong** — check `screenplay` rather than the editor.
216
218
 
217
219
  The repository's TypeScript workspaces are **not** built, linted or tested by any
218
- pull-request workflow; they run only inside the release job. Do not read a green
219
- pull request as evidence the language service still compiles.
220
+ pull-request workflow; only `dotnet-build.yml` runs tests on a pull request. Do
221
+ not read a green pull request as evidence the language service still compiles —
222
+ and put any guard on the language service in the C# suite, which is the one that
223
+ actually runs.
220
224
 
221
225
  ## Verify
222
226
 
@@ -3,15 +3,17 @@
3
3
  Verified against `Documentation/screenplay/projections/grammar.md` and
4
4
  `Source/DotNET/Screenplay/Parsing/ProjectionParser.cs` at commit `122eee8`.
5
5
 
6
- Two places below are deliberately **looser than the published EBNF**, because the
7
- parser accepts more than that EBNF describes and both forms were confirmed by
8
- compiling them:
9
-
10
- - `EveryBlock` accepts a bare `automap` as well as `no automap`. The published
11
- grammar lists only `no automap`, but `from-every.md` shows `automap` in an
12
- example and `ParseMappingBlock` handles both.
13
- - The braces on a composite key are **optional**. The published grammar writes
14
- them as required; a composite key with and without them both compile clean.
6
+ Three things below were once looser than the published EBNF, because the parser
7
+ accepts more than that EBNF described. `Cratis/Screenplay#199` corrected the
8
+ reference, so the two now agree:
9
+
10
+ - `EveryBlock` accepts a bare `automap` as well as `no automap`.
11
+ - The braces on a composite key are **optional** — a composite key with and
12
+ without them both compile clean.
13
+ - `$causedBy` is a valid expression root.
14
+
15
+ Against a Screenplay older than that fix the published grammar is the stricter of
16
+ the two, and this file is the accurate one.
15
17
 
16
18
  ## Grammar
17
19
 
@@ -21,11 +21,11 @@ Read from the Screenplay repository at tag `v4.12.1` (commit `122eee8`), against
21
21
  and `Source/DotNET/Screenplay/Parsing/`. Reverify before claiming another version
22
22
  behaves the same.
23
23
 
24
- ⚠️ **The Monaco and VS Code language service does not know these words.** `theme`,
25
- `ui`, `form`, `contribute`, `dialog` and `reducer` are absent from its keyword and
26
- tokenizer lists at this commit, so they get no highlighting and no completion.
27
- They are still real constructs the compiler accepts — check `screenplay`, not the
28
- editor.
24
+ These constructs went unhighlighted and uncompleted by the Monaco and VS Code
25
+ language service until `Cratis/Screenplay#199` gave every construct the parser
26
+ dispatches on a keyword entry. On an older language-service version they still
27
+ look unrecognized — **check `screenplay`, not the editor**, because absent
28
+ highlighting was never evidence that a construct is wrong.
29
29
 
30
30
  ## `layout` — the application shell
31
31
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cratis/pi",
3
- "version": "2.24.0",
3
+ "version": "2.24.1",
4
4
  "description": "Configuration-aware Cratis AI integration for Pi",
5
5
  "type": "module",
6
6
  "files": [