@agentuity/storage 3.0.0-beta.7 → 3.0.0-beta.9

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/dist/types.d.ts CHANGED
@@ -61,28 +61,17 @@ export declare function resolveEndpoint(bucket: BucketConfig): string;
61
61
  /**
62
62
  * Build a `BucketConfig` from environment variables.
63
63
  *
64
- * Two naming schemes are recognised, in this priority order:
64
+ * Uses the standard AWS naming scheme same one the AWS SDKs and CLI
65
+ * read — so no key translation is needed when targeting AWS or any
66
+ * S3-compatible service. This matches what the Agentuity platform
67
+ * injects when a bucket is provisioned:
65
68
  *
66
- * 1. **Agentuity-canonical**
67
- * `AGENTUITY_BUCKET_ENDPOINT`,
68
- * `AGENTUITY_BUCKET_ACCESS_KEY`,
69
- * `AGENTUITY_BUCKET_SECRET_KEY`,
70
- * optional `AGENTUITY_BUCKET_REGION`.
71
- * The endpoint is treated as bucket-scoped
72
- * (virtual-hosted-style, `<bucket>.<host>`) and used as-is.
69
+ * `AWS_ENDPOINT` (shared host) + `AWS_BUCKET` (bucket name) +
70
+ * `AWS_ACCESS_KEY_ID` + `AWS_SECRET_ACCESS_KEY`,
71
+ * optional `AWS_REGION`.
73
72
  *
74
- * 2. **AWS-style fallback**
75
- * `AWS_ENDPOINT` (shared host) + `AWS_BUCKET` (bucket name) +
76
- * `AWS_ACCESS_KEY_ID` + `AWS_SECRET_ACCESS_KEY`,
77
- * optional `AWS_REGION`.
78
- * This matches what the Agentuity platform currently injects
79
- * when a bucket is provisioned (host and bucket are kept
80
- * separate). Falls through to it only if no
81
- * `AGENTUITY_BUCKET_ENDPOINT` is set.
82
- *
83
- * Throws a single, descriptive error when neither scheme yields a
84
- * complete configuration so callers can surface a useful message at
85
- * startup or first request.
73
+ * Throws a descriptive error when the required vars are missing so
74
+ * callers can surface a useful message at startup or first request.
86
75
  *
87
76
  * Pass an explicit `env` (defaults to `process.env`) to make this
88
77
  * unit-testable without mutating global state.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -33,62 +33,37 @@ export function resolveEndpoint(bucket) {
33
33
  /**
34
34
  * Build a `BucketConfig` from environment variables.
35
35
  *
36
- * Two naming schemes are recognised, in this priority order:
36
+ * Uses the standard AWS naming scheme same one the AWS SDKs and CLI
37
+ * read — so no key translation is needed when targeting AWS or any
38
+ * S3-compatible service. This matches what the Agentuity platform
39
+ * injects when a bucket is provisioned:
37
40
  *
38
- * 1. **Agentuity-canonical**
39
- * `AGENTUITY_BUCKET_ENDPOINT`,
40
- * `AGENTUITY_BUCKET_ACCESS_KEY`,
41
- * `AGENTUITY_BUCKET_SECRET_KEY`,
42
- * optional `AGENTUITY_BUCKET_REGION`.
43
- * The endpoint is treated as bucket-scoped
44
- * (virtual-hosted-style, `<bucket>.<host>`) and used as-is.
41
+ * `AWS_ENDPOINT` (shared host) + `AWS_BUCKET` (bucket name) +
42
+ * `AWS_ACCESS_KEY_ID` + `AWS_SECRET_ACCESS_KEY`,
43
+ * optional `AWS_REGION`.
45
44
  *
46
- * 2. **AWS-style fallback**
47
- * `AWS_ENDPOINT` (shared host) + `AWS_BUCKET` (bucket name) +
48
- * `AWS_ACCESS_KEY_ID` + `AWS_SECRET_ACCESS_KEY`,
49
- * optional `AWS_REGION`.
50
- * This matches what the Agentuity platform currently injects
51
- * when a bucket is provisioned (host and bucket are kept
52
- * separate). Falls through to it only if no
53
- * `AGENTUITY_BUCKET_ENDPOINT` is set.
54
- *
55
- * Throws a single, descriptive error when neither scheme yields a
56
- * complete configuration so callers can surface a useful message at
57
- * startup or first request.
45
+ * Throws a descriptive error when the required vars are missing so
46
+ * callers can surface a useful message at startup or first request.
58
47
  *
59
48
  * Pass an explicit `env` (defaults to `process.env`) to make this
60
49
  * unit-testable without mutating global state.
61
50
  */
