@dxos/plugin-file 0.0.0 → 0.9.1-staging.ee54ba693a

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.
@@ -10,7 +10,7 @@ import { meta } from "#meta";
10
10
  import { translations } from "#translations";
11
11
  import { File } from "#types";
12
12
 
13
- // raw-loader:/Users/jdw/Code/dxos/packages/plugins/plugin-file/PLUGIN.mdl
13
+ // raw-loader:/__w/dxos/dxos/packages/plugins/plugin-file/PLUGIN.mdl
14
14
  var PLUGIN_default = "---\nid: org.dxos.plugin.file\nname: FilePlugin\nversion: 0.1.0\n---\n\nFilePlugin enables DXOS Composer to store and preview binary files \u2014 images, videos, and PDFs \u2014 as first-class ECHO objects.\nUploaded bytes are routed through a pluggable backend system: the built-in `inline` backend serialises the file directly\nonto the ECHO document, while external backends (e.g. WNFS) can be contributed by other plugins.\nA URL-resolver capability lets external-storage backends convert opaque storage URIs into renderable blob, data, or HTTP URLs\nat view time, keeping the ECHO object schema backend-agnostic.\n\n## Extensions\n\nThe following extension dialects are used in this document.\nEach extension is defined in the Appendix or resolved via its URI.\n\n| Term | URI |\n|-------------|--------------------------------|\n| `type` | `org.dxos.mdl.type@1.0` |\n| `feat` | `org.dxos.mdl.feat@1.0` |\n| `test` | `org.dxos.mdl.test@1.0` |\n| `component` | `org.dxos.mdl.component@1.0` |\n| `op` | `org.dxos.mdl.op@1.0` |\n\n## Types\n\n```mdl\ntype FileDataInline\n desc: File bytes stored directly on the ECHO object.\n fields:\n _tag: 'inline'\n bytes: Uint8Array\n```\n\n```mdl\ntype FileDataExternal\n desc: File bytes stored outside ECHO; referenced by URL.\n fields:\n _tag: 'external'\n url: string\n cid?: string # optional content-addressed identifier\n```\n\n```mdl\ntype FileData\n desc: Discriminated union of inline and external storage.\n literals: FileDataInline | FileDataExternal\n```\n\n```mdl\ntype File\n desc: ECHO object (typename dxos.org.type.file) representing an uploaded binary asset.\n fields:\n name?: string\n type: string # MIME type\n size: number # byte count\n data: FileData\n timestamp?: string # ISO 8601 upload time\n```\n\n```mdl\ntype UploadResult\n desc: Normalised return value from a Backend.upload call.\n fields:\n name: string\n type: string\n size: number\n data: FileData\n```\n\n```mdl\ntype Settings\n desc: Per-user plugin settings stored in the ECHO space.\n fields:\n backend?: string # active backend id; defaults to 'inline'\n```\n\n## Components\n\n```mdl\ncomponent FilePreview\n desc: |\n Renders a File object using the appropriate HTML element for its MIME type.\n Images use <img>, videos use <video controls>, PDFs use <iframe>, and\n all other types fall back to a download link.\n props:\n type: string # MIME type\n url: string # renderable blob:, data:, or http(s): URL\n layout: |\n \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n \u2502 <img> / <video> / <iframe> \u2502\n \u2502 or [Download file] link \u2502\n \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n```\n\n```mdl\ncomponent FileInput\n desc: Drag-and-drop / browse file picker used inside the Create Object form.\n props:\n schema: Schema # effect/Schema with UploadAnnotation on the file field\n emits:\n onChange(file: File)\n layout: |\n \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n \u2502 [ Drop file or click here ] \u2502\n \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n```\n\n```mdl\ncomponent FileSettings\n desc: Plugin settings panel rendered in the Composer settings surface.\n props:\n settings: Settings\n emits:\n onSettingsChange(settings: Settings)\n layout: |\n \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n \u2502 Storage backend: [select \u25BC] \u2502\n \u2502 (one row per registered \u2502\n \u2502 backend with description) \u2502\n \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n```\n\n```mdl\ncomponent FileArticle\n desc: |\n Full-viewport article container rendered for article, section, and slide\n roles. Resolves a renderable URL from the File object via inline blob\n conversion or registered UrlResolver capabilities, then delegates to\n FilePreview. Shows an empty state while the URL is resolving.\n props:\n role: AppSurface.Role\n subject: File\n layout: |\n \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n \u2502 \u2502\n \u2502 FilePreview \u2502\n \u2502 (fills container) \u2502\n \u2502 \u2502\n \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n```\n\n## Operations\n\n```mdl\nop Create\n key: org.dxos.plugin.file.operation.create\n desc: |\n Validates a browser File object (MIME type and size), routes the upload to the\n active Backend capability, and constructs a File ECHO object from the result.\n Does not add the object to the space \u2014 callers do that separately.\n input:\n file: BrowserFile # browser File (globalThis.File)\n db: Database\n output: { object: File }\n errors:\n UnsupportedFileTypeError: MIME type is not image/*, video/*, or application/pdf\n FileTooLargeError: file exceeds the 4 MB inline limit\n NoBackendError: no Backend capability is registered\n```\n\n## Features\n\n```mdl\nfeat F-1: File upload\n\n req F-1.1: Accepted MIME types MUST be image/* (jpg, jpeg, png, gif, webp, svg),\n video/* (mp4, webm, mov), and application/pdf only.\n\n req F-1.2: Maximum upload size MUST be 4 MB for the inline backend.\n\n req F-1.3:\n when: user submits the Create Object form with a valid file\n then:\n - op:Create is invoked with the selected file and active database\n - the resulting File object is added to the space via SpaceOperation.AddObject\n - FileUploader capability returns metadata to the caller (name, type, url/cid)\n\n req F-1.4:\n when: file MIME type is not accepted\n then: UnsupportedFileTypeError returned; no ECHO write occurs\n\n req F-1.5:\n when: file size exceeds the limit\n then: FileTooLargeError returned; no ECHO write occurs\n```\n\n```mdl\nfeat F-2: Backend capability system\n\n req F-2.1: Any plugin may contribute a Backend capability. Multiple backends\n may be registered simultaneously.\n\n req F-2.2: The inline backend MUST always be registered by FilePlugin itself.\n It serialises bytes directly onto the ECHO object.\n\n req F-2.3: The active backend is determined by Settings.backend. If the\n configured id is absent or unrecognised, the inline backend is used.\n\n req F-2.4: A UrlResolver capability allows external backends to convert an\n opaque storage URI (e.g. wnfs://\u2026) into a renderable URL at view time.\n FileArticle iterates registered resolvers and uses the first that matches.\n```\n\n```mdl\nfeat F-3: File preview\n\n req F-3.1: FileArticle MUST resolve a renderable URL before rendering\n FilePreview. For inline files a blob: URL is created from the stored bytes\n and revoked on unmount.\n\n req F-3.2: FilePreview MUST render the appropriate element for each MIME class:\n image/* \u2192 <img>, video/* \u2192 <video controls>, application/pdf \u2192 <iframe>,\n other \u2192 <a download>.\n\n req F-3.3: FileArticle surfaces are registered for article, section,\n and slide roles so files embed correctly in Markdown and Presenter layouts.\n```\n\n```mdl\nfeat F-4: Markdown integration\n\n req F-4.1: A Markdown extension contributed at MarkdownEvents.SetupExtensions\n MUST allow files to be embedded in Markdown documents as inline attachments.\n```\n\n```mdl\nfeat F-5: Settings\n\n req F-5.1: The Settings panel MUST list all registered backends with their\n id, display name, and optional description.\n\n req F-5.2: Selecting a backend MUST persist the choice to Settings.backend\n via the SettingsAtom capability.\n```\n\n## Acceptance\n\n```mdl\ntest T-1: Upload image inline\n given: only the inline backend is registered\n when: user uploads a 1 MB PNG via the Create Object form\n then:\n - op:Create returns a File with data._tag === 'inline'\n - File.type === 'image/png', File.size === byte count\n - File is added to the space\n```\n\n```mdl\ntest T-2: Reject oversized file\n given: inline backend registered, 4 MB limit\n when: user uploads a 5 MB JPEG\n then:\n - FileTooLargeError is returned\n - no File object is created\n - no ECHO write occurs\n```\n\n```mdl\ntest T-3: Reject unsupported MIME type\n given: inline backend registered\n when: user uploads a .zip file\n then:\n - UnsupportedFileTypeError is returned\n - no File object is created\n```\n\n```mdl\ntest T-4: Preview inline image\n given: a File with data._tag === 'inline' and type === 'image/png'\n when: FileArticle is rendered\n then:\n - a blob: URL is created from File.data.bytes\n - FilePreview renders an <img> element with that URL\n - the blob: URL is revoked on unmount\n```\n\n```mdl\ntest T-5: Preview PDF\n given: a File with type === 'application/pdf' and a resolved HTTP URL\n when: FilePreview is rendered\n then: an <iframe> element is rendered with the file URL as src\n```\n\n```mdl\ntest T-6: Backend fallback to inline\n given: Settings.backend is 'wnfs' but no WNFS backend is registered\n when: op:Create is invoked\n then: the inline backend is used and the file is stored inline\n```\n\n```mdl\ntest T-7: External URL resolved by UrlResolver\n given: a File with data._tag === 'external' and data.url === 'wnfs://cid/file.jpg'\n and: a UrlResolver capability registered that handles 'wnfs://' URIs\n when: FileArticle is rendered\n then:\n - UrlResolver.resolve is called with the wnfs:// URL\n - FilePreview receives the resolved renderable URL\n```\n\n```mdl\ntest T-8: No backend error\n given: no Backend capability is registered\n when: op:Create is invoked\n then: NoBackendError is returned\n```\n\n---\n\n## Appendix: Extension Definitions\n\n```mdl\next type\n uri: org.dxos.mdl.type@1.0\n desc: A named data structure with typed fields and optional literals.\n fields:\n desc?: Prose\n fields?: FieldMap\n literals?: UnionList\n extends?: TypeRef[]\n```\n\n```mdl\next feat\n uri: org.dxos.mdl.feat@1.0\n desc: A named feature grouping one or more requirements.\n fields:\n desc?: Prose\n req: RequirementList\n nesting: self\n```\n\n```mdl\next test\n uri: org.dxos.mdl.test@1.0\n desc: An acceptance scenario expressed as given / when / then steps.\n fields:\n given?: Step | Step[]\n when?: Step | Step[]\n then: Step | Step[]\n tags?: TagList\n```\n\n```mdl\next component\n uri: org.dxos.mdl.component@1.0\n desc: A UI component with props, internal state, slots, actions, and events.\n fields:\n desc?: Prose\n props?: FieldMap\n state?: FieldMap\n slots?: FieldMap\n actions?: ActionMap\n emits?: EventMap\n layout?: CodeBlock\n```\n\n```mdl\next op\n uri: org.dxos.mdl.op@1.0\n desc: A named operation with typed inputs, outputs, and declared errors.\n fields:\n desc?: Prose\n input?: FieldMap\n output?: TypeExpr\n errors?: ErrorMap\n effects?: EffectList\n requires?: ServiceList\n note?: Prose\n```\n";
