@cratis/screenplay-language 2.6.1 → 3.0.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.
@@ -39,7 +39,7 @@ export const featureItems: CompletionEntry[] = [
39
39
  { label: 'feature', insertText: 'feature ${1:Name}\n ', documentation: 'Declares a nested sub-feature.' },
40
40
  { label: 'slice StateChange', insertText: 'slice StateChange ${1:Name}\n ', documentation: 'A command → events flow; something that changes the system.' },
41
41
  { label: 'slice StateView', insertText: 'slice StateView ${1:Name}\n ', documentation: 'A query + projection + screen; something that reads the system.' },
42
- { label: 'slice Automation', insertText: 'slice Automation ${1:Name}\n ', documentation: 'A reactor or reducer; something that reacts to events.' },
42
+ { label: 'slice Automation', insertText: 'slice Automation ${1:Name}\n ', documentation: 'A reaction or reducer; something that runs when something happens.' },
43
43
  { label: 'slice Translate', insertText: 'slice Translate ${1:Name}\n ', documentation: 'A capture; converts external data into events.' },
44
44
  ];
45
45
 
@@ -50,7 +50,7 @@ export const sliceItems: CompletionEntry[] = [
50
50
  { label: 'query observable', insertText: 'query ${1:Name} => observable ${2:ReadModel}', documentation: 'Declares a live read — the query keeps pushing as the read model changes, instead of answering once.' },
51
51
  { label: 'projection', insertText: 'projection ${1:Name} => ${2:ReadModel}\n from ${3:EventType}', documentation: 'Declares how events project into a read model (PDL).' },
52
52
  { label: 'capture', insertText: 'capture ${1:Name}\n source ${2:api}', documentation: 'Declares a change data capture converting external data into events (CDL).' },
53
- { label: 'reactor', insertText: 'reactor ${1:Name}\n on ${2:EventType}', documentation: 'Declares an event reaction rule.' },
53
+ { label: 'reaction', insertText: 'reaction ${1:Name}\n when ${2:Trigger}', documentation: 'Declares behavior that runs when something happens.' },
54
54
  { label: 'screen', insertText: 'screen ${1:Name}\n data ${2:ReadModel} via query ${3:QueryName}', documentation: 'Declares a UI screen.' },
55
55
  { label: 'constraint', insertText: 'constraint ${1:Name}\n unique ${2:property} on ${3:EventType}', documentation: 'Declares a server-side rule enforced before events are committed.' },
56
56
  ];
@@ -95,17 +95,27 @@ export const constraintItems: CompletionEntry[] = [
95
95
  { label: 'file', insertText: 'file ${1:Path}', documentation: 'Delegates the constraint to a custom C# implementation.' },
96
96
  ];
97
97
 
