@vorionsys/atsf-core 0.2.3 → 0.2.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.
Files changed (325) hide show
  1. package/dist/api/index.d.ts +1 -1
  2. package/dist/api/index.js +1 -1
  3. package/dist/api/server.d.ts +2 -2
  4. package/dist/api/server.d.ts.map +1 -1
  5. package/dist/api/server.js +147 -184
  6. package/dist/api/server.js.map +1 -1
  7. package/dist/arbitration/index.d.ts +4 -4
  8. package/dist/arbitration/index.d.ts.map +1 -1
  9. package/dist/arbitration/index.js +41 -46
  10. package/dist/arbitration/index.js.map +1 -1
  11. package/dist/arbitration/types.d.ts +10 -10
  12. package/dist/arbitration/types.d.ts.map +1 -1
  13. package/dist/basis/evaluator.d.ts +1 -1
  14. package/dist/basis/evaluator.d.ts.map +1 -1
  15. package/dist/basis/evaluator.js +54 -56
  16. package/dist/basis/evaluator.js.map +1 -1
  17. package/dist/basis/index.d.ts +3 -3
  18. package/dist/basis/index.js +3 -3
  19. package/dist/basis/parser.d.ts +2 -2
  20. package/dist/basis/parser.d.ts.map +1 -1
  21. package/dist/basis/parser.js +25 -32
  22. package/dist/basis/parser.js.map +1 -1
  23. package/dist/basis/types.d.ts +2 -2
  24. package/dist/chain/index.d.ts.map +1 -1
  25. package/dist/chain/index.js +16 -16
  26. package/dist/chain/index.js.map +1 -1
  27. package/dist/cognigate/index.d.ts +1 -1
  28. package/dist/cognigate/index.d.ts.map +1 -1
  29. package/dist/cognigate/index.js +33 -44
  30. package/dist/cognigate/index.js.map +1 -1
  31. package/dist/common/adapters.d.ts +4 -4
  32. package/dist/common/adapters.d.ts.map +1 -1
  33. package/dist/common/adapters.js +52 -62
  34. package/dist/common/adapters.js.map +1 -1
  35. package/dist/common/config.d.ts +69 -68
  36. package/dist/common/config.d.ts.map +1 -1
  37. package/dist/common/config.js +50 -50
  38. package/dist/common/config.js.map +1 -1
  39. package/dist/common/index.d.ts +4 -4
  40. package/dist/common/index.js +4 -4
  41. package/dist/common/logger.d.ts +1 -1
  42. package/dist/common/logger.js +8 -8
  43. package/dist/common/types.d.ts +5 -5
  44. package/dist/common/types.js +5 -5
  45. package/dist/containment/index.d.ts +3 -3
  46. package/dist/containment/index.d.ts.map +1 -1
  47. package/dist/containment/index.js +105 -119
  48. package/dist/containment/index.js.map +1 -1
  49. package/dist/containment/types.d.ts +11 -11
  50. package/dist/containment/types.d.ts.map +1 -1
  51. package/dist/contracts/index.d.ts +9 -9
  52. package/dist/contracts/index.d.ts.map +1 -1
  53. package/dist/contracts/index.js +54 -59
  54. package/dist/contracts/index.js.map +1 -1
  55. package/dist/contracts/types.d.ts +12 -12
  56. package/dist/contracts/types.d.ts.map +1 -1
  57. package/dist/crewai/callback.d.ts +2 -2
  58. package/dist/crewai/callback.d.ts.map +1 -1
  59. package/dist/crewai/callback.js +27 -27
  60. package/dist/crewai/callback.js.map +1 -1
  61. package/dist/crewai/executor.d.ts +95 -4
  62. package/dist/crewai/executor.d.ts.map +1 -1
  63. package/dist/crewai/executor.js +457 -16
  64. package/dist/crewai/executor.js.map +1 -1
  65. package/dist/crewai/index.d.ts +4 -4
  66. package/dist/crewai/index.js +4 -4
  67. package/dist/crewai/tools.d.ts +1 -1
  68. package/dist/crewai/tools.d.ts.map +1 -1
  69. package/dist/crewai/tools.js +38 -39
  70. package/dist/crewai/tools.js.map +1 -1
  71. package/dist/crewai/types.d.ts +66 -3
  72. package/dist/crewai/types.d.ts.map +1 -1
  73. package/dist/enforce/index.d.ts +229 -7
  74. package/dist/enforce/index.d.ts.map +1 -1
  75. package/dist/enforce/index.js +52 -80
  76. package/dist/enforce/index.js.map +1 -1
  77. package/dist/enforce/trust-aware-enforcement-service.d.ts +8 -8
  78. package/dist/enforce/trust-aware-enforcement-service.d.ts.map +1 -1
  79. package/dist/enforce/trust-aware-enforcement-service.js +107 -125
  80. package/dist/enforce/trust-aware-enforcement-service.js.map +1 -1
  81. package/dist/governance/fluid-workflow.d.ts +8 -8
  82. package/dist/governance/fluid-workflow.d.ts.map +1 -1
  83. package/dist/governance/fluid-workflow.js +86 -114
  84. package/dist/governance/fluid-workflow.js.map +1 -1
  85. package/dist/governance/index.d.ts +7 -7
  86. package/dist/governance/index.d.ts.map +1 -1
  87. package/dist/governance/index.js +74 -81
  88. package/dist/governance/index.js.map +1 -1
  89. package/dist/governance/proof-bridge.d.ts +6 -6
  90. package/dist/governance/proof-bridge.d.ts.map +1 -1
  91. package/dist/governance/proof-bridge.js +5 -5
  92. package/dist/governance/proof-bridge.js.map +1 -1
  93. package/dist/governance/types.d.ts +9 -16
  94. package/dist/governance/types.d.ts.map +1 -1
  95. package/dist/governance/types.js.map +1 -1
  96. package/dist/index.d.ts +27 -29
  97. package/dist/index.d.ts.map +1 -1
  98. package/dist/index.js +25 -31
  99. package/dist/index.js.map +1 -1
  100. package/dist/intent/index.d.ts +55 -5
  101. package/dist/intent/index.d.ts.map +1 -1
  102. package/dist/intent/index.js +21 -24
  103. package/dist/intent/index.js.map +1 -1
  104. package/dist/intent/persistent-intent-service.d.ts +2 -2
  105. package/dist/intent/persistent-intent-service.d.ts.map +1 -1
  106. package/dist/intent/persistent-intent-service.js +31 -43
  107. package/dist/intent/persistent-intent-service.js.map +1 -1
  108. package/dist/intent/supabase-intent-repository.d.ts +124 -0
  109. package/dist/intent/supabase-intent-repository.d.ts.map +1 -0
  110. package/dist/intent/supabase-intent-repository.js +404 -0
  111. package/dist/intent/supabase-intent-repository.js.map +1 -0
  112. package/dist/langchain/callback.d.ts +2 -2
  113. package/dist/langchain/callback.d.ts.map +1 -1
  114. package/dist/langchain/callback.js +30 -30
  115. package/dist/langchain/callback.js.map +1 -1
  116. package/dist/langchain/executor.d.ts +4 -4
  117. package/dist/langchain/executor.d.ts.map +1 -1
  118. package/dist/langchain/executor.js +80 -82
  119. package/dist/langchain/executor.js.map +1 -1
  120. package/dist/langchain/index.d.ts +5 -5
  121. package/dist/langchain/index.js +5 -5
  122. package/dist/langchain/tools.d.ts +1 -1
  123. package/dist/langchain/tools.d.ts.map +1 -1
  124. package/dist/langchain/tools.js +34 -36
  125. package/dist/langchain/tools.js.map +1 -1
  126. package/dist/langchain/types.d.ts +3 -3
  127. package/dist/langchain/types.d.ts.map +1 -1
  128. package/dist/layers/implementations/L0-request-format.d.ts +2 -2
  129. package/dist/layers/implementations/L0-request-format.d.ts.map +1 -1
  130. package/dist/layers/implementations/L0-request-format.js +52 -54
  131. package/dist/layers/implementations/L0-request-format.js.map +1 -1
  132. package/dist/layers/implementations/L1-input-size.d.ts +2 -2
  133. package/dist/layers/implementations/L1-input-size.d.ts.map +1 -1
  134. package/dist/layers/implementations/L1-input-size.js +39 -49
  135. package/dist/layers/implementations/L1-input-size.js.map +1 -1
  136. package/dist/layers/implementations/L2-charset-sanitizer.d.ts +2 -2
  137. package/dist/layers/implementations/L2-charset-sanitizer.d.ts.map +1 -1
  138. package/dist/layers/implementations/L2-charset-sanitizer.js +71 -81
  139. package/dist/layers/implementations/L2-charset-sanitizer.js.map +1 -1
  140. package/dist/layers/implementations/L3-schema-conformance.d.ts +3 -3
  141. package/dist/layers/implementations/L3-schema-conformance.d.ts.map +1 -1
  142. package/dist/layers/implementations/L3-schema-conformance.js +73 -82
  143. package/dist/layers/implementations/L3-schema-conformance.js.map +1 -1
  144. package/dist/layers/implementations/L4-injection-detector.d.ts +4 -4
  145. package/dist/layers/implementations/L4-injection-detector.d.ts.map +1 -1
  146. package/dist/layers/implementations/L4-injection-detector.js +81 -85
  147. package/dist/layers/implementations/L4-injection-detector.js.map +1 -1
  148. package/dist/layers/implementations/L5-rate-limiter.d.ts +2 -2
  149. package/dist/layers/implementations/L5-rate-limiter.d.ts.map +1 -1
  150. package/dist/layers/implementations/L5-rate-limiter.js +20 -20
  151. package/dist/layers/implementations/L5-rate-limiter.js.map +1 -1
  152. package/dist/layers/implementations/index.d.ts +6 -6
  153. package/dist/layers/implementations/index.d.ts.map +1 -1
  154. package/dist/layers/implementations/index.js +6 -6
  155. package/dist/layers/implementations/index.js.map +1 -1
  156. package/dist/layers/index.d.ts +3 -3
  157. package/dist/layers/index.d.ts.map +1 -1
  158. package/dist/layers/index.js +71 -99
  159. package/dist/layers/index.js.map +1 -1
  160. package/dist/layers/types.d.ts +16 -16
  161. package/dist/layers/types.d.ts.map +1 -1
  162. package/dist/persistence/file.d.ts +3 -3
  163. package/dist/persistence/file.d.ts.map +1 -1
  164. package/dist/persistence/file.js +28 -32
  165. package/dist/persistence/file.js.map +1 -1
  166. package/dist/persistence/index.d.ts +7 -7
  167. package/dist/persistence/index.d.ts.map +1 -1
  168. package/dist/persistence/index.js +18 -18
  169. package/dist/persistence/index.js.map +1 -1
  170. package/dist/persistence/memory.d.ts +3 -3
  171. package/dist/persistence/memory.d.ts.map +1 -1
  172. package/dist/persistence/memory.js +8 -10
  173. package/dist/persistence/memory.js.map +1 -1
  174. package/dist/persistence/sqlite.d.ts +3 -3
  175. package/dist/persistence/sqlite.d.ts.map +1 -1
  176. package/dist/persistence/sqlite.js +40 -39
  177. package/dist/persistence/sqlite.js.map +1 -1
  178. package/dist/persistence/supabase.d.ts +3 -3
  179. package/dist/persistence/supabase.d.ts.map +1 -1
  180. package/dist/persistence/supabase.js +45 -43
  181. package/dist/persistence/supabase.js.map +1 -1
  182. package/dist/persistence/types.d.ts +5 -5
  183. package/dist/phase6/ceiling.d.ts +5 -5
  184. package/dist/phase6/ceiling.d.ts.map +1 -1
  185. package/dist/phase6/ceiling.js +36 -69
  186. package/dist/phase6/ceiling.js.map +1 -1
  187. package/dist/phase6/context.d.ts +3 -3
  188. package/dist/phase6/context.d.ts.map +1 -1
  189. package/dist/phase6/context.js +47 -93
  190. package/dist/phase6/context.js.map +1 -1
  191. package/dist/phase6/index.d.ts +12 -12
  192. package/dist/phase6/index.d.ts.map +1 -1
  193. package/dist/phase6/index.js +15 -15
  194. package/dist/phase6/index.js.map +1 -1
  195. package/dist/phase6/presets.d.ts +2 -2
  196. package/dist/phase6/presets.d.ts.map +1 -1
  197. package/dist/phase6/presets.js +33 -39
  198. package/dist/phase6/presets.js.map +1 -1
  199. package/dist/phase6/provenance.d.ts +4 -4
  200. package/dist/phase6/provenance.d.ts.map +1 -1
  201. package/dist/phase6/provenance.js +35 -42
  202. package/dist/phase6/provenance.js.map +1 -1
  203. package/dist/phase6/role-gates/index.d.ts +2 -2
  204. package/dist/phase6/role-gates/index.js +2 -2
  205. package/dist/phase6/role-gates/kernel.d.ts.map +1 -1
  206. package/dist/phase6/role-gates/kernel.js +16 -16
  207. package/dist/phase6/role-gates/kernel.js.map +1 -1
  208. package/dist/phase6/role-gates/policy.d.ts +2 -2
  209. package/dist/phase6/role-gates/policy.js +6 -6
  210. package/dist/phase6/role-gates.d.ts +4 -4
  211. package/dist/phase6/role-gates.d.ts.map +1 -1
  212. package/dist/phase6/role-gates.js +58 -80
  213. package/dist/phase6/role-gates.js.map +1 -1
  214. package/dist/phase6/types.d.ts +20 -19
  215. package/dist/phase6/types.d.ts.map +1 -1
  216. package/dist/phase6/types.js +82 -177
  217. package/dist/phase6/types.js.map +1 -1
  218. package/dist/phase6/weight-presets/canonical.d.ts.map +1 -1
  219. package/dist/phase6/weight-presets/canonical.js +10 -10
  220. package/dist/phase6/weight-presets/canonical.js.map +1 -1
  221. package/dist/phase6/weight-presets/deltas.d.ts +2 -2
  222. package/dist/phase6/weight-presets/deltas.d.ts.map +1 -1
  223. package/dist/phase6/weight-presets/deltas.js +27 -27
  224. package/dist/phase6/weight-presets/deltas.js.map +1 -1
  225. package/dist/phase6/weight-presets/index.d.ts +3 -3
  226. package/dist/phase6/weight-presets/index.js +3 -3
  227. package/dist/phase6/weight-presets/merger.d.ts +2 -2
  228. package/dist/phase6/weight-presets/merger.d.ts.map +1 -1
  229. package/dist/phase6/weight-presets/merger.js +43 -39
  230. package/dist/phase6/weight-presets/merger.js.map +1 -1
  231. package/dist/proof/index.d.ts +3 -3
  232. package/dist/proof/index.d.ts.map +1 -1
  233. package/dist/proof/index.js +38 -44
  234. package/dist/proof/index.js.map +1 -1
  235. package/dist/proof/merkle.d.ts +24 -3
  236. package/dist/proof/merkle.d.ts.map +1 -1
  237. package/dist/proof/merkle.js +116 -32
  238. package/dist/proof/merkle.js.map +1 -1
  239. package/dist/proof/zk-proofs.d.ts +6 -6
  240. package/dist/proof/zk-proofs.d.ts.map +1 -1
  241. package/dist/proof/zk-proofs.js +43 -42
  242. package/dist/proof/zk-proofs.js.map +1 -1
  243. package/dist/provenance/index.d.ts +3 -3
  244. package/dist/provenance/index.d.ts.map +1 -1
  245. package/dist/provenance/index.js +17 -19
  246. package/dist/provenance/index.js.map +1 -1
  247. package/dist/provenance/types.d.ts +4 -4
  248. package/dist/provenance/types.d.ts.map +1 -1
  249. package/dist/sandbox-training/challenges.d.ts +1 -1
  250. package/dist/sandbox-training/challenges.d.ts.map +1 -1
  251. package/dist/sandbox-training/challenges.js +228 -228
  252. package/dist/sandbox-training/challenges.js.map +1 -1
  253. package/dist/sandbox-training/graduation.d.ts +1 -1
  254. package/dist/sandbox-training/graduation.d.ts.map +1 -1
  255. package/dist/sandbox-training/graduation.js +15 -14
  256. package/dist/sandbox-training/graduation.js.map +1 -1
  257. package/dist/sandbox-training/index.d.ts +9 -9
  258. package/dist/sandbox-training/index.d.ts.map +1 -1
  259. package/dist/sandbox-training/index.js +6 -6
  260. package/dist/sandbox-training/index.js.map +1 -1
  261. package/dist/sandbox-training/promotion-service.d.ts +4 -4
  262. package/dist/sandbox-training/promotion-service.d.ts.map +1 -1
  263. package/dist/sandbox-training/promotion-service.js +5 -5
  264. package/dist/sandbox-training/promotion-service.js.map +1 -1
  265. package/dist/sandbox-training/runner.d.ts +1 -1
  266. package/dist/sandbox-training/runner.d.ts.map +1 -1
  267. package/dist/sandbox-training/runner.js +73 -74
  268. package/dist/sandbox-training/runner.js.map +1 -1
  269. package/dist/sandbox-training/scorer.d.ts +4 -4
  270. package/dist/sandbox-training/scorer.js +5 -5
  271. package/dist/sandbox-training/types.d.ts +4 -4
  272. package/dist/sandbox-training/types.d.ts.map +1 -1
  273. package/dist/sandbox-training/types.js +7 -11
  274. package/dist/sandbox-training/types.js.map +1 -1
  275. package/dist/trust-engine/ceiling-enforcement/audit.d.ts +1 -1
  276. package/dist/trust-engine/ceiling-enforcement/audit.d.ts.map +1 -1
  277. package/dist/trust-engine/ceiling-enforcement/audit.js +4 -3
  278. package/dist/trust-engine/ceiling-enforcement/audit.js.map +1 -1
  279. package/dist/trust-engine/ceiling-enforcement/index.d.ts +2 -2
  280. package/dist/trust-engine/ceiling-enforcement/index.js +2 -2
  281. package/dist/trust-engine/ceiling-enforcement/kernel.d.ts +12 -10
  282. package/dist/trust-engine/ceiling-enforcement/kernel.d.ts.map +1 -1
  283. package/dist/trust-engine/ceiling-enforcement/kernel.js +26 -20
  284. package/dist/trust-engine/ceiling-enforcement/kernel.js.map +1 -1
  285. package/dist/trust-engine/context-policy/enforcement.d.ts.map +1 -1
  286. package/dist/trust-engine/context-policy/factory.d.ts +1 -1
  287. package/dist/trust-engine/context-policy/factory.d.ts.map +1 -1
  288. package/dist/trust-engine/context-policy/factory.js +1 -1
  289. package/dist/trust-engine/context-policy/factory.js.map +1 -1
  290. package/dist/trust-engine/context-policy/index.d.ts +2 -2
  291. package/dist/trust-engine/context-policy/index.js +2 -2
  292. package/dist/trust-engine/creation-modifiers/index.d.ts +1 -1
  293. package/dist/trust-engine/creation-modifiers/index.js +1 -1
  294. package/dist/trust-engine/creation-modifiers/types.d.ts.map +1 -1
  295. package/dist/trust-engine/creation-modifiers/types.js +3 -2
  296. package/dist/trust-engine/creation-modifiers/types.js.map +1 -1
  297. package/dist/trust-engine/decay-profiles.d.ts +37 -136
  298. package/dist/trust-engine/decay-profiles.d.ts.map +1 -1
  299. package/dist/trust-engine/decay-profiles.js +68 -178
  300. package/dist/trust-engine/decay-profiles.js.map +1 -1
  301. package/dist/trust-engine/index.d.ts +135 -168
  302. package/dist/trust-engine/index.d.ts.map +1 -1
  303. package/dist/trust-engine/index.js +239 -525
  304. package/dist/trust-engine/index.js.map +1 -1
  305. package/dist/trust-engine/phase6-types.d.ts +18 -11
  306. package/dist/trust-engine/phase6-types.d.ts.map +1 -1
  307. package/dist/trust-engine/phase6-types.js +33 -29
  308. package/dist/trust-engine/phase6-types.js.map +1 -1
  309. package/package.json +1 -1
  310. package/dist/enforce/types.d.ts +0 -234
  311. package/dist/enforce/types.d.ts.map +0 -1
  312. package/dist/enforce/types.js +0 -10
  313. package/dist/enforce/types.js.map +0 -1
  314. package/dist/intent/types.d.ts +0 -69
  315. package/dist/intent/types.d.ts.map +0 -1
  316. package/dist/intent/types.js +0 -10
  317. package/dist/intent/types.js.map +0 -1
  318. package/dist/intent-gateway/index.d.ts +0 -522
  319. package/dist/intent-gateway/index.d.ts.map +0 -1
  320. package/dist/intent-gateway/index.js +0 -1499
  321. package/dist/intent-gateway/index.js.map +0 -1
  322. package/dist/trust-engine/types.d.ts +0 -77
  323. package/dist/trust-engine/types.d.ts.map +0 -1
  324. package/dist/trust-engine/types.js +0 -20
  325. package/dist/trust-engine/types.js.map +0 -1