15
15
 
16
16
  // src/FilePlugin.tsx
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/FilePlugin.tsx", "raw-loader:/Users/jdw/Code/dxos/packages/plugins/plugin-file/PLUGIN.mdl"],
3
+ "sources": ["../../../src/FilePlugin.tsx", "raw-loader:/__w/dxos/dxos/packages/plugins/plugin-file/PLUGIN.mdl"],
4
4
  "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppActivationEvents, AppPlugin } from '@dxos/app-toolkit';\nimport { ClientEvents } from '@dxos/plugin-client';\nimport { MarkdownEvents } from '@dxos/plugin-markdown';\n\nimport {\n CreateObject,\n FileUploader,\n InlineBackend,\n Markdown,\n OperationHandler,\n ReactSurface,\n Settings,\n SkillDefinition,\n} from '#capabilities';\nimport { meta } from '#meta';\nimport { translations } from '#translations';\nimport { File } from '#types';\n\n// eslint-disable-next-line import/no-relative-packages\nimport pluginSpec from '../PLUGIN.mdl?raw';\n\nexport const FilePlugin = Plugin.define(meta).pipe(\n AppPlugin.addSkillDefinitionModule({ activate: SkillDefinition }),\n AppPlugin.addCreateObjectModule({ activate: CreateObject }),\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addSchemaModule({ schema: [File.File] }),\n AppPlugin.addSettingsModule({ activate: Settings }),\n AppPlugin.addSurfaceModule({ activate: ReactSurface }),\n AppPlugin.addTranslationsModule({ translations }),\n Plugin.addModule({\n id: 'inline-backend',\n activatesOn: AppActivationEvents.SetupSchema,\n activate: InlineBackend,\n }),\n Plugin.addModule({\n id: 'file-uploader',\n activatesOn: ClientEvents.ClientReady,\n activate: FileUploader,\n }),\n Plugin.addModule({\n id: 'markdown',\n activatesOn: MarkdownEvents.SetupExtensions,\n activate: Markdown,\n }),\n AppPlugin.addPluginAssetModule({\n asset: { pluginId: meta.profile.key, path: 'PLUGIN.mdl', content: pluginSpec, mimeType: 'application/x-mdl' },\n }),\n Plugin.make,\n);\n\nexport default FilePlugin;\n", "---\nid: org.dxos.plugin.file\nname: FilePlugin\nversion: 0.1.0\n---\n\nFilePlugin enables DXOS Composer to store and preview binary files \u2014 images, videos, and PDFs \u2014 as first-class ECHO objects.\nUploaded bytes are routed through a pluggable backend system: the built-in `inline` backend serialises the file directly\nonto the ECHO document, while external backends (e.g. WNFS) can be contributed by other plugins.\nA URL-resolver capability lets external-storage backends convert opaque storage URIs into renderable blob, data, or HTTP URLs\nat view time, keeping the ECHO object schema backend-agnostic.\n\n## Extensions\n\nThe following extension dialects are used in this document.\nEach extension is defined in the Appendix or resolved via its URI.\n\n| Term | URI |\n|-------------|--------------------------------|\n| `type` | `org.dxos.mdl.type@1.0` |\n| `feat` | `org.dxos.mdl.feat@1.0` |\n| `test` | `org.dxos.mdl.test@1.0` |\n| `component` | `org.dxos.mdl.component@1.0` |\n| `op` | `org.dxos.mdl.op@1.0` |\n\n## Types\n\n```mdl\ntype FileDataInline\n desc: File bytes stored directly on the ECHO object.\n fields:\n _tag: 'inline'\n bytes: Uint8Array\n```\n\n```mdl\ntype FileDataExternal\n desc: File bytes stored outside ECHO; referenced by URL.\n fields:\n _tag: 'external'\n url: string\n cid?: string # optional content-addressed identifier\n```\n\n```mdl\ntype FileData\n desc: Discriminated union of inline and external storage.\n literals: FileDataInline | FileDataExternal\n```\n\n```mdl\ntype File\n desc: ECHO object (typename dxos.org.type.file) representing an uploaded binary asset.\n fields:\n name?: string\n type: string # MIME type\n size: number # byte count\n data: FileData\n timestamp?: string # ISO 8601 upload time\n```\n\n```mdl\ntype UploadResult\n desc: Normalised return value from a Backend.upload call.\n fields:\n name: string\n type: string\n size: number\n data: FileData\n```\n\n```mdl\ntype Settings\n desc: Per-user plugin settings stored in the ECHO space.\n fields:\n backend?: string # active backend id; defaults to 'inline'\n```\n\n## Components\n\n```mdl\ncomponent FilePreview\n desc: |\n Renders a File object using the appropriate HTML element for its MIME type.\n Images use <img>, videos use <video controls>, PDFs use <iframe>, and\n all other types fall back to a download link.\n props:\n type: string # MIME type\n url: string # renderable blob:, data:, or http(s): URL\n layout: |\n \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n \u2502 <img> / <video> / <iframe> \u2502\n \u2502 or [Download file] link \u2502\n \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n```\n\n```mdl\ncomponent FileInput\n desc: Drag-and-drop / browse file picker used inside the Create Object form.\n props:\n schema: Schema # effect/Schema with UploadAnnotation on the file field\n emits:\n onChange(file: File)\n layout: |\n \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n \u2502 [ Drop file or click here ] \u2502\n \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n```\n\n```mdl\ncomponent FileSettings\n desc: Plugin settings panel rendered in the Composer settings surface.\n props:\n settings: Settings\n emits:\n onSettingsChange(settings: Settings)\n layout: |\n \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n \u2502 Storage backend: [select \u25BC] \u2502\n \u2502 (one row per registered \u2502\n \u2502 backend with description) \u2502\n \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n```\n\n```mdl\ncomponent FileArticle\n desc: |\n Full-viewport article container rendered for article, section, and slide\n roles. Resolves a renderable URL from the File object via inline blob\n conversion or registered UrlResolver capabilities, then delegates to\n FilePreview. Shows an empty state while the URL is resolving.\n props:\n role: AppSurface.Role\n subject: File\n layout: |\n \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n \u2502 \u2502\n \u2502 FilePreview \u2502\n \u2502 (fills container) \u2502\n \u2502 \u2502\n \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n```\n\n## Operations\n\n```mdl\nop Create\n key: org.dxos.plugin.file.operation.create\n desc: |\n Validates a browser File object (MIME type and size), routes the upload to the\n active Backend capability, and constructs a File ECHO object from the result.\n Does not add the object to the space \u2014 callers do that separately.\n input:\n file: BrowserFile # browser File (globalThis.File)\n db: Database\n output: { object: File }\n errors:\n UnsupportedFileTypeError: MIME type is not image/*, video/*, or application/pdf\n FileTooLargeError: file exceeds the 4 MB inline limit\n NoBackendError: no Backend capability is registered\n```\n\n## Features\n\n```mdl\nfeat F-1: File upload\n\n req F-1.1: Accepted MIME types MUST be image/* (jpg, jpeg, png, gif, webp, svg),\n video/* (mp4, webm, mov), and application/pdf only.\n\n req F-1.2: Maximum upload size MUST be 4 MB for the inline backend.\n\n req F-1.3:\n when: user submits the Create Object form with a valid file\n then:\n - op:Create is invoked with the selected file and active database\n - the resulting File object is added to the space via SpaceOperation.AddObject\n - FileUploader capability returns metadata to the caller (name, type, url/cid)\n\n req F-1.4:\n when: file MIME type is not accepted\n then: UnsupportedFileTypeError returned; no ECHO write occurs\n\n req F-1.5:\n when: file size exceeds the limit\n then: FileTooLargeError returned; no ECHO write occurs\n```\n\n```mdl\nfeat F-2: Backend capability system\n\n req F-2.1: Any plugin may contribute a Backend capability. Multiple backends\n may be registered simultaneously.\n\n req F-2.2: The inline backend MUST always be registered by FilePlugin itself.\n It serialises bytes directly onto the ECHO object.\n\n req F-2.3: The active backend is determined by Settings.backend. If the\n configured id is absent or unrecognised, the inline backend is used.\n\n req F-2.4: A UrlResolver capability allows external backends to convert an\n opaque storage URI (e.g. wnfs://\u2026) into a renderable URL at view time.\n FileArticle iterates registered resolvers and uses the first that matches.\n```\n\n```mdl\nfeat F-3: File preview\n\n req F-3.1: FileArticle MUST resolve a renderable URL before rendering\n FilePreview. For inline files a blob: URL is created from the stored bytes\n and revoked on unmount.\n\n req F-3.2: FilePreview MUST render the appropriate element for each MIME class:\n image/* \u2192 <img>, video/* \u2192 <video controls>, application/pdf \u2192 <iframe>,\n other \u2192 <a download>.\n\n req F-3.3: FileArticle surfaces are registered for article, section,\n and slide roles so files embed correctly in Markdown and Presenter layouts.\n```\n\n```mdl\nfeat F-4: Markdown integration\n\n req F-4.1: A Markdown extension contributed at MarkdownEvents.SetupExtensions\n MUST allow files to be embedded in Markdown documents as inline attachments.\n```\n\n```mdl\nfeat F-5: Settings\n\n req F-5.1: The Settings panel MUST list all registered backends with their\n id, display name, and optional description.\n\n req F-5.2: Selecting a backend MUST persist the choice to Settings.backend\n via the SettingsAtom capability.\n```\n\n## Acceptance\n\n```mdl\ntest T-1: Upload image inline\n given: only the inline backend is registered\n when: user uploads a 1 MB PNG via the Create Object form\n then:\n - op:Create returns a File with data._tag === 'inline'\n - File.type === 'image/png', File.size === byte count\n - File is added to the space\n```\n\n```mdl\ntest T-2: Reject oversized file\n given: inline backend registered, 4 MB limit\n when: user uploads a 5 MB JPEG\n then:\n - FileTooLargeError is returned\n - no File object is created\n - no ECHO write occurs\n```\n\n```mdl\ntest T-3: Reject unsupported MIME type\n given: inline backend registered\n when: user uploads a .zip file\n then:\n - UnsupportedFileTypeError is returned\n - no File object is created\n```\n\n```mdl\ntest T-4: Preview inline image\n given: a File with data._tag === 'inline' and type === 'image/png'\n when: FileArticle is rendered\n then:\n - a blob: URL is created from File.data.bytes\n - FilePreview renders an <img> element with that URL\n - the blob: URL is revoked on unmount\n```\n\n```mdl\ntest T-5: Preview PDF\n given: a File with type === 'application/pdf' and a resolved HTTP URL\n when: FilePreview is rendered\n then: an <iframe> element is rendered with the file URL as src\n```\n\n```mdl\ntest T-6: Backend fallback to inline\n given: Settings.backend is 'wnfs' but no WNFS backend is registered\n when: op:Create is invoked\n then: the inline backend is used and the file is stored inline\n```\n\n```mdl\ntest T-7: External URL resolved by UrlResolver\n given: a File with data._tag === 'external' and data.url === 'wnfs://cid/file.jpg'\n and: a UrlResolver capability registered that handles 'wnfs://' URIs\n when: FileArticle is rendered\n then:\n - UrlResolver.resolve is called with the wnfs:// URL\n - FilePreview receives the resolved renderable URL\n```\n\n```mdl\ntest T-8: No backend error\n given: no Backend capability is registered\n when: op:Create is invoked\n then: NoBackendError is returned\n```\n\n---\n\n## Appendix: Extension Definitions\n\n```mdl\next type\n uri: org.dxos.mdl.type@1.0\n desc: A named data structure with typed fields and optional literals.\n fields:\n desc?: Prose\n fields?: FieldMap\n literals?: UnionList\n extends?: TypeRef[]\n```\n\n```mdl\next feat\n uri: org.dxos.mdl.feat@1.0\n desc: A named feature grouping one or more requirements.\n fields:\n desc?: Prose\n req: RequirementList\n nesting: self\n```\n\n```mdl\next test\n uri: org.dxos.mdl.test@1.0\n desc: An acceptance scenario expressed as given / when / then steps.\n fields:\n given?: Step | Step[]\n when?: Step | Step[]\n then: Step | Step[]\n tags?: TagList\n```\n\n```mdl\next component\n uri: org.dxos.mdl.component@1.0\n desc: A UI component with props, internal state, slots, actions, and events.\n fields:\n desc?: Prose\n props?: FieldMap\n state?: FieldMap\n slots?: FieldMap\n actions?: ActionMap\n emits?: EventMap\n layout?: CodeBlock\n```\n\n```mdl\next op\n uri: org.dxos.mdl.op@1.0\n desc: A named operation with typed inputs, outputs, and declared errors.\n fields:\n desc?: Prose\n input?: FieldMap\n output?: TypeExpr\n errors?: ErrorMap\n effects?: EffectList\n requires?: ServiceList\n note?: Prose\n```\n"],
