@cogenta/agents 0.1.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 (293) hide show
  1. package/dist/agents/define.d.ts +9 -0
  2. package/dist/agents/define.d.ts.map +1 -0
  3. package/dist/agents/define.js +25 -0
  4. package/dist/agents/define.js.map +1 -0
  5. package/dist/agents/registry.d.ts +29 -0
  6. package/dist/agents/registry.d.ts.map +1 -0
  7. package/dist/agents/registry.js +50 -0
  8. package/dist/agents/registry.js.map +1 -0
  9. package/dist/agents/types.d.ts +36 -0
  10. package/dist/agents/types.d.ts.map +1 -0
  11. package/dist/agents/types.js +2 -0
  12. package/dist/agents/types.js.map +1 -0
  13. package/dist/audit/types.d.ts +23 -0
  14. package/dist/audit/types.d.ts.map +1 -0
  15. package/dist/audit/types.js +2 -0
  16. package/dist/audit/types.js.map +1 -0
  17. package/dist/audit/with-audit.d.ts +34 -0
  18. package/dist/audit/with-audit.d.ts.map +1 -0
  19. package/dist/audit/with-audit.js +65 -0
  20. package/dist/audit/with-audit.js.map +1 -0
  21. package/dist/autonomy/approval-queue.d.ts +13 -0
  22. package/dist/autonomy/approval-queue.d.ts.map +1 -0
  23. package/dist/autonomy/approval-queue.js +56 -0
  24. package/dist/autonomy/approval-queue.js.map +1 -0
  25. package/dist/autonomy/types.d.ts +36 -0
  26. package/dist/autonomy/types.d.ts.map +1 -0
  27. package/dist/autonomy/types.js +2 -0
  28. package/dist/autonomy/types.js.map +1 -0
  29. package/dist/autonomy/with-autonomy.d.ts +25 -0
  30. package/dist/autonomy/with-autonomy.d.ts.map +1 -0
  31. package/dist/autonomy/with-autonomy.js +77 -0
  32. package/dist/autonomy/with-autonomy.js.map +1 -0
  33. package/dist/budget/kill-switch.d.ts +14 -0
  34. package/dist/budget/kill-switch.d.ts.map +1 -0
  35. package/dist/budget/kill-switch.js +20 -0
  36. package/dist/budget/kill-switch.js.map +1 -0
  37. package/dist/budget/tracker.d.ts +15 -0
  38. package/dist/budget/tracker.d.ts.map +1 -0
  39. package/dist/budget/tracker.js +68 -0
  40. package/dist/budget/tracker.js.map +1 -0
  41. package/dist/budget/types.d.ts +35 -0
  42. package/dist/budget/types.d.ts.map +1 -0
  43. package/dist/budget/types.js +2 -0
  44. package/dist/budget/types.js.map +1 -0
  45. package/dist/eval/assert-threshold.d.ts +15 -0
  46. package/dist/eval/assert-threshold.d.ts.map +1 -0
  47. package/dist/eval/assert-threshold.js +27 -0
  48. package/dist/eval/assert-threshold.js.map +1 -0
  49. package/dist/eval/compare-prompt-versions.d.ts +17 -0
  50. package/dist/eval/compare-prompt-versions.d.ts.map +1 -0
  51. package/dist/eval/compare-prompt-versions.js +20 -0
  52. package/dist/eval/compare-prompt-versions.js.map +1 -0
  53. package/dist/eval/run-suite.d.ts +4 -0
  54. package/dist/eval/run-suite.d.ts.map +1 -0
  55. package/dist/eval/run-suite.js +18 -0
  56. package/dist/eval/run-suite.js.map +1 -0
  57. package/dist/eval/scorers.d.ts +13 -0
  58. package/dist/eval/scorers.d.ts.map +1 -0
  59. package/dist/eval/scorers.js +33 -0
  60. package/dist/eval/scorers.js.map +1 -0
  61. package/dist/eval/types.d.ts +27 -0
  62. package/dist/eval/types.d.ts.map +1 -0
  63. package/dist/eval/types.js +2 -0
  64. package/dist/eval/types.js.map +1 -0
  65. package/dist/identity/constitution.d.ts +17 -0
  66. package/dist/identity/constitution.d.ts.map +1 -0
  67. package/dist/identity/constitution.js +33 -0
  68. package/dist/identity/constitution.js.map +1 -0
  69. package/dist/identity/context.d.ts +49 -0
  70. package/dist/identity/context.d.ts.map +1 -0
  71. package/dist/identity/context.js +67 -0
  72. package/dist/identity/context.js.map +1 -0
  73. package/dist/index.d.ts +99 -0
  74. package/dist/index.d.ts.map +1 -0
  75. package/dist/index.js +55 -0
  76. package/dist/index.js.map +1 -0
  77. package/dist/memory/file-store.d.ts +6 -0
  78. package/dist/memory/file-store.d.ts.map +1 -0
  79. package/dist/memory/file-store.js +94 -0
  80. package/dist/memory/file-store.js.map +1 -0
  81. package/dist/memory/from-approval.d.ts +20 -0
  82. package/dist/memory/from-approval.d.ts.map +1 -0
  83. package/dist/memory/from-approval.js +38 -0
  84. package/dist/memory/from-approval.js.map +1 -0
  85. package/dist/memory/memory-store.d.ts +4 -0
  86. package/dist/memory/memory-store.d.ts.map +1 -0
  87. package/dist/memory/memory-store.js +55 -0
  88. package/dist/memory/memory-store.js.map +1 -0
  89. package/dist/memory/types.d.ts +67 -0
  90. package/dist/memory/types.d.ts.map +1 -0
  91. package/dist/memory/types.js +2 -0
  92. package/dist/memory/types.js.map +1 -0
  93. package/dist/privacy/assert-provider-allowed.d.ts +10 -0
  94. package/dist/privacy/assert-provider-allowed.d.ts.map +1 -0
  95. package/dist/privacy/assert-provider-allowed.js +20 -0
  96. package/dist/privacy/assert-provider-allowed.js.map +1 -0
  97. package/dist/privacy/redact-fields.d.ts +11 -0
  98. package/dist/privacy/redact-fields.d.ts.map +1 -0
  99. package/dist/privacy/redact-fields.js +26 -0
  100. package/dist/privacy/redact-fields.js.map +1 -0
  101. package/dist/privacy/redact-text.d.ts +4 -0
  102. package/dist/privacy/redact-text.d.ts.map +1 -0
  103. package/dist/privacy/redact-text.js +26 -0
  104. package/dist/privacy/redact-text.js.map +1 -0
  105. package/dist/privacy/types.d.ts +23 -0
  106. package/dist/privacy/types.d.ts.map +1 -0
  107. package/dist/privacy/types.js +2 -0
  108. package/dist/privacy/types.js.map +1 -0
  109. package/dist/providers/anthropic.d.ts +57 -0
  110. package/dist/providers/anthropic.d.ts.map +1 -0
  111. package/dist/providers/anthropic.js +130 -0
  112. package/dist/providers/anthropic.js.map +1 -0
  113. package/dist/providers/google.d.ts +63 -0
  114. package/dist/providers/google.d.ts.map +1 -0
  115. package/dist/providers/google.js +144 -0
  116. package/dist/providers/google.js.map +1 -0
  117. package/dist/providers/openai.d.ts +56 -0
  118. package/dist/providers/openai.d.ts.map +1 -0
  119. package/dist/providers/openai.js +143 -0
  120. package/dist/providers/openai.js.map +1 -0
  121. package/dist/providers/registry.d.ts +31 -0
  122. package/dist/providers/registry.d.ts.map +1 -0
  123. package/dist/providers/registry.js +35 -0
  124. package/dist/providers/registry.js.map +1 -0
  125. package/dist/providers/types.d.ts +63 -0
  126. package/dist/providers/types.d.ts.map +1 -0
  127. package/dist/providers/types.js +10 -0
  128. package/dist/providers/types.js.map +1 -0
  129. package/dist/rag/chunking/chunk-document.d.ts +13 -0
  130. package/dist/rag/chunking/chunk-document.d.ts.map +1 -0
  131. package/dist/rag/chunking/chunk-document.js +51 -0
  132. package/dist/rag/chunking/chunk-document.js.map +1 -0
  133. package/dist/rag/chunking/incremental.d.ts +19 -0
  134. package/dist/rag/chunking/incremental.d.ts.map +1 -0
  135. package/dist/rag/chunking/incremental.js +24 -0
  136. package/dist/rag/chunking/incremental.js.map +1 -0
  137. package/dist/rag/chunking/types.d.ts +34 -0
  138. package/dist/rag/chunking/types.d.ts.map +1 -0
  139. package/dist/rag/chunking/types.js +2 -0
  140. package/dist/rag/chunking/types.js.map +1 -0
  141. package/dist/rag/embeddings/hashing-provider.d.ts +22 -0
  142. package/dist/rag/embeddings/hashing-provider.d.ts.map +1 -0
  143. package/dist/rag/embeddings/hashing-provider.js +53 -0
  144. package/dist/rag/embeddings/hashing-provider.js.map +1 -0
  145. package/dist/rag/embeddings/types.d.ts +16 -0
  146. package/dist/rag/embeddings/types.d.ts.map +1 -0
  147. package/dist/rag/embeddings/types.js +2 -0
  148. package/dist/rag/embeddings/types.js.map +1 -0
  149. package/dist/rag/index/bm25.d.ts +4 -0
  150. package/dist/rag/index/bm25.d.ts.map +1 -0
  151. package/dist/rag/index/bm25.js +38 -0
  152. package/dist/rag/index/bm25.js.map +1 -0
  153. package/dist/rag/index/memory-index.d.ts +12 -0
  154. package/dist/rag/index/memory-index.d.ts.map +1 -0
  155. package/dist/rag/index/memory-index.js +44 -0
  156. package/dist/rag/index/memory-index.js.map +1 -0
  157. package/dist/rag/index/rrf.d.ts +9 -0
  158. package/dist/rag/index/rrf.d.ts.map +1 -0
  159. package/dist/rag/index/rrf.js +20 -0
  160. package/dist/rag/index/rrf.js.map +1 -0
  161. package/dist/rag/index/types.d.ts +48 -0
  162. package/dist/rag/index/types.d.ts.map +1 -0
  163. package/dist/rag/index/types.js +2 -0
  164. package/dist/rag/index/types.js.map +1 -0
  165. package/dist/rag/index/vector-rank.d.ts +4 -0
  166. package/dist/rag/index/vector-rank.d.ts.map +1 -0
  167. package/dist/rag/index/vector-rank.js +27 -0
  168. package/dist/rag/index/vector-rank.js.map +1 -0
  169. package/dist/reversibility/diff.d.ts +17 -0
  170. package/dist/reversibility/diff.d.ts.map +1 -0
  171. package/dist/reversibility/diff.js +39 -0
  172. package/dist/reversibility/diff.js.map +1 -0
  173. package/dist/reversibility/receipt-store.d.ts +9 -0
  174. package/dist/reversibility/receipt-store.d.ts.map +1 -0
  175. package/dist/reversibility/receipt-store.js +34 -0
  176. package/dist/reversibility/receipt-store.js.map +1 -0
  177. package/dist/reversibility/revert.d.ts +18 -0
  178. package/dist/reversibility/revert.d.ts.map +1 -0
  179. package/dist/reversibility/revert.js +38 -0
  180. package/dist/reversibility/revert.js.map +1 -0
  181. package/dist/reversibility/types.d.ts +25 -0
  182. package/dist/reversibility/types.d.ts.map +1 -0
  183. package/dist/reversibility/types.js +2 -0
  184. package/dist/reversibility/types.js.map +1 -0
  185. package/dist/reversibility/with-receipts.d.ts +19 -0
  186. package/dist/reversibility/with-receipts.d.ts.map +1 -0
  187. package/dist/reversibility/with-receipts.js +35 -0
  188. package/dist/reversibility/with-receipts.js.map +1 -0
  189. package/dist/runtime/loop.d.ts +11 -0
  190. package/dist/runtime/loop.d.ts.map +1 -0
  191. package/dist/runtime/loop.js +116 -0
  192. package/dist/runtime/loop.js.map +1 -0
  193. package/dist/runtime/repetition.d.ts +16 -0
  194. package/dist/runtime/repetition.d.ts.map +1 -0
  195. package/dist/runtime/repetition.js +38 -0
  196. package/dist/runtime/repetition.js.map +1 -0
  197. package/dist/runtime/retry.d.ts +22 -0
  198. package/dist/runtime/retry.d.ts.map +1 -0
  199. package/dist/runtime/retry.js +69 -0
  200. package/dist/runtime/retry.js.map +1 -0
  201. package/dist/runtime/types.d.ts +78 -0
  202. package/dist/runtime/types.d.ts.map +1 -0
  203. package/dist/runtime/types.js +2 -0
  204. package/dist/runtime/types.js.map +1 -0
  205. package/dist/sandbox/types.d.ts +20 -0
  206. package/dist/sandbox/types.d.ts.map +1 -0
  207. package/dist/sandbox/types.js +2 -0
  208. package/dist/sandbox/types.js.map +1 -0
  209. package/dist/sandbox/with-sandbox.d.ts +26 -0
  210. package/dist/sandbox/with-sandbox.d.ts.map +1 -0
  211. package/dist/sandbox/with-sandbox.js +41 -0
  212. package/dist/sandbox/with-sandbox.js.map +1 -0
  213. package/dist/skills/file-store.d.ts +13 -0
  214. package/dist/skills/file-store.d.ts.map +1 -0
  215. package/dist/skills/file-store.js +73 -0
  216. package/dist/skills/file-store.js.map +1 -0
  217. package/dist/skills/frontmatter.d.ts +11 -0
  218. package/dist/skills/frontmatter.d.ts.map +1 -0
  219. package/dist/skills/frontmatter.js +46 -0
  220. package/dist/skills/frontmatter.js.map +1 -0
  221. package/dist/skills/types.d.ts +19 -0
  222. package/dist/skills/types.d.ts.map +1 -0
  223. package/dist/skills/types.js +2 -0
  224. package/dist/skills/types.js.map +1 -0
  225. package/dist/skin/generate.d.ts +22 -0
  226. package/dist/skin/generate.d.ts.map +1 -0
  227. package/dist/skin/generate.js +144 -0
  228. package/dist/skin/generate.js.map +1 -0
  229. package/dist/subagents/run-subagent.d.ts +10 -0
  230. package/dist/subagents/run-subagent.d.ts.map +1 -0
  231. package/dist/subagents/run-subagent.js +24 -0
  232. package/dist/subagents/run-subagent.js.map +1 -0
  233. package/dist/subagents/types.d.ts +13 -0
  234. package/dist/subagents/types.d.ts.map +1 -0
  235. package/dist/subagents/types.js +2 -0
  236. package/dist/subagents/types.js.map +1 -0
  237. package/dist/subagents/validate.d.ts +8 -0
  238. package/dist/subagents/validate.d.ts.map +1 -0
  239. package/dist/subagents/validate.js +32 -0
  240. package/dist/subagents/validate.js.map +1 -0
  241. package/dist/tools/core/agent-delegate.d.ts +34 -0
  242. package/dist/tools/core/agent-delegate.d.ts.map +1 -0
  243. package/dist/tools/core/agent-delegate.js +41 -0
  244. package/dist/tools/core/agent-delegate.js.map +1 -0
  245. package/dist/tools/core/content.d.ts +81 -0
  246. package/dist/tools/core/content.d.ts.map +1 -0
  247. package/dist/tools/core/content.js +121 -0
  248. package/dist/tools/core/content.js.map +1 -0
  249. package/dist/tools/core/http-fetch.d.ts +33 -0
  250. package/dist/tools/core/http-fetch.d.ts.map +1 -0
  251. package/dist/tools/core/http-fetch.js +63 -0
  252. package/dist/tools/core/http-fetch.js.map +1 -0
  253. package/dist/tools/core/media.d.ts +38 -0
  254. package/dist/tools/core/media.d.ts.map +1 -0
  255. package/dist/tools/core/media.js +93 -0
  256. package/dist/tools/core/media.js.map +1 -0
  257. package/dist/tools/core/site-config.d.ts +19 -0
  258. package/dist/tools/core/site-config.d.ts.map +1 -0
  259. package/dist/tools/core/site-config.js +37 -0
  260. package/dist/tools/core/site-config.js.map +1 -0
  261. package/dist/tools/define.d.ts +12 -0
  262. package/dist/tools/define.d.ts.map +1 -0
  263. package/dist/tools/define.js +28 -0
  264. package/dist/tools/define.js.map +1 -0
  265. package/dist/tools/manifest.d.ts +19 -0
  266. package/dist/tools/manifest.d.ts.map +1 -0
  267. package/dist/tools/manifest.js +70 -0
  268. package/dist/tools/manifest.js.map +1 -0
  269. package/dist/tools/registry.d.ts +8 -0
  270. package/dist/tools/registry.d.ts.map +1 -0
  271. package/dist/tools/registry.js +20 -0
  272. package/dist/tools/registry.js.map +1 -0
  273. package/dist/tools/types.d.ts +51 -0
  274. package/dist/tools/types.d.ts.map +1 -0
  275. package/dist/tools/types.js +2 -0
  276. package/dist/tools/types.js.map +1 -0
  277. package/dist/trace/capture.d.ts +19 -0
  278. package/dist/trace/capture.d.ts.map +1 -0
  279. package/dist/trace/capture.js +31 -0
  280. package/dist/trace/capture.js.map +1 -0
  281. package/dist/trace/file-store.d.ts +12 -0
  282. package/dist/trace/file-store.d.ts.map +1 -0
  283. package/dist/trace/file-store.js +78 -0
  284. package/dist/trace/file-store.js.map +1 -0
  285. package/dist/trace/memory-store.d.ts +9 -0
  286. package/dist/trace/memory-store.d.ts.map +1 -0
  287. package/dist/trace/memory-store.js +36 -0
  288. package/dist/trace/memory-store.js.map +1 -0
  289. package/dist/trace/types.d.ts +37 -0
  290. package/dist/trace/types.d.ts.map +1 -0
  291. package/dist/trace/types.js +2 -0
  292. package/dist/trace/types.js.map +1 -0
  293. package/package.json +44 -0
