@ekairos/dataset 1.22.34-beta.development.0 → 1.22.35

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 (156) hide show
  1. package/README.md +347 -0
  2. package/dist/agents.d.ts +8 -0
  3. package/dist/agents.js +8 -0
  4. package/dist/builder/agentMaterializers.d.ts +9 -0
  5. package/dist/builder/agentMaterializers.js +10 -0
  6. package/dist/builder/context.d.ts +15 -0
  7. package/dist/builder/context.js +251 -0
  8. package/dist/builder/instructions.d.ts +5 -0
  9. package/dist/builder/instructions.js +40 -0
  10. package/dist/builder/materialize.d.ts +83 -0
  11. package/dist/builder/materialize.js +548 -0
  12. package/dist/builder/materializeQuery.d.ts +12 -0
  13. package/dist/builder/materializeQuery.js +31 -0
  14. package/dist/builder/persistence.d.ts +22 -0
  15. package/dist/builder/persistence.js +153 -0
  16. package/dist/builder/rows.d.ts +7 -0
  17. package/dist/builder/rows.js +56 -0
  18. package/dist/builder/schemaInference.d.ts +3 -0
  19. package/dist/builder/schemaInference.js +61 -0
  20. package/dist/builder/types.d.ts +140 -0
  21. package/dist/builder/types.js +1 -0
  22. package/dist/clearDataset.tool.d.ts +2 -3
  23. package/dist/clearDataset.tool.js +13 -17
  24. package/dist/completeDataset.steps.d.ts +117 -0
  25. package/dist/completeDataset.steps.js +487 -0
  26. package/dist/completeDataset.tool.d.ts +132 -7
  27. package/dist/completeDataset.tool.js +46 -192
  28. package/dist/contextResources.d.ts +31 -0
  29. package/dist/contextResources.js +151 -0
  30. package/dist/contextWorkspace.d.ts +79 -0
  31. package/dist/contextWorkspace.js +234 -0
  32. package/dist/dataset/steps.d.ts +39 -15
  33. package/dist/dataset/steps.js +96 -39
  34. package/dist/dataset.d.ts +3 -67
  35. package/dist/dataset.js +129 -520
  36. package/dist/datasetFiles.d.ts +5 -1
  37. package/dist/datasetFiles.js +29 -27
  38. package/dist/domain.d.ts +1 -2
  39. package/dist/domain.js +1 -6
  40. package/dist/executeCommand.tool.d.ts +2 -30
  41. package/dist/executeCommand.tool.js +165 -39
  42. package/dist/file/file-dataset.agent.d.ts +19 -56
  43. package/dist/file/file-dataset.agent.js +176 -132
  44. package/dist/file/file-dataset.steps.d.ts +27 -0
  45. package/dist/file/file-dataset.steps.js +47 -0
  46. package/dist/file/file-dataset.types.d.ts +64 -0
  47. package/dist/file/file-dataset.types.js +1 -0
  48. package/dist/file/filepreview.d.ts +5 -35
  49. package/dist/file/filepreview.js +60 -107
  50. package/dist/file/filepreview.types.d.ts +31 -0
  51. package/dist/file/filepreview.types.js +1 -0
  52. package/dist/file/generateSchema.tool.d.ts +2 -3
  53. package/dist/file/generateSchema.tool.js +11 -15
  54. package/dist/file/index.d.ts +1 -2
  55. package/dist/file/index.js +1 -18
  56. package/dist/file/prompts.d.ts +2 -3
  57. package/dist/file/prompts.js +134 -27
  58. package/dist/file/scripts.generated.d.ts +1 -0
  59. package/dist/file/scripts.generated.js +11 -0
  60. package/dist/file/steps.d.ts +1 -2
  61. package/dist/file/steps.js +9 -7
  62. package/dist/id.d.ts +1 -0
  63. package/dist/id.js +10 -0
  64. package/dist/index.d.ts +8 -7
  65. package/dist/index.js +8 -23
  66. package/dist/materializeDataset.tool.d.ts +52 -32
  67. package/dist/materializeDataset.tool.js +81 -65
  68. package/dist/query/index.d.ts +1 -2
  69. package/dist/query/index.js +1 -18
  70. package/dist/query/queryDomain.d.ts +3 -4
  71. package/dist/query/queryDomain.js +3 -40
  72. package/dist/query/queryDomain.step.d.ts +1 -1
  73. package/dist/query/queryDomain.step.js +13 -13
  74. package/dist/sandbox/steps.d.ts +23 -15
  75. package/dist/sandbox/steps.js +73 -76
  76. package/dist/sandbox.steps.d.ts +1 -2
  77. package/dist/sandbox.steps.js +1 -18
  78. package/dist/schema.d.ts +13 -13
  79. package/dist/schema.js +25 -37
  80. package/dist/service.d.ts +8 -5
  81. package/dist/service.js +70 -15
  82. package/dist/skill.d.ts +0 -1
  83. package/dist/skill.js +12 -17
  84. package/dist/transform/filepreview.d.ts +2 -3
  85. package/dist/transform/filepreview.js +9 -26
  86. package/dist/transform/index.d.ts +2 -3
  87. package/dist/transform/index.js +2 -8
  88. package/dist/transform/prompts.d.ts +1 -34
  89. package/dist/transform/prompts.js +58 -43
  90. package/dist/transform/transform-dataset.agent.d.ts +20 -45
  91. package/dist/transform/transform-dataset.agent.js +146 -89
  92. package/dist/transform/transform-dataset.steps.d.ts +30 -0
  93. package/dist/transform/transform-dataset.steps.js +61 -0
  94. package/dist/transform/transform-dataset.types.d.ts +95 -0
  95. package/dist/transform/transform-dataset.types.js +1 -0
  96. package/dist/transform/transformDataset.d.ts +3 -3
  97. package/dist/transform/transformDataset.js +15 -18
  98. package/dist/writeDatasetRows.tool.d.ts +188 -0
  99. package/dist/writeDatasetRows.tool.js +258 -0
  100. package/package.json +36 -11
  101. package/dist/clearDataset.tool.d.ts.map +0 -1
  102. package/dist/clearDataset.tool.js.map +0 -1
  103. package/dist/completeDataset.tool.d.ts.map +0 -1
  104. package/dist/completeDataset.tool.js.map +0 -1
  105. package/dist/dataset/steps.d.ts.map +0 -1
  106. package/dist/dataset/steps.js.map +0 -1
  107. package/dist/dataset.d.ts.map +0 -1
  108. package/dist/dataset.js.map +0 -1
  109. package/dist/datasetFiles.d.ts.map +0 -1
  110. package/dist/datasetFiles.js.map +0 -1
  111. package/dist/domain.d.ts.map +0 -1
  112. package/dist/domain.js.map +0 -1
  113. package/dist/executeCommand.tool.d.ts.map +0 -1
  114. package/dist/executeCommand.tool.js.map +0 -1
  115. package/dist/file/file-dataset.agent.d.ts.map +0 -1
  116. package/dist/file/file-dataset.agent.js.map +0 -1
  117. package/dist/file/filepreview.d.ts.map +0 -1
  118. package/dist/file/filepreview.js.map +0 -1
  119. package/dist/file/generateSchema.tool.d.ts.map +0 -1
  120. package/dist/file/generateSchema.tool.js.map +0 -1
  121. package/dist/file/index.d.ts.map +0 -1
  122. package/dist/file/index.js.map +0 -1
  123. package/dist/file/prompts.d.ts.map +0 -1
  124. package/dist/file/prompts.js.map +0 -1
  125. package/dist/file/steps.d.ts.map +0 -1
  126. package/dist/file/steps.js.map +0 -1
  127. package/dist/index.d.ts.map +0 -1
  128. package/dist/index.js.map +0 -1
  129. package/dist/materializeDataset.tool.d.ts.map +0 -1
  130. package/dist/materializeDataset.tool.js.map +0 -1
  131. package/dist/query/index.d.ts.map +0 -1
  132. package/dist/query/index.js.map +0 -1
  133. package/dist/query/queryDomain.d.ts.map +0 -1
  134. package/dist/query/queryDomain.js.map +0 -1
  135. package/dist/query/queryDomain.step.d.ts.map +0 -1
  136. package/dist/query/queryDomain.step.js.map +0 -1
  137. package/dist/sandbox/steps.d.ts.map +0 -1
  138. package/dist/sandbox/steps.js.map +0 -1
  139. package/dist/sandbox.steps.d.ts.map +0 -1
  140. package/dist/sandbox.steps.js.map +0 -1
  141. package/dist/schema.d.ts.map +0 -1
  142. package/dist/schema.js.map +0 -1
  143. package/dist/service.d.ts.map +0 -1
  144. package/dist/service.js.map +0 -1
  145. package/dist/skill.d.ts.map +0 -1
  146. package/dist/skill.js.map +0 -1
  147. package/dist/transform/filepreview.d.ts.map +0 -1
  148. package/dist/transform/filepreview.js.map +0 -1
  149. package/dist/transform/index.d.ts.map +0 -1
  150. package/dist/transform/index.js.map +0 -1
  151. package/dist/transform/prompts.d.ts.map +0 -1
  152. package/dist/transform/prompts.js.map +0 -1
  153. package/dist/transform/transform-dataset.agent.d.ts.map +0 -1
  154. package/dist/transform/transform-dataset.agent.js.map +0 -1
  155. package/dist/transform/transformDataset.d.ts.map +0 -1
  156. package/dist/transform/transformDataset.js.map +0 -1