5
5
  "mappings": ";;;AAIA,SAASA,cAAc;AACvB,SAASC,qBAAqBC,iBAAiB;AAC/C,SAASC,oBAAoB;AAC7B,SAASC,sBAAsB;AAE/B,SACEC,cACAC,cACAC,eACAC,UACAC,kBACAC,cACAC,UACAC,uBACK;AACP,SAASC,YAAY;AACrB,SAASC,oBAAoB;AAC7B,SAASC,YAAY;;;ACrBrB;;;AD0BO,IAAMC,aAAaC,OAAOC,OAAOC,IAAAA,EAAMC,KAC5CC,UAAUC,yBAAyB;EAAEC,UAAUC;AAAgB,CAAA,GAC/DH,UAAUI,sBAAsB;EAAEF,UAAUG;AAAa,CAAA,GACzDL,UAAUM,0BAA0B;EAAEJ,UAAUK;AAAiB,CAAA,GACjEP,UAAUQ,gBAAgB;EAAEC,QAAQ;IAACC,KAAKA;;AAAM,CAAA,GAChDV,UAAUW,kBAAkB;EAAET,UAAUU;AAAS,CAAA,GACjDZ,UAAUa,iBAAiB;EAAEX,UAAUY;AAAa,CAAA,GACpDd,UAAUe,sBAAsB;EAAEC;AAAa,CAAA,GAC/CpB,OAAOqB,UAAU;EACfC,IAAI;EACJC,aAAaC,oBAAoBC;EACjCnB,UAAUoB;AACZ,CAAA,GACA1B,OAAOqB,UAAU;EACfC,IAAI;EACJC,aAAaI,aAAaC;EAC1BtB,UAAUuB;AACZ,CAAA,GACA7B,OAAOqB,UAAU;EACfC,IAAI;EACJC,aAAaO,eAAeC;EAC5BzB,UAAU0B;AACZ,CAAA,GACA5B,UAAU6B,qBAAqB;EAC7BC,OAAO;IAAEC,UAAUjC,KAAKkC,QAAQC;IAAKC,MAAM;IAAcC,SAASC;IAAYC,UAAU;EAAoB;AAC9G,CAAA,GACAzC,OAAO0C,IAAI;AAGb,IAAA,qBAAe3C;",