@@ -0,0 +1,404 @@
1
+ /**
2
+ * Supabase/Postgres Persistence Adapter for Intent Service
3
+ *
4
+ * Production-quality intent service backed by Supabase (PostgreSQL). Provides:
5
+ * - Full IIntentService interface implementation
6
+ * - Input validation (same rules as PersistentIntentService)
7
+ * - State machine enforcement for status transitions
8
+ * - Tenant isolation via tenantId column (and optional RLS)
9
+ * - Configurable table name and schema for multi-schema deployments
10
+ * - Correlation ID tracking for distributed tracing
11
+ * - Type-only import of @supabase/supabase-js to avoid hard dependency
12
+ *
13
+ * Requires the migration in ./migrations/001_create_intents_table.sql to be
14
+ * applied before use.
15
+ *
16
+ * @packageDocumentation
17
+ */
18
+ import { createLogger } from '../common/logger.js';
19
+ const logger = createLogger({ component: 'supabase-intent-repository' });
20
+ // =============================================================================
21
+ // STATE MACHINE
22
+ // =============================================================================
23
+ /**
24
+ * Valid status transitions for the intent lifecycle.
25
+ * Mirrors PersistentIntentService exactly.
26
+ */
27
+ const VALID_TRANSITIONS = {
28
+ pending: ['evaluating', 'cancelled'],
29
+ evaluating: ['approved', 'denied', 'escalated', 'failed'],
30
+ approved: ['executing', 'cancelled'],
31
+ denied: [],
32
+ escalated: ['approved', 'denied', 'cancelled'],
33
+ executing: ['completed', 'failed'],
34
+ completed: [],
35
+ failed: ['pending'], // allow retry
36
+ cancelled: [],
37
+ };
38
+ // =============================================================================
39
+ // VALIDATION
40
+ // =============================================================================
41
+ /**
42
+ * Validate an IntentSubmission. Returns an array of error messages (empty = valid).
43
+ * Mirrors PersistentIntentService validation logic exactly.
44
+ */
45
+ function validateSubmission(submission) {
46
+ const errors = [];
47
+ if (!submission.entityId || typeof submission.entityId !== 'string') {
48
+ errors.push('entityId is required and must be a non-empty string');
49
+ }
50
+ if (!submission.goal || typeof submission.goal !== 'string') {
51
+ errors.push('goal is required and must be a non-empty string');
52
+ }
53
+ if (submission.goal && submission.goal.length > 10_000) {
54
+ errors.push('goal must be 10,000 characters or fewer');
55
+ }
56
+ if (submission.context !== undefined &&
57
+ (typeof submission.context !== 'object' || submission.context === null)) {
58
+ errors.push('context must be a plain object');
59
+ }
60
+ if (submission.expiresIn !== undefined) {
61
+ if (typeof submission.expiresIn !== 'number' || submission.expiresIn <= 0) {
62
+ errors.push('expiresIn must be a positive number (milliseconds)');
63
+ }
64
+ if (submission.expiresIn > 86_400_000) {
65
+ errors.push('expiresIn cannot exceed 24 hours (86400000ms)');
66
+ }
67
+ }
68
+ return errors;
69
+ }
70
+ const CONFIG_DEFAULTS = {
71
+ tableName: 'intents',
72
+ schema: 'public',
73
+ defaultExpirationMs: 3_600_000,
74
+ };
75
+ // =============================================================================
76
+ // MAPPING HELPERS
77
+ // =============================================================================
78
+ /**
79
+ * Convert a database row (snake_case) to an Intent domain object (camelCase).
80
+ */
81
+ function rowToIntent(row) {
82
+ return {
83
+ id: row.id,
84
+ tenantId: row.tenant_id,
85
+ entityId: row.entity_id,
86
+ goal: row.goal,
87
+ context: row.context,
88
+ metadata: row.metadata,
89
+ status: row.status,
90
+ createdAt: row.created_at,
91
+ updatedAt: row.updated_at,
92
+ trustSnapshot: row.trust_snapshot,
93
+ trustLevel: row.trust_level,
94
+ correlationId: row.correlation_id,
95
+ actionType: row.action_type,
96
+ resourceScope: row.resource_scope,
97
+ dataSensitivity: row.data_sensitivity,
98
+ reversibility: row.reversibility,
99
+ expiresAt: row.expires_at,
100
+ source: row.source,
101
+ };
102
+ }
103
+ /**
104
+ * Convert an Intent domain object to a database row for insertion.
105
+ */
106
+ function intentToRow(intent) {
107
+ return {
108
+ id: intent.id,
109
+ tenant_id: intent.tenantId ?? '',
110
+ entity_id: intent.entityId,
111
+ goal: intent.goal,
112
+ context: intent.context,
113
+ metadata: intent.metadata,
114
+ status: intent.status,
115
+ created_at: intent.createdAt,
116
+ updated_at: intent.updatedAt,
117
+ trust_snapshot: intent.trustSnapshot ?? null,
118
+ trust_level: intent.trustLevel ?? null,
119
+ correlation_id: intent.correlationId ?? crypto.randomUUID(),
120
+ action_type: intent.actionType ?? null,
121
+ resource_scope: intent.resourceScope ?? null,
122
+ data_sensitivity: intent.dataSensitivity ?? null,
123
+ reversibility: intent.reversibility ?? null,
124
+ expires_at: intent.expiresAt ?? null,
125
+ source: intent.source ?? null,
126
+ };
127
+ }
128
+ // =============================================================================
129
+ // SUPABASE INTENT REPOSITORY
130
+ // =============================================================================
131
+ /**
132
+ * Supabase/Postgres-backed intent service.
133
+ *
134
+ * Implements the full IIntentService interface with durable persistence,
135
+ * input validation, state machine enforcement, and tenant isolation.
136
+ *
137
+ * @example
138
+ * ```typescript
139
+ * import { createClient } from '@supabase/supabase-js';
140
+ * import { createSupabaseIntentRepository } from '@vorionsys/atsf-core/intent/supabase-intent-repository';
141
+ *
142
+ * const supabase = createClient(SUPABASE_URL, SUPABASE_KEY);
143
+ * const intentService = createSupabaseIntentRepository({ client: supabase });
144
+ *
145
+ * const intent = await intentService.submit(
146
+ * { entityId: 'agent-1', goal: 'Send email', context: {} },
147
+ * { tenantId: 'tenant-abc' }
148
+ * );
149
+ * ```
150
+ */
151
+ export class SupabaseIntentRepository {
152
+ client;
153
+ tableName;
154
+ schema;
155
+ defaultExpirationMs;
156
+ constructor(config) {
157
+ if (!config.client) {
158
+ throw new Error('SupabaseIntentRepository requires a SupabaseClient instance');
159
+ }
160
+ this.client = config.client;
161
+ this.tableName = config.tableName ?? CONFIG_DEFAULTS.tableName;
162
+ this.schema = config.schema ?? CONFIG_DEFAULTS.schema;
163
+ this.defaultExpirationMs = config.defaultExpirationMs ?? CONFIG_DEFAULTS.defaultExpirationMs;
164
+ logger.info({ tableName: this.tableName, schema: this.schema }, 'SupabaseIntentRepository initialized');
165
+ }
166
+ // ---------------------------------------------------------------------------
167
+ // Private: get a schema-scoped query builder for the intents table
168
+ // ---------------------------------------------------------------------------
169
+ table() {
170
+ return this.client.schema(this.schema).from(this.tableName);
171
+ }
172
+ // ---------------------------------------------------------------------------
173
+ // IIntentService.submit
174
+ // ---------------------------------------------------------------------------
175
+ /**
176
+ * Submit a new intent with full validation and persist to Supabase.
177
+ */
178
+ async submit(submission, options) {
179
+ // Validate input
180
+ const errors = validateSubmission(submission);
181
+ if (errors.length > 0) {
182
+ throw new Error(`Invalid intent submission: ${errors.join('; ')}`);
183
+ }
184
+ if (!options.tenantId) {
185
+ throw new Error('tenantId is required in SubmitOptions');
186
+ }
187
+ const now = new Date().toISOString();
188
+ const correlationId = submission.correlationId ?? crypto.randomUUID();
189
+ const expiresAt = submission.expiresIn
190
+ ? new Date(Date.now() + submission.expiresIn).toISOString()
191
+ : new Date(Date.now() + this.defaultExpirationMs).toISOString();
192
+ const intent = {
193
+ id: crypto.randomUUID(),
194
+ tenantId: options.tenantId,
195
+ entityId: submission.entityId,
196
+ goal: submission.goal,
197
+ context: submission.context ?? {},
198
+ metadata: submission.metadata ?? {},
199
+ status: 'pending',
200
+ createdAt: now,
201
+ updatedAt: now,
202
+ trustSnapshot: options.trustSnapshot ?? null,
203
+ trustLevel: options.trustLevel ?? null,
204
+ correlationId,
205
+ actionType: submission.actionType ?? null,
206
+ resourceScope: submission.resourceScope ?? null,
207
+ dataSensitivity: submission.dataSensitivity ?? null,
208
+ reversibility: submission.reversibility ?? null,
209
+ expiresAt,
210
+ source: submission.source ?? null,
211
+ };
212
+ const row = intentToRow(intent);
213
+ const { data, error } = await this.table()
214
+ .insert(row)
215
+ .select()
216
+ .single();
217
+ if (error) {
218
+ logger.error({ error: error.message, code: error.code, intentId: intent.id }, 'Failed to insert intent into Supabase');
219
+ throw new Error(`Failed to persist intent: ${error.message}`);
220
+ }
221
+ const persisted = rowToIntent(data);
222
+ logger.info({
223
+ intentId: persisted.id,
224
+ entityId: persisted.entityId,
225
+ tenantId: options.tenantId,
226
+ goal: persisted.goal.slice(0, 100),
227
+ correlationId,
228
+ actionType: persisted.actionType,
229
+ }, 'Intent submitted');
230
+ return persisted;
231
+ }
232
+ // ---------------------------------------------------------------------------
233
+ // IIntentService.get
234
+ // ---------------------------------------------------------------------------
235
+ /**
236
+ * Retrieve an intent by ID with tenant isolation.
237
+ * Returns undefined if not found or if the intent belongs to a different tenant.
238
+ */
239
+ async get(id, tenantId) {
240
+ const { data, error } = await this.table()
241
+ .select('*')
242
+ .eq('id', id)
243
+ .eq('tenant_id', tenantId)
244
+ .maybeSingle();
245
+ if (error) {
246
+ logger.error({ error: error.message, code: error.code, intentId: id }, 'Failed to fetch intent from Supabase');
247
+ throw new Error(`Failed to fetch intent: ${error.message}`);
248
+ }
249
+ if (!data) {
250
+ return undefined;
251
+ }
252
+ const intent = rowToIntent(data);
253
+ // Check expiration: if expired and not yet terminal, auto-cancel
254
+ if (this.isExpired(intent)) {
255
+ await this.expireIntent(intent);
256
+ return undefined;
257
+ }
258
+ return intent;
259
+ }
260
+ // ---------------------------------------------------------------------------
261
+ // IIntentService.updateStatus
262
+ // ---------------------------------------------------------------------------
263
+ /**
264
+ * Update the status of an intent with state machine enforcement.
265
+ * Returns the updated intent, or undefined if not found / wrong tenant.
266
+ * Throws if the requested transition is invalid.
267
+ */
268
+ async updateStatus(id, tenantId, status) {
269
+ // First, fetch the current intent to validate the transition
270
+ const { data: currentData, error: fetchError } = await this.table()
271
+ .select('*')
272
+ .eq('id', id)
273
+ .eq('tenant_id', tenantId)
274
+ .maybeSingle();
275
+ if (fetchError) {
276
+ logger.error({ error: fetchError.message, code: fetchError.code, intentId: id }, 'Failed to fetch intent for status update');
277
+ throw new Error(`Failed to fetch intent for status update: ${fetchError.message}`);
278
+ }
279
+ if (!currentData) {
280
+ return undefined;
281
+ }
282
+ const currentIntent = rowToIntent(currentData);
283
+ // Validate transition against the state machine
284
+ const allowed = VALID_TRANSITIONS[currentIntent.status];
285
+ if (!allowed || !allowed.includes(status)) {
286
+ throw new Error(`Invalid status transition: '${currentIntent.status}' -> '${status}'. ` +
287
+ `Allowed transitions from '${currentIntent.status}': [${allowed?.join(', ') ?? 'none'}]`);
288
+ }
289
+ // Perform the update
290
+ const { data: updatedData, error: updateError } = await this.table()
291
+ .update({ status, updated_at: new Date().toISOString() })
292
+ .eq('id', id)
293
+ .eq('tenant_id', tenantId)
294
+ .select()
295
+ .single();
296
+ if (updateError) {
297
+ logger.error({ error: updateError.message, code: updateError.code, intentId: id }, 'Failed to update intent status in Supabase');
298
+ throw new Error(`Failed to update intent status: ${updateError.message}`);
299
+ }
300
+ const updated = rowToIntent(updatedData);
301
+ logger.info({ intentId: id, from: currentIntent.status, to: status }, 'Intent status updated');
302
+ return updated;
303
+ }
304
+ // ---------------------------------------------------------------------------
305
+ // IIntentService.listByEntity
306
+ // ---------------------------------------------------------------------------
307
+ /**
308
+ * List all intents for a given entity within a tenant.
309
+ * Results are sorted by creation time (newest first).
310
+ * Expired intents are excluded.
311
+ */
312
+ async listByEntity(entityId, tenantId) {
313
+ const { data, error } = await this.table()
314
+ .select('*')
315
+ .eq('entity_id', entityId)
316
+ .eq('tenant_id', tenantId)
317
+ .order('created_at', { ascending: false });
318
+ if (error) {
319
+ logger.error({ error: error.message, code: error.code, entityId, tenantId }, 'Failed to list intents from Supabase');
320
+ throw new Error(`Failed to list intents: ${error.message}`);
321
+ }
322
+ if (!data || data.length === 0) {
323
+ return [];
324
+ }
325
+ const now = Date.now();
326
+ const results = [];
327
+ for (const row of data) {
328
+ const intent = rowToIntent(row);
329
+ if (!this.isExpired(intent, now)) {
330
+ results.push(intent);
331
+ }
332
+ }
333
+ return results;
334
+ }
335
+ // ===========================================================================
336
+ // Private Helpers
337
+ // ===========================================================================
338
+ /**
339
+ * Check if an intent has passed its expiration time.
340
+ */
341
+ isExpired(intent, now) {
342
+ if (!intent.expiresAt)
343
+ return false;
344
+ return new Date(intent.expiresAt).getTime() < (now ?? Date.now());
345
+ }
346
+ /**
347
+ * Mark an expired, non-terminal intent as cancelled in the database.
348
+ */
349
+ async expireIntent(intent) {
350
+ const terminalStatuses = ['completed', 'cancelled', 'denied'];
351
+ if (terminalStatuses.includes(intent.status)) {
352
+ return;
353
+ }
354
+ const { error } = await this.table()
355
+ .update({ status: 'cancelled', updated_at: new Date().toISOString() })
356
+ .eq('id', intent.id)
357
+ .eq('tenant_id', intent.tenantId ?? '');
358
+ if (error) {
359
+ logger.warn({ error: error.message, intentId: intent.id }, 'Failed to auto-cancel expired intent');
360
+ }
361
+ else {
362
+ logger.debug({ intentId: intent.id }, 'Intent expired and auto-cancelled');
363
+ }
364
+ }
365
+ }
366
+ // =============================================================================
367
+ // FACTORY FUNCTION
368
+ // =============================================================================
369
+ /**
370
+ * Create a new SupabaseIntentRepository instance.
371
+ *
372
+ * This factory provides a convenient way to instantiate the repository
373
+ * without directly importing the class, useful for dependency injection
374
+ * and testing.
375
+ *
376
+ * @param config - Repository configuration including the Supabase client
377
+ * @returns A configured SupabaseIntentRepository implementing IIntentService
378
+ *
379
+ * @example
380
+ * ```typescript
381
+ * import { createClient } from '@supabase/supabase-js';
382
+ * import { createSupabaseIntentRepository } from '@vorionsys/atsf-core/intent/supabase-intent-repository';
383
+ *
384
+ * const supabase = createClient(
385
+ * process.env.SUPABASE_URL!,
386
+ * process.env.SUPABASE_SERVICE_KEY!
387
+ * );
388
+ *
389
+ * const intentService = createSupabaseIntentRepository({
390
+ * client: supabase,
391
+ * tableName: 'intents', // default
392
+ * schema: 'public', // default
393
+ * defaultExpirationMs: 3600000, // 1 hour default
394
+ * });
395
+ *
396
+ * // Wire it into the service locator
397
+ * import { setIntentService } from '@vorionsys/atsf-core';
398
+ * setIntentService(intentService);
399
+ * ```
400
+ */
401
+ export function createSupabaseIntentRepository(config) {
402
+ return new SupabaseIntentRepository(config);
403
+ }
404
+ //# sourceMappingURL=supabase-intent-repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supabase-intent-repository.js","sourceRoot":"","sources":["../../src/intent/supabase-intent-repository.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@
5
5
  *