@@ -0,0 +1,99 @@
1
+ export { defineAgent } from './agents/define.js';
2
+ export type { AgentRegistry } from './agents/registry.js';
3
+ export { createAgentRegistry } from './agents/registry.js';
4
+ export type { AgentDeclaration, AgentMemoryConfig, AgentModelPreference, AgentTrigger, } from './agents/types.js';
5
+ export type { AuditLogLike, AuditRecordInput } from './audit/types.js';
6
+ export type { WithAuditOptions } from './audit/with-audit.js';
7
+ export { withAudit, withAuditForManifest } from './audit/with-audit.js';
8
+ export type { MemoryApprovalQueueOptions } from './autonomy/approval-queue.js';
9
+ export { createMemoryApprovalQueue } from './autonomy/approval-queue.js';
10
+ export type { ApprovalQueue, ApprovalRequest, ApprovalRequestInput, ApprovalStatus, AutonomyConfig, AutonomyLevel, } from './autonomy/types.js';
11
+ export type { WithAutonomyOptions } from './autonomy/with-autonomy.js';
12
+ export { withAutonomy, withAutonomyForManifest } from './autonomy/with-autonomy.js';
13
+ export type { MutableKillSwitch } from './budget/kill-switch.js';
14
+ export { createKillSwitch } from './budget/kill-switch.js';
15
+ export type { BudgetTrackerOptions } from './budget/tracker.js';
16
+ export { createBudgetTracker } from './budget/tracker.js';
17
+ export type { BudgetCheck, BudgetExceededReason, BudgetLimits, BudgetTracker, BudgetUsage, KillSwitch, } from './budget/types.js';
18
+ export type { EvalThresholdOptions } from './eval/assert-threshold.js';
19
+ export { assertEvalThreshold } from './eval/assert-threshold.js';
20
+ export type { PromptComparisonResult, PromptVersion } from './eval/compare-prompt-versions.js';
21
+ export { comparePromptVersions } from './eval/compare-prompt-versions.js';
22
+ export { runEvalSuite } from './eval/run-suite.js';
23
+ export { scoreFinalTextIncludes, scoreStopReason, scoreToolSequence } from './eval/scorers.js';
24
+ export type { EvalCase, EvalCaseResult, EvalReport } from './eval/types.js';
25
+ export { CONSTITUTION_TEXT } from './identity/constitution.js';
26
+ export type { AgentIdentity, AssembleContextInput, AssembledContext, DataItem, SiteContext, TaskContext, } from './identity/context.js';
27
+ export { assembleContext } from './identity/context.js';
28
+ export { createFileMemoryStore } from './memory/file-store.js';
29
+ export type { ApprovalToMemoryOptions } from './memory/from-approval.js';
30
+ export { approvalToMemoryRecord } from './memory/from-approval.js';
31
+ export { createMemoryStore } from './memory/memory-store.js';
32
+ export type { MemoryConsolidateQuery, MemoryPruneQuery, MemoryQuery, MemoryRecord, MemoryStore, MemoryType, } from './memory/types.js';
33
+ export { assertProviderAllowed } from './privacy/assert-provider-allowed.js';
34
+ export { redactFields } from './privacy/redact-fields.js';
35
+ export { redactText } from './privacy/redact-text.js';
36
+ export type { NoDataLeavesPolicy, PiiKind, PiiMatch, RedactionResult } from './privacy/types.js';
37
+ export type { AnthropicClientConfig, AnthropicRequestBody } from './providers/anthropic.js';
38
+ export { buildAnthropicRequest, createAnthropicClient, parseAnthropicResponse, } from './providers/anthropic.js';
39
+ export type { GoogleClientConfig, GoogleRequestBody } from './providers/google.js';
40
+ export { buildGoogleRequest, createGoogleClient, parseGoogleResponse } from './providers/google.js';
41
+ export type { OpenAiClientConfig, OpenAiRequestBody } from './providers/openai.js';
42
+ export { buildOpenAiRequest, createOpenAiClient, parseOpenAiResponse } from './providers/openai.js';
43
+ export type { ProviderName, ProviderRegistryConfig } from './providers/registry.js';
44
+ export { createProviderRegistry, PROVIDER_NAMES } from './providers/registry.js';
45
+ export type { ChatMessage, ChatOptions, ChatRequest, ChatResponse, ChatRole, ProviderClient, ProviderToolCall, ProviderToolSpec, StopReason, TokenUsage, } from './providers/types.js';
46
+ export { chunkDocument } from './rag/chunking/chunk-document.js';
47
+ export type { IngestionPlan } from './rag/chunking/incremental.js';
48
+ export { planIncrementalIngestion } from './rag/chunking/incremental.js';
49
+ export type { Chunk, ChunkableBlock, ChunkableDocument } from './rag/chunking/types.js';
50
+ export { createHashingEmbeddingProvider } from './rag/embeddings/hashing-provider.js';
51
+ export type { EmbeddingModelInfo, EmbeddingProvider } from './rag/embeddings/types.js';
52
+ export { bm25Rank } from './rag/index/bm25.js';
53
+ export { createMemoryRagIndex } from './rag/index/memory-index.js';
54
+ export { reciprocalRankFusion } from './rag/index/rrf.js';
55
+ export type { HybridSearchOptions, HybridSearchQuery, HybridSearchResult, IndexedChunk, RagIndex, RankedId, } from './rag/index/types.js';
56
+ export { vectorRank } from './rag/index/vector-rank.js';
57
+ export type { DiffChangeKind, DiffEntry } from './reversibility/diff.js';
58
+ export { diffValues } from './reversibility/diff.js';
59
+ export { createMemoryReceiptStore } from './reversibility/receipt-store.js';
60
+ export type { RevertReceiptOptions } from './reversibility/revert.js';
61
+ export { revertReceipt } from './reversibility/revert.js';
62
+ export type { Receipt, ReceiptQuery, ReceiptStore } from './reversibility/types.js';
63
+ export type { WithReceiptsOptions } from './reversibility/with-receipts.js';
64
+ export { withReceipts, withReceiptsForManifest } from './reversibility/with-receipts.js';
65
+ export { runAgentLoop } from './runtime/loop.js';
66
+ export { RepetitionGuard } from './runtime/repetition.js';
67
+ export { retryModelCall, withTimeout } from './runtime/retry.js';
68
+ export type { ExecutableTool, RunAgentLoopInput, RunResult, RunStopReason, StepRecord, ToolCallOutcome, ToolExecutionContext, } from './runtime/types.js';
69
+ export type { SandboxCallResult } from './sandbox/types.js';
70
+ export type { WithSandboxOptions } from './sandbox/with-sandbox.js';
71
+ export { withSandbox, withSandboxForManifest } from './sandbox/with-sandbox.js';
72
+ export { createFileSkillStore } from './skills/file-store.js';
73
+ export { parseSkillFile } from './skills/frontmatter.js';
74
+ export type { Skill, SkillMetadata, SkillStore } from './skills/types.js';
75
+ export type { GenerateSkinOptions, GenerateSkinResult } from './skin/generate.js';
76
+ export { generateSkin } from './skin/generate.js';
77
+ export { runSubagent } from './subagents/run-subagent.js';
78
+ export type { AgentToolsDeclaration } from './subagents/types.js';
79
+ export { validateSubagentTools } from './subagents/validate.js';
80
+ export type { AgentDelegateInput, AgentDelegateOutput, AgentDelegateToolOptions, } from './tools/core/agent-delegate.js';
81
+ export { createAgentDelegateTool } from './tools/core/agent-delegate.js';
82
+ export type { ContentAccessContext, ContentReadOptions, ContentServiceLike, } from './tools/core/content.js';
83
+ export { createContentDeleteTool, createContentPublishTool, createContentReadTool, createContentWriteDraftTool, } from './tools/core/content.js';
84
+ export type { HttpFetchInput, HttpFetchOutput, HttpFetchToolOptions, } from './tools/core/http-fetch.js';
85
+ export { createHttpFetchTool } from './tools/core/http-fetch.js';
86
+ export { createMediaReadTool, createMediaWriteTool } from './tools/core/media.js';
87
+ export type { SiteConfig } from './tools/core/site-config.js';
88
+ export { createSiteConfigReadTool } from './tools/core/site-config.js';
89
+ export { defineTool } from './tools/define.js';
90
+ export { buildManifest } from './tools/manifest.js';
91
+ export type { ToolRegistry } from './tools/registry.js';
92
+ export { createToolRegistry } from './tools/registry.js';
93
+ export type { ToolContext, ToolCost, ToolDefinition, ToolLogger } from './tools/types.js';
94
+ export type { CaptureTraceOptions } from './trace/capture.js';
95
+ export { captureTrace } from './trace/capture.js';
96
+ export { createFileTraceStore } from './trace/file-store.js';
97
+ export { createMemoryTraceStore } from './trace/memory-store.js';
98
+ export type { Trace, TraceQuery, TraceStore } from './trace/types.js';
99
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,55 @@
1
+ export { defineAgent } from './agents/define.js';
2
+ export { createAgentRegistry } from './agents/registry.js';
3
+ export { withAudit, withAuditForManifest } from './audit/with-audit.js';
4
+ export { createMemoryApprovalQueue } from './autonomy/approval-queue.js';
5
+ export { withAutonomy, withAutonomyForManifest } from './autonomy/with-autonomy.js';
6
+ export { createKillSwitch } from './budget/kill-switch.js';
7
+ export { createBudgetTracker } from './budget/tracker.js';
8
+ export { assertEvalThreshold } from './eval/assert-threshold.js';
9
+ export { comparePromptVersions } from './eval/compare-prompt-versions.js';
10
+ export { runEvalSuite } from './eval/run-suite.js';
11
+ export { scoreFinalTextIncludes, scoreStopReason, scoreToolSequence } from './eval/scorers.js';
12
+ export { CONSTITUTION_TEXT } from './identity/constitution.js';
13
+ export { assembleContext } from './identity/context.js';
14
+ export { createFileMemoryStore } from './memory/file-store.js';
15
+ export { approvalToMemoryRecord } from './memory/from-approval.js';
16
+ export { createMemoryStore } from './memory/memory-store.js';
17
+ export { assertProviderAllowed } from './privacy/assert-provider-allowed.js';
18
+ export { redactFields } from './privacy/redact-fields.js';
19
+ export { redactText } from './privacy/redact-text.js';
20
+ export { buildAnthropicRequest, createAnthropicClient, parseAnthropicResponse, } from './providers/anthropic.js';
21
+ export { buildGoogleRequest, createGoogleClient, parseGoogleResponse } from './providers/google.js';
22
+ export { buildOpenAiRequest, createOpenAiClient, parseOpenAiResponse } from './providers/openai.js';
23
+ export { createProviderRegistry, PROVIDER_NAMES } from './providers/registry.js';
24
+ export { chunkDocument } from './rag/chunking/chunk-document.js';
25
+ export { planIncrementalIngestion } from './rag/chunking/incremental.js';
26
+ export { createHashingEmbeddingProvider } from './rag/embeddings/hashing-provider.js';
27
+ export { bm25Rank } from './rag/index/bm25.js';
28
+ export { createMemoryRagIndex } from './rag/index/memory-index.js';
29
+ export { reciprocalRankFusion } from './rag/index/rrf.js';
30
+ export { vectorRank } from './rag/index/vector-rank.js';
31
+ export { diffValues } from './reversibility/diff.js';
32
+ export { createMemoryReceiptStore } from './reversibility/receipt-store.js';
33
+ export { revertReceipt } from './reversibility/revert.js';
34
+ export { withReceipts, withReceiptsForManifest } from './reversibility/with-receipts.js';
35
+ export { runAgentLoop } from './runtime/loop.js';
36
+ export { RepetitionGuard } from './runtime/repetition.js';
37
+ export { retryModelCall, withTimeout } from './runtime/retry.js';
38
+ export { withSandbox, withSandboxForManifest } from './sandbox/with-sandbox.js';
39
+ export { createFileSkillStore } from './skills/file-store.js';
40
+ export { parseSkillFile } from './skills/frontmatter.js';
41
+ export { generateSkin } from './skin/generate.js';
42
+ export { runSubagent } from './subagents/run-subagent.js';
43
+ export { validateSubagentTools } from './subagents/validate.js';
44
+ export { createAgentDelegateTool } from './tools/core/agent-delegate.js';
45
+ export { createContentDeleteTool, createContentPublishTool, createContentReadTool, createContentWriteDraftTool, } from './tools/core/content.js';
46
+ export { createHttpFetchTool } from './tools/core/http-fetch.js';
47
+ export { createMediaReadTool, createMediaWriteTool } from './tools/core/media.js';
48
+ export { createSiteConfigReadTool } from './tools/core/site-config.js';
49
+ export { defineTool } from './tools/define.js';
50
+ export { buildManifest } from './tools/manifest.js';
51
+ export { createToolRegistry } from './tools/registry.js';
52
+ export { captureTrace } from './trace/capture.js';
53
+ export { createFileTraceStore } from './trace/file-store.js';
54
+ export { createMemoryTraceStore } from './trace/memory-store.js';
55
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { MemoryStore } from './types.js';
2
+ /** Durable without any external service (R1) — one JSON file per record under `options.dir`, the same "real but local" tier the trace/skills file stores already use. */
3
+ export declare function createFileMemoryStore(options: {
4
+ readonly dir: string;
5
+ }): MemoryStore;
6
+ //# sourceMappingURL=file-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-store.d.ts","sourceRoot":"","sources":["../../src/memory/file-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAKV,WAAW,EACZ,MAAM,YAAY,CAAA;AAenB,yKAAyK;AACzK,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,WAAW,CA0EpF"}
@@ -0,0 +1,94 @@
1
+ import { mkdir, readdir, readFile, rm, writeFile } from 'node:fs/promises';
2
+ import { join } from 'node:path';
3
+ import { CogentaError } from '@cogenta/core';
4
+ const DEFAULT_QUERY_LIMIT = 100;
5
+ function fileFor(dir, id) {
6
+ return join(dir, `${id}.json`);
7
+ }
8
+ function matches(record, query) {
9
+ if (record.siteId !== query.siteId)
10
+ return false;
11
+ if (query.type !== undefined && record.type !== query.type)
12
+ return false;
13
+ if (query.agentName !== undefined && record.agentName !== query.agentName)
14
+ return false;
15
+ return true;
16
+ }
17
+ /** Durable without any external service (R1) — one JSON file per record under `options.dir`, the same "real but local" tier the trace/skills file stores already use. */
18
+ export function createFileMemoryStore(options) {
19
+ const ready = mkdir(options.dir, { recursive: true });
20
+ async function readRecord(path) {
21
+ try {
22
+ const raw = await readFile(path, 'utf8');
23
+ return JSON.parse(raw);
24
+ }
25
+ catch (error) {
26
+ if (error.code === 'ENOENT')
27
+ return null;
28
+ throw new CogentaError({
29
+ code: 'INTERNAL',
30
+ message: `Could not read memory record file "${path}".`,
31
+ hint: 'The file may be corrupted; consider removing it.',
32
+ cause: error,
33
+ });
34
+ }
35
+ }
36
+ async function readAll() {
37
+ const filenames = await readdir(options.dir).catch(() => []);
38
+ const records = [];
39
+ for (const filename of filenames) {
40
+ if (!filename.endsWith('.json'))
41
+ continue;
42
+ const record = await readRecord(join(options.dir, filename));
43
+ if (record !== null)
44
+ records.push(record);
45
+ }
46
+ return records;
47
+ }
48
+ return {
49
+ async save(record) {
50
+ await ready;
51
+ await writeFile(fileFor(options.dir, record.id), JSON.stringify(record), 'utf8');
52
+ },
53
+ async query(query) {
54
+ await ready;
55
+ const all = (await readAll())
56
+ .filter((record) => matches(record, query))
57
+ .sort((a, b) => b.createdAt.localeCompare(a.createdAt));
58
+ return all.slice(0, query.limit ?? DEFAULT_QUERY_LIMIT);
59
+ },
60
+ async forget(id) {
61
+ await ready;
62
+ await rm(fileFor(options.dir, id), { force: true });
63
+ },
64
+ async prune(query, now = Date.now) {
65
+ await ready;
66
+ const cutoff = now() - query.olderThanMs;
67
+ let removed = 0;
68
+ for (const record of await readAll()) {
69
+ if (record.siteId !== query.siteId)
70
+ continue;
71
+ if (query.type !== undefined && record.type !== query.type)
72
+ continue;
73
+ if (new Date(record.createdAt).getTime() < cutoff) {
74
+ await rm(fileFor(options.dir, record.id), { force: true });
75
+ removed += 1;
76
+ }
77
+ }
78
+ return removed;
79
+ },
80
+ async consolidate(query) {
81
+ await ready;
82
+ const inScope = (await readAll())
83
+ .filter((record) => record.siteId === query.siteId &&
84
+ record.type === query.type &&
85
+ (query.agentName === undefined || record.agentName === query.agentName))
86
+ .sort((a, b) => b.createdAt.localeCompare(a.createdAt));
87
+ const toRemove = inScope.slice(query.keep);
88
+ for (const record of toRemove)
89
+ await rm(fileFor(options.dir, record.id), { force: true });
90
+ return toRemove.length;
91
+ },
92
+ };
93
+ }
94
+ //# sourceMappingURL=file-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-store.js","sourceRoot":"","sources":["../../src/memory/file-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { ApprovalRequest } from '../autonomy/types.js';
2
+ import type { MemoryRecord } from './types.js';
3
+ export interface ApprovalToMemoryOptions {
4
+ readonly siteId: string;
5
+ readonly newId?: () => string;
6
+ readonly now?: () => number;
7
+ }
8
+ /**
9
+ * "Le signal d'apprentissage vient de l'humain : chaque proposition
10
+ * acceptée, modifiée ou rejetée est stockée et réinjectée." `ApprovalStatus`
11
+ * (task 9) only distinguishes `approved`/`rejected` — a *modified* approval
12
+ * has no structural marker of its own yet, so it is represented the only
13
+ * way the current shape allows: an `approved` decision that also carries a
14
+ * `reason` (the human's note on what they changed). Turns one decided
15
+ * `ApprovalRequest` into one `procedural` record — this is the mechanical
16
+ * conversion only; re-injecting it into a future run's context is the
17
+ * identity/context assembly's job (task 3), not this function's.
18
+ */
19
+ export declare function approvalToMemoryRecord(request: ApprovalRequest, options: ApprovalToMemoryOptions): MemoryRecord;
20
+ //# sourceMappingURL=from-approval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"from-approval.d.ts","sourceRoot":"","sources":["../../src/memory/from-approval.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAA;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CAC5B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,uBAAuB,GAC/B,YAAY,CA0Bd"}
@@ -0,0 +1,38 @@
1
+ import { CogentaError, newId } from '@cogenta/core';
2
+ /**
3
+ * "Le signal d'apprentissage vient de l'humain : chaque proposition
4
+ * acceptée, modifiée ou rejetée est stockée et réinjectée." `ApprovalStatus`
5
+ * (task 9) only distinguishes `approved`/`rejected` — a *modified* approval
6
+ * has no structural marker of its own yet, so it is represented the only
7
+ * way the current shape allows: an `approved` decision that also carries a
8
+ * `reason` (the human's note on what they changed). Turns one decided
9
+ * `ApprovalRequest` into one `procedural` record — this is the mechanical
10
+ * conversion only; re-injecting it into a future run's context is the
11
+ * identity/context assembly's job (task 3), not this function's.
12
+ */
13
+ export function approvalToMemoryRecord(request, options) {
14
+ if (request.status === 'pending') {
15
+ throw new CogentaError({
16
+ code: 'AGENT_APPROVAL_NOT_DECIDED',
17
+ message: `Approval request "${request.id}" has not been decided yet.`,
18
+ hint: 'Only a decided (approved or rejected) request carries a learning signal.',
19
+ });
20
+ }
21
+ const generateId = options.newId ?? newId;
22
+ const now = options.now ?? Date.now;
23
+ return {
24
+ id: generateId(),
25
+ type: 'procedural',
26
+ siteId: options.siteId,
27
+ agentName: request.agentName,
28
+ content: JSON.stringify({
29
+ toolName: request.toolName,
30
+ input: request.input,
31
+ status: request.status,
32
+ reason: request.reason,
33
+ }),
34
+ createdAt: new Date(now()).toISOString(),
35
+ metadata: { approvalRequestId: request.id, decidedBy: request.decidedBy },
36
+ };
37
+ }
38
+ //# sourceMappingURL=from-approval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"from-approval.js","sourceRoot":"","sources":["../../src/memory/from-approval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAUnD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAwB,EACxB,OAAgC;IAEhC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,YAAY,CAAC;YACrB,IAAI,EAAE,4BAA4B;YAClC,OAAO,EAAE,qBAAqB,OAAO,CAAC,EAAE,6BAA6B;YACrE,IAAI,EAAE,0EAA0E;SACjF,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAA;IACzC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAA;IAEnC,OAAO;QACL,EAAE,EAAE,UAAU,EAAE;QAChB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC;QACF,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE;QACxC,QAAQ,EAAE,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE;KAC1E,CAAA;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { MemoryStore } from './types.js';
2
+ /** The always-available tier (R1) — nothing survives a restart, which is exactly why `createFileMemoryStore` exists for anything that needs to. */
3
+ export declare function createMemoryStore(): MemoryStore;
4
+ //# sourceMappingURL=memory-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-store.d.ts","sourceRoot":"","sources":["../../src/memory/memory-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKV,WAAW,EACZ,MAAM,YAAY,CAAA;AAWnB,mJAAmJ;AACnJ,wBAAgB,iBAAiB,IAAI,WAAW,CA2C/C"}
@@ -0,0 +1,55 @@
1
+ const DEFAULT_QUERY_LIMIT = 100;
2
+ function matches(record, query) {
3
+ if (record.siteId !== query.siteId)
4
+ return false;
5
+ if (query.type !== undefined && record.type !== query.type)
6
+ return false;
7
+ if (query.agentName !== undefined && record.agentName !== query.agentName)
8
+ return false;
9
+ return true;
10
+ }
11
+ /** The always-available tier (R1) — nothing survives a restart, which is exactly why `createFileMemoryStore` exists for anything that needs to. */
12
+ export function createMemoryStore() {
13
+ const records = new Map();
14
+ return {
15
+ async save(record) {
16
+ records.set(record.id, record);
17
+ },
18
+ async query(query) {
19
+ const all = [...records.values()]
20
+ .filter((record) => matches(record, query))
21
+ .sort((a, b) => b.createdAt.localeCompare(a.createdAt));
22
+ return all.slice(0, query.limit ?? DEFAULT_QUERY_LIMIT);
23
+ },
24
+ async forget(id) {
25
+ records.delete(id);
26
+ },
27
+ async prune(query, now = Date.now) {
28
+ const cutoff = now() - query.olderThanMs;
29
+ let removed = 0;
30
+ for (const record of records.values()) {
31
+ if (record.siteId !== query.siteId)
32
+ continue;
33
+ if (query.type !== undefined && record.type !== query.type)
34
+ continue;
35
+ if (new Date(record.createdAt).getTime() < cutoff) {
36
+ records.delete(record.id);
37
+ removed += 1;
38
+ }
39
+ }
40
+ return removed;
41
+ },
42
+ async consolidate(query) {
43
+ const inScope = [...records.values()]
44
+ .filter((record) => record.siteId === query.siteId &&
45
+ record.type === query.type &&
46
+ (query.agentName === undefined || record.agentName === query.agentName))
47
+ .sort((a, b) => b.createdAt.localeCompare(a.createdAt));
48
+ const toRemove = inScope.slice(query.keep);
49
+ for (const record of toRemove)
50
+ records.delete(record.id);
51
+ return toRemove.length;
52
+ },
53
+ };
54
+ }
55
+ //# sourceMappingURL=memory-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-store.js","sourceRoot":"","sources":["../../src/memory/memory-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * `docs/02-architecture.md` §4.6, four types:
3
+ *
4
+ * | Type | Contenu | Portée | Rétention |
5
+ * |-------------|-----------------------------|---------------|--------------|
6
+ * | working | The run in progress | Run | Ephemeral |
7
+ * | episodic | Dated log of actions | Agent or site | Configurable |
8
+ * | semantic | Stable facts about the site | Site | Consolidated |
9
+ * | procedural | What has worked | Agent | Consolidated |
10
+ *
11
+ * `working` is deliberately never given special handling by `MemoryStore` —
12
+ * its "ephemeral, run-scoped" retention is just `runAgentLoop`'s own
13
+ * `messages`/`RunResult`, never written here at all. It appears in the type
14
+ * only so a caller that does choose to persist a working-memory snapshot
15
+ * (e.g. for debugging) can tag it correctly; nothing in this module treats
16
+ * it differently from the other three.
17
+ */
18
+ export type MemoryType = 'working' | 'episodic' | 'semantic' | 'procedural';
19
+ export interface MemoryRecord {
20
+ readonly id: string;
21
+ readonly type: MemoryType;
22
+ /** Isolation boundary — a query always names one, and a store must never let one site's records answer another's query (R1's sibling rule for this module: never shared between two sites, checked by test). */
23
+ readonly siteId: string;
24
+ /** Present for `episodic` (when scoped to one agent rather than the whole site) and `procedural`; absent for `semantic`, which is site-wide by definition. */
25
+ readonly agentName?: string;
26
+ readonly content: string;
27
+ readonly createdAt: string;
28
+ readonly metadata?: Readonly<Record<string, unknown>>;
29
+ }
30
+ export interface MemoryQuery {
31
+ readonly siteId: string;
32
+ readonly type?: MemoryType;
33
+ readonly agentName?: string;
34
+ /** Most recent first; caps how many `query` returns (default implementation-defined, but never unbounded). */
35
+ readonly limit?: number;
36
+ }
37
+ export interface MemoryPruneQuery {
38
+ readonly siteId: string;
39
+ readonly olderThanMs: number;
40
+ readonly type?: MemoryType;
41
+ }
42
+ export interface MemoryConsolidateQuery {
43
+ readonly siteId: string;
44
+ readonly type: MemoryType;
45
+ readonly agentName?: string;
46
+ /** How many of the newest matching records to keep — every older one in scope is removed. */
47
+ readonly keep: number;
48
+ }
49
+ /**
50
+ * The forgetting policy the design doc requires ("une mémoire qui ne fait
51
+ * que croître devient du bruit coûteux") is these two mechanical halves:
52
+ * `prune` (age-based) and `consolidate` (count-based, "keep the newest N").
53
+ * Turning many kept records into fewer, better ones by actually reading and
54
+ * summarising them is a judgement call for the agent that owns them — a
55
+ * normal `save()` of a new `semantic`/`procedural` record after the agent
56
+ * has done that thinking, not something this store can do on its own
57
+ * (same reasoning `diffValues`, task 10, documents for its own limits).
58
+ */
59
+ export interface MemoryStore {
60
+ save(record: MemoryRecord): Promise<void>;
61
+ query(query: MemoryQuery): Promise<readonly MemoryRecord[]>;
62
+ /** A no-op when `id` does not exist — forgetting something already gone is not an error. */
63
+ forget(id: string): Promise<void>;
64
+ prune(query: MemoryPruneQuery, now?: () => number): Promise<number>;
65
+ consolidate(query: MemoryConsolidateQuery): Promise<number>;
66
+ }
67
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/memory/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,CAAA;AAE3E,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,gNAAgN;IAChN,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,8JAA8J;IAC9J,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CACtD;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,8GAA8G;IAC9G,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,6FAA6F;IAC7F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzC,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAAA;IAC3D,4FAA4F;IAC5F,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC,KAAK,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACnE,WAAW,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CAC5D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/memory/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import type { ProviderClient } from '../providers/types.js';
2
+ import type { NoDataLeavesPolicy } from './types.js';
3
+ /**
4
+ * The enforcement point for "mode « rien ne sort »" — throws, rather than
5
+ * degrading or warning, the moment a run would call a provider outside the
6
+ * declared local allowlist. A privacy leak is not a condition to recover
7
+ * from gracefully; it is a configuration error that must stop the run.
8
+ */
9
+ export declare function assertProviderAllowed(client: ProviderClient, policy: NoDataLeavesPolicy): void;
10
+ //# sourceMappingURL=assert-provider-allowed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert-provider-allowed.d.ts","sourceRoot":"","sources":["../../src/privacy/assert-provider-allowed.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEpD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAU9F"}
@@ -0,0 +1,20 @@
1
+ import { CogentaError } from '@cogenta/core';
2
+ /**
3
+ * The enforcement point for "mode « rien ne sort »" — throws, rather than
4
+ * degrading or warning, the moment a run would call a provider outside the
5
+ * declared local allowlist. A privacy leak is not a condition to recover
6
+ * from gracefully; it is a configuration error that must stop the run.
7
+ */
8
+ export function assertProviderAllowed(client, policy) {
9
+ if (!policy.enabled)
10
+ return;
11
+ if (policy.localProviderNames.includes(client.name))
12
+ return;
13
+ throw new CogentaError({
14
+ code: 'PRIVACY_NO_DATA_LEAVES_VIOLATION',
15
+ message: `"no data leaves" mode is active; "${client.name}" is not in the local provider allowlist.`,
16
+ hint: 'Add the provider name to localProviderNames only if it genuinely never leaves this machine, or disable the policy for this run.',
17
+ details: { provider: client.name, allowed: [...policy.localProviderNames] },
18
+ });
19
+ }
20
+ //# sourceMappingURL=assert-provider-allowed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert-provider-allowed.js","sourceRoot":"","sources":["../../src/privacy/assert-provider-allowed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAI5C;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAsB,EAAE,MAA0B;IACtF,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAM;IAC3B,IAAI,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,OAAM;IAE3D,MAAM,IAAI,YAAY,CAAC;QACrB,IAAI,EAAE,kCAAkC;QACxC,OAAO,EAAE,qCAAqC,MAAM,CAAC,IAAI,2CAA2C;QACpG,IAAI,EAAE,iIAAiI;QACvI,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,kBAAkB,CAAC,EAAE;KAC5E,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * "Liste explicite des champs jamais transmis" — a named field is replaced
3
+ * with `'[REDACTED]'` wherever it appears, at any depth, case-insensitively;
4
+ * everything else in the structure passes through unchanged. Deliberately
5
+ * denylist-based, not a schema — the caller already knows which field names
6
+ * (`email`, `ssn`, `phone`, whatever the site's own PII fields are called)
7
+ * must never reach a model, and that list is the whole configuration
8
+ * surface this needs.
9
+ */
10
+ export declare function redactFields<T>(data: T, neverTransmit: readonly string[]): T;
11
+ //# sourceMappingURL=redact-fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redact-fields.d.ts","sourceRoot":"","sources":["../../src/privacy/redact-fields.ts"],"names":[],"mappings":"AAYA;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,CAAC,CAG5E"}
@@ -0,0 +1,26 @@
1
+ function redactValue(value, denylist) {
2
+ if (Array.isArray(value))
3
+ return value.map((entry) => redactValue(entry, denylist));
4
+ if (value !== null && typeof value === 'object') {
5
+ const result = {};
6
+ for (const [key, entry] of Object.entries(value)) {
7
+ result[key] = denylist.has(key.toLowerCase()) ? '[REDACTED]' : redactValue(entry, denylist);
8
+ }
9
+ return result;
10
+ }
11
+ return value;
12
+ }
13
+ /**
14
+ * "Liste explicite des champs jamais transmis" — a named field is replaced
15
+ * with `'[REDACTED]'` wherever it appears, at any depth, case-insensitively;
16
+ * everything else in the structure passes through unchanged. Deliberately
17
+ * denylist-based, not a schema — the caller already knows which field names
18
+ * (`email`, `ssn`, `phone`, whatever the site's own PII fields are called)
19
+ * must never reach a model, and that list is the whole configuration
20
+ * surface this needs.
21
+ */
22
+ export function redactFields(data, neverTransmit) {
23
+ const denylist = new Set(neverTransmit.map((name) => name.toLowerCase()));
24
+ return redactValue(data, denylist);
25
+ }
26
+ //# sourceMappingURL=redact-fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redact-fields.js","sourceRoot":"","sources":["../../src/privacy/redact-fields.ts"],"names":[],"mappings":"AAAA,SAAS,WAAW,CAAC,KAAc,EAAE,QAA6B;IAChE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;IACnF,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,MAAM,GAA4B,EAAE,CAAA;QAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAA0C,CAAC,EAAE,CAAC;YACtF,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAC7F,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAI,IAAO,EAAE,aAAgC;IACvE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;IACzE,OAAO,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAM,CAAA;AACzC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { RedactionResult } from './types.js';
2
+ /** Replaces every recognised PII shape with `[REDACTED:kind]`, in one pass per pattern kind, and reports what it found. */
3
+ export declare function redactText(text: string): RedactionResult;
4
+ //# sourceMappingURL=redact-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redact-text.d.ts","sourceRoot":"","sources":["../../src/privacy/redact-text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,eAAe,EAAE,MAAM,YAAY,CAAA;AAqBpE,2HAA2H;AAC3H,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAYxD"}