From 74ce20a0b5d68b45c625cd22cc948d00b576beee Mon Sep 17 00:00:00 2001 From: Nathan Heskew Date: Tue, 15 Sep 2026 08:52:28 -0700 Subject: [PATCH 1/3] Document the optional AWS SDK peer requirement for import_from_s3 / export_to_s3 (v5.3) As of Harper v5.3 the AWS S3 SDK is an optional peer dependency (HarperFast/harper#2609, #2607): the S3 import/export operations require @aws-sdk/client-s3 and @aws-sdk/lib-storage to be installed in the Harper instance root or globally alongside Harper, and fail with an actionable 501 when absent. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_012GGq9WbGH3m8grGuKb8rYe --- reference/database/jobs.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/reference/database/jobs.md b/reference/database/jobs.md index 7ce151893..9f2454ecb 100644 --- a/reference/database/jobs.md +++ b/reference/database/jobs.md @@ -100,6 +100,8 @@ Ingests CSV data from a URL. Imports CSV or JSON files from an AWS S3 bucket. + — the AWS SDK backing this operation is an optional peer dependency. Install it where Harper can resolve it — in the Harper instance root (`rootPath`) or globally alongside Harper — with `npm install @aws-sdk/client-s3 @aws-sdk/lib-storage`. Without it, the operation fails with a `501` error naming this command. + - `operation` _(required)_ — `import_from_s3` - `database` _(optional)_ — target database; defaults to `data` - `table` _(required)_ — target table @@ -162,6 +164,8 @@ Exports table data to an AWS S3 bucket in JSON or CSV format. — `search_by_conditions` added as a supported search operation + — the AWS SDK backing this operation is an optional peer dependency; see the installation note under [Import from S3](#import-from-s3). Without it, the operation fails with a `501` error. + - `operation` _(required)_ — `export_to_s3` - `format` _(required)_ — `json` or `csv` - `s3` _(required)_ — S3 connection details (same fields as Import from S3, plus `key` for the output object name) From 2a200f29837e362af98f15e097d517f9eb5919f6 Mon Sep 17 00:00:00 2001 From: Nathan Heskew Date: Tue, 15 Sep 2026 09:37:29 -0700 Subject: [PATCH 2/3] Make both SDK install procedures explicit (rootPath vs global) per review Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_012GGq9WbGH3m8grGuKb8rYe --- reference/database/jobs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/database/jobs.md b/reference/database/jobs.md index 9f2454ecb..6d811d11b 100644 --- a/reference/database/jobs.md +++ b/reference/database/jobs.md @@ -100,7 +100,7 @@ Ingests CSV data from a URL. Imports CSV or JSON files from an AWS S3 bucket. - — the AWS SDK backing this operation is an optional peer dependency. Install it where Harper can resolve it — in the Harper instance root (`rootPath`) or globally alongside Harper — with `npm install @aws-sdk/client-s3 @aws-sdk/lib-storage`. Without it, the operation fails with a `501` error naming this command. + — the AWS SDK backing this operation is an optional peer dependency. Install it where Harper can resolve it: run `npm install @aws-sdk/client-s3 @aws-sdk/lib-storage` from the Harper instance root (`rootPath`), or — when Harper itself is installed globally — `npm install --global @aws-sdk/client-s3 @aws-sdk/lib-storage`. Without it, the operation fails with a `501` error naming this command. - `operation` _(required)_ — `import_from_s3` - `database` _(optional)_ — target database; defaults to `data` From e5ec671957b535c157702a41c0c5bdcde1b6b6bb Mon Sep 17 00:00:00 2001 From: Nathan Heskew Date: Fri, 18 Sep 2026 17:35:55 -0700 Subject: [PATCH 3/3] Note the official Docker image preinstalls the S3 SDK Follows harper#2609's rollout shape: image users keep S3 import/export out of the box; the install note applies to npm installs. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_012GGq9WbGH3m8grGuKb8rYe --- reference/database/jobs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/database/jobs.md b/reference/database/jobs.md index 6d811d11b..7c8ed1448 100644 --- a/reference/database/jobs.md +++ b/reference/database/jobs.md @@ -100,7 +100,7 @@ Ingests CSV data from a URL. Imports CSV or JSON files from an AWS S3 bucket. - — the AWS SDK backing this operation is an optional peer dependency. Install it where Harper can resolve it: run `npm install @aws-sdk/client-s3 @aws-sdk/lib-storage` from the Harper instance root (`rootPath`), or — when Harper itself is installed globally — `npm install --global @aws-sdk/client-s3 @aws-sdk/lib-storage`. Without it, the operation fails with a `501` error naming this command. + — the AWS SDK backing this operation is an optional peer dependency. The official Harper Docker image ships with it preinstalled; for npm installs, install it where Harper can resolve it: run `npm install @aws-sdk/client-s3 @aws-sdk/lib-storage` from the Harper instance root (`rootPath`), or — when Harper itself is installed globally — `npm install --global @aws-sdk/client-s3 @aws-sdk/lib-storage`. Without it, the operation fails with a `501` error naming this command. - `operation` _(required)_ — `import_from_s3` - `database` _(optional)_ — target database; defaults to `data`