@revealui/contracts 1.0.0
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 +22 -0
- package/README.md +160 -0
- package/dist/a2a/index.d.ts +383 -0
- package/dist/a2a/index.d.ts.map +1 -0
- package/dist/a2a/index.js +276 -0
- package/dist/a2a/index.js.map +1 -0
- package/dist/actions/action-validator.d.ts +48 -0
- package/dist/actions/action-validator.d.ts.map +1 -0
- package/dist/actions/action-validator.js +288 -0
- package/dist/actions/action-validator.js.map +1 -0
- package/dist/actions/index.d.ts +7 -0
- package/dist/actions/index.d.ts.map +1 -0
- package/dist/actions/index.js +7 -0
- package/dist/actions/index.js.map +1 -0
- package/dist/agents/index.d.ts +628 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +511 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/types.d.ts +22 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +2 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/api/auth.d.ts +60 -0
- package/dist/api/auth.d.ts.map +1 -0
- package/dist/api/auth.js +84 -0
- package/dist/api/auth.js.map +1 -0
- package/dist/api/chat.d.ts +45 -0
- package/dist/api/chat.d.ts.map +1 -0
- package/dist/api/chat.js +55 -0
- package/dist/api/chat.js.map +1 -0
- package/dist/api/gdpr.d.ts +39 -0
- package/dist/api/gdpr.d.ts.map +1 -0
- package/dist/api/gdpr.js +53 -0
- package/dist/api/gdpr.js.map +1 -0
- package/dist/cms/collection.d.ts +108 -0
- package/dist/cms/collection.d.ts.map +1 -0
- package/dist/cms/collection.js +144 -0
- package/dist/cms/collection.js.map +1 -0
- package/dist/cms/compat.d.ts +128 -0
- package/dist/cms/compat.d.ts.map +1 -0
- package/dist/cms/compat.js +141 -0
- package/dist/cms/compat.js.map +1 -0
- package/dist/cms/config-contract.d.ts +278 -0
- package/dist/cms/config-contract.d.ts.map +1 -0
- package/dist/cms/config-contract.js +220 -0
- package/dist/cms/config-contract.js.map +1 -0
- package/dist/cms/config.d.ts +351 -0
- package/dist/cms/config.d.ts.map +1 -0
- package/dist/cms/config.js +50 -0
- package/dist/cms/config.js.map +1 -0
- package/dist/cms/errors.d.ts +122 -0
- package/dist/cms/errors.d.ts.map +1 -0
- package/dist/cms/errors.js +163 -0
- package/dist/cms/errors.js.map +1 -0
- package/dist/cms/extensibility.d.ts +211 -0
- package/dist/cms/extensibility.d.ts.map +1 -0
- package/dist/cms/extensibility.js +313 -0
- package/dist/cms/extensibility.js.map +1 -0
- package/dist/cms/field.d.ts +69 -0
- package/dist/cms/field.d.ts.map +1 -0
- package/dist/cms/field.js +94 -0
- package/dist/cms/field.js.map +1 -0
- package/dist/cms/functions.d.ts +466 -0
- package/dist/cms/functions.d.ts.map +1 -0
- package/dist/cms/functions.js +19 -0
- package/dist/cms/functions.js.map +1 -0
- package/dist/cms/global.d.ts +45 -0
- package/dist/cms/global.d.ts.map +1 -0
- package/dist/cms/global.js +62 -0
- package/dist/cms/global.js.map +1 -0
- package/dist/cms/index.d.ts +23 -0
- package/dist/cms/index.d.ts.map +1 -0
- package/dist/cms/index.js +42 -0
- package/dist/cms/index.js.map +1 -0
- package/dist/cms/structure.d.ts +1601 -0
- package/dist/cms/structure.d.ts.map +1 -0
- package/dist/cms/structure.js +757 -0
- package/dist/cms/structure.js.map +1 -0
- package/dist/content/index.d.ts +1542 -0
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/index.js +522 -0
- package/dist/content/index.js.map +1 -0
- package/dist/database/bridge.d.ts +177 -0
- package/dist/database/bridge.d.ts.map +1 -0
- package/dist/database/bridge.js +139 -0
- package/dist/database/bridge.js.map +1 -0
- package/dist/database/index.d.ts +8 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +9 -0
- package/dist/database/index.js.map +1 -0
- package/dist/database/type-bridge.d.ts +178 -0
- package/dist/database/type-bridge.d.ts.map +1 -0
- package/dist/database/type-bridge.js +154 -0
- package/dist/database/type-bridge.js.map +1 -0
- package/dist/entities/agent-context.d.ts +280 -0
- package/dist/entities/agent-context.d.ts.map +1 -0
- package/dist/entities/agent-context.js +390 -0
- package/dist/entities/agent-context.js.map +1 -0
- package/dist/entities/agent-memory.d.ts +661 -0
- package/dist/entities/agent-memory.d.ts.map +1 -0
- package/dist/entities/agent-memory.js +544 -0
- package/dist/entities/agent-memory.js.map +1 -0
- package/dist/entities/board.d.ts +95 -0
- package/dist/entities/board.d.ts.map +1 -0
- package/dist/entities/board.js +99 -0
- package/dist/entities/board.js.map +1 -0
- package/dist/entities/code-provenance.d.ts +270 -0
- package/dist/entities/code-provenance.d.ts.map +1 -0
- package/dist/entities/code-provenance.js +339 -0
- package/dist/entities/code-provenance.js.map +1 -0
- package/dist/entities/index.d.ts +22 -0
- package/dist/entities/index.d.ts.map +1 -0
- package/dist/entities/index.js +22 -0
- package/dist/entities/index.js.map +1 -0
- package/dist/entities/media.d.ts +485 -0
- package/dist/entities/media.d.ts.map +1 -0
- package/dist/entities/media.js +606 -0
- package/dist/entities/media.js.map +1 -0
- package/dist/entities/page-revision.d.ts +390 -0
- package/dist/entities/page-revision.d.ts.map +1 -0
- package/dist/entities/page-revision.js +406 -0
- package/dist/entities/page-revision.js.map +1 -0
- package/dist/entities/page.d.ts +2349 -0
- package/dist/entities/page.d.ts.map +1 -0
- package/dist/entities/page.js +377 -0
- package/dist/entities/page.js.map +1 -0
- package/dist/entities/post.d.ts +619 -0
- package/dist/entities/post.d.ts.map +1 -0
- package/dist/entities/post.js +555 -0
- package/dist/entities/post.js.map +1 -0
- package/dist/entities/price.d.ts +772 -0
- package/dist/entities/price.d.ts.map +1 -0
- package/dist/entities/price.js +308 -0
- package/dist/entities/price.js.map +1 -0
- package/dist/entities/product.d.ts +753 -0
- package/dist/entities/product.d.ts.map +1 -0
- package/dist/entities/product.js +307 -0
- package/dist/entities/product.js.map +1 -0
- package/dist/entities/session.d.ts +222 -0
- package/dist/entities/session.d.ts.map +1 -0
- package/dist/entities/session.js +253 -0
- package/dist/entities/session.js.map +1 -0
- package/dist/entities/site.d.ts +387 -0
- package/dist/entities/site.d.ts.map +1 -0
- package/dist/entities/site.js +348 -0
- package/dist/entities/site.js.map +1 -0
- package/dist/entities/ticket-comment.d.ts +49 -0
- package/dist/entities/ticket-comment.d.ts.map +1 -0
- package/dist/entities/ticket-comment.js +58 -0
- package/dist/entities/ticket-comment.js.map +1 -0
- package/dist/entities/ticket-label.d.ts +64 -0
- package/dist/entities/ticket-label.d.ts.map +1 -0
- package/dist/entities/ticket-label.js +77 -0
- package/dist/entities/ticket-label.js.map +1 -0
- package/dist/entities/ticket.d.ts +204 -0
- package/dist/entities/ticket.d.ts.map +1 -0
- package/dist/entities/ticket.js +205 -0
- package/dist/entities/ticket.js.map +1 -0
- package/dist/entities/user.d.ts +336 -0
- package/dist/entities/user.d.ts.map +1 -0
- package/dist/entities/user.js +255 -0
- package/dist/entities/user.js.map +1 -0
- package/dist/foundation/contract.d.ts +221 -0
- package/dist/foundation/contract.d.ts.map +1 -0
- package/dist/foundation/contract.js +133 -0
- package/dist/foundation/contract.js.map +1 -0
- package/dist/foundation/index.d.ts +7 -0
- package/dist/foundation/index.d.ts.map +1 -0
- package/dist/foundation/index.js +7 -0
- package/dist/foundation/index.js.map +1 -0
- package/dist/generated/contracts.d.ts +1514 -0
- package/dist/generated/contracts.d.ts.map +1 -0
- package/dist/generated/contracts.js +959 -0
- package/dist/generated/contracts.js.map +1 -0
- package/dist/generated/database.d.ts +48 -0
- package/dist/generated/database.d.ts.map +1 -0
- package/dist/generated/database.js +17 -0
- package/dist/generated/database.js.map +1 -0
- package/dist/generated/zod-schemas.d.ts +14793 -0
- package/dist/generated/zod-schemas.d.ts.map +1 -0
- package/dist/generated/zod-schemas.js +547 -0
- package/dist/generated/zod-schemas.js.map +1 -0
- package/dist/index.d.ts +50 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +81 -0
- package/dist/index.js.map +1 -0
- package/dist/representation/index.d.ts +304 -0
- package/dist/representation/index.d.ts.map +1 -0
- package/dist/representation/index.js +280 -0
- package/dist/representation/index.js.map +1 -0
- package/package.json +117 -0
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type Bridge Utilities
|
|
3
|
+
*
|
|
4
|
+
* Provides comprehensive type-safe conversion utilities between:
|
|
5
|
+
* - Drizzle ORM types (from @revealui/db)
|
|
6
|
+
* - Contract types (from @revealui/contracts)
|
|
7
|
+
* - RevealUI types (from @revealui/core)
|
|
8
|
+
*
|
|
9
|
+
* This ensures type safety across all layers of the application.
|
|
10
|
+
*
|
|
11
|
+
* @module @revealui/contracts/core/contracts/type-bridge
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Type-safe mapper function for converting database rows to contract types
|
|
15
|
+
*
|
|
16
|
+
* @template TContract - The contract type
|
|
17
|
+
* @template TDbRow - The database row type
|
|
18
|
+
* @param contract - The contract to validate against
|
|
19
|
+
* @param mapper - Optional mapper function to transform the row before validation
|
|
20
|
+
* @returns A function that converts database rows to contract-validated entities
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* const userMapper = createDbRowMapper(UserSchema, (row) => ({
|
|
25
|
+
* ...row,
|
|
26
|
+
* // Transform if needed
|
|
27
|
+
* }))
|
|
28
|
+
*
|
|
29
|
+
* const dbUser = await db.query.users.findFirst()
|
|
30
|
+
* const validatedUser = userMapper(dbUser)
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export function createDbRowMapper(contract, mapper) {
|
|
34
|
+
return (row) => {
|
|
35
|
+
const data = mapper ? mapper(row) : row;
|
|
36
|
+
return contract.parse(data);
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Type-safe mapper function for converting contract types to database insert types
|
|
41
|
+
*
|
|
42
|
+
* @template TContract - The contract type
|
|
43
|
+
* @template TInsert - The database insert type
|
|
44
|
+
* @param mapper - Optional mapper function to transform the contract data before insertion
|
|
45
|
+
* @returns A function that converts contract-validated entities to database insert types
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```typescript
|
|
49
|
+
* const insertMapper = createContractToDbMapper<User, Database['public']['Tables']['users']['Insert']>(
|
|
50
|
+
* (user) => ({
|
|
51
|
+
* ...user,
|
|
52
|
+
* // Transform if needed
|
|
53
|
+
* })
|
|
54
|
+
* )
|
|
55
|
+
*
|
|
56
|
+
* const newUser = createUser({ email: 'user@example.com', name: 'User' })
|
|
57
|
+
* const dbInsert = insertMapper(newUser)
|
|
58
|
+
* await db.insert(users).values(dbInsert)
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
export function createContractToDbMapper(mapper) {
|
|
62
|
+
return (data) => {
|
|
63
|
+
if (mapper) {
|
|
64
|
+
return mapper(data);
|
|
65
|
+
}
|
|
66
|
+
return data;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Batch convert database rows to contract-validated entities
|
|
71
|
+
*
|
|
72
|
+
* @template TContract - The contract type
|
|
73
|
+
* @template TDbRow - The database row type
|
|
74
|
+
* @param contract - The contract to validate against
|
|
75
|
+
* @param rows - Array of database rows
|
|
76
|
+
* @param mapper - Optional mapper function
|
|
77
|
+
* @returns Array of validated entities
|
|
78
|
+
*/
|
|
79
|
+
export function batchDbRowsToContract(contract, rows, mapper) {
|
|
80
|
+
return rows.map((row) => {
|
|
81
|
+
const data = mapper ? mapper(row) : row;
|
|
82
|
+
return contract.parse(data);
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Batch convert contract-validated entities to database insert types
|
|
87
|
+
*
|
|
88
|
+
* @template TContract - The contract type
|
|
89
|
+
* @template TInsert - The database insert type
|
|
90
|
+
* @param entities - Array of contract-validated entities
|
|
91
|
+
* @param mapper - Optional mapper function
|
|
92
|
+
* @returns Array of database insert types
|
|
93
|
+
*/
|
|
94
|
+
export function batchContractToDbInsert(entities, mapper) {
|
|
95
|
+
return entities.map((entity) => {
|
|
96
|
+
if (mapper) {
|
|
97
|
+
return mapper(entity);
|
|
98
|
+
}
|
|
99
|
+
return entity;
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Type guard to check if a value matches both Drizzle and Contract types
|
|
104
|
+
*
|
|
105
|
+
* @template TContract - The contract type
|
|
106
|
+
* @template TDbRow - The database row type
|
|
107
|
+
* @param contract - The contract to check against
|
|
108
|
+
* @param value - The value to check
|
|
109
|
+
* @returns True if value matches both types
|
|
110
|
+
*/
|
|
111
|
+
export function isDbRowAndContract(contract, value) {
|
|
112
|
+
return contract.isType(value);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Create a type-safe table-to-contract registry
|
|
116
|
+
*
|
|
117
|
+
* @template T - The Database type
|
|
118
|
+
* @param map - Map of table names to contracts
|
|
119
|
+
* @returns Registry with type-safe access
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```typescript
|
|
123
|
+
* const registry = createTableContractRegistry<Database>({
|
|
124
|
+
* users: UserSchema,
|
|
125
|
+
* sites: SiteSchema,
|
|
126
|
+
* })
|
|
127
|
+
*
|
|
128
|
+
* const user = await db.query.users.findFirst()
|
|
129
|
+
* const validated = registry.validate('users', user)
|
|
130
|
+
* ```
|
|
131
|
+
*/
|
|
132
|
+
export function createTableContractRegistry(map) {
|
|
133
|
+
return {
|
|
134
|
+
/**
|
|
135
|
+
* Validate a database row using its table's contract
|
|
136
|
+
*/
|
|
137
|
+
validate(tableName,
|
|
138
|
+
// biome-ignore lint/style/useNamingConvention: Supabase schema shape.
|
|
139
|
+
row) {
|
|
140
|
+
const contract = map[tableName];
|
|
141
|
+
if (!contract) {
|
|
142
|
+
return null;
|
|
143
|
+
}
|
|
144
|
+
return contract.validate(row);
|
|
145
|
+
},
|
|
146
|
+
/**
|
|
147
|
+
* Get contract for a table
|
|
148
|
+
*/
|
|
149
|
+
getContract(tableName) {
|
|
150
|
+
return map[tableName];
|
|
151
|
+
},
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=type-bridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-bridge.js","sourceRoot":"","sources":["../../src/database/type-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAoEH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAA6B,EAC7B,MAAiC;IAEjC,OAAO,CAAC,GAAW,EAAa,EAAE;QAChC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;QACvC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAAqC;IAErC,OAAO,CAAC,IAAe,EAAW,EAAE;QAClC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;QACrB,CAAC;QACD,OAAO,IAA0B,CAAA;IACnC,CAAC,CAAA;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAA6B,EAC7B,IAAc,EACd,MAAiC;IAEjC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;QACvC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAAqB,EACrB,MAAqC;IAErC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC7B,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC,MAAM,CAAC,CAAA;QACvB,CAAC;QACD,OAAO,MAA4B,CAAA;IACrC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAA6B,EAC7B,KAAc;IAEd,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC;AAkBD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,2BAA2B,CAAqB,GAAwB;IACtF,OAAO;QACL;;WAEG;QACH,QAAQ,CACN,SAAY;QACZ,sEAAsE;QACtE,GAAkE;YAOlE,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,CAAA;YAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,IAKC,CAAA;YACV,CAAC;YASD,OAAQ,QAAyB,CAAC,QAAQ,CACxC,GAAc,CAMP,CAAA;QACX,CAAC;QAED;;WAEG;QACH,WAAW,CACT,SAAY;YAOZ,OAAO,GAAG,CAAC,SAAS,CAKP,CAAA;QACf,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgentContext Entity Contract
|
|
3
|
+
*
|
|
4
|
+
* Manages agent working memory and context with semantic search capabilities.
|
|
5
|
+
* Agent contexts store session-specific state with CRDT sync and vector embeddings.
|
|
6
|
+
*
|
|
7
|
+
* Business Rules:
|
|
8
|
+
* - Context ID format: {sessionId}:{agentId}
|
|
9
|
+
* - Priority range: 0 (low) to 1 (high), default 0.5
|
|
10
|
+
* - Embeddings must be 1536 dimensions (OpenAI ada-002 format)
|
|
11
|
+
* - Context data validated for circular references and size limits
|
|
12
|
+
* - Automatic versioning for schema migrations
|
|
13
|
+
*/
|
|
14
|
+
import { z } from 'zod/v4';
|
|
15
|
+
export declare const AGENT_CONTEXT_SCHEMA_VERSION = 1;
|
|
16
|
+
export declare const EMBEDDING_CONFIG: {
|
|
17
|
+
readonly DIMENSIONS: 1536;
|
|
18
|
+
readonly MIN_VALUE: -1;
|
|
19
|
+
readonly MAX_VALUE: 1;
|
|
20
|
+
};
|
|
21
|
+
export declare const PRIORITY_CONFIG: {
|
|
22
|
+
readonly MIN: 0;
|
|
23
|
+
readonly MAX: 1;
|
|
24
|
+
readonly DEFAULT: 0.5;
|
|
25
|
+
readonly HIGH: 0.8;
|
|
26
|
+
readonly LOW: 0.2;
|
|
27
|
+
};
|
|
28
|
+
export declare const CONTEXT_LIMITS: {
|
|
29
|
+
readonly MAX_KEYS: 100;
|
|
30
|
+
readonly MAX_KEY_LENGTH: 256;
|
|
31
|
+
readonly MAX_VALUE_SIZE_BYTES: 1000000;
|
|
32
|
+
readonly MAX_TOTAL_SIZE_BYTES: 10000000;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Embedding vector schema with validation
|
|
36
|
+
*/
|
|
37
|
+
export declare const EmbeddingVectorSchema: z.ZodArray<z.ZodNumber>;
|
|
38
|
+
export type EmbeddingVector = z.infer<typeof EmbeddingVectorSchema>;
|
|
39
|
+
/**
|
|
40
|
+
* Agent Context object schema
|
|
41
|
+
*/
|
|
42
|
+
export declare const AgentContextObjectSchema: z.ZodObject<{
|
|
43
|
+
id: z.ZodString;
|
|
44
|
+
version: z.ZodDefault<z.ZodNumber>;
|
|
45
|
+
sessionId: z.ZodString;
|
|
46
|
+
agentId: z.ZodString;
|
|
47
|
+
context: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
48
|
+
priority: z.ZodDefault<z.ZodNumber>;
|
|
49
|
+
embedding: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodNumber>>>;
|
|
50
|
+
createdAt: z.ZodDate;
|
|
51
|
+
updatedAt: z.ZodDate;
|
|
52
|
+
}, z.core.$strip>;
|
|
53
|
+
/**
|
|
54
|
+
* Agent Context schema with validation rules
|
|
55
|
+
*/
|
|
56
|
+
export declare const AgentContextBaseSchema: z.ZodObject<{
|
|
57
|
+
id: z.ZodString;
|
|
58
|
+
version: z.ZodDefault<z.ZodNumber>;
|
|
59
|
+
sessionId: z.ZodString;
|
|
60
|
+
agentId: z.ZodString;
|
|
61
|
+
context: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
62
|
+
priority: z.ZodDefault<z.ZodNumber>;
|
|
63
|
+
embedding: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodNumber>>>;
|
|
64
|
+
createdAt: z.ZodDate;
|
|
65
|
+
updatedAt: z.ZodDate;
|
|
66
|
+
}, z.core.$strip>;
|
|
67
|
+
export declare const AgentContextSchema: z.ZodObject<{
|
|
68
|
+
id: z.ZodString;
|
|
69
|
+
version: z.ZodDefault<z.ZodNumber>;
|
|
70
|
+
sessionId: z.ZodString;
|
|
71
|
+
agentId: z.ZodString;
|
|
72
|
+
context: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
73
|
+
priority: z.ZodDefault<z.ZodNumber>;
|
|
74
|
+
embedding: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodNumber>>>;
|
|
75
|
+
createdAt: z.ZodDate;
|
|
76
|
+
updatedAt: z.ZodDate;
|
|
77
|
+
}, z.core.$strip>;
|
|
78
|
+
/**
|
|
79
|
+
* Schema for creating new agent contexts
|
|
80
|
+
*/
|
|
81
|
+
export declare const AgentContextInsertSchema: z.ZodObject<{
|
|
82
|
+
version: z.ZodDefault<z.ZodNumber>;
|
|
83
|
+
embedding: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodNumber>>>;
|
|
84
|
+
priority: z.ZodDefault<z.ZodNumber>;
|
|
85
|
+
id: z.ZodString;
|
|
86
|
+
sessionId: z.ZodString;
|
|
87
|
+
agentId: z.ZodString;
|
|
88
|
+
context: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
89
|
+
createdAt: z.ZodOptional<z.ZodDate>;
|
|
90
|
+
updatedAt: z.ZodOptional<z.ZodDate>;
|
|
91
|
+
}, z.core.$strip>;
|
|
92
|
+
export type AgentContext = z.infer<typeof AgentContextSchema>;
|
|
93
|
+
export type AgentContextInsert = z.infer<typeof AgentContextInsertSchema>;
|
|
94
|
+
/**
|
|
95
|
+
* Generate agent context ID from sessionId and agentId
|
|
96
|
+
*/
|
|
97
|
+
export declare function generateContextId(sessionId: string, agentId: string): string;
|
|
98
|
+
/**
|
|
99
|
+
* Parse agent context ID into components
|
|
100
|
+
*/
|
|
101
|
+
export declare function parseContextId(contextId: string): {
|
|
102
|
+
sessionId: string;
|
|
103
|
+
agentId: string;
|
|
104
|
+
} | null;
|
|
105
|
+
/**
|
|
106
|
+
* Validate context ID format
|
|
107
|
+
*/
|
|
108
|
+
export declare function isValidContextId(contextId: string): boolean;
|
|
109
|
+
/**
|
|
110
|
+
* Check if priority is high (>= 0.8)
|
|
111
|
+
*/
|
|
112
|
+
export declare function isHighPriority(context: AgentContext): boolean;
|
|
113
|
+
/**
|
|
114
|
+
* Check if priority is low (<= 0.2)
|
|
115
|
+
*/
|
|
116
|
+
export declare function isLowPriority(context: AgentContext): boolean;
|
|
117
|
+
/**
|
|
118
|
+
* Get priority category
|
|
119
|
+
*/
|
|
120
|
+
export declare function getPriorityCategory(priority: number): 'high' | 'medium' | 'low';
|
|
121
|
+
/**
|
|
122
|
+
* Normalize priority to valid range
|
|
123
|
+
*/
|
|
124
|
+
export declare function normalizePriority(priority: number): number;
|
|
125
|
+
/**
|
|
126
|
+
* Validate embedding dimensions
|
|
127
|
+
*/
|
|
128
|
+
export declare function validateEmbeddingDimensions(embedding: number[]): boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Validate embedding values are in valid range
|
|
131
|
+
*/
|
|
132
|
+
export declare function validateEmbeddingValues(embedding: number[]): boolean;
|
|
133
|
+
/**
|
|
134
|
+
* Check if context has valid embedding
|
|
135
|
+
*/
|
|
136
|
+
export declare function hasValidEmbedding(context: AgentContext): boolean;
|
|
137
|
+
/**
|
|
138
|
+
* Normalize embedding vector (L2 normalization)
|
|
139
|
+
*/
|
|
140
|
+
export declare function normalizeEmbedding(embedding: number[]): number[];
|
|
141
|
+
/**
|
|
142
|
+
* Calculate cosine similarity between two embeddings
|
|
143
|
+
*/
|
|
144
|
+
export declare function calculateCosineSimilarity(embedding1: number[], embedding2: number[]): number;
|
|
145
|
+
/**
|
|
146
|
+
* Validate context key format
|
|
147
|
+
*/
|
|
148
|
+
export declare function validateContextKey(key: string): boolean;
|
|
149
|
+
/**
|
|
150
|
+
* Estimate context data size in bytes
|
|
151
|
+
*/
|
|
152
|
+
export declare function estimateContextSize(context: Record<string, unknown>): number;
|
|
153
|
+
/**
|
|
154
|
+
* Validate context data doesn't exceed size limits
|
|
155
|
+
*/
|
|
156
|
+
export declare function validateContextSize(context: Record<string, unknown>): boolean;
|
|
157
|
+
/**
|
|
158
|
+
* Check for circular references in context data
|
|
159
|
+
*/
|
|
160
|
+
export declare function hasCircularReference(obj: unknown, seen?: WeakSet<object>): boolean;
|
|
161
|
+
/**
|
|
162
|
+
* Validate context data for security and consistency
|
|
163
|
+
*/
|
|
164
|
+
export declare function validateContextData(context: Record<string, unknown>): {
|
|
165
|
+
valid: boolean;
|
|
166
|
+
errors: string[];
|
|
167
|
+
};
|
|
168
|
+
/**
|
|
169
|
+
* Create agent context insert data
|
|
170
|
+
*/
|
|
171
|
+
export declare function createAgentContextInsert(sessionId: string, agentId: string, options?: {
|
|
172
|
+
context?: Record<string, unknown>;
|
|
173
|
+
priority?: number;
|
|
174
|
+
embedding?: number[];
|
|
175
|
+
}): AgentContextInsert;
|
|
176
|
+
/**
|
|
177
|
+
* Update context data with validation
|
|
178
|
+
*/
|
|
179
|
+
export declare function updateAgentContext(updates: {
|
|
180
|
+
context?: Record<string, unknown>;
|
|
181
|
+
priority?: number;
|
|
182
|
+
embedding?: number[] | null;
|
|
183
|
+
}): Partial<AgentContext>;
|
|
184
|
+
/**
|
|
185
|
+
* Agent context with computed fields for UI display
|
|
186
|
+
*/
|
|
187
|
+
export interface AgentContextWithComputed extends AgentContext {
|
|
188
|
+
_computed: {
|
|
189
|
+
hasEmbedding: boolean;
|
|
190
|
+
embeddingValid: boolean;
|
|
191
|
+
priorityCategory: 'high' | 'medium' | 'low';
|
|
192
|
+
contextKeyCount: number;
|
|
193
|
+
contextSizeBytes: number;
|
|
194
|
+
isHighPriority: boolean;
|
|
195
|
+
isLowPriority: boolean;
|
|
196
|
+
parsedId: {
|
|
197
|
+
sessionId: string;
|
|
198
|
+
agentId: string;
|
|
199
|
+
};
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Convert agent context to format with computed fields
|
|
204
|
+
*/
|
|
205
|
+
export declare function agentContextToHuman(context: AgentContext): AgentContextWithComputed;
|
|
206
|
+
/**
|
|
207
|
+
* Agent context with metadata for agent/API consumption
|
|
208
|
+
*/
|
|
209
|
+
export interface AgentContextAgent extends AgentContext {
|
|
210
|
+
metadata: {
|
|
211
|
+
embeddingPresent: boolean;
|
|
212
|
+
embeddingDimensions: number | null;
|
|
213
|
+
priorityLevel: 'high' | 'medium' | 'low';
|
|
214
|
+
contextSize: number;
|
|
215
|
+
keyCount: number;
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Convert agent context to agent-compatible format
|
|
220
|
+
*/
|
|
221
|
+
export declare function agentContextToAgent(context: AgentContext): AgentContextAgent;
|
|
222
|
+
/**
|
|
223
|
+
* Zod schema for agent context with computed fields
|
|
224
|
+
*/
|
|
225
|
+
export declare const AgentContextWithComputedSchema: z.ZodIntersection<z.ZodObject<{
|
|
226
|
+
id: z.ZodString;
|
|
227
|
+
version: z.ZodDefault<z.ZodNumber>;
|
|
228
|
+
sessionId: z.ZodString;
|
|
229
|
+
agentId: z.ZodString;
|
|
230
|
+
context: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
231
|
+
priority: z.ZodDefault<z.ZodNumber>;
|
|
232
|
+
embedding: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodNumber>>>;
|
|
233
|
+
createdAt: z.ZodDate;
|
|
234
|
+
updatedAt: z.ZodDate;
|
|
235
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
236
|
+
_computed: z.ZodObject<{
|
|
237
|
+
hasEmbedding: z.ZodBoolean;
|
|
238
|
+
embeddingValid: z.ZodBoolean;
|
|
239
|
+
priorityCategory: z.ZodEnum<{
|
|
240
|
+
high: "high";
|
|
241
|
+
low: "low";
|
|
242
|
+
medium: "medium";
|
|
243
|
+
}>;
|
|
244
|
+
contextKeyCount: z.ZodNumber;
|
|
245
|
+
contextSizeBytes: z.ZodNumber;
|
|
246
|
+
isHighPriority: z.ZodBoolean;
|
|
247
|
+
isLowPriority: z.ZodBoolean;
|
|
248
|
+
parsedId: z.ZodObject<{
|
|
249
|
+
sessionId: z.ZodString;
|
|
250
|
+
agentId: z.ZodString;
|
|
251
|
+
}, z.core.$strip>;
|
|
252
|
+
}, z.core.$strip>;
|
|
253
|
+
}, z.core.$strip>>;
|
|
254
|
+
/**
|
|
255
|
+
* Zod schema for agent context with agent metadata
|
|
256
|
+
*/
|
|
257
|
+
export declare const AgentContextAgentSchema: z.ZodIntersection<z.ZodObject<{
|
|
258
|
+
id: z.ZodString;
|
|
259
|
+
version: z.ZodDefault<z.ZodNumber>;
|
|
260
|
+
sessionId: z.ZodString;
|
|
261
|
+
agentId: z.ZodString;
|
|
262
|
+
context: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
263
|
+
priority: z.ZodDefault<z.ZodNumber>;
|
|
264
|
+
embedding: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodNumber>>>;
|
|
265
|
+
createdAt: z.ZodDate;
|
|
266
|
+
updatedAt: z.ZodDate;
|
|
267
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
268
|
+
metadata: z.ZodObject<{
|
|
269
|
+
embeddingPresent: z.ZodBoolean;
|
|
270
|
+
embeddingDimensions: z.ZodNullable<z.ZodNumber>;
|
|
271
|
+
priorityLevel: z.ZodEnum<{
|
|
272
|
+
high: "high";
|
|
273
|
+
low: "low";
|
|
274
|
+
medium: "medium";
|
|
275
|
+
}>;
|
|
276
|
+
contextSize: z.ZodNumber;
|
|
277
|
+
keyCount: z.ZodNumber;
|
|
278
|
+
}, z.core.$strip>;
|
|
279
|
+
}, z.core.$strip>>;
|
|
280
|
+
//# sourceMappingURL=agent-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-context.d.ts","sourceRoot":"","sources":["../../src/entities/agent-context.ts"],"names":[],"mappings":"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"}
|