agentlang 0.3.0 → 0.3.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.
Files changed (63) hide show
  1. package/README.md +295 -31
  2. package/out/api/http.d.ts.map +1 -1
  3. package/out/api/http.js +5 -3
  4. package/out/api/http.js.map +1 -1
  5. package/out/language/agentlang-validator.d.ts.map +1 -1
  6. package/out/language/agentlang-validator.js +24 -4
  7. package/out/language/agentlang-validator.js.map +1 -1
  8. package/out/language/generated/ast.d.ts +58 -7
  9. package/out/language/generated/ast.d.ts.map +1 -1
  10. package/out/language/generated/ast.js +82 -1
  11. package/out/language/generated/ast.js.map +1 -1
  12. package/out/language/generated/grammar.d.ts.map +1 -1
  13. package/out/language/generated/grammar.js +537 -216
  14. package/out/language/generated/grammar.js.map +1 -1
  15. package/out/language/main.cjs +614 -221
  16. package/out/language/main.cjs.map +2 -2
  17. package/out/runtime/agents/common.d.ts +15 -1
  18. package/out/runtime/agents/common.d.ts.map +1 -1
  19. package/out/runtime/agents/common.js +71 -2
  20. package/out/runtime/agents/common.js.map +1 -1
  21. package/out/runtime/exec-graph.d.ts.map +1 -1
  22. package/out/runtime/exec-graph.js +1 -7
  23. package/out/runtime/exec-graph.js.map +1 -1
  24. package/out/runtime/interpreter.d.ts.map +1 -1
  25. package/out/runtime/interpreter.js +45 -17
  26. package/out/runtime/interpreter.js.map +1 -1
  27. package/out/runtime/loader.d.ts +3 -4
  28. package/out/runtime/loader.d.ts.map +1 -1
  29. package/out/runtime/loader.js +97 -12
  30. package/out/runtime/loader.js.map +1 -1
  31. package/out/runtime/module.d.ts +41 -4
  32. package/out/runtime/module.d.ts.map +1 -1
  33. package/out/runtime/module.js +237 -18
  34. package/out/runtime/module.js.map +1 -1
  35. package/out/runtime/modules/ai.d.ts.map +1 -1
  36. package/out/runtime/modules/ai.js +16 -7
  37. package/out/runtime/modules/ai.js.map +1 -1
  38. package/out/runtime/modules/auth.d.ts.map +1 -1
  39. package/out/runtime/modules/auth.js +42 -43
  40. package/out/runtime/modules/auth.js.map +1 -1
  41. package/out/runtime/modules/core.js +1 -1
  42. package/out/runtime/util.d.ts +3 -1
  43. package/out/runtime/util.d.ts.map +1 -1
  44. package/out/runtime/util.js +16 -0
  45. package/out/runtime/util.js.map +1 -1
  46. package/out/syntaxes/agentlang.monarch.js +1 -1
  47. package/out/syntaxes/agentlang.monarch.js.map +1 -1
  48. package/package.json +1 -1
  49. package/src/api/http.ts +5 -3
  50. package/src/language/agentlang-validator.ts +29 -4
  51. package/src/language/agentlang.langium +15 -3
  52. package/src/language/generated/ast.ts +149 -7
  53. package/src/language/generated/grammar.ts +537 -216
  54. package/src/runtime/agents/common.ts +96 -3
  55. package/src/runtime/exec-graph.ts +1 -8
  56. package/src/runtime/interpreter.ts +47 -16
  57. package/src/runtime/loader.ts +110 -9
  58. package/src/runtime/module.ts +268 -24
  59. package/src/runtime/modules/ai.ts +13 -6
  60. package/src/runtime/modules/auth.ts +42 -43
  61. package/src/runtime/modules/core.ts +1 -1
  62. package/src/runtime/util.ts +19 -0
  63. package/src/syntaxes/agentlang.monarch.ts +1 -1
package/README.md CHANGED
@@ -1,53 +1,316 @@
1
+
1
2
  <div align="center">
2
3
 