@@ -0,0 +1,11 @@
1
+ // Generated by packages/dataset/scripts/generate-python-scripts-module.js.
2
+ // Do not edit by hand.
3
+ export const PYTHON_SCRIPT_BASE64_BY_NAME = Object.freeze({
4
+ "file_metadata.py": "aW1wb3J0IHN5cwppbXBvcnQgb3MKaW1wb3J0IGpzb24KaW1wb3J0IGNzdgoKZmlsZV9wYXRoID0gc3lzLmFyZ3ZbMV0KCmluZm8gPSB7CiAgICAiZmlsZV9uYW1lIjogb3MucGF0aC5iYXNlbmFtZShmaWxlX3BhdGgpLAogICAgImV4dGVuc2lvbiI6IG9zLnBhdGguc3BsaXRleHQoZmlsZV9wYXRoKVsxXS5sb3dlcigpLAogICAgInNpemVfYnl0ZXMiOiBvcy5wYXRoLmdldHNpemUoZmlsZV9wYXRoKSBpZiBvcy5wYXRoLmV4aXN0cyhmaWxlX3BhdGgpIGVsc2UgTm9uZQp9CgppZiBpbmZvWyJzaXplX2J5dGVzIl0gaXMgbm90IE5vbmU6CiAgICB1bml0cyA9IFsiQiIsICJLQiIsICJNQiIsICJHQiIsICJUQiIsICJQQiJdCiAgICBzaXplID0gZmxvYXQoaW5mb1sic2l6ZV9ieXRlcyJdKQogICAgaWR4ID0gMAogICAgd2hpbGUgc2l6ZSA+PSAxMDI0IGFuZCBpZHggPCBsZW4odW5pdHMpIC0gMToKICAgICAgICBzaXplIC89IDEwMjQKICAgICAgICBpZHggKz0gMQogICAgaW5mb1sic2l6ZV9odW1hbiJdID0gZiJ7c2l6ZTouMmZ9IHt1bml0c1tpZHhdfSIKCnJvd19lc3RpbWF0ZSA9IE5vbmUKY29sdW1uX2VzdGltYXRlID0gTm9uZQpoZWFkZXJfcHJldmlldyA9IE5vbmUKCnRyeToKICAgIGlmIGluZm9bImV4dGVuc2lvbiJdIGluIFsiLnhsc3giLCAiLnhscyJdOgogICAgICAgIGltcG9ydCBvcGVucHl4bAogICAgICAgIHdiID0gb3BlbnB5eGwubG9hZF93b3JrYm9vayhmaWxlX3BhdGgsIHJlYWRfb25seT1UcnVlLCBkYXRhX29ubHk9RmFsc2UpCiAgICAgICAgc2hlZXRzID0gW10KICAgICAgICBmaXJzdF9zaGVldF9yb3dzID0gMAogICAgICAgIGZpcnN0X3NoZWV0X2NvbHVtbnMgPSAwCiAgICAgICAgZm9yIGlkeCwgd3MgaW4gZW51bWVyYXRlKHdiLndvcmtzaGVldHMpOgogICAgICAgICAgICByb3dzID0gd3MubWF4X3JvdyBvciAwCiAgICAgICAgICAgIGNvbHMgPSB3cy5tYXhfY29sdW1uIG9yIDAKICAgICAgICAgICAgaWYgaWR4ID09IDA6CiAgICAgICAgICAgICAgICBmaXJzdF9zaGVldF9yb3dzID0gcm93cwogICAgICAgICAgICAgICAgZmlyc3Rfc2hlZXRfY29sdW1ucyA9IGNvbHMKICAgICAgICAgICAgc2hlZXRfaW5mbyA9IHsibmFtZSI6IHdzLnRpdGxlLCAicm93cyI6IHJvd3MsICJjb2x1bW5zIjogY29sc30KICAgICAgICAgICAgc2hlZXRzLmFwcGVuZChzaGVldF9pbmZvKQogICAgICAgIGluZm9bInNoZWV0X3N0YXRzIl0gPSBzaGVldHMKICAgICAgICByb3dfZXN0aW1hdGUgPSBmaXJzdF9zaGVldF9yb3dzCiAgICAgICAgY29sdW1uX2VzdGltYXRlID0gZmlyc3Rfc2hlZXRfY29sdW1ucyBpZiBmaXJzdF9zaGVldF9jb2x1bW5zID4gMCBlbHNlIE5vbmUKICAgICAgICB0cnk6CiAgICAgICAgICAgIGZpcnN0X3NoZWV0ID0gd2Iud29ya3NoZWV0c1swXQogICAgICAgICAgICBoZWFkZXJfcHJldmlldyA9IFtzdHIoY2VsbC52YWx1ZSkgaWYgY2VsbC52YWx1ZSBpcyBub3QgTm9uZSBlbHNlICIiIGZvciBjZWxsIGluIG5leHQoZmlyc3Rfc2hlZXQuaXRlcl9yb3dzKG1pbl9yb3c9MSwgbWF4X3Jvdz0xKSldCiAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKICAgICAgICAgICAgaGVhZGVyX3ByZXZpZXcgPSBOb25lCiAgICBlbHNlOgogICAgICAgIHJvd19jb3VudCA9IDAKICAgICAgICB3aXRoIG9wZW4oZmlsZV9wYXRoLCAicmIiKSBhcyBmaDoKICAgICAgICAgICAgZm9yIF8gaW4gZmg6CiAgICAgICAgICAgICAgICByb3dfY291bnQgKz0gMQogICAgICAgIHJvd19lc3RpbWF0ZSA9IHJvd19jb3VudCAtIDEgaWYgcm93X2NvdW50ID4gMCBlbHNlIDAKICAgICAgICB3aXRoIG9wZW4oZmlsZV9wYXRoLCAiciIsIGVuY29kaW5nPSJ1dGYtOCIsIGVycm9ycz0iaWdub3JlIikgYXMgZmg6CiAgICAgICAgICAgIHJlYWRlciA9IGNzdi5yZWFkZXIoZmgpCiAgICAgICAgICAgIGhlYWRlcl9wcmV2aWV3ID0gbmV4dChyZWFkZXIsIFtdKQogICAgICAgIGNvbHVtbl9lc3RpbWF0ZSA9IGxlbihoZWFkZXJfcHJldmlldykgaWYgaGVhZGVyX3ByZXZpZXcgZWxzZSBOb25lCmV4Y2VwdCBFeGNlcHRpb24gYXMgZXJyb3I6CiAgICBpbmZvWyJtZXRhZGF0YV9lcnJvciJdID0gc3RyKGVycm9yKQoKaWYgcm93X2VzdGltYXRlIGlzIG5vdCBOb25lOgogICAgaW5mb1sicm93X2NvdW50X2VzdGltYXRlIl0gPSByb3dfZXN0aW1hdGUKaWYgY29sdW1uX2VzdGltYXRlIGlzIG5vdCBOb25lOgogICAgaW5mb1siY29sdW1uX2NvdW50X2VzdGltYXRlIl0gPSBjb2x1bW5fZXN0aW1hdGUKaWYgaGVhZGVyX3ByZXZpZXcgaXMgbm90IE5vbmU6CiAgICBpbmZvWyJoZWFkZXJfcHJldmlldyJdID0gaGVhZGVyX3ByZXZpZXcKCnByaW50KGpzb24uZHVtcHMoaW5mbywgZW5zdXJlX2FzY2lpPUZhbHNlKSkKCg==",
5
+ "preview_head_csv.py": "aW1wb3J0IHN5cwppbXBvcnQgY3N2CmltcG9ydCB4bWwuZXRyZWUuRWxlbWVudFRyZWUgYXMgRVQKCmZpbGVfcGF0aCA9IHN5cy5hcmd2WzFdCm5fcm93cyA9IGludChzeXMuYXJndlsyXSkgaWYgbGVuKHN5cy5hcmd2KSA+IDIgZWxzZSAxMAoKcm9vdCA9IEVULkVsZW1lbnQoInJvd3MiKQoKd2l0aCBvcGVuKGZpbGVfcGF0aCwgInIiLCBlbmNvZGluZz0idXRmLTgiLCBlcnJvcnM9Imlnbm9yZSIpIGFzIGZoOgogICAgcmVhZGVyID0gY3N2LnJlYWRlcihmaCkKICAgIGZvciByb3dfaWR4LCByb3dfZGF0YSBpbiBlbnVtZXJhdGUocmVhZGVyKToKICAgICAgICBpZiByb3dfaWR4ID49IG5fcm93czoKICAgICAgICAgICAgYnJlYWsKICAgICAgICByb3dfZWxlbSA9IEVULlN1YkVsZW1lbnQocm9vdCwgInJvdyIsIGluZGV4PXN0cihyb3dfaWR4KSkKICAgICAgICBmb3IgY29sX2lkeCwgY2VsbF92YWx1ZSBpbiBlbnVtZXJhdGUocm93X2RhdGEpOgogICAgICAgICAgICBjZWxsX2VsZW0gPSBFVC5TdWJFbGVtZW50KHJvd19lbGVtLCAiY2VsbCIsIGNvbHVtbj1zdHIoY29sX2lkeCkpCiAgICAgICAgICAgIGNlbGxfZWxlbS50ZXh0ID0gY2VsbF92YWx1ZSBpZiBjZWxsX3ZhbHVlIGVsc2UgIiIKCnRyZWUgPSBFVC5FbGVtZW50VHJlZShyb290KQpFVC5pbmRlbnQodHJlZSwgc3BhY2U9IiAgIikKcHJpbnQoJzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+JykKcHJpbnQoRVQudG9zdHJpbmcocm9vdCwgZW5jb2Rpbmc9InVuaWNvZGUiKSkKCg==",
6
+ "preview_head_excel.py": "aW1wb3J0IHN5cwppbXBvcnQgb3BlbnB5eGwKaW1wb3J0IHhtbC5ldHJlZS5FbGVtZW50VHJlZSBhcyBFVAoKZmlsZV9wYXRoID0gc3lzLmFyZ3ZbMV0Kbl9yb3dzID0gaW50KHN5cy5hcmd2WzJdKSBpZiBsZW4oc3lzLmFyZ3YpID4gMiBlbHNlIDEwCgp3YiA9IG9wZW5weXhsLmxvYWRfd29ya2Jvb2soZmlsZV9wYXRoLCByZWFkX29ubHk9VHJ1ZSwgZGF0YV9vbmx5PVRydWUpCndzID0gd2Iud29ya3NoZWV0c1swXQoKcm9vdCA9IEVULkVsZW1lbnQoInJvd3MiKQoKcm93c19wcmludGVkID0gMApmb3Igcm93X2lkeCwgcm93IGluIGVudW1lcmF0ZSh3cy5pdGVyX3Jvd3MoKSk6CiAgICBpZiByb3dzX3ByaW50ZWQgPj0gbl9yb3dzOgogICAgICAgIGJyZWFrCiAgICByb3dfZWxlbSA9IEVULlN1YkVsZW1lbnQocm9vdCwgInJvdyIsIGluZGV4PXN0cihyb3dfaWR4KSkKICAgIAogICAgZm9yIGNvbF9pZHgsIGNlbGwgaW4gZW51bWVyYXRlKHJvdyk6CiAgICAgICAgY2VsbF9lbGVtID0gRVQuU3ViRWxlbWVudChyb3dfZWxlbSwgImNlbGwiLCBjb2x1bW49c3RyKGNvbF9pZHgpKQogICAgICAgIGNlbGxfdmFsdWUgPSBjZWxsLnZhbHVlCiAgICAgICAgY2VsbF9lbGVtLnRleHQgPSBzdHIoY2VsbF92YWx1ZSkgaWYgY2VsbF92YWx1ZSBpcyBub3QgTm9uZSBlbHNlICIiCiAgICAKICAgIHJvd3NfcHJpbnRlZCArPSAxCgp0cmVlID0gRVQuRWxlbWVudFRyZWUocm9vdCkKRVQuaW5kZW50KHRyZWUsIHNwYWNlPSIgICIpCnByaW50KCc8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PicpCnByaW50KEVULnRvc3RyaW5nKHJvb3QsIGVuY29kaW5nPSJ1bmljb2RlIikpCgo=",
7
+ "preview_mid_csv.py": "aW1wb3J0IHN5cwppbXBvcnQgY3N2CmltcG9ydCByYW5kb20KaW1wb3J0IHhtbC5ldHJlZS5FbGVtZW50VHJlZSBhcyBFVAoKZmlsZV9wYXRoID0gc3lzLmFyZ3ZbMV0Kc3RhcnRfcm93ID0gaW50KHN5cy5hcmd2WzJdKQplbmRfcm93ID0gaW50KHN5cy5hcmd2WzNdKQpuX3NhbXBsZXMgPSBpbnQoc3lzLmFyZ3ZbNF0pIGlmIGxlbihzeXMuYXJndikgPiA0IGVsc2UgMTAKCnJvb3QgPSBFVC5FbGVtZW50KCJyb3dzIikKCndpdGggb3BlbihmaWxlX3BhdGgsICJyIiwgZW5jb2Rpbmc9InV0Zi04IiwgZXJyb3JzPSJpZ25vcmUiKSBhcyBmaDoKICAgIHJlYWRlciA9IGNzdi5yZWFkZXIoZmgpCiAgICBhbGxfcm93cyA9IGxpc3QocmVhZGVyKQoKbWlkX3NlY3Rpb24gPSBhbGxfcm93c1tzdGFydF9yb3c6ZW5kX3Jvd10KCmlmIGxlbihtaWRfc2VjdGlvbikgPD0gbl9zYW1wbGVzOgogICAgc2FtcGxlZF93aXRoX2lkeCA9IFsoaSwgcm93KSBmb3IgaSwgcm93IGluIGVudW1lcmF0ZShtaWRfc2VjdGlvbildCmVsc2U6CiAgICByYW5kb20uc2VlZCg0MikKICAgIHNhbXBsZWRfd2l0aF9pZHggPSBzb3J0ZWQocmFuZG9tLnNhbXBsZShsaXN0KGVudW1lcmF0ZShtaWRfc2VjdGlvbikpLCBuX3NhbXBsZXMpLCBrZXk9bGFtYmRhIHg6IHhbMF0pCgpmb3IgcmVsYXRpdmVfaWR4LCByb3dfZGF0YSBpbiBzYW1wbGVkX3dpdGhfaWR4OgogICAgYWN0dWFsX2lkeCA9IHN0YXJ0X3JvdyArIHJlbGF0aXZlX2lkeAogICAgcm93X2VsZW0gPSBFVC5TdWJFbGVtZW50KHJvb3QsICJyb3ciLCBpbmRleD1zdHIoYWN0dWFsX2lkeCkpCiAgICBmb3IgY29sX2lkeCwgY2VsbF92YWx1ZSBpbiBlbnVtZXJhdGUocm93X2RhdGEpOgogICAgICAgIGNlbGxfZWxlbSA9IEVULlN1YkVsZW1lbnQocm93X2VsZW0sICJjZWxsIiwgY29sdW1uPXN0cihjb2xfaWR4KSkKICAgICAgICBjZWxsX2VsZW0udGV4dCA9IGNlbGxfdmFsdWUgaWYgY2VsbF92YWx1ZSBlbHNlICIiCgp0cmVlID0gRVQuRWxlbWVudFRyZWUocm9vdCkKRVQuaW5kZW50KHRyZWUsIHNwYWNlPSIgICIpCnByaW50KCc8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PicpCnByaW50KEVULnRvc3RyaW5nKHJvb3QsIGVuY29kaW5nPSJ1bmljb2RlIikpCgo=",
8
+ "preview_mid_excel.py": "aW1wb3J0IHN5cwppbXBvcnQgcmFuZG9tCmltcG9ydCBvcGVucHl4bAppbXBvcnQgeG1sLmV0cmVlLkVsZW1lbnRUcmVlIGFzIEVUCgpmaWxlX3BhdGggPSBzeXMuYXJndlsxXQpzdGFydF9yb3cgPSBpbnQoc3lzLmFyZ3ZbMl0pCmVuZF9yb3cgPSBpbnQoc3lzLmFyZ3ZbM10pCm5fc2FtcGxlcyA9IGludChzeXMuYXJndls0XSkgaWYgbGVuKHN5cy5hcmd2KSA+IDQgZWxzZSAxMAoKd2IgPSBvcGVucHl4bC5sb2FkX3dvcmtib29rKGZpbGVfcGF0aCwgcmVhZF9vbmx5PVRydWUsIGRhdGFfb25seT1UcnVlKQp3cyA9IHdiLndvcmtzaGVldHNbMF0KCnJvb3QgPSBFVC5FbGVtZW50KCJyb3dzIikKCmFsbF9yb3dzID0gbGlzdCh3cy5pdGVyX3Jvd3MoKSkKbWlkX3NlY3Rpb24gPSBhbGxfcm93c1tzdGFydF9yb3c6ZW5kX3Jvd10KCmlmIGxlbihtaWRfc2VjdGlvbikgPD0gbl9zYW1wbGVzOgogICAgc2FtcGxlZF93aXRoX2lkeCA9IFsoaSwgcm93KSBmb3IgaSwgcm93IGluIGVudW1lcmF0ZShtaWRfc2VjdGlvbildCmVsc2U6CiAgICByYW5kb20uc2VlZCg0MikKICAgIGluZGljZXMgPSBzb3J0ZWQocmFuZG9tLnNhbXBsZShyYW5nZShsZW4obWlkX3NlY3Rpb24pKSwgbl9zYW1wbGVzKSkKICAgIHNhbXBsZWRfd2l0aF9pZHggPSBbKGksIG1pZF9zZWN0aW9uW2ldKSBmb3IgaSBpbiBpbmRpY2VzXQoKZm9yIHJlbGF0aXZlX2lkeCwgcm93IGluIHNhbXBsZWRfd2l0aF9pZHg6CiAgICBhY3R1YWxfaWR4ID0gc3RhcnRfcm93ICsgcmVsYXRpdmVfaWR4CiAgICByb3dfZWxlbSA9IEVULlN1YkVsZW1lbnQocm9vdCwgInJvdyIsIGluZGV4PXN0cihhY3R1YWxfaWR4KSkKICAgIAogICAgZm9yIGNvbF9pZHgsIGNlbGwgaW4gZW51bWVyYXRlKHJvdyk6CiAgICAgICAgY2VsbF9lbGVtID0gRVQuU3ViRWxlbWVudChyb3dfZWxlbSwgImNlbGwiLCBjb2x1bW49c3RyKGNvbF9pZHgpKQogICAgICAgIGNlbGxfdmFsdWUgPSBjZWxsLnZhbHVlCiAgICAgICAgY2VsbF9lbGVtLnRleHQgPSBzdHIoY2VsbF92YWx1ZSkgaWYgY2VsbF92YWx1ZSBpcyBub3QgTm9uZSBlbHNlICIiCgp0cmVlID0gRVQuRWxlbWVudFRyZWUocm9vdCkKRVQuaW5kZW50KHRyZWUsIHNwYWNlPSIgICIpCnByaW50KCc8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PicpCnByaW50KEVULnRvc3RyaW5nKHJvb3QsIGVuY29kaW5nPSJ1bmljb2RlIikpCgo=",
9
+ "preview_tail_csv.py": "aW1wb3J0IHN5cwppbXBvcnQgY3N2CmltcG9ydCB4bWwuZXRyZWUuRWxlbWVudFRyZWUgYXMgRVQKZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgZGVxdWUKCmZpbGVfcGF0aCA9IHN5cy5hcmd2WzFdCm5fcm93cyA9IGludChzeXMuYXJndlsyXSkgaWYgbGVuKHN5cy5hcmd2KSA+IDIgZWxzZSAxMAoKcm9vdCA9IEVULkVsZW1lbnQoInJvd3MiKQoKd2l0aCBvcGVuKGZpbGVfcGF0aCwgInIiLCBlbmNvZGluZz0idXRmLTgiLCBlcnJvcnM9Imlnbm9yZSIpIGFzIGZoOgogICAgcmVhZGVyID0gY3N2LnJlYWRlcihmaCkKICAgIGFsbF9yb3dzID0gbGlzdChyZWFkZXIpCiAgICB0YWlsX3Jvd3MgPSBhbGxfcm93c1stbl9yb3dzOl0gaWYgbGVuKGFsbF9yb3dzKSA+IG5fcm93cyBlbHNlIGFsbF9yb3dzCiAgICBzdGFydF9pbmRleCA9IGxlbihhbGxfcm93cykgLSBsZW4odGFpbF9yb3dzKQogICAgCiAgICBmb3IgaWR4LCByb3dfZGF0YSBpbiBlbnVtZXJhdGUodGFpbF9yb3dzKToKICAgICAgICByb3dfZWxlbSA9IEVULlN1YkVsZW1lbnQocm9vdCwgInJvdyIsIGluZGV4PXN0cihzdGFydF9pbmRleCArIGlkeCkpCiAgICAgICAgZm9yIGNvbF9pZHgsIGNlbGxfdmFsdWUgaW4gZW51bWVyYXRlKHJvd19kYXRhKToKICAgICAgICAgICAgY2VsbF9lbGVtID0gRVQuU3ViRWxlbWVudChyb3dfZWxlbSwgImNlbGwiLCBjb2x1bW49c3RyKGNvbF9pZHgpKQogICAgICAgICAgICBjZWxsX2VsZW0udGV4dCA9IGNlbGxfdmFsdWUgaWYgY2VsbF92YWx1ZSBlbHNlICIiCgp0cmVlID0gRVQuRWxlbWVudFRyZWUocm9vdCkKRVQuaW5kZW50KHRyZWUsIHNwYWNlPSIgICIpCnByaW50KCc8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PicpCnByaW50KEVULnRvc3RyaW5nKHJvb3QsIGVuY29kaW5nPSJ1bmljb2RlIikpCgo=",
10
+ "preview_tail_excel.py": "aW1wb3J0IHN5cwppbXBvcnQgb3BlbnB5eGwKaW1wb3J0IHhtbC5ldHJlZS5FbGVtZW50VHJlZSBhcyBFVAoKZmlsZV9wYXRoID0gc3lzLmFyZ3ZbMV0Kbl9yb3dzID0gaW50KHN5cy5hcmd2WzJdKSBpZiBsZW4oc3lzLmFyZ3YpID4gMiBlbHNlIDEwCgp3YiA9IG9wZW5weXhsLmxvYWRfd29ya2Jvb2soZmlsZV9wYXRoLCByZWFkX29ubHk9VHJ1ZSwgZGF0YV9vbmx5PVRydWUpCndzID0gd2Iud29ya3NoZWV0c1swXQoKcm9vdCA9IEVULkVsZW1lbnQoInJvd3MiKQoKYWxsX3Jvd3MgPSBsaXN0KHdzLml0ZXJfcm93cygpKQp0YWlsX3Jvd3MgPSBhbGxfcm93c1stbl9yb3dzOl0gaWYgbGVuKGFsbF9yb3dzKSA+IG5fcm93cyBlbHNlIGFsbF9yb3dzCnN0YXJ0X2luZGV4ID0gbGVuKGFsbF9yb3dzKSAtIGxlbih0YWlsX3Jvd3MpCgpmb3IgaWR4LCByb3cgaW4gZW51bWVyYXRlKHRhaWxfcm93cyk6CiAgICByb3dfZWxlbSA9IEVULlN1YkVsZW1lbnQocm9vdCwgInJvdyIsIGluZGV4PXN0cihzdGFydF9pbmRleCArIGlkeCkpCiAgICAKICAgIGZvciBjb2xfaWR4LCBjZWxsIGluIGVudW1lcmF0ZShyb3cpOgogICAgICAgIGNlbGxfZWxlbSA9IEVULlN1YkVsZW1lbnQocm93X2VsZW0sICJjZWxsIiwgY29sdW1uPXN0cihjb2xfaWR4KSkKICAgICAgICBjZWxsX3ZhbHVlID0gY2VsbC52YWx1ZQogICAgICAgIGNlbGxfZWxlbS50ZXh0ID0gc3RyKGNlbGxfdmFsdWUpIGlmIGNlbGxfdmFsdWUgaXMgbm90IE5vbmUgZWxzZSAiIgoKdHJlZSA9IEVULkVsZW1lbnRUcmVlKHJvb3QpCkVULmluZGVudCh0cmVlLCBzcGFjZT0iICAiKQpwcmludCgnPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4nKQpwcmludChFVC50b3N0cmluZyhyb290LCBlbmNvZGluZz0idW5pY29kZSIpKQoK"
11
+ });
@@ -1,9 +1,8 @@
1
1
  export declare function readInstantFileStep(params: {
2
- env: any;
2
+ runtime: any;
3
3
  fileId: string;
4
4
  }): Promise<{
5
5
  url: string;
6
6
  contentDisposition?: string;
7
7
  contentBase64: string;
8
8
  }>;
