@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.
Files changed (191) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +160 -0
  3. package/dist/a2a/index.d.ts +383 -0
  4. package/dist/a2a/index.d.ts.map +1 -0
  5. package/dist/a2a/index.js +276 -0
  6. package/dist/a2a/index.js.map +1 -0
  7. package/dist/actions/action-validator.d.ts +48 -0
  8. package/dist/actions/action-validator.d.ts.map +1 -0
  9. package/dist/actions/action-validator.js +288 -0
  10. package/dist/actions/action-validator.js.map +1 -0
  11. package/dist/actions/index.d.ts +7 -0
  12. package/dist/actions/index.d.ts.map +1 -0
  13. package/dist/actions/index.js +7 -0
  14. package/dist/actions/index.js.map +1 -0
  15. package/dist/agents/index.d.ts +628 -0
  16. package/dist/agents/index.d.ts.map +1 -0
  17. package/dist/agents/index.js +511 -0
  18. package/dist/agents/index.js.map +1 -0
  19. package/dist/agents/types.d.ts +22 -0
  20. package/dist/agents/types.d.ts.map +1 -0
  21. package/dist/agents/types.js +2 -0
  22. package/dist/agents/types.js.map +1 -0
  23. package/dist/api/auth.d.ts +60 -0
  24. package/dist/api/auth.d.ts.map +1 -0
  25. package/dist/api/auth.js +84 -0
  26. package/dist/api/auth.js.map +1 -0
  27. package/dist/api/chat.d.ts +45 -0
  28. package/dist/api/chat.d.ts.map +1 -0
  29. package/dist/api/chat.js +55 -0
  30. package/dist/api/chat.js.map +1 -0
  31. package/dist/api/gdpr.d.ts +39 -0
  32. package/dist/api/gdpr.d.ts.map +1 -0
  33. package/dist/api/gdpr.js +53 -0
  34. package/dist/api/gdpr.js.map +1 -0
  35. package/dist/cms/collection.d.ts +108 -0
  36. package/dist/cms/collection.d.ts.map +1 -0
  37. package/dist/cms/collection.js +144 -0
  38. package/dist/cms/collection.js.map +1 -0
  39. package/dist/cms/compat.d.ts +128 -0
  40. package/dist/cms/compat.d.ts.map +1 -0
  41. package/dist/cms/compat.js +141 -0
  42. package/dist/cms/compat.js.map +1 -0
  43. package/dist/cms/config-contract.d.ts +278 -0
  44. package/dist/cms/config-contract.d.ts.map +1 -0
  45. package/dist/cms/config-contract.js +220 -0
  46. package/dist/cms/config-contract.js.map +1 -0
  47. package/dist/cms/config.d.ts +351 -0
  48. package/dist/cms/config.d.ts.map +1 -0
  49. package/dist/cms/config.js +50 -0
  50. package/dist/cms/config.js.map +1 -0
  51. package/dist/cms/errors.d.ts +122 -0
  52. package/dist/cms/errors.d.ts.map +1 -0
  53. package/dist/cms/errors.js +163 -0
  54. package/dist/cms/errors.js.map +1 -0
  55. package/dist/cms/extensibility.d.ts +211 -0
  56. package/dist/cms/extensibility.d.ts.map +1 -0
  57. package/dist/cms/extensibility.js +313 -0
  58. package/dist/cms/extensibility.js.map +1 -0
  59. package/dist/cms/field.d.ts +69 -0
  60. package/dist/cms/field.d.ts.map +1 -0
  61. package/dist/cms/field.js +94 -0
  62. package/dist/cms/field.js.map +1 -0
  63. package/dist/cms/functions.d.ts +466 -0
  64. package/dist/cms/functions.d.ts.map +1 -0
  65. package/dist/cms/functions.js +19 -0
  66. package/dist/cms/functions.js.map +1 -0
  67. package/dist/cms/global.d.ts +45 -0
  68. package/dist/cms/global.d.ts.map +1 -0
  69. package/dist/cms/global.js +62 -0
  70. package/dist/cms/global.js.map +1 -0
  71. package/dist/cms/index.d.ts +23 -0
  72. package/dist/cms/index.d.ts.map +1 -0
  73. package/dist/cms/index.js +42 -0
  74. package/dist/cms/index.js.map +1 -0
  75. package/dist/cms/structure.d.ts +1601 -0
  76. package/dist/cms/structure.d.ts.map +1 -0
  77. package/dist/cms/structure.js +757 -0
  78. package/dist/cms/structure.js.map +1 -0
  79. package/dist/content/index.d.ts +1542 -0
  80. package/dist/content/index.d.ts.map +1 -0
  81. package/dist/content/index.js +522 -0
  82. package/dist/content/index.js.map +1 -0
  83. package/dist/database/bridge.d.ts +177 -0
  84. package/dist/database/bridge.d.ts.map +1 -0
  85. package/dist/database/bridge.js +139 -0
  86. package/dist/database/bridge.js.map +1 -0
  87. package/dist/database/index.d.ts +8 -0
  88. package/dist/database/index.d.ts.map +1 -0
  89. package/dist/database/index.js +9 -0
  90. package/dist/database/index.js.map +1 -0
  91. package/dist/database/type-bridge.d.ts +178 -0
  92. package/dist/database/type-bridge.d.ts.map +1 -0
  93. package/dist/database/type-bridge.js +154 -0
  94. package/dist/database/type-bridge.js.map +1 -0
  95. package/dist/entities/agent-context.d.ts +280 -0
  96. package/dist/entities/agent-context.d.ts.map +1 -0
  97. package/dist/entities/agent-context.js +390 -0
  98. package/dist/entities/agent-context.js.map +1 -0
  99. package/dist/entities/agent-memory.d.ts +661 -0
  100. package/dist/entities/agent-memory.d.ts.map +1 -0
  101. package/dist/entities/agent-memory.js +544 -0
  102. package/dist/entities/agent-memory.js.map +1 -0
  103. package/dist/entities/board.d.ts +95 -0
  104. package/dist/entities/board.d.ts.map +1 -0
  105. package/dist/entities/board.js +99 -0
  106. package/dist/entities/board.js.map +1 -0
  107. package/dist/entities/code-provenance.d.ts +270 -0
  108. package/dist/entities/code-provenance.d.ts.map +1 -0
  109. package/dist/entities/code-provenance.js +339 -0
  110. package/dist/entities/code-provenance.js.map +1 -0
  111. package/dist/entities/index.d.ts +22 -0
  112. package/dist/entities/index.d.ts.map +1 -0
  113. package/dist/entities/index.js +22 -0
  114. package/dist/entities/index.js.map +1 -0
  115. package/dist/entities/media.d.ts +485 -0
  116. package/dist/entities/media.d.ts.map +1 -0
  117. package/dist/entities/media.js +606 -0
  118. package/dist/entities/media.js.map +1 -0
  119. package/dist/entities/page-revision.d.ts +390 -0
  120. package/dist/entities/page-revision.d.ts.map +1 -0
  121. package/dist/entities/page-revision.js +406 -0
  122. package/dist/entities/page-revision.js.map +1 -0
  123. package/dist/entities/page.d.ts +2349 -0
  124. package/dist/entities/page.d.ts.map +1 -0
  125. package/dist/entities/page.js +377 -0
  126. package/dist/entities/page.js.map +1 -0
  127. package/dist/entities/post.d.ts +619 -0
  128. package/dist/entities/post.d.ts.map +1 -0
  129. package/dist/entities/post.js +555 -0
  130. package/dist/entities/post.js.map +1 -0
  131. package/dist/entities/price.d.ts +772 -0
  132. package/dist/entities/price.d.ts.map +1 -0
  133. package/dist/entities/price.js +308 -0
  134. package/dist/entities/price.js.map +1 -0
  135. package/dist/entities/product.d.ts +753 -0
  136. package/dist/entities/product.d.ts.map +1 -0
  137. package/dist/entities/product.js +307 -0
  138. package/dist/entities/product.js.map +1 -0
  139. package/dist/entities/session.d.ts +222 -0
  140. package/dist/entities/session.d.ts.map +1 -0
  141. package/dist/entities/session.js +253 -0
  142. package/dist/entities/session.js.map +1 -0
  143. package/dist/entities/site.d.ts +387 -0
  144. package/dist/entities/site.d.ts.map +1 -0
  145. package/dist/entities/site.js +348 -0
  146. package/dist/entities/site.js.map +1 -0
  147. package/dist/entities/ticket-comment.d.ts +49 -0
  148. package/dist/entities/ticket-comment.d.ts.map +1 -0
  149. package/dist/entities/ticket-comment.js +58 -0
  150. package/dist/entities/ticket-comment.js.map +1 -0
  151. package/dist/entities/ticket-label.d.ts +64 -0
  152. package/dist/entities/ticket-label.d.ts.map +1 -0
  153. package/dist/entities/ticket-label.js +77 -0
  154. package/dist/entities/ticket-label.js.map +1 -0
  155. package/dist/entities/ticket.d.ts +204 -0
  156. package/dist/entities/ticket.d.ts.map +1 -0
  157. package/dist/entities/ticket.js +205 -0
  158. package/dist/entities/ticket.js.map +1 -0
  159. package/dist/entities/user.d.ts +336 -0
  160. package/dist/entities/user.d.ts.map +1 -0
  161. package/dist/entities/user.js +255 -0
  162. package/dist/entities/user.js.map +1 -0
  163. package/dist/foundation/contract.d.ts +221 -0
  164. package/dist/foundation/contract.d.ts.map +1 -0
  165. package/dist/foundation/contract.js +133 -0
  166. package/dist/foundation/contract.js.map +1 -0
  167. package/dist/foundation/index.d.ts +7 -0
  168. package/dist/foundation/index.d.ts.map +1 -0
  169. package/dist/foundation/index.js +7 -0
  170. package/dist/foundation/index.js.map +1 -0
  171. package/dist/generated/contracts.d.ts +1514 -0
  172. package/dist/generated/contracts.d.ts.map +1 -0
  173. package/dist/generated/contracts.js +959 -0
  174. package/dist/generated/contracts.js.map +1 -0
  175. package/dist/generated/database.d.ts +48 -0
  176. package/dist/generated/database.d.ts.map +1 -0
  177. package/dist/generated/database.js +17 -0
  178. package/dist/generated/database.js.map +1 -0
  179. package/dist/generated/zod-schemas.d.ts +14793 -0
  180. package/dist/generated/zod-schemas.d.ts.map +1 -0
  181. package/dist/generated/zod-schemas.js +547 -0
  182. package/dist/generated/zod-schemas.js.map +1 -0
  183. package/dist/index.d.ts +50 -0
  184. package/dist/index.d.ts.map +1 -0
  185. package/dist/index.js +81 -0
  186. package/dist/index.js.map +1 -0
  187. package/dist/representation/index.d.ts +304 -0
  188. package/dist/representation/index.d.ts.map +1 -0
  189. package/dist/representation/index.js +280 -0
  190. package/dist/representation/index.js.map +1 -0
  191. 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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"}