@mondaydotcomorg/atp-compiler 0.19.3 → 0.19.5

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 (394) hide show
  1. package/dist/index.d.ts.map +1 -0
  2. package/dist/index.js.map +1 -0
  3. package/dist/plugin-system/create-default-compiler.d.ts.map +1 -0
  4. package/dist/plugin-system/create-default-compiler.js.map +1 -0
  5. package/dist/plugin-system/default-plugins/array-transformer-plugin.d.ts.map +1 -0
  6. package/dist/plugin-system/default-plugins/array-transformer-plugin.js.map +1 -0
  7. package/dist/plugin-system/default-plugins/detection-plugin.d.ts.map +1 -0
  8. package/dist/plugin-system/default-plugins/detection-plugin.js.map +1 -0
  9. package/dist/plugin-system/default-plugins/index.d.ts.map +1 -0
  10. package/dist/plugin-system/default-plugins/index.js.map +1 -0
  11. package/dist/plugin-system/default-plugins/loop-transformer-plugin.d.ts.map +1 -0
  12. package/dist/plugin-system/default-plugins/loop-transformer-plugin.js.map +1 -0
  13. package/dist/plugin-system/default-plugins/promise-transformer-plugin.d.ts.map +1 -0
  14. package/dist/plugin-system/default-plugins/promise-transformer-plugin.js.map +1 -0
  15. package/dist/plugin-system/examples/loop-transformer-plugin.d.ts.map +1 -0
  16. package/dist/plugin-system/examples/loop-transformer-plugin.js.map +1 -0
  17. package/dist/plugin-system/examples/security-validator-plugin.d.ts.map +1 -0
  18. package/dist/plugin-system/examples/security-validator-plugin.js.map +1 -0
  19. package/dist/plugin-system/examples/timeout-plugin.d.ts.map +1 -0
  20. package/dist/plugin-system/examples/timeout-plugin.js.map +1 -0
  21. package/dist/plugin-system/index.d.ts.map +1 -0
  22. package/dist/plugin-system/index.js.map +1 -0
  23. package/dist/plugin-system/pluggable-compiler.d.ts.map +1 -0
  24. package/dist/plugin-system/pluggable-compiler.js.map +1 -0
  25. package/dist/plugin-system/plugin-api.d.ts.map +1 -0
  26. package/dist/plugin-system/plugin-api.js.map +1 -0
  27. package/dist/runtime/batch-parallel.d.ts.map +1 -0
  28. package/dist/runtime/batch-parallel.js.map +1 -0
  29. package/dist/runtime/checkpoint-manager.d.ts.map +1 -0
  30. package/dist/runtime/checkpoint-manager.js.map +1 -0
  31. package/dist/runtime/context.d.ts.map +1 -0
  32. package/dist/runtime/context.js.map +1 -0
  33. package/dist/runtime/errors.d.ts.map +1 -0
  34. package/dist/runtime/errors.js.map +1 -0
  35. package/dist/runtime/index.d.ts.map +1 -0
  36. package/dist/runtime/index.js.map +1 -0
  37. package/dist/runtime/resumable-arrays.d.ts.map +1 -0
  38. package/dist/runtime/resumable-arrays.js.map +1 -0
  39. package/dist/runtime/resumable-loops.d.ts.map +1 -0
  40. package/dist/runtime/resumable-loops.js.map +1 -0
  41. package/dist/runtime/resumable-parallel.d.ts.map +1 -0
  42. package/dist/runtime/resumable-parallel.js.map +1 -0
  43. package/dist/transformer/array-transformer-batch.d.ts.map +1 -0
  44. package/dist/transformer/array-transformer-batch.js.map +1 -0
  45. package/dist/transformer/array-transformer-sequential.d.ts.map +1 -0
  46. package/dist/transformer/array-transformer-sequential.js.map +1 -0
  47. package/dist/transformer/array-transformer-utils.d.ts.map +1 -0
  48. package/dist/transformer/array-transformer-utils.js.map +1 -0
  49. package/dist/transformer/array-transformer-wrappers.d.ts.map +1 -0
  50. package/dist/transformer/array-transformer-wrappers.js.map +1 -0
  51. package/dist/transformer/array-transformer.d.ts.map +1 -0
  52. package/dist/transformer/array-transformer.js.map +1 -0
  53. package/dist/transformer/batch-detector.d.ts.map +1 -0
  54. package/dist/transformer/batch-detector.js.map +1 -0
  55. package/dist/transformer/batch-optimizer.d.ts.map +1 -0
  56. package/dist/transformer/batch-optimizer.js.map +1 -0
  57. package/dist/transformer/detector.d.ts.map +1 -0
  58. package/dist/transformer/detector.js.map +1 -0
  59. package/dist/transformer/index.d.ts.map +1 -0
  60. package/dist/transformer/index.js.map +1 -0
  61. package/dist/transformer/loop-transformer.d.ts.map +1 -0
  62. package/dist/transformer/loop-transformer.js.map +1 -0
  63. package/dist/transformer/promise-transformer.d.ts.map +1 -0
  64. package/dist/transformer/promise-transformer.js.map +1 -0
  65. package/dist/transformer/utils.d.ts.map +1 -0
  66. package/dist/transformer/utils.js.map +1 -0
  67. package/dist/types/compiler-interface.d.ts.map +1 -0
  68. package/dist/types/compiler-interface.js.map +1 -0
  69. package/dist/types.d.ts.map +1 -0
  70. package/dist/types.js.map +1 -0
  71. package/package.json +5 -5
  72. package/tsconfig.json +10 -3
  73. package/tsconfig.tsbuildinfo +1 -0
  74. package/dist/atp-compiler/src/index.d.ts.map +0 -1
  75. package/dist/atp-compiler/src/index.js.map +0 -1
  76. package/dist/atp-compiler/src/plugin-system/create-default-compiler.d.ts.map +0 -1
  77. package/dist/atp-compiler/src/plugin-system/create-default-compiler.js.map +0 -1
  78. package/dist/atp-compiler/src/plugin-system/default-plugins/array-transformer-plugin.d.ts.map +0 -1
  79. package/dist/atp-compiler/src/plugin-system/default-plugins/array-transformer-plugin.js.map +0 -1
  80. package/dist/atp-compiler/src/plugin-system/default-plugins/detection-plugin.d.ts.map +0 -1
  81. package/dist/atp-compiler/src/plugin-system/default-plugins/detection-plugin.js.map +0 -1
  82. package/dist/atp-compiler/src/plugin-system/default-plugins/index.d.ts.map +0 -1
  83. package/dist/atp-compiler/src/plugin-system/default-plugins/index.js.map +0 -1
  84. package/dist/atp-compiler/src/plugin-system/default-plugins/loop-transformer-plugin.d.ts.map +0 -1
  85. package/dist/atp-compiler/src/plugin-system/default-plugins/loop-transformer-plugin.js.map +0 -1
  86. package/dist/atp-compiler/src/plugin-system/default-plugins/promise-transformer-plugin.d.ts.map +0 -1
  87. package/dist/atp-compiler/src/plugin-system/default-plugins/promise-transformer-plugin.js.map +0 -1
  88. package/dist/atp-compiler/src/plugin-system/examples/loop-transformer-plugin.d.ts.map +0 -1
  89. package/dist/atp-compiler/src/plugin-system/examples/loop-transformer-plugin.js.map +0 -1
  90. package/dist/atp-compiler/src/plugin-system/examples/security-validator-plugin.d.ts.map +0 -1
  91. package/dist/atp-compiler/src/plugin-system/examples/security-validator-plugin.js.map +0 -1
  92. package/dist/atp-compiler/src/plugin-system/examples/timeout-plugin.d.ts.map +0 -1
  93. package/dist/atp-compiler/src/plugin-system/examples/timeout-plugin.js.map +0 -1
  94. package/dist/atp-compiler/src/plugin-system/index.d.ts.map +0 -1
  95. package/dist/atp-compiler/src/plugin-system/index.js.map +0 -1
  96. package/dist/atp-compiler/src/plugin-system/pluggable-compiler.d.ts.map +0 -1
  97. package/dist/atp-compiler/src/plugin-system/pluggable-compiler.js.map +0 -1
  98. package/dist/atp-compiler/src/plugin-system/plugin-api.d.ts.map +0 -1
  99. package/dist/atp-compiler/src/plugin-system/plugin-api.js.map +0 -1
  100. package/dist/atp-compiler/src/runtime/batch-parallel.d.ts.map +0 -1
  101. package/dist/atp-compiler/src/runtime/batch-parallel.js.map +0 -1
  102. package/dist/atp-compiler/src/runtime/checkpoint-manager.d.ts.map +0 -1
  103. package/dist/atp-compiler/src/runtime/checkpoint-manager.js.map +0 -1
  104. package/dist/atp-compiler/src/runtime/context.d.ts.map +0 -1
  105. package/dist/atp-compiler/src/runtime/context.js.map +0 -1
  106. package/dist/atp-compiler/src/runtime/errors.d.ts.map +0 -1
  107. package/dist/atp-compiler/src/runtime/errors.js.map +0 -1
  108. package/dist/atp-compiler/src/runtime/index.d.ts.map +0 -1
  109. package/dist/atp-compiler/src/runtime/index.js.map +0 -1
  110. package/dist/atp-compiler/src/runtime/resumable-arrays.d.ts.map +0 -1
  111. package/dist/atp-compiler/src/runtime/resumable-arrays.js.map +0 -1
  112. package/dist/atp-compiler/src/runtime/resumable-loops.d.ts.map +0 -1
  113. package/dist/atp-compiler/src/runtime/resumable-loops.js.map +0 -1
  114. package/dist/atp-compiler/src/runtime/resumable-parallel.d.ts.map +0 -1
  115. package/dist/atp-compiler/src/runtime/resumable-parallel.js.map +0 -1
  116. package/dist/atp-compiler/src/transformer/array-transformer-batch.d.ts.map +0 -1
  117. package/dist/atp-compiler/src/transformer/array-transformer-batch.js.map +0 -1
  118. package/dist/atp-compiler/src/transformer/array-transformer-sequential.d.ts.map +0 -1
  119. package/dist/atp-compiler/src/transformer/array-transformer-sequential.js.map +0 -1
  120. package/dist/atp-compiler/src/transformer/array-transformer-utils.d.ts.map +0 -1
  121. package/dist/atp-compiler/src/transformer/array-transformer-utils.js.map +0 -1
  122. package/dist/atp-compiler/src/transformer/array-transformer-wrappers.d.ts.map +0 -1
  123. package/dist/atp-compiler/src/transformer/array-transformer-wrappers.js.map +0 -1
  124. package/dist/atp-compiler/src/transformer/array-transformer.d.ts.map +0 -1
  125. package/dist/atp-compiler/src/transformer/array-transformer.js.map +0 -1
  126. package/dist/atp-compiler/src/transformer/batch-detector.d.ts.map +0 -1
  127. package/dist/atp-compiler/src/transformer/batch-detector.js.map +0 -1
  128. package/dist/atp-compiler/src/transformer/batch-optimizer.d.ts.map +0 -1
  129. package/dist/atp-compiler/src/transformer/batch-optimizer.js.map +0 -1
  130. package/dist/atp-compiler/src/transformer/detector.d.ts.map +0 -1
  131. package/dist/atp-compiler/src/transformer/detector.js.map +0 -1
  132. package/dist/atp-compiler/src/transformer/index.d.ts.map +0 -1
  133. package/dist/atp-compiler/src/transformer/index.js.map +0 -1
  134. package/dist/atp-compiler/src/transformer/loop-transformer.d.ts.map +0 -1
  135. package/dist/atp-compiler/src/transformer/loop-transformer.js.map +0 -1
  136. package/dist/atp-compiler/src/transformer/promise-transformer.d.ts.map +0 -1
  137. package/dist/atp-compiler/src/transformer/promise-transformer.js.map +0 -1
  138. package/dist/atp-compiler/src/transformer/utils.d.ts.map +0 -1
  139. package/dist/atp-compiler/src/transformer/utils.js.map +0 -1
  140. package/dist/atp-compiler/src/types/compiler-interface.d.ts.map +0 -1
  141. package/dist/atp-compiler/src/types/compiler-interface.js.map +0 -1
  142. package/dist/atp-compiler/src/types.d.ts.map +0 -1
  143. package/dist/atp-compiler/src/types.js.map +0 -1
  144. package/dist/protocol/src/auth.d.ts +0 -173
  145. package/dist/protocol/src/auth.d.ts.map +0 -1
  146. package/dist/protocol/src/auth.js +0 -202
  147. package/dist/protocol/src/auth.js.map +0 -1
  148. package/dist/protocol/src/index.d.ts +0 -7
  149. package/dist/protocol/src/index.d.ts.map +0 -1
  150. package/dist/protocol/src/index.js +0 -7
  151. package/dist/protocol/src/index.js.map +0 -1
  152. package/dist/protocol/src/oauth.d.ts +0 -63
  153. package/dist/protocol/src/oauth.d.ts.map +0 -1
  154. package/dist/protocol/src/oauth.js +0 -5
  155. package/dist/protocol/src/oauth.js.map +0 -1
  156. package/dist/protocol/src/providers.d.ts +0 -167
  157. package/dist/protocol/src/providers.d.ts.map +0 -1
  158. package/dist/protocol/src/providers.js +0 -33
  159. package/dist/protocol/src/providers.js.map +0 -1
  160. package/dist/protocol/src/schemas.d.ts +0 -6
  161. package/dist/protocol/src/schemas.d.ts.map +0 -1
  162. package/dist/protocol/src/schemas.js +0 -51
  163. package/dist/protocol/src/schemas.js.map +0 -1
  164. package/dist/protocol/src/types.d.ts +0 -514
  165. package/dist/protocol/src/types.d.ts.map +0 -1
  166. package/dist/protocol/src/types.js +0 -88
  167. package/dist/protocol/src/types.js.map +0 -1
  168. package/dist/protocol/src/validation.d.ts +0 -76
  169. package/dist/protocol/src/validation.d.ts.map +0 -1
  170. package/dist/protocol/src/validation.js +0 -129
  171. package/dist/protocol/src/validation.js.map +0 -1
  172. package/dist/provenance/src/ast/instrumentor.d.ts +0 -37
  173. package/dist/provenance/src/ast/instrumentor.d.ts.map +0 -1
  174. package/dist/provenance/src/ast/instrumentor.js +0 -299
  175. package/dist/provenance/src/ast/instrumentor.js.map +0 -1
  176. package/dist/provenance/src/index.d.ts +0 -12
  177. package/dist/provenance/src/index.d.ts.map +0 -1
  178. package/dist/provenance/src/index.js +0 -12
  179. package/dist/provenance/src/index.js.map +0 -1
  180. package/dist/provenance/src/policies/builder.d.ts +0 -36
  181. package/dist/provenance/src/policies/builder.d.ts.map +0 -1
  182. package/dist/provenance/src/policies/builder.js +0 -77
  183. package/dist/provenance/src/policies/builder.js.map +0 -1
  184. package/dist/provenance/src/policies/declarative.d.ts +0 -47
  185. package/dist/provenance/src/policies/declarative.d.ts.map +0 -1
  186. package/dist/provenance/src/policies/declarative.js +0 -170
  187. package/dist/provenance/src/policies/declarative.js.map +0 -1
  188. package/dist/provenance/src/policies/dynamic.d.ts +0 -39
  189. package/dist/provenance/src/policies/dynamic.d.ts.map +0 -1
  190. package/dist/provenance/src/policies/dynamic.js +0 -75
  191. package/dist/provenance/src/policies/dynamic.js.map +0 -1
  192. package/dist/provenance/src/policies/engine.d.ts +0 -71
  193. package/dist/provenance/src/policies/engine.d.ts.map +0 -1
  194. package/dist/provenance/src/policies/engine.js +0 -433
  195. package/dist/provenance/src/policies/engine.js.map +0 -1
  196. package/dist/provenance/src/policies/schema.d.ts +0 -270
  197. package/dist/provenance/src/policies/schema.d.ts.map +0 -1
  198. package/dist/provenance/src/policies/schema.js +0 -42
  199. package/dist/provenance/src/policies/schema.js.map +0 -1
  200. package/dist/provenance/src/registry.d.ts +0 -109
  201. package/dist/provenance/src/registry.d.ts.map +0 -1
  202. package/dist/provenance/src/registry.js +0 -518
  203. package/dist/provenance/src/registry.js.map +0 -1
  204. package/dist/provenance/src/store.d.ts +0 -53
  205. package/dist/provenance/src/store.d.ts.map +0 -1
  206. package/dist/provenance/src/store.js +0 -78
  207. package/dist/provenance/src/store.js.map +0 -1
  208. package/dist/provenance/src/tokens.d.ts +0 -49
  209. package/dist/provenance/src/tokens.d.ts.map +0 -1
  210. package/dist/provenance/src/tokens.js +0 -239
  211. package/dist/provenance/src/tokens.js.map +0 -1
  212. package/dist/provenance/src/types.d.ts +0 -150
  213. package/dist/provenance/src/types.d.ts.map +0 -1
  214. package/dist/provenance/src/types.js +0 -47
  215. package/dist/provenance/src/types.js.map +0 -1
  216. package/dist/runtime/src/approval/handler.d.ts +0 -12
  217. package/dist/runtime/src/approval/handler.d.ts.map +0 -1
  218. package/dist/runtime/src/approval/handler.js +0 -17
  219. package/dist/runtime/src/approval/handler.js.map +0 -1
  220. package/dist/runtime/src/approval/index.d.ts +0 -17
  221. package/dist/runtime/src/approval/index.d.ts.map +0 -1
  222. package/dist/runtime/src/approval/index.js +0 -95
  223. package/dist/runtime/src/approval/index.js.map +0 -1
  224. package/dist/runtime/src/approval/types.d.ts +0 -21
  225. package/dist/runtime/src/approval/types.d.ts.map +0 -1
  226. package/dist/runtime/src/approval/types.js +0 -5
  227. package/dist/runtime/src/approval/types.js.map +0 -1
  228. package/dist/runtime/src/cache/backends.d.ts +0 -39
  229. package/dist/runtime/src/cache/backends.d.ts.map +0 -1
  230. package/dist/runtime/src/cache/backends.js +0 -167
  231. package/dist/runtime/src/cache/backends.js.map +0 -1
  232. package/dist/runtime/src/cache/index.d.ts +0 -32
  233. package/dist/runtime/src/cache/index.d.ts.map +0 -1
  234. package/dist/runtime/src/cache/index.js +0 -103
  235. package/dist/runtime/src/cache/index.js.map +0 -1
  236. package/dist/runtime/src/cache/types.d.ts +0 -20
  237. package/dist/runtime/src/cache/types.d.ts.map +0 -1
  238. package/dist/runtime/src/cache/types.js +0 -2
  239. package/dist/runtime/src/cache/types.js.map +0 -1
  240. package/dist/runtime/src/embedding/index.d.ts +0 -39
  241. package/dist/runtime/src/embedding/index.d.ts.map +0 -1
  242. package/dist/runtime/src/embedding/index.js +0 -162
  243. package/dist/runtime/src/embedding/index.js.map +0 -1
  244. package/dist/runtime/src/embedding/types.d.ts +0 -28
  245. package/dist/runtime/src/embedding/types.d.ts.map +0 -1
  246. package/dist/runtime/src/embedding/types.js +0 -5
  247. package/dist/runtime/src/embedding/types.js.map +0 -1
  248. package/dist/runtime/src/embedding/utils.d.ts +0 -11
  249. package/dist/runtime/src/embedding/utils.d.ts.map +0 -1
  250. package/dist/runtime/src/embedding/utils.js +0 -30
  251. package/dist/runtime/src/embedding/utils.js.map +0 -1
  252. package/dist/runtime/src/embedding/vector-store.d.ts +0 -64
  253. package/dist/runtime/src/embedding/vector-store.d.ts.map +0 -1
  254. package/dist/runtime/src/embedding/vector-store.js +0 -142
  255. package/dist/runtime/src/embedding/vector-store.js.map +0 -1
  256. package/dist/runtime/src/index.d.ts +0 -18
  257. package/dist/runtime/src/index.d.ts.map +0 -1
  258. package/dist/runtime/src/index.js +0 -17
  259. package/dist/runtime/src/index.js.map +0 -1
  260. package/dist/runtime/src/llm/callback.d.ts +0 -13
  261. package/dist/runtime/src/llm/callback.d.ts.map +0 -1
  262. package/dist/runtime/src/llm/callback.js +0 -19
  263. package/dist/runtime/src/llm/callback.js.map +0 -1
  264. package/dist/runtime/src/llm/index.d.ts +0 -29
  265. package/dist/runtime/src/llm/index.d.ts.map +0 -1
  266. package/dist/runtime/src/llm/index.js +0 -118
  267. package/dist/runtime/src/llm/index.js.map +0 -1
  268. package/dist/runtime/src/llm/replay.d.ts +0 -122
  269. package/dist/runtime/src/llm/replay.d.ts.map +0 -1
  270. package/dist/runtime/src/llm/replay.js +0 -308
  271. package/dist/runtime/src/llm/replay.js.map +0 -1
  272. package/dist/runtime/src/llm/types.d.ts +0 -24
  273. package/dist/runtime/src/llm/types.d.ts.map +0 -1
  274. package/dist/runtime/src/llm/types.js +0 -2
  275. package/dist/runtime/src/llm/types.js.map +0 -1
  276. package/dist/runtime/src/log/index.d.ts +0 -12
  277. package/dist/runtime/src/log/index.d.ts.map +0 -1
  278. package/dist/runtime/src/log/index.js +0 -166
  279. package/dist/runtime/src/log/index.js.map +0 -1
  280. package/dist/runtime/src/log/types.d.ts +0 -19
  281. package/dist/runtime/src/log/types.d.ts.map +0 -1
  282. package/dist/runtime/src/log/types.js +0 -5
  283. package/dist/runtime/src/log/types.js.map +0 -1
  284. package/dist/runtime/src/metadata/decorators.d.ts +0 -27
  285. package/dist/runtime/src/metadata/decorators.d.ts.map +0 -1
  286. package/dist/runtime/src/metadata/decorators.js +0 -38
  287. package/dist/runtime/src/metadata/decorators.js.map +0 -1
  288. package/dist/runtime/src/metadata/generated.d.ts +0 -22
  289. package/dist/runtime/src/metadata/generated.d.ts.map +0 -1
  290. package/dist/runtime/src/metadata/generated.js +0 -290
  291. package/dist/runtime/src/metadata/generated.js.map +0 -1
  292. package/dist/runtime/src/metadata/index.d.ts +0 -24
  293. package/dist/runtime/src/metadata/index.d.ts.map +0 -1
  294. package/dist/runtime/src/metadata/index.js +0 -87
  295. package/dist/runtime/src/metadata/index.js.map +0 -1
  296. package/dist/runtime/src/metadata/types.d.ts +0 -23
  297. package/dist/runtime/src/metadata/types.d.ts.map +0 -1
  298. package/dist/runtime/src/metadata/types.js +0 -6
  299. package/dist/runtime/src/metadata/types.js.map +0 -1
  300. package/dist/runtime/src/pause/index.d.ts +0 -11
  301. package/dist/runtime/src/pause/index.d.ts.map +0 -1
  302. package/dist/runtime/src/pause/index.js +0 -15
  303. package/dist/runtime/src/pause/index.js.map +0 -1
  304. package/dist/runtime/src/pause/types.d.ts +0 -46
  305. package/dist/runtime/src/pause/types.d.ts.map +0 -1
  306. package/dist/runtime/src/pause/types.js +0 -57
  307. package/dist/runtime/src/pause/types.js.map +0 -1
  308. package/dist/runtime/src/progress/index.d.ts +0 -19
  309. package/dist/runtime/src/progress/index.d.ts.map +0 -1
  310. package/dist/runtime/src/progress/index.js +0 -61
  311. package/dist/runtime/src/progress/index.js.map +0 -1
  312. package/dist/runtime/src/progress/types.d.ts +0 -7
  313. package/dist/runtime/src/progress/types.d.ts.map +0 -1
  314. package/dist/runtime/src/progress/types.js +0 -2
  315. package/dist/runtime/src/progress/types.js.map +0 -1
  316. package/dist/runtime/src/registry.d.ts +0 -16
  317. package/dist/runtime/src/registry.d.ts.map +0 -1
  318. package/dist/runtime/src/registry.js +0 -16
  319. package/dist/runtime/src/registry.js.map +0 -1
  320. package/dist/runtime/src/utils.d.ts +0 -11
  321. package/dist/runtime/src/utils.d.ts.map +0 -1
  322. package/dist/runtime/src/utils.js +0 -31
  323. package/dist/runtime/src/utils.js.map +0 -1
  324. package/dist/tsconfig.tsbuildinfo +0 -1
  325. /package/dist/{atp-compiler/src/index.d.ts → index.d.ts} +0 -0
  326. /package/dist/{atp-compiler/src/index.js → index.js} +0 -0
  327. /package/dist/{atp-compiler/src/plugin-system → plugin-system}/create-default-compiler.d.ts +0 -0
  328. /package/dist/{atp-compiler/src/plugin-system → plugin-system}/create-default-compiler.js +0 -0
  329. /package/dist/{atp-compiler/src/plugin-system → plugin-system}/default-plugins/array-transformer-plugin.d.ts +0 -0
  330. /package/dist/{atp-compiler/src/plugin-system → plugin-system}/default-plugins/array-transformer-plugin.js +0 -0
  331. /package/dist/{atp-compiler/src/plugin-system → plugin-system}/default-plugins/detection-plugin.d.ts +0 -0
  332. /package/dist/{atp-compiler/src/plugin-system → plugin-system}/default-plugins/detection-plugin.js +0 -0
  333. /package/dist/{atp-compiler/src/plugin-system → plugin-system}/default-plugins/index.d.ts +0 -0
  334. /package/dist/{atp-compiler/src/plugin-system → plugin-system}/default-plugins/index.js +0 -0
  335. /package/dist/{atp-compiler/src/plugin-system → plugin-system}/default-plugins/loop-transformer-plugin.d.ts +0 -0
  336. /package/dist/{atp-compiler/src/plugin-system → plugin-system}/default-plugins/loop-transformer-plugin.js +0 -0
  337. /package/dist/{atp-compiler/src/plugin-system → plugin-system}/default-plugins/promise-transformer-plugin.d.ts +0 -0
  338. /package/dist/{atp-compiler/src/plugin-system → plugin-system}/default-plugins/promise-transformer-plugin.js +0 -0
  339. /package/dist/{atp-compiler/src/plugin-system → plugin-system}/examples/loop-transformer-plugin.d.ts +0 -0
  340. /package/dist/{atp-compiler/src/plugin-system → plugin-system}/examples/loop-transformer-plugin.js +0 -0
  341. /package/dist/{atp-compiler/src/plugin-system → plugin-system}/examples/security-validator-plugin.d.ts +0 -0
  342. /package/dist/{atp-compiler/src/plugin-system → plugin-system}/examples/security-validator-plugin.js +0 -0
  343. /package/dist/{atp-compiler/src/plugin-system → plugin-system}/examples/timeout-plugin.d.ts +0 -0
  344. /package/dist/{atp-compiler/src/plugin-system → plugin-system}/examples/timeout-plugin.js +0 -0
  345. /package/dist/{atp-compiler/src/plugin-system → plugin-system}/index.d.ts +0 -0
  346. /package/dist/{atp-compiler/src/plugin-system → plugin-system}/index.js +0 -0
  347. /package/dist/{atp-compiler/src/plugin-system → plugin-system}/pluggable-compiler.d.ts +0 -0
  348. /package/dist/{atp-compiler/src/plugin-system → plugin-system}/pluggable-compiler.js +0 -0
  349. /package/dist/{atp-compiler/src/plugin-system → plugin-system}/plugin-api.d.ts +0 -0
  350. /package/dist/{atp-compiler/src/plugin-system → plugin-system}/plugin-api.js +0 -0
  351. /package/dist/{atp-compiler/src/runtime → runtime}/batch-parallel.d.ts +0 -0
  352. /package/dist/{atp-compiler/src/runtime → runtime}/batch-parallel.js +0 -0
  353. /package/dist/{atp-compiler/src/runtime → runtime}/checkpoint-manager.d.ts +0 -0
  354. /package/dist/{atp-compiler/src/runtime → runtime}/checkpoint-manager.js +0 -0
  355. /package/dist/{atp-compiler/src/runtime → runtime}/context.d.ts +0 -0
  356. /package/dist/{atp-compiler/src/runtime → runtime}/context.js +0 -0
  357. /package/dist/{atp-compiler/src/runtime → runtime}/errors.d.ts +0 -0
  358. /package/dist/{atp-compiler/src/runtime → runtime}/errors.js +0 -0
  359. /package/dist/{atp-compiler/src/runtime → runtime}/index.d.ts +0 -0
  360. /package/dist/{atp-compiler/src/runtime → runtime}/index.js +0 -0
  361. /package/dist/{atp-compiler/src/runtime → runtime}/resumable-arrays.d.ts +0 -0
  362. /package/dist/{atp-compiler/src/runtime → runtime}/resumable-arrays.js +0 -0
  363. /package/dist/{atp-compiler/src/runtime → runtime}/resumable-loops.d.ts +0 -0
  364. /package/dist/{atp-compiler/src/runtime → runtime}/resumable-loops.js +0 -0
  365. /package/dist/{atp-compiler/src/runtime → runtime}/resumable-parallel.d.ts +0 -0
  366. /package/dist/{atp-compiler/src/runtime → runtime}/resumable-parallel.js +0 -0
  367. /package/dist/{atp-compiler/src/transformer → transformer}/array-transformer-batch.d.ts +0 -0
  368. /package/dist/{atp-compiler/src/transformer → transformer}/array-transformer-batch.js +0 -0
  369. /package/dist/{atp-compiler/src/transformer → transformer}/array-transformer-sequential.d.ts +0 -0
  370. /package/dist/{atp-compiler/src/transformer → transformer}/array-transformer-sequential.js +0 -0
  371. /package/dist/{atp-compiler/src/transformer → transformer}/array-transformer-utils.d.ts +0 -0
  372. /package/dist/{atp-compiler/src/transformer → transformer}/array-transformer-utils.js +0 -0
  373. /package/dist/{atp-compiler/src/transformer → transformer}/array-transformer-wrappers.d.ts +0 -0
  374. /package/dist/{atp-compiler/src/transformer → transformer}/array-transformer-wrappers.js +0 -0
  375. /package/dist/{atp-compiler/src/transformer → transformer}/array-transformer.d.ts +0 -0
  376. /package/dist/{atp-compiler/src/transformer → transformer}/array-transformer.js +0 -0
  377. /package/dist/{atp-compiler/src/transformer → transformer}/batch-detector.d.ts +0 -0
  378. /package/dist/{atp-compiler/src/transformer → transformer}/batch-detector.js +0 -0
  379. /package/dist/{atp-compiler/src/transformer → transformer}/batch-optimizer.d.ts +0 -0
  380. /package/dist/{atp-compiler/src/transformer → transformer}/batch-optimizer.js +0 -0
  381. /package/dist/{atp-compiler/src/transformer → transformer}/detector.d.ts +0 -0
  382. /package/dist/{atp-compiler/src/transformer → transformer}/detector.js +0 -0
  383. /package/dist/{atp-compiler/src/transformer → transformer}/index.d.ts +0 -0
  384. /package/dist/{atp-compiler/src/transformer → transformer}/index.js +0 -0
  385. /package/dist/{atp-compiler/src/transformer → transformer}/loop-transformer.d.ts +0 -0
  386. /package/dist/{atp-compiler/src/transformer → transformer}/loop-transformer.js +0 -0
  387. /package/dist/{atp-compiler/src/transformer → transformer}/promise-transformer.d.ts +0 -0
  388. /package/dist/{atp-compiler/src/transformer → transformer}/promise-transformer.js +0 -0
  389. /package/dist/{atp-compiler/src/transformer → transformer}/utils.d.ts +0 -0
  390. /package/dist/{atp-compiler/src/transformer → transformer}/utils.js +0 -0
  391. /package/dist/{atp-compiler/src/types → types}/compiler-interface.d.ts +0 -0
  392. /package/dist/{atp-compiler/src/types → types}/compiler-interface.js +0 -0
  393. /package/dist/{atp-compiler/src/types.d.ts → types.d.ts} +0 -0
  394. /package/dist/{atp-compiler/src/types.js → types.js} +0 -0
