agentlang 0.1.8 → 0.1.9

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.
@@ -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;AAiBvD,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,QAyEhF"}
package/out/api/http.js CHANGED
@@ -5,7 +5,7 @@ import { parseAndEvaluateStatement } from '../runtime/interpreter.js';
5
5
  import { logger } from '../runtime/logger.js';
6
6
  import { requireAuth, verifySession } from '../runtime/modules/auth.js';
7
7
  import { BypassSession, isNoSession, NoSession } from '../runtime/auth/defs.js';
8
- import { escapeFqName, forceAsEscapedName, forceAsFqName, isString, makeFqName, restoreFqName, splitFqName, walkDownInstancePath, } from '../runtime/util.js';
8
+ import { escapeFqName, forceAsEscapedName, forceAsFqName, isString, isStringNumeric, makeFqName, restoreFqName, splitFqName, walkDownInstancePath, } from '../runtime/util.js';
9
9
  import { BadRequestError, PathAttributeNameQuery, UnauthorisedError } from '../runtime/defs.js';
10
10
  import { evaluate } from '../runtime/interpreter.js';
11
11
  export function startServer(appSpec, port, host) {
@@ -125,7 +125,12 @@ function normalizeRequestPath(path, moduleName) {
125
125
  function pathFromRequest(moduleName, entryName, req) {
126
126
  const path = req.params.path;
127
127
  if (!path) {
128
- return req.url;
128
+ const url = req.url;
129
+ const i = url.indexOf('?');
130
+ if (i > 0) {
131
+ return url.substring(0, i);
132
+ }
133
+ return url;
129
134
  }
130
135
  let p = '';
131
136
  if (path instanceof Array) {
@@ -185,7 +190,7 @@ async function handleEntityGet(moduleName, entityName, req, res) {
185
190
  pattern = fetchTreePattern(makeFqName(moduleName, entityName), path);
186
191
  }
187
192
  else {
188
- pattern = queryPatternFromPath(path);
193
+ pattern = queryPatternFromPath(path, req);
189
194
  }
190
195
  parseAndEvaluateStatement(pattern, sessionInfo.userId).then(ok(res)).catch(internalError(res));
191
196
  }
@@ -194,14 +199,36 @@ async function handleEntityGet(moduleName, entityName, req, res) {
194
199
  res.status(500).send(err.toString());
195
200
  }
196
201
  }
197
- function queryPatternFromPath(path) {
202
+ function objectAsAttributesPattern(obj) {
203
+ const attrs = new Array();
204
+ Object.keys(obj).forEach(key => {
205
+ const s = obj[key];
206
+ let v = s;
207
+ if (!s.startsWith('"')) {
208
+ if (!isStringNumeric(s) && s != 'true' && s != 'false') {
209
+ v = `"${s}"`;
210
+ }
211
+ }
212
+ attrs.push(`${key}? ${v}`);
213
+ });
214
+ return `{
215
+ ${attrs.join(',')}
216
+ }`;
217
+ }
218
+ function queryPatternFromPath(path, req) {
198
219
  const r = walkDownInstancePath(path);
199
220
  let moduleName = r[0];
200
221
  let entityName = r[1];
201
222
  const id = r[2];
202
223
  const parts = r[3];
203
224
  if (parts.length == 2 && id == undefined) {
204
- return `{${moduleName}/${entityName}? {}}`;
225
+ if (req.query && Object.keys(req.query).length > 0) {
226
+ const pat = objectAsAttributesPattern(req.query);
227
+ return `{${moduleName}/${entityName} ${pat}}`;
228
+ }
229
+ else {
230
+ return `{${moduleName}/${entityName}? {}}`;
231
+ }
205
232
  }
206
233
  else {
207
234
  moduleName = restoreFqName(moduleName);
@@ -253,7 +280,7 @@ async function handleEntityDelete(moduleName, entityName, req, res) {
253
280
  return;
254
281
  }
255
282
  const cmd = req.query.purge == 'true' ? 'purge' : 'delete';
256
- const pattern = `${cmd} ${queryPatternFromPath(path)}`;
283
+ const pattern = `${cmd} ${queryPatternFromPath(path, req)}`;
257
284
  parseAndEvaluateStatement(pattern, sessionInfo.userId).then(ok(res)).catch(internalError(res));
258
285
  }
259
286
  catch (err) {
@@ -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,3 +1,27 @@
1
1
  export declare const PlannerInstructions = "Agentlang is a very-high-level declarative language that makes it easy to define business applications as 'models'.\nThe model of a business application consists of entity definitions and workflows defined in \"modules\". \nA module is be encoded in a syntax inspired by JavaScript and JSON. Example of a simple module follows:\n\nmodule Erp\n\nentity Employee {\n employeeId UUID @id @default(uuid()),\n firstName String,\n lastName String,\n salary Number,\n email Email @indexed\n}\n\nThe Empoyee entity is part of the \"Erp\" module and it has four attributes: 'employeeId', 'firstName', 'lastName', 'salary' and 'email'. \nThe 'employeeId' attribute uniquely identifies an instance of the Employee entity and it's automatically filled-in by the system by calling the \"uuid()\" function. \nIn the place of the keyword 'entity', the keyword 'record' may also be used. The difference between an entity and a record is that, \ninstances of an entity is persisted to the database, instances of records are not.\n\nThis is an example of a record:\n\nrecord EmailMessage {\n to Email,\n from Email,\n subject String,\n body String\n}\n\nAnother major construct in Agentlang is the 'workflow'. Workflows contains JSON \"patterns\" that perform CRUD operations on entities. \nFor example, here's is a workflow that creates a new instance of the Employee entity:\n\nworkflow CreateEmployee {\n {Erp/Employee {firstName CreateEmployee.firstName,\n lastName CreateEmployee.lastName,\n salary CreateEmployee.salary,\n email CreateEmployee.email}}\n}\n\nThe attribute-values of the new Employee are derived from the \"event\" that triggers the workflow. In this example the event is called \"CreateEmployee\".\nAn event need not have an explicit schema, because its attributes can always be inferred from the workflow definition. But a model may also contain\nexplicit definitions of events, as follows,\n\nevent CreateEmployee {\n firstName String,\n lastName String,\n salary Number,\n email Email\n}\n\nA workflow attached to an event is invoked by creating an instance of the event, e.g:\n\n{Erp/CreateEmployee {firstName \"Sam\", lastName \"K\", salary 1400, email \"samk@acme.com\"}}\n\nThis means a workflow can be invoked from another workflow, simply by having the event-creation pattern.\n\nOther than the create-pattern for entities and events, some of the most useful patterns (related to entities) that can appear in a workflow are:\n1. Query - e.g: '{Erp/Employee {employeeId? \"56392e13-0d9a-42f7-b556-0d7cd9468a24\"}}'. The attributes by which the query happens must end with a '?' character.\n To lookup all instances of an entity, use the syntax: '{EntityName?: {}}'.\n2. Update - e.g: '{Erp/Employee {employeeId? \"56392e13-0d9a-42f7-b556-0d7cd9468a24\", firstName \"Joe\"}}'. This pattern updates the firstName of the employee\n with the given employeeId.\n3. Upsert - e.g: '{Erp/Employee {employeeId \"56392e13-0d9a-42f7-b556-0d7cd9468a24\", firstName \"Joe\"}, @upsert}'. The 'upsert' pattern will create a new\n instance, if the instance does not already exist.\n4. Delete - e.g: 'delete {Erp/Employee {employeeId? \"56392e13-0d9a-42f7-b556-0d7cd9468a24\"}}'\n\nThe default query operator is '=' (equals). So an expression like 'employeeId? \"56392e13-0d9a-42f7-b556-0d7cd9468a24\"' means,\n'where employeeId equals \"56392e13-0d9a-42f7-b556-0d7cd9468a24\"'. Other comparison operators has to be specified explicitly, as in\n'{age?< 50}' - which means 'where age less-than 50'. The comparison operators supported by a query pattern are:\n\n= - equals\n!= - not-equals\n< - less-than\n<= - less-than or equals\n> - greater-than\n>= - greater-than or equals\nin - membership check (argument must be an array)\nlike - string-ends-with?\nbetween - between given values (argument must be an array)\n\nTwo comparison expressions can be combined together by the logical operators 'or' and 'and'. The comparison and logical expressions produce a boolean\nresult, represented by 'true' or 'false'. A boolean value can be inversed by using the 'not' expression, e.g: 'not(some-value)'\n\nIn addition to the basic CRUD patterns, you can execute conditional-logic with the help of the 'if' pattern. An example follows,\n\nworkflow IncrementSalary {\n if (IncrementSalary.percentage > 10) {\n {Erp/Employee {employeeId IncrementSalary.employeeId, salary salary + salary * IncrementSalary.percentage}}\n } else {\n {Erp/Employee {employeeId IncrementSalary.employeeId, salary salary + 1500}}\n }\n}\n\nNote the value passed to the 'salary' attribute - it's an arithmetic expression. All normal arithmetic expressions are supported by workflow patterns.\n\nAnother example of the 'if' pattern:\n\nworkflow validateLicense {\n {checkLicenseNumber {number validateLicense.number}} @as response;\n if (response = \"ok\") {\n {license {number? validateLicense.number, status \"active\"}}\n } else {\n {license {number? validateLicense.number, status \"canceled\"}}\n }\n}\n\nAlso note the use of the '@as' keyword - this binds the result of a pattern to an 'alias'.\n\nA successful query pattern will return an array of instances. The 'for' pattern can be used to iterate over an array. An example follows:\n\nworkflow NotifyEmployees {\n {Erp/Employee {salary?> 1000}} @as employees;\n for emp in employees {\n {Erp/SendMail {email emp.email, body \"You are selected for an increment!\"}}\n }\n}\n\nHere the result of the query is bound to the alias named 'employees'. Any pattern can have an alias, including 'if' and 'for'. An alias can be used to refer to the attributes of the instance, \nvia the dot(.) notation. Aliases can also be used to destructure a query result - here's an example:\n\nworkflow FindFirstTwoEmployees {\n {Erp/Employee {salary?> 1000}} @as [emp1, emp2];\n [emp1, emp2]\n}\n\nThis alias will bind the first two instances to 'a' and 'b' and the rest of the instances to an array named 'xs':\n\n{SomeEntity {id?> 1}} @as [a, b, _, xs]\n\nExamples of binding aliases to 'if' and 'for':\n\nif (IncrementSalary.percentage > 10) {\n {Erp/Employee {employeeId IncrementSalary.employeeId, salary salary + salary * IncrementSalary.percentage}}\n} else {\n {Erp/Employee {employeeId IncrementSalary.employeeId, salary salary + 1500}}\n} @as emp\n\nfor emp in employees {\n {Erp/SendMail {email emp.email, body \"You are selected for an increment!\"}}\n} @as emails\n\nMake sure all references based on a preceding pattern is based either on an actual alias or the name of the workflow. For example, the following sequence of patterns\nare invalid, because the alias 'employee' is not defined:\n\n{Employee {id? 101}};\n{SendEmail {to employee.email, body \"hello\"}}\n\nA fix for the reference-error is shown below:\n\n{Employee {id? 101}} @as [employee];\n{SendEmail {to employee.email, body \"hello\"}}\n\nNote that the alias for the query is '[employee]' so that the resultset is destructured to select exactly one instance of Employee \nselected into the reference. You must follow this pattern if your goal is to select exactly a single instance.\n\nKeep in mind that the only valid syntax for the 'if' condition is:\n\nif (<expr>) {\n <patterns>\n} else if (<expr>) {\n <patterns>\n} else {\n <patterns>\n}\n\nThe following usage is NOT valid:\n\n<pattern> if (<expr>)\n\nA pattern may execute asynchronously and its eventual result can be handled by patterns provided in the '@then' clause. An example is shown below:\n\n{sendChatMessage {to \"amy\", \"text\" \"hello\"}} @as response @then {\n {saveResponse {from \"amy\", \"text\" response}}\n}\n\nIf you are instructed that a particular event will be called asynchronously, always provide the patterns that follows in its '@then' clause. You must add the \n'@then' clause only if an event's documentation or instruction explicitly requires to do so.\n\nEntities in a module can be connected together in relationships. There are two types of relationships - 'contains' and 'between'.\n'Contains' relationship is for hierarchical data, as in a Library entity containing Books. 'Between' relationship is for graph-like data,\nlike two Profiles in a social media app is connected as friends. A 'between' relationship can be one of the following three types - 'one_one' (one-to-one),\n'one_many' (one-to-many) and 'many_many' (many-to-many), which is the default.\n\nThe following example shows how additional profile data for an employee could be defined as a new entity and attached to the Employee entity as a between-relationship:\n\nentity Profile {\n id UUID @id @default(uuid()),\n address String @optional,\n photo URL @optional,\n dateOfBirth DateTime @optional\n}\n\nrelationship EmployeeProfile between (Erp/Employee, Erp/Profile) @one_one\n\nThe '@one_one' annotation means exactly one Employee and Profile can be related to each other via 'EmployeeProfile'.\n\nHere's the 'CreateEmployee' workflow updated to create the Employee with the his/her Profile attached:\n\nworkflow CreateEmployee {\n {Erp/Employee {firstName CreateEmployee.firstName,\n lastName CreateEmployee.lastName,\n salary CreateEmployee.salary,\n email CreateEmployee.email},\n Erp/EmployeeProfile {Erp/Profile {address CreateEmployee.address,\n photo CreateEmployee.photo,\n dateOfBirth CreateEmployee.dateOfBirth}}}\n}\n\nThe following pattern can be user to query an Employee along with his Profile:\n\n{Erp/Employee {employeeId? \"56392e13-0d9a-42f7-b556-0d7cd9468a24\"},\n Erp/EmployeeProfile {Erp/Profile? {}}}\n\nAs an example of 'contains' relaionships, consider modelling task-assignments for an Employee as folllows:\n\nentity TaskAssignment {\n id UUID @id @default(uuid()),\n description String,\n assignmentDate DateTime @default(now())\n}\n\nrelationship EmployeeTaskAssignment contains (Erp/Employee, Erp/TaskAssignment)\n\nThe following workflow shows how to assign a new task to an Employee:\n\nworkflow AssignNewTask {\n {Erp/Employee {employeeId? AssignNewTask.employeeId},\n Erp/EmployeeTaskAssignment {Erp/TaskAssignment {description AssignNewTask.description}}}\n}\n\nThe following workflow queries an Employee along with all his tasks:\n\nworkflow GetEmployeeTaskAssignments {\n {Erp/Employee {employeeId? GetEmployeeTaskAssignments.employeeId},\n Erp/EmployeeTaskAssignment {Erp/TaskAssignment? {}}}\n}\n\nA general rule regarding generating workflows - as much as possible, do not include references to the workflow event in the patterns. Try to\nfill-in values from the available context. For example, if your instruction is \"create a workflow to send an email to employee 101 with this message - \n'please call me as soon as possible'\", the best workflow to return is:\n\nworkflow sendEmail {\n {employee {id? 101}} @as emp;\n {email {to emp.email body \"please call me as soon as possible\"}}\n}\n\nbecause all the information needed is available in the context. If the instruction is \"create a workflow to send an email by employee-id with this message - \n'please call me as soon as possible'\", then you can return:\n\nworkflow sendEmail {\n {employee {id? sendEmail.employeeId}} @as emp;\n {email {to emp.email body \"please call me as soon as possible\"}}\n}\n\nThe point is, use the immediate context to fill-in values in generated patterns, as much as possible.\n\nAlso generate a workflow only if required explicitly by the user or the contextual information is incomplete. Otherwise, just return an array of patterns.\nAs an example, if the user request is \"send an email to employee 101 with this message - 'please call me as soon as possible'\", you must return:\n\n[{employee {id? 101}} @as emp;\n {email {to emp.email, body \"please call me as soon as possible\"}}]\n\nYou MUST separate each pattern in the array with a semi-colon (;) and never use a comma (,) for this purpose.\n\nNow consider the following module definition and generate appropriate patterns in response to the user instructions. You must return only valid patterns or workflows,\nno other descriptive text or comments are needed.\n";
2
2
  export declare const FlowExecInstructions = "The following is the textual representation of a flowchart. \n\ncheckOrder --> \"ProductA\" acceptOrder\ncheckOrder --> \"ProductB\" acceptOrder\ncheckOrder --> \"ProductC\" rejectOrder\nacceptOrder --> sendPaymentLinkToCustomer\nrejectOrder --> sendRejectionEmailToCustomer\n\nAlong with this flowchart, you'll be passed a \"context\", which contain the steps in the flowchart that was executed so far, along with\ntheir results. Based on the context, you need to return the name of the step that needs to execute next. If you have reached the end\nof the chart, return 'DONE'. \n\nAt the beginning of the execution, the context will contain only the order information, say something like:\n\nOrderNo: 101, Item: \"ProductB\", customerEmail: \"manager@acme.com\"\n\nThis means you have to return 'checkOrder' as the next step (i.e you move the root node of the flowchart).\nAfter the step checkOrder executes, you'll be passed the following context:\n\norderNo: 101, Item: \"ProductB\", customerEmail: \"manager@acme.com\"\ncheckOrder --> \"ProductB\"\n\nNow you can infer from the context that if the result of checkOrder is either \"ProductA\" or \"ProductB\", you must move to the step 'acceptOrder'.\nSo you return 'acceptOrder'. After this, you'll return the updated context as:\n\nOrderNo: 101, Item: \"ProductB\", customerEmail: \"manager@acme.com\"\ncheckOrder --> \"ProductB\"\nacceptOrder --> {orderNo: 101, customerEmail: \"manager@acme.com\", acceptedOn: \"2025-07-01\"}\n\nYou see that 'acceptOrder' has produced the result '{orderNo: 101, customerEmail: \"manager@acme.com\", acceptedOn: \"2025-07-01\"}' - but from the flowchart you know that, whatever the result of 'acceptOrder',\nyou have to move to the 'sendPaymentLinkToCustomer' step and so you return 'sendPaymentLinkToCustomer'.\n\nThe next context you'll see will be:\n\nOrderNo: 101, Item: \"ProductB\", customerEmail: \"manager@acme.com\"\ncheckOrder --> \"ProductB\"\nacceptOrder --> {orderNo: 101, customerEmail: \"manager@acme.com\", acceptedOn: \"2025-07-01\"}\nsendPaymentLinkToCustomer --> \"manager@acme.com\"\n\nThe 'sendPaymentLinkToCustomer' has returned the customer email. You look at the flowchart and detect that, whatever the return value of\n'sendPaymentLinkToCustomer' there is nothing else to do. So you return 'DONE'.\n\nGenerally a flowchart has the following two types of entries:\n 1. a --> b, meaning after step 'a' do step 'b'.\n 2. a --> \"x\" b - this means if 'a' returns the string \"x\", then do step 'b'.\nIf you detect that you have reached the end of the chart, return 'DONE'. Otherwise, return only the name of the next step. Never return\nany additional description, direction or comments.\n";
3
+ export type AgentCondition = {
4
+ cond: string;
5
+ then: string;
6
+ };
7
+ export declare function registerAgentDirectives(agentFqName: string, conds: AgentCondition[]): void;
8
+ export declare function getAgentDirectives(agentFqName: string): AgentCondition[] | undefined;
9
+ export declare function getAgentDirectivesJson(agentFqName: string): string | undefined;
10
+ export type AgentScenario = {
11
+ user: string;
12
+ ai: string;
13
+ };
14
+ export declare function registerAgentScenarios(agentFqName: string, scenarios: AgentScenario[]): void;
15
+ export declare function getAgentScenarios(agentFqName: string): AgentScenario[] | undefined;
16
+ export type AgentGlossaryEntry = {
17
+ name: string;
18
+ meaning: string;
19
+ synonyms: string | undefined;
20
+ };
21
+ export declare function registerAgentGlossary(agentFqName: string, glossary: AgentGlossaryEntry[]): void;
22
+ export declare function getAgentGlossary(agentFqName: string): AgentGlossaryEntry[] | undefined;
23
+ export declare function registerAgentResponseSchema(agentFqName: string, responseSchema: string): void;
24
+ export declare function getAgentResponseSchema(agentFqName: string): string | undefined;
25
+ export declare function registerAgentScratchNames(agentFqName: string, scratch: string[]): void;
26
+ export declare function getAgentScratchNames(agentFqName: string): Set<string> | undefined;
3
27
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/runtime/agents/common.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,8oYAwQ/B,CAAC;AAEF,eAAO,MAAM,oBAAoB,qpFA+ChC,CAAC"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/runtime/agents/common.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,8oYAwQ/B,CAAC;AAEF,eAAO,MAAM,oBAAoB,qpFA+ChC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAIF,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,QAEnF;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,EAAE,GAAG,SAAS,CAEpF;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAS9E;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAIF,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,QAErF;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,EAAE,GAAG,SAAS,CAElF;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B,CAAC;AAIF,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,QAExF;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,EAAE,GAAG,SAAS,CAEtF;AAID,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,QAEtF;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE9E;AAID,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAE/E;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAEjF"}
@@ -311,4 +311,49 @@ Generally a flowchart has the following two types of entries:
311
311
  If you detect that you have reached the end of the chart, return 'DONE'. Otherwise, return only the name of the next step. Never return
312
312
  any additional description, direction or comments.
313
313
  `;
314
+ const AgentDirectives = new Map();
315
+ export function registerAgentDirectives(agentFqName, conds) {
316
+ AgentDirectives.set(agentFqName, conds);
317
+ }
318
+ export function getAgentDirectives(agentFqName) {
319
+ return AgentDirectives.get(agentFqName);
320
+ }
321
+ export function getAgentDirectivesJson(agentFqName) {
322
+ const conds = AgentDirectives.get(agentFqName);
323
+ if (conds) {
324
+ const fmted = conds.map((c) => {
325
+ return { if: c.cond, then: c.then };
326
+ });
327
+ return JSON.stringify(fmted);
328
+ }
329
+ return undefined;
330
+ }
331
+ const AgentScenarios = new Map();
332
+ export function registerAgentScenarios(agentFqName, scenarios) {
333
+ AgentScenarios.set(agentFqName, scenarios);
334
+ }
335
+ export function getAgentScenarios(agentFqName) {
336
+ return AgentScenarios.get(agentFqName);
337
+ }
338
+ const AgentGlossary = new Map();
339
+ export function registerAgentGlossary(agentFqName, glossary) {
340
+ AgentGlossary.set(agentFqName, glossary);
341
+ }
342
+ export function getAgentGlossary(agentFqName) {
343
+ return AgentGlossary.get(agentFqName);
344
+ }
345
+ const AgentResponseSchema = new Map();
346
+ export function registerAgentResponseSchema(agentFqName, responseSchema) {
347
+ AgentResponseSchema.set(agentFqName, responseSchema);
348
+ }
349
+ export function getAgentResponseSchema(agentFqName) {
350
+ return AgentResponseSchema.get(agentFqName);
351
+ }
352
+ const AgentScratchNames = new Map();
353
+ export function registerAgentScratchNames(agentFqName, scratch) {
354
+ AgentScratchNames.set(agentFqName, new Set(scratch));
355
+ }
356
+ export function getAgentScratchNames(agentFqName) {
357
+ return AgentScratchNames.get(agentFqName);
358
+ }
314
359
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/runtime/agents/common.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwQlC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CnC,CAAC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/runtime/agents/common.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwQlC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CnC,CAAC;AAOF,MAAM,eAAe,GAAG,IAAI,GAAG,EAA4B,CAAC;AAE5D,MAAM,UAAU,uBAAuB,CAAC,WAAmB,EAAE,KAAuB;IAClF,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IACpD,OAAO,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,WAAmB;IACxD,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAiB,EAAE,EAAE;YAC5C,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAOD,MAAM,cAAc,GAAG,IAAI,GAAG,EAA2B,CAAC;AAE1D,MAAM,UAAU,sBAAsB,CAAC,WAAmB,EAAE,SAA0B;IACpF,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,OAAO,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACzC,CAAC;AAQD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAgC,CAAC;AAE9D,MAAM,UAAU,qBAAqB,CAAC,WAAmB,EAAE,QAA8B;IACvF,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,OAAO,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEtD,MAAM,UAAU,2BAA2B,CAAC,WAAmB,EAAE,cAAsB;IACrF,mBAAmB,CAAC,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,WAAmB;IACxD,OAAO,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAuB,CAAC;AAEzD,MAAM,UAAU,yBAAyB,CAAC,WAAmB,EAAE,OAAiB;IAC9E,iBAAiB,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,WAAmB;IACtD,OAAO,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/runtime/loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,gBAAgB,EAChB,UAAU,EAOV,sBAAsB,EACtB,kBAAkB,EAIlB,gBAAgB,EAcjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EASL,MAAM,EACN,YAAY,EACZ,MAAM,EACN,QAAQ,EAOT,MAAM,aAAa,CAAC;AAYrB,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAuBxE,OAAO,EAAE,MAAM,EAA8B,MAAM,YAAY,CAAC;AAOhE,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,mBAAmB,GAC5B,OAAO,CAAC,eAAe,CAAC,CAiD1B;AAED,wBAAsB,cAAc,CAAC,CAAC,SAAS,OAAO,EACpD,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,mBAAmB,GAC5B,OAAO,CAAC,CAAC,CAAC,CAEZ;AAED,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC;AAElC,eAAO,MAAM,cAAc,EAAE,eAG5B,CAAC;AAwEF;;;;;;GAMG;AACH,wBAAsB,IAAI,CACxB,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,GAAG,EACf,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,eAAe,CAAC,CAQ1B;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,GAAG,EACf,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,eAAe,CAAC,CAK1B;AAED,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA4BtE;AAED,wBAAsB,eAAe,kBAOpC;AA8GD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAUlF;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,sBAAsB,EAC3B,UAAU,EAAE,MAAM,GACjB,YAAY,CAEd;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,GAAG,QAAQ,CAExF;AAmBD,wBAAsB,uBAAuB,kBAiB5C;AA4UD,wBAAsB,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAUnE;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,iBAYrE;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,gBAAgB,EACxB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC,CAWjB;AAkBD,wBAAsB,aAAa,CACjC,cAAc,EAAE,MAAM,EACtB,QAAQ,GAAE,OAAc,EACxB,SAAS,CAAC,EAAE,GAAG,GACd,OAAO,CAAC,GAAG,CAAC,CAWd;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAE,OAAc,GAAG,GAAG,CAM3E;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,CAExD"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/runtime/loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,gBAAgB,EAChB,UAAU,EAOV,sBAAsB,EACtB,kBAAkB,EAIlB,gBAAgB,EAcjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EASL,MAAM,EACN,YAAY,EACZ,MAAM,EACN,QAAQ,EAOT,MAAM,aAAa,CAAC;AAYrB,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAWxE,OAAO,EAAE,MAAM,EAA8B,MAAM,YAAY,CAAC;AAiBhE,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,mBAAmB,GAC5B,OAAO,CAAC,eAAe,CAAC,CAiD1B;AAED,wBAAsB,cAAc,CAAC,CAAC,SAAS,OAAO,EACpD,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,mBAAmB,GAC5B,OAAO,CAAC,CAAC,CAAC,CAEZ;AAED,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC;AAElC,eAAO,MAAM,cAAc,EAAE,eAG5B,CAAC;AAwEF;;;;;;GAMG;AACH,wBAAsB,IAAI,CACxB,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,GAAG,EACf,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,eAAe,CAAC,CAQ1B;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,GAAG,EACf,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,eAAe,CAAC,CAK1B;AAED,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA4BtE;AAED,wBAAsB,eAAe,kBAOpC;AA8GD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAUlF;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,sBAAsB,EAC3B,UAAU,EAAE,MAAM,GACjB,YAAY,CAEd;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,GAAG,QAAQ,CAExF;AAmBD,wBAAsB,uBAAuB,kBAiB5C;AA6UD,wBAAsB,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAUnE;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,iBAYrE;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,gBAAgB,EACxB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC,CAWjB;AAkBD,wBAAsB,aAAa,CACjC,cAAc,EAAE,MAAM,EACtB,QAAQ,GAAE,OAAc,EACxB,SAAS,CAAC,EAAE,GAAG,GACd,OAAO,CAAC,GAAG,CAAC,CAWd;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAE,OAAc,GAAG,GAAG,CAM3E;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,CAExD"}
@@ -11,7 +11,7 @@ import { maybeGetValidationErrors, parse, parseModule, parseWorkflow } from '../
11
11
  import { logger } from './logger.js';
12
12
  import { Environment, evaluateStatements, GlobalEnvironment } from './interpreter.js';
13
13
  import { createPermission, createRole } from './modules/auth.js';
14
- import { AgentEntityName, CoreAIModuleName, LlmEntityName, registerAgentDirectives, registerAgentGlossary, registerAgentResponseSchema, registerAgentScenarios, registerAgentScratchNames, } from './modules/ai.js';
14
+ import { AgentEntityName, CoreAIModuleName, LlmEntityName } from './modules/ai.js';
15
15
  import { getDefaultLLMService } from './agents/registry.js';
16
16
  import { GenericResolver } from './resolvers/interface.js';
17
17
  import { registerResolver, setResolver } from './resolvers/registry.js';
@@ -20,6 +20,7 @@ import { getModuleFn, importModule } from './jsmodules.js';
20
20
  import { SetSubscription } from './defs.js';
21
21
  import z from 'zod';
22
22
  import { registerAgentFlow, registerFlow } from './agents/flows.js';
23
+ import { registerAgentDirectives, registerAgentGlossary, registerAgentResponseSchema, registerAgentScenarios, registerAgentScratchNames, } from './agents/common.js';
23
24
  export async function extractDocument(fileName, services) {
24
25
  const extensions = services.LanguageMetaData.fileExtensions;
25
26
  if (isNodeEnv && typeof fileName === 'string') {
@@ -563,20 +564,21 @@ async function addAgentDefinition(def, moduleName) {
563
564
  (await parseWorkflow(`workflow A {${wf}}`)).statements.forEach((stmt) => {
564
565
  addStandaloneStatement(stmt, moduleName, false);
565
566
  });
567
+ const agentFqName = makeFqName(moduleName, name);
566
568
  if (conds) {
567
- registerAgentDirectives(moduleName, name, conds);
569
+ registerAgentDirectives(agentFqName, conds);
568
570
  }
569
571
  if (scenarios) {
570
- registerAgentScenarios(moduleName, name, scenarios);
572
+ registerAgentScenarios(agentFqName, scenarios);
571
573
  }
572
574
  if (glossary) {
573
- registerAgentGlossary(moduleName, name, glossary);
575
+ registerAgentGlossary(agentFqName, glossary);
574
576
  }
575
577
  if (responseSchema) {
576
- registerAgentResponseSchema(moduleName, name, responseSchema);
578
+ registerAgentResponseSchema(agentFqName, responseSchema);
577
579
  }
578
580
  if (scratchNames) {
579
- registerAgentScratchNames(moduleName, name, scratchNames);
581
+ registerAgentScratchNames(agentFqName, scratchNames);
580
582
  }
581
583
  // Don't add llm to module attrs if it wasn't originally specified
582
584
  addAgent(def.name, attrs, moduleName);
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/runtime/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/runtime/loader.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Statement, RelNodes, PropertyDefinition, RecordSchemaDefinition, Expr, RbacSpecEntries, WorkflowHeader } from '../language/generated/ast.js';
2
2
  import { Path, CrudType } from './util.js';
3
3
  import { ActiveSessionInfo } from './auth/defs.js';
4
+ import { AgentCondition, AgentGlossaryEntry, AgentScenario } from './agents/common.js';
4
5
  export declare class ModuleEntry {
5
6
  name: string;
6
7
  moduleName: string;
@@ -117,6 +118,10 @@ export declare class Agent extends Record {
117
118
  removeDocuments(): Agent;
118
119
  setFlows(flows: string[]): Agent;
119
120
  getFlows(): string[] | undefined;
121
+ setDirectives(conds: AgentCondition[]): Agent;
122
+ setScenarios(scenarios: AgentScenario[]): Agent;
123
+ setGlossary(glossary: AgentGlossaryEntry[]): Agent;
124
+ setResponseSchema(entryName: string): Agent;
120
125
  toString(): string;
121
126
  static Suffix: string;
122
127
  static EscapeName(n: string): string;