6
6
  "names": ["Plugin", "AppActivationEvents", "AppPlugin", "ClientEvents", "MarkdownEvents", "CreateObject", "FileUploader", "InlineBackend", "Markdown", "OperationHandler", "ReactSurface", "Settings", "SkillDefinition", "meta", "translations", "File", "FilePlugin", "Plugin", "define", "meta", "pipe", "AppPlugin", "addSkillDefinitionModule", "activate", "SkillDefinition", "addCreateObjectModule", "CreateObject", "addOperationHandlerModule", "OperationHandler", "addSchemaModule", "schema", "File", "addSettingsModule", "Settings", "addSurfaceModule", "ReactSurface", "addTranslationsModule", "translations", "addModule", "id", "activatesOn", "AppActivationEvents", "SetupSchema", "InlineBackend", "ClientEvents", "ClientReady", "FileUploader", "MarkdownEvents", "SetupExtensions", "Markdown", "addPluginAssetModule", "asset", "pluginId", "profile", "key", "path", "content", "pluginSpec", "mimeType", "make"]
@@ -1 +1 @@
1
- {"inputs":{"src/types/limits.ts":{"bytes":2018,"imports":[],"format":"esm"},"src/types/types.ts":{"bytes":2010,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"src/types/limits.ts","kind":"import-statement","original":"./limits"}],"format":"esm"},"src/types/FileCapabilities.ts":{"bytes":3801,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/types/FileOperation.ts":{"bytes":5075,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"src/types/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/types/Settings.ts":{"bytes":1967,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true}],"format":"esm"},"src/types/index.ts":{"bytes":1129,"imports":[{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"src/types/limits.ts","kind":"import-statement","original":"./limits"},{"path":"src/types/types.ts","kind":"import-statement","original":"./types"},{"path":"src/types/FileCapabilities.ts","kind":"import-statement","original":"./FileCapabilities"},{"path":"src/types/FileOperation.ts","kind":"import-statement","original":"./FileOperation"},{"path":"src/types/Settings.ts","kind":"import-statement","original":"./Settings"}],"format":"esm"},"src/skills/file-skill.ts":{"bytes":3400,"imports":[{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/skills/index.ts":{"bytes":540,"imports":[{"path":"src/skills/file-skill.ts","kind":"import-statement","original":"./file-skill"}],"format":"esm"},"dx.config.ts":{"bytes":4699,"imports":[{"path":"@dxos/app-framework/config","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/meta.ts":{"bytes":799,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dx.config.ts","kind":"import-statement","original":"../dx.config"}],"format":"esm"},"src/index.ts":{"bytes":531,"imports":[{"path":"src/skills/index.ts","kind":"import-statement","original":"./skills"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"raw-loader:/Users/jdw/Code/dxos/packages/plugins/plugin-file/PLUGIN.mdl":{"bytes":11090,"imports":[]},"src/FilePlugin.tsx":{"bytes":6543,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true},{"path":"raw-loader:/Users/jdw/Code/dxos/packages/plugins/plugin-file/PLUGIN.mdl","kind":"import-statement","original":"../PLUGIN.mdl?raw"}],"format":"esm"},"src/FilePlugin.node.ts":{"bytes":2294,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/skill-definition.ts":{"bytes":1537,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"#skills","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/create-object.ts":{"bytes":3927,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/file-uploader.ts":{"bytes":4906,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/operations/create.ts":{"bytes":10465,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/capabilities/inline-backend.ts":{"bytes":4755,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true},{"path":"src/operations/create.ts","kind":"import-statement","original":"../operations/create"}],"format":"esm"},"src/extensions/image.tsx":{"bytes":23983,"imports":[{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-dom/client","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/ui-editor","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/extensions/index.ts":{"bytes":369,"imports":[{"path":"src/extensions/image.tsx","kind":"import-statement","original":"./image"}],"format":"esm"},"src/capabilities/markdown-extension.ts":{"bytes":3870,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true},{"path":"src/extensions/index.ts","kind":"import-statement","original":"../extensions"}],"format":"esm"},"src/capabilities/operation-handler.ts":{"bytes":1649,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#operations","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/react-surface.tsx":{"bytes":8411,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit/ui","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"#components","kind":"import-statement","external":true},{"path":"#containers","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/settings.ts":{"bytes":3148,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/index.ts":{"bytes":3287,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/skill-definition.ts","kind":"dynamic-import","original":"./skill-definition"},{"path":"src/capabilities/create-object.ts","kind":"dynamic-import","original":"./create-object"},{"path":"src/capabilities/file-uploader.ts","kind":"dynamic-import","original":"./file-uploader"},{"path":"src/capabilities/inline-backend.ts","kind":"dynamic-import","original":"./inline-backend"},{"path":"src/capabilities/markdown-extension.ts","kind":"dynamic-import","original":"./markdown-extension"},{"path":"src/capabilities/operation-handler.ts","kind":"dynamic-import","original":"./operation-handler"},{"path":"src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"},{"path":"src/capabilities/settings.ts","kind":"dynamic-import","original":"./settings"}],"format":"esm"},"src/components/FileInput/FileInput.tsx":{"bytes":5132,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-dropzone","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/components/FileInput/index.ts":{"bytes":377,"imports":[{"path":"src/components/FileInput/FileInput.tsx","kind":"import-statement","original":"./FileInput"}],"format":"esm"},"src/components/FilePreview/FilePreview.tsx":{"bytes":5027,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"format":"esm"},"src/components/FilePreview/index.ts":{"bytes":387,"imports":[{"path":"src/components/FilePreview/FilePreview.tsx","kind":"import-statement","original":"./FilePreview"}],"format":"esm"},"src/components/index.ts":{"bytes":476,"imports":[{"path":"src/components/FileInput/index.ts","kind":"import-statement","original":"./FileInput"},{"path":"src/components/FilePreview/index.ts","kind":"import-statement","original":"./FilePreview"}],"format":"esm"},"src/containers/FileSettings/FileSettings.tsx":{"bytes":8841,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/containers/FileSettings/index.ts":{"bytes":388,"imports":[{"path":"src/containers/FileSettings/FileSettings.tsx","kind":"import-statement","original":"./FileSettings"}],"format":"esm"},"src/containers/FileArticle/FileArticle.tsx":{"bytes":8485,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"#components","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/containers/FileArticle/index.ts":{"bytes":496,"imports":[{"path":"src/containers/FileArticle/FileArticle.tsx","kind":"import-statement","original":"./FileArticle"}],"format":"esm"},"src/containers/index.ts":{"bytes":800,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/containers/FileSettings/index.ts","kind":"import-statement","original":"./FileSettings"},{"path":"src/containers/FileArticle/index.ts","kind":"dynamic-import","original":"./FileArticle"}],"format":"esm"},"src/operations/read.ts":{"bytes":3378,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/operations/index.ts":{"bytes":920,"imports":[{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"src/operations/create.ts","kind":"dynamic-import","original":"./create"},{"path":"src/operations/read.ts","kind":"dynamic-import","original":"./read"}],"format":"esm"},"src/plugin.ts":{"bytes":1057,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/operations/index.ts","kind":"import-statement","original":"./operations"},{"path":"#plugin","kind":"dynamic-import","external":true}],"format":"esm"},"src/translations.ts":{"bytes":4052,"imports":[{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/lib/neutral/inline-backend-FGGGDYRB.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2512},"dist/lib/neutral/inline-backend-FGGGDYRB.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-ZUXUTRAJ.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-YODPX62X.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["default","inlineBackend"],"entryPoint":"src/capabilities/inline-backend.ts","inputs":{"src/capabilities/inline-backend.ts":{"bytesInOutput":942}},"bytes":1249},"dist/lib/neutral/markdown-extension-RA5YNMTW.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":14460},"dist/lib/neutral/markdown-extension-RA5YNMTW.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-dom/client","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/ui-editor","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/markdown-extension.ts","inputs":{"src/capabilities/markdown-extension.ts":{"bytesInOutput":916},"src/extensions/image.tsx":{"bytesInOutput":5670},"src/extensions/index.ts":{"bytesInOutput":0}},"bytes":6841},"dist/lib/neutral/operation-handler-CPDANWGH.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":922},"dist/lib/neutral/operation-handler-CPDANWGH.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#operations","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/operation-handler.ts","inputs":{"src/capabilities/operation-handler.ts":{"bytesInOutput":341}},"bytes":521},"dist/lib/neutral/react-surface-5BXKSHD2.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4313},"dist/lib/neutral/react-surface-5BXKSHD2.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit/ui","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"#components","kind":"import-statement","external":true},{"path":"#containers","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-surface.tsx","inputs":{"src/capabilities/react-surface.tsx":{"bytesInOutput":1990}},"bytes":2159},"dist/lib/neutral/settings-RR3RESL2.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1612},"dist/lib/neutral/settings-RR3RESL2.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/settings.ts","inputs":{"src/capabilities/settings.ts":{"bytesInOutput":724}},"bytes":877},"dist/lib/neutral/FileArticle-YU6NN3KN.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4426},"dist/lib/neutral/FileArticle-YU6NN3KN.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"#components","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/containers/FileArticle/index.ts","inputs":{"src/containers/FileArticle/FileArticle.tsx":{"bytesInOutput":2001},"src/containers/FileArticle/index.ts":{"bytesInOutput":0}},"bytes":2166},"dist/lib/neutral/read-HG6CSWKR.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1852},"dist/lib/neutral/read-HG6CSWKR.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-YODPX62X.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/operations/read.ts","inputs":{"src/operations/read.ts":{"bytesInOutput":659}},"bytes":862},"dist/lib/neutral/operations/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/operations/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-DKGTSUUH.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["FileOperationHandlerSet"],"entryPoint":"src/operations/index.ts","inputs":{},"bytes":172},"dist/lib/neutral/plugin.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":498},"dist/lib/neutral/plugin.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-DKGTSUUH.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-LBZ4MCLI.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#plugin","kind":"dynamic-import","external":true}],"exports":["FileOperationHandlerSet","FilePlugin"],"entryPoint":"src/plugin.ts","inputs":{"src/plugin.ts":{"bytesInOutput":107}},"bytes":357},"dist/lib/neutral/chunk-DKGTSUUH.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":500},"dist/lib/neutral/chunk-DKGTSUUH.mjs":{"imports":[{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"dist/lib/neutral/create-IUUG7RI6.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/read-HG6CSWKR.mjs","kind":"dynamic-import"}],"exports":["FileOperationHandlerSet"],"inputs":{"src/operations/index.ts":{"bytesInOutput":185}},"bytes":295},"dist/lib/neutral/translations.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1914},"dist/lib/neutral/translations.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["translations"],"entryPoint":"src/translations.ts","inputs":{"src/translations.ts":{"bytesInOutput":1155}},"bytes":1279},"dist/lib/neutral/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/types/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-YODPX62X.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["ACCEPTED_MIME","File","FileAction","FileCapabilities","FileOperation","MAX_FILE_SIZE","Settings","isAcceptedMimeType"],"entryPoint":"src/types/index.ts","inputs":{},"bytes":469},"dist/lib/neutral/skill-definition-YHBGWBUS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":810},"dist/lib/neutral/skill-definition-YHBGWBUS.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"#skills","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/skill-definition.ts","inputs":{"src/capabilities/skill-definition.ts":{"bytesInOutput":347}},"bytes":524},"dist/lib/neutral/create-object-V667G4ZL.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2031},"dist/lib/neutral/create-object-V667G4ZL.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/create-object.ts","inputs":{"src/capabilities/create-object.ts":{"bytesInOutput":908}},"bytes":1076},"dist/lib/neutral/file-uploader-BCJH6TUL.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2517},"dist/lib/neutral/file-uploader-BCJH6TUL.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/file-uploader.ts","inputs":{"src/capabilities/file-uploader.ts":{"bytesInOutput":1196}},"bytes":1364},"dist/lib/neutral/create-IUUG7RI6.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/create-IUUG7RI6.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-ZUXUTRAJ.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-YODPX62X.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["FileTooLargeError","NoBackendError","UnsupportedFileTypeError","default","resolveActiveBackend"],"entryPoint":"src/operations/create.ts","inputs":{},"bytes":386},"dist/lib/neutral/chunk-ZUXUTRAJ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5427},"dist/lib/neutral/chunk-ZUXUTRAJ.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-YODPX62X.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true}],"exports":["FileTooLargeError","NoBackendError","UnsupportedFileTypeError","create_default","resolveActiveBackend"],"inputs":{"src/operations/create.ts":{"bytesInOutput":2275}},"bytes":2628},"dist/lib/neutral/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-GMYSEHV4.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-YODPX62X.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-LBZ4MCLI.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["ACCEPTED_MIME","File","FileAction","FileCapabilities","FileOperation","FileSkill","MAX_FILE_SIZE","SKILL_KEY","Settings","isAcceptedMimeType","meta"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0}},"bytes":644},"dist/lib/neutral/FilePlugin.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":16074},"dist/lib/neutral/FilePlugin.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["FilePlugin","default"],"entryPoint":"src/FilePlugin.tsx","inputs":{"src/FilePlugin.tsx":{"bytesInOutput":1510},"raw-loader:/Users/jdw/Code/dxos/packages/plugins/plugin-file/PLUGIN.mdl":{"bytesInOutput":12342}},"bytes":14103},"dist/lib/neutral/FilePlugin.node.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1207},"dist/lib/neutral/FilePlugin.node.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["FilePlugin","default"],"entryPoint":"src/FilePlugin.node.ts","inputs":{"src/FilePlugin.node.ts":{"bytesInOutput":512}},"bytes":678},"dist/lib/neutral/skills/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/skills/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-GMYSEHV4.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-YODPX62X.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["FileSkill","SKILL_KEY"],"entryPoint":"src/skills/index.ts","inputs":{},"bytes":233},"dist/lib/neutral/chunk-GMYSEHV4.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1707},"dist/lib/neutral/chunk-GMYSEHV4.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-YODPX62X.mjs","kind":"import-statement"},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["SKILL_KEY","file_skill_default"],"inputs":{"src/skills/file-skill.ts":{"bytesInOutput":875},"src/skills/index.ts":{"bytesInOutput":0}},"bytes":1059},"dist/lib/neutral/chunk-YODPX62X.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8245},"dist/lib/neutral/chunk-YODPX62X.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true}],"exports":["ACCEPTED_MIME","File","FileAction","FileCapabilities_exports","FileOperation_exports","MAX_FILE_SIZE","Settings_exports","isAcceptedMimeType"],"inputs":{"src/types/index.ts":{"bytesInOutput":45},"src/types/limits.ts":{"bytesInOutput":447},"src/types/types.ts":{"bytesInOutput":417},"src/types/FileCapabilities.ts":{"bytesInOutput":497},"src/types/FileOperation.ts":{"bytesInOutput":1334},"src/types/Settings.ts":{"bytesInOutput":533}},"bytes":3701},"dist/lib/neutral/capabilities/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1735},"dist/lib/neutral/capabilities/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/neutral/skill-definition-YHBGWBUS.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/create-object-V667G4ZL.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/file-uploader-BCJH6TUL.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/inline-backend-FGGGDYRB.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/markdown-extension-RA5YNMTW.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/operation-handler-CPDANWGH.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/react-surface-5BXKSHD2.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/settings-RR3RESL2.mjs","kind":"dynamic-import"}],"exports":["CreateObject","FileUploader","InlineBackend","Markdown","OperationHandler","ReactSurface","Settings","SkillDefinition"],"entryPoint":"src/capabilities/index.ts","inputs":{"src/capabilities/index.ts":{"bytesInOutput":859}},"bytes":1095},"dist/lib/neutral/components/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5387},"dist/lib/neutral/components/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"react-dropzone","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"exports":["FileInput","FilePreview"],"entryPoint":"src/components/index.ts","inputs":{"src/components/FileInput/FileInput.tsx":{"bytesInOutput":1259},"src/components/FileInput/index.ts":{"bytesInOutput":0},"src/components/index.ts":{"bytesInOutput":0},"src/components/FilePreview/FilePreview.tsx":{"bytesInOutput":1190},"src/components/FilePreview/index.ts":{"bytesInOutput":0}},"bytes":2645},"dist/lib/neutral/containers/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5092},"dist/lib/neutral/containers/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true},{"path":"dist/lib/neutral/FileArticle-YU6NN3KN.mjs","kind":"dynamic-import"}],"exports":["FileArticle","FileSettings"],"entryPoint":"src/containers/index.ts","inputs":{"src/containers/index.ts":{"bytesInOutput":99},"src/containers/FileSettings/FileSettings.tsx":{"bytesInOutput":2196},"src/containers/FileSettings/index.ts":{"bytesInOutput":0}},"bytes":2509},"dist/lib/neutral/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/meta.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-LBZ4MCLI.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["meta"],"entryPoint":"src/meta.ts","inputs":{},"bytes":131},"dist/lib/neutral/chunk-LBZ4MCLI.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2479},"dist/lib/neutral/chunk-LBZ4MCLI.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/config","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["meta"],"inputs":{"src/meta.ts":{"bytesInOutput":102},"dx.config.ts":{"bytesInOutput":1664}},"bytes":1878},"dist/lib/neutral/chunk-J5LGTIGS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/chunk-J5LGTIGS.mjs":{"imports":[],"exports":["__export"],"inputs":{},"bytes":235}}}
1
+ {"inputs":{"src/types/limits.ts":{"bytes":2018,"imports":[],"format":"esm"},"src/types/types.ts":{"bytes":2010,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"src/types/limits.ts","kind":"import-statement","original":"./limits"}],"format":"esm"},"src/types/FileCapabilities.ts":{"bytes":3801,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/types/FileOperation.ts":{"bytes":5075,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"src/types/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/types/Settings.ts":{"bytes":1967,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true}],"format":"esm"},"src/types/index.ts":{"bytes":1129,"imports":[{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"src/types/limits.ts","kind":"import-statement","original":"./limits"},{"path":"src/types/types.ts","kind":"import-statement","original":"./types"},{"path":"src/types/FileCapabilities.ts","kind":"import-statement","original":"./FileCapabilities"},{"path":"src/types/FileOperation.ts","kind":"import-statement","original":"./FileOperation"},{"path":"src/types/Settings.ts","kind":"import-statement","original":"./Settings"}],"format":"esm"},"src/skills/file-skill.ts":{"bytes":3400,"imports":[{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/skills/index.ts":{"bytes":540,"imports":[{"path":"src/skills/file-skill.ts","kind":"import-statement","original":"./file-skill"}],"format":"esm"},"dx.config.ts":{"bytes":4699,"imports":[{"path":"@dxos/app-framework/config","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/meta.ts":{"bytes":799,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dx.config.ts","kind":"import-statement","original":"../dx.config"}],"format":"esm"},"src/index.ts":{"bytes":531,"imports":[{"path":"src/skills/index.ts","kind":"import-statement","original":"./skills"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"raw-loader:/__w/dxos/dxos/packages/plugins/plugin-file/PLUGIN.mdl":{"bytes":11090,"imports":[]},"src/FilePlugin.tsx":{"bytes":6543,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true},{"path":"raw-loader:/__w/dxos/dxos/packages/plugins/plugin-file/PLUGIN.mdl","kind":"import-statement","original":"../PLUGIN.mdl?raw"}],"format":"esm"},"src/FilePlugin.node.ts":{"bytes":2294,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/skill-definition.ts":{"bytes":1537,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"#skills","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/create-object.ts":{"bytes":3927,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/file-uploader.ts":{"bytes":4906,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/operations/create.ts":{"bytes":10465,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/capabilities/inline-backend.ts":{"bytes":4755,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true},{"path":"src/operations/create.ts","kind":"import-statement","original":"../operations/create"}],"format":"esm"},"src/extensions/image.tsx":{"bytes":23983,"imports":[{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-dom/client","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/ui-editor","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/extensions/index.ts":{"bytes":369,"imports":[{"path":"src/extensions/image.tsx","kind":"import-statement","original":"./image"}],"format":"esm"},"src/capabilities/markdown-extension.ts":{"bytes":3870,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true},{"path":"src/extensions/index.ts","kind":"import-statement","original":"../extensions"}],"format":"esm"},"src/capabilities/operation-handler.ts":{"bytes":1649,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#operations","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/react-surface.tsx":{"bytes":8411,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit/ui","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"#components","kind":"import-statement","external":true},{"path":"#containers","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/settings.ts":{"bytes":3148,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/index.ts":{"bytes":3287,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/skill-definition.ts","kind":"dynamic-import","original":"./skill-definition"},{"path":"src/capabilities/create-object.ts","kind":"dynamic-import","original":"./create-object"},{"path":"src/capabilities/file-uploader.ts","kind":"dynamic-import","original":"./file-uploader"},{"path":"src/capabilities/inline-backend.ts","kind":"dynamic-import","original":"./inline-backend"},{"path":"src/capabilities/markdown-extension.ts","kind":"dynamic-import","original":"./markdown-extension"},{"path":"src/capabilities/operation-handler.ts","kind":"dynamic-import","original":"./operation-handler"},{"path":"src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"},{"path":"src/capabilities/settings.ts","kind":"dynamic-import","original":"./settings"}],"format":"esm"},"src/components/FileInput/FileInput.tsx":{"bytes":5132,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-dropzone","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/components/FileInput/index.ts":{"bytes":377,"imports":[{"path":"src/components/FileInput/FileInput.tsx","kind":"import-statement","original":"./FileInput"}],"format":"esm"},"src/components/FilePreview/FilePreview.tsx":{"bytes":5027,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"format":"esm"},"src/components/FilePreview/index.ts":{"bytes":387,"imports":[{"path":"src/components/FilePreview/FilePreview.tsx","kind":"import-statement","original":"./FilePreview"}],"format":"esm"},"src/components/index.ts":{"bytes":476,"imports":[{"path":"src/components/FileInput/index.ts","kind":"import-statement","original":"./FileInput"},{"path":"src/components/FilePreview/index.ts","kind":"import-statement","original":"./FilePreview"}],"format":"esm"},"src/containers/FileSettings/FileSettings.tsx":{"bytes":8841,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/containers/FileSettings/index.ts":{"bytes":388,"imports":[{"path":"src/containers/FileSettings/FileSettings.tsx","kind":"import-statement","original":"./FileSettings"}],"format":"esm"},"src/containers/FileArticle/FileArticle.tsx":{"bytes":8485,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"#components","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/containers/FileArticle/index.ts":{"bytes":496,"imports":[{"path":"src/containers/FileArticle/FileArticle.tsx","kind":"import-statement","original":"./FileArticle"}],"format":"esm"},"src/containers/index.ts":{"bytes":800,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/containers/FileSettings/index.ts","kind":"import-statement","original":"./FileSettings"},{"path":"src/containers/FileArticle/index.ts","kind":"dynamic-import","original":"./FileArticle"}],"format":"esm"},"src/operations/read.ts":{"bytes":3378,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/operations/index.ts":{"bytes":920,"imports":[{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"src/operations/create.ts","kind":"dynamic-import","original":"./create"},{"path":"src/operations/read.ts","kind":"dynamic-import","original":"./read"}],"format":"esm"},"src/plugin.ts":{"bytes":1057,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/operations/index.ts","kind":"import-statement","original":"./operations"},{"path":"#plugin","kind":"dynamic-import","external":true}],"format":"esm"},"src/translations.ts":{"bytes":4052,"imports":[{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/lib/neutral/inline-backend-FGGGDYRB.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2512},"dist/lib/neutral/inline-backend-FGGGDYRB.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-ZUXUTRAJ.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-YODPX62X.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["default","inlineBackend"],"entryPoint":"src/capabilities/inline-backend.ts","inputs":{"src/capabilities/inline-backend.ts":{"bytesInOutput":942}},"bytes":1249},"dist/lib/neutral/markdown-extension-RA5YNMTW.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":14460},"dist/lib/neutral/markdown-extension-RA5YNMTW.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-dom/client","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/ui-editor","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/markdown-extension.ts","inputs":{"src/capabilities/markdown-extension.ts":{"bytesInOutput":916},"src/extensions/image.tsx":{"bytesInOutput":5670},"src/extensions/index.ts":{"bytesInOutput":0}},"bytes":6841},"dist/lib/neutral/operation-handler-CPDANWGH.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":922},"dist/lib/neutral/operation-handler-CPDANWGH.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#operations","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/operation-handler.ts","inputs":{"src/capabilities/operation-handler.ts":{"bytesInOutput":341}},"bytes":521},"dist/lib/neutral/react-surface-5BXKSHD2.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4313},"dist/lib/neutral/react-surface-5BXKSHD2.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit/ui","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"#components","kind":"import-statement","external":true},{"path":"#containers","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-surface.tsx","inputs":{"src/capabilities/react-surface.tsx":{"bytesInOutput":1990}},"bytes":2159},"dist/lib/neutral/settings-RR3RESL2.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1612},"dist/lib/neutral/settings-RR3RESL2.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/settings.ts","inputs":{"src/capabilities/settings.ts":{"bytesInOutput":724}},"bytes":877},"dist/lib/neutral/FileArticle-YU6NN3KN.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4426},"dist/lib/neutral/FileArticle-YU6NN3KN.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"#components","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/containers/FileArticle/index.ts","inputs":{"src/containers/FileArticle/FileArticle.tsx":{"bytesInOutput":2001},"src/containers/FileArticle/index.ts":{"bytesInOutput":0}},"bytes":2166},"dist/lib/neutral/read-HG6CSWKR.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1852},"dist/lib/neutral/read-HG6CSWKR.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-YODPX62X.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/operations/read.ts","inputs":{"src/operations/read.ts":{"bytesInOutput":659}},"bytes":862},"dist/lib/neutral/operations/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/operations/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-DKGTSUUH.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["FileOperationHandlerSet"],"entryPoint":"src/operations/index.ts","inputs":{},"bytes":172},"dist/lib/neutral/plugin.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":498},"dist/lib/neutral/plugin.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-DKGTSUUH.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-LBZ4MCLI.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#plugin","kind":"dynamic-import","external":true}],"exports":["FileOperationHandlerSet","FilePlugin"],"entryPoint":"src/plugin.ts","inputs":{"src/plugin.ts":{"bytesInOutput":107}},"bytes":357},"dist/lib/neutral/chunk-DKGTSUUH.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":500},"dist/lib/neutral/chunk-DKGTSUUH.mjs":{"imports":[{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"dist/lib/neutral/create-IUUG7RI6.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/read-HG6CSWKR.mjs","kind":"dynamic-import"}],"exports":["FileOperationHandlerSet"],"inputs":{"src/operations/index.ts":{"bytesInOutput":185}},"bytes":295},"dist/lib/neutral/translations.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1914},"dist/lib/neutral/translations.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["translations"],"entryPoint":"src/translations.ts","inputs":{"src/translations.ts":{"bytesInOutput":1155}},"bytes":1279},"dist/lib/neutral/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/types/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-YODPX62X.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["ACCEPTED_MIME","File","FileAction","FileCapabilities","FileOperation","MAX_FILE_SIZE","Settings","isAcceptedMimeType"],"entryPoint":"src/types/index.ts","inputs":{},"bytes":469},"dist/lib/neutral/skill-definition-YHBGWBUS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":810},"dist/lib/neutral/skill-definition-YHBGWBUS.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"#skills","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/skill-definition.ts","inputs":{"src/capabilities/skill-definition.ts":{"bytesInOutput":347}},"bytes":524},"dist/lib/neutral/create-object-V667G4ZL.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2031},"dist/lib/neutral/create-object-V667G4ZL.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/create-object.ts","inputs":{"src/capabilities/create-object.ts":{"bytesInOutput":908}},"bytes":1076},"dist/lib/neutral/file-uploader-BCJH6TUL.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2517},"dist/lib/neutral/file-uploader-BCJH6TUL.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/file-uploader.ts","inputs":{"src/capabilities/file-uploader.ts":{"bytesInOutput":1196}},"bytes":1364},"dist/lib/neutral/create-IUUG7RI6.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/create-IUUG7RI6.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-ZUXUTRAJ.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-YODPX62X.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["FileTooLargeError","NoBackendError","UnsupportedFileTypeError","default","resolveActiveBackend"],"entryPoint":"src/operations/create.ts","inputs":{},"bytes":386},"dist/lib/neutral/chunk-ZUXUTRAJ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5427},"dist/lib/neutral/chunk-ZUXUTRAJ.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-YODPX62X.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true}],"exports":["FileTooLargeError","NoBackendError","UnsupportedFileTypeError","create_default","resolveActiveBackend"],"inputs":{"src/operations/create.ts":{"bytesInOutput":2275}},"bytes":2628},"dist/lib/neutral/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-GMYSEHV4.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-YODPX62X.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-LBZ4MCLI.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["ACCEPTED_MIME","File","FileAction","FileCapabilities","FileOperation","FileSkill","MAX_FILE_SIZE","SKILL_KEY","Settings","isAcceptedMimeType","meta"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0}},"bytes":644},"dist/lib/neutral/FilePlugin.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":16068},"dist/lib/neutral/FilePlugin.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["FilePlugin","default"],"entryPoint":"src/FilePlugin.tsx","inputs":{"src/FilePlugin.tsx":{"bytesInOutput":1510},"raw-loader:/__w/dxos/dxos/packages/plugins/plugin-file/PLUGIN.mdl":{"bytesInOutput":12342}},"bytes":14097},"dist/lib/neutral/FilePlugin.node.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1207},"dist/lib/neutral/FilePlugin.node.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["FilePlugin","default"],"entryPoint":"src/FilePlugin.node.ts","inputs":{"src/FilePlugin.node.ts":{"bytesInOutput":512}},"bytes":678},"dist/lib/neutral/skills/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/skills/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-GMYSEHV4.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-YODPX62X.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["FileSkill","SKILL_KEY"],"entryPoint":"src/skills/index.ts","inputs":{},"bytes":233},"dist/lib/neutral/chunk-GMYSEHV4.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1707},"dist/lib/neutral/chunk-GMYSEHV4.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-YODPX62X.mjs","kind":"import-statement"},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["SKILL_KEY","file_skill_default"],"inputs":{"src/skills/file-skill.ts":{"bytesInOutput":875},"src/skills/index.ts":{"bytesInOutput":0}},"bytes":1059},"dist/lib/neutral/chunk-YODPX62X.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8245},"dist/lib/neutral/chunk-YODPX62X.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true}],"exports":["ACCEPTED_MIME","File","FileAction","FileCapabilities_exports","FileOperation_exports","MAX_FILE_SIZE","Settings_exports","isAcceptedMimeType"],"inputs":{"src/types/index.ts":{"bytesInOutput":45},"src/types/limits.ts":{"bytesInOutput":447},"src/types/types.ts":{"bytesInOutput":417},"src/types/FileCapabilities.ts":{"bytesInOutput":497},"src/types/FileOperation.ts":{"bytesInOutput":1334},"src/types/Settings.ts":{"bytesInOutput":533}},"bytes":3701},"dist/lib/neutral/capabilities/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1735},"dist/lib/neutral/capabilities/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/neutral/skill-definition-YHBGWBUS.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/create-object-V667G4ZL.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/file-uploader-BCJH6TUL.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/inline-backend-FGGGDYRB.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/markdown-extension-RA5YNMTW.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/operation-handler-CPDANWGH.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/react-surface-5BXKSHD2.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/settings-RR3RESL2.mjs","kind":"dynamic-import"}],"exports":["CreateObject","FileUploader","InlineBackend","Markdown","OperationHandler","ReactSurface","Settings","SkillDefinition"],"entryPoint":"src/capabilities/index.ts","inputs":{"src/capabilities/index.ts":{"bytesInOutput":859}},"bytes":1095},"dist/lib/neutral/components/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5387},"dist/lib/neutral/components/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"react-dropzone","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"exports":["FileInput","FilePreview"],"entryPoint":"src/components/index.ts","inputs":{"src/components/FileInput/FileInput.tsx":{"bytesInOutput":1259},"src/components/FileInput/index.ts":{"bytesInOutput":0},"src/components/index.ts":{"bytesInOutput":0},"src/components/FilePreview/FilePreview.tsx":{"bytesInOutput":1190},"src/components/FilePreview/index.ts":{"bytesInOutput":0}},"bytes":2645},"dist/lib/neutral/containers/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5092},"dist/lib/neutral/containers/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true},{"path":"dist/lib/neutral/FileArticle-YU6NN3KN.mjs","kind":"dynamic-import"}],"exports":["FileArticle","FileSettings"],"entryPoint":"src/containers/index.ts","inputs":{"src/containers/index.ts":{"bytesInOutput":99},"src/containers/FileSettings/FileSettings.tsx":{"bytesInOutput":2196},"src/containers/FileSettings/index.ts":{"bytesInOutput":0}},"bytes":2509},"dist/lib/neutral/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/meta.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-LBZ4MCLI.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["meta"],"entryPoint":"src/meta.ts","inputs":{},"bytes":131},"dist/lib/neutral/chunk-LBZ4MCLI.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2479},"dist/lib/neutral/chunk-LBZ4MCLI.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/config","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["meta"],"inputs":{"src/meta.ts":{"bytesInOutput":102},"dx.config.ts":{"bytesInOutput":1664}},"bytes":1878},"dist/lib/neutral/chunk-J5LGTIGS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/chunk-J5LGTIGS.mjs":{"imports":[],"exports":["__export"],"inputs":{},"bytes":235}}}