@@ -1,433 +0,0 @@
1
- import { ProvenanceSecurityError, ProvenanceSource } from '../types.js';
2
- import { getProvenance, getAllProvenance, canRead, } from '../registry.js';
3
- export class SecurityPolicyEngine {
4
- policies;
5
- logger;
6
- approvalCallback;
7
- customGetProvenance;
8
- constructor(policies, logger, customGetProvenance) {
9
- this.policies = policies;
10
- this.logger = logger;
11
- this.customGetProvenance = customGetProvenance;
12
- }
13
- /**
14
- * Set a custom getProvenance function (e.g., for AST mode)
15
- */
16
- setGetProvenance(fn) {
17
- this.customGetProvenance = fn;
18
- }
19
- /**
20
- * Set approval callback for policies that return action='approve'
21
- */
22
- setApprovalCallback(callback) {
23
- this.approvalCallback = callback;
24
- }
25
- async checkTool(toolName, apiGroup, args) {
26
- this.logger.debug('Checking security policies', {
27
- toolName,
28
- apiGroup,
29
- policyCount: this.policies.length,
30
- });
31
- // Use custom getProvenance if available, otherwise use default
32
- const getProvenanceFn = this.customGetProvenance || getProvenance;
33
- for (const policy of this.policies) {
34
- const result = await policy.check(toolName, args, getProvenanceFn);
35
- const action = this.normalizeAction(result);
36
- if (action === 'block') {
37
- this.logger.warn('Security policy blocked tool execution', {
38
- toolName,
39
- apiGroup,
40
- policy: policy.name,
41
- reason: result.reason,
42
- });
43
- throw new ProvenanceSecurityError(result.reason || `Policy ${policy.name} denied execution`, policy.name, toolName, { apiGroup, args: this.sanitizeArgs(args), context: result.context });
44
- }
45
- if (action === 'approve') {
46
- this.logger.info('Security policy requires approval', {
47
- toolName,
48
- apiGroup,
49
- policy: policy.name,
50
- reason: result.reason,
51
- });
52
- const approved = await this.requestApproval(toolName, apiGroup, policy.name, result);
53
- if (!approved) {
54
- this.logger.warn('Security policy approval denied', {
55
- toolName,
56
- apiGroup,
57
- policy: policy.name,
58
- });
59
- throw new ProvenanceSecurityError(`Approval denied: ${result.reason || 'Operation requires approval'}`, policy.name, toolName, { apiGroup, args: this.sanitizeArgs(args), approvalDenied: true });
60
- }
61
- this.logger.info('Security policy approval granted', {
62
- toolName,
63
- apiGroup,
64
- policy: policy.name,
65
- });
66
- }
67
- if (action === 'log') {
68
- this.logger.warn('Security policy audit event', {
69
- toolName,
70
- apiGroup,
71
- policy: policy.name,
72
- reason: result.reason,
73
- context: result.context,
74
- args: this.sanitizeArgs(args),
75
- });
76
- }
77
- }
78
- this.logger.debug('All security policies passed', { toolName, apiGroup });
79
- }
80
- normalizeAction(result) {
81
- if (result.action) {
82
- return result.action;
83
- }
84
- if (result.allowed !== undefined) {
85
- return result.allowed ? 'log' : 'block';
86
- }
87
- return 'log';
88
- }
89
- async requestApproval(toolName, apiGroup, policyName, result) {
90
- if (!this.approvalCallback) {
91
- this.logger.error('Approval required but no callback configured', {
92
- toolName,
93
- policy: policyName,
94
- });
95
- throw new ProvenanceSecurityError('Approval required but approval handler not configured', policyName, toolName, { requiresApproval: true });
96
- }
97
- const message = result.reason || `Policy ${policyName} requires approval for ${toolName}`;
98
- const context = {
99
- toolName,
100
- apiGroup,
101
- policy: policyName,
102
- ...(result.context || {}),
103
- };
104
- try {
105
- return await this.approvalCallback(message, context);
106
- }
107
- catch (error) {
108
- this.logger.error('Approval request failed', { error, toolName, policy: policyName });
109
- return false;
110
- }
111
- }
112
- sanitizeArgs(args) {
113
- const sanitized = {};
114
- for (const [key, value] of Object.entries(args)) {
115
- if (typeof value === 'string' && value.length > 100) {
116
- sanitized[key] = value.substring(0, 100) + '...';
117
- }
118
- else if (typeof value === 'object') {
119
- sanitized[key] = '[object]';
120
- }
121
- else {
122
- sanitized[key] = value;
123
- }
124
- }
125
- return sanitized;
126
- }
127
- }
128
- /**
129
- * Built-in Security Policies
130
- */
131
- /**
132
- * Helper: Get all provenance from args object, including scanning all nested values
133
- * This catches primitives that came from tool-originated objects
134
- */
135
- function getAllProvenanceFromArgs(args, getProvenance) {
136
- const allProvenance = [];
137
- const visited = new Set();
138
- function scan(value) {
139
- if (value === null || value === undefined)
140
- return;
141
- if (typeof value === 'string' || typeof value === 'number') {
142
- try {
143
- const primitiveProv = getProvenance(value);
144
- if (primitiveProv) {
145
- allProvenance.push(primitiveProv);
146
- }
147
- }
148
- catch (error) {
149
- // Ignore errors during provenance lookup
150
- }
151
- return;
152
- }
153
- if (typeof value !== 'object')
154
- return;
155
- if (visited.has(value))
156
- return;
157
- visited.add(value);
158
- const provenance = getProvenance(value);
159
- if (provenance) {
160
- allProvenance.push(provenance);
161
- }
162
- if (Array.isArray(value)) {
163
- for (const item of value) {
164
- scan(item);
165
- }
166
- }
167
- else {
168
- for (const key in value) {
169
- if (Object.prototype.hasOwnProperty.call(value, key)) {
170
- scan(value[key]);
171
- }
172
- }
173
- }
174
- }
175
- for (const key in args) {
176
- if (Object.prototype.hasOwnProperty.call(args, key)) {
177
- scan(args[key]);
178
- }
179
- }
180
- return allProvenance;
181
- }
182
- /**
183
- * Prevent data exfiltration - blocks sending private data to unauthorized recipients
184
- */
185
- export const preventDataExfiltration = {
186
- name: 'prevent-data-exfiltration',
187
- description: 'Prevents sending data to recipients who cannot read it',
188
- check: (toolName, args, getProvenance) => {
189
- const recipientKeys = ['to', 'recipient', 'recipients', 'email', 'address'];
190
- const dataKeys = ['body', 'message', 'content', 'data', 'payload'];
191
- let recipient = null;
192
- for (const key of recipientKeys) {
193
- if (args[key] && typeof args[key] === 'string') {
194
- recipient = args[key];
195
- break;
196
- }
197
- }
198
- if (!recipient) {
199
- return { action: 'log' };
200
- }
201
- const allProvenance = getAllProvenanceFromArgs(args, getProvenance);
202
- for (const metadata of allProvenance) {
203
- if (metadata.source.type === ProvenanceSource.TOOL) {
204
- if (metadata.readers.type === 'restricted') {
205
- if (!canRead(recipient, metadata.readers)) {
206
- return {
207
- action: 'block',
208
- reason: `Recipient "${recipient}" cannot read data from ${metadata.source.toolName}. Authorized readers: ${metadata.readers.readers.join(', ')}`,
209
- policy: 'prevent-data-exfiltration',
210
- context: {
211
- recipient,
212
- toolSource: metadata.source.toolName,
213
- authorizedReaders: metadata.readers.readers,
214
- },
215
- };
216
- }
217
- }
218
- }
219
- }
220
- return { action: 'log' };
221
- },
222
- };
223
- /**
224
- * Prevent data exfiltration (approval mode) - requires approval for risky sends
225
- */
226
- export const preventDataExfiltrationWithApproval = {
227
- name: 'prevent-data-exfiltration-approval',
228
- description: 'Requires approval for sending data to recipients who cannot read it',
229
- check: (toolName, args, getProvenance) => {
230
- const recipientKeys = ['to', 'recipient', 'recipients', 'email', 'address'];
231
- let recipient = null;
232
- for (const key of recipientKeys) {
233
- if (args[key] && typeof args[key] === 'string') {
234
- recipient = args[key];
235
- break;
236
- }
237
- }
238
- if (!recipient) {
239
- return { action: 'log' };
240
- }
241
- const allProvenance = getAllProvenanceFromArgs(args, getProvenance);
242
- for (const metadata of allProvenance) {
243
- if (metadata.source.type === ProvenanceSource.TOOL) {
244
- if (metadata.readers.type === 'restricted') {
245
- if (!canRead(recipient, metadata.readers)) {
246
- return {
247
- action: 'approve',
248
- reason: `Sending data from ${metadata.source.toolName} to "${recipient}" (not in authorized readers)`,
249
- policy: 'prevent-data-exfiltration-approval',
250
- context: {
251
- recipient,
252
- toolSource: metadata.source.toolName,
253
- authorizedReaders: metadata.readers.readers,
254
- sensitiveFields: Object.keys(args).filter((k) => args[k] !== null),
255
- },
256
- };
257
- }
258
- }
259
- }
260
- }
261
- return { action: 'log' };
262
- },
263
- };
264
- /**
265
- * Require user origin - ensures sensitive operations only use user-provided data
266
- */
267
- export const requireUserOrigin = {
268
- name: 'require-user-origin',
269
- description: 'Requires critical parameters to come directly from user input',
270
- check: (toolName, args, getProvenance) => {
271
- const criticalTools = ['deleteDatabase', 'dropTable', 'executeSQL', 'sendMoney', 'transfer'];
272
- if (!criticalTools.some((t) => toolName.toLowerCase().includes(t.toLowerCase()))) {
273
- return { action: 'log' };
274
- }
275
- for (const [key, value] of Object.entries(args)) {
276
- const allProvenance = getAllProvenance(value);
277
- for (const metadata of allProvenance) {
278
- if (metadata.source.type !== ProvenanceSource.USER &&
279
- metadata.source.type !== ProvenanceSource.SYSTEM) {
280
- return {
281
- action: 'block',
282
- reason: `Critical tool "${toolName}" parameter "${key}" must come from user input, but came from ${metadata.source.type}`,
283
- policy: 'require-user-origin',
284
- context: {
285
- toolName,
286
- parameterKey: key,
287
- actualSource: metadata.source.type,
288
- },
289
- };
290
- }
291
- }
292
- }
293
- return { action: 'log' };
294
- },
295
- };
296
- /**
297
- * Require user origin (approval mode) - requires approval for non-user-originated critical operations
298
- */
299
- export const requireUserOriginWithApproval = {
300
- name: 'require-user-origin-approval',
301
- description: 'Requires approval for critical operations with non-user data',
302
- check: (toolName, args, getProvenance) => {
303
- const criticalTools = ['deleteDatabase', 'dropTable', 'executeSQL', 'sendMoney', 'transfer'];
304
- if (!criticalTools.some((t) => toolName.toLowerCase().includes(t.toLowerCase()))) {
305
- return { action: 'log' };
306
- }
307
- for (const [key, value] of Object.entries(args)) {
308
- const allProvenance = getAllProvenance(value);
309
- for (const metadata of allProvenance) {
310
- if (metadata.source.type !== ProvenanceSource.USER &&
311
- metadata.source.type !== ProvenanceSource.SYSTEM) {
312
- return {
313
- action: 'approve',
314
- reason: `Critical operation "${toolName}" with parameter "${key}" from ${metadata.source.type} source`,
315
- policy: 'require-user-origin-approval',
316
- context: {
317
- toolName,
318
- parameterKey: key,
319
- actualSource: metadata.source.type,
320
- value: String(value).substring(0, 100),
321
- },
322
- };
323
- }
324
- }
325
- }
326
- return { action: 'log' };
327
- },
328
- };
329
- /**
330
- * Block LLM-generated recipients - prevents sending to LLM-extracted emails
331
- */
332
- export const blockLLMRecipients = {
333
- name: 'block-llm-recipients',
334
- description: 'Blocks sending data to LLM-extracted email addresses',
335
- check: (toolName, args, getProvenance) => {
336
- const recipientKeys = ['to', 'recipient', 'recipients', 'email'];
337
- for (const key of recipientKeys) {
338
- if (!args[key])
339
- continue;
340
- const metadata = getProvenance(args[key]);
341
- if (metadata && metadata.source.type === ProvenanceSource.LLM) {
342
- return {
343
- action: 'block',
344
- reason: `Cannot send to LLM-extracted recipient in parameter "${key}". Recipients must come from user input or trusted sources.`,
345
- policy: 'block-llm-recipients',
346
- context: {
347
- parameterKey: key,
348
- recipientValue: String(args[key]).substring(0, 50),
349
- },
350
- };
351
- }
352
- }
353
- return { action: 'log' };
354
- },
355
- };
356
- /**
357
- * Block LLM-generated recipients (approval mode) - requires approval for LLM-extracted emails
358
- */
359
- export const blockLLMRecipientsWithApproval = {
360
- name: 'block-llm-recipients-approval',
361
- description: 'Requires approval for sending to LLM-extracted email addresses',
362
- check: (toolName, args, getProvenance) => {
363
- const recipientKeys = ['to', 'recipient', 'recipients', 'email'];
364
- for (const key of recipientKeys) {
365
- if (!args[key])
366
- continue;
367
- const metadata = getProvenance(args[key]);
368
- if (metadata && metadata.source.type === ProvenanceSource.LLM) {
369
- return {
370
- action: 'approve',
371
- reason: `Sending to LLM-extracted recipient "${args[key]}" in parameter "${key}"`,
372
- policy: 'block-llm-recipients-approval',
373
- context: {
374
- parameterKey: key,
375
- recipientValue: String(args[key]),
376
- llmOperation: metadata.source.operation,
377
- },
378
- };
379
- }
380
- }
381
- return { action: 'log' };
382
- },
383
- };
384
- /**
385
- * Audit sensitive data access - logs access without blocking
386
- */
387
- export const auditSensitiveAccess = {
388
- name: 'audit-sensitive-access',
389
- description: 'Logs access to sensitive data (does not block)',
390
- check: (toolName, args, getProvenance) => {
391
- const sensitiveTools = ['getPassword', 'getCreditCard', 'getSSN', 'getBankAccount'];
392
- if (sensitiveTools.some((t) => toolName.toLowerCase().includes(t.toLowerCase()))) {
393
- const allProvenance = getAllProvenance(args);
394
- return {
395
- action: 'log',
396
- reason: `Sensitive data accessed via ${toolName}`,
397
- policy: 'audit-sensitive-access',
398
- context: {
399
- toolName,
400
- provenanceChain: allProvenance.map((p) => ({
401
- source: p.source,
402
- id: p.id,
403
- })),
404
- },
405
- };
406
- }
407
- return { action: 'log' };
408
- },
409
- };
410
- /**
411
- * Helper: Create custom policy
412
- */
413
- export function createCustomPolicy(name, description, checkFn) {
414
- return { name, description, check: checkFn };
415
- }
416
- /**
417
- * Get all built-in policies
418
- */
419
- export function getBuiltInPolicies() {
420
- return [preventDataExfiltration, requireUserOrigin, blockLLMRecipients, auditSensitiveAccess];
421
- }
422
- /**
423
- * Get all built-in policies with approval variants
424
- */
425
- export function getBuiltInPoliciesWithApproval() {
426
- return [
427
- preventDataExfiltrationWithApproval,
428
- requireUserOriginWithApproval,
429
- blockLLMRecipientsWithApproval,
430
- auditSensitiveAccess,
431
- ];
432
- }
433
- //# sourceMappingURL=engine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../../../provenance/src/policies/engine.ts"],"names":[],"mappings":"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"}