6
6
  * @packageDocumentation
7
7
  */
8
- import type { TrustEngine } from "../trust-engine/index.js";
9
- import type { TrustAwareAgentConfig } from "./types.js";
8
+ import type { TrustEngine } from '../trust-engine/index.js';
9
+ import type { TrustAwareAgentConfig } from './types.js';
10
10
  /**
11
11
  * LangChain callback handler interface (compatible with @langchain/core)
12
12
  *
@@ -1 +1 @@
1
- {"version":3,"file":"callback.d.ts","sourceRoot":"","sources":["../../src/langchain/callback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"callback.d.ts","sourceRoot":"","sources":["../../src/langchain/callback.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@
5
5
  *
6
6
  * @packageDocumentation
7
7
  */
8
- import { createLogger } from "../common/logger.js";
9
- const logger = createLogger({ component: "langchain-callback" });
8
+ import { createLogger } from '../common/logger.js';
9
+ const logger = createLogger({ component: 'langchain-callback' });
10
10
  /**
11
11
  * Default signal weights
12
12
  */
@@ -63,7 +63,7 @@ export class TrustCallbackHandler {
63
63
  const existing = await this.trustEngine.getScore(this.config.agentId);
64
64
  if (!existing) {
65
65
  await this.trustEngine.initializeEntity(this.config.agentId, this.config.initialTrustLevel);
66
- logger.info({ agentId: this.config.agentId }, "Initialized trust for agent");
66
+ logger.info({ agentId: this.config.agentId }, 'Initialized trust for agent');
67
67
  }
68
68
  }
