agentlang 0.7.1 → 0.7.3

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 (74) hide show
  1. package/out/api/http.d.ts.map +1 -1
  2. package/out/api/http.js +46 -26
  3. package/out/api/http.js.map +1 -1
  4. package/out/cli/main.d.ts +1 -0
  5. package/out/cli/main.d.ts.map +1 -1
  6. package/out/cli/main.js +15 -2
  7. package/out/cli/main.js.map +1 -1
  8. package/out/language/generated/ast.d.ts +15 -6
  9. package/out/language/generated/ast.d.ts.map +1 -1
  10. package/out/language/generated/ast.js +15 -2
  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 +215 -164
  14. package/out/language/generated/grammar.js.map +1 -1
  15. package/out/language/main.cjs +227 -166
  16. package/out/language/main.cjs.map +2 -2
  17. package/out/runtime/defs.d.ts +7 -1
  18. package/out/runtime/defs.d.ts.map +1 -1
  19. package/out/runtime/defs.js +22 -1
  20. package/out/runtime/defs.js.map +1 -1
  21. package/out/runtime/exec-graph.d.ts.map +1 -1
  22. package/out/runtime/exec-graph.js +8 -0
  23. package/out/runtime/exec-graph.js.map +1 -1
  24. package/out/runtime/interpreter.d.ts +2 -1
  25. package/out/runtime/interpreter.d.ts.map +1 -1
  26. package/out/runtime/interpreter.js +13 -3
  27. package/out/runtime/interpreter.js.map +1 -1
  28. package/out/runtime/loader.d.ts +1 -0
  29. package/out/runtime/loader.d.ts.map +1 -1
  30. package/out/runtime/loader.js +6 -0
  31. package/out/runtime/loader.js.map +1 -1
  32. package/out/runtime/module.d.ts +3 -2
  33. package/out/runtime/module.d.ts.map +1 -1
  34. package/out/runtime/module.js +7 -3
  35. package/out/runtime/module.js.map +1 -1
  36. package/out/runtime/modules/core.d.ts +5 -0
  37. package/out/runtime/modules/core.d.ts.map +1 -1
  38. package/out/runtime/modules/core.js +47 -2
  39. package/out/runtime/modules/core.js.map +1 -1
  40. package/out/runtime/resolvers/sqldb/database.d.ts.map +1 -1
  41. package/out/runtime/resolvers/sqldb/database.js +2 -1
  42. package/out/runtime/resolvers/sqldb/database.js.map +1 -1
  43. package/out/runtime/resolvers/sqldb/impl.d.ts.map +1 -1
  44. package/out/runtime/resolvers/sqldb/impl.js +3 -2
  45. package/out/runtime/resolvers/sqldb/impl.js.map +1 -1
  46. package/out/setupClassic.d.ts +98 -0
  47. package/out/setupClassic.d.ts.map +1 -0
  48. package/out/setupClassic.js +38 -0
  49. package/out/setupClassic.js.map +1 -0
  50. package/out/setupCommon.d.ts +2 -0
  51. package/out/setupCommon.d.ts.map +1 -0
  52. package/out/setupCommon.js +33 -0
  53. package/out/setupCommon.js.map +1 -0
  54. package/out/setupExtended.d.ts +40 -0
  55. package/out/setupExtended.d.ts.map +1 -0
  56. package/out/setupExtended.js +67 -0
  57. package/out/setupExtended.js.map +1 -0
  58. package/out/syntaxes/agentlang.monarch.js +1 -1
  59. package/out/syntaxes/agentlang.monarch.js.map +1 -1
  60. package/package.json +186 -185
  61. package/src/api/http.ts +51 -25
  62. package/src/cli/main.ts +20 -0
  63. package/src/language/agentlang.langium +3 -1
  64. package/src/language/generated/ast.ts +31 -7
  65. package/src/language/generated/grammar.ts +215 -164
  66. package/src/runtime/defs.ts +27 -0
  67. package/src/runtime/exec-graph.ts +13 -0
  68. package/src/runtime/interpreter.ts +15 -3
  69. package/src/runtime/loader.ts +7 -0
  70. package/src/runtime/module.ts +12 -3
  71. package/src/runtime/modules/core.ts +67 -2
  72. package/src/runtime/resolvers/sqldb/database.ts +2 -0
  73. package/src/runtime/resolvers/sqldb/impl.ts +3 -10
  74. package/src/syntaxes/agentlang.monarch.ts +1 -1