3
- # AgentLang - Reliable Enterprise AI Agents
4
+ <p>
5
+ <a href="https://zdoc.app/ja/agentlang-ai/agentlang">日本語</a> |
6
+ <a href="https://zdoc.app/es/agentlang-ai/agentlang">Español</a> |
7
+ <a href="https://zdoc.app/fr/agentlang-ai/agentlang">français</a> |
8
+ <a href="https://zdoc.app/de/agentlang-ai/agentlang">Deutsch</a> |
9
+ <a href="https://zdoc.app/pt/agentlang-ai/agentlang">Português</a> |
10
+ <a href="https://zdoc.app/ru/agentlang-ai/agentlang">Русский</a> |
11
+ <a href="https://zdoc.app/ko/agentlang-ai/agentlang">한국어</a> |
12
+ <a href="https://zdoc.app/zh/agentlang-ai/agentlang">中文</a>
13
+ </p>
14
+
15
+ <div id="toc"> <!-- both work, toc or user-content-toc -->
16
+ <ul style="list-style: none;">
17
+ <summary>
18
+ <h1>Agentlang - Reliable Enterprise AI Agents</h1>
19
+ </summary>
20
+ </ul>
21
+ </div>
22
+
4
23
 
5
- ## Build AI Agents that actually work!
24
+ <a href="https://agentlang-ai.fractl.io"><img src="https://img.shields.io/badge/Project-Home-blue?logo=homepage&logoColor=blue&style=for-the-badge"></a>
25
+ <a href="https://discord.gg/abcdef"><img src="https://img.shields.io/badge/Discord-Join%20Us-purple?logo=discord&logoColor=red&style=for-the-badge"></a>
26
+ <a href="[https://agentlang-ai.github.io](https://github.com/agentlang-ai/agentlang/tree/main/example)"><img src="https://img.shields.io/badge/Examples-Page-yellow?logo=homepage&logoColor=yellow&style=for-the-badge"></a>
6
27
 