69
69
  /**
@@ -74,30 +74,30 @@ export class TrustCallbackHandler {
74
74
  let value;
75
75
  let signalType;
76
76
  switch (source.event) {
77
- case "tool_end":
77
+ case 'tool_end':
78
78
  value = weights.toolSuccess ?? DEFAULT_WEIGHTS.toolSuccess;
79
- signalType = `behavioral.tool_success.${source.toolName ?? "unknown"}`;
79
+ signalType = `behavioral.tool_success.${source.toolName ?? 'unknown'}`;
80
80
  break;
81
- case "tool_error":
81
+ case 'tool_error':
82
82
  value = weights.toolFailure ?? DEFAULT_WEIGHTS.toolFailure;
83
- signalType = `behavioral.tool_failure.${source.toolName ?? "unknown"}`;
83
+ signalType = `behavioral.tool_failure.${source.toolName ?? 'unknown'}`;
84
84
  break;
85
- case "llm_end":
85
+ case 'llm_end':
86
86
  value = weights.llmSuccess ?? DEFAULT_WEIGHTS.llmSuccess;
87
- signalType = `behavioral.llm_success.${source.modelName ?? "unknown"}`;
87
+ signalType = `behavioral.llm_success.${source.modelName ?? 'unknown'}`;
88
88
  break;
89
- case "llm_error":
89
+ case 'llm_error':
90
90
  value = weights.llmFailure ?? DEFAULT_WEIGHTS.llmFailure;
91
- signalType = `behavioral.llm_failure.${source.modelName ?? "unknown"}`;
91
+ signalType = `behavioral.llm_failure.${source.modelName ?? 'unknown'}`;
92
92
  break;
93
- case "chain_end":
94
- case "agent_finish":
93
+ case 'chain_end':
94
+ case 'agent_finish':
95
95
  value = weights.chainSuccess ?? DEFAULT_WEIGHTS.chainSuccess;
96
- signalType = `behavioral.chain_success.${source.chainType ?? "agent"}`;
96
+ signalType = `behavioral.chain_success.${source.chainType ?? 'agent'}`;
97
97
  break;
98
- case "chain_error":
98
+ case 'chain_error':
99
99
  value = weights.chainFailure ?? DEFAULT_WEIGHTS.chainFailure;
100
- signalType = `behavioral.chain_failure.${source.chainType ?? "agent"}`;
100
+ signalType = `behavioral.chain_failure.${source.chainType ?? 'agent'}`;
101
101
  break;
102
102
  default:
103
103
  return; // Don't record start events as signals
@@ -107,7 +107,7 @@ export class TrustCallbackHandler {
107
107
  entityId: this.config.agentId,
108
108
  type: signalType,
109
109
  value,
110
- source: "langchain",
110
+ source: 'langchain',
111
111
  timestamp: new Date().toISOString(),
112
112
  metadata: {
113
113
  event: source.event,
@@ -121,7 +121,7 @@ export class TrustCallbackHandler {
121
121
  };
122
122
  await this.trustEngine.recordSignal(signal);
123
123
  this.signalCount++;
124
- logger.debug({ signal }, "Recorded trust signal from LangChain");
124
+ logger.debug({ signal }, 'Recorded trust signal from LangChain');
125
125
  }
126
126
  /**
127
127
  * Start tracking execution time
@@ -147,7 +147,7 @@ export class TrustCallbackHandler {
147
147
  if (!this.config.recordToolUsage)
148
148
  return;
149
149
  this.startTimer(runId);
150
- logger.debug({ toolName: tool.name, runId }, "Tool started");
150
+ logger.debug({ toolName: tool.name, runId }, 'Tool started');
151
151
  }
152
152
  /**
153
153
  * Called when a tool ends successfully
@@ -157,7 +157,7 @@ export class TrustCallbackHandler {
157
157
  return;
158
158
  const duration = this.endTimer(runId);
159
159
  await this.recordSignal({
160
- event: "tool_end",
160
+ event: 'tool_end',
161
161
  duration,
162
162
  });
163
163
  }
@@ -169,7 +169,7 @@ export class TrustCallbackHandler {
169
169
  return;
170
170
  const duration = this.endTimer(runId);
171
171
  await this.recordSignal({
172
- event: "tool_error",
172
+ event: 'tool_error',
173
173
  duration,
174
174
  error,
175
175
  });
@@ -181,7 +181,7 @@ export class TrustCallbackHandler {
181
181
  if (!this.config.recordLlmCalls)
182
182
  return;
183
183
  this.startTimer(runId);
184
- logger.debug({ modelName: llm.name, runId }, "LLM started");
184
+ logger.debug({ modelName: llm.name, runId }, 'LLM started');
185
185
  }
186
186
  /**
187
187
  * Called when an LLM ends successfully
@@ -191,7 +191,7 @@ export class TrustCallbackHandler {
191
191
  return;
192
192
  const duration = this.endTimer(runId);
193
193
  await this.recordSignal({
194
- event: "llm_end",
194
+ event: 'llm_end',
195
195
  duration,
196
196
  tokenCount: output.llmOutput?.tokenUsage?.totalTokens,
197
197
  });
@@ -204,7 +204,7 @@ export class TrustCallbackHandler {
204
204
  return;
205
205
  const duration = this.endTimer(runId);
206
206
  await this.recordSignal({
207
- event: "llm_error",
207
+ event: 'llm_error',
208
208
  duration,
209
209
  error,
210
210
  });
@@ -214,7 +214,7 @@ export class TrustCallbackHandler {
214
214
  */
