@framers/agentos 0.1.2 → 0.1.4
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/LICENSE +98 -98
- package/README.md +367 -343
- package/dist/api/AgentOSOrchestrator.d.ts.map +1 -1
- package/dist/api/AgentOSOrchestrator.js +21 -55
- package/dist/api/AgentOSOrchestrator.js.map +1 -1
- package/dist/core/agents/AgentCore.js +9 -9
- package/dist/core/agents/AgentPoolAgent.js +35 -35
- package/dist/core/conversation/ConversationManager.js +41 -41
- package/dist/core/evaluation/Evaluator.js +75 -75
- package/dist/core/guardrails/ICrossAgentGuardrailService.d.ts +180 -0
- package/dist/core/guardrails/ICrossAgentGuardrailService.d.ts.map +1 -0
- package/dist/core/guardrails/ICrossAgentGuardrailService.js +26 -0
- package/dist/core/guardrails/ICrossAgentGuardrailService.js.map +1 -0
- package/dist/core/guardrails/IGuardrailService.d.ts +233 -42
- package/dist/core/guardrails/IGuardrailService.d.ts.map +1 -1
- package/dist/core/guardrails/IGuardrailService.js +34 -4
- package/dist/core/guardrails/IGuardrailService.js.map +1 -1
- package/dist/core/guardrails/crossAgentGuardrailDispatcher.d.ts +119 -0
- package/dist/core/guardrails/crossAgentGuardrailDispatcher.d.ts.map +1 -0
- package/dist/core/guardrails/crossAgentGuardrailDispatcher.js +221 -0
- package/dist/core/guardrails/crossAgentGuardrailDispatcher.js.map +1 -0
- package/dist/core/guardrails/guardrailDispatcher.d.ts +97 -9
- package/dist/core/guardrails/guardrailDispatcher.d.ts.map +1 -1
- package/dist/core/guardrails/guardrailDispatcher.js +119 -9
- package/dist/core/guardrails/guardrailDispatcher.js.map +1 -1
- package/dist/core/guardrails/index.d.ts +52 -0
- package/dist/core/guardrails/index.d.ts.map +1 -0
- package/dist/core/guardrails/index.js +56 -0
- package/dist/core/guardrails/index.js.map +1 -0
- package/dist/core/storage/SqlStorageAdapter.js +43 -43
- package/package.json +84 -84
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module guardrails
|
|
3
|
+
*
|
|
4
|
+
* Guardrails system for content safety and policy enforcement.
|
|
5
|
+
*
|
|
6
|
+
* Guardrails intercept content at two points:
|
|
7
|
+
* 1. **Input** - Before user messages enter the orchestration pipeline
|
|
8
|
+
* 2. **Output** - Before agent responses are streamed to the client
|
|
9
|
+
*
|
|
10
|
+
* @example Basic guardrail
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import {
|
|
13
|
+
* IGuardrailService,
|
|
14
|
+
* GuardrailAction,
|
|
15
|
+
* type GuardrailInputPayload
|
|
16
|
+
* } from '../../core/guardrails/index.js';
|
|
17
|
+
*
|
|
18
|
+
* class ContentFilter implements IGuardrailService {
|
|
19
|
+
* async evaluateInput({ input }: GuardrailInputPayload) {
|
|
20
|
+
* if (containsProhibitedContent(input.textInput)) {
|
|
21
|
+
* return {
|
|
22
|
+
* action: GuardrailAction.BLOCK,
|
|
23
|
+
* reason: 'Content policy violation'
|
|
24
|
+
* };
|
|
25
|
+
* }
|
|
26
|
+
* return null;
|
|
27
|
+
* }
|
|
28
|
+
* }
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* @example Cross-agent supervision
|
|
32
|
+
* ```typescript
|
|
33
|
+
* import {
|
|
34
|
+
* ICrossAgentGuardrailService,
|
|
35
|
+
* GuardrailAction
|
|
36
|
+
* } from '../../core/guardrails/index.js';
|
|
37
|
+
*
|
|
38
|
+
* class SupervisorGuardrail implements ICrossAgentGuardrailService {
|
|
39
|
+
* observeAgentIds = ['worker-1', 'worker-2'];
|
|
40
|
+
* canInterruptOthers = true;
|
|
41
|
+
*
|
|
42
|
+
* async evaluateCrossAgentOutput({ sourceAgentId, chunk }) {
|
|
43
|
+
* // Supervise worker agents' outputs
|
|
44
|
+
* }
|
|
45
|
+
* }
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
// Core guardrail interface and types
|
|
49
|
+
export { GuardrailAction, } from './IGuardrailService.js';
|
|
50
|
+
// Guardrail dispatcher functions
|
|
51
|
+
export { createGuardrailBlockedStream, evaluateInputGuardrails, wrapOutputGuardrails, } from './guardrailDispatcher.js';
|
|
52
|
+
// Cross-agent guardrail interface and types
|
|
53
|
+
export { isCrossAgentGuardrail, shouldObserveAgent, } from './ICrossAgentGuardrailService.js';
|
|
54
|
+
// Cross-agent guardrail dispatcher
|
|
55
|
+
export { evaluateCrossAgentGuardrails, filterCrossAgentGuardrails, wrapWithCrossAgentGuardrails, } from './crossAgentGuardrailDispatcher.js';
|
|
56
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/guardrails/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,qCAAqC;AACrC,OAAO,EACL,eAAe,GAOhB,MAAM,qBAAqB,CAAC;AAE7B,iCAAiC;AACjC,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EAGvB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,4CAA4C;AAC5C,OAAO,EAGL,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AAEvC,mCAAmC;AACnC,OAAO,EAGL,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,iCAAiC,CAAC"}
|
|
@@ -115,41 +115,41 @@ export class SqlStorageAdapter {
|
|
|
115
115
|
// Resolve the appropriate storage adapter for the platform
|
|
116
116
|
this.adapter = await resolveStorageAdapter(this.config);
|
|
117
117
|
// Create conversations table
|
|
118
|
-
await this.adapter.exec(`
|
|
119
|
-
CREATE TABLE IF NOT EXISTS conversations (
|
|
120
|
-
id TEXT PRIMARY KEY,
|
|
121
|
-
userId TEXT NOT NULL,
|
|
122
|
-
agentId TEXT,
|
|
123
|
-
createdAt INTEGER NOT NULL,
|
|
124
|
-
lastActivity INTEGER NOT NULL,
|
|
125
|
-
title TEXT,
|
|
126
|
-
metadata TEXT
|
|
127
|
-
);
|
|
128
|
-
CREATE INDEX IF NOT EXISTS idx_conversations_userId ON conversations(userId);
|
|
129
|
-
CREATE INDEX IF NOT EXISTS idx_conversations_agentId ON conversations(agentId);
|
|
130
|
-
CREATE INDEX IF NOT EXISTS idx_conversations_lastActivity ON conversations(lastActivity);
|
|
118
|
+
await this.adapter.exec(`
|
|
119
|
+
CREATE TABLE IF NOT EXISTS conversations (
|
|
120
|
+
id TEXT PRIMARY KEY,
|
|
121
|
+
userId TEXT NOT NULL,
|
|
122
|
+
agentId TEXT,
|
|
123
|
+
createdAt INTEGER NOT NULL,
|
|
124
|
+
lastActivity INTEGER NOT NULL,
|
|
125
|
+
title TEXT,
|
|
126
|
+
metadata TEXT
|
|
127
|
+
);
|
|
128
|
+
CREATE INDEX IF NOT EXISTS idx_conversations_userId ON conversations(userId);
|
|
129
|
+
CREATE INDEX IF NOT EXISTS idx_conversations_agentId ON conversations(agentId);
|
|
130
|
+
CREATE INDEX IF NOT EXISTS idx_conversations_lastActivity ON conversations(lastActivity);
|
|
131
131
|
`);
|
|
132
132
|
// Create messages table with foreign key
|
|
133
|
-
await this.adapter.exec(`
|
|
134
|
-
CREATE TABLE IF NOT EXISTS messages (
|
|
135
|
-
id TEXT PRIMARY KEY,
|
|
136
|
-
conversationId TEXT NOT NULL,
|
|
137
|
-
role TEXT NOT NULL CHECK(role IN ('user', 'assistant', 'system', 'tool')),
|
|
138
|
-
content TEXT NOT NULL,
|
|
139
|
-
timestamp INTEGER NOT NULL,
|
|
140
|
-
model TEXT,
|
|
141
|
-
promptTokens INTEGER,
|
|
142
|
-
completionTokens INTEGER,
|
|
143
|
-
totalTokens INTEGER,
|
|
144
|
-
toolCalls TEXT,
|
|
145
|
-
toolCallId TEXT,
|
|
146
|
-
name TEXT,
|
|
147
|
-
metadata TEXT,
|
|
148
|
-
FOREIGN KEY (conversationId) REFERENCES conversations(id) ON DELETE CASCADE
|
|
149
|
-
);
|
|
150
|
-
CREATE INDEX IF NOT EXISTS idx_messages_conversationId ON messages(conversationId);
|
|
151
|
-
CREATE INDEX IF NOT EXISTS idx_messages_timestamp ON messages(timestamp);
|
|
152
|
-
CREATE INDEX IF NOT EXISTS idx_messages_role ON messages(role);
|
|
133
|
+
await this.adapter.exec(`
|
|
134
|
+
CREATE TABLE IF NOT EXISTS messages (
|
|
135
|
+
id TEXT PRIMARY KEY,
|
|
136
|
+
conversationId TEXT NOT NULL,
|
|
137
|
+
role TEXT NOT NULL CHECK(role IN ('user', 'assistant', 'system', 'tool')),
|
|
138
|
+
content TEXT NOT NULL,
|
|
139
|
+
timestamp INTEGER NOT NULL,
|
|
140
|
+
model TEXT,
|
|
141
|
+
promptTokens INTEGER,
|
|
142
|
+
completionTokens INTEGER,
|
|
143
|
+
totalTokens INTEGER,
|
|
144
|
+
toolCalls TEXT,
|
|
145
|
+
toolCallId TEXT,
|
|
146
|
+
name TEXT,
|
|
147
|
+
metadata TEXT,
|
|
148
|
+
FOREIGN KEY (conversationId) REFERENCES conversations(id) ON DELETE CASCADE
|
|
149
|
+
);
|
|
150
|
+
CREATE INDEX IF NOT EXISTS idx_messages_conversationId ON messages(conversationId);
|
|
151
|
+
CREATE INDEX IF NOT EXISTS idx_messages_timestamp ON messages(timestamp);
|
|
152
|
+
CREATE INDEX IF NOT EXISTS idx_messages_role ON messages(role);
|
|
153
153
|
`);
|
|
154
154
|
this.initialized = true;
|
|
155
155
|
}
|
|
@@ -178,7 +178,7 @@ export class SqlStorageAdapter {
|
|
|
178
178
|
async createConversation(conversation) {
|
|
179
179
|
this.ensureInitialized();
|
|
180
180
|
const metadataJson = conversation.metadata ? JSON.stringify(conversation.metadata) : null;
|
|
181
|
-
await this.adapter.run(`INSERT INTO conversations (id, userId, agentId, createdAt, lastActivity, title, metadata)
|
|
181
|
+
await this.adapter.run(`INSERT INTO conversations (id, userId, agentId, createdAt, lastActivity, title, metadata)
|
|
182
182
|
VALUES (?, ?, ?, ?, ?, ?, ?)`, [
|
|
183
183
|
conversation.id,
|
|
184
184
|
conversation.userId,
|
|
@@ -220,8 +220,8 @@ export class SqlStorageAdapter {
|
|
|
220
220
|
}
|
|
221
221
|
const updated = { ...existing, ...updates };
|
|
222
222
|
const metadataJson = updated.metadata ? JSON.stringify(updated.metadata) : null;
|
|
223
|
-
await this.adapter.run(`UPDATE conversations
|
|
224
|
-
SET userId = ?, agentId = ?, createdAt = ?, lastActivity = ?, title = ?, metadata = ?
|
|
223
|
+
await this.adapter.run(`UPDATE conversations
|
|
224
|
+
SET userId = ?, agentId = ?, createdAt = ?, lastActivity = ?, title = ?, metadata = ?
|
|
225
225
|
WHERE id = ?`, [
|
|
226
226
|
updated.userId,
|
|
227
227
|
updated.agentId || null,
|
|
@@ -289,8 +289,8 @@ export class SqlStorageAdapter {
|
|
|
289
289
|
const toolCallsJson = message.toolCalls ? JSON.stringify(message.toolCalls) : null;
|
|
290
290
|
const metadataJson = message.metadata ? JSON.stringify(message.metadata) : null;
|
|
291
291
|
// Insert message
|
|
292
|
-
await this.adapter.run(`INSERT INTO messages
|
|
293
|
-
(id, conversationId, role, content, timestamp, model, promptTokens, completionTokens, totalTokens, toolCalls, toolCallId, name, metadata)
|
|
292
|
+
await this.adapter.run(`INSERT INTO messages
|
|
293
|
+
(id, conversationId, role, content, timestamp, model, promptTokens, completionTokens, totalTokens, toolCalls, toolCallId, name, metadata)
|
|
294
294
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
|
|
295
295
|
message.id,
|
|
296
296
|
message.conversationId,
|
|
@@ -405,11 +405,11 @@ export class SqlStorageAdapter {
|
|
|
405
405
|
*/
|
|
406
406
|
async getConversationTokenUsage(conversationId) {
|
|
407
407
|
this.ensureInitialized();
|
|
408
|
-
const row = await this.adapter.get(`SELECT
|
|
409
|
-
SUM(promptTokens) as promptTokens,
|
|
410
|
-
SUM(completionTokens) as completionTokens,
|
|
411
|
-
SUM(totalTokens) as totalTokens
|
|
412
|
-
FROM messages
|
|
408
|
+
const row = await this.adapter.get(`SELECT
|
|
409
|
+
SUM(promptTokens) as promptTokens,
|
|
410
|
+
SUM(completionTokens) as completionTokens,
|
|
411
|
+
SUM(totalTokens) as totalTokens
|
|
412
|
+
FROM messages
|
|
413
413
|
WHERE conversationId = ?`, [conversationId]);
|
|
414
414
|
return {
|
|
415
415
|
promptTokens: row?.promptTokens || 0,
|
package/package.json
CHANGED
|
@@ -1,84 +1,84 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@framers/agentos",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "Modular AgentOS orchestration library",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "dist/index.js",
|
|
7
|
-
"module": "dist/index.js",
|
|
8
|
-
"types": "dist/index.d.ts",
|
|
9
|
-
"exports": {
|
|
10
|
-
".": "./dist/index.js",
|
|
11
|
-
"./package.json": "./package.json",
|
|
12
|
-
"./*": "./dist/*.js"
|
|
13
|
-
},
|
|
14
|
-
"files": [
|
|
15
|
-
"dist"
|
|
16
|
-
],
|
|
17
|
-
"publishConfig": {
|
|
18
|
-
"access": "public"
|
|
19
|
-
},
|
|
20
|
-
"scripts": {
|
|
21
|
-
"clean": "rimraf dist tsconfig.build.tsbuildinfo",
|
|
22
|
-
"build": "npm run clean && tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && node scripts/fix-esm-imports.mjs",
|
|
23
|
-
"typecheck": "tsc --noEmit",
|
|
24
|
-
"lint": "node scripts/strip-nbsp.mjs && eslint \"src/**/*.{ts,js}\"",
|
|
25
|
-
"test": "vitest run",
|
|
26
|
-
"dev:test": "vitest",
|
|
27
|
-
"docs:clean": "rimraf docs/api ../../docs-generated/library ../../docs-generated/api",
|
|
28
|
-
"docs": "npm run docs:clean && pnpm --dir ../../ exec typedoc --options packages/agentos/typedoc.json && pnpm --dir ../../ exec typedoc --options typedoc.json && pnpm --dir ../../ exec node scripts/generate-api-docs.js && pnpm --dir ../../ exec node apps/agentos
|
|
29
|
-
"docs:watch": "npm run docs:clean && pnpm --dir ../../ exec typedoc --options packages/agentos/typedoc.json && pnpm --dir ../../ exec typedoc --options typedoc.json && pnpm --dir ../../ exec node scripts/generate-api-docs.js && concurrently \"pnpm --dir ../../ exec typedoc --options packages/agentos/typedoc.json --watch\" \"pnpm --dir ../../ exec typedoc --options typedoc.json --watch\" \"pnpm --dir ../../ exec node apps/agentos
|
|
30
|
-
},
|
|
31
|
-
"keywords": [
|
|
32
|
-
"agentos",
|
|
33
|
-
"orchestration",
|
|
34
|
-
"typescript",
|
|
35
|
-
"llm",
|
|
36
|
-
"tools"
|
|
37
|
-
],
|
|
38
|
-
"author": "Voice Chat Assistant Team",
|
|
39
|
-
"license": "Apache-2.0",
|
|
40
|
-
"devDependencies": {
|
|
41
|
-
"@semantic-release/changelog": "^6.0.3",
|
|
42
|
-
"@semantic-release/commit-analyzer": "^13.0.0",
|
|
43
|
-
"@semantic-release/git": "^10.0.1",
|
|
44
|
-
"@semantic-release/github": "^9.2.4",
|
|
45
|
-
"@semantic-release/npm": "^12.0.1",
|
|
46
|
-
"@semantic-release/release-notes-generator": "^14.0.1",
|
|
47
|
-
"conventional-changelog-conventionalcommits": "^7.0.2",
|
|
48
|
-
"@types/natural": "^5.1.5",
|
|
49
|
-
"@types/node": "^20.12.12",
|
|
50
|
-
"eslint": "^9.11.0",
|
|
51
|
-
"eslint-config-prettier": "^9.1.0",
|
|
52
|
-
"eslint-plugin-import": "^2.29.1",
|
|
53
|
-
"@eslint/js": "^9.11.0",
|
|
54
|
-
"typescript-eslint": "^8.0.0",
|
|
55
|
-
"prettier": "^3.3.2",
|
|
56
|
-
"rimraf": "^5.0.7",
|
|
57
|
-
"semantic-release": "^24.1.0",
|
|
58
|
-
"ts-node": "^10.9.2",
|
|
59
|
-
"tsc-alias": "^1.8.10",
|
|
60
|
-
"tsconfig-paths": "^4.2.0",
|
|
61
|
-
"tsx": "^4.20.0",
|
|
62
|
-
"typedoc": "^0.25.13",
|
|
63
|
-
"typescript": "^5.4.5",
|
|
64
|
-
"vitest": "^1.6.0"
|
|
65
|
-
},
|
|
66
|
-
"dependencies": {
|
|
67
|
-
"ajv": "^8.17.1",
|
|
68
|
-
"ajv-formats": "^3.0.1",
|
|
69
|
-
"axios": "^1.7.7",
|
|
70
|
-
"lru-cache": "^11.1.0",
|
|
71
|
-
"natural": "^6.12.0",
|
|
72
|
-
"pino": "^9.14.0",
|
|
73
|
-
"uuid": "^11.1.0"
|
|
74
|
-
},
|
|
75
|
-
"peerDependencies": {
|
|
76
|
-
"typescript": ">=5.0.0",
|
|
77
|
-
"@framers/sql-storage-adapter": ">=0.4.0"
|
|
78
|
-
},
|
|
79
|
-
"peerDependenciesMeta": {
|
|
80
|
-
"@framers/sql-storage-adapter": {
|
|
81
|
-
"optional": true
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@framers/agentos",
|
|
3
|
+
"version": "0.1.4",
|
|
4
|
+
"description": "Modular AgentOS orchestration library",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"module": "dist/index.js",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": "./dist/index.js",
|
|
11
|
+
"./package.json": "./package.json",
|
|
12
|
+
"./*": "./dist/*.js"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist"
|
|
16
|
+
],
|
|
17
|
+
"publishConfig": {
|
|
18
|
+
"access": "public"
|
|
19
|
+
},
|
|
20
|
+
"scripts": {
|
|
21
|
+
"clean": "rimraf dist tsconfig.build.tsbuildinfo",
|
|
22
|
+
"build": "npm run clean && tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && node scripts/fix-esm-imports.mjs",
|
|
23
|
+
"typecheck": "tsc --noEmit",
|
|
24
|
+
"lint": "node scripts/strip-nbsp.mjs && eslint \"src/**/*.{ts,js}\"",
|
|
25
|
+
"test": "vitest run",
|
|
26
|
+
"dev:test": "vitest",
|
|
27
|
+
"docs:clean": "rimraf docs/api ../../docs-generated/library ../../docs-generated/api",
|
|
28
|
+
"docs": "npm run docs:clean && pnpm --dir ../../ exec typedoc --options packages/agentos/typedoc.json && pnpm --dir ../../ exec typedoc --options typedoc.json && pnpm --dir ../../ exec node scripts/generate-api-docs.js && pnpm --dir ../../ exec node apps/agentos.sh/scripts/copy-docs.js",
|
|
29
|
+
"docs:watch": "npm run docs:clean && pnpm --dir ../../ exec typedoc --options packages/agentos/typedoc.json && pnpm --dir ../../ exec typedoc --options typedoc.json && pnpm --dir ../../ exec node scripts/generate-api-docs.js && concurrently \"pnpm --dir ../../ exec typedoc --options packages/agentos/typedoc.json --watch\" \"pnpm --dir ../../ exec typedoc --options typedoc.json --watch\" \"pnpm --dir ../../ exec node apps/agentos.sh/scripts/copy-docs.js --watch\""
|
|
30
|
+
},
|
|
31
|
+
"keywords": [
|
|
32
|
+
"agentos",
|
|
33
|
+
"orchestration",
|
|
34
|
+
"typescript",
|
|
35
|
+
"llm",
|
|
36
|
+
"tools"
|
|
37
|
+
],
|
|
38
|
+
"author": "Voice Chat Assistant Team",
|
|
39
|
+
"license": "Apache-2.0",
|
|
40
|
+
"devDependencies": {
|
|
41
|
+
"@semantic-release/changelog": "^6.0.3",
|
|
42
|
+
"@semantic-release/commit-analyzer": "^13.0.0",
|
|
43
|
+
"@semantic-release/git": "^10.0.1",
|
|
44
|
+
"@semantic-release/github": "^9.2.4",
|
|
45
|
+
"@semantic-release/npm": "^12.0.1",
|
|
46
|
+
"@semantic-release/release-notes-generator": "^14.0.1",
|
|
47
|
+
"conventional-changelog-conventionalcommits": "^7.0.2",
|
|
48
|
+
"@types/natural": "^5.1.5",
|
|
49
|
+
"@types/node": "^20.12.12",
|
|
50
|
+
"eslint": "^9.11.0",
|
|
51
|
+
"eslint-config-prettier": "^9.1.0",
|
|
52
|
+
"eslint-plugin-import": "^2.29.1",
|
|
53
|
+
"@eslint/js": "^9.11.0",
|
|
54
|
+
"typescript-eslint": "^8.0.0",
|
|
55
|
+
"prettier": "^3.3.2",
|
|
56
|
+
"rimraf": "^5.0.7",
|
|
57
|
+
"semantic-release": "^24.1.0",
|
|
58
|
+
"ts-node": "^10.9.2",
|
|
59
|
+
"tsc-alias": "^1.8.10",
|
|
60
|
+
"tsconfig-paths": "^4.2.0",
|
|
61
|
+
"tsx": "^4.20.0",
|
|
62
|
+
"typedoc": "^0.25.13",
|
|
63
|
+
"typescript": "^5.4.5",
|
|
64
|
+
"vitest": "^1.6.0"
|
|
65
|
+
},
|
|
66
|
+
"dependencies": {
|
|
67
|
+
"ajv": "^8.17.1",
|
|
68
|
+
"ajv-formats": "^3.0.1",
|
|
69
|
+
"axios": "^1.7.7",
|
|
70
|
+
"lru-cache": "^11.1.0",
|
|
71
|
+
"natural": "^6.12.0",
|
|
72
|
+
"pino": "^9.14.0",
|
|
73
|
+
"uuid": "^11.1.0"
|
|
74
|
+
},
|
|
75
|
+
"peerDependencies": {
|
|
76
|
+
"typescript": ">=5.0.0",
|
|
77
|
+
"@framers/sql-storage-adapter": ">=0.4.0"
|
|
78
|
+
},
|
|
79
|
+
"peerDependenciesMeta": {
|
|
80
|
+
"@framers/sql-storage-adapter": {
|
|
81
|
+
"optional": true
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|