@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,100 @@
|
|
|
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 { MongoDBAccessor } from '@struktoai/mirage-core/accessor/mongodb';
|
|
15
|
+
import { makeResolveGlob } from '@struktoai/mirage-core/commands/builtin/generic_bind/index';
|
|
16
|
+
import { MONGODB_COMMANDS } from '@struktoai/mirage-core/commands/builtin/mongodb/index';
|
|
17
|
+
import { read as mongoRead } from '@struktoai/mirage-core/core/mongodb/read';
|
|
18
|
+
import { readdir as mongoReaddir } from '@struktoai/mirage-core/core/mongodb/readdir';
|
|
19
|
+
import { stat as mongoStat } from '@struktoai/mirage-core/core/mongodb/stat';
|
|
20
|
+
import { MONGODB_OPS } from '@struktoai/mirage-core/ops/mongodb/index';
|
|
21
|
+
import { BaseResource } from '@struktoai/mirage-core/resource/base';
|
|
22
|
+
import { redactMongoDBConfig, resolveMongoDBConfig, } from '@struktoai/mirage-core/resource/mongodb/config';
|
|
23
|
+
import { MONGODB_PROMPT } from '@struktoai/mirage-core/resource/mongodb/prompt';
|
|
24
|
+
import { PathSpec, ResourceName } from '@struktoai/mirage-core/types';
|
|
25
|
+
import { mountKey, mountPrefixOf } from '@struktoai/mirage-core/utils/key_prefix';
|
|
26
|
+
import { HttpMongoDriver } from "./http_driver.js";
|
|
27
|
+
const resolveMongoGlob = makeResolveGlob(mongoReaddir);
|
|
28
|
+
export class MongoDBResource extends BaseResource {
|
|
29
|
+
kind = ResourceName.MONGODB;
|
|
30
|
+
cachesReads = false;
|
|
31
|
+
indexTtl = 0;
|
|
32
|
+
prompt;
|
|
33
|
+
config;
|
|
34
|
+
driver;
|
|
35
|
+
accessor;
|
|
36
|
+
constructor(options) {
|
|
37
|
+
super();
|
|
38
|
+
const { config, prefix, driver, endpoint } = 'config' in options
|
|
39
|
+
? options
|
|
40
|
+
: { config: options, prefix: undefined, driver: undefined, endpoint: undefined };
|
|
41
|
+
this.config = resolveMongoDBConfig(config);
|
|
42
|
+
this.driver = driver ?? new HttpMongoDriver({ endpoint: endpoint ?? this.config.uri });
|
|
43
|
+
this.accessor = new MongoDBAccessor(this.driver, this.config);
|
|
44
|
+
this.prompt = MONGODB_PROMPT.replace('{prefix}', prefix ?? '');
|
|
45
|
+
}
|
|
46
|
+
getState() {
|
|
47
|
+
return {
|
|
48
|
+
type: this.kind,
|
|
49
|
+
config: redactMongoDBConfig(this.config),
|
|
50
|
+
// TypeScript cannot rebuild a config-backed mount from state:
|
|
51
|
+
// `buildMountArgs` substitutes a RAMResource for anything it was
|
|
52
|
+
// not handed. Saying so out loud turns a silently empty mount
|
|
53
|
+
// into a refusal to load. Python rebuilds via its registry, so it
|
|
54
|
+
// writes this on only four resources and reads it nowhere.
|
|
55
|
+
needs_override: true,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
// The rows live in the database, so a restored mount reaches them
|
|
59
|
+
// through its config alone — there is nothing to take back.
|
|
60
|
+
loadState(_state) {
|
|
61
|
+
return Promise.resolve();
|
|
62
|
+
}
|
|
63
|
+
open() {
|
|
64
|
+
return Promise.resolve();
|
|
65
|
+
}
|
|
66
|
+
async close() {
|
|
67
|
+
await this.driver.close();
|
|
68
|
+
await super.close();
|
|
69
|
+
}
|
|
70
|
+
ops() {
|
|
71
|
+
return MONGODB_OPS;
|
|
72
|
+
}
|
|
73
|
+
commands() {
|
|
74
|
+
return MONGODB_COMMANDS;
|
|
75
|
+
}
|
|
76
|
+
readFile(p) {
|
|
77
|
+
return mongoRead(this.accessor, p, this.index);
|
|
78
|
+
}
|
|
79
|
+
readdir(p) {
|
|
80
|
+
return mongoReaddir(this.accessor, p, this.index);
|
|
81
|
+
}
|
|
82
|
+
stat(p) {
|
|
83
|
+
return mongoStat(this.accessor, p, this.index);
|
|
84
|
+
}
|
|
85
|
+
glob(paths, prefix = '') {
|
|
86
|
+
const effective = prefix !== ''
|
|
87
|
+
? paths.map((p) => mountPrefixOf(p.virtual, p.resourcePath) !== ''
|
|
88
|
+
? p
|
|
89
|
+
: new PathSpec({
|
|
90
|
+
virtual: p.virtual,
|
|
91
|
+
directory: p.directory,
|
|
92
|
+
...(p.pattern !== null ? { pattern: p.pattern } : {}),
|
|
93
|
+
resolved: p.resolved,
|
|
94
|
+
resourcePath: mountKey(p.virtual, prefix),
|
|
95
|
+
}))
|
|
96
|
+
: paths;
|
|
97
|
+
return resolveMongoGlob(this.accessor, effective, this.index);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=mongodb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongodb.js","sourceRoot":"","sources":["../../../src/resource/mongodb/mongodb.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { OAuthClientProvider } from '@modelcontextprotocol/sdk/client/auth.js';
|
|
2
|
+
import { z } from '@struktoai/mirage-core/resource/secrets';
|
|
3
|
+
import type { ConfigOf, RedactedConfig } from '@struktoai/mirage-core/resource/secrets';
|
|
4
|
+
declare const NotionConfigSchema: z.ZodObject<{
|
|
5
|
+
authProvider: z.ZodCustom<OAuthClientProvider, OAuthClientProvider>;
|
|
6
|
+
serverUrl: z.ZodOptional<z.ZodString>;
|
|
7
|
+
}, z.core.$strip>;
|
|
8
|
+
export type NotionConfig = ConfigOf<typeof NotionConfigSchema>;
|
|
9
|
+
export type NotionConfigRedacted = RedactedConfig<NotionConfig, 'authProvider'>;
|
|
10
|
+
export declare function redactNotionConfig(config: NotionConfig): NotionConfigRedacted;
|
|
11
|
+
/**
|
|
12
|
+
* Translate a python-style config blob to this one's camelCase.
|
|
13
|
+
*
|
|
14
|
+
* No rename map: every field's camelCase spelling is what `snakeToCamel`
|
|
15
|
+
* already produces, and restating those only creates a second place to be
|
|
16
|
+
* wrong. Mirrors node's `normalizeNotionConfig`.
|
|
17
|
+
*/
|
|
18
|
+
export declare function normalizeNotionConfig(input: Record<string, unknown>): NotionConfig;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/resource/notion/config.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAA;AACnF,OAAO,EAIL,CAAC,EACF,MAAM,yCAAyC,CAAA;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAA;AAEvF,QAAA,MAAM,kBAAkB;;;iBAKtB,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE9D,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;AAE/E,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,oBAAoB,CAE7E;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,CAElF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
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, secretSchema, z, } from '@struktoai/mirage-core/resource/secrets';
|
|
15
|
+
const NotionConfigSchema = z.object({
|
|
16
|
+
authProvider: secretSchema(z.custom((value) => value !== null && typeof value === 'object')),
|
|
17
|
+
serverUrl: z.string().optional(),
|
|
18
|
+
});
|
|
19
|
+
export function redactNotionConfig(config) {
|
|
20
|
+
return redactConfigWithSchema(NotionConfigSchema, config);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Translate a python-style config blob to this one's camelCase.
|
|
24
|
+
*
|
|
25
|
+
* No rename map: every field's camelCase spelling is what `snakeToCamel`
|
|
26
|
+
* already produces, and restating those only creates a second place to be
|
|
27
|
+
* wrong. Mirrors node's `normalizeNotionConfig`.
|
|
28
|
+
*/
|
|
29
|
+
export function normalizeNotionConfig(input) {
|
|
30
|
+
return parseConfigWithSchema(NotionConfigSchema, input);
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/resource/notion/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;AAGvE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,YAAY,EACZ,CAAC,GACF,MAAM,yCAAyC,CAAA;AAGhD,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,YAAY,EAAE,YAAY,CACxB,CAAC,CAAC,MAAM,CAAsB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CACtF;IACD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAA;AAMF,MAAM,UAAU,kBAAkB,CAAC,MAAoB;IACrD,OAAO,sBAAsB,CAAC,kBAAkB,EAAE,MAAM,CAAoC,CAAA;AAC9F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAA8B;IAClE,OAAO,qBAAqB,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;AACzD,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { NotionAccessor } from '@struktoai/mirage-core/accessor/notion';
|
|
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 NotionConfig, type NotionConfigRedacted } from './config.ts';
|
|
9
|
+
export interface NotionResourceState {
|
|
10
|
+
type: string;
|
|
11
|
+
config: NotionConfigRedacted;
|
|
12
|
+
}
|
|
13
|
+
export declare class NotionResource 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: NotionConfig;
|
|
20
|
+
readonly accessor: NotionAccessor;
|
|
21
|
+
constructor(config: NotionConfig);
|
|
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<NotionResourceState>;
|
|
30
|
+
loadState(_state: NotionResourceState): Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=notion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notion.d.ts","sourceRoot":"","sources":["../../../src/resource/notion/notion.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AAGvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAO/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,EAAsB,KAAK,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAI9F,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,oBAAoB,CAAA;CAC7B;AAED,qBAAa,cAAe,SAAQ,YAAa,YAAW,QAAQ;IAClE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAsB;IAC3C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAO;IACpC,SAAkB,QAAQ,EAAE,MAAM,CAAM;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAgB;IACvC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAsB;IAClD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAA;gBAErB,MAAM,EAAE,YAAY;IAQhC,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,mBAAmB,CAAC;IAOxC,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAG/D"}
|
|
@@ -0,0 +1,86 @@
|
|
|
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 { NotionAccessor } from '@struktoai/mirage-core/accessor/notion';
|
|
15
|
+
import { makeResolveGlob } from '@struktoai/mirage-core/commands/builtin/generic_bind/index';
|
|
16
|
+
import { NOTION_COMMANDS } from '@struktoai/mirage-core/commands/builtin/notion/index';
|
|
17
|
+
import { MCPNotionTransport } from '@struktoai/mirage-core/core/notion/client';
|
|
18
|
+
import { read as notionRead } from '@struktoai/mirage-core/core/notion/read';
|
|
19
|
+
import { readdir as notionReaddir } from '@struktoai/mirage-core/core/notion/readdir';
|
|
20
|
+
import { stat as notionStat } from '@struktoai/mirage-core/core/notion/stat';
|
|
21
|
+
import { NOTION_OPS } from '@struktoai/mirage-core/ops/notion/index';
|
|
22
|
+
import { BaseResource } from '@struktoai/mirage-core/resource/base';
|
|
23
|
+
import { NOTION_PROMPT, NOTION_WRITE_PROMPT } from '@struktoai/mirage-core/resource/notion/prompt';
|
|
24
|
+
import { PathSpec, ResourceName } from '@struktoai/mirage-core/types';
|
|
25
|
+
import { mountKey, mountPrefixOf } from '@struktoai/mirage-core/utils/key_prefix';
|
|
26
|
+
import { redactNotionConfig } from "./config.js";
|
|
27
|
+
const resolveNotionGlob = makeResolveGlob(notionReaddir);
|
|
28
|
+
export class NotionResource extends BaseResource {
|
|
29
|
+
kind = ResourceName.NOTION;
|
|
30
|
+
cachesReads = true;
|
|
31
|
+
indexTtl = 600;
|
|
32
|
+
prompt = NOTION_PROMPT;
|
|
33
|
+
writePrompt = NOTION_WRITE_PROMPT;
|
|
34
|
+
config;
|
|
35
|
+
accessor;
|
|
36
|
+
constructor(config) {
|
|
37
|
+
super();
|
|
38
|
+
this.config = config;
|
|
39
|
+
const opts = { authProvider: config.authProvider };
|
|
40
|
+
if (config.serverUrl !== undefined)
|
|
41
|
+
opts.serverUrl = config.serverUrl;
|
|
42
|
+
this.accessor = new NotionAccessor(new MCPNotionTransport(opts));
|
|
43
|
+
}
|
|
44
|
+
open() {
|
|
45
|
+
return Promise.resolve();
|
|
46
|
+
}
|
|
47
|
+
commands() {
|
|
48
|
+
return NOTION_COMMANDS;
|
|
49
|
+
}
|
|
50
|
+
ops() {
|
|
51
|
+
return NOTION_OPS;
|
|
52
|
+
}
|
|
53
|
+
readFile(p) {
|
|
54
|
+
return notionRead(this.accessor, p, this.index);
|
|
55
|
+
}
|
|
56
|
+
readdir(p) {
|
|
57
|
+
return notionReaddir(this.accessor, p, this.index);
|
|
58
|
+
}
|
|
59
|
+
stat(p) {
|
|
60
|
+
return notionStat(this.accessor, p, this.index);
|
|
61
|
+
}
|
|
62
|
+
glob(paths, prefix = '') {
|
|
63
|
+
const effective = prefix !== ''
|
|
64
|
+
? paths.map((p) => mountPrefixOf(p.virtual, p.resourcePath) !== ''
|
|
65
|
+
? p
|
|
66
|
+
: new PathSpec({
|
|
67
|
+
virtual: p.virtual,
|
|
68
|
+
directory: p.directory,
|
|
69
|
+
...(p.pattern !== null ? { pattern: p.pattern } : {}),
|
|
70
|
+
resolved: p.resolved,
|
|
71
|
+
resourcePath: mountKey(p.virtual, prefix),
|
|
72
|
+
}))
|
|
73
|
+
: paths;
|
|
74
|
+
return resolveNotionGlob(this.accessor, effective, this.index);
|
|
75
|
+
}
|
|
76
|
+
getState() {
|
|
77
|
+
return Promise.resolve({
|
|
78
|
+
type: this.kind,
|
|
79
|
+
config: redactNotionConfig(this.config),
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
loadState(_state) {
|
|
83
|
+
return Promise.resolve();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=notion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notion.js","sourceRoot":"","sources":["../../../src/resource/notion/notion.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { z } from '@struktoai/mirage-core/resource/secrets';
|
|
2
|
+
import type { ConfigOf, RedactedConfig } from '@struktoai/mirage-core/resource/secrets';
|
|
3
|
+
declare const OCIConfigSchema: z.ZodObject<{
|
|
4
|
+
bucket: z.ZodString;
|
|
5
|
+
presignedUrlProvider: z.ZodCustom<import("@struktoai/mirage-core/resource/s3/config").S3BrowserPresignedUrlProvider, import("@struktoai/mirage-core/resource/s3/config").S3BrowserPresignedUrlProvider>;
|
|
6
|
+
region: z.ZodOptional<z.ZodString>;
|
|
7
|
+
endpoint: z.ZodOptional<z.ZodString>;
|
|
8
|
+
defaultContentType: z.ZodOptional<z.ZodString>;
|
|
9
|
+
keyPrefix: z.ZodOptional<z.ZodString>;
|
|
10
|
+
} & {
|
|
11
|
+
namespace: z.ZodOptional<z.ZodString>;
|
|
12
|
+
}, z.core.$strip>;
|
|
13
|
+
export type OCIConfig = ConfigOf<typeof OCIConfigSchema>;
|
|
14
|
+
export type OCIConfigRedacted = RedactedConfig<OCIConfig, 'presignedUrlProvider'>;
|
|
15
|
+
export declare const resolvedOciEndpoint: (config: OCIConfig) => string | undefined;
|
|
16
|
+
export declare const ociToS3Config: (config: OCIConfig) => import("@struktoai/mirage-core/resource/s3/config").S3Config;
|
|
17
|
+
export declare const redactOciConfig: (config: OCIConfig) => OCIConfigRedacted;
|
|
18
|
+
export declare const normalizeOCIConfig: (input: Record<string, unknown>) => OCIConfig;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/resource/oci/config.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,CAAC,EAAE,MAAM,yCAAyC,CAAA;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAA;AAGvF,QAAA,MAAM,eAAe;;;;;;;;;iBAA2D,CAAA;AAEhF,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,eAAe,CAAC,CAAA;AAExD,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAA;AAajF,eAAO,MAAM,mBAAmB,2CAAyB,CAAA;AACzD,eAAO,MAAM,aAAa,qFAAmB,CAAA;AAC7C,eAAO,MAAM,eAAe,0CAAe,CAAA;AAC3C,eAAO,MAAM,kBAAkB,+CAAkB,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
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 { z } from '@struktoai/mirage-core/resource/secrets';
|
|
15
|
+
import { browserAliasSchema, makeBrowserS3Alias } from "../s3_alias.js";
|
|
16
|
+
const OCIConfigSchema = browserAliasSchema({ namespace: z.string().optional() });
|
|
17
|
+
const alias = makeBrowserS3Alias({
|
|
18
|
+
schema: OCIConfigSchema,
|
|
19
|
+
endpointFor: (config) => config.namespace !== undefined &&
|
|
20
|
+
config.namespace !== '' &&
|
|
21
|
+
config.region !== undefined &&
|
|
22
|
+
config.region !== ''
|
|
23
|
+
? `https://${config.namespace}.compat.objectstorage.${config.region}.oci.customer-oci.com`
|
|
24
|
+
: undefined,
|
|
25
|
+
});
|
|
26
|
+
export const resolvedOciEndpoint = alias.resolvedEndpoint;
|
|
27
|
+
export const ociToS3Config = alias.toS3Config;
|
|
28
|
+
export const redactOciConfig = alias.redact;
|
|
29
|
+
export const normalizeOCIConfig = alias.normalize;
|
|
30
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/resource/oci/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,EAAE,CAAC,EAAE,MAAM,yCAAyC,CAAA;AAE3D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEvE,MAAM,eAAe,GAAG,kBAAkB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;AAMhF,MAAM,KAAK,GAAG,kBAAkB,CAA+B;IAC7D,MAAM,EAAE,eAAe;IACvB,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CACtB,MAAM,CAAC,SAAS,KAAK,SAAS;QAC9B,MAAM,CAAC,SAAS,KAAK,EAAE;QACvB,MAAM,CAAC,MAAM,KAAK,SAAS;QAC3B,MAAM,CAAC,MAAM,KAAK,EAAE;QAClB,CAAC,CAAC,WAAW,MAAM,CAAC,SAAS,yBAAyB,MAAM,CAAC,MAAM,uBAAuB;QAC1F,CAAC,CAAC,SAAS;CAChB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC,gBAAgB,CAAA;AACzD,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAA;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAA;AAC3C,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,SAAS,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { S3AliasResource, type S3AliasResourceState } from '../s3_alias.ts';
|
|
2
|
+
import { type OCIConfig, type OCIConfigRedacted } from './config.ts';
|
|
3
|
+
export type OCIResourceState = S3AliasResourceState<OCIConfigRedacted>;
|
|
4
|
+
export declare class OCIResource extends S3AliasResource<OCIConfig, OCIConfigRedacted> {
|
|
5
|
+
readonly prompt: string;
|
|
6
|
+
constructor(config: OCIConfig);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=oci.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oci.d.ts","sourceRoot":"","sources":["../../../src/resource/oci/oci.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAC3E,OAAO,EAAkC,KAAK,SAAS,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAGpG,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAA;AAEtE,qBAAa,WAAY,SAAQ,eAAe,CAAC,SAAS,EAAE,iBAAiB,CAAC;IAC5E,SAAkB,MAAM,EAAE,MAAM,CAAqB;gBAEzC,MAAM,EAAE,SAAS;CAG9B"}
|
|
@@ -0,0 +1,24 @@
|
|
|
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 { ResourceName } from '@struktoai/mirage-core/types';
|
|
15
|
+
import { S3AliasResource } from "../s3_alias.js";
|
|
16
|
+
import { ociToS3Config, redactOciConfig } from "./config.js";
|
|
17
|
+
import { OCI_BROWSER_PROMPT } from "./prompt.js";
|
|
18
|
+
export class OCIResource extends S3AliasResource {
|
|
19
|
+
prompt = OCI_BROWSER_PROMPT;
|
|
20
|
+
constructor(config) {
|
|
21
|
+
super(ResourceName.OCI, config, ociToS3Config(config), redactOciConfig);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=oci.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oci.js","sourceRoot":"","sources":["../../../src/resource/oci/oci.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,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,eAAe,EAA6B,MAAM,gBAAgB,CAAA;AAC3E,OAAO,EAAE,aAAa,EAAE,eAAe,EAA0C,MAAM,aAAa,CAAA;AACpG,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAIhD,MAAM,OAAO,WAAY,SAAQ,eAA6C;IAC1D,MAAM,GAAW,kBAAkB,CAAA;IAErD,YAAY,MAAiB;QAC3B,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,CAAA;IACzE,CAAC;CACF"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const OCI_BROWSER_PROMPT = "{prefix}\n Remote Oracle Cloud Object Storage accessed via presigned URLs (browser runtime).\n Supports the full filesystem command set: ls/tree/cat/grep/find/du/cp/mv/rm/etc.\n Listing operations require the presigner to sign LIST/COPY operations in\n addition to GET/PUT/HEAD/DELETE \u2014 see S3BrowserPresignedUrlProvider docs.";
|
|
2
|
+
//# sourceMappingURL=prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../src/resource/oci/prompt.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,kBAAkB,oVAI6C,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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
|
+
export const OCI_BROWSER_PROMPT = `{prefix}
|
|
15
|
+
Remote Oracle Cloud Object Storage accessed via presigned URLs (browser runtime).
|
|
16
|
+
Supports the full filesystem command set: ls/tree/cat/grep/find/du/cp/mv/rm/etc.
|
|
17
|
+
Listing operations require the presigner to sign LIST/COPY operations in
|
|
18
|
+
addition to GET/PUT/HEAD/DELETE — see S3BrowserPresignedUrlProvider docs.`;
|
|
19
|
+
//# sourceMappingURL=prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/resource/oci/prompt.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,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;4EAI0C,CAAA"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { RegisteredCommand } from '@struktoai/mirage-core/commands/config';
|
|
2
|
+
import type { RegisteredOp } from '@struktoai/mirage-core/ops/registry';
|
|
3
|
+
import { BaseResource } from '@struktoai/mirage-core/resource/base';
|
|
4
|
+
import type { FindOptions, Resource } from '@struktoai/mirage-core/resource/base';
|
|
5
|
+
import type { FileStat, PathSpec } from '@struktoai/mirage-core/types';
|
|
6
|
+
import { OPFSAccessor } from '../../accessor/opfs.ts';
|
|
7
|
+
export interface OPFSResourceOptions {
|
|
8
|
+
root?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface OPFSResourceState {
|
|
11
|
+
type: string;
|
|
12
|
+
files: Record<string, Uint8Array>;
|
|
13
|
+
dirs: string[];
|
|
14
|
+
}
|
|
15
|
+
export declare class OPFSResource extends BaseResource implements Resource {
|
|
16
|
+
readonly kind: "opfs";
|
|
17
|
+
readonly sizesAlwaysKnown: boolean;
|
|
18
|
+
readonly prompt = "{prefix}\n Browser Origin Private File System. Persistent per-origin storage that survives page reloads.\n Standard commands: ls, cat, head, tail, grep, wc, find, tree, mkdir, touch, cp, mv, rm, tee.";
|
|
19
|
+
readonly rootName: string;
|
|
20
|
+
readonly accessor: OPFSAccessor;
|
|
21
|
+
private rootHandle;
|
|
22
|
+
private openPromise;
|
|
23
|
+
constructor(options?: OPFSResourceOptions);
|
|
24
|
+
open(): Promise<void>;
|
|
25
|
+
close(): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Lazily resolve to a usable root handle. Memoizes `navigator.storage`
|
|
28
|
+
* traversal so the resource self-initializes on first method call without
|
|
29
|
+
* relying on an external orchestrator.
|
|
30
|
+
*/
|
|
31
|
+
private ensureOpen;
|
|
32
|
+
requireHandle(): FileSystemDirectoryHandle;
|
|
33
|
+
ops(): readonly RegisteredOp[];
|
|
34
|
+
commands(): readonly RegisteredCommand[];
|
|
35
|
+
streamPath(p: PathSpec): AsyncIterable<Uint8Array>;
|
|
36
|
+
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
37
|
+
writeFile(p: PathSpec, data: Uint8Array): Promise<void>;
|
|
38
|
+
appendFile(p: PathSpec, data: Uint8Array): Promise<void>;
|
|
39
|
+
readdir(p: PathSpec): Promise<string[]>;
|
|
40
|
+
stat(p: PathSpec): Promise<FileStat>;
|
|
41
|
+
exists(p: PathSpec): Promise<boolean>;
|
|
42
|
+
mkdir(p: PathSpec, options?: {
|
|
43
|
+
recursive?: boolean;
|
|
44
|
+
}): Promise<void>;
|
|
45
|
+
rmdir(p: PathSpec): Promise<void>;
|
|
46
|
+
unlink(p: PathSpec): Promise<void>;
|
|
47
|
+
rename(src: PathSpec, dst: PathSpec): Promise<void>;
|
|
48
|
+
truncate(p: PathSpec, length: number): Promise<void>;
|
|
49
|
+
copy(src: PathSpec, dst: PathSpec): Promise<void>;
|
|
50
|
+
rmR(p: PathSpec): Promise<void>;
|
|
51
|
+
du(p: PathSpec): Promise<number>;
|
|
52
|
+
find(p: PathSpec, options?: FindOptions): Promise<string[]>;
|
|
53
|
+
glob(paths: readonly PathSpec[]): Promise<PathSpec[]>;
|
|
54
|
+
getState(): Promise<OPFSResourceState>;
|
|
55
|
+
loadState(state: OPFSResourceState): Promise<void>;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=opfs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opfs.d.ts","sourceRoot":"","sources":["../../../src/resource/opfs/opfs.ts"],"names":[],"mappings":"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"}
|