62
51
  export function bucketConfigFromEnv(env = process.env) {
63
- // 1. Agentuity-canonical naming.
64
- const agentuityEndpoint = env.AGENTUITY_BUCKET_ENDPOINT;
65
- const agentuityAccess = env.AGENTUITY_BUCKET_ACCESS_KEY;
66
- const agentuitySecret = env.AGENTUITY_BUCKET_SECRET_KEY;
67
- if (agentuityEndpoint && agentuityAccess && agentuitySecret) {
68
- return {
69
- endpoint: agentuityEndpoint,
70
- access_key: agentuityAccess,
71
- secret_key: agentuitySecret,
72
- region: env.AGENTUITY_BUCKET_REGION,
73
- };
74
- }
75
- // 2. AWS-style fallback (matches the platform's current injection).
76
- const awsHost = env.AWS_ENDPOINT;
77
- const awsBucket = env.AWS_BUCKET;
78
- const awsAccess = env.AWS_ACCESS_KEY_ID;
79
- const awsSecret = env.AWS_SECRET_ACCESS_KEY;
80
- if (awsHost && awsBucket && awsAccess && awsSecret) {
52
+ const host = env.AWS_ENDPOINT;
53
+ const bucket = env.AWS_BUCKET;
54
+ const access = env.AWS_ACCESS_KEY_ID;
55
+ const secret = env.AWS_SECRET_ACCESS_KEY;
56
+ if (host && bucket && access && secret) {
81
57
  return {
82
- host: awsHost,
83
- bucket: awsBucket,
84
- access_key: awsAccess,
85
- secret_key: awsSecret,
58
+ host,
59
+ bucket,
60
+ access_key: access,
61
+ secret_key: secret,
86
62
  region: env.AWS_REGION,
87
63
  };
88
64
  }
89
- throw new Error('Storage env vars are not set. Expected AGENTUITY_BUCKET_ENDPOINT + ' +
90
- 'AGENTUITY_BUCKET_ACCESS_KEY + AGENTUITY_BUCKET_SECRET_KEY, or the ' +
91
- 'AWS-equivalents (AWS_ENDPOINT + AWS_BUCKET + AWS_ACCESS_KEY_ID + ' +
92
- 'AWS_SECRET_ACCESS_KEY). Provision an Agentuity bucket or set them manually.');
65
+ throw new Error('Storage env vars are not set. Expected AWS_ENDPOINT + AWS_BUCKET + ' +
66
+ 'AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY. Provision an Agentuity ' +
67
+ 'bucket or set them manually.');
93
68
  }
94
69
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA6CH;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,MAAoB;IACnD,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC5F,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IACzF,CAAC;IACD,kEAAkE;IAClE,wDAAwD;IACxD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC7E,OAAO,WAAW,MAAM,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,mBAAmB,CAClC,MAA0C,OAAO,CAAC,GAAG;IAErD,iCAAiC;IACjC,MAAM,iBAAiB,GAAG,GAAG,CAAC,yBAAyB,CAAC;IACxD,MAAM,eAAe,GAAG,GAAG,CAAC,2BAA2B,CAAC;IACxD,MAAM,eAAe,GAAG,GAAG,CAAC,2BAA2B,CAAC;IACxD,IAAI,iBAAiB,IAAI,eAAe,IAAI,eAAe,EAAE,CAAC;QAC7D,OAAO;YACN,QAAQ,EAAE,iBAAiB;YAC3B,UAAU,EAAE,eAAe;YAC3B,UAAU,EAAE,eAAe;YAC3B,MAAM,EAAE,GAAG,CAAC,uBAAuB;SACnC,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC;IACjC,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC;IACjC,MAAM,SAAS,GAAG,GAAG,CAAC,iBAAiB,CAAC;IACxC,MAAM,SAAS,GAAG,GAAG,CAAC,qBAAqB,CAAC;IAC5C,IAAI,OAAO,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;QACpD,OAAO;YACN,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,SAAS;YACrB,MAAM,EAAE,GAAG,CAAC,UAAU;SACtB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACd,qEAAqE;QACpE,oEAAoE;QACpE,mEAAmE;QACnE,6EAA6E,CAC9E,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA6CH;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,MAAoB;IACnD,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC5F,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IACzF,CAAC;IACD,kEAAkE;IAClE,wDAAwD;IACxD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC7E,OAAO,WAAW,MAAM,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,mBAAmB,CAClC,MAA0C,OAAO,CAAC,GAAG;IAErD,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC;IAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC;IAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,iBAAiB,CAAC;IACrC,MAAM,MAAM,GAAG,GAAG,CAAC,qBAAqB,CAAC;IACzC,IAAI,IAAI,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QACxC,OAAO;YACN,IAAI;YACJ,MAAM;YACN,UAAU,EAAE,MAAM;YAClB,UAAU,EAAE,MAAM;YAClB,MAAM,EAAE,GAAG,CAAC,UAAU;SACtB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACd,qEAAqE;QACpE,oEAAoE;QACpE,8BAA8B,CAC/B,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentuity/storage",
3
- "version": "3.0.0-beta.7",
3
+ "version": "3.0.0-beta.9",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Agentuity employees and contributors",
6
6
  "description": "Dual-runtime S3 client for Agentuity storage buckets. Bun backend uses Bun.S3Client; Node backend uses @aws-sdk/client-s3.",
package/src/types.ts CHANGED
@@ -78,28 +78,17 @@ export function resolveEndpoint(bucket: BucketConfig): string {
78
78
  /**
79
79
  * Build a `BucketConfig` from environment variables.
80
80
  *
81
- * Two naming schemes are recognised, in this priority order:
81
+ * Uses the standard AWS naming scheme same one the AWS SDKs and CLI
82
+ * read — so no key translation is needed when targeting AWS or any
83
+ * S3-compatible service. This matches what the Agentuity platform
84
+ * injects when a bucket is provisioned:
82
85
  *
83
- * 1. **Agentuity-canonical**
84
- * `AGENTUITY_BUCKET_ENDPOINT`,
85
- * `AGENTUITY_BUCKET_ACCESS_KEY`,
86
- * `AGENTUITY_BUCKET_SECRET_KEY`,
87
- * optional `AGENTUITY_BUCKET_REGION`.
88
- * The endpoint is treated as bucket-scoped
89
- * (virtual-hosted-style, `<bucket>.<host>`) and used as-is.
86
+ * `AWS_ENDPOINT` (shared host) + `AWS_BUCKET` (bucket name) +
87
+ * `AWS_ACCESS_KEY_ID` + `AWS_SECRET_ACCESS_KEY`,
88
+ * optional `AWS_REGION`.
90
89
  *
91
- * 2. **AWS-style fallback**
92
- * `AWS_ENDPOINT` (shared host) + `AWS_BUCKET` (bucket name) +
93
- * `AWS_ACCESS_KEY_ID` + `AWS_SECRET_ACCESS_KEY`,
94
- * optional `AWS_REGION`.
95
- * This matches what the Agentuity platform currently injects
96
- * when a bucket is provisioned (host and bucket are kept
97
- * separate). Falls through to it only if no
98
- * `AGENTUITY_BUCKET_ENDPOINT` is set.
99
- *
100
- * Throws a single, descriptive error when neither scheme yields a
101
- * complete configuration so callers can surface a useful message at
102
- * startup or first request.
90
+ * Throws a descriptive error when the required vars are missing so
91
+ * callers can surface a useful message at startup or first request.
103
92
  *
104
93
  * Pass an explicit `env` (defaults to `process.env`) to make this
105
94
  * unit-testable without mutating global state.
@@ -107,39 +96,24 @@ export function resolveEndpoint(bucket: BucketConfig): string {
107
96
  export function bucketConfigFromEnv(
108
97
  env: Record<string, string | undefined> = process.env
109
98
  ): BucketConfig {
110
- // 1. Agentuity-canonical naming.
111
- const agentuityEndpoint = env.AGENTUITY_BUCKET_ENDPOINT;
112
- const agentuityAccess = env.AGENTUITY_BUCKET_ACCESS_KEY;
113
- const agentuitySecret = env.AGENTUITY_BUCKET_SECRET_KEY;
114
- if (agentuityEndpoint && agentuityAccess && agentuitySecret) {
115
- return {
116
- endpoint: agentuityEndpoint,
117
- access_key: agentuityAccess,
118
- secret_key: agentuitySecret,
119
- region: env.AGENTUITY_BUCKET_REGION,
120
- };
121
- }
122
-
123
- // 2. AWS-style fallback (matches the platform's current injection).
124
- const awsHost = env.AWS_ENDPOINT;
125
- const awsBucket = env.AWS_BUCKET;
126
- const awsAccess = env.AWS_ACCESS_KEY_ID;
127
- const awsSecret = env.AWS_SECRET_ACCESS_KEY;
128
- if (awsHost && awsBucket && awsAccess && awsSecret) {
99
+ const host = env.AWS_ENDPOINT;
100
+ const bucket = env.AWS_BUCKET;
101
+ const access = env.AWS_ACCESS_KEY_ID;
102
+ const secret = env.AWS_SECRET_ACCESS_KEY;
103
+ if (host && bucket && access && secret) {
129
104
  return {
130
- host: awsHost,
131
- bucket: awsBucket,
132
- access_key: awsAccess,
133
- secret_key: awsSecret,
105
+ host,
106
+ bucket,
107
+ access_key: access,
108
+ secret_key: secret,
134
109
  region: env.AWS_REGION,
135
110
  };
136
111
  }
137
112
 
138
113
  throw new Error(
139
- 'Storage env vars are not set. Expected AGENTUITY_BUCKET_ENDPOINT + ' +
140
- 'AGENTUITY_BUCKET_ACCESS_KEY + AGENTUITY_BUCKET_SECRET_KEY, or the ' +
141
- 'AWS-equivalents (AWS_ENDPOINT + AWS_BUCKET + AWS_ACCESS_KEY_ID + ' +
142
- 'AWS_SECRET_ACCESS_KEY). Provision an Agentuity bucket or set them manually.'
114
+ 'Storage env vars are not set. Expected AWS_ENDPOINT + AWS_BUCKET + ' +
115
+ 'AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY. Provision an Agentuity ' +
116
+ 'bucket or set them manually.'
143
117
  );
144
118
  }
145
119