215
215
  async handleChainStart(chain, _inputs, runId) {
216
216
  this.startTimer(runId);
217
- logger.debug({ chainType: chain.name, runId }, "Chain started");
217
+ logger.debug({ chainType: chain.name, runId }, 'Chain started');
218
218
  }
219
219
  /**
220
220
  * Called when a chain ends successfully
@@ -222,7 +222,7 @@ export class TrustCallbackHandler {
222
222
  async handleChainEnd(_outputs, runId) {
223
223
  const duration = this.endTimer(runId);
224
224
  await this.recordSignal({
225
- event: "chain_end",
225
+ event: 'chain_end',
226
226
  duration,
227
227
  });
228
228
  }
@@ -234,7 +234,7 @@ export class TrustCallbackHandler {
234
234
  return;
235
235
  const duration = this.endTimer(runId);
236
236
  await this.recordSignal({
237
- event: "chain_error",
237
+ event: 'chain_error',
238
238
  duration,
239
239
  error,
240
240
  });
@@ -243,15 +243,15 @@ export class TrustCallbackHandler {
243
243
  * Called when an agent takes an action
244
244
  */
245
245
  async handleAgentAction(action, runId) {
246
- logger.debug({ tool: action.tool, runId }, "Agent action");
246
+ logger.debug({ tool: action.tool, runId }, 'Agent action');
247
247
  }
248
248
  /**
249
249
  * Called when an agent finishes
250
250
  */
251
251
  async handleAgentEnd(_finish, _runId) {
252
252
  await this.recordSignal({
253
- event: "agent_finish",
254
- chainType: "agent",
253
+ event: 'agent_finish',
254
+ chainType: 'agent',
255
255
  });
256
256
  }
257
257
  }
@@ -1 +1 @@
1
- {"version":3,"file":"callback.js","sourceRoot":"","sources":["../../src/langchain/callback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"callback.js","sourceRoot":"","sources":["../../src/langchain/callback.ts"],"names":[],"mappings":"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"}