98
- export const reactorItems: CompletionEntry[] = [
99
- { label: 'description', insertText: 'description "${1:what this reactor does}"', documentation: 'What the reactor does — a complete statement of intent before any code exists.' },
100
- { label: 'on', insertText: 'on ${1:EventType}', documentation: 'Declares the event the reactor reacts to. A trigger needs no body.' },
98
+ export const reactionItems: CompletionEntry[] = [
99
+ { label: 'description', insertText: 'description "${1:what this reaction does}"', documentation: 'What the reaction does — a complete statement of intent before any code exists.' },
100
+ { label: 'when', insertText: 'when ${1:Trigger}', documentation: 'An event, a declared trigger or a host signal that sets the reaction off. A trigger needs no body.' },
101
+ { label: 'every', insertText: 'every ${1:15} ${2|seconds,minutes,hours,days|}', documentation: 'Runs the reaction on an interval.' },
102
+ { label: 'at', insertText: 'at ${1:08:00}', documentation: 'Runs the reaction at a time of day — every day unless narrowed with `on <Weekday>` or `on day <n>`.' },
103
+ { label: 'where', insertText: 'where ${1:condition}', documentation: 'Narrows which occurrences actually run the reaction.' },
101
104
  ];
102
105
 
103
- export const reactorOnItems: CompletionEntry[] = [
106
+ export const reactionTriggerItems: CompletionEntry[] = [
104
107
  { label: 'description', insertText: 'description "${1:what this reaction does}"', documentation: 'What this particular reaction does — enough on its own, with no file to point at.' },
108
+ { label: 'produces', insertText: 'produces ${1:EventType}', documentation: 'An event the reaction appends.' },
109
+ { label: 'invokes', insertText: 'invokes ${1:Command}', documentation: 'A command the reaction hands on. A command is asked for, not produced — it may still be rejected.' },
105
110
  { label: 'file', insertText: 'file ${1:Path}', documentation: 'Delegates the reaction to an external C# file.' },
106
111
  { label: 'csharp', insertText: fenced('csharp'), documentation: 'Inline C# returning event side effects.' },
107
112
  ];
108
113
 
114
+ export const triggerItems: CompletionEntry[] = [
115
+ { label: 'description', insertText: 'description "${1:when this occurs}"', documentation: 'What makes an occurrence of this trigger happen.' },
116
+ { label: 'value', insertText: '${1:name} ${2:Type}', documentation: 'A value an occurrence hands the reaction. The type is optional.' },
117
+ ];
118
+
109
119
  export const specificationItems: CompletionEntry[] = [
110
120
  { label: 'given', insertText: 'given ${1:EventType}\n ${2:property} = ${3:value}', documentation: 'Establishes prior state by replaying an event before the command runs.' },
111
121
  { label: 'given readmodel', insertText: 'given readmodel ${1:ReadModelType}\n ${2:property} = ${3:value}', documentation: 'Establishes prior read model state directly.' },
@@ -19,6 +19,8 @@ export type CompletionPlan =
19
19
  | { kind: 'contextVariables'; replaceLength: number }
20
20
  | { kind: 'policies' }
21
21
  | { kind: 'events' }
22
+ | { kind: 'triggers' }
23
+ | { kind: 'commands' }
22
24
  | { kind: 'producesTargets' }
23
25
  | { kind: 'screens' }
24
26
  | { kind: 'queries' }
@@ -52,10 +54,14 @@ export function completionEntriesFor(chain: string[]): CompletionEntry[] {
52
54
  return items.performerItems;
53
55
  case 'constraint':
54
56
  return items.constraintItems;
55
- case 'reactor':
56
- return items.reactorItems;
57
- case 'on':
58
- return items.reactorOnItems;
57
+ case 'reaction':
58
+ return items.reactionItems;
59
+ case 'trigger':
60
+ return items.triggerItems;
61
+ case 'when':
62
+ case 'every':
63
+ case 'at':
64
+ return chain.includes('reaction') ? items.reactionTriggerItems : [];
59
65
  case 'specification':
60
66
  return items.specificationItems;
61
67
  case 'policy':
@@ -100,9 +106,15 @@ export function planCompletions(
100
106
  if (/\bauthorize\s+[\w\s]*$/.test(textBefore) || chain[0] === 'authorize') {
101
107
  return { kind: 'policies' };
102
108
  }
103
- if (/\bon\s+\w*$/.test(textBefore) && (chain.includes('reactor') || chain.includes('constraint'))) {
109
+ if (/\bwhen\s+\w*$/.test(textBefore) && chain.includes('reaction')) {
110
+ return { kind: 'triggers' };
111
+ }
112
+ if (/\bon\s+\w*$/.test(textBefore) && chain.includes('constraint')) {
104
113
  return { kind: 'events' };
105
114
  }
115
+ if (/\binvokes\s+\w*$/.test(textBefore) && chain.includes('reaction')) {
116
+ return { kind: 'commands' };
117
+ }
106
118
  if (/\b(?:on|unique\s+event)\s+\w*$/.test(textBefore) && chain[0] === 'constraint') {
107
119
  return { kind: 'events' };
108
120
  }
package/completions.ts CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  import type { languages } from 'monaco-editor';
5
5
  import { Monaco, primitiveTypes } from './language';
6
- import { knownEventNames, scanDocument } from './symbols';
6
+ import { knownEventNames, knownTriggerNames, scanDocument } from './symbols';
7
7
  import { planCompletions } from './completion-planner';
8
8
  import { contextVariableItems, producesItems, CompletionEntry } from './completion-items';
9
9
 
@@ -75,6 +75,18 @@ export function createCompletionProvider(monaco: Monaco): languages.CompletionIt
75
75
  };
76
76
  case 'events':
77
77
  return { suggestions: eventNames() };
78
+ case 'triggers':
79
+ return {
80
+ suggestions: knownTriggerNames(symbols).map((name) =>
81
+ symbolItem(name, kinds.Event, 'trigger'),
82
+ ),
83
+ };
84
+ case 'commands':
85
+ return {
86
+ suggestions: symbols.commands.map((command) =>
87
+ symbolItem(command.name, kinds.Method, 'command'),
88
+ ),
89
+ };
78
90
  case 'producesTargets':
79
91
  return { suggestions: [...producesItems.map(snippet), ...eventNames()] };
80
92
  case 'screens':
@@ -15,8 +15,9 @@ export declare const handlerItems: CompletionEntry[];
15
15
  export declare const queryItems: CompletionEntry[];
16
16
  export declare const performerItems: CompletionEntry[];
17
17
  export declare const constraintItems: CompletionEntry[];
18
- export declare const reactorItems: CompletionEntry[];
19
- export declare const reactorOnItems: CompletionEntry[];
18
+ export declare const reactionItems: CompletionEntry[];
19
+ export declare const reactionTriggerItems: CompletionEntry[];
20
+ export declare const triggerItems: CompletionEntry[];
20
21
  export declare const specificationItems: CompletionEntry[];
21
22
  export declare const ruleItems: CompletionEntry[];
22
23
  export declare const policyItems: CompletionEntry[];
@@ -1 +1 @@
1
- {"version":3,"file":"completion-items.d.ts","sourceRoot":"","sources":["../completion-items.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACzB;AAID,eAAO,MAAM,aAAa,EAAE,eAAe,EAQ1C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAAe,EAIzC,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,eAAe,EAGtC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,EAGxC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAAe,EAMzC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,eAAe,EAUvC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAAe,EAQzC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,eAAe,EAE1C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAAe,EAGzC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,eAAe,EAOvC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,eAAe,EAI3C,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,eAAe,EAI5C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAAe,EAGzC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,eAAe,EAI3C,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,eAAe,EAQ/C,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,eAAe,EAGtC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,EAKxC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,eAAe,EAU1C,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,EAYxC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,EAGxC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,eAAe,EAGvC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,eAAe,EAiBjD,CAAC"}
1
+ {"version":3,"file":"completion-items.d.ts","sourceRoot":"","sources":["../completion-items.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACzB;AAID,eAAO,MAAM,aAAa,EAAE,eAAe,EAQ1C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAAe,EAIzC,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,eAAe,EAGtC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,EAGxC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAAe,EAMzC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,eAAe,EAUvC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAAe,EAQzC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,eAAe,EAE1C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAAe,EAGzC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,eAAe,EAOvC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,eAAe,EAI3C,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,eAAe,EAI5C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,eAAe,EAM1C,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,eAAe,EAMjD,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAAe,EAGzC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,eAAe,EAQ/C,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,eAAe,EAGtC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,EAKxC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,eAAe,EAU1C,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,EAYxC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,EAGxC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,eAAe,EAGvC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,eAAe,EAiBjD,CAAC"}
@@ -27,7 +27,7 @@ export const featureItems = [
27
27
  { label: 'feature', insertText: 'feature ${1:Name}\n ', documentation: 'Declares a nested sub-feature.' },
28
28
  { label: 'slice StateChange', insertText: 'slice StateChange ${1:Name}\n ', documentation: 'A command → events flow; something that changes the system.' },
29
29
  { label: 'slice StateView', insertText: 'slice StateView ${1:Name}\n ', documentation: 'A query + projection + screen; something that reads the system.' },
30
- { label: 'slice Automation', insertText: 'slice Automation ${1:Name}\n ', documentation: 'A reactor or reducer; something that reacts to events.' },
30
+ { label: 'slice Automation', insertText: 'slice Automation ${1:Name}\n ', documentation: 'A reaction or reducer; something that runs when something happens.' },
31
31
  { label: 'slice Translate', insertText: 'slice Translate ${1:Name}\n ', documentation: 'A capture; converts external data into events.' },
32
32
  ];
33
33
  export const sliceItems = [
@@ -37,7 +37,7 @@ export const sliceItems = [
37
37
  { label: 'query observable', insertText: 'query ${1:Name} => observable ${2:ReadModel}', documentation: 'Declares a live read — the query keeps pushing as the read model changes, instead of answering once.' },
38
38
  { label: 'projection', insertText: 'projection ${1:Name} => ${2:ReadModel}\n from ${3:EventType}', documentation: 'Declares how events project into a read model (PDL).' },
39
39
  { label: 'capture', insertText: 'capture ${1:Name}\n source ${2:api}', documentation: 'Declares a change data capture converting external data into events (CDL).' },
40
- { label: 'reactor', insertText: 'reactor ${1:Name}\n on ${2:EventType}', documentation: 'Declares an event reaction rule.' },
40
+ { label: 'reaction', insertText: 'reaction ${1:Name}\n when ${2:Trigger}', documentation: 'Declares behavior that runs when something happens.' },
41
41
  { label: 'screen', insertText: 'screen ${1:Name}\n data ${2:ReadModel} via query ${3:QueryName}', documentation: 'Declares a UI screen.' },
42
42
  { label: 'constraint', insertText: 'constraint ${1:Name}\n unique ${2:property} on ${3:EventType}', documentation: 'Declares a server-side rule enforced before events are committed.' },
43
43
  ];
@@ -75,15 +75,24 @@ export const constraintItems = [
75
75
  { label: 'unique event', insertText: 'unique event ${1:EventType}', documentation: 'Enforces that the event type occurs at most once per event source.' },
76
76
  { label: 'file', insertText: 'file ${1:Path}', documentation: 'Delegates the constraint to a custom C# implementation.' },
77
77
  ];
78
- export const reactorItems = [
79
- { label: 'description', insertText: 'description "${1:what this reactor does}"', documentation: 'What the reactor does — a complete statement of intent before any code exists.' },
80
- { label: 'on', insertText: 'on ${1:EventType}', documentation: 'Declares the event the reactor reacts to. A trigger needs no body.' },
78
+ export const reactionItems = [
79
+ { label: 'description', insertText: 'description "${1:what this reaction does}"', documentation: 'What the reaction does — a complete statement of intent before any code exists.' },
80
+ { label: 'when', insertText: 'when ${1:Trigger}', documentation: 'An event, a declared trigger or a host signal that sets the reaction off. A trigger needs no body.' },
81
+ { label: 'every', insertText: 'every ${1:15} ${2|seconds,minutes,hours,days|}', documentation: 'Runs the reaction on an interval.' },
82
+ { label: 'at', insertText: 'at ${1:08:00}', documentation: 'Runs the reaction at a time of day — every day unless narrowed with `on <Weekday>` or `on day <n>`.' },
83
+ { label: 'where', insertText: 'where ${1:condition}', documentation: 'Narrows which occurrences actually run the reaction.' },
81
84
  ];
82
- export const reactorOnItems = [
85
+ export const reactionTriggerItems = [
83
86
  { label: 'description', insertText: 'description "${1:what this reaction does}"', documentation: 'What this particular reaction does — enough on its own, with no file to point at.' },
87
+ { label: 'produces', insertText: 'produces ${1:EventType}', documentation: 'An event the reaction appends.' },
88
+ { label: 'invokes', insertText: 'invokes ${1:Command}', documentation: 'A command the reaction hands on. A command is asked for, not produced — it may still be rejected.' },
84
89
  { label: 'file', insertText: 'file ${1:Path}', documentation: 'Delegates the reaction to an external C# file.' },
85
90
  { label: 'csharp', insertText: fenced('csharp'), documentation: 'Inline C# returning event side effects.' },
86
91
  ];
92
+ export const triggerItems = [
93
+ { label: 'description', insertText: 'description "${1:when this occurs}"', documentation: 'What makes an occurrence of this trigger happen.' },
94
+ { label: 'value', insertText: '${1:name} ${2:Type}', documentation: 'A value an occurrence hands the reaction. The type is optional.' },
95
+ ];
87
96
  export const specificationItems = [
88
97
  { label: 'given', insertText: 'given ${1:EventType}\n ${2:property} = ${3:value}', documentation: 'Establishes prior state by replaying an event before the command runs.' },
89
98
  { label: 'given readmodel', insertText: 'given readmodel ${1:ReadModelType}\n ${2:property} = ${3:value}', documentation: 'Establishes prior read model state directly.' },
@@ -1 +1 @@
1
- {"version":3,"file":"completion-items.js","sourceRoot":"","sources":["../completion-items.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAQrG,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,GAAG,yBAAyB,CAAC;AAEhE,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC5C,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,8BAA8B,EAAE,aAAa,EAAE,2DAA2D,EAAE;IAC3I,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,sEAAsE,EAAE,aAAa,EAAE,wDAAwD,EAAE;IACjL,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,0CAA0C,EAAE,aAAa,EAAE,6DAA6D,EAAE;IACjK,EAAE,KAAK,EAAE,4BAA4B,EAAE,UAAU,EAAE,0JAA0J,EAAE,aAAa,EAAE,gFAAgF,EAAE;IAChT,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,6CAA6C,EAAE,aAAa,EAAE,gFAAgF,EAAE;IAC7K,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,kDAAkD,EAAE,aAAa,EAAE,+DAA+D,EAAE;IACnK,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,wBAAwB,EAAE,aAAa,EAAE,+DAA+D,EAAE;CAC5I,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC3C,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,2EAA2E,EAAE,aAAa,EAAE,8FAA8F,EAAE;IAC/N,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,qDAAqD,EAAE,aAAa,EAAE,8CAA8C,EAAE;IAC/J,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,qDAAqD,EAAE,aAAa,EAAE,oEAAoE,EAAE;CAChL,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAsB;IACxC,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,+CAA+C,EAAE,aAAa,EAAE,2CAA2C,EAAE;IACjJ,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,yBAAyB,EAAE,aAAa,EAAE,uDAAuD,EAAE;CACvI,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC1C,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,mDAAmD,EAAE,aAAa,EAAE,uDAAuD,EAAE;IAC5J,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,yBAAyB,EAAE,aAAa,EAAE,gDAAgD,EAAE;CAC/H,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC3C,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,yBAAyB,EAAE,aAAa,EAAE,gCAAgC,EAAE;IAC5G,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,mCAAmC,EAAE,aAAa,EAAE,6DAA6D,EAAE;IAC7J,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,iCAAiC,EAAE,aAAa,EAAE,iEAAiE,EAAE;IAC7J,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,kCAAkC,EAAE,aAAa,EAAE,wDAAwD,EAAE;IACtJ,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,iCAAiC,EAAE,aAAa,EAAE,gDAAgD,EAAE;CAC/I,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAsB;IACzC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,8CAA8C,EAAE,aAAa,EAAE,yDAAyD,EAAE;IACxJ,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,gDAAgD,EAAE,aAAa,EAAE,iEAAiE,EAAE;IACpK,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,mCAAmC,EAAE,aAAa,EAAE,4DAA4D,EAAE;IAChJ,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,8CAA8C,EAAE,aAAa,EAAE,sGAAsG,EAAE;IAChN,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,iEAAiE,EAAE,aAAa,EAAE,sDAAsD,EAAE;IAC7K,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,wCAAwC,EAAE,aAAa,EAAE,4EAA4E,EAAE;IACvK,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,0CAA0C,EAAE,aAAa,EAAE,kCAAkC,EAAE;IAC/H,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,oEAAoE,EAAE,aAAa,EAAE,uBAAuB,EAAE;IAC7I,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,kEAAkE,EAAE,aAAa,EAAE,mEAAmE,EAAE;CAC9L,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC3C,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,oCAAoC,EAAE,aAAa,EAAE,0FAA0F,EAAE;IAC7L,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,2BAA2B,EAAE,aAAa,EAAE,oEAAoE,EAAE;IACpJ,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,8DAA8D,EAAE,aAAa,EAAE,6CAA6C,EAAE;IAC/J,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,aAAa,EAAE,sFAAsF,EAAE;IAC/K,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,0DAA0D,EAAE,aAAa,EAAE,+DAA+D,EAAE;IAC7K,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,uFAAuF,EAAE,aAAa,EAAE,wDAAwD,EAAE;IACxM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,6FAA6F,EAAE;CAClK,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC5C,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,aAAa,EAAE,6CAA6C,EAAE;CACrH,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC3C,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,8DAA8D,EAAE;IAC9H,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,2CAA2C,EAAE;CAChH,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAsB;IACzC,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,4DAA4D,EAAE,aAAa,EAAE,4EAA4E,EAAE;IAC/L,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,yBAAyB,EAAE,aAAa,EAAE,kDAAkD,EAAE;IACzH,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,8BAA8B,EAAE,aAAa,EAAE,+DAA+D,EAAE;IAC/I,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,kFAAkF,EAAE,aAAa,EAAE,2EAA2E,EAAE;IAC5N,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,2BAA2B,EAAE,aAAa,EAAE,kEAAkE,EAAE;IAClJ,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,oFAAoF,EAAE;CAC7J,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC7C,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,yDAAyD,EAAE;IACzH,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,kFAAkF,EAAE;IACpJ,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,wCAAwC,EAAE;CACvG,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAsB;IAC9C,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,wCAAwC,EAAE,aAAa,EAAE,wDAAwD,EAAE;IAClJ,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,6BAA6B,EAAE,aAAa,EAAE,oEAAoE,EAAE;IACzJ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,yDAAyD,EAAE;CAC5H,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC3C,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,2CAA2C,EAAE,aAAa,EAAE,gFAAgF,EAAE;IAClL,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,oEAAoE,EAAE;CACxI,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC7C,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,4CAA4C,EAAE,aAAa,EAAE,mFAAmF,EAAE;IACtL,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,gDAAgD,EAAE;IAChH,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,yCAAyC,EAAE;CAC9G,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACjD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,sDAAsD,EAAE,aAAa,EAAE,wEAAwE,EAAE;IAC/K,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,oEAAoE,EAAE,aAAa,EAAE,8CAA8C,EAAE;IAC7K,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,uDAAuD,EAAE,aAAa,EAAE,8BAA8B,EAAE;IACrI,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,qDAAqD,EAAE,aAAa,EAAE,kDAAkD,EAAE;IACvJ,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,mEAAmE,EAAE,aAAa,EAAE,kDAAkD,EAAE;IAC/K,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,6DAA6D,EAAE;IAC/H,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,0BAA0B,EAAE,aAAa,EAAE,oCAAoC,EAAE;CAC7H,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAsB;IACxC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,sEAAsE,EAAE;IACtI,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,6EAA6E,EAAE;CAClJ,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC1C,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,uBAAuB,EAAE,aAAa,EAAE,mCAAmC,EAAE;IAC3H,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,0BAA0B,EAAE,aAAa,EAAE,qCAAqC,EAAE;IACvH,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,iDAAiD,EAAE,aAAa,EAAE,mDAAmD,EAAE;IAC7J,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,oDAAoD,EAAE;CACzH,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC5C,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,gDAAgD,EAAE,aAAa,EAAE,iCAAiC,EAAE;IACtI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,mDAAmD,EAAE,aAAa,EAAE,0BAA0B,EAAE;IAC5H,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,iDAAiD,EAAE,aAAa,EAAE,0BAA0B,EAAE;IAC1H,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,6DAA6D,EAAE,aAAa,EAAE,+CAA+C,EAAE;IAC/J,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,8DAA8D,EAAE,aAAa,EAAE,mKAAmK,EAAE;IACjR,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,oDAAoD,EAAE,aAAa,EAAE,oCAAoC,EAAE;IACtI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,oDAAoD,EAAE,aAAa,EAAE,wCAAwC,EAAE;IAC1I,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,uDAAuD,EAAE,aAAa,EAAE,yCAAyC,EAAE;IACrJ,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,mEAAmE,EAAE,aAAa,EAAE,4DAA4D,EAAE;CACnL,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC1C,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,8CAA8C,EAAE,aAAa,EAAE,mDAAmD,EAAE;IACjJ,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,yBAAyB,EAAE,aAAa,EAAE,uDAAuD,EAAE;IAClI,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,wBAAwB,EAAE,aAAa,EAAE,6CAA6C,EAAE;IACvH,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,2CAA2C,EAAE;IACjH,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,6DAA6D,EAAE,aAAa,EAAE,iDAAiD,EAAE;IAC/J,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,mEAAmE,EAAE,aAAa,EAAE,0CAA0C,EAAE;IAChK,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,qCAAqC,EAAE;IACzG,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,gEAAgE,EAAE;IAChI,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,kEAAkE,EAAE;IAClI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,aAAa,EAAE,0BAA0B,EAAE;IACpG,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,qBAAqB,EAAE;CACtF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC1C,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,6BAA6B,EAAE,aAAa,EAAE,mDAAmD,EAAE;IACvI,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,kCAAkC,EAAE;CACzG,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAsB;IACzC,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,wCAAwC,EAAE,aAAa,EAAE,+BAA+B,EAAE;IACzH,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,wDAAwD,EAAE,aAAa,EAAE,kCAAkC,EAAE;CACrJ,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACnD,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,yCAAyC,EAAE;IACzH,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,mDAAmD,EAAE;IAC/H,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,gCAAgC,EAAE,aAAa,EAAE,0CAA0C,EAAE;IACvI,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,8BAA8B,EAAE,aAAa,EAAE,2CAA2C,EAAE;IACxI,EAAE,KAAK,EAAE,2BAA2B,EAAE,UAAU,EAAE,2BAA2B,EAAE,aAAa,EAAE,2DAA2D,EAAE;IAC3J,EAAE,KAAK,EAAE,wBAAwB,EAAE,UAAU,EAAE,wBAAwB,EAAE,aAAa,EAAE,gEAAgE,EAAE;IAC1J,EAAE,KAAK,EAAE,4BAA4B,EAAE,UAAU,EAAE,4BAA4B,EAAE,aAAa,EAAE,6DAA6D,EAAE;IAC/J,EAAE,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,yBAAyB,EAAE,aAAa,EAAE,sDAAsD,EAAE;IAClJ,EAAE,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,sBAAsB,EAAE,aAAa,EAAE,mDAAmD,EAAE;IACzI,EAAE,KAAK,EAAE,wBAAwB,EAAE,UAAU,EAAE,wBAAwB,EAAE,aAAa,EAAE,iCAAiC,EAAE;IAC3H,EAAE,KAAK,EAAE,4BAA4B,EAAE,UAAU,EAAE,4BAA4B,EAAE,aAAa,EAAE,8BAA8B,EAAE;IAChI,EAAE,KAAK,EAAE,mCAAmC,EAAE,UAAU,EAAE,mCAAmC,EAAE,aAAa,EAAE,sCAAsC,EAAE;IACtJ,EAAE,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,yBAAyB,EAAE,aAAa,EAAE,6BAA6B,EAAE;IACzH,EAAE,KAAK,EAAE,2BAA2B,EAAE,UAAU,EAAE,oCAAoC,EAAE,aAAa,EAAE,0CAA0C,EAAE;IACnJ,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,aAAa,EAAE,0BAA0B,EAAE;IAC/F,EAAE,KAAK,EAAE,wBAAwB,EAAE,UAAU,EAAE,wBAAwB,EAAE,aAAa,EAAE,+CAA+C,EAAE;CAC5I,CAAC"}
1
+ {"version":3,"file":"completion-items.js","sourceRoot":"","sources":["../completion-items.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,10 @@ export type CompletionPlan = {
11
11
  kind: 'policies';
12
12
  } | {
13
13
  kind: 'events';
14
+ } | {
15
+ kind: 'triggers';
16
+ } | {
17
+ kind: 'commands';
14
18
  } | {
15
19
  kind: 'producesTargets';
16
20
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"completion-planner.d.ts","sourceRoot":"","sources":["../completion-planner.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AASrD,MAAM,MAAM,cAAc,GACpB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,eAAe,EAAE,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAC3B;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAExB,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,eAAe,EAAE,CAmDvE;AAID,wBAAgB,eAAe,CAC3B,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACnB,cAAc,CAgDhB"}
1
+ {"version":3,"file":"completion-planner.d.ts","sourceRoot":"","sources":["../completion-planner.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AASrD,MAAM,MAAM,cAAc,GACpB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,eAAe,EAAE,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAC3B;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAExB,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,eAAe,EAAE,CAuDvE;AAID,wBAAgB,eAAe,CAC3B,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACnB,cAAc,CAsDhB"}
@@ -39,10 +39,14 @@ export function completionEntriesFor(chain) {
39
39
  return items.performerItems;
40
40
  case 'constraint':
41
41
  return items.constraintItems;
42
- case 'reactor':
43
- return items.reactorItems;
44
- case 'on':
45
- return items.reactorOnItems;
42
+ case 'reaction':
43
+ return items.reactionItems;
44
+ case 'trigger':
45
+ return items.triggerItems;
46
+ case 'when':
47
+ case 'every':
48
+ case 'at':
49
+ return chain.includes('reaction') ? items.reactionTriggerItems : [];
46
50
  case 'specification':
47
51
  return items.specificationItems;
48
52
  case 'policy':
@@ -80,9 +84,15 @@ export function planCompletions(lines, lineIndex, textBefore) {
80
84
  if (/\bauthorize\s+[\w\s]*$/.test(textBefore) || chain[0] === 'authorize') {
81
85
  return { kind: 'policies' };
82
86
  }
83
- if (/\bon\s+\w*$/.test(textBefore) && (chain.includes('reactor') || chain.includes('constraint'))) {
87
+ if (/\bwhen\s+\w*$/.test(textBefore) && chain.includes('reaction')) {
88
+ return { kind: 'triggers' };
89
+ }
90
+ if (/\bon\s+\w*$/.test(textBefore) && chain.includes('constraint')) {
84
91
  return { kind: 'events' };
85
92
  }
93
+ if (/\binvokes\s+\w*$/.test(textBefore) && chain.includes('reaction')) {
94
+ return { kind: 'commands' };
95
+ }
86
96
  if (/\b(?:on|unique\s+event)\s+\w*$/.test(textBefore) && chain[0] === 'constraint') {
87
97
  return { kind: 'events' };
88
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"completion-planner.js","sourceRoot":"","sources":["../completion-planner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completion-planner.js","sourceRoot":"","sources":["../completion-planner.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"completions.d.ts","sourceRoot":"","sources":["../completions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAkB,MAAM,YAAY,CAAC;AAKpD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,sBAAsB,CA6GzF"}
1
+ {"version":3,"file":"completions.d.ts","sourceRoot":"","sources":["../completions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAkB,MAAM,YAAY,CAAC;AAKpD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,sBAAsB,CAyHzF"}
@@ -1,7 +1,7 @@
1
1
  // Copyright (c) Cratis. All rights reserved.
2
2
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
3
  import { primitiveTypes } from './language';
4
- import { knownEventNames, scanDocument } from './symbols';
4
+ import { knownEventNames, knownTriggerNames, scanDocument } from './symbols';
5
5
  import { planCompletions } from './completion-planner';
6
6
  import { contextVariableItems, producesItems } from './completion-items';
7
7
  export function createCompletionProvider(monaco) {
@@ -52,6 +52,14 @@ export function createCompletionProvider(monaco) {
52
52
  };
53
53
  case 'events':
54
54
  return { suggestions: eventNames() };
55
+ case 'triggers':
56
+ return {
57
+ suggestions: knownTriggerNames(symbols).map((name) => symbolItem(name, kinds.Event, 'trigger')),
58
+ };
59
+ case 'commands':
60
+ return {
61
+ suggestions: symbols.commands.map((command) => symbolItem(command.name, kinds.Method, 'command')),
62
+ };
55
63
  case 'producesTargets':
56
64
  return { suggestions: [...producesItems.map(snippet), ...eventNames()] };
57
65
  case 'screens':
@@ -1 +1 @@
1
- {"version":3,"file":"completions.js","sourceRoot":"","sources":["../completions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completions.js","sourceRoot":"","sources":["../completions.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -10,7 +10,7 @@ export { cdl } from './sub-languages/cdl';
10
10
  export { screenplayDarkThemeName } from './themes/screenplay-dark';
11
11
  export { screenplayLightThemeName } from './themes/screenplay-light';
12
12
  export { enclosingChain, fenceMap, firstWord, indentOf } from './document-context';
13
- export { knownEventNames, knownTypeNames, scanDocument } from './symbols';
13
+ export { builtInTriggerNames, knownEventNames, knownTriggerNames, knownTypeNames, scanDocument } from './symbols';
14
14
  export type { CommandSymbol, ConceptSymbol, DocumentSymbols, EventSymbol, ImportSymbol, NamedSymbol, PolicySymbol, PropertySymbol, QuerySymbol, TypeSymbol, } from './symbols';
15
15
  export { attributeDocs, contextVariableDocs, keywordDocs } from './keyword-docs';
16
16
  export { contextVariableItems, producesItems } from './completion-items';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,MAAM,EAIT,MAAM,YAAY,CAAC;AA2BpB,wBAAgB,yBAAyB,IAAI,IAAI,CAGhD;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAe7C;AAED,OAAO,EACH,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,UAAU,GACb,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC/F,YAAY,EACR,iBAAiB,EACjB,WAAW,EACX,qBAAqB,EACrB,qBAAqB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC1E,YAAY,EACR,aAAa,EACb,aAAa,EACb,eAAe,EACf,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,cAAc,EACd,WAAW,EACX,UAAU,GACb,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACzE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC7E,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,MAAM,EAIT,MAAM,YAAY,CAAC;AA2BpB,wBAAgB,yBAAyB,IAAI,IAAI,CAGhD;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAe7C;AAED,OAAO,EACH,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,UAAU,GACb,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC/F,YAAY,EACR,iBAAiB,EACjB,WAAW,EACX,qBAAqB,EACrB,qBAAqB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAClH,YAAY,EACR,aAAa,EACb,aAAa,EACb,eAAe,EACf,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,cAAc,EACd,WAAW,EACX,UAAU,GACb,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACzE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC7E,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -45,7 +45,7 @@ export { cdl } from './sub-languages/cdl';
45
45
  export { screenplayDarkThemeName } from './themes/screenplay-dark';
46
46
  export { screenplayLightThemeName } from './themes/screenplay-light';
47
47
  export { enclosingChain, fenceMap, firstWord, indentOf } from './document-context';
48
- export { knownEventNames, knownTypeNames, scanDocument } from './symbols';
48
+ export { builtInTriggerNames, knownEventNames, knownTriggerNames, knownTypeNames, scanDocument } from './symbols';
49
49
  export { attributeDocs, contextVariableDocs, keywordDocs } from './keyword-docs';
50
50
  export { contextVariableItems, producesItems } from './completion-items';
51
51
  export { completionEntriesFor, planCompletions } from './completion-planner';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"keyword-docs.d.ts","sourceRoot":"","sources":["../keyword-docs.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA4F9C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGhD,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAsBtD,CAAC"}
1
+ {"version":3,"file":"keyword-docs.d.ts","sourceRoot":"","sources":["../keyword-docs.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAiG9C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGhD,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAsBtD,CAAC"}
@@ -25,7 +25,12 @@ export const keywordDocs = {
25
25
  from: 'Fills a query parameter from the query context instead of the caller, as in `filter tenantId TenantId from $context.tenant`.',
26
26
  projection: 'Declares how events project into a read model, using the embedded Projection Declaration Language (PDL).',
27
27
  capture: 'Converts external data into events, using the embedded Change Data Capture Language (CDL).',
28
- reactor: 'Reacts to events and produces side effects. Lives inside Automation slices. A trigger with no body states intent on its own — `file`/code is optional realization metadata.',
28
+ reaction: 'Behavior that runs when something happens. Lives inside Automation slices. A trigger with no body states intent on its own — `file`/code is optional realization metadata.',
29
+ trigger: 'Declares a kind of occurrence a reaction can respond to, and the values it hands the reaction. What makes one occur belongs to whoever provides it, never to the compiler.',
30
+ where: 'Narrows which occurrences actually run the reaction.',
31
+ contains: 'Text comparison — true when the left string holds the right one anywhere.',
32
+ every: 'Runs a reaction on an interval — `every 15 minutes`, `every 1 day`.',
33
+ invokes: 'A command a reaction hands on. A command is asked for, not produced — it may still be rejected.',
29
34
  screen: 'A UI declaration. Supports intent, structure, and layout-with-code levels, or a full file reference.',
30
35
  constraint: 'A server-side rule enforced in the Chronicle kernel before events are committed.',
31
36
  authorize: 'References the policies that must all pass for the construct to execute.',
@@ -63,7 +68,7 @@ export const keywordDocs = {
63
68
  by: 'Introduces the identifying parameter.',
64
69
  via: 'Connects screen data to the query that supplies it.',
65
70
  filter: 'An optional query filter parameter.',
66
- on: 'The event a reactor or constraint applies to, or a widget interaction such as `on row-click`.',
71
+ on: 'The event a constraint applies to, the day a schedule narrows to, or a widget interaction such as `on row-click`.',
67
72
  message: 'The validation message reported when the rule fails.',
68
73
  matches: 'Matches a value against a regular expression or a named pattern such as `email`.',
69
74
  all: 'Applies a comparison to every element of a collection.',
@@ -82,7 +87,7 @@ export const keywordDocs = {
82
87
  html: 'An inline static HTML block.',
83
88
  StateChange: 'Slice type — a command → events flow; something that changes the system.',
84
89
  StateView: 'Slice type — a query + projection + screen; something that reads the system.',
85
- Automation: 'Slice type — a reactor or reducer; something that reacts to events.',
90
+ Automation: 'Slice type — a reaction or reducer; something that runs when something happens.',
86
91
  Translate: 'Slice type — a capture; converts external data into events.',
87
92
  Uuid: 'Primitive type — a universally unique identifier.',
88
93
  String: 'Primitive type — a string of characters.',
@@ -1 +1 @@
1
- {"version":3,"file":"keyword-docs.js","sourceRoot":"","sources":["../keyword-docs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keyword-docs.js","sourceRoot":"","sources":["../keyword-docs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"language.d.ts","sourceRoot":"","sources":["../language.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,MAAM,MAAM,GAAG,cAAc,eAAe,CAAC,CAAC;AAEpD,eAAO,MAAM,UAAU,eAAe,CAAC;AAEvC,eAAO,MAAM,sBAAsB,EAAE,SAAS,CAAC,uBAK9C,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAoB7B,CAAC;AAEF,eAAO,MAAM,cAAc,UA6D1B,CAAC;AAEF,eAAO,MAAM,aAAa,UAAmD,CAAC;AAG9E,eAAO,MAAM,YAAY,UAQxB,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAAkC,CAAC;AAIlE,eAAO,MAAM,kBAAkB,UAAmE,CAAC;AAEnG,eAAO,MAAM,UAAU,UAA0D,CAAC;AAElF,eAAO,MAAM,cAAc,UAAmE,CAAC;AAE/F,eAAO,MAAM,iBAAiB,UAAyB,CAAC;AAExD,eAAO,MAAM,qBAAqB,EAAE,SAAS,CAAC,qBA2B7C,CAAC"}
1
+ {"version":3,"file":"language.d.ts","sourceRoot":"","sources":["../language.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,MAAM,MAAM,GAAG,cAAc,eAAe,CAAC,CAAC;AAEpD,eAAO,MAAM,UAAU,eAAe,CAAC;AAEvC,eAAO,MAAM,sBAAsB,EAAE,SAAS,CAAC,uBAK9C,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAqB7B,CAAC;AAEF,eAAO,MAAM,cAAc,UAqE1B,CAAC;AAEF,eAAO,MAAM,aAAa,UAAmD,CAAC;AAG9E,eAAO,MAAM,YAAY,UAQxB,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAAkC,CAAC;AAIlE,eAAO,MAAM,kBAAkB,UAAmE,CAAC;AAEnG,eAAO,MAAM,UAAU,UAA0D,CAAC;AAElF,eAAO,MAAM,cAAc,UAAmE,CAAC;AAE/F,eAAO,MAAM,iBAAiB,UAAyB,CAAC;AAExD,eAAO,MAAM,qBAAqB,EAAE,SAAS,CAAC,qBA2B7C,CAAC"}
package/dist/language.js CHANGED
@@ -22,7 +22,8 @@ export const constructKeywords = [
22
22
  'event',
23
23
  'command',
24
24
  'query',
25
- 'reactor',
25
+ 'reaction',
26
+ 'trigger',
26
27
  'screen',
27
28
  'constraint',
28
29
  'specification',
@@ -88,6 +89,14 @@ export const clauseKeywords = [
88
89
  'tag',
89
90
  'for',
90
91
  'readmodel',
92
+ 'when',
93
+ 'every',
94
+ 'at',
95
+ 'where',
96
+ 'invokes',
97
+ 'contains',
98
+ 'starts',
99
+ 'with',
91
100
  'provider',
92
101
  ];
93
102
  export const codeBlockTags = ['csharp', 'typescript', 'react', 'html', 'sql'];
@@ -130,7 +139,7 @@ export const languageConfiguration = {
130
139
  offSide: true,
131
140
  },
132
141
  indentationRules: {
133
- increaseIndentPattern: /^\s*(module|feature|slice|policy|persona|authentication|provider|event|command|query|type|screen|projection|capture|reactor|constraint|layout|template|validate|produces|handler|performer|rule|section|concurrency|seed|for)\b.*$/,
142
+ increaseIndentPattern: /^\s*(module|feature|slice|policy|persona|authentication|provider|event|command|query|type|screen|projection|capture|reaction|trigger|constraint|layout|template|validate|produces|handler|performer|rule|section|concurrency|seed|for|when|every|at)\b.*$/,
134
143
  // Dedents are always explicit in an offside language — never auto-dedent.
135
144
  decreaseIndentPattern: /(?!)/,
136
145
  },
@@ -1 +1 @@
1
- {"version":3,"file":"language.js","sourceRoot":"","sources":["../language.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"language.js","sourceRoot":"","sources":["../language.ts"],"names":[],"mappings":"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"}
package/dist/symbols.d.ts CHANGED
@@ -52,8 +52,11 @@ export interface DocumentSymbols {
52
52
  commands: CommandSymbol[];
53
53
  queries: QuerySymbol[];
54
54
  screens: NamedSymbol[];
55
+ triggers: NamedSymbol[];
55
56
  }
56
57
  export declare function scanDocument(lines: string[]): DocumentSymbols;
57
58
  export declare function knownEventNames(symbols: DocumentSymbols): string[];
59
+ export declare const builtInTriggerNames: string[];
60
+ export declare function knownTriggerNames(symbols: DocumentSymbols): string[];
58
61
  export declare function knownTypeNames(symbols: DocumentSymbols, primitives: readonly string[]): string[];
59
62
  //# sourceMappingURL=symbols.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../symbols.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IAC9C,UAAU,EAAE,cAAc,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,cAAc,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,EAAE,WAAW,EAAE,CAAC;CAC1B;AAmCD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,eAAe,CA2H7D;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,EAAE,CAKlE;AAID,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAOhG"}
1
+ {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../symbols.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IAC9C,UAAU,EAAE,cAAc,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,cAAc,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,QAAQ,EAAE,WAAW,EAAE,CAAC;CAC3B;AAmCD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,eAAe,CAkI7D;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,EAAE,CAKlE;AAGD,eAAO,MAAM,mBAAmB,UAA0B,CAAC;AAI3D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,EAAE,CAMpE;AAID,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAOhG"}
package/dist/symbols.js CHANGED
@@ -42,6 +42,7 @@ export function scanDocument(lines) {
42
42
  commands: [],
43
43
  queries: [],
44
44
  screens: [],
45
+ triggers: [],
45
46
  };
46
47
  const fences = fenceMap(lines);
47
48
  for (let index = 0; index < lines.length; index++) {
@@ -139,6 +140,11 @@ export function scanDocument(lines) {
139
140
  const screenMatch = trimmed.match(/^screen\s+(\w+)\s*$/);
140
141
  if (screenMatch) {
141
142
  symbols.screens.push({ name: screenMatch[1], line: index });
143
+ continue;
144
+ }
145
+ const triggerMatch = trimmed.match(/^trigger\s+(\w+)\s*$/);
146
+ if (triggerMatch && indent === 0) {
147
+ symbols.triggers.push({ name: triggerMatch[1], line: index });
142
148
  }
143
149
  }
144
150
  return symbols;
@@ -149,6 +155,17 @@ export function knownEventNames(symbols) {
149
155
  ...symbols.imports.map((imported) => imported.shortName),
150
156
  ];
151
157
  }
158
+ // The built-in host signals, which have no declaration to scan for because every application has them.
159
+ export const builtInTriggerNames = ['Startup', 'Shutdown'];
160
+ // What a reaction's `when` may name: an event, a declared trigger, or a host signal. The compiler resolves
161
+ // the three in that order, and the editor offers them the same way rather than guessing which was meant.
162
+ export function knownTriggerNames(symbols) {
163
+ return [
164
+ ...knownEventNames(symbols),
165
+ ...symbols.triggers.map((trigger) => trigger.name),
166
+ ...builtInTriggerNames,
167
+ ];
168
+ }
152
169
  // Everything a property type reference can resolve to — the primitives, the declared
153
170
  // concepts and types, and the short names of the imports.
154
171
  export function knownTypeNames(symbols, primitives) {
@@ -1 +1 @@
1
- {"version":3,"file":"symbols.js","sourceRoot":"","sources":["../symbols.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"symbols.js","sourceRoot":"","sources":["../symbols.ts"],"names":[],"mappings":"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"}
package/index.ts CHANGED
@@ -79,7 +79,7 @@ export { cdl } from './sub-languages/cdl';
79
79
  export { screenplayDarkThemeName } from './themes/screenplay-dark';
80
80
  export { screenplayLightThemeName } from './themes/screenplay-light';
81
81
  export { enclosingChain, fenceMap, firstWord, indentOf } from './document-context';
82
- export { knownEventNames, knownTypeNames, scanDocument } from './symbols';
82
+ export { builtInTriggerNames, knownEventNames, knownTriggerNames, knownTypeNames, scanDocument } from './symbols';
83
83
  export type {
84
84
  CommandSymbol,
85
85
  ConceptSymbol,
package/keyword-docs.ts CHANGED
@@ -26,7 +26,12 @@ export const keywordDocs: Record<string, string> = {
26
26
  from: 'Fills a query parameter from the query context instead of the caller, as in `filter tenantId TenantId from $context.tenant`.',
27
27
  projection: 'Declares how events project into a read model, using the embedded Projection Declaration Language (PDL).',
28
28
  capture: 'Converts external data into events, using the embedded Change Data Capture Language (CDL).',
29
- reactor: 'Reacts to events and produces side effects. Lives inside Automation slices. A trigger with no body states intent on its own — `file`/code is optional realization metadata.',
29
+ reaction: 'Behavior that runs when something happens. Lives inside Automation slices. A trigger with no body states intent on its own — `file`/code is optional realization metadata.',
30
+ trigger: 'Declares a kind of occurrence a reaction can respond to, and the values it hands the reaction. What makes one occur belongs to whoever provides it, never to the compiler.',
31
+ where: 'Narrows which occurrences actually run the reaction.',
32
+ contains: 'Text comparison — true when the left string holds the right one anywhere.',
33
+ every: 'Runs a reaction on an interval — `every 15 minutes`, `every 1 day`.',
34
+ invokes: 'A command a reaction hands on. A command is asked for, not produced — it may still be rejected.',
30
35
  screen: 'A UI declaration. Supports intent, structure, and layout-with-code levels, or a full file reference.',
31
36
  constraint: 'A server-side rule enforced in the Chronicle kernel before events are committed.',
32
37
  authorize: 'References the policies that must all pass for the construct to execute.',
@@ -64,7 +69,7 @@ export const keywordDocs: Record<string, string> = {
64
69
  by: 'Introduces the identifying parameter.',
65
70
  via: 'Connects screen data to the query that supplies it.',
66
71
  filter: 'An optional query filter parameter.',
67
- on: 'The event a reactor or constraint applies to, or a widget interaction such as `on row-click`.',
72
+ on: 'The event a constraint applies to, the day a schedule narrows to, or a widget interaction such as `on row-click`.',
68
73
  message: 'The validation message reported when the rule fails.',
69
74
  matches: 'Matches a value against a regular expression or a named pattern such as `email`.',
70
75
  all: 'Applies a comparison to every element of a collection.',
@@ -83,7 +88,7 @@ export const keywordDocs: Record<string, string> = {
83
88
  html: 'An inline static HTML block.',
84
89
  StateChange: 'Slice type — a command → events flow; something that changes the system.',
85
90
  StateView: 'Slice type — a query + projection + screen; something that reads the system.',
86
- Automation: 'Slice type — a reactor or reducer; something that reacts to events.',
91
+ Automation: 'Slice type — a reaction or reducer; something that runs when something happens.',
87
92
  Translate: 'Slice type — a capture; converts external data into events.',
88
93
  Uuid: 'Primitive type — a universally unique identifier.',
89
94
  String: 'Primitive type — a string of characters.',
package/language.ts CHANGED
@@ -29,7 +29,8 @@ export const constructKeywords = [
29
29
  'event',
30
30
  'command',
31
31
  'query',
32
- 'reactor',
32
+ 'reaction',
33
+ 'trigger',
33
34
  'screen',
34
35
  'constraint',
35
36
  'specification',
@@ -96,6 +97,14 @@ export const clauseKeywords = [
96
97
  'tag',
97
98
  'for',
98
99
  'readmodel',
100
+ 'when',
101
+ 'every',
102
+ 'at',
103
+ 'where',
104
+ 'invokes',
105
+ 'contains',
106
+ 'starts',
107
+ 'with',
99
108
  'provider',
100
109
  ];
101
110
 
@@ -147,7 +156,7 @@ export const languageConfiguration: languages.LanguageConfiguration = {
147
156
  },
148
157
  indentationRules: {
149
158
  increaseIndentPattern:
150
- /^\s*(module|feature|slice|policy|persona|authentication|provider|event|command|query|type|screen|projection|capture|reactor|constraint|layout|template|validate|produces|handler|performer|rule|section|concurrency|seed|for)\b.*$/,
159
+ /^\s*(module|feature|slice|policy|persona|authentication|provider|event|command|query|type|screen|projection|capture|reaction|trigger|constraint|layout|template|validate|produces|handler|performer|rule|section|concurrency|seed|for|when|every|at)\b.*$/,
151
160
  // Dedents are always explicit in an offside language — never auto-dedent.
152
161
  decreaseIndentPattern: /(?!)/,
153
162
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cratis/screenplay-language",
3
- "version": "2.6.1",
3
+ "version": "3.0.0",
4
4
  "description": "Monaco language service for the Cratis Screenplay DSL — syntax highlighting, IntelliSense, hover and diagnostics for .play files",
5
5
  "license": "MIT",
6
6
  "repository": {
package/symbols.ts CHANGED
@@ -66,6 +66,7 @@ export interface DocumentSymbols {
66
66
  commands: CommandSymbol[];
67
67
  queries: QuerySymbol[];
68
68
  screens: NamedSymbol[];
69
+ triggers: NamedSymbol[];
69
70
  }
70
71
 
71
72
  const conceptPattern = /^concept\s+(\w+)\s*:\s*(\w+)((?:\s+@\w+)*)\s*$/;
@@ -111,6 +112,7 @@ export function scanDocument(lines: string[]): DocumentSymbols {
111
112
  commands: [],
112
113
  queries: [],
113
114
  screens: [],
115
+ triggers: [],
114
116
  };
115
117
  const fences = fenceMap(lines);
116
118
 
@@ -220,6 +222,12 @@ export function scanDocument(lines: string[]): DocumentSymbols {
220
222
  const screenMatch = trimmed.match(/^screen\s+(\w+)\s*$/);
221
223
  if (screenMatch) {
222
224
  symbols.screens.push({ name: screenMatch[1], line: index });
225
+ continue;
226
+ }
227
+
228
+ const triggerMatch = trimmed.match(/^trigger\s+(\w+)\s*$/);
229
+ if (triggerMatch && indent === 0) {
230
+ symbols.triggers.push({ name: triggerMatch[1], line: index });
223
231
  }
224
232
  }
225
233
 
@@ -233,6 +241,19 @@ export function knownEventNames(symbols: DocumentSymbols): string[] {
233
241
  ];
234
242
  }
235
243
 
244
+ // The built-in host signals, which have no declaration to scan for because every application has them.
245
+ export const builtInTriggerNames = ['Startup', 'Shutdown'];
246
+
247
+ // What a reaction's `when` may name: an event, a declared trigger, or a host signal. The compiler resolves
248
+ // the three in that order, and the editor offers them the same way rather than guessing which was meant.
249
+ export function knownTriggerNames(symbols: DocumentSymbols): string[] {
250
+ return [
251
+ ...knownEventNames(symbols),
252
+ ...symbols.triggers.map((trigger) => trigger.name),
253
+ ...builtInTriggerNames,
254
+ ];
255
+ }
256
+
236
257
  // Everything a property type reference can resolve to — the primitives, the declared
237
258
  // concepts and types, and the short names of the imports.
238
259
  export function knownTypeNames(symbols: DocumentSymbols, primitives: readonly string[]): string[] {