9
- //# sourceMappingURL=steps.d.ts.map
@@ -1,10 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.readInstantFileStep = readInstantFileStep;
4
- const runtime_1 = require("@ekairos/events/runtime");
5
- async function readInstantFileStep(params) {
1
+ async function getRuntimeDb(runtime) {
2
+ if (!runtime) {
3
+ throw new Error("Dataset file step requires runtime.");
4
+ }
5
+ const db = runtime.db;
6
+ return typeof db === "function" ? await db.call(runtime) : db;
7
+ }
8
+ export async function readInstantFileStep(params) {
6
9
  "use step";
7
- const db = (await (0, runtime_1.getContextRuntime)(params.env)).db;
10
+ const db = await getRuntimeDb(params.runtime);
8
11
  const fileQuery = await db.query({
9
12
  $files: { $: { where: { id: params.fileId }, limit: 1 } },
10
13
  });
@@ -20,4 +23,3 @@ async function readInstantFileStep(params) {
20
23
  contentBase64: Buffer.from(fileBuffer).toString("base64"),
21
24
  };
22
25
  }
23
- //# sourceMappingURL=steps.js.map
package/dist/id.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare function createDatasetId(): string;
package/dist/id.js ADDED
@@ -0,0 +1,10 @@
1
+ export function createDatasetId() {
2
+ const uuid = globalThis.crypto?.randomUUID?.();
3
+ if (typeof uuid === "string" && uuid.length > 0)
4
+ return uuid;
5
+ return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
6
+ const r = (Math.random() * 16) | 0;
7
+ const v = c === "x" ? r : (r & 0x3) | 0x8;
8
+ return v.toString(16);
9
+ });
10
+ }
package/dist/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
- export * from "./dataset";
2
- export * from "./domain";
3
- export * from "./materializeDataset.tool";
4
- export * from "./schema";
5
- export * from "./service";
6
- export * from "./skill";
7
- //# sourceMappingURL=index.d.ts.map
1
+ export * from "./dataset.js";
2
+ export * from "./contextWorkspace.js";
3
+ export * from "./domain.js";
4
+ export * from "./materializeDataset.tool.js";
5
+ export * from "./schema.js";
6
+ export * from "./service.js";
7
+ export { registerFileParseContext } from "./file/file-dataset.agent.js";
8
+ export { registerTransformDatasetContext } from "./transform/index.js";
package/dist/index.js CHANGED
@@ -1,23 +1,8 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./dataset"), exports);
18
- __exportStar(require("./domain"), exports);
19
- __exportStar(require("./materializeDataset.tool"), exports);
20
- __exportStar(require("./schema"), exports);
21
- __exportStar(require("./service"), exports);
22
- __exportStar(require("./skill"), exports);
23
- //# sourceMappingURL=index.js.map
1
+ export * from "./dataset.js";
2
+ export * from "./contextWorkspace.js";
3
+ export * from "./domain.js";
4
+ export * from "./materializeDataset.tool.js";
5
+ export * from "./schema.js";
6
+ export * from "./service.js";
7
+ export { registerFileParseContext } from "./file/file-dataset.agent.js";
8
+ export { registerTransformDatasetContext } from "./transform/index.js";
@@ -1,31 +1,45 @@
1
1
  import { z } from "zod";
