@xrkseek/harness 0.3.3 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/node_modules/@xrkseek/attachment/dist/error.d.ts +1 -1
- package/node_modules/@xrkseek/attachment/dist/error.d.ts.map +1 -1
- package/node_modules/@xrkseek/attachment/dist/error.js.map +1 -1
- package/node_modules/@xrkseek/attachment/dist/index.d.ts +4 -4
- package/node_modules/@xrkseek/attachment/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/attachment/dist/index.js +3 -3
- package/node_modules/@xrkseek/attachment/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/attachment/dist/memory.d.ts +3 -1
- package/node_modules/@xrkseek/attachment/dist/memory.d.ts.map +1 -1
- package/node_modules/@xrkseek/attachment/dist/memory.js +71 -7
- package/node_modules/@xrkseek/attachment/dist/memory.js.map +1 -1
- package/node_modules/@xrkseek/attachment/dist/store.d.ts +14 -3
- package/node_modules/@xrkseek/attachment/dist/store.d.ts.map +1 -1
- package/node_modules/@xrkseek/attachment/dist/types.d.ts +21 -2
- package/node_modules/@xrkseek/attachment/dist/types.d.ts.map +1 -1
- package/node_modules/@xrkseek/attachment/dist/types.js +13 -0
- package/node_modules/@xrkseek/attachment/dist/types.js.map +1 -1
- package/node_modules/@xrkseek/attachment-local/dist/index.d.ts +6 -1
- package/node_modules/@xrkseek/attachment-local/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/attachment-local/dist/index.js +74 -3
- package/node_modules/@xrkseek/attachment-local/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/attachment-local/dist/store.d.ts +9 -1
- package/node_modules/@xrkseek/attachment-local/dist/store.d.ts.map +1 -1
- package/node_modules/@xrkseek/attachment-local/dist/store.js +98 -1
- package/node_modules/@xrkseek/attachment-local/dist/store.js.map +1 -1
- package/node_modules/@xrkseek/core-agent/dist/index.d.ts +4 -2
- package/node_modules/@xrkseek/core-agent/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/core-agent/dist/index.js +3 -0
- package/node_modules/@xrkseek/core-agent/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts +18 -2
- package/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/core-agent-loop/dist/index.js +122 -39
- package/node_modules/@xrkseek/core-agent-loop/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/core-session/dist/compaction.d.ts.map +1 -1
- package/node_modules/@xrkseek/core-session/dist/compaction.js +24 -24
- package/node_modules/@xrkseek/core-session/dist/compaction.js.map +1 -1
- package/node_modules/@xrkseek/core-session/dist/search-text.js +1 -1
- package/node_modules/@xrkseek/core-session/dist/search-text.js.map +1 -1
- package/node_modules/@xrkseek/core-system-prompt/README.md +13 -11
- package/node_modules/@xrkseek/core-tools/dist/guards.d.ts +7 -1
- package/node_modules/@xrkseek/core-tools/dist/guards.d.ts.map +1 -1
- package/node_modules/@xrkseek/core-tools/dist/guards.js +12 -2
- package/node_modules/@xrkseek/core-tools/dist/guards.js.map +1 -1
- package/node_modules/@xrkseek/core-tools/dist/index.d.ts +1 -1
- package/node_modules/@xrkseek/core-tools/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/core-tools/dist/index.js +1 -1
- package/node_modules/@xrkseek/core-tools/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/core-tools/dist/pipeline.d.ts.map +1 -1
- package/node_modules/@xrkseek/core-tools/dist/pipeline.js +2 -0
- package/node_modules/@xrkseek/core-tools/dist/pipeline.js.map +1 -1
- package/node_modules/@xrkseek/core-tools/dist/types.d.ts +8 -0
- package/node_modules/@xrkseek/core-tools/dist/types.d.ts.map +1 -1
- package/node_modules/@xrkseek/core-tools/dist/types.js.map +1 -1
- package/node_modules/@xrkseek/exec-fs/dist/index.d.ts +6 -1
- package/node_modules/@xrkseek/exec-fs/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/exec-fs/dist/index.js +37 -15
- package/node_modules/@xrkseek/exec-fs/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/exec-fs/dist/routing-prompt.d.ts +10 -0
- package/node_modules/@xrkseek/exec-fs/dist/routing-prompt.d.ts.map +1 -1
- package/node_modules/@xrkseek/exec-fs/dist/routing-prompt.js +82 -15
- package/node_modules/@xrkseek/exec-fs/dist/routing-prompt.js.map +1 -1
- package/node_modules/@xrkseek/exec-shell/dist/index.d.ts +2 -0
- package/node_modules/@xrkseek/exec-shell/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/exec-shell/dist/index.js +1 -5
- package/node_modules/@xrkseek/exec-shell/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/exec-subprocess/README.md +10 -8
- package/node_modules/@xrkseek/exec-subprocess/dist/index.d.ts +15 -2
- package/node_modules/@xrkseek/exec-subprocess/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/exec-subprocess/dist/index.js +23 -11
- package/node_modules/@xrkseek/exec-subprocess/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/exec-web/dist/format.d.ts +15 -2
- package/node_modules/@xrkseek/exec-web/dist/format.d.ts.map +1 -1
- package/node_modules/@xrkseek/exec-web/dist/format.js +39 -2
- package/node_modules/@xrkseek/exec-web/dist/format.js.map +1 -1
- package/node_modules/@xrkseek/exec-web/dist/index.d.ts +1 -1
- package/node_modules/@xrkseek/exec-web/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/exec-web/dist/index.js +1 -1
- package/node_modules/@xrkseek/exec-web/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/llm/dist/index.d.ts +12 -0
- package/node_modules/@xrkseek/llm/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/llm/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/llm-deepseek/README.md +21 -20
- package/node_modules/@xrkseek/llm-deepseek/dist/index.d.ts +21 -8
- package/node_modules/@xrkseek/llm-deepseek/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/llm-deepseek/dist/index.js +34 -10
- package/node_modules/@xrkseek/llm-deepseek/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/llm-openai-compatible/dist/index.d.ts +6 -1
- package/node_modules/@xrkseek/llm-openai-compatible/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/llm-openai-compatible/dist/index.js +15 -7
- package/node_modules/@xrkseek/llm-openai-compatible/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/llm-registry/dist/brands-openai-chat.js +1 -1
- package/node_modules/@xrkseek/llm-registry/dist/brands-openai-chat.js.map +1 -1
- package/node_modules/@xrkseek/llm-registry/dist/discover.d.ts +8 -2
- package/node_modules/@xrkseek/llm-registry/dist/discover.d.ts.map +1 -1
- package/node_modules/@xrkseek/llm-registry/dist/discover.js +61 -16
- package/node_modules/@xrkseek/llm-registry/dist/discover.js.map +1 -1
- package/node_modules/@xrkseek/llm-registry/dist/routing-adapter.d.ts.map +1 -1
- package/node_modules/@xrkseek/llm-registry/dist/routing-adapter.js +12 -0
- package/node_modules/@xrkseek/llm-registry/dist/routing-adapter.js.map +1 -1
- package/node_modules/@xrkseek/mcp/README.md +44 -44
- package/node_modules/@xrkseek/mcp/dist/client.d.ts.map +1 -1
- package/node_modules/@xrkseek/mcp/dist/client.js +21 -9
- package/node_modules/@xrkseek/mcp/dist/client.js.map +1 -1
- package/node_modules/@xrkseek/mcp/dist/index.d.ts +1 -0
- package/node_modules/@xrkseek/mcp/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/mcp/dist/index.js +1 -0
- package/node_modules/@xrkseek/mcp/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/mcp/dist/list-tools.d.ts +14 -0
- package/node_modules/@xrkseek/mcp/dist/list-tools.d.ts.map +1 -0
- package/node_modules/@xrkseek/mcp/dist/list-tools.js +31 -0
- package/node_modules/@xrkseek/mcp/dist/list-tools.js.map +1 -0
- package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts +7 -0
- package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts.map +1 -1
- package/node_modules/@xrkseek/preset-harness/dist/preset.js +55 -14
- package/node_modules/@xrkseek/preset-harness/dist/preset.js.map +1 -1
- package/node_modules/@xrkseek/preset-harness/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@xrkseek/preset-minimal/README.md +7 -5
- package/node_modules/@xrkseek/preset-minimal/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@xrkseek/preset-server/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@xrkseek/protocol/dist/content.d.ts +44 -3
- package/node_modules/@xrkseek/protocol/dist/content.d.ts.map +1 -1
- package/node_modules/@xrkseek/protocol/dist/content.js +105 -6
- package/node_modules/@xrkseek/protocol/dist/content.js.map +1 -1
- package/node_modules/@xrkseek/protocol/dist/index.d.ts +4 -4
- package/node_modules/@xrkseek/protocol/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/protocol/dist/index.js +2 -2
- package/node_modules/@xrkseek/protocol/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/protocol/dist/json-schema.d.ts +2 -2
- package/node_modules/@xrkseek/protocol/dist/json-schema.d.ts.map +1 -1
- package/node_modules/@xrkseek/protocol/dist/json-schema.js +13 -1
- package/node_modules/@xrkseek/protocol/dist/json-schema.js.map +1 -1
- package/node_modules/@xrkseek/protocol/dist/session-events.d.ts +7 -1
- package/node_modules/@xrkseek/protocol/dist/session-events.d.ts.map +1 -1
- package/node_modules/@xrkseek/protocol/dist/session-events.js.map +1 -1
- package/node_modules/@xrkseek/protocol/dist/tools.d.ts +5 -0
- package/node_modules/@xrkseek/protocol/dist/tools.d.ts.map +1 -1
- package/node_modules/@xrkseek/protocol/dist/tools.js +5 -0
- package/node_modules/@xrkseek/protocol/dist/tools.js.map +1 -1
- package/node_modules/@xrkseek/protocol/dist/validate.d.ts.map +1 -1
- package/node_modules/@xrkseek/protocol/dist/validate.js +27 -4
- package/node_modules/@xrkseek/protocol/dist/validate.js.map +1 -1
- package/node_modules/@xrkseek/server-config/dist/index.d.ts +5 -0
- package/node_modules/@xrkseek/server-config/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-config/dist/index.js +7 -0
- package/node_modules/@xrkseek/server-config/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/adapt/history-paginate.d.ts +1 -1
- package/node_modules/@xrkseek/server-face/dist/adapt/history-paginate.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/adapt/history-paginate.js +1 -1
- package/node_modules/@xrkseek/server-face/dist/adapt/history-paginate.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/adapt/inbox-wire.d.ts +8 -0
- package/node_modules/@xrkseek/server-face/dist/adapt/inbox-wire.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/adapt/inbox-wire.js +8 -3
- package/node_modules/@xrkseek/server-face/dist/adapt/inbox-wire.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/adapt/wire-event.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/adapt/wire-event.js +20 -4
- package/node_modules/@xrkseek/server-face/dist/adapt/wire-event.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/context.d.ts +5 -0
- package/node_modules/@xrkseek/server-face/dist/context.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/cost-meter-pricing.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/cost-meter-pricing.js +1 -0
- package/node_modules/@xrkseek/server-face/dist/cost-meter-pricing.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/dispatch.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/dispatch.js +5 -2
- package/node_modules/@xrkseek/server-face/dist/dispatch.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/durable-prompt.d.ts +9 -2
- package/node_modules/@xrkseek/server-face/dist/durable-prompt.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/durable-prompt.js +82 -41
- package/node_modules/@xrkseek/server-face/dist/durable-prompt.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/goal-store.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/goal-store.js +10 -3
- package/node_modules/@xrkseek/server-face/dist/goal-store.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/catalog.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/catalog.js +12 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/catalog.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/goals.d.ts +5 -0
- package/node_modules/@xrkseek/server-face/dist/handlers/goals.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/goals.js +27 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/goals.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/host.d.ts +2 -0
- package/node_modules/@xrkseek/server-face/dist/handlers/host.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/host.js +3 -0
- package/node_modules/@xrkseek/server-face/dist/handlers/host.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/remotes.d.ts +2 -0
- package/node_modules/@xrkseek/server-face/dist/handlers/remotes.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/remotes.js +14 -0
- package/node_modules/@xrkseek/server-face/dist/handlers/remotes.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/session.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/session.js +73 -41
- package/node_modules/@xrkseek/server-face/dist/handlers/session.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/subagent.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/subagent.js +3 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/subagent.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/host-open-in-app.d.ts +39 -0
- package/node_modules/@xrkseek/server-face/dist/host-open-in-app.d.ts.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/host-open-in-app.js +292 -0
- package/node_modules/@xrkseek/server-face/dist/host-open-in-app.js.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/host-open-path.d.ts +5 -1
- package/node_modules/@xrkseek/server-face/dist/host-open-path.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/host-open-path.js +8 -1
- package/node_modules/@xrkseek/server-face/dist/host-open-path.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/host-pick-directory.d.ts +5 -1
- package/node_modules/@xrkseek/server-face/dist/host-pick-directory.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/host-pick-directory.js +8 -1
- package/node_modules/@xrkseek/server-face/dist/host-pick-directory.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/index.d.ts +3 -1
- package/node_modules/@xrkseek/server-face/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/index.js +3 -1
- package/node_modules/@xrkseek/server-face/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/model-catalog.js +1 -1
- package/node_modules/@xrkseek/server-face/dist/model-catalog.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/projections/index.d.ts +1 -0
- package/node_modules/@xrkseek/server-face/dist/projections/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/projections/index.js +1 -0
- package/node_modules/@xrkseek/server-face/dist/projections/index.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/projections/install-defaults.d.ts +6 -1
- package/node_modules/@xrkseek/server-face/dist/projections/install-defaults.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/projections/install-defaults.js +7 -2
- package/node_modules/@xrkseek/server-face/dist/projections/install-defaults.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/projections/registry.d.ts +6 -1
- package/node_modules/@xrkseek/server-face/dist/projections/registry.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/projections/registry.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/projections/snapshot-keys.d.ts +1 -1
- package/node_modules/@xrkseek/server-face/dist/projections/snapshot-keys.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/projections/snapshot-keys.js +1 -0
- package/node_modules/@xrkseek/server-face/dist/projections/snapshot-keys.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/projections/units/file-limits.d.ts +12 -0
- package/node_modules/@xrkseek/server-face/dist/projections/units/file-limits.d.ts.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/projections/units/file-limits.js +42 -0
- package/node_modules/@xrkseek/server-face/dist/projections/units/file-limits.js.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/queue.d.ts +8 -0
- package/node_modules/@xrkseek/server-face/dist/queue.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/queue.js +9 -3
- package/node_modules/@xrkseek/server-face/dist/queue.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/runtime.d.ts +5 -0
- package/node_modules/@xrkseek/server-face/dist/runtime.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/runtime.js +7 -1
- package/node_modules/@xrkseek/server-face/dist/runtime.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/session-attachment.d.ts +8 -1
- package/node_modules/@xrkseek/server-face/dist/session-attachment.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/session-attachment.js +22 -4
- package/node_modules/@xrkseek/server-face/dist/session-attachment.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/session-feedback.d.ts +62 -0
- package/node_modules/@xrkseek/server-face/dist/session-feedback.d.ts.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/session-feedback.js +172 -0
- package/node_modules/@xrkseek/server-face/dist/session-feedback.js.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/settings-schemas.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/settings-schemas.js +9 -1
- package/node_modules/@xrkseek/server-face/dist/settings-schemas.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/slash.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/slash.js +10 -7
- package/node_modules/@xrkseek/server-face/dist/slash.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/update-queue-rewrite.d.ts +16 -0
- package/node_modules/@xrkseek/server-face/dist/update-queue-rewrite.d.ts.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/update-queue-rewrite.js +44 -0
- package/node_modules/@xrkseek/server-face/dist/update-queue-rewrite.js.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/workspace-face.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/workspace-face.js +11 -0
- package/node_modules/@xrkseek/server-face/dist/workspace-face.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/workspace-paths.d.ts +12 -0
- package/node_modules/@xrkseek/server-face/dist/workspace-paths.d.ts.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/workspace-paths.js +16 -0
- package/node_modules/@xrkseek/server-face/dist/workspace-paths.js.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/workspace-registry.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/workspace-registry.js +4 -3
- package/node_modules/@xrkseek/server-face/dist/workspace-registry.js.map +1 -1
- package/node_modules/@xrkseek/server-host/dist/index.d.ts +9 -0
- package/node_modules/@xrkseek/server-host/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-host/dist/index.js +19 -4
- package/node_modules/@xrkseek/server-host/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/audit-community-client.d.ts +3 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/audit-community-client.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/audit-community-client.js +13 -0
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/audit-community-client.js.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-compat-matrix.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-compat-matrix.js +7 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-compat-matrix.js.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-path-capabilities.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-path-capabilities.js +2 -0
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-path-capabilities.js.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/genui.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/genui.js +50 -6
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/genui.js.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/settings-defaults.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/settings-defaults.js +3 -0
- package/node_modules/@xrkseek/server-http/dist/dsh-compat/settings-defaults.js.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/fetch-dispatch.d.ts +11 -0
- package/node_modules/@xrkseek/server-http/dist/fetch-dispatch.d.ts.map +1 -0
- package/node_modules/@xrkseek/server-http/dist/fetch-dispatch.js +146 -0
- package/node_modules/@xrkseek/server-http/dist/fetch-dispatch.js.map +1 -0
- package/node_modules/@xrkseek/server-http/dist/index.d.ts +2 -0
- package/node_modules/@xrkseek/server-http/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/index.js +9 -0
- package/node_modules/@xrkseek/server-http/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/sidebar/index.d.ts +1 -0
- package/node_modules/@xrkseek/server-http/dist/sidebar/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/sidebar/index.js +1 -0
- package/node_modules/@xrkseek/server-http/dist/sidebar/index.js.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-adapter.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-adapter.js +4 -1
- package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-adapter.js.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-html.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-html.js +2 -26
- package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-html.js.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-media-type.d.ts +3 -0
- package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-media-type.d.ts.map +1 -0
- package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-media-type.js +38 -0
- package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-media-type.js.map +1 -0
- package/node_modules/@xrkseek/xrk-session-reference/README.md +50 -50
- package/node_modules/@xrkseek/xrk-session-reference/README.zh.md +50 -50
- package/node_modules/@xrkseek/xrk-session-reference/dist/prepare-face.d.ts +1 -0
- package/node_modules/@xrkseek/xrk-session-reference/dist/prepare-face.d.ts.map +1 -1
- package/node_modules/@xrkseek/xrk-session-reference/dist/prepare-face.js +23 -9
- package/node_modules/@xrkseek/xrk-session-reference/dist/prepare-face.js.map +1 -1
- package/node_modules/@xrkseek/xrk-session-reference/dist/retention.d.ts +1 -0
- package/node_modules/@xrkseek/xrk-session-reference/dist/retention.d.ts.map +1 -1
- package/node_modules/@xrkseek/xrk-session-reference/dist/retention.js +9 -0
- package/node_modules/@xrkseek/xrk-session-reference/dist/retention.js.map +1 -1
- package/node_modules/@xrkseek/xrk-session-reference/dist/spill.d.ts +39 -0
- package/node_modules/@xrkseek/xrk-session-reference/dist/spill.d.ts.map +1 -0
- package/node_modules/@xrkseek/xrk-session-reference/dist/spill.js +73 -0
- package/node_modules/@xrkseek/xrk-session-reference/dist/spill.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type AttachmentErrorCode = "IMAGE_TOO_LARGE" | "IMAGES_TOO_LARGE" | "TOO_MANY_IMAGES" | "UNSUPPORTED_IMAGE_TYPE" | "INVALID_IMAGE" | "IMAGE_TYPE_MISMATCH" | "IMAGE_TOO_MANY_PIXELS" | "IMAGE_DIMENSION_TOO_LARGE" | "NOT_FOUND" | "PIXELS_TOO_LARGE" | "INVALID_ATTACHMENT_REF" | "ATTACHMENT_CORRUPT" | "ATTACHMENT_WRITE_FAILED" | "ATTACHMENT_NOT_FOUND" | "ATTACHMENT_READ_FAILED" | "ATTACHMENT_PROJECTION_UNSUPPORTED";
|
|
1
|
+
export type AttachmentErrorCode = "IMAGE_TOO_LARGE" | "IMAGES_TOO_LARGE" | "TOO_MANY_IMAGES" | "UNSUPPORTED_IMAGE_TYPE" | "INVALID_IMAGE" | "IMAGE_TYPE_MISMATCH" | "IMAGE_TOO_MANY_PIXELS" | "IMAGE_DIMENSION_TOO_LARGE" | "FILE_TOO_LARGE" | "FILES_TOO_LARGE" | "TOO_MANY_FILES" | "NOT_FOUND" | "PIXELS_TOO_LARGE" | "INVALID_ATTACHMENT_REF" | "ATTACHMENT_CORRUPT" | "ATTACHMENT_WRITE_FAILED" | "ATTACHMENT_NOT_FOUND" | "ATTACHMENT_READ_FAILED" | "ATTACHMENT_PROJECTION_UNSUPPORTED";
|
|
2
2
|
export declare class AttachmentError extends Error {
|
|
3
3
|
readonly code: AttachmentErrorCode;
|
|
4
4
|
constructor(message: string, code: AttachmentErrorCode, options?: ErrorOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAC3B,iBAAiB,GACjB,kBAAkB,GAClB,iBAAiB,GACjB,wBAAwB,GACxB,eAAe,GACf,qBAAqB,GACrB,uBAAuB,GACvB,2BAA2B,GAC3B,WAAW,GACX,kBAAkB,GAClB,wBAAwB,GACxB,oBAAoB,GACpB,yBAAyB,GACzB,sBAAsB,GACtB,wBAAwB,GACxB,mCAAmC,CAAC;AAcxC,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;gBAEjC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,mBAAmB,EACzB,OAAO,CAAC,EAAE,YAAY;CAMzB;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,eAAe,CAEtE;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,OAAO,GACX,GAAG,IAAI,eAAe,CAKxB"}
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAC3B,iBAAiB,GACjB,kBAAkB,GAClB,iBAAiB,GACjB,wBAAwB,GACxB,eAAe,GACf,qBAAqB,GACrB,uBAAuB,GACvB,2BAA2B,GAC3B,gBAAgB,GAChB,iBAAiB,GACjB,gBAAgB,GAChB,WAAW,GACX,kBAAkB,GAClB,wBAAwB,GACxB,oBAAoB,GACpB,yBAAyB,GACzB,sBAAsB,GACtB,wBAAwB,GACxB,mCAAmC,CAAC;AAcxC,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;gBAEjC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,mBAAmB,EACzB,OAAO,CAAC,EAAE,YAAY;CAMzB;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,eAAe,CAEtE;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,OAAO,GACX,GAAG,IAAI,eAAe,CAKxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAqBA,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAS;IAC5C,iBAAiB;IACjB,kBAAkB;IAClB,wBAAwB;IACxB,eAAe;IACf,qBAAqB;IACrB,iBAAiB;IACjB,uBAAuB;IACvB,2BAA2B;IAC3B,kBAAkB;CACnB,CAAC,CAAC;AAEH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAC/B,IAAI,CAAsB;IACnC,YACE,OAAe,EACf,IAAyB,EACzB,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC5C,OAAO,GAAG,YAAY,eAAe,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,GAAY;IAEZ,OAAO,CACL,GAAG,YAAY,eAAe;QAC9B,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CACpC,CAAC;AACJ,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @xrkseek/attachment — durable image blob store (DSH-aligned).
|
|
3
|
-
* Session events hold ImageAttachmentRef only; bytes live here.
|
|
2
|
+
* @xrkseek/attachment — durable image + generic-file blob store (DSH-aligned).
|
|
3
|
+
* Session events hold ImageAttachmentRef / FileAttachmentRef only; bytes live here.
|
|
4
4
|
*/
|
|
5
|
-
export type { ImageAttachmentLimits, ImageAttachmentRef, ImageMediaType, ImageRequestPolicy, RequestImageAttachment, SaveImageAttachment, StoredImageAttachment, } from "./types.js";
|
|
6
|
-
export { DEFAULT_IMAGE_LIMITS, IMAGE_MEDIA_TYPES, } from "./types.js";
|
|
5
|
+
export type { FileAttachmentLimits, FileAttachmentRef, ImageAttachmentLimits, ImageAttachmentRef, ImageMediaType, ImageRequestPolicy, RequestImageAttachment, SaveFileAttachment, SaveImageAttachment, StoredFileAttachment, StoredImageAttachment, } from "./types.js";
|
|
6
|
+
export { DEFAULT_FILE_LIMITS, DEFAULT_IMAGE_LIMITS, IMAGE_MEDIA_TYPES, sanitizeAttachmentFileName, } from "./types.js";
|
|
7
7
|
export { AttachmentError, isAttachmentError, isImageAdmissionError, type AttachmentErrorCode, } from "./error.js";
|
|
8
8
|
export type { AttachmentStore } from "./store.js";
|
|
9
9
|
export { createMemoryAttachmentStore, type CreateMemoryAttachmentStoreOptions, } from "./memory.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EACV,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EACL,2BAA2B,EAC3B,KAAK,kCAAkC,GACxC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACL,+BAA+B,EAC/B,iCAAiC,EACjC,oBAAoB,GACrB,MAAM,0BAA0B,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @xrkseek/attachment — durable image blob store (DSH-aligned).
|
|
3
|
-
* Session events hold ImageAttachmentRef only; bytes live here.
|
|
2
|
+
* @xrkseek/attachment — durable image + generic-file blob store (DSH-aligned).
|
|
3
|
+
* Session events hold ImageAttachmentRef / FileAttachmentRef only; bytes live here.
|
|
4
4
|
*/
|
|
5
|
-
export { DEFAULT_IMAGE_LIMITS, IMAGE_MEDIA_TYPES, } from "./types.js";
|
|
5
|
+
export { DEFAULT_FILE_LIMITS, DEFAULT_IMAGE_LIMITS, IMAGE_MEDIA_TYPES, sanitizeAttachmentFileName, } from "./types.js";
|
|
6
6
|
export { AttachmentError, isAttachmentError, isImageAdmissionError, } from "./error.js";
|
|
7
7
|
export { createMemoryAttachmentStore, } from "./memory.js";
|
|
8
8
|
export { sniffImageMediaType, readImageSize } from "./image-meta.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,qBAAqB,GAEtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,2BAA2B,GAE5B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACL,+BAA+B,EAC/B,iCAAiC,EACjC,oBAAoB,GACrB,MAAM,0BAA0B,CAAC"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type { AttachmentStore } from "./store.js";
|
|
2
|
-
import { type ImageAttachmentLimits } from "./types.js";
|
|
2
|
+
import { type FileAttachmentLimits, type ImageAttachmentLimits } from "./types.js";
|
|
3
3
|
export interface CreateMemoryAttachmentStoreOptions {
|
|
4
4
|
readonly imageLimits?: Partial<ImageAttachmentLimits>;
|
|
5
|
+
readonly fileLimits?: Partial<FileAttachmentLimits>;
|
|
5
6
|
}
|
|
6
7
|
/**
|
|
7
8
|
* In-memory content-addressed attachment store (tests + Host default).
|
|
9
|
+
* Images and generic files share digest space but keep typed refs.
|
|
8
10
|
*/
|
|
9
11
|
export declare function createMemoryAttachmentStore(options?: CreateMemoryAttachmentStoreOptions): AttachmentStore;
|
|
10
12
|
//# sourceMappingURL=memory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAIL,KAAK,oBAAoB,EAEzB,KAAK,qBAAqB,EAQ3B,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACrD;AAqBD;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,CAAC,EAAE,kCAAkC,GAC3C,eAAe,CAmMjB"}
|
|
@@ -1,20 +1,29 @@
|
|
|
1
1
|
import { attachmentIdForBytes } from "./digest.js";
|
|
2
2
|
import { AttachmentError } from "./error.js";
|
|
3
3
|
import { readImageSize, sniffImageMediaType } from "./image-meta.js";
|
|
4
|
-
import { DEFAULT_IMAGE_LIMITS, } from "./types.js";
|
|
5
|
-
function
|
|
4
|
+
import { DEFAULT_FILE_LIMITS, DEFAULT_IMAGE_LIMITS, sanitizeAttachmentFileName, } from "./types.js";
|
|
5
|
+
function resolveImageLimits(partial) {
|
|
6
6
|
return {
|
|
7
7
|
...DEFAULT_IMAGE_LIMITS,
|
|
8
8
|
...partial,
|
|
9
9
|
mediaTypes: partial?.mediaTypes ?? DEFAULT_IMAGE_LIMITS.mediaTypes,
|
|
10
10
|
};
|
|
11
11
|
}
|
|
12
|
+
function resolveFileLimits(partial) {
|
|
13
|
+
return {
|
|
14
|
+
...DEFAULT_FILE_LIMITS,
|
|
15
|
+
...partial,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
12
18
|
/**
|
|
13
19
|
* In-memory content-addressed attachment store (tests + Host default).
|
|
20
|
+
* Images and generic files share digest space but keep typed refs.
|
|
14
21
|
*/
|
|
15
22
|
export function createMemoryAttachmentStore(options) {
|
|
16
|
-
const imageLimits =
|
|
17
|
-
const
|
|
23
|
+
const imageLimits = resolveImageLimits(options?.imageLimits);
|
|
24
|
+
const fileLimits = resolveFileLimits(options?.fileLimits);
|
|
25
|
+
const images = new Map();
|
|
26
|
+
const files = new Map();
|
|
18
27
|
async function validateImage(input) {
|
|
19
28
|
if (!imageLimits.mediaTypes.includes(input.mediaType)) {
|
|
20
29
|
throw new AttachmentError(`Image type ${input.mediaType} is not accepted.`, "UNSUPPORTED_IMAGE_TYPE");
|
|
@@ -38,7 +47,7 @@ export function createMemoryAttachmentStore(options) {
|
|
|
38
47
|
await validateImage(input);
|
|
39
48
|
const size = readImageSize(input.data, input.mediaType);
|
|
40
49
|
const attachmentId = attachmentIdForBytes(input.data);
|
|
41
|
-
const existing =
|
|
50
|
+
const existing = images.get(attachmentId);
|
|
42
51
|
if (existing)
|
|
43
52
|
return existing.ref;
|
|
44
53
|
const ref = {
|
|
@@ -49,7 +58,7 @@ export function createMemoryAttachmentStore(options) {
|
|
|
49
58
|
height: size.height,
|
|
50
59
|
...(input.name !== undefined ? { name: input.name } : {}),
|
|
51
60
|
};
|
|
52
|
-
|
|
61
|
+
images.set(attachmentId, {
|
|
53
62
|
ref,
|
|
54
63
|
data: Uint8Array.from(input.data),
|
|
55
64
|
});
|
|
@@ -71,7 +80,7 @@ export function createMemoryAttachmentStore(options) {
|
|
|
71
80
|
return refs;
|
|
72
81
|
}
|
|
73
82
|
async function readImage(attachmentId) {
|
|
74
|
-
const hit =
|
|
83
|
+
const hit = images.get(attachmentId);
|
|
75
84
|
if (!hit) {
|
|
76
85
|
throw new AttachmentError(`Attachment not found: ${attachmentId}`, "NOT_FOUND");
|
|
77
86
|
}
|
|
@@ -82,13 +91,68 @@ export function createMemoryAttachmentStore(options) {
|
|
|
82
91
|
void _policy;
|
|
83
92
|
throw new AttachmentError("The mounted attachment provider cannot derive model-request images.", "ATTACHMENT_PROJECTION_UNSUPPORTED");
|
|
84
93
|
}
|
|
94
|
+
async function validateFile(input) {
|
|
95
|
+
if (input.data.byteLength === 0) {
|
|
96
|
+
throw new AttachmentError("File bytes must be non-empty.", "INVALID_ATTACHMENT_REF");
|
|
97
|
+
}
|
|
98
|
+
if (input.data.byteLength > fileLimits.maxFileBytes) {
|
|
99
|
+
throw new AttachmentError("File exceeds the configured byte limit.", "FILE_TOO_LARGE");
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
async function saveFile(input) {
|
|
103
|
+
await validateFile(input);
|
|
104
|
+
const attachmentId = attachmentIdForBytes(input.data);
|
|
105
|
+
const existing = files.get(attachmentId);
|
|
106
|
+
if (existing)
|
|
107
|
+
return existing.ref;
|
|
108
|
+
const ref = {
|
|
109
|
+
attachmentId,
|
|
110
|
+
name: sanitizeAttachmentFileName(input.name),
|
|
111
|
+
bytes: input.data.byteLength,
|
|
112
|
+
...(input.mediaType !== undefined && input.mediaType.length > 0
|
|
113
|
+
? { mediaType: input.mediaType }
|
|
114
|
+
: {}),
|
|
115
|
+
};
|
|
116
|
+
files.set(attachmentId, {
|
|
117
|
+
ref,
|
|
118
|
+
data: Uint8Array.from(input.data),
|
|
119
|
+
});
|
|
120
|
+
return ref;
|
|
121
|
+
}
|
|
122
|
+
async function saveFiles(inputs) {
|
|
123
|
+
if (inputs.length > fileLimits.maxFilesPerMessage) {
|
|
124
|
+
throw new AttachmentError("File batch exceeds the configured file-count limit.", "TOO_MANY_FILES");
|
|
125
|
+
}
|
|
126
|
+
const totalBytes = inputs.reduce((sum, x) => sum + x.data.byteLength, 0);
|
|
127
|
+
if (totalBytes > fileLimits.maxMessageFileBytes) {
|
|
128
|
+
throw new AttachmentError("File batch exceeds the configured aggregate file-byte limit.", "FILES_TOO_LARGE");
|
|
129
|
+
}
|
|
130
|
+
for (const input of inputs)
|
|
131
|
+
await validateFile(input);
|
|
132
|
+
const refs = [];
|
|
133
|
+
for (const input of inputs)
|
|
134
|
+
refs.push(await saveFile(input));
|
|
135
|
+
return refs;
|
|
136
|
+
}
|
|
137
|
+
async function readFile(attachmentId) {
|
|
138
|
+
const hit = files.get(attachmentId);
|
|
139
|
+
if (!hit) {
|
|
140
|
+
throw new AttachmentError(`Attachment not found: ${attachmentId}`, "NOT_FOUND");
|
|
141
|
+
}
|
|
142
|
+
return hit;
|
|
143
|
+
}
|
|
85
144
|
return {
|
|
86
145
|
imageLimits,
|
|
146
|
+
fileLimits,
|
|
87
147
|
validateImage,
|
|
88
148
|
saveImages,
|
|
89
149
|
saveImage,
|
|
90
150
|
readImage,
|
|
91
151
|
readImageRequest,
|
|
152
|
+
validateFile,
|
|
153
|
+
saveFiles,
|
|
154
|
+
saveFile,
|
|
155
|
+
readFile,
|
|
92
156
|
};
|
|
93
157
|
}
|
|
94
158
|
//# sourceMappingURL=memory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAErE,OAAO,EACL,oBAAoB,
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import type { ImageAttachmentLimits, ImageAttachmentRef, ImageRequestPolicy, RequestImageAttachment, SaveImageAttachment, StoredImageAttachment } from "./types.js";
|
|
1
|
+
import type { FileAttachmentLimits, FileAttachmentRef, ImageAttachmentLimits, ImageAttachmentRef, ImageRequestPolicy, RequestImageAttachment, SaveFileAttachment, SaveImageAttachment, StoredFileAttachment, StoredImageAttachment } from "./types.js";
|
|
2
2
|
/**
|
|
3
|
-
* Durable
|
|
4
|
-
* Session events must never embed raw bytes — only ImageAttachmentRef.
|
|
3
|
+
* Durable blob seam. Implementations validate before publishing a ref.
|
|
4
|
+
* Session events must never embed raw bytes — only ImageAttachmentRef / FileAttachmentRef.
|
|
5
5
|
*/
|
|
6
6
|
export interface AttachmentStore {
|
|
7
7
|
readonly imageLimits: ImageAttachmentLimits;
|
|
8
|
+
readonly fileLimits: FileAttachmentLimits;
|
|
8
9
|
/** Validate without persisting. */
|
|
9
10
|
validateImage(input: SaveImageAttachment): Promise<void>;
|
|
10
11
|
/** Validate all, then commit each; fail before any write on validation error. */
|
|
@@ -16,5 +17,15 @@ export interface AttachmentStore {
|
|
|
16
17
|
* memory store rejects.
|
|
17
18
|
*/
|
|
18
19
|
readImageRequest?(ref: ImageAttachmentRef, policy: ImageRequestPolicy, signal?: AbortSignal): Promise<RequestImageAttachment>;
|
|
20
|
+
validateFile(input: SaveFileAttachment): Promise<void>;
|
|
21
|
+
saveFiles(inputs: readonly SaveFileAttachment[]): Promise<readonly FileAttachmentRef[]>;
|
|
22
|
+
saveFile(input: SaveFileAttachment): Promise<FileAttachmentRef>;
|
|
23
|
+
readFile(attachmentId: string): Promise<StoredFileAttachment>;
|
|
24
|
+
/**
|
|
25
|
+
* Absolute host path of the verbatim stored file for tool/LLM read-on-demand.
|
|
26
|
+
* Memory / non-host backends omit or return undefined.
|
|
27
|
+
* @throws AttachmentError when the durable reference is invalid.
|
|
28
|
+
*/
|
|
29
|
+
fileHostPath?(ref: FileAttachmentRef): string | undefined;
|
|
19
30
|
}
|
|
20
31
|
//# sourceMappingURL=store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAC5C,mCAAmC;IACnC,aAAa,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,iFAAiF;IACjF,UAAU,CACR,MAAM,EAAE,SAAS,mBAAmB,EAAE,GACrC,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAAC;IAC1C,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACnE,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAChE;;;OAGG;IACH,gBAAgB,CAAC,CACf,GAAG,EAAE,kBAAkB,EACvB,MAAM,EAAE,kBAAkB,EAC1B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,sBAAsB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,mCAAmC;IACnC,aAAa,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,iFAAiF;IACjF,UAAU,CACR,MAAM,EAAE,SAAS,mBAAmB,EAAE,GACrC,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAAC;IAC1C,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACnE,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAChE;;;OAGG;IACH,gBAAgB,CAAC,CACf,GAAG,EAAE,kBAAkB,EACvB,MAAM,EAAE,kBAAkB,EAC1B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAEnC,YAAY,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,SAAS,CACP,MAAM,EAAE,SAAS,kBAAkB,EAAE,GACpC,OAAO,CAAC,SAAS,iBAAiB,EAAE,CAAC,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChE,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC9D;;;;OAIG;IACH,YAAY,CAAC,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAAC;CAC3D"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ImageAttachmentRef, ImageMediaType } from "@xrkseek/protocol";
|
|
2
|
-
export type { ImageAttachmentRef, ImageMediaType };
|
|
1
|
+
import type { FileAttachmentRef, ImageAttachmentRef, ImageMediaType } from "@xrkseek/protocol";
|
|
2
|
+
export type { FileAttachmentRef, ImageAttachmentRef, ImageMediaType };
|
|
3
3
|
export declare const IMAGE_MEDIA_TYPES: readonly ["image/png", "image/jpeg", "image/webp", "image/gif"];
|
|
4
4
|
export interface ImageAttachmentLimits {
|
|
5
5
|
readonly maxImageBytes: number;
|
|
@@ -11,15 +11,32 @@ export interface ImageAttachmentLimits {
|
|
|
11
11
|
}
|
|
12
12
|
/** Defaults aligned with common DSH local attachment limits. */
|
|
13
13
|
export declare const DEFAULT_IMAGE_LIMITS: ImageAttachmentLimits;
|
|
14
|
+
/** Generic-file admission limits (byte-for-byte store; no media sniff). */
|
|
15
|
+
export interface FileAttachmentLimits {
|
|
16
|
+
readonly maxFileBytes: number;
|
|
17
|
+
readonly maxFilesPerMessage: number;
|
|
18
|
+
readonly maxMessageFileBytes: number;
|
|
19
|
+
}
|
|
20
|
+
export declare const DEFAULT_FILE_LIMITS: FileAttachmentLimits;
|
|
14
21
|
export interface SaveImageAttachment {
|
|
15
22
|
readonly data: Uint8Array;
|
|
16
23
|
readonly mediaType: ImageMediaType;
|
|
17
24
|
readonly name?: string;
|
|
18
25
|
}
|
|
26
|
+
export interface SaveFileAttachment {
|
|
27
|
+
readonly data: Uint8Array;
|
|
28
|
+
/** Display leaf name; never interpreted as a path. */
|
|
29
|
+
readonly name?: string;
|
|
30
|
+
readonly mediaType?: string;
|
|
31
|
+
}
|
|
19
32
|
export interface StoredImageAttachment {
|
|
20
33
|
readonly ref: ImageAttachmentRef;
|
|
21
34
|
readonly data: Uint8Array;
|
|
22
35
|
}
|
|
36
|
+
export interface StoredFileAttachment {
|
|
37
|
+
readonly ref: FileAttachmentRef;
|
|
38
|
+
readonly data: Uint8Array;
|
|
39
|
+
}
|
|
23
40
|
/** Route-owned request-image budget (DSH rc.2). */
|
|
24
41
|
export interface ImageRequestPolicy {
|
|
25
42
|
readonly maxPixels: number;
|
|
@@ -38,4 +55,6 @@ export interface RequestImageAttachment {
|
|
|
38
55
|
readonly space: "srgb";
|
|
39
56
|
readonly hasAlpha: boolean;
|
|
40
57
|
}
|
|
58
|
+
/** Sanitize a browser/provider filename to a path-free leaf. */
|
|
59
|
+
export declare function sanitizeAttachmentFileName(name: string | undefined, fallback?: string): string;
|
|
41
60
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,CAAC;AAEtE,eAAO,MAAM,iBAAiB,iEAKgB,CAAC;AAE/C,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,CAAC;CAChD;AAED,gEAAgE;AAChE,eAAO,MAAM,oBAAoB,EAAE,qBAMlC,CAAC;AAEF,2EAA2E;AAC3E,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAED,eAAO,MAAM,mBAAmB,EAAE,oBAIjC,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,sDAAsD;IACtD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B;AAED,mDAAmD;AACnD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wEAAwE;AACxE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,gEAAgE;AAChE,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,QAAQ,SAAS,GAChB,MAAM,CAMR"}
|
|
@@ -12,4 +12,17 @@ export const DEFAULT_IMAGE_LIMITS = {
|
|
|
12
12
|
maxImagePixels: 40_000_000,
|
|
13
13
|
mediaTypes: IMAGE_MEDIA_TYPES,
|
|
14
14
|
};
|
|
15
|
+
export const DEFAULT_FILE_LIMITS = {
|
|
16
|
+
maxFileBytes: 20 * 1024 * 1024,
|
|
17
|
+
maxFilesPerMessage: 20,
|
|
18
|
+
maxMessageFileBytes: 40 * 1024 * 1024,
|
|
19
|
+
};
|
|
20
|
+
/** Sanitize a browser/provider filename to a path-free leaf. */
|
|
21
|
+
export function sanitizeAttachmentFileName(name, fallback = "file") {
|
|
22
|
+
const raw = (name ?? "").trim() || fallback;
|
|
23
|
+
const leaf = raw.replaceAll("\\", "/").split("/").pop() ?? fallback;
|
|
24
|
+
/* eslint-disable-next-line no-control-regex -- strip C0 controls from filenames */
|
|
25
|
+
const cleaned = leaf.replace(/[\u0000-\u001f<>:"|?*]/g, "_").trim() || fallback;
|
|
26
|
+
return cleaned.slice(0, 255);
|
|
27
|
+
}
|
|
15
28
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,WAAW;CACiC,CAAC;AAW/C,gEAAgE;AAChE,MAAM,CAAC,MAAM,oBAAoB,GAA0B;IACzD,aAAa,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;IAC9B,mBAAmB,EAAE,EAAE;IACvB,oBAAoB,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IACtC,cAAc,EAAE,UAAU;IAC1B,UAAU,EAAE,iBAAiB;CAC9B,CAAC;AASF,MAAM,CAAC,MAAM,mBAAmB,GAAyB;IACvD,YAAY,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IAC9B,kBAAkB,EAAE,EAAE;IACtB,mBAAmB,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;CACtC,CAAC;AA6CF,gEAAgE;AAChE,MAAM,UAAU,0BAA0B,CACxC,IAAwB,EACxB,QAAQ,GAAG,MAAM;IAEjB,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC;IAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC;IACpE,mFAAmF;IACnF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC;IAChF,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { type AttachmentStore } from "@xrkseek/attachment";
|
|
2
2
|
export { canPassThroughNormalization, normalizeImage } from "./normalization.js";
|
|
3
3
|
export type { NormalizedImage, NormalizationPolicy } from "./normalization.js";
|
|
4
|
-
export { commitPreparedImageFile, prepareImageFile, readImageFile, validateImageFile, } from "./store.js";
|
|
4
|
+
export { commitPreparedImageFile, prepareImageFile, readImageFile, storedFilePath, validateImageFile, } from "./store.js";
|
|
5
5
|
export type { PreparedImageFile } from "./store.js";
|
|
6
6
|
export { readRequestImageFile, requestImageDimensions, requestImageVariantId, REQUEST_IMAGE_TRANSFORM_VERSION, } from "./request-image.js";
|
|
7
|
+
/** Absolute `{XRK_HOME}/attachments/v1` root used by the local store. */
|
|
8
|
+
export declare function resolveLocalAttachmentsRoot(xrkHome?: string): string;
|
|
7
9
|
export declare const DEFAULT_MAX_IMAGE_BYTES: number;
|
|
8
10
|
export declare const DEFAULT_MAX_IMAGES_PER_MESSAGE = 20;
|
|
9
11
|
export declare const DEFAULT_MAX_MESSAGE_IMAGE_BYTES: number;
|
|
@@ -24,6 +26,9 @@ export interface CreateLocalAttachmentStoreOptions {
|
|
|
24
26
|
readonly normalizedImageMaxDimension?: number;
|
|
25
27
|
readonly normalizedImageMaxBytes?: number;
|
|
26
28
|
readonly imageCompressionConcurrency?: number;
|
|
29
|
+
readonly maxFileBytes?: number;
|
|
30
|
+
readonly maxFilesPerMessage?: number;
|
|
31
|
+
readonly maxMessageFileBytes?: number;
|
|
27
32
|
}
|
|
28
33
|
/**
|
|
29
34
|
* Disk-backed attachment store with sharp normalization + request-image cache.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,eAAe,EAWrB,MAAM,qBAAqB,CAAC;AAe7B,OAAO,EAAE,2BAA2B,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACjF,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,+BAA+B,GAChC,MAAM,oBAAoB,CAAC;AAE5B,yEAAyE;AACzE,wBAAgB,2BAA2B,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAEpE;AACD,eAAO,MAAM,uBAAuB,QAAmB,CAAC;AACxD,eAAO,MAAM,8BAA8B,KAAK,CAAC;AACjD,eAAO,MAAM,+BAA+B,QAAoB,CAAC;AACjE,eAAO,MAAM,wBAAwB,WAAa,CAAC;AACnD,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAChD,eAAO,MAAM,sCAAsC,OAAO,CAAC;AAC3D,eAAO,MAAM,kCAAkC,QAAkB,CAAC;AAClE,eAAO,MAAM,qCAAqC,IAAI,CAAC;AACvD,eAAO,MAAM,iCAAiC,IAAI,CAAC;AAEnD,MAAM,WAAW,iCAAiC;IAChD,yDAAyD;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACvC;AAoFD;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,iCAAsC,GAC9C,eAAe,CAsPjB"}
|
|
@@ -3,13 +3,17 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { join, resolve } from "node:path";
|
|
5
5
|
import { homedir } from "node:os";
|
|
6
|
-
import { AttachmentError, } from "@xrkseek/attachment";
|
|
6
|
+
import { AttachmentError, DEFAULT_FILE_LIMITS, } from "@xrkseek/attachment";
|
|
7
7
|
import { CompressionLimiter } from "./compression-limiter.js";
|
|
8
|
-
import { commitPreparedImageFile, prepareImageFile, readImageByAttachmentId, readImageFile, validateImageFile, } from "./store.js";
|
|
8
|
+
import { commitFileAttachment, commitPreparedImageFile, prepareImageFile, readFileByAttachmentId, readImageByAttachmentId, readImageFile, storedFilePath, validateImageFile, } from "./store.js";
|
|
9
9
|
import { readRequestImageFile, requestImageVariantId } from "./request-image.js";
|
|
10
10
|
export { canPassThroughNormalization, normalizeImage } from "./normalization.js";
|
|
11
|
-
export { commitPreparedImageFile, prepareImageFile, readImageFile, validateImageFile, } from "./store.js";
|
|
11
|
+
export { commitPreparedImageFile, prepareImageFile, readImageFile, storedFilePath, validateImageFile, } from "./store.js";
|
|
12
12
|
export { readRequestImageFile, requestImageDimensions, requestImageVariantId, REQUEST_IMAGE_TRANSFORM_VERSION, } from "./request-image.js";
|
|
13
|
+
/** Absolute `{XRK_HOME}/attachments/v1` root used by the local store. */
|
|
14
|
+
export function resolveLocalAttachmentsRoot(xrkHome) {
|
|
15
|
+
return resolveAttachmentsRoot(xrkHome);
|
|
16
|
+
}
|
|
13
17
|
export const DEFAULT_MAX_IMAGE_BYTES = 20 * 1024 * 1024;
|
|
14
18
|
export const DEFAULT_MAX_IMAGES_PER_MESSAGE = 20;
|
|
15
19
|
export const DEFAULT_MAX_MESSAGE_IMAGE_BYTES = 200 * 1024 * 1024;
|
|
@@ -103,6 +107,18 @@ export function createLocalAttachmentStore(options = {}) {
|
|
|
103
107
|
"image/gif",
|
|
104
108
|
],
|
|
105
109
|
};
|
|
110
|
+
const fileLimits = {
|
|
111
|
+
...DEFAULT_FILE_LIMITS,
|
|
112
|
+
...(options.maxFileBytes !== undefined
|
|
113
|
+
? { maxFileBytes: options.maxFileBytes }
|
|
114
|
+
: {}),
|
|
115
|
+
...(options.maxFilesPerMessage !== undefined
|
|
116
|
+
? { maxFilesPerMessage: options.maxFilesPerMessage }
|
|
117
|
+
: {}),
|
|
118
|
+
...(options.maxMessageFileBytes !== undefined
|
|
119
|
+
? { maxMessageFileBytes: options.maxMessageFileBytes }
|
|
120
|
+
: {}),
|
|
121
|
+
};
|
|
106
122
|
const normalizationPolicy = {
|
|
107
123
|
maxDimension: options.normalizedImageMaxDimension ??
|
|
108
124
|
DEFAULT_NORMALIZED_IMAGE_MAX_DIMENSION,
|
|
@@ -144,6 +160,7 @@ export function createLocalAttachmentStore(options = {}) {
|
|
|
144
160
|
}
|
|
145
161
|
return {
|
|
146
162
|
imageLimits,
|
|
163
|
+
fileLimits,
|
|
147
164
|
async validateImage(input) {
|
|
148
165
|
await compression.run(() => validateImageFile(input, imageLimits, normalizationPolicy));
|
|
149
166
|
},
|
|
@@ -183,6 +200,60 @@ export function createLocalAttachmentStore(options = {}) {
|
|
|
183
200
|
}
|
|
184
201
|
return operation.wait(signal);
|
|
185
202
|
},
|
|
203
|
+
async validateFile(input) {
|
|
204
|
+
if (input.data.byteLength === 0) {
|
|
205
|
+
throw new AttachmentError("File bytes must be non-empty.", "INVALID_ATTACHMENT_REF");
|
|
206
|
+
}
|
|
207
|
+
if (input.data.byteLength > fileLimits.maxFileBytes) {
|
|
208
|
+
throw new AttachmentError("File exceeds the configured byte limit.", "FILE_TOO_LARGE");
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
async saveFiles(inputs) {
|
|
212
|
+
if (inputs.length > fileLimits.maxFilesPerMessage) {
|
|
213
|
+
throw new AttachmentError("File batch exceeds the configured file-count limit.", "TOO_MANY_FILES");
|
|
214
|
+
}
|
|
215
|
+
const totalBytes = inputs.reduce((sum, x) => sum + x.data.byteLength, 0);
|
|
216
|
+
if (totalBytes > fileLimits.maxMessageFileBytes) {
|
|
217
|
+
throw new AttachmentError("File batch exceeds the configured aggregate file-byte limit.", "FILES_TOO_LARGE");
|
|
218
|
+
}
|
|
219
|
+
for (const input of inputs) {
|
|
220
|
+
if (input.data.byteLength === 0) {
|
|
221
|
+
throw new AttachmentError("File bytes must be non-empty.", "INVALID_ATTACHMENT_REF");
|
|
222
|
+
}
|
|
223
|
+
if (input.data.byteLength > fileLimits.maxFileBytes) {
|
|
224
|
+
throw new AttachmentError("File exceeds the configured byte limit.", "FILE_TOO_LARGE");
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
const refs = [];
|
|
228
|
+
for (const input of inputs) {
|
|
229
|
+
refs.push(await commitFileAttachment(root, input));
|
|
230
|
+
}
|
|
231
|
+
return refs;
|
|
232
|
+
},
|
|
233
|
+
async saveFile(input) {
|
|
234
|
+
if (input.data.byteLength === 0) {
|
|
235
|
+
throw new AttachmentError("File bytes must be non-empty.", "INVALID_ATTACHMENT_REF");
|
|
236
|
+
}
|
|
237
|
+
if (input.data.byteLength > fileLimits.maxFileBytes) {
|
|
238
|
+
throw new AttachmentError("File exceeds the configured byte limit.", "FILE_TOO_LARGE");
|
|
239
|
+
}
|
|
240
|
+
return commitFileAttachment(root, input);
|
|
241
|
+
},
|
|
242
|
+
async readFile(attachmentId) {
|
|
243
|
+
try {
|
|
244
|
+
return await readFileByAttachmentId(root, attachmentId);
|
|
245
|
+
}
|
|
246
|
+
catch (err) {
|
|
247
|
+
if (err instanceof AttachmentError &&
|
|
248
|
+
err.code === "ATTACHMENT_NOT_FOUND") {
|
|
249
|
+
throw new AttachmentError(`Attachment not found: ${attachmentId}`, "NOT_FOUND");
|
|
250
|
+
}
|
|
251
|
+
throw err;
|
|
252
|
+
}
|
|
253
|
+
},
|
|
254
|
+
fileHostPath(ref) {
|
|
255
|
+
return storedFilePath(root, ref);
|
|
256
|
+
},
|
|
186
257
|
};
|
|
187
258
|
}
|
|
188
259
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EACL,eAAe,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EACL,eAAe,EACf,mBAAmB,GAYpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,aAAa,EACb,cAAc,EACd,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEjF,OAAO,EAAE,2BAA2B,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEjF,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,+BAA+B,GAChC,MAAM,oBAAoB,CAAC;AAE5B,yEAAyE;AACzE,MAAM,UAAU,2BAA2B,CAAC,OAAgB;IAC1D,OAAO,sBAAsB,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC;AACD,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACxD,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC;AACjD,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AACjE,MAAM,CAAC,MAAM,wBAAwB,GAAG,UAAU,CAAC;AACnD,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC;AAChD,MAAM,CAAC,MAAM,sCAAsC,GAAG,IAAI,CAAC;AAC3D,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAClE,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC;AAkBnD,SAAS,sBAAsB,CAAC,OAAgB;IAC9C,MAAM,IAAI,GACR,OAAO,EAAE,IAAI,EAAE;QACf,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE;QAC5B,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;IAC1B,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,aAAa;IACR,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACnC,OAAO,CAAa;IACrB,OAAO,GAAG,KAAK,CAAC;IAChB,OAAO,GAAG,CAAC,CAAC;IAEpB,YAAY,KAA0C;QACpD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YACxD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,MAAoB;QACvB,MAAM,EAAE,cAAc,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QAClB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,OAAO,GAAG,CAAC,SAAkB,EAAQ,EAAE;YAC3C,IAAI,QAAQ;gBAAE,OAAO;YACrB,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAClC,CAAC,CAAC;QACF,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,MAAM,KAAK,GAAG,GAAS,EAAE;gBACvB,OAAO,CAAC,IAAI,CAAC,CAAC;gBACd,MAAM,MAAM,GAAY,MAAM,CAAC,MAAM,CAAC;gBACtC,MAAM,CACJ,MAAM,YAAY,KAAK;oBACrB,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,IAAI,KAAK,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAClE,CAAC;YACJ,CAAC,CAAC;YACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CACpB,CAAC,KAAK,EAAE,EAAE;gBACR,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC3C,OAAO,CAAC,KAAK,CAAC,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,EACD,CAAC,KAAc,EAAE,EAAE;gBACjB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC3C,OAAO,CAAC,KAAK,CAAC,CAAC;gBACf,MAAM,CACJ,KAAK,YAAY,KAAK;oBACpB,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAC/C,CAAC;YACJ,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,OAAO,CAAC,SAAkB,EAAE,MAAoB;QACtD,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QAClB,IACE,SAAS;YACT,IAAI,CAAC,OAAO,KAAK,CAAC;YAClB,CAAC,IAAI,CAAC,OAAO;YACb,MAAM,KAAK,SAAS,EACpB,CAAC;YACD,MAAM,MAAM,GAAY,MAAM,CAAC,MAAM,CAAC;YACtC,IAAI,CAAC,UAAU,CAAC,KAAK,CACnB,MAAM,YAAY,KAAK;gBACrB,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CACjD,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,UAA6C,EAAE;IAE/C,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,WAAW,GAA0B;QACzC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,uBAAuB;QAC/D,mBAAmB,EACjB,OAAO,CAAC,mBAAmB,IAAI,8BAA8B;QAC/D,oBAAoB,EAClB,OAAO,CAAC,oBAAoB,IAAI,+BAA+B;QACjE,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,wBAAwB;QAClE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,2BAA2B;QAC3E,UAAU,EAAE;YACV,WAAW;YACX,YAAY;YACZ,YAAY;YACZ,WAAW;SACZ;KACF,CAAC;IACF,MAAM,UAAU,GAAyB;QACvC,GAAG,mBAAmB;QACtB,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE;YACxC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,CAAC,kBAAkB,KAAK,SAAS;YAC1C,CAAC,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,EAAE;YACpD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,CAAC,mBAAmB,KAAK,SAAS;YAC3C,CAAC,CAAC,EAAE,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,EAAE;YACtD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,MAAM,mBAAmB,GAAkC;QACzD,YAAY,EACV,OAAO,CAAC,2BAA2B;YACnC,sCAAsC;QACxC,QAAQ,EACN,OAAO,CAAC,uBAAuB,IAAI,kCAAkC;KACxE,CAAC;IACF,MAAM,sBAAsB,GAC1B,OAAO,CAAC,2BAA2B,IAAI,qCAAqC,CAAC;IAC/E,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAC;QAC7C,sBAAsB,GAAG,CAAC;QAC1B,sBAAsB,GAAG,iCAAiC,EAC1D,CAAC;QACD,MAAM,IAAI,KAAK,CACb,4DAA4D,iCAAiC,EAAE,CAChG,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IACnE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAiD,CAAC;IAEjF,SAAS,kBAAkB,CAAC,MAAsC;QAChE,IAAI,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,mBAAmB,EAAE,CAAC;YACpD,MAAM,IAAI,eAAe,CACvB,uDAAuD,EACvD,iBAAiB,CAClB,CAAC;QACJ,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACjF,IAAI,UAAU,GAAG,WAAW,CAAC,oBAAoB,EAAE,CAAC;YAClD,MAAM,IAAI,eAAe,CACvB,gEAAgE,EAChE,kBAAkB,CACnB,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,eAAe,CACvB,cAAc,KAAK,CAAC,SAAS,mBAAmB,EAChD,wBAAwB,CACzB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,UAAU,aAAa,CAC1B,YAAoB,EACpB,MAAoB;QAEpB,IAAI,CAAC;YACH,OAAO,MAAM,uBAAuB,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IACE,GAAG,YAAY,eAAe;gBAC9B,GAAG,CAAC,IAAI,KAAK,sBAAsB,EACnC,CAAC;gBACD,MAAM,IAAI,eAAe,CACvB,yBAAyB,YAAY,EAAE,EACvC,WAAW,CACZ,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,OAAO;QACL,WAAW;QACX,UAAU;QACV,KAAK,CAAC,aAAa,CAAC,KAA0B;YAC5C,MAAM,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CACzB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAC3D,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,UAAU,CACd,MAAsC;YAEtC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAC3B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACnB,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CACnB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAC1D,CACF,CACF,CAAC;YACF,MAAM,IAAI,GAAyB,EAAE,CAAC;YACtC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,MAAM,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,KAA0B;YACxC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAC1C,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAC1D,CAAC;YACF,OAAO,uBAAuB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC;QACD,SAAS,EAAE,aAAa;QACxB,KAAK,CAAC,gBAAgB,CACpB,GAAuB,EACvB,MAA0B,EAC1B,MAAoB;YAEpB,MAAM,EAAE,cAAc,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACrD,MAAM,GAAG,GAAG,SAAS,CAAC;YACtB,IAAI,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACzC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC5B,SAAS,GAAG,SAAS,CAAC;YACxB,CAAC;YACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,IAAI,aAAa,CAC9B,CAAC,YAAY,EAAE,EAAE,CACf,WAAW,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CACzB,oBAAoB,CAClB,IAAI,EACJ,MAAM,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,EAC5C,MAAM,EACN,YAAY,CACb,CACF,CACJ,CAAC;gBACF,SAAS,GAAG,MAAM,CAAC;gBACnB,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACjC,KAAK,MAAM,CAAC,OAAO;qBAChB,OAAO,CAAC,GAAG,EAAE;oBACZ,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,MAAM;wBAAE,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvE,CAAC,CAAC;qBACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACrB,CAAC;YACD,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,KAAyB;YAC1C,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,eAAe,CACvB,+BAA+B,EAC/B,wBAAwB,CACzB,CAAC;YACJ,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;gBACpD,MAAM,IAAI,eAAe,CACvB,yCAAyC,EACzC,gBAAgB,CACjB,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,CAAC,SAAS,CACb,MAAqC;YAErC,IAAI,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,kBAAkB,EAAE,CAAC;gBAClD,MAAM,IAAI,eAAe,CACvB,qDAAqD,EACrD,gBAAgB,CACjB,CAAC;YACJ,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YACzE,IAAI,UAAU,GAAG,UAAU,CAAC,mBAAmB,EAAE,CAAC;gBAChD,MAAM,IAAI,eAAe,CACvB,8DAA8D,EAC9D,iBAAiB,CAClB,CAAC;YACJ,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;oBAChC,MAAM,IAAI,eAAe,CACvB,+BAA+B,EAC/B,wBAAwB,CACzB,CAAC;gBACJ,CAAC;gBACD,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;oBACpD,MAAM,IAAI,eAAe,CACvB,yCAAyC,EACzC,gBAAgB,CACjB,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,MAAM,IAAI,GAAwB,EAAE,CAAC;YACrC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACrD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,QAAQ,CAAC,KAAyB;YACtC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,eAAe,CACvB,+BAA+B,EAC/B,wBAAwB,CACzB,CAAC;YACJ,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;gBACpD,MAAM,IAAI,eAAe,CACvB,yCAAyC,EACzC,gBAAgB,CACjB,CAAC;YACJ,CAAC;YACD,OAAO,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC;QACD,KAAK,CAAC,QAAQ,CAAC,YAAoB;YACjC,IAAI,CAAC;gBACH,OAAO,MAAM,sBAAsB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAC1D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IACE,GAAG,YAAY,eAAe;oBAC9B,GAAG,CAAC,IAAI,KAAK,sBAAsB,EACnC,CAAC;oBACD,MAAM,IAAI,eAAe,CACvB,yBAAyB,YAAY,EAAE,EACvC,WAAW,CACZ,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QACD,YAAY,CAAC,GAAsB;YACjC,OAAO,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Content-addressed, owner-private local attachment storage. */
|
|
2
|
-
import type { ImageAttachmentLimits, ImageAttachmentRef, SaveImageAttachment, StoredImageAttachment } from '@xrkseek/attachment';
|
|
2
|
+
import type { FileAttachmentRef, ImageAttachmentLimits, ImageAttachmentRef, SaveFileAttachment, SaveImageAttachment, StoredFileAttachment, StoredImageAttachment } from '@xrkseek/attachment';
|
|
3
3
|
import type { NormalizationPolicy } from './normalization.js';
|
|
4
4
|
/**
|
|
5
5
|
* Run the full admission policy for one image without touching storage,
|
|
@@ -55,4 +55,12 @@ export declare function readImageFile(root: string, ref: ImageAttachmentRef, sig
|
|
|
55
55
|
* Read by opaque attachment id when session metadata is not available.
|
|
56
56
|
*/
|
|
57
57
|
export declare function readImageByAttachmentId(root: string, attachmentId: string, signal?: AbortSignal): Promise<StoredImageAttachment>;
|
|
58
|
+
/**
|
|
59
|
+
* Absolute immutable alias path for one stored file. Digest names a directory
|
|
60
|
+
* so the sanitized display name stays the leaf — models see a path ending in
|
|
61
|
+
* the real filename.
|
|
62
|
+
*/
|
|
63
|
+
export declare function storedFilePath(root: string, ref: FileAttachmentRef): string;
|
|
64
|
+
export declare function commitFileAttachment(root: string, input: SaveFileAttachment): Promise<FileAttachmentRef>;
|
|
65
|
+
export declare function readFileByAttachmentId(root: string, attachmentId: string, signal?: AbortSignal): Promise<StoredFileAttachment>;
|
|
58
66
|
//# sourceMappingURL=store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,iEAAiE;AAOjE,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AA+C7D;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,qBAAqB,EAC7B,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,uFAAuF;AACvF,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,IAAI,EAAE,UAAU,CAAA;IAChB,iDAAiD;IACjD,GAAG,EAAE,kBAAkB,CAAA;CACxB;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,qBAAqB,EAC7B,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAqB5B;AA6DD;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,kBAAkB,CAAC,CAuD7B;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,qBAAqB,EAC7B,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,kBAAkB,CAAC,CAE7B;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,kBAAkB,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,qBAAqB,CAAC,CAuBhC;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,qBAAqB,CAAC,CAwChC"}
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,iEAAiE;AAOjE,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AA+C7D;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,qBAAqB,EAC7B,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,uFAAuF;AACvF,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,IAAI,EAAE,UAAU,CAAA;IAChB,iDAAiD;IACjD,GAAG,EAAE,kBAAkB,CAAA;CACxB;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,qBAAqB,EAC7B,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAqB5B;AA6DD;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,kBAAkB,CAAC,CAuD7B;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,qBAAqB,EAC7B,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,kBAAkB,CAAC,CAE7B;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,kBAAkB,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,qBAAqB,CAAC,CAuBhC;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,qBAAqB,CAAC,CAwChC;AAGD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,GAAG,MAAM,CAU3E;AAsBD,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,iBAAiB,CAAC,CA+B5B;AAED,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,oBAAoB,CAAC,CA4B/B"}
|