@struktoai/mirage-browser 0.0.5 → 0.0.7-alpha.1
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.
- package/README.md +138 -80
- package/dist/accessor/opfs.d.ts +10 -0
- package/dist/accessor/opfs.d.ts.map +1 -0
- package/dist/accessor/opfs.js +25 -0
- package/dist/accessor/opfs.js.map +1 -0
- package/dist/commands/builtin/opfs/index.d.ts +3 -0
- package/dist/commands/builtin/opfs/index.d.ts.map +1 -0
- package/dist/commands/builtin/opfs/index.js +20 -0
- package/dist/commands/builtin/opfs/index.js.map +1 -0
- package/dist/commands/builtin/opfs/io.d.ts +4 -0
- package/dist/commands/builtin/opfs/io.d.ts.map +1 -0
- package/dist/commands/builtin/opfs/io.js +56 -0
- package/dist/commands/builtin/opfs/io.js.map +1 -0
- package/dist/core/opfs/append.d.ts +4 -0
- package/dist/core/opfs/append.d.ts.map +1 -0
- package/dist/core/opfs/append.js +38 -0
- package/dist/core/opfs/append.js.map +1 -0
- package/dist/core/opfs/constants.d.ts +3 -0
- package/dist/core/opfs/constants.d.ts.map +1 -0
- package/dist/core/opfs/constants.js +16 -0
- package/dist/core/opfs/constants.js.map +1 -0
- package/dist/core/opfs/copy.d.ts +4 -0
- package/dist/core/opfs/copy.d.ts.map +1 -0
- package/dist/core/opfs/copy.js +40 -0
- package/dist/core/opfs/copy.js.map +1 -0
- package/dist/core/opfs/create.d.ts +4 -0
- package/dist/core/opfs/create.d.ts.map +1 -0
- package/dist/core/opfs/create.js +18 -0
- package/dist/core/opfs/create.js.map +1 -0
- package/dist/core/opfs/du/entries.d.ts +4 -0
- package/dist/core/opfs/du/entries.d.ts.map +1 -0
- package/dist/core/opfs/du/entries.js +56 -0
- package/dist/core/opfs/du/entries.js.map +1 -0
- package/dist/core/opfs/du/index.d.ts +3 -0
- package/dist/core/opfs/du/index.d.ts.map +1 -0
- package/dist/core/opfs/du/index.js +16 -0
- package/dist/core/opfs/du/index.js.map +1 -0
- package/dist/core/opfs/du/size.d.ts +4 -0
- package/dist/core/opfs/du/size.d.ts.map +1 -0
- package/dist/core/opfs/du/size.js +18 -0
- package/dist/core/opfs/du/size.js.map +1 -0
- package/dist/core/opfs/du/walk.d.ts +3 -0
- package/dist/core/opfs/du/walk.d.ts.map +1 -0
- package/dist/core/opfs/du/walk.js +98 -0
- package/dist/core/opfs/du/walk.js.map +1 -0
- package/dist/core/opfs/entry.d.ts +11 -0
- package/dist/core/opfs/entry.d.ts.map +1 -0
- package/dist/core/opfs/entry.js +42 -0
- package/dist/core/opfs/entry.js.map +1 -0
- package/dist/core/opfs/exists.d.ts +4 -0
- package/dist/core/opfs/exists.d.ts.map +1 -0
- package/dist/core/opfs/exists.js +64 -0
- package/dist/core/opfs/exists.js.map +1 -0
- package/dist/core/opfs/find.d.ts +21 -0
- package/dist/core/opfs/find.d.ts.map +1 -0
- package/dist/core/opfs/find.js +154 -0
- package/dist/core/opfs/find.js.map +1 -0
- package/dist/core/opfs/mkdir.d.ts +4 -0
- package/dist/core/opfs/mkdir.d.ts.map +1 -0
- package/dist/core/opfs/mkdir.js +64 -0
- package/dist/core/opfs/mkdir.js.map +1 -0
- package/dist/core/opfs/read.d.ts +22 -0
- package/dist/core/opfs/read.d.ts.map +1 -0
- package/dist/core/opfs/read.js +57 -0
- package/dist/core/opfs/read.js.map +1 -0
- package/dist/core/opfs/readdir.d.ts +4 -0
- package/dist/core/opfs/readdir.d.ts.map +1 -0
- package/dist/core/opfs/readdir.js +50 -0
- package/dist/core/opfs/readdir.js.map +1 -0
- package/dist/core/opfs/rename.d.ts +4 -0
- package/dist/core/opfs/rename.d.ts.map +1 -0
- package/dist/core/opfs/rename.js +97 -0
- package/dist/core/opfs/rename.js.map +1 -0
- package/dist/core/opfs/rm.d.ts +4 -0
- package/dist/core/opfs/rm.d.ts.map +1 -0
- package/dist/core/opfs/rm.js +40 -0
- package/dist/core/opfs/rm.js.map +1 -0
- package/dist/core/opfs/rmdir.d.ts +4 -0
- package/dist/core/opfs/rmdir.d.ts.map +1 -0
- package/dist/core/opfs/rmdir.js +48 -0
- package/dist/core/opfs/rmdir.js.map +1 -0
- package/dist/core/opfs/stat.d.ts +5 -0
- package/dist/core/opfs/stat.d.ts.map +1 -0
- package/dist/core/opfs/stat.js +88 -0
- package/dist/core/opfs/stat.js.map +1 -0
- package/dist/core/opfs/stream.d.ts +4 -0
- package/dist/core/opfs/stream.d.ts.map +1 -0
- package/dist/core/opfs/stream.js +44 -0
- package/dist/core/opfs/stream.js.map +1 -0
- package/dist/core/opfs/truncate.d.ts +4 -0
- package/dist/core/opfs/truncate.d.ts.map +1 -0
- package/dist/core/opfs/truncate.js +49 -0
- package/dist/core/opfs/truncate.js.map +1 -0
- package/dist/core/opfs/unlink.d.ts +4 -0
- package/dist/core/opfs/unlink.d.ts.map +1 -0
- package/dist/core/opfs/unlink.js +40 -0
- package/dist/core/opfs/unlink.js.map +1 -0
- package/dist/core/opfs/utils.d.ts +20 -0
- package/dist/core/opfs/utils.d.ts.map +1 -0
- package/dist/core/opfs/utils.js +149 -0
- package/dist/core/opfs/utils.js.map +1 -0
- package/dist/core/opfs/write.d.ts +4 -0
- package/dist/core/opfs/write.d.ts.map +1 -0
- package/dist/core/opfs/write.js +33 -0
- package/dist/core/opfs/write.js.map +1 -0
- package/dist/generated/wasm.d.ts +3 -0
- package/dist/generated/wasm.d.ts.map +1 -0
- package/dist/generated/wasm.js +4 -0
- package/dist/generated/wasm.js.map +1 -0
- package/dist/index.d.ts +121 -1246
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +132 -698
- package/dist/index.js.map +1 -1
- package/dist/ops/opfs/index.d.ts +3 -0
- package/dist/ops/opfs/index.d.ts.map +1 -0
- package/dist/ops/opfs/index.js +23 -0
- package/dist/ops/opfs/index.js.map +1 -0
- package/dist/resource/aliyun/aliyun.d.ts +8 -0
- package/dist/resource/aliyun/aliyun.d.ts.map +1 -0
- package/dist/resource/aliyun/aliyun.js +24 -0
- package/dist/resource/aliyun/aliyun.js.map +1 -0
- package/dist/resource/aliyun/config.d.ts +17 -0
- package/dist/resource/aliyun/config.d.ts.map +1 -0
- package/dist/resource/aliyun/config.js +24 -0
- package/dist/resource/aliyun/config.js.map +1 -0
- package/dist/resource/aliyun/prompt.d.ts +2 -0
- package/dist/resource/aliyun/prompt.d.ts.map +1 -0
- package/dist/resource/aliyun/prompt.js +19 -0
- package/dist/resource/aliyun/prompt.js.map +1 -0
- package/dist/resource/backblaze/backblaze.d.ts +8 -0
- package/dist/resource/backblaze/backblaze.d.ts.map +1 -0
- package/dist/resource/backblaze/backblaze.js +24 -0
- package/dist/resource/backblaze/backblaze.js.map +1 -0
- package/dist/resource/backblaze/config.d.ts +17 -0
- package/dist/resource/backblaze/config.d.ts.map +1 -0
- package/dist/resource/backblaze/config.js +24 -0
- package/dist/resource/backblaze/config.js.map +1 -0
- package/dist/resource/backblaze/prompt.d.ts +2 -0
- package/dist/resource/backblaze/prompt.d.ts.map +1 -0
- package/dist/resource/backblaze/prompt.js +19 -0
- package/dist/resource/backblaze/prompt.js.map +1 -0
- package/dist/resource/box/box.d.ts +34 -0
- package/dist/resource/box/box.d.ts.map +1 -0
- package/dist/resource/box/box.js +99 -0
- package/dist/resource/box/box.js.map +1 -0
- package/dist/resource/box/config.d.ts +41 -0
- package/dist/resource/box/config.d.ts.map +1 -0
- package/dist/resource/box/config.js +38 -0
- package/dist/resource/box/config.js.map +1 -0
- package/dist/resource/ceph/ceph.d.ts +8 -0
- package/dist/resource/ceph/ceph.d.ts.map +1 -0
- package/dist/resource/ceph/ceph.js +24 -0
- package/dist/resource/ceph/ceph.js.map +1 -0
- package/dist/resource/ceph/config.d.ts +16 -0
- package/dist/resource/ceph/config.d.ts.map +1 -0
- package/dist/resource/ceph/config.js +22 -0
- package/dist/resource/ceph/config.js.map +1 -0
- package/dist/resource/ceph/prompt.d.ts +2 -0
- package/dist/resource/ceph/prompt.d.ts.map +1 -0
- package/dist/resource/ceph/prompt.js +19 -0
- package/dist/resource/ceph/prompt.js.map +1 -0
- package/dist/resource/digitalocean/config.d.ts +17 -0
- package/dist/resource/digitalocean/config.d.ts.map +1 -0
- package/dist/resource/digitalocean/config.js +24 -0
- package/dist/resource/digitalocean/config.js.map +1 -0
- package/dist/resource/digitalocean/digitalocean.d.ts +8 -0
- package/dist/resource/digitalocean/digitalocean.d.ts.map +1 -0
- package/dist/resource/digitalocean/digitalocean.js +24 -0
- package/dist/resource/digitalocean/digitalocean.js.map +1 -0
- package/dist/resource/digitalocean/prompt.d.ts +2 -0
- package/dist/resource/digitalocean/prompt.d.ts.map +1 -0
- package/dist/resource/digitalocean/prompt.js +19 -0
- package/dist/resource/digitalocean/prompt.js.map +1 -0
- package/dist/resource/discord/config.d.ts +20 -0
- package/dist/resource/discord/config.d.ts.map +1 -0
- package/dist/resource/discord/config.js +32 -0
- package/dist/resource/discord/config.js.map +1 -0
- package/dist/resource/discord/discord.d.ts +33 -0
- package/dist/resource/discord/discord.d.ts.map +1 -0
- package/dist/resource/discord/discord.js +90 -0
- package/dist/resource/discord/discord.js.map +1 -0
- package/dist/resource/dropbox/config.d.ts +34 -0
- package/dist/resource/dropbox/config.d.ts.map +1 -0
- package/dist/resource/dropbox/config.js +31 -0
- package/dist/resource/dropbox/config.js.map +1 -0
- package/dist/resource/dropbox/dropbox.d.ts +34 -0
- package/dist/resource/dropbox/dropbox.d.ts.map +1 -0
- package/dist/resource/dropbox/dropbox.js +95 -0
- package/dist/resource/dropbox/dropbox.js.map +1 -0
- package/dist/resource/gcal/gcal.d.ts +32 -0
- package/dist/resource/gcal/gcal.d.ts.map +1 -0
- package/dist/resource/gcal/gcal.js +87 -0
- package/dist/resource/gcal/gcal.js.map +1 -0
- package/dist/resource/gcs/config.d.ts +16 -0
- package/dist/resource/gcs/config.d.ts.map +1 -0
- package/dist/resource/gcs/config.js +24 -0
- package/dist/resource/gcs/config.js.map +1 -0
- package/dist/resource/gcs/gcs.d.ts +8 -0
- package/dist/resource/gcs/gcs.d.ts.map +1 -0
- package/dist/resource/gcs/gcs.js +24 -0
- package/dist/resource/gcs/gcs.js.map +1 -0
- package/dist/resource/gcs/prompt.d.ts +2 -0
- package/dist/resource/gcs/prompt.d.ts.map +1 -0
- package/dist/resource/gcs/prompt.js +19 -0
- package/dist/resource/gcs/prompt.js.map +1 -0
- package/dist/resource/gdocs/gdocs.d.ts +32 -0
- package/dist/resource/gdocs/gdocs.d.ts.map +1 -0
- package/dist/resource/gdocs/gdocs.js +84 -0
- package/dist/resource/gdocs/gdocs.js.map +1 -0
- package/dist/resource/gdrive/gdrive.d.ts +34 -0
- package/dist/resource/gdrive/gdrive.d.ts.map +1 -0
- package/dist/resource/gdrive/gdrive.js +89 -0
- package/dist/resource/gdrive/gdrive.js.map +1 -0
- package/dist/resource/github/github.d.ts +38 -0
- package/dist/resource/github/github.d.ts.map +1 -0
- package/dist/resource/github/github.js +121 -0
- package/dist/resource/github/github.js.map +1 -0
- package/dist/resource/gmail/gmail.d.ts +33 -0
- package/dist/resource/gmail/gmail.d.ts.map +1 -0
- package/dist/resource/gmail/gmail.js +88 -0
- package/dist/resource/gmail/gmail.js.map +1 -0
- package/dist/resource/gsheets/gsheets.d.ts +32 -0
- package/dist/resource/gsheets/gsheets.d.ts.map +1 -0
- package/dist/resource/gsheets/gsheets.js +84 -0
- package/dist/resource/gsheets/gsheets.js.map +1 -0
- package/dist/resource/gslides/gslides.d.ts +32 -0
- package/dist/resource/gslides/gslides.d.ts.map +1 -0
- package/dist/resource/gslides/gslides.js +84 -0
- package/dist/resource/gslides/gslides.js.map +1 -0
- package/dist/resource/langfuse/config.d.ts +23 -0
- package/dist/resource/langfuse/config.d.ts.map +1 -0
- package/dist/resource/langfuse/config.js +36 -0
- package/dist/resource/langfuse/config.js.map +1 -0
- package/dist/resource/langfuse/langfuse.d.ts +31 -0
- package/dist/resource/langfuse/langfuse.d.ts.map +1 -0
- package/dist/resource/langfuse/langfuse.js +98 -0
- package/dist/resource/langfuse/langfuse.js.map +1 -0
- package/dist/resource/linear/linear.d.ts +33 -0
- package/dist/resource/linear/linear.d.ts.map +1 -0
- package/dist/resource/linear/linear.js +93 -0
- package/dist/resource/linear/linear.js.map +1 -0
- package/dist/resource/minio/config.d.ts +16 -0
- package/dist/resource/minio/config.d.ts.map +1 -0
- package/dist/resource/minio/config.js +22 -0
- package/dist/resource/minio/config.js.map +1 -0
- package/dist/resource/minio/minio.d.ts +8 -0
- package/dist/resource/minio/minio.d.ts.map +1 -0
- package/dist/resource/minio/minio.js +24 -0
- package/dist/resource/minio/minio.js.map +1 -0
- package/dist/resource/minio/prompt.d.ts +2 -0
- package/dist/resource/minio/prompt.d.ts.map +1 -0
- package/dist/resource/minio/prompt.js +19 -0
- package/dist/resource/minio/prompt.js.map +1 -0
- package/dist/resource/mongodb/http_driver.d.ts +27 -0
- package/dist/resource/mongodb/http_driver.d.ts.map +1 -0
- package/dist/resource/mongodb/http_driver.js +96 -0
- package/dist/resource/mongodb/http_driver.js.map +1 -0
- package/dist/resource/mongodb/mongodb.d.ts +41 -0
- package/dist/resource/mongodb/mongodb.d.ts.map +1 -0
- package/dist/resource/mongodb/mongodb.js +100 -0
- package/dist/resource/mongodb/mongodb.js.map +1 -0
- package/dist/resource/notion/config.d.ts +20 -0
- package/dist/resource/notion/config.d.ts.map +1 -0
- package/dist/resource/notion/config.js +32 -0
- package/dist/resource/notion/config.js.map +1 -0
- package/dist/resource/notion/notion.d.ts +32 -0
- package/dist/resource/notion/notion.d.ts.map +1 -0
- package/dist/resource/notion/notion.js +86 -0
- package/dist/resource/notion/notion.js.map +1 -0
- package/dist/resource/oci/config.d.ts +20 -0
- package/dist/resource/oci/config.d.ts.map +1 -0
- package/dist/resource/oci/config.js +30 -0
- package/dist/resource/oci/config.js.map +1 -0
- package/dist/resource/oci/oci.d.ts +8 -0
- package/dist/resource/oci/oci.d.ts.map +1 -0
- package/dist/resource/oci/oci.js +24 -0
- package/dist/resource/oci/oci.js.map +1 -0
- package/dist/resource/oci/prompt.d.ts +2 -0
- package/dist/resource/oci/prompt.d.ts.map +1 -0
- package/dist/resource/oci/prompt.js +19 -0
- package/dist/resource/oci/prompt.js.map +1 -0
- package/dist/resource/opfs/opfs.d.ts +57 -0
- package/dist/resource/opfs/opfs.d.ts.map +1 -0
- package/dist/resource/opfs/opfs.js +236 -0
- package/dist/resource/opfs/opfs.js.map +1 -0
- package/dist/resource/opfs/prompt.d.ts +2 -0
- package/dist/resource/opfs/prompt.d.ts.map +1 -0
- package/dist/resource/opfs/prompt.js +17 -0
- package/dist/resource/opfs/prompt.js.map +1 -0
- package/dist/resource/postgres/neon_driver.d.ts +8 -0
- package/dist/resource/postgres/neon_driver.d.ts.map +1 -0
- package/dist/resource/postgres/neon_driver.js +28 -0
- package/dist/resource/postgres/neon_driver.js.map +1 -0
- package/dist/resource/postgres/postgres.d.ts +40 -0
- package/dist/resource/postgres/postgres.d.ts.map +1 -0
- package/dist/resource/postgres/postgres.js +98 -0
- package/dist/resource/postgres/postgres.js.map +1 -0
- package/dist/resource/qingstor/config.d.ts +17 -0
- package/dist/resource/qingstor/config.d.ts.map +1 -0
- package/dist/resource/qingstor/config.js +24 -0
- package/dist/resource/qingstor/config.js.map +1 -0
- package/dist/resource/qingstor/prompt.d.ts +2 -0
- package/dist/resource/qingstor/prompt.d.ts.map +1 -0
- package/dist/resource/qingstor/prompt.js +19 -0
- package/dist/resource/qingstor/prompt.js.map +1 -0
- package/dist/resource/qingstor/qingstor.d.ts +8 -0
- package/dist/resource/qingstor/qingstor.d.ts.map +1 -0
- package/dist/resource/qingstor/qingstor.js +24 -0
- package/dist/resource/qingstor/qingstor.js.map +1 -0
- package/dist/resource/r2/config.d.ts +20 -0
- package/dist/resource/r2/config.d.ts.map +1 -0
- package/dist/resource/r2/config.js +26 -0
- package/dist/resource/r2/config.js.map +1 -0
- package/dist/resource/r2/prompt.d.ts +2 -0
- package/dist/resource/r2/prompt.d.ts.map +1 -0
- package/dist/resource/r2/prompt.js +19 -0
- package/dist/resource/r2/prompt.js.map +1 -0
- package/dist/resource/r2/r2.d.ts +8 -0
- package/dist/resource/r2/r2.d.ts.map +1 -0
- package/dist/resource/r2/r2.js +24 -0
- package/dist/resource/r2/r2.js.map +1 -0
- package/dist/resource/redis/redis.d.ts +17 -0
- package/dist/resource/redis/redis.d.ts.map +1 -0
- package/dist/resource/redis/redis.js +29 -0
- package/dist/resource/redis/redis.js.map +1 -0
- package/dist/resource/redis/store.d.ts +75 -0
- package/dist/resource/redis/store.d.ts.map +1 -0
- package/dist/resource/redis/store.js +381 -0
- package/dist/resource/redis/store.js.map +1 -0
- package/dist/resource/registry.d.ts +25 -0
- package/dist/resource/registry.d.ts.map +1 -0
- package/dist/resource/registry.js +279 -0
- package/dist/resource/registry.js.map +1 -0
- package/dist/resource/s3/config.d.ts +7 -0
- package/dist/resource/s3/config.d.ts.map +1 -0
- package/dist/resource/s3/config.js +26 -0
- package/dist/resource/s3/config.js.map +1 -0
- package/dist/resource/s3/s3.d.ts +53 -0
- package/dist/resource/s3/s3.d.ts.map +1 -0
- package/dist/resource/s3/s3.js +182 -0
- package/dist/resource/s3/s3.js.map +1 -0
- package/dist/resource/s3_alias.d.ts +113 -0
- package/dist/resource/s3_alias.d.ts.map +1 -0
- package/dist/resource/s3_alias.js +133 -0
- package/dist/resource/s3_alias.js.map +1 -0
- package/dist/resource/scaleway/config.d.ts +17 -0
- package/dist/resource/scaleway/config.d.ts.map +1 -0
- package/dist/resource/scaleway/config.js +24 -0
- package/dist/resource/scaleway/config.js.map +1 -0
- package/dist/resource/scaleway/prompt.d.ts +2 -0
- package/dist/resource/scaleway/prompt.d.ts.map +1 -0
- package/dist/resource/scaleway/prompt.js +19 -0
- package/dist/resource/scaleway/prompt.js.map +1 -0
- package/dist/resource/scaleway/scaleway.d.ts +8 -0
- package/dist/resource/scaleway/scaleway.d.ts.map +1 -0
- package/dist/resource/scaleway/scaleway.js +24 -0
- package/dist/resource/scaleway/scaleway.js.map +1 -0
- package/dist/resource/seaweedfs/config.d.ts +16 -0
- package/dist/resource/seaweedfs/config.d.ts.map +1 -0
- package/dist/resource/seaweedfs/config.js +22 -0
- package/dist/resource/seaweedfs/config.js.map +1 -0
- package/dist/resource/seaweedfs/prompt.d.ts +2 -0
- package/dist/resource/seaweedfs/prompt.d.ts.map +1 -0
- package/dist/resource/seaweedfs/prompt.js +19 -0
- package/dist/resource/seaweedfs/prompt.js.map +1 -0
- package/dist/resource/seaweedfs/seaweedfs.d.ts +8 -0
- package/dist/resource/seaweedfs/seaweedfs.d.ts.map +1 -0
- package/dist/resource/seaweedfs/seaweedfs.js +24 -0
- package/dist/resource/seaweedfs/seaweedfs.js.map +1 -0
- package/dist/resource/slack/config.d.ts +20 -0
- package/dist/resource/slack/config.d.ts.map +1 -0
- package/dist/resource/slack/config.js +32 -0
- package/dist/resource/slack/config.js.map +1 -0
- package/dist/resource/slack/slack.d.ts +33 -0
- package/dist/resource/slack/slack.d.ts.map +1 -0
- package/dist/resource/slack/slack.js +91 -0
- package/dist/resource/slack/slack.js.map +1 -0
- package/dist/resource/supabase/config.d.ts +20 -0
- package/dist/resource/supabase/config.d.ts.map +1 -0
- package/dist/resource/supabase/config.js +26 -0
- package/dist/resource/supabase/config.js.map +1 -0
- package/dist/resource/supabase/prompt.d.ts +2 -0
- package/dist/resource/supabase/prompt.d.ts.map +1 -0
- package/dist/resource/supabase/prompt.js +19 -0
- package/dist/resource/supabase/prompt.js.map +1 -0
- package/dist/resource/supabase/supabase.d.ts +8 -0
- package/dist/resource/supabase/supabase.d.ts.map +1 -0
- package/dist/resource/supabase/supabase.js +24 -0
- package/dist/resource/supabase/supabase.js.map +1 -0
- package/dist/resource/tencent/config.d.ts +17 -0
- package/dist/resource/tencent/config.d.ts.map +1 -0
- package/dist/resource/tencent/config.js +24 -0
- package/dist/resource/tencent/config.js.map +1 -0
- package/dist/resource/tencent/prompt.d.ts +2 -0
- package/dist/resource/tencent/prompt.d.ts.map +1 -0
- package/dist/resource/tencent/prompt.js +19 -0
- package/dist/resource/tencent/prompt.js.map +1 -0
- package/dist/resource/tencent/tencent.d.ts +8 -0
- package/dist/resource/tencent/tencent.d.ts.map +1 -0
- package/dist/resource/tencent/tencent.js +24 -0
- package/dist/resource/tencent/tencent.js.map +1 -0
- package/dist/resource/trello/config.d.ts +22 -0
- package/dist/resource/trello/config.d.ts.map +1 -0
- package/dist/resource/trello/config.js +35 -0
- package/dist/resource/trello/config.js.map +1 -0
- package/dist/resource/trello/trello.d.ts +32 -0
- package/dist/resource/trello/trello.d.ts.map +1 -0
- package/dist/resource/trello/trello.js +94 -0
- package/dist/resource/trello/trello.js.map +1 -0
- package/dist/resource/wasabi/config.d.ts +17 -0
- package/dist/resource/wasabi/config.d.ts.map +1 -0
- package/dist/resource/wasabi/config.js +29 -0
- package/dist/resource/wasabi/config.js.map +1 -0
- package/dist/resource/wasabi/prompt.d.ts +2 -0
- package/dist/resource/wasabi/prompt.d.ts.map +1 -0
- package/dist/resource/wasabi/prompt.js +19 -0
- package/dist/resource/wasabi/prompt.js.map +1 -0
- package/dist/resource/wasabi/wasabi.d.ts +8 -0
- package/dist/resource/wasabi/wasabi.d.ts.map +1 -0
- package/dist/resource/wasabi/wasabi.js +24 -0
- package/dist/resource/wasabi/wasabi.js.map +1 -0
- package/dist/runtime/sandbox/e2b/config.d.ts +2 -0
- package/dist/runtime/sandbox/e2b/config.d.ts.map +1 -0
- package/dist/runtime/sandbox/e2b/config.js +15 -0
- package/dist/runtime/sandbox/e2b/config.js.map +1 -0
- package/dist/runtime/sandbox/e2b/runtime.d.ts +2 -0
- package/dist/runtime/sandbox/e2b/runtime.d.ts.map +1 -0
- package/dist/runtime/sandbox/e2b/runtime.js +15 -0
- package/dist/runtime/sandbox/e2b/runtime.js.map +1 -0
- package/dist/test-utils.d.ts +37 -0
- package/dist/test-utils.d.ts.map +1 -0
- package/dist/test-utils.js +518 -0
- package/dist/test-utils.js.map +1 -0
- package/dist/workspace.d.ts +10 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +62 -0
- package/dist/workspace.js.map +1 -0
- package/package.json +22 -6
- package/dist/aliyun-DR6KT3H6.js +0 -8
- package/dist/aliyun-DR6KT3H6.js.map +0 -1
- package/dist/backblaze-XCLZXTES.js +0 -8
- package/dist/backblaze-XCLZXTES.js.map +0 -1
- package/dist/box-XBCSU3AA.js +0 -8
- package/dist/box-XBCSU3AA.js.map +0 -1
- package/dist/ceph-F5S2NMTO.js +0 -8
- package/dist/ceph-F5S2NMTO.js.map +0 -1
- package/dist/chunk-2J35WXX5.js +0 -28
- package/dist/chunk-2J35WXX5.js.map +0 -1
- package/dist/chunk-2WNXK742.js +0 -89
- package/dist/chunk-2WNXK742.js.map +0 -1
- package/dist/chunk-2WSKXBSV.js +0 -139
- package/dist/chunk-2WSKXBSV.js.map +0 -1
- package/dist/chunk-37WKCB2E.js +0 -95
- package/dist/chunk-37WKCB2E.js.map +0 -1
- package/dist/chunk-3IYCVC7W.js +0 -96
- package/dist/chunk-3IYCVC7W.js.map +0 -1
- package/dist/chunk-46HNNKFR.js +0 -95
- package/dist/chunk-46HNNKFR.js.map +0 -1
- package/dist/chunk-4IF4TGAI.js +0 -11
- package/dist/chunk-4IF4TGAI.js.map +0 -1
- package/dist/chunk-5OZJMTYW.js +0 -113
- package/dist/chunk-5OZJMTYW.js.map +0 -1
- package/dist/chunk-5UM6EBVW.js +0 -108
- package/dist/chunk-5UM6EBVW.js.map +0 -1
- package/dist/chunk-6HRSCX2U.js +0 -98
- package/dist/chunk-6HRSCX2U.js.map +0 -1
- package/dist/chunk-7HWQAYXR.js +0 -85
- package/dist/chunk-7HWQAYXR.js.map +0 -1
- package/dist/chunk-AUZNQ7EI.js +0 -85
- package/dist/chunk-AUZNQ7EI.js.map +0 -1
- package/dist/chunk-BGA2F226.js +0 -182
- package/dist/chunk-BGA2F226.js.map +0 -1
- package/dist/chunk-BV372CUO.js +0 -90
- package/dist/chunk-BV372CUO.js.map +0 -1
- package/dist/chunk-C4THTILY.js +0 -95
- package/dist/chunk-C4THTILY.js.map +0 -1
- package/dist/chunk-D4MEOKNQ.js +0 -95
- package/dist/chunk-D4MEOKNQ.js.map +0 -1
- package/dist/chunk-D4RAMWYH.js +0 -88
- package/dist/chunk-D4RAMWYH.js.map +0 -1
- package/dist/chunk-EHIT6WCY.js +0 -95
- package/dist/chunk-EHIT6WCY.js.map +0 -1
- package/dist/chunk-EN6TZYT2.js +0 -95
- package/dist/chunk-EN6TZYT2.js.map +0 -1
- package/dist/chunk-FTDVV7EQ.js +0 -85
- package/dist/chunk-FTDVV7EQ.js.map +0 -1
- package/dist/chunk-G67Q2Z6I.js +0 -95
- package/dist/chunk-G67Q2Z6I.js.map +0 -1
- package/dist/chunk-GM2QMJAY.js +0 -85
- package/dist/chunk-GM2QMJAY.js.map +0 -1
- package/dist/chunk-HRWLHJX2.js +0 -84
- package/dist/chunk-HRWLHJX2.js.map +0 -1
- package/dist/chunk-INEXV2PN.js +0 -91
- package/dist/chunk-INEXV2PN.js.map +0 -1
- package/dist/chunk-IZMKMD3O.js +0 -11
- package/dist/chunk-IZMKMD3O.js.map +0 -1
- package/dist/chunk-JUVMJ5GI.js +0 -85
- package/dist/chunk-JUVMJ5GI.js.map +0 -1
- package/dist/chunk-KL2VFYUV.js +0 -159
- package/dist/chunk-KL2VFYUV.js.map +0 -1
- package/dist/chunk-L64GRKOD.js +0 -38
- package/dist/chunk-L64GRKOD.js.map +0 -1
- package/dist/chunk-LPDLPRPS.js +0 -11
- package/dist/chunk-LPDLPRPS.js.map +0 -1
- package/dist/chunk-M2UF2JHJ.js +0 -11
- package/dist/chunk-M2UF2JHJ.js.map +0 -1
- package/dist/chunk-NVHPJ5CV.js +0 -109
- package/dist/chunk-NVHPJ5CV.js.map +0 -1
- package/dist/chunk-OSTDTTWI.js +0 -35
- package/dist/chunk-OSTDTTWI.js.map +0 -1
- package/dist/chunk-PQCRGTSA.js +0 -85
- package/dist/chunk-PQCRGTSA.js.map +0 -1
- package/dist/chunk-QE7QNA45.js +0 -114
- package/dist/chunk-QE7QNA45.js.map +0 -1
- package/dist/chunk-QG2NUNCY.js +0 -95
- package/dist/chunk-QG2NUNCY.js.map +0 -1
- package/dist/chunk-UFHBDBZD.js +0 -1212
- package/dist/chunk-UFHBDBZD.js.map +0 -1
- package/dist/chunk-UY22T4AC.js +0 -112
- package/dist/chunk-UY22T4AC.js.map +0 -1
- package/dist/chunk-XJBC3OYX.js +0 -11
- package/dist/chunk-XJBC3OYX.js.map +0 -1
- package/dist/chunk-Y6DYUK6J.js +0 -85
- package/dist/chunk-Y6DYUK6J.js.map +0 -1
- package/dist/chunk-YOCTIHQZ.js +0 -89
- package/dist/chunk-YOCTIHQZ.js.map +0 -1
- package/dist/chunk-ZDJPUXYH.js +0 -101
- package/dist/chunk-ZDJPUXYH.js.map +0 -1
- package/dist/chunk-ZKCOSE3R.js +0 -90
- package/dist/chunk-ZKCOSE3R.js.map +0 -1
- package/dist/chunk-ZTHVEXIV.js +0 -11
- package/dist/chunk-ZTHVEXIV.js.map +0 -1
- package/dist/config-2Y6LZKLV.js +0 -9
- package/dist/config-2Y6LZKLV.js.map +0 -1
- package/dist/config-4GSOMUMF.js +0 -9
- package/dist/config-4GSOMUMF.js.map +0 -1
- package/dist/config-5YBUWFUP.js +0 -9
- package/dist/config-5YBUWFUP.js.map +0 -1
- package/dist/config-DE5OZ4I7.js +0 -9
- package/dist/config-DE5OZ4I7.js.map +0 -1
- package/dist/config-ELDOFRJW.js +0 -9
- package/dist/config-ELDOFRJW.js.map +0 -1
- package/dist/config-FPM3LAW7.js +0 -9
- package/dist/config-FPM3LAW7.js.map +0 -1
- package/dist/config-JY557MA6.js +0 -9
- package/dist/config-JY557MA6.js.map +0 -1
- package/dist/config-UU27ALAA.js +0 -9
- package/dist/config-UU27ALAA.js.map +0 -1
- package/dist/config-WRACCRPN.js +0 -9
- package/dist/config-WRACCRPN.js.map +0 -1
- package/dist/digitalocean-QDHTRS2W.js +0 -8
- package/dist/digitalocean-QDHTRS2W.js.map +0 -1
- package/dist/discord-ERUI7OAQ.js +0 -7
- package/dist/discord-ERUI7OAQ.js.map +0 -1
- package/dist/dropbox-3U6D4HLE.js +0 -8
- package/dist/dropbox-3U6D4HLE.js.map +0 -1
- package/dist/gcal-MTBSDG34.js +0 -8
- package/dist/gcal-MTBSDG34.js.map +0 -1
- package/dist/gcs-KNGRBBET.js +0 -8
- package/dist/gcs-KNGRBBET.js.map +0 -1
- package/dist/gdocs-RUIOIRKP.js +0 -8
- package/dist/gdocs-RUIOIRKP.js.map +0 -1
- package/dist/gdrive-5JB7ZKEP.js +0 -8
- package/dist/gdrive-5JB7ZKEP.js.map +0 -1
- package/dist/github-CIXBFBVO.js +0 -7
- package/dist/github-CIXBFBVO.js.map +0 -1
- package/dist/github_ci-HR6YOYAO.js +0 -8
- package/dist/github_ci-HR6YOYAO.js.map +0 -1
- package/dist/gmail-JHGWTQU5.js +0 -8
- package/dist/gmail-JHGWTQU5.js.map +0 -1
- package/dist/gsheets-N54JO2RS.js +0 -8
- package/dist/gsheets-N54JO2RS.js.map +0 -1
- package/dist/gslides-B4VMNLMB.js +0 -8
- package/dist/gslides-B4VMNLMB.js.map +0 -1
- package/dist/langfuse-HEUJGDOC.js +0 -7
- package/dist/langfuse-HEUJGDOC.js.map +0 -1
- package/dist/linear-J4QQ3CA6.js +0 -7
- package/dist/linear-J4QQ3CA6.js.map +0 -1
- package/dist/minio-BXWHJ6K5.js +0 -8
- package/dist/minio-BXWHJ6K5.js.map +0 -1
- package/dist/mongodb-YZP643ZU.js +0 -7
- package/dist/mongodb-YZP643ZU.js.map +0 -1
- package/dist/notion-I5S5SRLO.js +0 -7
- package/dist/notion-I5S5SRLO.js.map +0 -1
- package/dist/oci-XOPKH4AE.js +0 -8
- package/dist/oci-XOPKH4AE.js.map +0 -1
- package/dist/opfs-36QO72Y5.js +0 -7
- package/dist/opfs-36QO72Y5.js.map +0 -1
- package/dist/postgres-HPOMN2AR.js +0 -7
- package/dist/postgres-HPOMN2AR.js.map +0 -1
- package/dist/qingstor-JKAHLK62.js +0 -8
- package/dist/qingstor-JKAHLK62.js.map +0 -1
- package/dist/r2-L3QXQ76M.js +0 -8
- package/dist/r2-L3QXQ76M.js.map +0 -1
- package/dist/s3-LRZJPGHK.js +0 -9
- package/dist/s3-LRZJPGHK.js.map +0 -1
- package/dist/scaleway-CGNDYNKS.js +0 -8
- package/dist/scaleway-CGNDYNKS.js.map +0 -1
- package/dist/seaweedfs-BSQWCBIR.js +0 -8
- package/dist/seaweedfs-BSQWCBIR.js.map +0 -1
- package/dist/slack-62ECSENR.js +0 -7
- package/dist/slack-62ECSENR.js.map +0 -1
- package/dist/supabase-J66NXWAF.js +0 -8
- package/dist/supabase-J66NXWAF.js.map +0 -1
- package/dist/tencent-AC667LV3.js +0 -8
- package/dist/tencent-AC667LV3.js.map +0 -1
- package/dist/trello-SUPG6VDF.js +0 -7
- package/dist/trello-SUPG6VDF.js.map +0 -1
- package/dist/wasabi-5KKPW6LH.js +0 -8
- package/dist/wasabi-5KKPW6LH.js.map +0 -1
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
|
|
2
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
// you may not use this file except in compliance with the License.
|
|
4
|
+
// You may obtain a copy of the License at
|
|
5
|
+
//
|
|
6
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
+
//
|
|
8
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
// See the License for the specific language governing permissions and
|
|
12
|
+
// limitations under the License.
|
|
13
|
+
// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
|
|
14
|
+
import { GitHubAccessor } from '@struktoai/mirage-core/accessor/github';
|
|
15
|
+
import { RAMIndexCacheStore } from '@struktoai/mirage-core/cache/index/ram';
|
|
16
|
+
import { makeResolveGlob } from '@struktoai/mirage-core/commands/builtin/generic_bind/index';
|
|
17
|
+
import { GITHUB_COMMANDS } from '@struktoai/mirage-core/commands/builtin/github/index';
|
|
18
|
+
import { HttpGitHubTransport, fetchRepoInfo as fetchGitHubRepoInfo, fetchTree as fetchGitHubTree, } from '@struktoai/mirage-core/core/github/client';
|
|
19
|
+
import { read as githubRead } from '@struktoai/mirage-core/core/github/read';
|
|
20
|
+
import { readdir as githubReaddir } from '@struktoai/mirage-core/core/github/readdir';
|
|
21
|
+
import { stat as githubStat } from '@struktoai/mirage-core/core/github/stat';
|
|
22
|
+
import { buildTreeMap as githubBuildTreeMap } from '@struktoai/mirage-core/core/github/tree';
|
|
23
|
+
import { buildDeltaHook } from '@struktoai/mirage-core/core/github/watch';
|
|
24
|
+
import { GITHUB_OPS } from '@struktoai/mirage-core/ops/github/index';
|
|
25
|
+
import { BaseResource } from '@struktoai/mirage-core/resource/base';
|
|
26
|
+
import { GITHUB_PROMPT } from '@struktoai/mirage-core/resource/github/prompt';
|
|
27
|
+
import { PathSpec, ResourceName } from '@struktoai/mirage-core/types';
|
|
28
|
+
import { mountKey, mountPrefixOf } from '@struktoai/mirage-core/utils/key_prefix';
|
|
29
|
+
import { redactGitHubConfig, } from '@struktoai/mirage-core/core/github/config';
|
|
30
|
+
const githubResolveGlob = makeResolveGlob(githubReaddir);
|
|
31
|
+
export class GitHubResource extends BaseResource {
|
|
32
|
+
kind = ResourceName.GITHUB;
|
|
33
|
+
cachesReads = true;
|
|
34
|
+
// The git tree API reports the exact blob size for every file; the
|
|
35
|
+
// blob read returns those same bytes, and submodule gitlinks (which
|
|
36
|
+
// have no size and no blob) are excluded from the tree.
|
|
37
|
+
sizesAlwaysKnown = true;
|
|
38
|
+
// Blob shas are stable per-path markers, so cached reads can be
|
|
39
|
+
// probe-verified under ALWAYS and snapshots carry drift fingerprints.
|
|
40
|
+
supportsSnapshot = true;
|
|
41
|
+
indexTtl = 86_400;
|
|
42
|
+
prompt = GITHUB_PROMPT;
|
|
43
|
+
config;
|
|
44
|
+
accessor;
|
|
45
|
+
constructor(config, accessor, index) {
|
|
46
|
+
super();
|
|
47
|
+
this.config = config;
|
|
48
|
+
this.accessor = accessor;
|
|
49
|
+
this._index = index;
|
|
50
|
+
}
|
|
51
|
+
static async create(config) {
|
|
52
|
+
const transportOpts = { token: config.token };
|
|
53
|
+
if (config.baseUrl !== undefined)
|
|
54
|
+
transportOpts.baseUrl = config.baseUrl;
|
|
55
|
+
const transport = new HttpGitHubTransport(transportOpts);
|
|
56
|
+
const repoInfo = await fetchGitHubRepoInfo(transport, config.owner, config.repo);
|
|
57
|
+
const ref = config.ref ?? repoInfo.default_branch;
|
|
58
|
+
const { tree, truncated } = await fetchGitHubTree(transport, config.owner, config.repo, ref);
|
|
59
|
+
const treeMap = githubBuildTreeMap(tree);
|
|
60
|
+
const accessor = new GitHubAccessor({
|
|
61
|
+
transport,
|
|
62
|
+
owner: config.owner,
|
|
63
|
+
repo: config.repo,
|
|
64
|
+
ref,
|
|
65
|
+
defaultBranch: repoInfo.default_branch,
|
|
66
|
+
truncated,
|
|
67
|
+
tree: treeMap,
|
|
68
|
+
});
|
|
69
|
+
// Not seeded here: the index is keyed by mount prefix, which only a
|
|
70
|
+
// PathSpec knows, so the first read seeds it from the accessor's tree.
|
|
71
|
+
const index = new RAMIndexCacheStore({ ttl: 86_400 });
|
|
72
|
+
return new GitHubResource(config, accessor, index);
|
|
73
|
+
}
|
|
74
|
+
open() {
|
|
75
|
+
return Promise.resolve();
|
|
76
|
+
}
|
|
77
|
+
commands() {
|
|
78
|
+
return GITHUB_COMMANDS;
|
|
79
|
+
}
|
|
80
|
+
ops() {
|
|
81
|
+
return GITHUB_OPS;
|
|
82
|
+
}
|
|
83
|
+
readFile(p) {
|
|
84
|
+
return githubRead(this.accessor, p, this.index);
|
|
85
|
+
}
|
|
86
|
+
readdir(p) {
|
|
87
|
+
return githubReaddir(this.accessor, p, this.index);
|
|
88
|
+
}
|
|
89
|
+
stat(p) {
|
|
90
|
+
return githubStat(this.accessor, p, this.index);
|
|
91
|
+
}
|
|
92
|
+
glob(paths, prefix = '') {
|
|
93
|
+
const effective = prefix !== ''
|
|
94
|
+
? paths.map((p) => mountPrefixOf(p.virtual, p.resourcePath) !== ''
|
|
95
|
+
? p
|
|
96
|
+
: new PathSpec({
|
|
97
|
+
virtual: p.virtual,
|
|
98
|
+
directory: p.directory,
|
|
99
|
+
...(p.pattern !== null ? { pattern: p.pattern } : {}),
|
|
100
|
+
resolved: p.resolved,
|
|
101
|
+
resourcePath: mountKey(p.virtual, prefix),
|
|
102
|
+
}))
|
|
103
|
+
: paths;
|
|
104
|
+
return githubResolveGlob(this.accessor, effective, this.index);
|
|
105
|
+
}
|
|
106
|
+
deltaHook() {
|
|
107
|
+
return buildDeltaHook(this.accessor);
|
|
108
|
+
}
|
|
109
|
+
getState() {
|
|
110
|
+
return Promise.resolve({
|
|
111
|
+
type: this.kind,
|
|
112
|
+
config: redactGitHubConfig(this.config),
|
|
113
|
+
defaultBranch: this.accessor.defaultBranch,
|
|
114
|
+
truncated: this.accessor.truncated,
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
loadState(_state) {
|
|
118
|
+
return Promise.resolve();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=github.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../../src/resource/github/github.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,uEAAuE;AAEvE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAE3E,OAAO,EAAE,eAAe,EAAE,MAAM,4DAA4D,CAAA;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAA;AAEtF,OAAO,EACL,mBAAmB,EACnB,aAAa,IAAI,mBAAmB,EACpC,SAAS,IAAI,eAAe,GAC7B,MAAM,2CAA2C,CAAA;AAClD,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,yCAAyC,CAAA;AAC5E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4CAA4C,CAAA;AACrF,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,yCAAyC,CAAA;AAC5E,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,yCAAyC,CAAA;AAC5F,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAA;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAA;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAErE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAEjF,OAAO,EACL,kBAAkB,GAGnB,MAAM,2CAA2C,CAAA;AAElD,MAAM,iBAAiB,GAAG,eAAe,CAAC,aAAa,CAAC,CAAA;AASxD,MAAM,OAAO,cAAe,SAAQ,YAAY;IACrC,IAAI,GAAW,YAAY,CAAC,MAAM,CAAA;IAClC,WAAW,GAAY,IAAI,CAAA;IACpC,mEAAmE;IACnE,oEAAoE;IACpE,wDAAwD;IAC/C,gBAAgB,GAAY,IAAI,CAAA;IACzC,gEAAgE;IAChE,sEAAsE;IAC7D,gBAAgB,GAAY,IAAI,CAAA;IACvB,QAAQ,GAAW,MAAM,CAAA;IAClC,MAAM,GAAW,aAAa,CAAA;IAC9B,MAAM,CAAc;IACpB,QAAQ,CAAgB;IAEjC,YAAoB,MAAoB,EAAE,QAAwB,EAAE,KAAsB;QACxF,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IACrB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAoB;QACtC,MAAM,aAAa,GAAwC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAA;QAClF,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;YAAE,aAAa,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QACxE,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,aAAa,CAAC,CAAA;QACxD,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QAChF,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAC,cAAc,CAAA;QACjD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC5F,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;QACxC,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC;YAClC,SAAS;YACT,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,GAAG;YACH,aAAa,EAAE,QAAQ,CAAC,cAAc;YACtC,SAAS;YACT,IAAI,EAAE,OAAO;SACd,CAAC,CAAA;QACF,oEAAoE;QACpE,uEAAuE;QACvE,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAA;QACrD,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;IACpD,CAAC;IAED,IAAI;QACF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;IAED,QAAQ;QACN,OAAO,eAAe,CAAA;IACxB,CAAC;IAED,GAAG;QACD,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,QAAQ,CAAC,CAAW;QAClB,OAAO,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IACjD,CAAC;IAED,OAAO,CAAC,CAAW;QACjB,OAAO,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IACpD,CAAC;IAED,IAAI,CAAC,CAAW;QACd,OAAO,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,CAAC,KAA0B,EAAE,MAAM,GAAG,EAAE;QAC1C,MAAM,SAAS,GACb,MAAM,KAAK,EAAE;YACX,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACd,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE;gBAC7C,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,IAAI,QAAQ,CAAC;oBACX,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrD,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;iBAC1C,CAAC,CACP;YACH,CAAC,CAAC,KAAK,CAAA;QACX,OAAO,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAChE,CAAC;IAED,SAAS;QACP,OAAO,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtC,CAAC;IAEQ,QAAQ;QACf,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC;YACvC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;YAC1C,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS;SACnC,CAAC,CAAA;IACJ,CAAC;IAEQ,SAAS,CAAC,MAA2B;QAC5C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;CACF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { GmailAccessor } from '@struktoai/mirage-core/accessor/gmail';
|
|
2
|
+
import type { RegisteredCommand } from '@struktoai/mirage-core/commands/config';
|
|
3
|
+
import type { RegisteredOp } from '@struktoai/mirage-core/ops/registry';
|
|
4
|
+
import { BaseResource } from '@struktoai/mirage-core/resource/base';
|
|
5
|
+
import type { Resource } from '@struktoai/mirage-core/resource/base';
|
|
6
|
+
import { PathSpec } from '@struktoai/mirage-core/types';
|
|
7
|
+
import type { FileStat } from '@struktoai/mirage-core/types';
|
|
8
|
+
import { type GmailConfig, type GmailConfigRedacted } from '@struktoai/mirage-core/resource/gmail/config';
|
|
9
|
+
export interface GmailResourceState {
|
|
10
|
+
type: string;
|
|
11
|
+
config: GmailConfigRedacted;
|
|
12
|
+
}
|
|
13
|
+
export declare class GmailResource extends BaseResource implements Resource {
|
|
14
|
+
readonly kind: string;
|
|
15
|
+
readonly cachesReads: boolean;
|
|
16
|
+
readonly sizesAlwaysKnown: boolean;
|
|
17
|
+
readonly indexTtl: number;
|
|
18
|
+
readonly prompt: string;
|
|
19
|
+
readonly writePrompt: string;
|
|
20
|
+
readonly config: GmailConfig;
|
|
21
|
+
readonly accessor: GmailAccessor;
|
|
22
|
+
constructor(config: GmailConfig);
|
|
23
|
+
open(): Promise<void>;
|
|
24
|
+
commands(): readonly RegisteredCommand[];
|
|
25
|
+
ops(): readonly RegisteredOp[];
|
|
26
|
+
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
27
|
+
readdir(p: PathSpec): Promise<string[]>;
|
|
28
|
+
stat(p: PathSpec): Promise<FileStat>;
|
|
29
|
+
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
30
|
+
getState(): Promise<GmailResourceState>;
|
|
31
|
+
loadState(_state: GmailResourceState): Promise<void>;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=gmail.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gmail.d.ts","sourceRoot":"","sources":["../../../src/resource/gmail/gmail.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAA;AAGrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAM/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAA;AAEpE,OAAO,EAAE,QAAQ,EAAgB,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAE5D,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACzB,MAAM,8CAA8C,CAAA;AAIrD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,mBAAmB,CAAA;CAC5B;AAED,qBAAa,aAAc,SAAQ,YAAa,YAAW,QAAQ;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAqB;IAC1C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAO;IAIpC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAO;IACzC,SAAkB,QAAQ,EAAE,MAAM,CAAS;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAe;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAqB;IACjD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;gBAEpB,MAAM,EAAE,WAAW;IAO/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,QAAQ,IAAI,SAAS,iBAAiB,EAAE;IAIxC,GAAG,IAAI,SAAS,YAAY,EAAE;IAI9B,QAAQ,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAI1C,OAAO,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIvC,IAAI,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIpC,IAAI,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,EAAE,MAAM,SAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAkBzD,QAAQ,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAOvC,SAAS,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;CAG9D"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
|
|
2
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
// you may not use this file except in compliance with the License.
|
|
4
|
+
// You may obtain a copy of the License at
|
|
5
|
+
//
|
|
6
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
+
//
|
|
8
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
// See the License for the specific language governing permissions and
|
|
12
|
+
// limitations under the License.
|
|
13
|
+
// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
|
|
14
|
+
import { GmailAccessor } from '@struktoai/mirage-core/accessor/gmail';
|
|
15
|
+
import { makeResolveGlob } from '@struktoai/mirage-core/commands/builtin/generic_bind/index';
|
|
16
|
+
import { GMAIL_COMMANDS } from '@struktoai/mirage-core/commands/builtin/gmail/index';
|
|
17
|
+
import { read as gmailRead } from '@struktoai/mirage-core/core/gmail/read';
|
|
18
|
+
import { readdir as gmailReaddir } from '@struktoai/mirage-core/core/gmail/readdir';
|
|
19
|
+
import { stat as gmailStat } from '@struktoai/mirage-core/core/gmail/stat';
|
|
20
|
+
import { TokenManager } from '@struktoai/mirage-core/core/google/client';
|
|
21
|
+
import { GMAIL_OPS } from '@struktoai/mirage-core/ops/gmail/index';
|
|
22
|
+
import { BaseResource } from '@struktoai/mirage-core/resource/base';
|
|
23
|
+
import { GMAIL_PROMPT, GMAIL_WRITE_PROMPT } from '@struktoai/mirage-core/resource/gmail/prompt';
|
|
24
|
+
import { PathSpec, ResourceName } from '@struktoai/mirage-core/types';
|
|
25
|
+
import { mountKey, mountPrefixOf } from '@struktoai/mirage-core/utils/key_prefix';
|
|
26
|
+
import { redactGmailConfig, } from '@struktoai/mirage-core/resource/gmail/config';
|
|
27
|
+
const gmailResolveGlob = makeResolveGlob(gmailReaddir);
|
|
28
|
+
export class GmailResource extends BaseResource {
|
|
29
|
+
kind = ResourceName.GMAIL;
|
|
30
|
+
cachesReads = true;
|
|
31
|
+
// Every listed file carries an exact size: .gmail.json is rendered at
|
|
32
|
+
// readdir from the full message the listing already fetched, and
|
|
33
|
+
// attachments carry the decoded byte count.
|
|
34
|
+
sizesAlwaysKnown = true;
|
|
35
|
+
indexTtl = 86_400;
|
|
36
|
+
prompt = GMAIL_PROMPT;
|
|
37
|
+
writePrompt = GMAIL_WRITE_PROMPT;
|
|
38
|
+
config;
|
|
39
|
+
accessor;
|
|
40
|
+
constructor(config) {
|
|
41
|
+
super();
|
|
42
|
+
this.config = config;
|
|
43
|
+
const tm = new TokenManager(config);
|
|
44
|
+
this.accessor = new GmailAccessor({ tokenManager: tm });
|
|
45
|
+
}
|
|
46
|
+
open() {
|
|
47
|
+
return Promise.resolve();
|
|
48
|
+
}
|
|
49
|
+
commands() {
|
|
50
|
+
return GMAIL_COMMANDS;
|
|
51
|
+
}
|
|
52
|
+
ops() {
|
|
53
|
+
return GMAIL_OPS;
|
|
54
|
+
}
|
|
55
|
+
readFile(p) {
|
|
56
|
+
return gmailRead(this.accessor, p, this.index);
|
|
57
|
+
}
|
|
58
|
+
readdir(p) {
|
|
59
|
+
return gmailReaddir(this.accessor, p, this.index);
|
|
60
|
+
}
|
|
61
|
+
stat(p) {
|
|
62
|
+
return gmailStat(this.accessor, p, this.index);
|
|
63
|
+
}
|
|
64
|
+
glob(paths, prefix = '') {
|
|
65
|
+
const effective = prefix !== ''
|
|
66
|
+
? paths.map((p) => mountPrefixOf(p.virtual, p.resourcePath) !== ''
|
|
67
|
+
? p
|
|
68
|
+
: new PathSpec({
|
|
69
|
+
virtual: p.virtual,
|
|
70
|
+
directory: p.directory,
|
|
71
|
+
...(p.pattern !== null ? { pattern: p.pattern } : {}),
|
|
72
|
+
resolved: p.resolved,
|
|
73
|
+
resourcePath: mountKey(p.virtual, prefix),
|
|
74
|
+
}))
|
|
75
|
+
: paths;
|
|
76
|
+
return gmailResolveGlob(this.accessor, effective, this.index);
|
|
77
|
+
}
|
|
78
|
+
getState() {
|
|
79
|
+
return Promise.resolve({
|
|
80
|
+
type: this.kind,
|
|
81
|
+
config: redactGmailConfig(this.config),
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
loadState(_state) {
|
|
85
|
+
return Promise.resolve();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=gmail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gmail.js","sourceRoot":"","sources":["../../../src/resource/gmail/gmail.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { GSheetsAccessor } from '@struktoai/mirage-core/accessor/gsheets';
|
|
2
|
+
import type { RegisteredCommand } from '@struktoai/mirage-core/commands/config';
|
|
3
|
+
import type { RegisteredOp } from '@struktoai/mirage-core/ops/registry';
|
|
4
|
+
import { BaseResource } from '@struktoai/mirage-core/resource/base';
|
|
5
|
+
import type { Resource } from '@struktoai/mirage-core/resource/base';
|
|
6
|
+
import { PathSpec } from '@struktoai/mirage-core/types';
|
|
7
|
+
import type { FileStat } from '@struktoai/mirage-core/types';
|
|
8
|
+
import { type GSheetsConfig, type GSheetsConfigRedacted } from '@struktoai/mirage-core/resource/gsheets/config';
|
|
9
|
+
export interface GSheetsResourceState {
|
|
10
|
+
type: string;
|
|
11
|
+
config: GSheetsConfigRedacted;
|
|
12
|
+
}
|
|
13
|
+
export declare class GSheetsResource extends BaseResource implements Resource {
|
|
14
|
+
readonly kind: string;
|
|
15
|
+
readonly cachesReads: boolean;
|
|
16
|
+
readonly indexTtl: number;
|
|
17
|
+
readonly prompt: string;
|
|
18
|
+
readonly writePrompt: string;
|
|
19
|
+
readonly config: GSheetsConfig;
|
|
20
|
+
readonly accessor: GSheetsAccessor;
|
|
21
|
+
constructor(config: GSheetsConfig);
|
|
22
|
+
open(): Promise<void>;
|
|
23
|
+
commands(): readonly RegisteredCommand[];
|
|
24
|
+
ops(): readonly RegisteredOp[];
|
|
25
|
+
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
26
|
+
readdir(p: PathSpec): Promise<string[]>;
|
|
27
|
+
stat(p: PathSpec): Promise<FileStat>;
|
|
28
|
+
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
29
|
+
getState(): Promise<GSheetsResourceState>;
|
|
30
|
+
loadState(_state: GSheetsResourceState): Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=gsheets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gsheets.d.ts","sourceRoot":"","sources":["../../../src/resource/gsheets/gsheets.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AAGzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAM/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAA;AAKpE,OAAO,EAAE,QAAQ,EAAgB,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAE5D,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC3B,MAAM,gDAAgD,CAAA;AAIvD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,qBAAqB,CAAA;CAC9B;AAED,qBAAa,eAAgB,SAAQ,YAAa,YAAW,QAAQ;IACnE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAuB;IAC5C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAO;IACpC,SAAkB,QAAQ,EAAE,MAAM,CAAS;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAiB;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAuB;IACnD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAA;gBAEtB,MAAM,EAAE,aAAa;IAOjC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,QAAQ,IAAI,SAAS,iBAAiB,EAAE;IAIxC,GAAG,IAAI,SAAS,YAAY,EAAE;IAI9B,QAAQ,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAI1C,OAAO,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIvC,IAAI,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIpC,IAAI,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,EAAE,MAAM,SAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAkBzD,QAAQ,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAOzC,SAAS,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CAGhE"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
|
|
2
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
// you may not use this file except in compliance with the License.
|
|
4
|
+
// You may obtain a copy of the License at
|
|
5
|
+
//
|
|
6
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
+
//
|
|
8
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
// See the License for the specific language governing permissions and
|
|
12
|
+
// limitations under the License.
|
|
13
|
+
// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
|
|
14
|
+
import { GSheetsAccessor } from '@struktoai/mirage-core/accessor/gsheets';
|
|
15
|
+
import { makeResolveGlob } from '@struktoai/mirage-core/commands/builtin/generic_bind/index';
|
|
16
|
+
import { GSHEETS_COMMANDS } from '@struktoai/mirage-core/commands/builtin/gsheets/index';
|
|
17
|
+
import { TokenManager } from '@struktoai/mirage-core/core/google/client';
|
|
18
|
+
import { read as gsheetsRead } from '@struktoai/mirage-core/core/gsheets/read';
|
|
19
|
+
import { readdir as gsheetsReaddir } from '@struktoai/mirage-core/core/gsheets/readdir';
|
|
20
|
+
import { stat as gsheetsStat } from '@struktoai/mirage-core/core/gsheets/stat';
|
|
21
|
+
import { GSHEETS_OPS } from '@struktoai/mirage-core/ops/gsheets/index';
|
|
22
|
+
import { BaseResource } from '@struktoai/mirage-core/resource/base';
|
|
23
|
+
import { GSHEETS_PROMPT, GSHEETS_WRITE_PROMPT, } from '@struktoai/mirage-core/resource/gsheets/prompt';
|
|
24
|
+
import { PathSpec, ResourceName } from '@struktoai/mirage-core/types';
|
|
25
|
+
import { mountKey, mountPrefixOf } from '@struktoai/mirage-core/utils/key_prefix';
|
|
26
|
+
import { redactGSheetsConfig, } from '@struktoai/mirage-core/resource/gsheets/config';
|
|
27
|
+
const gsheetsResolveGlob = makeResolveGlob(gsheetsReaddir);
|
|
28
|
+
export class GSheetsResource extends BaseResource {
|
|
29
|
+
kind = ResourceName.GSHEETS;
|
|
30
|
+
cachesReads = true;
|
|
31
|
+
indexTtl = 86_400;
|
|
32
|
+
prompt = GSHEETS_PROMPT;
|
|
33
|
+
writePrompt = GSHEETS_WRITE_PROMPT;
|
|
34
|
+
config;
|
|
35
|
+
accessor;
|
|
36
|
+
constructor(config) {
|
|
37
|
+
super();
|
|
38
|
+
this.config = config;
|
|
39
|
+
const tm = new TokenManager(config);
|
|
40
|
+
this.accessor = new GSheetsAccessor({ tokenManager: tm });
|
|
41
|
+
}
|
|
42
|
+
open() {
|
|
43
|
+
return Promise.resolve();
|
|
44
|
+
}
|
|
45
|
+
commands() {
|
|
46
|
+
return GSHEETS_COMMANDS;
|
|
47
|
+
}
|
|
48
|
+
ops() {
|
|
49
|
+
return GSHEETS_OPS;
|
|
50
|
+
}
|
|
51
|
+
readFile(p) {
|
|
52
|
+
return gsheetsRead(this.accessor, p, this.index);
|
|
53
|
+
}
|
|
54
|
+
readdir(p) {
|
|
55
|
+
return gsheetsReaddir(this.accessor, p, this.index);
|
|
56
|
+
}
|
|
57
|
+
stat(p) {
|
|
58
|
+
return gsheetsStat(this.accessor, p, this.index);
|
|
59
|
+
}
|
|
60
|
+
glob(paths, prefix = '') {
|
|
61
|
+
const effective = prefix !== ''
|
|
62
|
+
? paths.map((p) => mountPrefixOf(p.virtual, p.resourcePath) !== ''
|
|
63
|
+
? p
|
|
64
|
+
: new PathSpec({
|
|
65
|
+
virtual: p.virtual,
|
|
66
|
+
directory: p.directory,
|
|
67
|
+
...(p.pattern !== null ? { pattern: p.pattern } : {}),
|
|
68
|
+
resolved: p.resolved,
|
|
69
|
+
resourcePath: mountKey(p.virtual, prefix),
|
|
70
|
+
}))
|
|
71
|
+
: paths;
|
|
72
|
+
return gsheetsResolveGlob(this.accessor, effective, this.index);
|
|
73
|
+
}
|
|
74
|
+
getState() {
|
|
75
|
+
return Promise.resolve({
|
|
76
|
+
type: this.kind,
|
|
77
|
+
config: redactGSheetsConfig(this.config),
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
loadState(_state) {
|
|
81
|
+
return Promise.resolve();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=gsheets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gsheets.js","sourceRoot":"","sources":["../../../src/resource/gsheets/gsheets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { GSlidesAccessor } from '@struktoai/mirage-core/accessor/gslides';
|
|
2
|
+
import type { RegisteredCommand } from '@struktoai/mirage-core/commands/config';
|
|
3
|
+
import type { RegisteredOp } from '@struktoai/mirage-core/ops/registry';
|
|
4
|
+
import { BaseResource } from '@struktoai/mirage-core/resource/base';
|
|
5
|
+
import type { Resource } from '@struktoai/mirage-core/resource/base';
|
|
6
|
+
import { PathSpec } from '@struktoai/mirage-core/types';
|
|
7
|
+
import type { FileStat } from '@struktoai/mirage-core/types';
|
|
8
|
+
import { type GSlidesConfig, type GSlidesConfigRedacted } from '@struktoai/mirage-core/resource/gslides/config';
|
|
9
|
+
export interface GSlidesResourceState {
|
|
10
|
+
type: string;
|
|
11
|
+
config: GSlidesConfigRedacted;
|
|
12
|
+
}
|
|
13
|
+
export declare class GSlidesResource extends BaseResource implements Resource {
|
|
14
|
+
readonly kind: string;
|
|
15
|
+
readonly cachesReads: boolean;
|
|
16
|
+
readonly indexTtl: number;
|
|
17
|
+
readonly prompt: string;
|
|
18
|
+
readonly writePrompt: string;
|
|
19
|
+
readonly config: GSlidesConfig;
|
|
20
|
+
readonly accessor: GSlidesAccessor;
|
|
21
|
+
constructor(config: GSlidesConfig);
|
|
22
|
+
open(): Promise<void>;
|
|
23
|
+
commands(): readonly RegisteredCommand[];
|
|
24
|
+
ops(): readonly RegisteredOp[];
|
|
25
|
+
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
26
|
+
readdir(p: PathSpec): Promise<string[]>;
|
|
27
|
+
stat(p: PathSpec): Promise<FileStat>;
|
|
28
|
+
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
29
|
+
getState(): Promise<GSlidesResourceState>;
|
|
30
|
+
loadState(_state: GSlidesResourceState): Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=gslides.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gslides.d.ts","sourceRoot":"","sources":["../../../src/resource/gslides/gslides.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AAGzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAM/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAA;AAKpE,OAAO,EAAE,QAAQ,EAAgB,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAE5D,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC3B,MAAM,gDAAgD,CAAA;AAIvD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,qBAAqB,CAAA;CAC9B;AAED,qBAAa,eAAgB,SAAQ,YAAa,YAAW,QAAQ;IACnE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAuB;IAC5C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAO;IACpC,SAAkB,QAAQ,EAAE,MAAM,CAAS;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAiB;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAuB;IACnD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAA;gBAEtB,MAAM,EAAE,aAAa;IAOjC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,QAAQ,IAAI,SAAS,iBAAiB,EAAE;IAIxC,GAAG,IAAI,SAAS,YAAY,EAAE;IAI9B,QAAQ,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAI1C,OAAO,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIvC,IAAI,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIpC,IAAI,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,EAAE,MAAM,SAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAkBzD,QAAQ,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAOzC,SAAS,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CAGhE"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
|
|
2
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
// you may not use this file except in compliance with the License.
|
|
4
|
+
// You may obtain a copy of the License at
|
|
5
|
+
//
|
|
6
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
+
//
|
|
8
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
// See the License for the specific language governing permissions and
|
|
12
|
+
// limitations under the License.
|
|
13
|
+
// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
|
|
14
|
+
import { GSlidesAccessor } from '@struktoai/mirage-core/accessor/gslides';
|
|
15
|
+
import { makeResolveGlob } from '@struktoai/mirage-core/commands/builtin/generic_bind/index';
|
|
16
|
+
import { GSLIDES_COMMANDS } from '@struktoai/mirage-core/commands/builtin/gslides/index';
|
|
17
|
+
import { TokenManager } from '@struktoai/mirage-core/core/google/client';
|
|
18
|
+
import { read as gslidesRead } from '@struktoai/mirage-core/core/gslides/read';
|
|
19
|
+
import { readdir as gslidesReaddir } from '@struktoai/mirage-core/core/gslides/readdir';
|
|
20
|
+
import { stat as gslidesStat } from '@struktoai/mirage-core/core/gslides/stat';
|
|
21
|
+
import { GSLIDES_OPS } from '@struktoai/mirage-core/ops/gslides/index';
|
|
22
|
+
import { BaseResource } from '@struktoai/mirage-core/resource/base';
|
|
23
|
+
import { GSLIDES_PROMPT, GSLIDES_WRITE_PROMPT, } from '@struktoai/mirage-core/resource/gslides/prompt';
|
|
24
|
+
import { PathSpec, ResourceName } from '@struktoai/mirage-core/types';
|
|
25
|
+
import { mountKey, mountPrefixOf } from '@struktoai/mirage-core/utils/key_prefix';
|
|
26
|
+
import { redactGSlidesConfig, } from '@struktoai/mirage-core/resource/gslides/config';
|
|
27
|
+
const gslidesResolveGlob = makeResolveGlob(gslidesReaddir);
|
|
28
|
+
export class GSlidesResource extends BaseResource {
|
|
29
|
+
kind = ResourceName.GSLIDES;
|
|
30
|
+
cachesReads = true;
|
|
31
|
+
indexTtl = 86_400;
|
|
32
|
+
prompt = GSLIDES_PROMPT;
|
|
33
|
+
writePrompt = GSLIDES_WRITE_PROMPT;
|
|
34
|
+
config;
|
|
35
|
+
accessor;
|
|
36
|
+
constructor(config) {
|
|
37
|
+
super();
|
|
38
|
+
this.config = config;
|
|
39
|
+
const tm = new TokenManager(config);
|
|
40
|
+
this.accessor = new GSlidesAccessor({ tokenManager: tm });
|
|
41
|
+
}
|
|
42
|
+
open() {
|
|
43
|
+
return Promise.resolve();
|
|
44
|
+
}
|
|
45
|
+
commands() {
|
|
46
|
+
return GSLIDES_COMMANDS;
|
|
47
|
+
}
|
|
48
|
+
ops() {
|
|
49
|
+
return GSLIDES_OPS;
|
|
50
|
+
}
|
|
51
|
+
readFile(p) {
|
|
52
|
+
return gslidesRead(this.accessor, p, this.index);
|
|
53
|
+
}
|
|
54
|
+
readdir(p) {
|
|
55
|
+
return gslidesReaddir(this.accessor, p, this.index);
|
|
56
|
+
}
|
|
57
|
+
stat(p) {
|
|
58
|
+
return gslidesStat(this.accessor, p, this.index);
|
|
59
|
+
}
|
|
60
|
+
glob(paths, prefix = '') {
|
|
61
|
+
const effective = prefix !== ''
|
|
62
|
+
? paths.map((p) => mountPrefixOf(p.virtual, p.resourcePath) !== ''
|
|
63
|
+
? p
|
|
64
|
+
: new PathSpec({
|
|
65
|
+
virtual: p.virtual,
|
|
66
|
+
directory: p.directory,
|
|
67
|
+
...(p.pattern !== null ? { pattern: p.pattern } : {}),
|
|
68
|
+
resolved: p.resolved,
|
|
69
|
+
resourcePath: mountKey(p.virtual, prefix),
|
|
70
|
+
}))
|
|
71
|
+
: paths;
|
|
72
|
+
return gslidesResolveGlob(this.accessor, effective, this.index);
|
|
73
|
+
}
|
|
74
|
+
getState() {
|
|
75
|
+
return Promise.resolve({
|
|
76
|
+
type: this.kind,
|
|
77
|
+
config: redactGSlidesConfig(this.config),
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
loadState(_state) {
|
|
81
|
+
return Promise.resolve();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=gslides.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gslides.js","sourceRoot":"","sources":["../../../src/resource/gslides/gslides.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { z } from '@struktoai/mirage-core/resource/secrets';
|
|
2
|
+
import type { ConfigOf, RedactedConfig } from '@struktoai/mirage-core/resource/secrets';
|
|
3
|
+
declare const LangfuseConfigSchema: z.ZodObject<{
|
|
4
|
+
publicKey: z.ZodString;
|
|
5
|
+
secretKey: z.ZodString;
|
|
6
|
+
host: z.ZodOptional<z.ZodString>;
|
|
7
|
+
defaultTraceLimit: z.ZodOptional<z.ZodNumber>;
|
|
8
|
+
defaultSearchLimit: z.ZodOptional<z.ZodNumber>;
|
|
9
|
+
defaultFromTimestamp: z.ZodOptional<z.ZodString>;
|
|
10
|
+
}, z.core.$strip>;
|
|
11
|
+
export type LangfuseConfig = ConfigOf<typeof LangfuseConfigSchema>;
|
|
12
|
+
export type LangfuseConfigRedacted = RedactedConfig<LangfuseConfig, 'secretKey'>;
|
|
13
|
+
export declare function redactLangfuseConfig(config: LangfuseConfig): LangfuseConfigRedacted;
|
|
14
|
+
/**
|
|
15
|
+
* Translate a python-style config blob to this one's camelCase.
|
|
16
|
+
*
|
|
17
|
+
* No rename map: every field's camelCase spelling is what `snakeToCamel`
|
|
18
|
+
* already produces, and restating those only creates a second place to be
|
|
19
|
+
* wrong. Mirrors node's `normalizeLangfuseConfig`.
|
|
20
|
+
*/
|
|
21
|
+
export declare function normalizeLangfuseConfig(input: Record<string, unknown>): LangfuseConfig;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/resource/langfuse/config.ts"],"names":[],"mappings":"AAcA,OAAO,EAIL,CAAC,EACF,MAAM,yCAAyC,CAAA;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAA;AAEvF,QAAA,MAAM,oBAAoB;;;;;;;iBAOxB,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAElE,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC,cAAc,EAAE,WAAW,CAAC,CAAA;AAEhF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,sBAAsB,CAEnF;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,cAAc,CAEtF"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
|
|
2
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
// you may not use this file except in compliance with the License.
|
|
4
|
+
// You may obtain a copy of the License at
|
|
5
|
+
//
|
|
6
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
+
//
|
|
8
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
// See the License for the specific language governing permissions and
|
|
12
|
+
// limitations under the License.
|
|
13
|
+
// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
|
|
14
|
+
import { parseConfigWithSchema, redactConfigWithSchema, secretStr, z, } from '@struktoai/mirage-core/resource/secrets';
|
|
15
|
+
const LangfuseConfigSchema = z.object({
|
|
16
|
+
publicKey: z.string(),
|
|
17
|
+
secretKey: secretStr(),
|
|
18
|
+
host: z.string().optional(),
|
|
19
|
+
defaultTraceLimit: z.number().optional(),
|
|
20
|
+
defaultSearchLimit: z.number().optional(),
|
|
21
|
+
defaultFromTimestamp: z.string().optional(),
|
|
22
|
+
});
|
|
23
|
+
export function redactLangfuseConfig(config) {
|
|
24
|
+
return redactConfigWithSchema(LangfuseConfigSchema, config);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Translate a python-style config blob to this one's camelCase.
|
|
28
|
+
*
|
|
29
|
+
* No rename map: every field's camelCase spelling is what `snakeToCamel`
|
|
30
|
+
* already produces, and restating those only creates a second place to be
|
|
31
|
+
* wrong. Mirrors node's `normalizeLangfuseConfig`.
|
|
32
|
+
*/
|
|
33
|
+
export function normalizeLangfuseConfig(input) {
|
|
34
|
+
return parseConfigWithSchema(LangfuseConfigSchema, input);
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/resource/langfuse/config.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,uEAAuE;AAEvE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,SAAS,EACT,CAAC,GACF,MAAM,yCAAyC,CAAA;AAGhD,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,SAAS,EAAE;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAA;AAMF,MAAM,UAAU,oBAAoB,CAAC,MAAsB;IACzD,OAAO,sBAAsB,CAAC,oBAAoB,EAAE,MAAM,CAAsC,CAAA;AAClG,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAA8B;IACpE,OAAO,qBAAqB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAA;AAC3D,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { LangfuseAccessor } from '@struktoai/mirage-core/accessor/langfuse';
|
|
2
|
+
import type { RegisteredCommand } from '@struktoai/mirage-core/commands/config';
|
|
3
|
+
import type { RegisteredOp } from '@struktoai/mirage-core/ops/registry';
|
|
4
|
+
import { BaseResource } from '@struktoai/mirage-core/resource/base';
|
|
5
|
+
import type { Resource } from '@struktoai/mirage-core/resource/base';
|
|
6
|
+
import { PathSpec } from '@struktoai/mirage-core/types';
|
|
7
|
+
import type { FileStat } from '@struktoai/mirage-core/types';
|
|
8
|
+
import { type LangfuseConfig, type LangfuseConfigRedacted } from './config.ts';
|
|
9
|
+
export interface LangfuseResourceState {
|
|
10
|
+
type: string;
|
|
11
|
+
config: LangfuseConfigRedacted;
|
|
12
|
+
}
|
|
13
|
+
export declare class LangfuseResource extends BaseResource implements Resource {
|
|
14
|
+
readonly kind: string;
|
|
15
|
+
readonly cachesReads: boolean;
|
|
16
|
+
readonly indexTtl: number;
|
|
17
|
+
readonly prompt: string;
|
|
18
|
+
readonly config: LangfuseConfig;
|
|
19
|
+
readonly accessor: LangfuseAccessor;
|
|
20
|
+
constructor(config: LangfuseConfig);
|
|
21
|
+
open(): Promise<void>;
|
|
22
|
+
commands(): readonly RegisteredCommand[];
|
|
23
|
+
ops(): readonly RegisteredOp[];
|
|
24
|
+
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
25
|
+
readdir(p: PathSpec): Promise<string[]>;
|
|
26
|
+
stat(p: PathSpec): Promise<FileStat>;
|
|
27
|
+
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
28
|
+
getState(): Promise<LangfuseResourceState>;
|
|
29
|
+
loadState(_state: LangfuseResourceState): Promise<void>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=langfuse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"langfuse.d.ts","sourceRoot":"","sources":["../../../src/resource/langfuse/langfuse.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAA;AAG3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAM/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAA;AAEpE,OAAO,EAAE,QAAQ,EAAgB,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAE5D,OAAO,EAAwB,KAAK,cAAc,EAAE,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAIpG,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,sBAAsB,CAAA;CAC/B;AAED,qBAAa,gBAAiB,SAAQ,YAAa,YAAW,QAAQ;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAwB;IAC7C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAO;IACpC,SAAkB,QAAQ,EAAE,MAAM,CAAM;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAkB;IACzC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAA;gBAEvB,MAAM,EAAE,cAAc;IAyBlC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,QAAQ,IAAI,SAAS,iBAAiB,EAAE;IAIxC,GAAG,IAAI,SAAS,YAAY,EAAE;IAI9B,QAAQ,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAI1C,OAAO,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIvC,IAAI,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIpC,IAAI,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,EAAE,MAAM,SAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAkBzD,QAAQ,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAO1C,SAAS,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;CAGjE"}
|