2
2
  import type { DomainSchemaResult } from "@ekairos/domain";
3
+ import type { EkairosRuntime, RuntimeForDomain } from "@ekairos/domain/runtime";
3
4
  import type { ContextReactor } from "@ekairos/events";
5
+ import { datasetDomain } from "./schema.js";
4
6
  declare const materializeDatasetToolInputSchema: z.ZodObject<{
5
7
  datasetId: z.ZodOptional<z.ZodString>;
6
8
  sandboxId: z.ZodOptional<z.ZodString>;
7
9
  title: z.ZodOptional<z.ZodString>;
8
- sources: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
9
- kind: z.ZodLiteral<"file">;
10
- fileId: z.ZodString;
11
- description: z.ZodOptional<z.ZodString>;
10
+ context: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
11
+ id: z.ZodString;
12
12
  }, z.core.$strip>, z.ZodObject<{
13
- kind: z.ZodLiteral<"text">;
14
- text: z.ZodString;
15
- mimeType: z.ZodOptional<z.ZodString>;
13
+ key: z.ZodString;
14
+ }, z.core.$strip>]>>;
15
+ files: z.ZodOptional<z.ZodArray<z.ZodObject<{
16
+ description: z.ZodOptional<z.ZodString>;
17
+ fileId: z.ZodString;
18
+ }, z.core.$strip>>>;
19
+ texts: z.ZodOptional<z.ZodArray<z.ZodObject<{
16
20
  name: z.ZodOptional<z.ZodString>;
21
+ text: z.ZodString;
17
22
  description: z.ZodOptional<z.ZodString>;
18
- }, z.core.$strip>, z.ZodObject<{
19
- kind: z.ZodLiteral<"dataset">;
23
+ mimeType: z.ZodOptional<z.ZodString>;
24
+ }, z.core.$strip>>>;
25
+ datasets: z.ZodOptional<z.ZodArray<z.ZodObject<{
20
26
  datasetId: z.ZodString;
21
27
  description: z.ZodOptional<z.ZodString>;
22
- }, z.core.$strip>, z.ZodObject<{
23
- kind: z.ZodLiteral<"query">;
24
- query: z.ZodRecord<z.ZodString, z.ZodAny>;
28
+ }, z.core.$strip>>>;
29
+ queries: z.ZodOptional<z.ZodArray<z.ZodObject<{
25
30
  title: z.ZodOptional<z.ZodString>;
31
+ query: z.ZodRecord<z.ZodString, z.ZodAny>;
26
32
  explanation: z.ZodOptional<z.ZodString>;
27
- }, z.core.$strip>], "kind">>;
33
+ }, z.core.$strip>>>;
28
34
  instructions: z.ZodOptional<z.ZodString>;
