@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 +9 -20
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +21 -46
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/src/types.ts +21 -47
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
|
-
*
|
|
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
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
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
|
-
*
|
|
75
|
-
*
|
|
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.
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,YAAY;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAc5D;AAED
|
|
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
|
-
*
|
|
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
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
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
|
-
*
|
|
47
|
-
*
|
|
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
|
-
|
|
64
|
-
const
|
|
65
|
-
const
|
|
66
|
-
const
|
|
67
|
-
if (
|
|
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
|
|
83
|
-
bucket
|
|
84
|
-
access_key:
|
|
85
|
-
secret_key:
|
|
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
|
|
90
|
-
'
|
|
91
|
-
'
|
|
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
|
|
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.
|
|
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
|
-
*
|
|
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
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
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
|
-
*
|
|
92
|
-
*
|
|
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
|
-
|
|
111
|
-
const
|
|
112
|
-
const
|
|
113
|
-
const
|
|
114
|
-
if (
|
|
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
|
|
131
|
-
bucket
|
|
132
|
-
access_key:
|
|
133
|
-
secret_key:
|
|
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
|
|
140
|
-
'
|
|
141
|
-
'
|
|
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
|
|