@agentbridgeai/core 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/engine.d.ts CHANGED
@@ -5,6 +5,7 @@ export declare class AgentBridgeEngine {
5
5
  private conversations;
6
6
  private llm;
7
7
  private systemPrompt;
8
+ private maxToolsPerTurn;
8
9
  constructor(config: AgentBridgeConfig);
9
10
  registerPlugin(plugin: Plugin): Promise<void>;
10
11
  getPlugins(): Plugin[];
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,MAAM,EAGN,QAAQ,EACR,YAAY,EACb,MAAM,YAAY,CAAC;AAapB,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,YAAY,CAAS;gBAEjB,MAAM,EAAE,iBAAiB;IAc/B,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD,UAAU,IAAI,MAAM,EAAE;IAItB,aAAa,IAAI,MAAM;IAUvB,OAAO,CAAC,iBAAiB;IAYzB;;;OAGG;IACG,IAAI,CACR,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QAChD,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;QAC1C,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;KACnE,GACA,OAAO,CAAC,MAAM,CAAC;CA8DnB"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,MAAM,EAGN,QAAQ,EACR,YAAY,EACb,MAAM,YAAY,CAAC;AAapB,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,eAAe,CAAS;gBAEpB,MAAM,EAAE,iBAAiB;IAe/B,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD,UAAU,IAAI,MAAM,EAAE;IAItB,aAAa,IAAI,MAAM;IAUvB,OAAO,CAAC,iBAAiB;IAYzB;;;OAGG;IACG,IAAI,CACR,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QAChD,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;QAC1C,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;KACnE,GACA,OAAO,CAAC,MAAM,CAAC;CA+DnB"}
package/dist/engine.js CHANGED
@@ -14,12 +14,14 @@ export class AgentBridgeEngine {
14
14
  conversations;
15
15
  llm;
16
16
  systemPrompt;
17
+ maxToolsPerTurn;
17
18
  constructor(config) {
18
19
  this.registry = new PluginRegistry();
19
20
  this.executor = new ActionExecutor(this.registry);
20
21
  this.conversations = new ConversationManager();
21
22
  this.llm = config.llmProvider;
22
23
  this.systemPrompt = config.systemPrompt ?? DEFAULT_SYSTEM_PROMPT;
24
+ this.maxToolsPerTurn = Math.max(1, config.maxToolsPerTurn ?? 8);
23
25
  if (config.plugins) {
24
26
  for (const plugin of config.plugins) {
25
27
  this.registerPlugin(plugin);
@@ -64,10 +66,11 @@ ${pluginList || 'No plugins installed.'}`;
64
66
  role: 'user',
65
67
  content: userMessage,
66
68
  });
67
- const tools = this.registry.toLLMTools();
68
69
  const maxIterations = 10; // prevent infinite tool-calling loops
69
70
  for (let i = 0; i < maxIterations; i++) {
70
71
  const messages = this.conversations.getMessages(sessionId);
72
+ const latestUserMessage = [...messages].reverse().find(m => m.role === 'user')?.content ?? userMessage;
73
+ const tools = this.registry.selectLLMTools(latestUserMessage, this.maxToolsPerTurn);
71
74
  const response = await this.llm.chat(messages, tools);
72
75
  // If no tool calls, return the text response
73
76
  if (!response.toolCalls || response.toolCalls.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,11 @@ export declare class PluginRegistry {
12
12
  * can call them and we can route back to the right plugin.
13
13
  */
14
14
  toLLMTools(): LLMTool[];
15
+ /**
16
+ * Return a relevance-ranked subset of tools for the current user request.
17
+ * This keeps tool payload small for providers with strict token/request limits.
18
+ */
19
+ selectLLMTools(userInput: string, maxTools: number): LLMTool[];
15
20
  /**
16
21
  * Parse a tool name like "weather__get_weather" back into plugin + action names
17
22
  */
@@ -19,5 +24,10 @@ export declare class PluginRegistry {
19
24
  pluginName: string;
20
25
  actionName: string;
21
26
  };
27
+ private compactJsonSchema;
28
+ private tokenize;
29
+ private expandQueryTokens;
30
+ private countOverlap;
31
+ private actionBasePriority;
22
32
  }
23
33
  //# sourceMappingURL=plugin-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-registry.d.ts","sourceRoot":"","sources":["../src/plugin-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1D,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAkC;IAE3C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU7C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ9B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI3C,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAKrE,aAAa,IAAI,MAAM,EAAE;IAIzB;;;;OAIG;IACH,UAAU,IAAI,OAAO,EAAE;IAqBvB;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;CAOnF"}
1
+ {"version":3,"file":"plugin-registry.d.ts","sourceRoot":"","sources":["../src/plugin-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1D,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAkC;IAE3C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU7C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ9B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI3C,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAKrE,aAAa,IAAI,MAAM,EAAE;IAIzB;;;;OAIG;IACH,UAAU,IAAI,OAAO,EAAE;IAsBvB;;;OAGG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE;IA8C9D;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IAQlF,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,QAAQ;IAiBhB,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,kBAAkB;CAU3B"}
@@ -41,15 +41,60 @@ export class PluginRegistry {
41
41
  });
42
42
  // Remove the top-level $schema key that zodToJsonSchema adds
43
43
  const { $schema, ...parameterSchema } = jsonSchema;
44
+ const compactSchema = this.compactJsonSchema(parameterSchema);
44
45
  tools.push({
45
46
  name: `${plugin.name}__${action.name}`,
46
47
  description: `[${plugin.name}] ${action.description}`,
47
- parameters: parameterSchema,
48
+ parameters: compactSchema,
48
49
  });
49
50
  }
50
51
  }
51
52
  return tools;
52
53
  }
54
+ /**
55
+ * Return a relevance-ranked subset of tools for the current user request.
56
+ * This keeps tool payload small for providers with strict token/request limits.
57
+ */
58
+ selectLLMTools(userInput, maxTools) {
59
+ const allTools = this.toLLMTools();
60
+ if (maxTools <= 0 || allTools.length <= maxTools)
61
+ return allTools;
62
+ const queryTokens = this.expandQueryTokens(this.tokenize(userInput));
63
+ const rawInput = userInput.toLowerCase().trim();
64
+ const pluginNames = new Set(Array.from(this.plugins.keys()).map(n => n.toLowerCase()));
65
+ const mentionedPlugins = new Set(Array.from(pluginNames).filter(p => queryTokens.has(p) || userInput.toLowerCase().includes(p)));
66
+ const scored = allTools
67
+ .map(tool => {
68
+ const { pluginName, actionName } = PluginRegistry.parseToolName(tool.name);
69
+ const actionTokens = this.tokenize(actionName.replace(/_/g, ' '));
70
+ const descTokens = this.tokenize(tool.description);
71
+ const overlapAction = this.countOverlap(queryTokens, actionTokens);
72
+ const overlapDesc = this.countOverlap(queryTokens, descTokens);
73
+ const basePriority = this.actionBasePriority(actionName);
74
+ let score = basePriority + overlapAction * 8 + overlapDesc * 3;
75
+ if (mentionedPlugins.has(pluginName.toLowerCase()))
76
+ score += 30;
77
+ if (rawInput.length > 2 && tool.name.toLowerCase().includes(rawInput))
78
+ score += 20;
79
+ return { tool, pluginName, score };
80
+ })
81
+ .sort((a, b) => b.score - a.score || a.tool.name.localeCompare(b.tool.name));
82
+ // If user explicitly mentioned plugin(s), prioritize only those first.
83
+ if (mentionedPlugins.size > 0) {
84
+ const focused = scored
85
+ .filter(s => mentionedPlugins.has(s.pluginName.toLowerCase()))
86
+ .slice(0, maxTools)
87
+ .map(s => s.tool);
88
+ if (focused.length >= maxTools)
89
+ return focused;
90
+ const rest = scored
91
+ .filter(s => !mentionedPlugins.has(s.pluginName.toLowerCase()))
92
+ .slice(0, maxTools - focused.length)
93
+ .map(s => s.tool);
94
+ return [...focused, ...rest];
95
+ }
96
+ return scored.slice(0, maxTools).map(s => s.tool);
97
+ }
53
98
  /**
54
99
  * Parse a tool name like "weather__get_weather" back into plugin + action names
55
100
  */
@@ -60,5 +105,77 @@ export class PluginRegistry {
60
105
  }
61
106
  return { pluginName, actionName };
62
107
  }
108
+ compactJsonSchema(value) {
109
+ if (Array.isArray(value))
110
+ return value.map(v => this.compactJsonSchema(v));
111
+ if (!value || typeof value !== 'object')
112
+ return value;
113
+ const out = {};
114
+ for (const [key, raw] of Object.entries(value)) {
115
+ // Keep only fields required for tool-calling argument validation.
116
+ if (['description', 'default', 'examples', 'title', '$id', '$comment'].includes(key))
117
+ continue;
118
+ out[key] = this.compactJsonSchema(raw);
119
+ }
120
+ return out;
121
+ }
122
+ tokenize(text) {
123
+ const stopwords = new Set([
124
+ 'the', 'a', 'an', 'to', 'for', 'with', 'and', 'or', 'of', 'in', 'on', 'at', 'is', 'are',
125
+ 'can', 'could', 'would', 'should', 'please', 'me', 'my', 'you', 'your', 'it', 'this', 'that',
126
+ 'any', 'from', 'via', 'by',
127
+ ]);
128
+ const tokens = (text.toLowerCase().match(/[a-z0-9_]+/g) ?? []).filter(t => !stopwords.has(t));
129
+ const normalized = new Set();
130
+ for (const token of tokens) {
131
+ normalized.add(token);
132
+ if (token.endsWith('s') && token.length > 3) {
133
+ normalized.add(token.slice(0, -1));
134
+ }
135
+ }
136
+ return normalized;
137
+ }
138
+ expandQueryTokens(tokens) {
139
+ const expanded = new Set(tokens);
140
+ const synonyms = {
141
+ song: ['track', 'music'],
142
+ songs: ['tracks', 'music'],
143
+ find: ['search', 'lookup', 'get'],
144
+ discover: ['search', 'recommendations'],
145
+ play: ['playback', 'start'],
146
+ pause: ['playback'],
147
+ skip: ['next', 'previous'],
148
+ liked: ['saved', 'library'],
149
+ };
150
+ for (const token of Array.from(tokens)) {
151
+ for (const add of synonyms[token] ?? [])
152
+ expanded.add(add);
153
+ }
154
+ return expanded;
155
+ }
156
+ countOverlap(a, b) {
157
+ let overlap = 0;
158
+ for (const token of a) {
159
+ if (b.has(token))
160
+ overlap++;
161
+ }
162
+ return overlap;
163
+ }
164
+ actionBasePriority(actionName) {
165
+ const n = actionName.toLowerCase();
166
+ if (n.includes('search') || n.includes('find'))
167
+ return 18;
168
+ if (n.includes('list'))
169
+ return 12;
170
+ if (n.startsWith('get_') || n.includes('get'))
171
+ return 10;
172
+ if (n.includes('create') || n.includes('add') || n.includes('start'))
173
+ return 8;
174
+ if (n.includes('update') || n.includes('edit') || n.includes('save'))
175
+ return 7;
176
+ if (n.includes('delete') || n.includes('remove'))
177
+ return 6;
178
+ return 4;
179
+ }
63
180
  }
64
181
  //# sourceMappingURL=plugin-registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-registry.js","sourceRoot":"","sources":["../src/plugin-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,MAAM,OAAO,cAAc;IACjB,OAAO,GAAwB,IAAI,GAAG,EAAE,CAAC;IAEjD,KAAK,CAAC,QAAQ,CAAC,MAAc;QAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,WAAW,MAAM,CAAC,IAAI,yBAAyB,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC;YACrB,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,SAAS,CAAC,UAAkB,EAAE,UAAkB;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5C,OAAO,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAC1D,CAAC;IAED,aAAa;QACX,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,UAAU;QACR,MAAM,KAAK,GAAc,EAAE,CAAC;QAC5B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpC,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,UAAU,EAAE;oBACpD,MAAM,EAAE,UAAU;iBACnB,CAAC,CAAC;gBAEH,6DAA6D;gBAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,EAAE,GAAG,UAAiB,CAAC;gBAE1D,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE;oBACtC,WAAW,EAAE,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,WAAW,EAAE;oBACrD,UAAU,EAAE,eAAe;iBAC5B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,QAAgB;QACnC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,sCAAsC,CAAC,CAAC;QAChG,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;IACpC,CAAC;CACF"}
1
+ {"version":3,"file":"plugin-registry.js","sourceRoot":"","sources":["../src/plugin-registry.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -74,5 +74,7 @@ export interface AgentBridgeConfig {
74
74
  llmProvider: LLMProvider;
75
75
  plugins?: Plugin[];
76
76
  systemPrompt?: string;
77
+ /** Max number of tool definitions sent to the model per turn. */
78
+ maxToolsPerTurn?: number;
77
79
  }
78
80
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentbridgeai/core",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Engine, plugin registry, and conversation manager for AgentBridge",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -26,6 +26,11 @@
26
26
  "openapi",
27
27
  "agentbridge"
28
28
  ],
29
+ "scripts": {
30
+ "build": "tsc",
31
+ "dev": "tsc --watch",
32
+ "clean": "rm -rf dist"
33
+ },
29
34
  "dependencies": {
30
35
  "zod": "^3.23.0",
31
36
  "zod-to-json-schema": "^3.23.0",
@@ -34,10 +39,5 @@
34
39
  "devDependencies": {
35
40
  "@types/node": "^22.0.0",
36
41
  "typescript": "^5.5.0"
37
- },
38
- "scripts": {
39
- "build": "tsc",
40
- "dev": "tsc --watch",
41
- "clean": "rm -rf dist"
42
42
  }
43
- }
43
+ }
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 AgentBridge
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.