35
+ mode: z.ZodOptional<z.ZodEnum<{
36
+ schema: "schema";
37
+ auto: "auto";
38
+ }>>;
39
+ output: z.ZodOptional<z.ZodEnum<{
40
+ object: "object";
41
+ rows: "rows";
42
+ }>>;
29
43
  schema: z.ZodOptional<z.ZodObject<{
30
44
  title: z.ZodOptional<z.ZodString>;
31
45
  description: z.ZodOptional<z.ZodString>;
@@ -33,38 +47,45 @@ declare const materializeDatasetToolInputSchema: z.ZodObject<{
33
47
  }, z.core.$strip>>;
34
48
  first: z.ZodOptional<z.ZodBoolean>;
35
49
  }, z.core.$strip>;
36
- export declare function createMaterializeDatasetTool<Env extends {
37
- orgId: string;
38
- }>(params: {
39
- env: Env;
50
+ type AnyMaterializeDatasetRuntime = EkairosRuntime<any, any, any>;
51
+ type MaterializeDatasetRuntimeHandle<Runtime extends AnyMaterializeDatasetRuntime> = RuntimeForDomain<Runtime, typeof datasetDomain>;
52
+ type CompatibleToolQueryDomain<Runtime extends AnyMaterializeDatasetRuntime, QueryDomain extends DomainSchemaResult> = RuntimeForDomain<Runtime, QueryDomain> extends never ? never : QueryDomain;
53
+ export declare function createMaterializeDatasetTool<Runtime extends AnyMaterializeDatasetRuntime, QueryDomain extends DomainSchemaResult>(params: {
54
+ runtime: Runtime & MaterializeDatasetRuntimeHandle<Runtime>;
40
55
  reactor?: ContextReactor<any, any>;
41
- queryDomain: DomainSchemaResult;
56
+ queryDomain: QueryDomain & CompatibleToolQueryDomain<Runtime, QueryDomain>;
42
57
  toolName?: string;
43
58
  }): import("ai").Tool<{
44
- sources: ({
45
- kind: "file";
59
+ datasetId?: string | undefined;
60
+ sandboxId?: string | undefined;
61
+ title?: string | undefined;
62
+ context?: {
63
+ id: string;
64
+ } | {
65
+ key: string;
66
+ } | undefined;
67
+ files?: {
46
68
  fileId: string;
47
69
  description?: string | undefined;
48
- } | {
49
- kind: "text";
70
+ }[] | undefined;
71
+ texts?: {
50
72
  text: string;
51
- mimeType?: string | undefined;
52
73
  name?: string | undefined;
53
74
  description?: string | undefined;
54
- } | {
55
- kind: "dataset";
75
+ mimeType?: string | undefined;
76
+ }[] | undefined;
77
+ datasets?: {
56
78
  datasetId: string;
57
79
  description?: string | undefined;
58
- } | {
59
- kind: "query";
80
+ }[] | undefined;
81
+ queries?: {
60
82
  query: Record<string, any>;
61
83
  title?: string | undefined;
62
84
  explanation?: string | undefined;
63
- })[];
64
- datasetId?: string | undefined;
65
- sandboxId?: string | undefined;
66
- title?: string | undefined;
85
+ }[] | undefined;
67
86
  instructions?: string | undefined;
87
+ mode?: "schema" | "auto" | undefined;
88
+ output?: "object" | "rows" | undefined;
68
89
  schema?: {
69
90
  schema: any;
70
91
  title?: string | undefined;
@@ -75,4 +96,3 @@ export declare function createMaterializeDatasetTool<Env extends {
75
96
  datasetId: string;
76
97
  }>;
77
98
  export { materializeDatasetToolInputSchema };
78
- //# sourceMappingURL=materializeDataset.tool.d.ts.map
@@ -1,88 +1,104 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.materializeDatasetToolInputSchema = void 0;
4
- exports.createMaterializeDatasetTool = createMaterializeDatasetTool;
5
- const ai_1 = require("ai");
6
- const zod_1 = require("zod");
7
- const dataset_1 = require("./dataset");
8
- const fileSourceSchema = zod_1.z.object({
9
- kind: zod_1.z.literal("file"),
10
- fileId: zod_1.z.string(),
11
- description: zod_1.z.string().optional(),
1
+ import { tool } from "ai";
2
+ import { z } from "zod";
3
+ import { dataset } from "./dataset.js";
4
+ const fileResourceSchema = z.object({
5
+ kind: z.literal("file"),
6
+ fileId: z.string(),
7
+ description: z.string().optional(),
12
8
  });
13
- const textSourceSchema = zod_1.z.object({
14
- kind: zod_1.z.literal("text"),
15
- text: zod_1.z.string(),
16
- mimeType: zod_1.z.string().optional(),
17
- name: zod_1.z.string().optional(),
18
- description: zod_1.z.string().optional(),
9
+ const textResourceSchema = z.object({
10
+ kind: z.literal("text"),
11
+ text: z.string(),
12
+ mimeType: z.string().optional(),
13
+ name: z.string().optional(),
14
+ description: z.string().optional(),
19
15
  });
20
- const datasetSourceSchema = zod_1.z.object({
21
- kind: zod_1.z.literal("dataset"),
22
- datasetId: zod_1.z.string(),
23
- description: zod_1.z.string().optional(),
16
+ const datasetResourceSchema = z.object({
17
+ kind: z.literal("dataset"),
18
+ datasetId: z.string(),
19
+ description: z.string().optional(),
24
20
  });
25
- const querySourceSchema = zod_1.z.object({
26
- kind: zod_1.z.literal("query"),
27
- query: zod_1.z.record(zod_1.z.string(), zod_1.z.any()),
28
- title: zod_1.z.string().optional(),
29
- explanation: zod_1.z.string().optional(),
21
+ const queryResourceSchema = z.object({
22
+ kind: z.literal("query"),
23
+ query: z.record(z.string(), z.any()),
24
+ title: z.string().optional(),
25
+ explanation: z.string().optional(),
30
26
  });
31
- const datasetSchemaSchema = zod_1.z.object({
32
- title: zod_1.z.string().optional(),
33
- description: zod_1.z.string().optional(),
34
- schema: zod_1.z.any(),
27
+ const contextInputSchema = z.union([
28
+ z.object({ id: z.string() }),
29
+ z.object({ key: z.string() }),
30
+ ]);
31
+ const datasetSchemaSchema = z.object({
32
+ title: z.string().optional(),
33
+ description: z.string().optional(),
34
+ schema: z.any(),
35
35
  });
36
- const materializeDatasetToolInputSchema = zod_1.z.object({
37
- datasetId: zod_1.z.string().optional(),
38
- sandboxId: zod_1.z.string().optional(),
39
- title: zod_1.z.string().optional(),
40
- sources: zod_1.z.array(zod_1.z.discriminatedUnion("kind", [
41
- fileSourceSchema,
42
- textSourceSchema,
43
- datasetSourceSchema,
44
- querySourceSchema,
45
- ])).min(1),
46
- instructions: zod_1.z.string().optional(),
36
+ const materializeDatasetToolInputSchema = z.object({
37
+ datasetId: z.string().optional(),
38
+ sandboxId: z.string().optional(),
39
+ title: z.string().optional(),
40
+ context: contextInputSchema.optional(),
41
+ files: z.array(fileResourceSchema.omit({ kind: true })).optional(),
42
+ texts: z.array(textResourceSchema.omit({ kind: true })).optional(),
43
+ datasets: z.array(datasetResourceSchema.omit({ kind: true })).optional(),
44
+ queries: z.array(queryResourceSchema.omit({ kind: true })).optional(),
45
+ instructions: z.string().optional(),
46
+ mode: z.enum(["auto", "schema"]).optional(),
47
+ output: z.enum(["rows", "object"]).optional(),
47
48
  schema: datasetSchemaSchema.optional(),
48
- first: zod_1.z.boolean().optional(),
49
+ first: z.boolean().optional(),
49
50
  });
50
- exports.materializeDatasetToolInputSchema = materializeDatasetToolInputSchema;
51
- function createMaterializeDatasetTool(params) {
52
- return (0, ai_1.tool)({
53
- description: "Materialize a dataset from declarative sources. Returns only the target datasetId. Query sources use the preconfigured runtime domain.",
51
+ export function createMaterializeDatasetTool(params) {
52
+ return tool({
53
+ description: "Materialize a dataset from declarative resources. Returns only the target datasetId. Query resources use the preconfigured runtime domain.",
54
54
  inputSchema: materializeDatasetToolInputSchema,
55
55
  execute: async (input) => {
56
- let builder = (0, dataset_1.dataset)(params.env);
56
+ let builder = dataset(params.runtime);
57
57
  if (input.title?.trim()) {
58
58
  builder = builder.title(input.title);
59
59
  }
60
60
  if (input.sandboxId?.trim()) {
61
61
  builder = builder.sandbox({ sandboxId: input.sandboxId });
62
62
  }
63
- for (const source of input.sources) {
64
- if (source.kind === "file") {
65
- builder = builder.fromFile(source);
66
- continue;
67
- }
68
- if (source.kind === "text") {
69
- builder = builder.fromText(source);
70
- continue;
71
- }
72
- if (source.kind === "dataset") {
73
- builder = builder.fromDataset(source);
74
- continue;
75
- }
63
+ const materialCount = (input.files?.length ?? 0) +
64
+ (input.texts?.length ?? 0) +
65
+ (input.datasets?.length ?? 0) +
66
+ (input.queries?.length ?? 0);
67
+ if (input.context && materialCount > 0) {
68
+ throw new Error("dataset_context_resource_is_exclusive");
69
+ }
70
+ if (!input.context && materialCount === 0) {
71
+ throw new Error("dataset_context_or_material_required");
72
+ }
73
+ if (input.context) {
74
+ builder = builder.fromContext(input.context);
75
+ }
76
+ for (const resource of input.files ?? []) {
77
+ builder = builder.fromFile(resource);
78
+ }
79
+ for (const resource of input.texts ?? []) {
80
+ builder = builder.fromText(resource);
81
+ }
82
+ for (const resource of input.datasets ?? []) {
83
+ builder = builder.fromDataset(resource);
84
+ }
85
+ for (const resource of input.queries ?? []) {
76
86
  builder = builder.fromQuery(params.queryDomain, {
77
- query: source.query,
78
- title: source.title,
79
- explanation: source.explanation,
87
+ query: resource.query,
88
+ title: resource.title,
89
+ explanation: resource.explanation,
80
90
  });
81
91
  }
92
+ if (input.output === "object") {
93
+ builder = builder.asObject();
94
+ }
95
+ else {
96
+ builder = builder.asRows();
97
+ }
82
98
  if (input.schema) {
83
99
  builder = builder.schema(input.schema);
84
100
  }
85
- else {
101
+ else if (input.mode === "auto" || input.mode === undefined) {
86
102
  builder = builder.inferSchema();
87
103
  }
88
104
  if (input.instructions?.trim()) {
@@ -99,4 +115,4 @@ function createMaterializeDatasetTool(params) {
99
115
  },
100
116
  });
101
117
  }
102
- //# sourceMappingURL=materializeDataset.tool.js.map
118
+ export { materializeDatasetToolInputSchema };
@@ -1,2 +1 @@
1
- export * from "./queryDomain";
2
- //# sourceMappingURL=index.d.ts.map
1
+ export * from "./queryDomain.js";
@@ -1,18 +1 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./queryDomain"), exports);
18
- //# sourceMappingURL=index.js.map
1
+ export * from "./queryDomain.js";
@@ -1,9 +1,8 @@
1
- import type { QueryDomainStepInput, QueryDomainStepResult } from "./queryDomain.step";
2
- export type QueryDomainInput = QueryDomainStepInput;
1
+ import { type QueryDomainStepInput, type QueryDomainStepResult } from "./queryDomain.step.js";
2
+ export type QueryDomainInput = Omit<QueryDomainStepInput, "runtime">;
3
3
  export type QueryDomainResult = QueryDomainStepResult;
4
4
  /**
5
5
  * Workflow-compatible domain query.
6
6
  * Always returns a dataset + preview rows.
7
7
  */
8
- export declare function queryDomain(input: QueryDomainInput): Promise<QueryDomainResult>;
9
- //# sourceMappingURL=queryDomain.d.ts.map
8
+ export declare function queryDomain(runtime: any, input: QueryDomainInput): Promise<QueryDomainResult>;
@@ -1,46 +1,9 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.queryDomain = queryDomain;
1
+ import { queryDomainStep } from "./queryDomain.step.js";
37
2
  /**
38
3
  * Workflow-compatible domain query.
39
4
  * Always returns a dataset + preview rows.
40
5
  */
41
- async function queryDomain(input) {
6
+ export async function queryDomain(runtime, input) {
42
7
  "use step";
43
- const { queryDomainStep } = await Promise.resolve().then(() => __importStar(require("./queryDomain.step")));
44
- return await queryDomainStep(input);
8
+ return await queryDomainStep({ runtime, ...input });
45
9
  }
46
- //# sourceMappingURL=queryDomain.js.map
@@ -1,4 +1,5 @@
1
1
  export type QueryDomainStepInput = {
2
+ runtime: any;
2
3
  query: Record<string, any>;
3
4
  explanation: string;
4
5
  title?: string;
@@ -11,4 +12,3 @@ export type QueryDomainStepResult = {
11
12
  explanation: string;
12
13
  };
13
14
  export declare function queryDomainStep(params: QueryDomainStepInput): Promise<QueryDomainStepResult>;
14
- //# sourceMappingURL=queryDomain.step.d.ts.map
@@ -1,9 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.queryDomainStep = queryDomainStep;
4
- const admin_1 = require("@instantdb/admin");
5
- const runtime_1 = require("@ekairos/events/runtime");
6
- const service_1 = require("../service");
1
+ import { DatasetService } from "../service.js";
2
+ import { createDatasetId } from "../id.js";
7
3
  function normalizeRows(result) {
8
4
  if (!result || typeof result !== "object")
9
5
  return [];
@@ -49,13 +45,18 @@ function inferSchema(rows) {
49
45
  }
50
46
  return { schema };
51
47
  }
52
- async function queryDomainStep(params) {
53
- "use step";
54
- const env = await (0, runtime_1.getContextEnv)();
55
- const runtime = await (0, runtime_1.getContextRuntime)(env);
48
+ async function getRuntimeDb(runtime) {
49
+ if (!runtime) {
50
+ throw new Error("Dataset query step requires runtime.");
51
+ }
56
52
  const db = runtime.db;
57
- const service = new service_1.DatasetService(db);
58
- const datasetId = params.datasetId ?? (0, admin_1.id)();
53
+ return typeof db === "function" ? await db.call(runtime) : db;
54
+ }
55
+ export async function queryDomainStep(params) {
56
+ "use step";
57
+ const db = await getRuntimeDb(params.runtime);
58
+ const service = new DatasetService(db);
59
+ const datasetId = params.datasetId ?? createDatasetId();
59
60
  const queryResult = await db.query(params.query);
60
61
  const rows = normalizeRows(queryResult);
61
62
  const previewRows = rows.slice(0, 20);
@@ -101,4 +102,3 @@ async function queryDomainStep(params) {
101
102
  explanation: params.explanation,
102
103
  };
103
104
  }
104
- //# sourceMappingURL=queryDomain.step.js.map