7
- | | |
8
- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
9
- | CI/CD | [![AgentLang CI](https://github.com/agentlang-ai/agentlang/actions/workflows/ci.yml/badge.svg)](https://github.com/agentlang-ai/agentlang/actions/workflows/ci.yml) [![Integration Tests](https://github.com/agentlang-ai/agentlang/actions/workflows/integration.yml/badge.svg)](https://github.com/agentlang-ai/agentlang/actions/workflows/integration.yml) [![Tests](https://img.shields.io/badge/tests-vitest-green)](https://vitest.dev/) [![Linting](https://img.shields.io/badge/linting-ESLint-4B32C3)](https://eslint.org/) [![Code Style](https://img.shields.io/badge/code%20style-prettier-ff69b4)](https://prettier.io/) |
10
- | Docs | [![Documentation](https://img.shields.io/badge/docs-available-brightgreen)](https://github.com/agentlang-ai/agentlang#readme) [![Language Spec](https://img.shields.io/badge/language-spec-blue)](https://github.com/agentlang-ai/agentlang/blob/main/langium-quickstart.md) [![Examples](https://img.shields.io/badge/examples-available-yellow)](https://github.com/agentlang-ai/agentlang/tree/main/example) |
11
- | Package | [![Node Version](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen?logo=node.js)](https://nodejs.org) [![pnpm](https://img.shields.io/badge/pnpm-10.13.1-blue?logo=pnpm)](https://pnpm.io) [![TypeScript](https://img.shields.io/badge/TypeScript-5.x-blue?logo=typescript)](https://www.typescriptlang.org/) [![Langium](https://img.shields.io/badge/Langium-DSL-orange)](https://langium.org/) [![License](https://img.shields.io/badge/License-Sustainable%20Use%20v1.0-blue.svg)](LICENSE) [![npm version](https://img.shields.io/npm/v/agentlang.svg)](https://www.npmjs.com/package/agentlang) [![npm downloads](https://img.shields.io/npm/dm/agentlang.svg)](https://www.npmjs.com/package/agentlang) |
12
- | Runtime | [![Runtime](https://img.shields.io/badge/runtime-Node.js-green?logo=node.js)](https://nodejs.org) [![Database Support](https://img.shields.io/badge/database-multiple-blueviolet)](https://github.com/agentlang-ai/agentlang#runtime-support) [![Vector DB](https://img.shields.io/badge/vector%20db-supported-purple)](https://github.com/agentlang-ai/agentlang#runtime-support) [![Auth](https://img.shields.io/badge/auth-Cognito-orange?logo=amazon-aws)](https://aws.amazon.com/cognito/) |
13
- | Meta | [![GitHub Stars](https://img.shields.io/github/stars/agentlang-ai/agentlang?style=social)](https://github.com/agentlang-ai/agentlang) [![GitHub Issues](https://img.shields.io/github/issues/agentlang-ai/agentlang)](https://github.com/agentlang-ai/agentlang/issues) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/agentlang-ai/agentlang/pulls) [![Contributors](https://img.shields.io/github/contributors/agentlang-ai/agentlang)](https://github.com/agentlang-ai/agentlang/graphs/contributors) |
28
+ [![Node Version](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen?logo=node.js)](https://nodejs.org) [![CI](https://github.com/agentlang-ai/agentlang/actions/workflows/ci.yml/badge.svg)](https://github.com/agentlang-ai/agentlang/actions/workflows/ci.yml)![License](https://img.shields.io/badge/License-Sustainable%20Use%20v1.0-blue.svg) [![npm downloads](https://img.shields.io/npm/dm/agentlang.svg)](https://www.npmjs.com/package/agentlang)
29
+ <hr>
14
30
 
31
+ <div id="toc"> <!-- both work, toc or user-content-toc -->
32
+ <ul style="list-style: none;">
33
+ <summary>
34
+ <h2>🎯 Agentic Reliability Modeling - Build AI Agents that actually work!</h2>
35
+ </summary>
36
+ </ul>
15
37
  </div>
16
38
 
17
- AgentLang is the **easiest way** to build the **most reliable** AI agents. Build **teams of AI Agents** that really grok your requirements and follow your organization's processes closely, while adapting to new scenarios. Agents collaborate with each other and humans to handle complex, time-consuming, monotonous tasks and get work done!
39
+ </div>
18
40
 
19
- <div align="center">
41
+ Build **teams of reliable AI Agents** that follow your organization's processes closely, while adapting to new scenarios. Agents collaborate with each other and humans to handle complex, time-consuming, monotonous tasks and get work done!
42
+
43
+ * **Agentic:** Agentlang is a programming abstraction specifically designed for building anything involving agents. Agentlang is highly declarative - enabling you to focus on the business logic without getting bogged down in implementation details.
44
+
45
+ * **Robust Integrations:** The Agentlang runtime integrates natively with a wide range of LLMs, databases, vector databases, and auth providers. Agentlang has a novel connector architecture, with a rapidly growing collection of prebuilt connectors for Enterprise tools. Plus, Agentlang programs run on NodeJS (and in the browser) and can leverage any existing JavaScript library.
46
+
47
+ * **Production-grade**: Agentlang is built on top of TypeScript and uses all the modern JS/TS tooling needed to build enterprise-class agents and apps.
48
+
49
+ > Coming soon! Fractl Studio is a no-code environment for building and operating AI Agents.
50
+
51
+ The two key innovations in AgentLang are: [Agentic Reliability Modeling](#agentic-reliabillity-modeling) and [AgentLang Ontology](#agentlang-ontology)
52
+
53
+ ## Agentic Reliability Modeling
54
+
55
+ Depending solely only on instructions for agents is a recipe for failure. Natural language is beautiful, but ambiguous - forcing us to be stuck in an endless cycle of prompt-tweaking to achieve our goal. Agentlang offers **just enough structure**, to augment natural language instructions, to model various aspects of your agents - unambiguously, but still effortlessly - to make them reliable.
56
+
57
+ <table>
58
+ <tr>
59
+ <td valign="top">
60
+ <div>
61
+ <b>Agentic Reliability Features:</b>
62
+ <ul>
63
+ <li> First-class AI Agents </li>
64
+ <li> Flows </li>
65
+ <li> Decisions </li>
66
+ <li> Directives </li>
67
+ <li> Scenarios </li>
68
+ <li> Glossary </li>
69
+ <li> Structured output and scratchpad </li>
70
+ <li> Input Template </li>
71
+ </ul>
72
+ <img width="441" height="1">
73
+ </div>
74
+ </td>
75
+ <td>
76
+ <div align="center">
77
+ <img width="350" height="420" alt="image" src="https://github.com/user-attachments/assets/b240a235-3804-4423-a639-cdfb90f07282" />
78
+ <img width="441" height="1">
79
+ </div>
80
+ </td>
81
+ </tr>
82
+ </table>
83
+
84
+ ### An Example
85
+
86
+ ```typescript
87
+ flow TicketFlow {
88
+ ticketTriager --> "DNS" ticketInProgress
89
+ ticketTriager --> "WLAN" ticketInProgress
90
+ ticketTriager --> "NotEnoughInfo" ticketPending
91
+ }
92
+
93
+ glossary TicketFlow [
94
+ {"name": "incident", "meaning": "a problem report", "synonyms": "ticket"},
95
+ {"name": "task", "meaning": "a record that captures some work that needs to be done", "synonyms": "ticket"},
96
+ {"name": "DNS", "meaning": "Domain Name Service - is used to translate human-readable domain names to IP addresses", "synonyms": "DNS name, CNAME, DNS HOST record"}
97
+ {"name": "WLAN", "meaning": "Wireless LAN - wireless network to connect devices to each other and the internet", "synonyms": "Office network"}
98
+ ]
99
+
100
+ agent TicketFlow {
101
+ llm "gpt4o",
102
+ role "You are a network ticket management application. Your job is to triage any ticket passed to you
103
+ and update the ticket with appropriate assigned_to, status and triaging comments.",
104
+ }
105
+
106
+ decision ticketTriager {
107
+ case ("Ticket is related to DNS provisioning. If the request is to point one host/DNS name to an IP address") {
108
+ DNS
109
+ }
110
+ case ("Ticket is related to WLAN provisioning. If the request is to add/whitelist a MAC address on the wireless network") {
111
+ WLAN
112
+ }
113
+ case ("There is not enough information in the ticket about what the category is") {
114
+ NotEnoughInfo
115
+ }
116
+ default {
117
+ Other
118
+ }
119
+ }
120
+
121
+ workflow ticketInProgress {
122
+ // workflow body is developer-written declarative code (not handled by LLM)
123
+ ...
124
+ }
125
+ ```
20
126
 
21
- ### **Open | Enterprise-grade | Production-ready**
22
127
 
23
- </div>
128
+ ### ✨ First-class AI Agents
24
129
 
25
- AgentLang is also the industry's first "no-code programming language" for building anything involving agents - Fractl Studio (coming soon!) allows your to build and manage agents visually with no code, while the language enables the developer in you to build the same in your favorite IDE.
130
+ Agents and many concepts agents use are built-in language constructs.
26
131
 
27
- The AgentLang language specification, its compiler and runtime are open source. AgentLang programs can run anywhere - **avoiding the vendor lock-in** of other AI agent/programming platforms.
132
+ ```typescript
133
+ flow TicketFlow {
134
+ ticketTriager --> "DNS" ticketInProgress
135
+ ticketTriager --> "WLAN" ticketInProgress
136
+ ticketTriager --> "NotEnoughInfo" ticketPending
137
+ }
28
138
 
29
- AgentLang runtime has native integration with multitude of databases, vector databases, auth stores, etc. AgentLang programs run on nodeJS and can make use of any of the thousands of existing Node and other JavaScript libraries out there.
139
+ agent TicketFlow {
140
+ llm "gpt4o",
141
+ role "You are a network ticket management agent. Your job is to triage any ticket passed to you and
142
+ update the ticket with appropriate assigned_to, status and triaging comments.",
143
+ }
30
144
 
31
- AgentLang comes with all the modern tooling and dependency management needed to build production-grade agents and apps.
145
+ ```
32
146
 
33
- </div>
147
+ ### Flows
148
+
149
+ Flows are central to Agentlang's reliability modeling. Define your business processes using an intuitive flow syntax - flows guide (not enforce) an agent's behavior closely. Agentlang's adaptive runtime will execute them, dynamically adapting the execution flow as needed.
150
+
151
+ Each step in the flow can be an agent or a tool (workflow).
152
+
153
+ ```typescript
154
+ flow networkProvisioningRequestManager {
155
+ classifyProvisioningRequest --> "DNS" provisionDNS
156
+ classifyProvisioningRequest --> "WLAN" provisionWLAN
157
+ classifyProvisioningRequest --> "Other" reportFailure
158
+ provisionDNS --> ticketUpdater
159
+ provisionWLAN --> ticketUpdater
160
+ }
161
+ ```
162
+
163
+ ### Decisions
34
164
 
35
- ## First-class AI Agents
165
+ An agent that takes a decision for branching in a flow can be expressed as a **decision table** of `case` expressions. Each `case` specifies a condition as pure text or a logical expression. The consequence of a `case` will be a tag that tells the flow-evaluator which node to branch to.
36
166
 
37
- Agents are a built-in language construct - developers can choose from one of the built-in agent-types, or easily add their own agent-types.
167
+ ```typescript
168
+ decision classifyOrder {
169
+ case ("if requested car type is SUV and customer tier is premier") {
170
+ LuxurySUV
171
+ }
172
+
173
+ case ("if the requested car type is SUV and segment is economy") {
174
+ EconomySUV
175
+ }
176
+ }
177
+
178
+ flow carOrderRequestManager {
179
+ analyseCarOrderRequest --> classifyOrder
180
+ classifyOrder --> "EconomySUV" orderEconomySUV
181
+ classifyOrder --> "LuxurySUV" orderLuxurySUV
182
+ }
183
+ ```
184
+
185
+ The `case` conditions may also be written as logical expressions:
186
+
187
+ ```typescript
188
+ case (carType == "SUV" and segment == "luxury") {
189
+ LuxurySUV
190
+ }
191
+
192
+ case (carType == "SUV") {
193
+ EconomySUV
194
+ }
195
+
196
+ ```
197
+
198
+ As the flow executes an agent that specializes in evaluating decision tables will be invoked for the node `classifyOrder`. The tag returned by this agent will be used to select either the `orderEconomySUV` or `orderLuxurySUV` node of the flow.
199
+
200
+ ### Directives
201
+
202
+ **Directives** enhance the decision making capability of agents by providing precise actions to be taken under specific conditions.
203
+
204
+ ```typescript
205
+ agent salaryHikeAgent {
206
+ instruction "Give an employee a salary-hike based on his/her sales performance",
207
+ tools acme/employee,
208
+ directives [{"if": "employee sales exceeded 5000", "then": "Give a salary hike of 5 percent"},
209
+ {"if": "sales is more than 2000 but less than 5000", "then": "hike salary by 2 percent"}]
210
+ }
211
+ ```
38
212
 
39
- ## Runtime Support
213
+ As the `salaryHikeAgent` tries to compute the salary-increment for a particular employee, the directives will guide it to take a more accurate decision based on specific conditions.
214
+
215
+ ### Scenarios
216
+
217
+ **Scenarios** provide agents with concrete examples of user-requests and their corresponding LLM-responses.
218
+
219
+ ```typescript
220
+ agent salaryHikeAgent {
221
+ instruction "Give an employee a salary-hike based on his/her sales performance",
222
+ tools acme/employee,
223
+ directives [{"if": "employee sales exceeded 5000", "then": "Give a salary hike of 5 percent"},
224
+ {"if": "sales is more than 2000 but less than 5000", "then": "hike salary by 2 percent"}],
225
+ }
226
+
227
+ scenario salaryHikeAgent.outperform {
228
+ user "Jake's sale exceeded 5000"
229
+ }
230
+
231
+ workflow salaryHikeAgent.outperform {
232
+ {acme/employee {email? "jake@acme.com"}} @as [employee];
233
+ {acme/employee {id? employee.id,
234
+ salary employee.salary + employee.salary * 0.5}}
235
+ }
236
+ ```
237
+
238
+ Here, the provided scenario helps the agent to take a well-specified action in the case an employee is said to have "outperformed".
239
+
240
+ ### Glossary
241
+
242
+ **Glossaries** help the agent understand the meaning of domain-specific vocabulary that the user may use while interacting with the agent.
243
+
244
+ ```typescript
245
+ agent campaignAnalyzer {
246
+ instruction "Evaluate and optimize marketing campaign performance based on key performance indicators (KPIs) and assign a performance rating",
247
+ tools acme/campaign_eval,
248
+ // ...
249
+ glossary [
250
+ {"name": "outstanding", "meaning": "CTR ≥ 5%, Conversion Rate ≥ 10%, ROI ≥ 50%", "synonyms": "exceptional, high-impact"},
251
+ {"name": "satisfactory", "meaning": "CTR 2-4.9%, Conversion Rate 5-9.9%, ROI 20-49%", "synonyms": "solid, effective"},
252
+ {"name": "underperforming", "meaning": "CTR < 2%, Conversion Rate < 5%, ROI < 20%", "synonyms": "needs improvement, low-impact"}
253
+ ]
254
+ }
255
+ ```
256
+
257
+ ### Response Schema and Scratchpad
258
+
259
+ In certain scenarios, agents perform better with structured data than plain text. You can configure an agent to output responses in a specific format, enabling another agent to efficiently parse and utilize the relevant information as input.
260
+
261
+ ```typescript
262
+ module NetOps
263
+
264
+ record NetworkProvisioningRequest {
265
+ type @enum("DNS", "WLAN"),
266
+ requestedBy String,
267
+ CNAME String,
268
+ IPAddress String
269
+ }
270
+
271
+ agent classifyProvisioningRequest {
272
+ instruction "Analyse the network provisioning request and return its type and other relevant information.",
273
+ responseSchema NetworkProvisioningRequest
274
+ }
275
+ ```
276
+ This kind of structured data (as entity or record instances) returned by an agent is added to an internal-cache used by the flow. This cache is known as *scratchpad*.
277
+
278
+ ### Templatized Instructions
279
+
280
+ An agent further down the flow can access the scratchpad using template parameters (denoted by `{{}}`) embedded in its instructions/directives. For instance, the `ticketUpdater` agent makes reference to the scratchpad via the parameters `{{classifyProvisioningRequest.type}}` and `{{classifyProvisioningRequest.requestedBy}}`. (The references need not include the agent name and simply be `{{type}}` and `{{requestedBy}}`). The actual instruction the `ticketUpdater` agent will see in this context will be `""Use type=DNS, requestedBy=joe@acme.com and provisioningId={{provisioningId}} to mark the request as completed"` - obviously enhancing its focus on the current context for more deterministic actions.
281
+
282
+ ```typescript
283
+ agent ticketUpdater {
284
+ instruction "Use type={{classifyProvisioningRequest.type}}, requestedBy={{classifyProvisioningRequest.requestedBy}} and provisioningId={{provisioningId}} to mark the request as completed",
285
+ tools [Networking/markRequestCompleted]
286
+ }
287
+
288
+ // insert agent/workflow definitions for provisionDNS, reportFailure etc
289
+
290
+ flow networkProvisioningRequestManager {
291
+ classifyProvisioningRequest --> "DNS" provisionDNS
292
+ classifyProvisioningRequest --> "WLAN" provisionWLAN
293
+ classifyProvisioningRequest --> "Other" reportFailure
294
+ provisionDNS --> ticketUpdater
295
+ provisionWLAN --> ticketUpdater
296
+ }
297
+ ```
298
+
299
+ The agent `classifyProvisioningRequest` has its `responseSchema` attribute set to the record `NetworkProvisioningRequest`. This means for a request like `"Provision DNS joe.acme.com for 192.3.4.1 as requested by joe@acme.com"` this agent will return:
300
+
301
+ ```typescript
302
+ {type "DNS", requestedBy "joe@acme.com", CNAME "joe.acme.com", IPAddress "192.3.4.1"}
303
+ ```
40
304
 
41
- AgentLang runs on Node.js for development and execution.
305
+ ## Agentlang Ontology
42
306
 
43
- ### Prerequisites
307
+ Agentlang's sophisticated modeling capabilities allow you to design the data-schema, workflows and access control constructs of your application in a declarative way. Agents can work directly with this ontology and dynamically generate business workflows, making your application into a living system that constantly adapts to new requirements and demands.
44
308
 
45
- - Node.js 20+ (CI runs on 20.x, local development often uses 24.x)
46
- - Note: Some functions may behave differently between versions (e.g., array methods on iterators)
309
+ To get started with Agentlang Ontology, please see the [quick start](link-to-doc) guide or explore the following example applications:
47
310
 
48
- ## Quick Start
311
+ // TODO: links to example apps
49
312
 
50
- ### Installation
313
+ ## 🚀 Getting Started
51
314
 
52
315
  #### ⚡ Use npm or pnpm
53
316
 
@@ -57,11 +320,12 @@ npm install
57
320
  OR
58
321
 
59
322
  # Install pnpm: https://pnpm.io/installation
323
+ # Use pnpm
60
324
  pnpm install
61
325
  ```
62
326
  **Note**: If pnpm shows build script warnings, run `pnpm approve-builds` and approve esbuild and sqlite3.
63
327
 
64
- ### Build
328
+ ### Build
65
329
 
66
330
  ```shell
67
331
  # Generate parser and build
@@ -69,7 +333,7 @@ npm run langium:generate
69
333
  npm run build
70
334
  ```
71
335
 
72
- ### Test
336
+ ### Test
73
337
 
74
338
  ```shell
75
339
  # Run all tests
@@ -79,10 +343,10 @@ npm test
79
343
  npm run test:verbose
80
344
  ```
81
345
 
82
- ## CLI Usage
346
+ ## Run an Agentlang Script or Application
83
347
 
84
348
  ```shell
85
- # Parse and validate an AgentLang file
349
+ # Parse and validate an Agentlang file
86
350
  node ./bin/cli.js parseAndValidate example/blog/blog.al
87
351
 
88
352
  # Run a specific app
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/api/http.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAkBvD,wBAAgB,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,QAyEhF"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/api/http.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAkBvD,wBAAgB,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,QA2EhF"}
package/out/api/http.js CHANGED
@@ -32,10 +32,12 @@ export function startServer(appSpec, port, host) {
32
32
  handleMetaGet(req, res);
33
33
  });
34
34
  getAllEventNames().forEach((eventNames, moduleName) => {
35
+ const m = fetchModule(moduleName);
35
36
  eventNames.forEach((n) => {
36
- app.post(`/${moduleName}/${n}`, (req, res) => {
37
- handleEventPost(moduleName, n, req, res);
38
- });
37
+ if (m.eventIsPublic(n))
38
+ app.post(`/${moduleName}/${n}`, (req, res) => {
39
+ handleEventPost(moduleName, n, req, res);
40
+ });
39
41
  });
40
42
  });
41
43
  getAllEntityNames().forEach((entityNames, moduleName) => {
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/api/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/api/http.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agentlang-validator.d.ts","sourceRoot":"","sources":["../../src/language/agentlang-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAoB,MAAM,SAAS,CAAC;AACpE,OAAO,EAIL,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,iBAAiB,QAQnE;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAE7B,eAAe,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAmB3E,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,kBAAkB,GAAG,IAAI;CAc/E"}
1
+ {"version":3,"file":"agentlang-validator.d.ts","sourceRoot":"","sources":["../../src/language/agentlang-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAoB,MAAM,SAAS,CAAC;AACpE,OAAO,EAIL,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,iBAAiB,QAQnE;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAE7B,eAAe,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAyC3E,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,kBAAkB,GAAG,IAAI;CAiB/E"}
@@ -21,15 +21,32 @@ export class AgentlangValidator {
21
21
  // and report an error when we see one we've already seen
22
22
  const reported = new Set();
23
23
  module.defs.forEach(d => {
24
+ let n;
24
25
  if (!isStandaloneStatement(d)) {
25
- if (d.$type != 'WorkflowDefinition' && reported.has(d.name)) {
26
- accept('error', `Definition has non-unique name '${d.name}'.`, {
26
+ if (d.$type === 'PublicWorkflowDefinition' ||
27
+ d.$type === 'PublicAgentDefinition' ||
28
+ d.$type === 'PublicEventDefinition') {
29
+ n = d.def.name;
30
+ }
31
+ else {
32
+ n = d.name;
33
+ }
34
+ if (d.$type != 'WorkflowDefinition' &&
35
+ d.$type != 'PublicWorkflowDefinition' &&
36
+ d.$type != 'ScenarioDefinition' &&
37
+ d.$type != 'DirectiveDefinition' &&
38
+ d.$type != 'GlossaryEntryDefinition' &&
39
+ reported.has(n)) {
40
+ accept('error', `Definition has non-unique name '${n}'.`, {
27
41
  node: d,
28
42
  property: 'name',
29
43
  });
30
44
  }
31
- if (d.$type != 'FlowDefinition') {
32
- reported.add(d.name);
45
+ if (d.$type != 'FlowDefinition' &&
46
+ d.$type != 'ScenarioDefinition' &&
47
+ d.$type != 'DirectiveDefinition' &&
48
+ d.$type != 'GlossaryEntryDefinition') {
49
+ reported.add(n);
33
50
  }
34
51
  }
35
52
  });
@@ -38,6 +55,9 @@ export class AgentlangValidator {
38
55
  // create a set of visited functions
39
56
  // and report an error when we see one we've already seen
40
57
  const reported = new Set();
58
+ if (def.$type === 'PublicEventDefinition') {
59
+ def = def.def;
60
+ }
41
61
  def.schema.attributes.forEach((a) => {
42
62
  if (reported.has(a.name)) {
43
63
  accept('error', `'${def.name} " - attribute has non-unique name '${a.name}'.`, {
@@ -1 +1 @@
1
- {"version":3,"file":"agentlang-validator.js","sourceRoot":"","sources":["../../src/language/agentlang-validator.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,qBAAqB,GAGtB,MAAM,oBAAoB,CAAC;AAG5B;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAA2B;IAClE,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC;IACxD,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC;IACzD,MAAM,MAAM,GAAuC;QACjD,gBAAgB,EAAE,SAAS,CAAC,eAAe;QAC3C,gBAAgB,EAAE,SAAS,CAAC,qBAAqB;KAClD,CAAC;IACF,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,kBAAkB;IAC7B,uCAAuC;IACvC,eAAe,CAAC,MAAwB,EAAE,MAA0B;QAClE,oCAAoC;QACpC,yDAAyD;QACzD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACtB,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,CAAC,KAAK,IAAI,oBAAoB,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5D,MAAM,CAAC,OAAO,EAAE,mCAAmC,CAAC,CAAC,IAAI,IAAI,EAAE;wBAC7D,IAAI,EAAE,CAAC;wBACP,QAAQ,EAAE,MAAM;qBACjB,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,CAAC,KAAK,IAAI,gBAAgB,EAAE,CAAC;oBAChC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB,CAAC,GAAqB,EAAE,MAA0B;QACrE,oCAAoC;QACpC,yDAAyD;QACzD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAsB,EAAE,EAAE;YACvD,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,IAAI,uCAAuC,CAAC,CAAC,IAAI,IAAI,EAAE;oBAC7E,IAAI,EAAE,CAAC;oBACP,QAAQ,EAAE,MAAM;iBACjB,CAAC,CAAC;YACL,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"agentlang-validator.js","sourceRoot":"","sources":["../../src/language/agentlang-validator.ts"],"names":[],"mappings":"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"}