@@ -0,0 +1,40 @@
1
+ export declare const setupConfigExtended: () => {
2
+ $type: string;
3
+ editorAppConfig: {
4
+ codeResources: {
5
+ modified: {
6
+ uri: string;
7
+ text: string;
8
+ };
9
+ };
10
+ useDiffEditor: boolean;
11
+ extensions: {
12
+ config: {
13
+ name: string;
14
+ publisher: string;
15
+ version: string;
16
+ engines: {
17
+ vscode: string;
18
+ };
19
+ contributes: {
20
+ languages: {
21
+ id: string;
22
+ extensions: string[];
23
+ configuration: string;
24
+ }[];
25
+ grammars: {
26
+ language: string;
27
+ scopeName: string;
28
+ path: string;
29
+ }[];
30
+ };
31
+ };
32
+ filesOrContents: Map<any, any>;
33
+ }[];
34
+ userConfiguration: {
35
+ json: string;
36
+ };
37
+ };
38
+ };
39
+ export declare const executeExtended: (htmlElement: HTMLElement) => Promise<void>;
40
+ //# sourceMappingURL=setupExtended.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupExtended.d.ts","sourceRoot":"","sources":["../src/setupExtended.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0D/B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAU,aAAa,WAAW,kBAgB7D,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { MonacoEditorLanguageClientWrapper } from 'monaco-editor-wrapper';
2
+ export const setupConfigExtended = () => {
3
+ const extensionFilesOrContents = new Map();
4
+ extensionFilesOrContents.set('/language-configuration.json', new URL('../language-configuration.json', import.meta.url));
5
+ extensionFilesOrContents.set('/agentlang-grammar.json', new URL('../syntaxes/agentlang.tmLanguage.json', import.meta.url));
6
+ return {
7
+ $type: 'extended',
8
+ editorAppConfig: {
9
+ codeResources: {
10
+ modified: {
11
+ uri: '/workspace/example.al',
12
+ text: `// Agentlang is running in the web!`,
13
+ },
14
+ },
15
+ useDiffEditor: false,
16
+ extensions: [
17
+ {
18
+ config: {
19
+ name: 'agentlang-web',
20
+ publisher: 'generator-langium',
21
+ version: '1.0.0',
22
+ engines: {
23
+ vscode: '*',
24
+ },
25
+ contributes: {
26
+ languages: [
27
+ {
28
+ id: 'agentlang',
29
+ extensions: ['.agentlang'],
30
+ configuration: './language-configuration.json',
31
+ },
32
+ ],
33
+ grammars: [
34
+ {
35
+ language: 'agentlang',
36
+ scopeName: 'source.agentlang',
37
+ path: './agentlang-grammar.json',
38
+ },
39
+ ],
40
+ },
41
+ },
42
+ filesOrContents: extensionFilesOrContents,
43
+ },
44
+ ],
45
+ userConfiguration: {
46
+ json: JSON.stringify({
47
+ 'workbench.colorTheme': 'Default Dark Modern',
48
+ 'editor.semanticHighlighting.enabled': true,
49
+ }),
50
+ },
51
+ },
52
+ };
53
+ };
54
+ export const executeExtended = async (htmlElement) => {
55
+ try {
56
+ const config = setupConfigExtended();
57
+ const wrapper = new MonacoEditorLanguageClientWrapper();
58
+ // Add the HTML container to the config
59
+ const wrapperConfig = Object.assign(Object.assign({}, config), { htmlContainer: htmlElement });
60
+ // Initialize and start the wrapper
61
+ await wrapper.initAndStart(wrapperConfig);
62
+ }
63
+ catch (error) {
64
+ console.error('Error initializing monaco editor:', error);
65
+ }
66
+ };
67
+ //# sourceMappingURL=setupExtended.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupExtended.js","sourceRoot":"","sources":["../src/setupExtended.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAsB,MAAM,uBAAuB,CAAC;AAE9F,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAE,CAAC;IAC3C,wBAAwB,CAAC,GAAG,CAC1B,8BAA8B,EAC9B,IAAI,GAAG,CAAC,gCAAgC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAC3D,CAAC;IACF,wBAAwB,CAAC,GAAG,CAC1B,yBAAyB,EACzB,IAAI,GAAG,CAAC,uCAAuC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAClE,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,UAAU;QACjB,eAAe,EAAE;YACf,aAAa,EAAE;gBACb,QAAQ,EAAE;oBACR,GAAG,EAAE,uBAAuB;oBAC5B,IAAI,EAAE,qCAAqC;iBAC5C;aACF;YACD,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE;gBACV;oBACE,MAAM,EAAE;wBACN,IAAI,EAAE,eAAe;wBACrB,SAAS,EAAE,mBAAmB;wBAC9B,OAAO,EAAE,OAAO;wBAChB,OAAO,EAAE;4BACP,MAAM,EAAE,GAAG;yBACZ;wBACD,WAAW,EAAE;4BACX,SAAS,EAAE;gCACT;oCACE,EAAE,EAAE,WAAW;oCACf,UAAU,EAAE,CAAC,YAAY,CAAC;oCAC1B,aAAa,EAAE,+BAA+B;iCAC/C;6BACF;4BACD,QAAQ,EAAE;gCACR;oCACE,QAAQ,EAAE,WAAW;oCACrB,SAAS,EAAE,kBAAkB;oCAC7B,IAAI,EAAE,0BAA0B;iCACjC;6BACF;yBACF;qBACF;oBACD,eAAe,EAAE,wBAAwB;iBAC1C;aACF;YACD,iBAAiB,EAAE;gBACjB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,sBAAsB,EAAE,qBAAqB;oBAC7C,qCAAqC,EAAE,IAAI;iBAC5C,CAAC;aACH;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,WAAwB,EAAE,EAAE;IAChE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,iCAAiC,EAAE,CAAC;QAExD,uCAAuC;QACvC,MAAM,aAAa,GAAG,gCACjB,MAAM,KACT,aAAa,EAAE,WAAW,GACV,CAAC;QAEnB,mCAAmC;QACnC,MAAM,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  // Monarch syntax highlighting for the agentlang language.
2
2
  export default {
3
3
  keywords: [
4
- '@actions', '@after', '@as', '@async', '@before', '@catch', '@distinct', '@enum', '@expr', '@from', '@full_join', '@inner_join', '@into', '@join', '@left_join', '@meta', '@oneof', '@public', '@rbac', '@ref', '@right_join', '@then', '@upsert', '@with_unique', 'agent', 'agentlang/retry', 'allow', 'and', 'attempts', 'await', 'backoff', 'between', 'case', 'commitTransaction', 'contains', 'create', 'decision', 'delete', 'directive', 'else', 'entity', 'error', 'event', 'extends', 'false', 'flow', 'for', 'glossaryEntry', 'if', 'import', 'in', 'like', 'module', 'not', 'not_found', 'onSubscription', 'or', 'purge', 'query', 'read', 'record', 'relationship', 'resolver', 'return', 'roles', 'rollbackTransaction', 'scenario', 'startTransaction', 'subscribe', 'true', 'update', 'upsert', 'where', 'workflow'
4
+ '@actions', '@after', '@as', '@async', '@before', '@catch', '@distinct', '@enum', '@expr', '@from', '@full_join', '@inner_join', '@into', '@join', '@left_join', '@meta', '@oneof', '@public', '@rbac', '@ref', '@right_join', '@then', '@upsert', '@with_unique', 'agent', 'agentlang/retry', 'allow', 'and', 'attempts', 'await', 'backoff', 'between', 'case', 'commitTransaction', 'contains', 'create', 'decision', 'delete', 'directive', 'else', 'entity', 'error', 'event', 'extends', 'false', 'flow', 'for', 'glossaryEntry', 'if', 'import', 'in', 'like', 'module', 'not', 'not_found', 'onSubscription', 'or', 'purge', 'query', 'read', 'record', 'relationship', 'resolver', 'return', 'roles', 'rollbackTransaction', 'scenario', 'startTransaction', 'subscribe', 'throw', 'true', 'update', 'upsert', 'where', 'workflow'
5
5
  ],
6
6
  operators: [
7
7
  '!=', '*', '+', ',', '-', '-->', '.', '/', ':', ';', '<', '<=', '<>', '=', '==', '>', '>=', '?', '@'
@@ -1 +1 @@
1
- {"version":3,"file":"agentlang.monarch.js","sourceRoot":"","sources":["../../src/syntaxes/agentlang.monarch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentlang.monarch.js","sourceRoot":"","sources":["../../src/syntaxes/agentlang.monarch.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,186 +1,187 @@
1
1
  {
2
- "name": "agentlang",
3
- "description": "The easiest way to build the most reliable AI agents - enterprise-grade teams of AI agents that collaborate with each other and humans",
4
- "version": "0.7.1",
5
- "license": "Sustainable Use License",
6
- "author": "agentlang-ai",
7
- "homepage": "https://github.com/agentlang-ai/agentlang#readme",
8
- "repository": {
9
- "type": "git",
10
- "url": "git+https://github.com/agentlang-ai/agentlang.git"
11
- },
12
- "bugs": {
13
- "url": "https://github.com/agentlang-ai/agentlang/issues"
14
- },
15
- "keywords": [
16
- "agentlang",
17
- "agents-generation",
18
- "ai-agents",
19
- "enterprise",
20
- "multi-agent",
21
- "no-code",
22
- "agent-teams",
23
- "production-ready"
24
- ],
25
- "files": [
26
- "bin",
27
- "out",
28
- "src",
29
- "LICENSE"
30
- ],
31
- "type": "module",
32
- "publishConfig": {
33
- "access": "public",
34
- "registry": "https://registry.npmjs.org/"
35
- },
36
- "dependencies": {
37
- "@aws-sdk/client-cognito-identity": "^3.828.0",
38
- "@aws-sdk/client-cognito-identity-provider": "^3.828.0",
39
- "@aws-sdk/credential-providers": "^3.828.0",
40
- "@isomorphic-git/lightning-fs": "^4.6.1",
41
- "@langchain/anthropic": "^0.3.32",
42
- "@langchain/core": "^0.3.78",
43
- "@langchain/openai": "^0.6.16",
44
- "@types/jsonwebtoken": "^9.0.10",
45
- "@types/multer": "^1.4.5-lts.1",
46
- "amazon-cognito-identity-js": "^6.3.15",
47
- "aws-jwt-verify": "^5.1.0",
48
- "bcryptjs": "^3.0.2",
49
- "buffer": "^6.0.3",
50
- "chalk": "~5.3.0",
51
- "commander": "~11.0.0",
52
- "express": "^5.1.0",
53
- "handlebars": "^4.7.8",
54
- "jsonwebtoken": "^9.0.2",
55
- "langchain": "^0.3.36",
56
- "langium": "^3.5.0",
57
- "multer": "^1.4.5-lts.1",
58
- "openapi-client-axios": "^7.6.0",
59
- "pg": "^8.16.1",
60
- "pgvector": "^0.2.1",
61
- "sql.js": "^1.13.0",
62
- "sqlite3": "^5.1.7",
63
- "typeorm": "^0.3.25",
64
- "vscode-languageserver": "^9.0.1",
65
- "winston": "^3.17.0",
66
- "winston-daily-rotate-file": "^5.0.0",
67
- "zod": "^3.25.55"
68
- },
69
- "overrides": {
70
- "semver": "^7.5.3",
71
- "trim-newlines": ">=3.0.1"
72
- },
73
- "devDependencies": {
74
- "@codingame/esbuild-import-meta-url-plugin": "~1.0.2",
75
- "@eslint/js": "^9.26.0",
76
- "@types/cookie-parser": "^1.4.9",
77
- "@types/express": "^5.0.1",
78
- "@types/node": "^18.19.110",
79
- "@types/sql.js": "^1.4.9",
80
- "@types/vscode": "^1.100.0",
81
- "@typescript-eslint/eslint-plugin": "~8.32.1",
82
- "@typescript-eslint/parser": "~8.32.1",
83
- "brace-expansion": ">=2.0.2",
84
- "concurrently": "~8.2.1",
85
- "esbuild": "^0.25.4",
86
- "eslint": "^9.39.1",
87
- "generator-langium": "^3.0.0",
88
- "http-server": "~14.1.1",
89
- "langium-cli": "^3.5.0",
90
- "nodemon": "^3.1.10",
91
- "prettier": "^3.5.3",
92
- "typescript": "^5.8.3",
93
- "typescript-eslint": "^8.32.1",
94
- "vite": "^6.3.5",
95
- "vite-plugin-node-polyfills": "^0.24.0",
96
- "vitest": "^3.1.3",
97
- "vscode-languageclient": "^9.0.1",
98
- "vscode-uri": "^3.1.0"
99
- },
100
- "volta": {
101
- "node": ">=20.0.0",
102
- "npm": ">=10.8.2"
103
- },
104
- "displayName": "agentlang",
105
- "engines": {
106
- "vscode": "^1.67.0",
107
- "node": ">=20.0.0"
108
- },
109
- "categories": [
110
- "Programming Languages"
111
- ],
112
- "contributes": {
113
- "languages": [
114
- {
115
- "id": "agentlang",
116
- "aliases": [
117
- "Agentlang",
118
- "agentlang"
119
- ],
120
- "extensions": [
121
- ".al"
122
- ],
123
- "configuration": "./language-configuration.json"
124
- }
125
- ],
126
- "grammars": [
127
- {
128
- "language": "agentlang",
129
- "scopeName": "source.agentlang",
130
- "path": "syntaxes/agentlang.tmLanguage.json"
131
- }
132
- ]
133
- },
134
- "activationEvents": [
135
- "onLanguage:agentlang"
136
- ],
137
- "main": "./out/extension/main.cjs",
138
- "types": "./out/index.d.ts",
139
- "exports": {
140
- ".": {
141
- "types": "./out/index.d.ts",
142
- "import": "./out/extension/main.cjs",
143
- "require": "./out/extension/main.cjs"
144
- },
145
- "./browser": {
146
- "types": "./out/browser.d.ts",
147
- "import": "./out/browser.js",
148
- "default": "./out/browser.js"
149
- },
150
- "./src/*": {
151
- "types": "./out/*.d.ts",
152
- "import": "./out/*.js",
153
- "require": "./out/*.js",
154
- "default": "./out/*.js"
155
- },
156
- "./out/*": "./out/*"
157
- },
158
- "bin": {
159
- "agentlang-cli": "./bin/cli.js"
160
- },
161
- "lint-staged": {
162
- "*.{js,ts,tsx}": [
163
- "eslint --fix --cache",
164
- "prettier --write"
165
- ],
166
- "*.{json,md,yml,yaml}": [
167
- "prettier --write"
168
- ]
169
- },
170
- "scripts": {
171
- "build": "tsc -b tsconfig.src.json && tsc -b tsconfig.declarations.json && node esbuild.mjs",
172
- "build:ts": "tsc -b tsconfig.src.json",
173
- "watch": "concurrently -n tsc,esbuild -c blue,yellow \"tsc -b tsconfig.src.json --watch\" \"node esbuild.mjs --watch\"",
174
- "lint": "eslint . --ext .ts",
175
- "lint:fix": "eslint . --ext .ts --fix",
176
- "format": "prettier --write \"src/**/*.{js,ts,tsx,json,md}\"",
177
- "format:check": "prettier --check \"src/**/*.{js,ts,tsx,json,md}\"",
178
- "langium:generate": "langium generate",
179
- "langium:generate:production": "langium generate --mode=production",
180
- "langium:watch": "langium generate --watch",
181
- "vscode:prepublish": "npm run build && npm run lint",
182
- "dev": "vite",
183
- "test": "vitest run",
184
- "test:verbose": "VITEST_VERBOSE=true vitest run"
185
- }
186
- }
2
+ "name": "agentlang",
3
+ "description": "The easiest way to build the most reliable AI agents - enterprise-grade teams of AI agents that collaborate with each other and humans",
4
+ "version": "0.7.3",
5
+ "license": "Sustainable Use License",
6
+ "author": "agentlang-ai",
7
+ "homepage": "https://github.com/agentlang-ai/agentlang#readme",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/agentlang-ai/agentlang.git"
11
+ },
12
+ "bugs": {
13
+ "url": "https://github.com/agentlang-ai/agentlang/issues"
14
+ },
15
+ "keywords": [
16
+ "agentlang",
17
+ "agents-generation",
18
+ "ai-agents",
19
+ "enterprise",
20
+ "multi-agent",
21
+ "no-code",
22
+ "agent-teams",
23
+ "production-ready"
24
+ ],
25
+ "files": [
26
+ "bin",
27
+ "out",
28
+ "src",
29
+ "LICENSE"
30
+ ],
31
+ "type": "module",
32
+ "publishConfig": {
33
+ "access": "public",
34
+ "registry": "https://registry.npmjs.org/"
35
+ },
36
+ "scripts": {
37
+ "build": "tsc -b tsconfig.src.json && tsc -b tsconfig.declarations.json && node esbuild.mjs",
38
+ "build:ts": "tsc -b tsconfig.src.json",
39
+ "watch": "concurrently -n tsc,esbuild -c blue,yellow \"tsc -b tsconfig.src.json --watch\" \"node esbuild.mjs --watch\"",
40
+ "lint": "eslint . --ext .ts",
41
+ "lint:fix": "eslint . --ext .ts --fix",
42
+ "format": "prettier --write \"src/**/*.{js,ts,tsx,json,md}\"",
43
+ "format:check": "prettier --check \"src/**/*.{js,ts,tsx,json,md}\"",
44
+ "langium:generate": "langium generate",
45
+ "langium:generate:production": "langium generate --mode=production",
46
+ "langium:watch": "langium generate --watch",
47
+ "vscode:prepublish": "npm run build && npm run lint",
48
+ "dev": "vite",
49
+ "test": "vitest run",
50
+ "test:verbose": "VITEST_VERBOSE=true vitest run"
51
+ },
52
+ "dependencies": {
53
+ "@aws-sdk/client-cognito-identity": "^3.828.0",
54
+ "@aws-sdk/client-cognito-identity-provider": "^3.828.0",
55
+ "@aws-sdk/credential-providers": "^3.828.0",
56
+ "@isomorphic-git/lightning-fs": "^4.6.1",
57
+ "@langchain/anthropic": "^0.3.32",
58
+ "@langchain/core": "^0.3.78",
59
+ "@langchain/openai": "^0.6.16",
60
+ "@types/jsonwebtoken": "^9.0.10",
61
+ "@types/multer": "^1.4.5-lts.1",
62
+ "amazon-cognito-identity-js": "^6.3.15",
63
+ "aws-jwt-verify": "^5.1.0",
64
+ "bcryptjs": "^3.0.2",
65
+ "buffer": "^6.0.3",
66
+ "chalk": "~5.3.0",
67
+ "commander": "~11.0.0",
68
+ "express": "^5.1.0",
69
+ "handlebars": "^4.7.8",
70
+ "jsonwebtoken": "^9.0.2",
71
+ "langchain": "^0.3.36",
72
+ "langium": "^3.5.0",
73
+ "multer": "^1.4.5-lts.1",
74
+ "openapi-client-axios": "^7.6.0",
75
+ "pg": "^8.16.1",
76
+ "pgvector": "^0.2.1",
77
+ "sql.js": "^1.13.0",
78
+ "sqlite3": "^5.1.7",
79
+ "typeorm": "^0.3.25",
80
+ "vscode-languageserver": "^9.0.1",
81
+ "winston": "^3.17.0",
82
+ "winston-daily-rotate-file": "^5.0.0",
83
+ "zod": "^3.25.55"
84
+ },
85
+ "overrides": {
86
+ "semver": "^7.5.3",
87
+ "trim-newlines": ">=3.0.1"
88
+ },
89
+ "devDependencies": {
90
+ "@codingame/esbuild-import-meta-url-plugin": "~1.0.2",
91
+ "@eslint/js": "^9.26.0",
92
+ "@types/cookie-parser": "^1.4.9",
93
+ "@types/express": "^5.0.1",
94
+ "@types/node": "^18.19.110",
95
+ "@types/sql.js": "^1.4.9",
96
+ "@types/vscode": "^1.100.0",
97
+ "@typescript-eslint/eslint-plugin": "~8.32.1",
98
+ "@typescript-eslint/parser": "~8.32.1",
99
+ "brace-expansion": ">=2.0.2",
100
+ "concurrently": "~8.2.1",
101
+ "esbuild": "^0.25.4",
102
+ "eslint": "^9.39.1",
103
+ "generator-langium": "^3.0.0",
104
+ "http-server": "~14.1.1",
105
+ "langium-cli": "^3.5.0",
106
+ "nodemon": "^3.1.10",
107
+ "prettier": "^3.5.3",
108
+ "typescript": "^5.8.3",
109
+ "typescript-eslint": "^8.32.1",
110
+ "vite": "^6.3.5",
111
+ "vite-plugin-node-polyfills": "^0.24.0",
112
+ "vitest": "^3.1.3",
113
+ "vscode-languageclient": "^9.0.1",
114
+ "vscode-uri": "^3.1.0"
115
+ },
116
+ "volta": {
117
+ "node": ">=20.0.0",
118
+ "npm": ">=10.8.2"
119
+ },
120
+ "displayName": "agentlang",
121
+ "engines": {
122
+ "vscode": "^1.67.0",
123
+ "node": ">=20.0.0"
124
+ },
125
+ "categories": [
126
+ "Programming Languages"
127
+ ],
128
+ "contributes": {
129
+ "languages": [
130
+ {
131
+ "id": "agentlang",
132
+ "aliases": [
133
+ "Agentlang",
134
+ "agentlang"
135
+ ],
136
+ "extensions": [
137
+ ".al"
138
+ ],
139
+ "configuration": "./language-configuration.json"
140
+ }
141
+ ],
142
+ "grammars": [
143
+ {
144
+ "language": "agentlang",
145
+ "scopeName": "source.agentlang",
146
+ "path": "syntaxes/agentlang.tmLanguage.json"
147
+ }
148
+ ]
149
+ },
150
+ "activationEvents": [
151
+ "onLanguage:agentlang"
152
+ ],
153
+ "main": "./out/extension/main.cjs",
154
+ "types": "./out/index.d.ts",
155
+ "exports": {
156
+ ".": {
157
+ "types": "./out/index.d.ts",
158
+ "import": "./out/extension/main.cjs",
159
+ "require": "./out/extension/main.cjs"
160
+ },
161
+ "./browser": {
162
+ "types": "./out/browser.d.ts",
163
+ "import": "./out/browser.js",
164
+ "default": "./out/browser.js"
165
+ },
166
+ "./src/*": {
167
+ "types": "./out/*.d.ts",
168
+ "import": "./out/*.js",
169
+ "require": "./out/*.js",
170
+ "default": "./out/*.js"
171
+ },
172
+ "./out/*": "./out/*"
173
+ },
174
+ "bin": {
175
+ "agentlang-cli": "./bin/cli.js"
176
+ },
177
+ "lint-staged": {
178
+ "*.{js,ts,tsx}": [
179
+ "eslint --fix --cache",
180
+ "prettier --write"
181
+ ],
182
+ "*.{json,md,yml,yaml}": [
183
+ "prettier --write"
184
+ ]
185
+ },
186
+ "packageManager": "pnpm@10.22.0"
187
+ }
package/src/api/http.ts CHANGED
@@ -16,6 +16,7 @@ import {
16
16
  Record,
17
17
  fetchRefTarget,
18
18
  getAttributeNames,
19
+ Module,
19
20
  } from '../runtime/module.js';
20
21
  import { isNodeEnv } from '../utils/runtime.js';
21
22
  import { parseAndEvaluateStatement, Result } from '../runtime/interpreter.js';
@@ -42,6 +43,8 @@ import {
42
43
  BadRequestError,
43
44
  isPathAttribute,
44
45
  PathAttributeNameQuery,
46
+ setEntityEndpointsUpdater,
47
+ setEventEndpointsUpdater,
45
48
  UnauthorisedError,
46
49
  } from '../runtime/defs.js';
47
50
  import { evaluate } from '../runtime/interpreter.js';
@@ -145,39 +148,47 @@ export async function startServer(
145
148
  });
146
149
  }
147
150
 
151
+ const addEventHandler = (moduleName: string, m: Module, n: string) => {
152
+ if (m.eventIsPublic(n))
153
+ app.post(`/${moduleName}/${n}`, (req: Request, res: Response) => {
154
+ handleEventPost(moduleName, n, req, res);
155
+ });
156
+ };
157
+
148
158
  getAllEventNames().forEach((eventNames: string[], moduleName: string) => {
149
159
  const m = fetchModule(moduleName);
150
160
  eventNames.forEach((n: string) => {
151
- if (m.eventIsPublic(n))
152
- app.post(`/${moduleName}/${n}`, (req: Request, res: Response) => {
153
- handleEventPost(moduleName, n, req, res);
154
- });
161
+ addEventHandler(moduleName, m, n);
155
162
  });
156
163
  });
157
164
 
165
+ const addEntityHandlers = (moduleName: string, n: string) => {
166
+ app.get(`/${moduleName}/${n}`, (req: Request, res: Response) => {
167
+ handleEntityGet(moduleName, n, req, res);
168
+ });
169
+ app.get(`/${moduleName}/${n}/*path`, (req: Request, res: Response) => {
170
+ handleEntityGet(moduleName, n, req, res);
171
+ });
172
+ app.post(`/${moduleName}/${n}`, (req: Request, res: Response) => {
173
+ handleEntityPost(moduleName, n, req, res);
174
+ });
175
+ app.post(`/${moduleName}/${n}/*path`, (req: Request, res: Response) => {
176
+ handleEntityPost(moduleName, n, req, res);
177
+ });
178
+ app.put(`/${moduleName}/${n}/*path`, (req: Request, res: Response) => {
179
+ handleEntityPut(moduleName, n, req, res);
180
+ });
181
+ app.patch(`/${moduleName}/${n}/*path`, (req: Request, res: Response) => {
182
+ handleEntityPut(moduleName, n, req, res);
183
+ });
184
+ app.delete(`/${moduleName}/${n}/*path`, (req: Request, res: Response) => {
185
+ handleEntityDelete(moduleName, n, req, res);
186
+ });
187
+ };
188
+
158
189
  getAllEntityNames().forEach((entityNames: string[], moduleName: string) => {
159
190
  entityNames.forEach((n: string) => {
160
- app.get(`/${moduleName}/${n}`, (req: Request, res: Response) => {
161
- handleEntityGet(moduleName, n, req, res);
162
- });
163
- app.get(`/${moduleName}/${n}/*path`, (req: Request, res: Response) => {
164
- handleEntityGet(moduleName, n, req, res);
165
- });
166
- app.post(`/${moduleName}/${n}`, (req: Request, res: Response) => {
167
- handleEntityPost(moduleName, n, req, res);
168
- });
169
- app.post(`/${moduleName}/${n}/*path`, (req: Request, res: Response) => {
170
- handleEntityPost(moduleName, n, req, res);
171
- });
172
- app.put(`/${moduleName}/${n}/*path`, (req: Request, res: Response) => {
173
- handleEntityPut(moduleName, n, req, res);
174
- });
175
- app.patch(`/${moduleName}/${n}/*path`, (req: Request, res: Response) => {
176
- handleEntityPut(moduleName, n, req, res);
177
- });
178
- app.delete(`/${moduleName}/${n}/*path`, (req: Request, res: Response) => {
179
- handleEntityDelete(moduleName, n, req, res);
180
- });
191
+ addEntityHandlers(moduleName, n);
181
192
  });
182
193
  });
183
194
 
@@ -193,6 +204,21 @@ export async function startServer(
193
204
  } else {
194
205
  app.listen(port, cb);
195
206
  }
207
+
208
+ setEventEndpointsUpdater((moduleName: string) => {
209
+ const m = fetchModule(moduleName);
210
+ const eventNames = m.getEventNames();
211
+ eventNames.forEach((n: string) => {
212
+ addEventHandler(moduleName, m, n);
213
+ });
214
+ });
215
+ setEntityEndpointsUpdater((moduleName: string) => {
216
+ const m = fetchModule(moduleName);
217
+ const entityNames = m.getEntityNames();
218
+ entityNames.forEach((n: string) => {
219
+ addEntityHandlers(moduleName, n);
220
+ });
221
+ });
196
222
  }
197
223
 
198
224
  function ok(res: Response) {