@agentuity/server 1.0.28 → 1.0.30

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.
Files changed (39) hide show
  1. package/dist/api/index.d.ts +1 -0
  2. package/dist/api/index.d.ts.map +1 -1
  3. package/dist/api/index.js +1 -0
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/api/org/resources.d.ts +9 -0
  6. package/dist/api/org/resources.d.ts.map +1 -1
  7. package/dist/api/org/resources.js +3 -0
  8. package/dist/api/org/resources.js.map +1 -1
  9. package/dist/api/region/create.js +2 -2
  10. package/dist/api/region/create.js.map +1 -1
  11. package/dist/api/storage/config.d.ts +99 -0
  12. package/dist/api/storage/config.d.ts.map +1 -0
  13. package/dist/api/storage/config.js +61 -0
  14. package/dist/api/storage/config.js.map +1 -0
  15. package/dist/api/storage/index.d.ts +5 -0
  16. package/dist/api/storage/index.d.ts.map +1 -0
  17. package/dist/api/storage/index.js +5 -0
  18. package/dist/api/storage/index.js.map +1 -0
  19. package/dist/api/storage/objects.d.ts +155 -0
  20. package/dist/api/storage/objects.d.ts.map +1 -0
  21. package/dist/api/storage/objects.js +142 -0
  22. package/dist/api/storage/objects.js.map +1 -0
  23. package/dist/api/storage/types.d.ts +161 -0
  24. package/dist/api/storage/types.d.ts.map +1 -0
  25. package/dist/api/storage/types.js +101 -0
  26. package/dist/api/storage/types.js.map +1 -0
  27. package/dist/api/storage/util.d.ts +48 -0
  28. package/dist/api/storage/util.d.ts.map +1 -0
  29. package/dist/api/storage/util.js +8 -0
  30. package/dist/api/storage/util.js.map +1 -0
  31. package/package.json +4 -4
  32. package/src/api/index.ts +1 -0
  33. package/src/api/org/resources.ts +3 -0
  34. package/src/api/region/create.ts +2 -2
  35. package/src/api/storage/config.ts +103 -0
  36. package/src/api/storage/index.ts +4 -0
  37. package/src/api/storage/objects.ts +240 -0
  38. package/src/api/storage/types.ts +134 -0
  39. package/src/api/storage/util.ts +10 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objects.js","sourceRoot":"","sources":["../../../src/api/storage/objects.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EACN,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC1B,8BAA8B,GAM9B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAErF,MAAM,CAAC,MAAM,4BAA4B,GAAG,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;AACzF,MAAM,CAAC,MAAM,8BAA8B,GAAG,iBAAiB,CAAC,2BAA2B,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,+BAA+B,GAAG,iBAAiB,CAAC,4BAA4B,CAAC,CAAC;AAC/F,MAAM,CAAC,MAAM,6BAA6B,GAAG,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;AAC3F,MAAM,CAAC,MAAM,iCAAiC,GAAG,iBAAiB,CAAC,8BAA8B,CAAC,CAAC;AAQnG;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACvC,MAAiB,EACjB,UAAkB,EAClB,OAAmC,EACnC,YAAqC;IAErC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,OAAO,EAAE,MAAM;QAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YAC9F,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjG,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,oBAAoB,2BAA2B,IAAI,kBAAkB,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAE3H,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAC5B,GAAG,EACH,4BAA4B,EAC5B,SAAS,EACT,YAAY,CACZ,CAAC;IAEF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,2BAA2B,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAClE,CAAC;AAOD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,MAAiB,EACjB,UAAkB,EAClB,OAAoC,EACpC,YAAqC;IAErC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACrC,MAAM,IAAI,2BAA2B,CAAC,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,IAAI,2BAA2B,CAAC,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,OAAO,CAAC,GAAG;QAAE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,OAAO,CAAC,MAAM;QAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzD,MAAM,GAAG,GAAG,oBAAoB,2BAA2B,IAAI,kBAAkB,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;IAErH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAC/B,GAAG,EACH,8BAA8B,EAC9B,SAAS,EACT,YAAY,CACZ,CAAC;IAEF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,2BAA2B,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,MAAiB,EACjB,UAAkB,EAClB,GAAW,EACX,YAAmC,UAAU,EAC7C,YAAqC;IAErC,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,MAAM,IAAI,2BAA2B,CAAC,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACvB,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,GAAG,GAAG,oBAAoB,2BAA2B,IAAI,kBAAkB,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;IAErH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAC5B,GAAG,EACH,+BAA+B,EAC/B,SAAS,EACT,YAAY,CACZ,CAAC;IAEF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,2BAA2B,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,MAAiB,EACjB,UAAkB,EAClB,YAAqC;IAErC,MAAM,GAAG,GAAG,kBAAkB,2BAA2B,IAAI,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;IAE9F,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAC5B,GAAG,EACH,6BAA6B,EAC7B,SAAS,EACT,YAAY,CACZ,CAAC;IAEF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,2BAA2B,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAClE,CAAC;AAMD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,MAAiB,EACjB,OAAoC,EACpC,YAAqC;IAErC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC3F,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,sBAAsB,2BAA2B,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAE3F,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAC5B,GAAG,EACH,iCAAiC,EACjC,SAAS,EACT,YAAY,CACZ,CAAC;IAEF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,2BAA2B,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAClE,CAAC"}
@@ -0,0 +1,161 @@
1
+ import { z } from 'zod';
2
+ /** Valid storage tier values */
3
+ export declare const StorageTierValues: readonly ["STANDARD", "INFREQUENT_ACCESS", "ARCHIVE"];
4
+ /** Storage tier enum schema */
5
+ export declare const StorageTierSchema: z.ZodEnum<{
6
+ STANDARD: "STANDARD";
7
+ INFREQUENT_ACCESS: "INFREQUENT_ACCESS";
8
+ ARCHIVE: "ARCHIVE";
9
+ }>;
10
+ /** Storage tier type */
11
+ export type StorageTier = z.infer<typeof StorageTierSchema>;
12
+ /** CORS configuration for a bucket */
13
+ export declare const CORSConfigSchema: z.ZodObject<{
14
+ allowed_origins: z.ZodOptional<z.ZodArray<z.ZodString>>;
15
+ allowed_methods: z.ZodOptional<z.ZodArray<z.ZodString>>;
16
+ allowed_headers: z.ZodOptional<z.ZodArray<z.ZodString>>;
17
+ expose_headers: z.ZodOptional<z.ZodArray<z.ZodString>>;
18
+ max_age_seconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
19
+ }, z.core.$strip>;
20
+ /** Full bucket config (response from GET/PUT) */
21
+ export declare const BucketConfigSchema: z.ZodObject<{
22
+ bucket_name: z.ZodString;
23
+ storage_tier: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
24
+ STANDARD: "STANDARD";
25
+ INFREQUENT_ACCESS: "INFREQUENT_ACCESS";
26
+ ARCHIVE: "ARCHIVE";
27
+ }>>>;
28
+ ttl: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
29
+ public: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
30
+ cache_control: z.ZodOptional<z.ZodNullable<z.ZodString>>;
31
+ cors: z.ZodOptional<z.ZodNullable<z.ZodObject<{
32
+ allowed_origins: z.ZodOptional<z.ZodArray<z.ZodString>>;
33
+ allowed_methods: z.ZodOptional<z.ZodArray<z.ZodString>>;
34
+ allowed_headers: z.ZodOptional<z.ZodArray<z.ZodString>>;
35
+ expose_headers: z.ZodOptional<z.ZodArray<z.ZodString>>;
36
+ max_age_seconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
37
+ }, z.core.$strip>>>;
38
+ additional_headers: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
39
+ bucket_location: z.ZodOptional<z.ZodNullable<z.ZodString>>;
40
+ }, z.core.$strip>;
41
+ /**
42
+ * Update request body (all fields optional — partial update).
43
+ * Send a field with a value to set it, send null to unset it, omit to leave unchanged.
44
+ */
45
+ export declare const BucketConfigUpdateSchema: z.ZodObject<{
46
+ storage_tier: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
47
+ STANDARD: "STANDARD";
48
+ INFREQUENT_ACCESS: "INFREQUENT_ACCESS";
49
+ ARCHIVE: "ARCHIVE";
50
+ }>>>;
51
+ ttl: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
52
+ public: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
53
+ cache_control: z.ZodOptional<z.ZodNullable<z.ZodString>>;
54
+ cors: z.ZodOptional<z.ZodNullable<z.ZodObject<{
55
+ allowed_origins: z.ZodOptional<z.ZodArray<z.ZodString>>;
56
+ allowed_methods: z.ZodOptional<z.ZodArray<z.ZodString>>;
57
+ allowed_headers: z.ZodOptional<z.ZodArray<z.ZodString>>;
58
+ expose_headers: z.ZodOptional<z.ZodArray<z.ZodString>>;
59
+ max_age_seconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
60
+ }, z.core.$strip>>>;
61
+ additional_headers: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
62
+ }, z.core.$strip>;
63
+ /** TypeScript types derived from Zod schemas */
64
+ export type CORSConfig = z.infer<typeof CORSConfigSchema>;
65
+ export type BucketConfig = z.infer<typeof BucketConfigSchema>;
66
+ export type BucketConfigUpdate = z.infer<typeof BucketConfigUpdateSchema>;
67
+ /** A storage object in a bucket */
68
+ export declare const StorageObjectSchema: z.ZodObject<{
69
+ bucket_name: z.ZodString;
70
+ key: z.ZodString;
71
+ size: z.ZodNumber;
72
+ etag: z.ZodOptional<z.ZodString>;
73
+ content_type: z.ZodOptional<z.ZodString>;
74
+ last_modified: z.ZodOptional<z.ZodString>;
75
+ }, z.core.$strip>;
76
+ /** Paginated list of storage objects */
77
+ export declare const StorageListResponseSchema: z.ZodObject<{
78
+ objects: z.ZodArray<z.ZodObject<{
79
+ bucket_name: z.ZodString;
80
+ key: z.ZodString;
81
+ size: z.ZodNumber;
82
+ etag: z.ZodOptional<z.ZodString>;
83
+ content_type: z.ZodOptional<z.ZodString>;
84
+ last_modified: z.ZodOptional<z.ZodString>;
85
+ }, z.core.$strip>>;
86
+ total: z.ZodNumber;
87
+ prefix: z.ZodString;
88
+ limit: z.ZodNumber;
89
+ offset: z.ZodNumber;
90
+ }, z.core.$strip>;
91
+ /** Delete response */
92
+ export declare const StorageDeleteResponseSchema: z.ZodObject<{
93
+ deleted_count: z.ZodNumber;
94
+ }, z.core.$strip>;
95
+ /** Presigned URL response */
96
+ export declare const StoragePresignResponseSchema: z.ZodObject<{
97
+ presigned_url: z.ZodString;
98
+ expiry_seconds: z.ZodNumber;
99
+ }, z.core.$strip>;
100
+ /** Bucket stats response */
101
+ export declare const StorageStatsResponseSchema: z.ZodObject<{
102
+ bucket_name: z.ZodString;
103
+ object_count: z.ZodNumber;
104
+ total_size: z.ZodNumber;
105
+ last_event_at: z.ZodOptional<z.ZodString>;
106
+ }, z.core.$strip>;
107
+ /** Summary totals across all buckets */
108
+ export declare const StorageAnalyticsSummarySchema: z.ZodObject<{
109
+ total_object_count: z.ZodNumber;
110
+ total_size: z.ZodNumber;
111
+ estimated_monthly_cost: z.ZodNumber;
112
+ cost_per_gb_month: z.ZodNumber;
113
+ }, z.core.$strip>;
114
+ /** Per-bucket breakdown */
115
+ export declare const StorageAnalyticsBucketSchema: z.ZodObject<{
116
+ bucket_name: z.ZodString;
117
+ object_count: z.ZodNumber;
118
+ total_size: z.ZodNumber;
119
+ last_event_at: z.ZodOptional<z.ZodString>;
120
+ estimated_monthly_cost: z.ZodNumber;
121
+ }, z.core.$strip>;
122
+ /** Daily snapshot for sparklines */
123
+ export declare const StorageAnalyticsDailySnapshotSchema: z.ZodObject<{
124
+ date: z.ZodString;
125
+ total_object_count: z.ZodNumber;
126
+ total_size: z.ZodNumber;
127
+ estimated_cost: z.ZodNumber;
128
+ }, z.core.$strip>;
129
+ /** Full analytics response */
130
+ export declare const StorageAnalyticsResponseSchema: z.ZodObject<{
131
+ summary: z.ZodObject<{
132
+ total_object_count: z.ZodNumber;
133
+ total_size: z.ZodNumber;
134
+ estimated_monthly_cost: z.ZodNumber;
135
+ cost_per_gb_month: z.ZodNumber;
136
+ }, z.core.$strip>;
137
+ buckets: z.ZodArray<z.ZodObject<{
138
+ bucket_name: z.ZodString;
139
+ object_count: z.ZodNumber;
140
+ total_size: z.ZodNumber;
141
+ last_event_at: z.ZodOptional<z.ZodString>;
142
+ estimated_monthly_cost: z.ZodNumber;
143
+ }, z.core.$strip>>;
144
+ daily: z.ZodArray<z.ZodObject<{
145
+ date: z.ZodString;
146
+ total_object_count: z.ZodNumber;
147
+ total_size: z.ZodNumber;
148
+ estimated_cost: z.ZodNumber;
149
+ }, z.core.$strip>>;
150
+ days: z.ZodNumber;
151
+ }, z.core.$strip>;
152
+ export type StorageObject = z.infer<typeof StorageObjectSchema>;
153
+ export type StorageListResponse = z.infer<typeof StorageListResponseSchema>;
154
+ export type StorageDeleteResponse = z.infer<typeof StorageDeleteResponseSchema>;
155
+ export type StoragePresignResponse = z.infer<typeof StoragePresignResponseSchema>;
156
+ export type StorageStatsResponse = z.infer<typeof StorageStatsResponseSchema>;
157
+ export type StorageAnalyticsSummary = z.infer<typeof StorageAnalyticsSummarySchema>;
158
+ export type StorageAnalyticsBucket = z.infer<typeof StorageAnalyticsBucketSchema>;
159
+ export type StorageAnalyticsDailySnapshot = z.infer<typeof StorageAnalyticsDailySnapshotSchema>;
160
+ export type StorageAnalyticsResponse = z.infer<typeof StorageAnalyticsResponseSchema>;
161
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/api/storage/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,gCAAgC;AAChC,eAAO,MAAM,iBAAiB,uDAAwD,CAAC;AAEvF,+BAA+B;AAC/B,eAAO,MAAM,iBAAiB;;;;EAAoE,CAAC;AAEnG,wBAAwB;AACxB,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,sCAAsC;AACtC,eAAO,MAAM,gBAAgB;;;;;;iBAM3B,CAAC;AAEH,iDAAiD;AACjD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;iBAS7B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;iBAOnC,CAAC;AAEH,gDAAgD;AAChD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAI1E,mCAAmC;AACnC,eAAO,MAAM,mBAAmB;;;;;;;iBAO9B,CAAC;AAEH,wCAAwC;AACxC,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;iBAMpC,CAAC;AAEH,sBAAsB;AACtB,eAAO,MAAM,2BAA2B;;iBAEtC,CAAC;AAEH,6BAA6B;AAC7B,eAAO,MAAM,4BAA4B;;;iBAGvC,CAAC;AAEH,4BAA4B;AAC5B,eAAO,MAAM,0BAA0B;;;;;iBAKrC,CAAC;AAIH,wCAAwC;AACxC,eAAO,MAAM,6BAA6B;;;;;iBAKxC,CAAC;AAEH,2BAA2B;AAC3B,eAAO,MAAM,4BAA4B;;;;;;iBAMvC,CAAC;AAEH,oCAAoC;AACpC,eAAO,MAAM,mCAAmC;;;;;iBAK9C,CAAC;AAEH,8BAA8B;AAC9B,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;iBAKzC,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAChG,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC"}
@@ -0,0 +1,101 @@
1
+ import { z } from 'zod';
2
+ /** Valid storage tier values */
3
+ export const StorageTierValues = ['STANDARD', 'INFREQUENT_ACCESS', 'ARCHIVE'];
4
+ /** Storage tier enum schema */
5
+ export const StorageTierSchema = z.enum(StorageTierValues).describe('Storage tier for the bucket');
6
+ /** CORS configuration for a bucket */
7
+ export const CORSConfigSchema = z.object({
8
+ allowed_origins: z.array(z.string().describe('An allowed origin URL')).optional().describe('List of allowed origin URLs for CORS requests'),
9
+ allowed_methods: z.array(z.string().describe('An allowed HTTP method')).optional().describe('List of allowed HTTP methods for CORS requests'),
10
+ allowed_headers: z.array(z.string().describe('An allowed request header')).optional().describe('List of allowed request headers for CORS requests'),
11
+ expose_headers: z.array(z.string().describe('A response header to expose')).optional().describe('List of response headers to expose to the browser'),
12
+ max_age_seconds: z.number().int().min(0).nullable().optional().describe('Maximum time in seconds that preflight results can be cached'),
13
+ });
14
+ /** Full bucket config (response from GET/PUT) */
15
+ export const BucketConfigSchema = z.object({
16
+ bucket_name: z.string().describe('The name of the storage bucket'),
17
+ storage_tier: StorageTierSchema.nullable().optional().describe('Storage tier for the bucket'),
18
+ ttl: z.number().int().min(0).nullable().optional().describe('Object TTL in seconds'),
19
+ public: z.boolean().nullable().optional().describe('Whether the bucket is publicly accessible'),
20
+ cache_control: z.string().nullable().optional().describe('Default Cache-Control header for objects'),
21
+ cors: CORSConfigSchema.nullable().optional().describe('Custom CORS configuration'),
22
+ additional_headers: z.record(z.string(), z.string()).nullable().optional().describe('Additional response headers as key-value pairs'),
23
+ bucket_location: z.string().nullable().optional().describe('Bucket location or region override'),
24
+ });
25
+ /**
26
+ * Update request body (all fields optional — partial update).
27
+ * Send a field with a value to set it, send null to unset it, omit to leave unchanged.
28
+ */
29
+ export const BucketConfigUpdateSchema = z.object({
30
+ storage_tier: StorageTierSchema.nullable().optional().describe('Storage tier for the bucket'),
31
+ ttl: z.number().int().min(0).nullable().optional().describe('Object TTL in seconds (0 to clear)'),
32
+ public: z.boolean().nullable().optional().describe('Whether the bucket is publicly accessible'),
33
+ cache_control: z.string().nullable().optional().describe('Default Cache-Control header for objects'),
34
+ cors: CORSConfigSchema.nullable().optional().describe('Custom CORS configuration'),
35
+ additional_headers: z.record(z.string(), z.string()).nullable().optional().describe('Additional response headers as key-value pairs'),
36
+ });
37
+ // --- Storage Objects types ---
38
+ /** A storage object in a bucket */
39
+ export const StorageObjectSchema = z.object({
40
+ bucket_name: z.string().describe('The bucket this object belongs to'),
41
+ key: z.string().describe('Object key (path)'),
42
+ size: z.number().int().nonnegative().describe('Object size in bytes'),
43
+ etag: z.string().optional().describe('Object ETag'),
44
+ content_type: z.string().optional().describe('Object content type'),
45
+ last_modified: z.string().optional().describe('Last modified timestamp (ISO8601)'),
46
+ });
47
+ /** Paginated list of storage objects */
48
+ export const StorageListResponseSchema = z.object({
49
+ objects: z.array(StorageObjectSchema).describe('List of objects'),
50
+ total: z.number().int().nonnegative().describe('Total count matching the query'),
51
+ prefix: z.string().describe('Prefix filter applied'),
52
+ limit: z.number().int().nonnegative().describe('Page size'),
53
+ offset: z.number().int().nonnegative().describe('Page offset'),
54
+ });
55
+ /** Delete response */
56
+ export const StorageDeleteResponseSchema = z.object({
57
+ deleted_count: z.number().int().nonnegative().describe('Number of objects deleted'),
58
+ });
59
+ /** Presigned URL response */
60
+ export const StoragePresignResponseSchema = z.object({
61
+ presigned_url: z.string().describe('The presigned URL'),
62
+ expiry_seconds: z.number().int().nonnegative().describe('URL expiry time in seconds'),
63
+ });
64
+ /** Bucket stats response */
65
+ export const StorageStatsResponseSchema = z.object({
66
+ bucket_name: z.string().describe('The bucket name'),
67
+ object_count: z.number().int().nonnegative().describe('Number of objects'),
68
+ total_size: z.number().int().nonnegative().describe('Total size in bytes'),
69
+ last_event_at: z.string().optional().describe('Last event timestamp (ISO8601)'),
70
+ });
71
+ // --- Storage Analytics types ---
72
+ /** Summary totals across all buckets */
73
+ export const StorageAnalyticsSummarySchema = z.object({
74
+ total_object_count: z.number().int().nonnegative().describe('Total objects across all buckets'),
75
+ total_size: z.number().int().nonnegative().describe('Total size in bytes across all buckets'),
76
+ estimated_monthly_cost: z.number().describe('Estimated monthly cost in USD'),
77
+ cost_per_gb_month: z.number().describe('Cost rate per GB per month in USD'),
78
+ });
79
+ /** Per-bucket breakdown */
80
+ export const StorageAnalyticsBucketSchema = z.object({
81
+ bucket_name: z.string().describe('The bucket name'),
82
+ object_count: z.number().int().nonnegative().describe('Number of objects in this bucket'),
83
+ total_size: z.number().int().nonnegative().describe('Total size in bytes for this bucket'),
84
+ last_event_at: z.string().optional().describe('Last event timestamp (ISO8601)'),
85
+ estimated_monthly_cost: z.number().describe('Estimated monthly cost for this bucket in USD'),
86
+ });
87
+ /** Daily snapshot for sparklines */
88
+ export const StorageAnalyticsDailySnapshotSchema = z.object({
89
+ date: z.string().describe('Snapshot date (YYYY-MM-DD)'),
90
+ total_object_count: z.number().int().nonnegative().describe('Total objects on this date'),
91
+ total_size: z.number().int().nonnegative().describe('Total size in bytes on this date'),
92
+ estimated_cost: z.number().describe('Estimated monthly cost at this snapshot in USD'),
93
+ });
94
+ /** Full analytics response */
95
+ export const StorageAnalyticsResponseSchema = z.object({
96
+ summary: StorageAnalyticsSummarySchema.describe('Org-wide totals'),
97
+ buckets: z.array(StorageAnalyticsBucketSchema).describe('Per-bucket breakdown'),
98
+ daily: z.array(StorageAnalyticsDailySnapshotSchema).describe('Daily snapshots for sparklines'),
99
+ days: z.number().int().nonnegative().describe('Number of days requested'),
100
+ });
101
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/api/storage/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ export declare const BUCKET_CONFIG_API_VERSION = "2026-02-28";
2
+ export declare const STORAGE_OBJECTS_API_VERSION = "2026-03-01";
3
+ export declare const API_VERSION = "2026-02-28";
4
+ export declare const BucketConfigResponseError: {
5
+ new (args?: {
6
+ message?: string;
7
+ cause?: unknown;
8
+ } | undefined): import("@agentuity/core").RichError & {
9
+ readonly _tag: "BucketConfigResponseError";
10
+ } & Readonly<Record<string, never>>;
11
+ readonly defaultMessage?: string;
12
+ } & (<Shape extends {
13
+ [x: string]: any;
14
+ } = Record<string, never>>() => {
15
+ new (args?: (Shape extends Record<string, never> ? {
16
+ message?: string;
17
+ cause?: unknown;
18
+ } : Shape & {
19
+ message?: string;
20
+ cause?: unknown;
21
+ }) | undefined): import("@agentuity/core").RichError & {
22
+ readonly _tag: "BucketConfigResponseError";
23
+ } & Readonly<Shape>;
24
+ readonly defaultMessage?: string;
25
+ });
26
+ export declare const StorageObjectsResponseError: {
27
+ new (args?: {
28
+ message?: string;
29
+ cause?: unknown;
30
+ } | undefined): import("@agentuity/core").RichError & {
31
+ readonly _tag: "StorageObjectsResponseError";
32
+ } & Readonly<Record<string, never>>;
33
+ readonly defaultMessage?: string;
34
+ } & (<Shape extends {
35
+ [x: string]: any;
36
+ } = Record<string, never>>() => {
37
+ new (args?: (Shape extends Record<string, never> ? {
38
+ message?: string;
39
+ cause?: unknown;
40
+ } : Shape & {
41
+ message?: string;
42
+ cause?: unknown;
43
+ }) | undefined): import("@agentuity/core").RichError & {
44
+ readonly _tag: "StorageObjectsResponseError";
45
+ } & Readonly<Shape>;
46
+ readonly defaultMessage?: string;
47
+ });
48
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/api/storage/util.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB,eAAe,CAAC;AACtD,eAAO,MAAM,2BAA2B,eAAe,CAAC;AAGxD,eAAO,MAAM,WAAW,eAA4B,CAAC;AAErD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;EAA+C,CAAC;AACtF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;EAAiD,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { StructuredError } from '@agentuity/core';
2
+ export const BUCKET_CONFIG_API_VERSION = '2026-02-28';
3
+ export const STORAGE_OBJECTS_API_VERSION = '2026-03-01';
4
+ // Keep the old name exported for backward compat
5
+ export const API_VERSION = BUCKET_CONFIG_API_VERSION;
6
+ export const BucketConfigResponseError = StructuredError('BucketConfigResponseError');
7
+ export const StorageObjectsResponseError = StructuredError('StorageObjectsResponseError');
8
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/api/storage/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,CAAC,MAAM,yBAAyB,GAAG,YAAY,CAAC;AACtD,MAAM,CAAC,MAAM,2BAA2B,GAAG,YAAY,CAAC;AAExD,iDAAiD;AACjD,MAAM,CAAC,MAAM,WAAW,GAAG,yBAAyB,CAAC;AAErD,MAAM,CAAC,MAAM,yBAAyB,GAAG,eAAe,CAAC,2BAA2B,CAAC,CAAC;AACtF,MAAM,CAAC,MAAM,2BAA2B,GAAG,eAAe,CAAC,6BAA6B,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentuity/server",
3
- "version": "1.0.28",
3
+ "version": "1.0.30",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Agentuity employees and contributors",
6
6
  "type": "module",
@@ -25,12 +25,12 @@
25
25
  "prepublishOnly": "bun run clean && bun run build"
26
26
  },
27
27
  "dependencies": {
28
- "@agentuity/core": "1.0.28",
29
- "@agentuity/schema": "1.0.28",
28
+ "@agentuity/core": "1.0.30",
29
+ "@agentuity/schema": "1.0.30",
30
30
  "zod": "^4.3.5"
31
31
  },
32
32
  "devDependencies": {
33
- "@agentuity/test-utils": "1.0.28",
33
+ "@agentuity/test-utils": "1.0.30",
34
34
  "@types/bun": "latest",
35
35
  "@types/node": "^22.0.0",
36
36
  "bun-types": "latest",
package/src/api/index.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './api.ts';
2
2
  export * from './apikey/index.ts';
3
+ export * from './storage/index.ts';
3
4
  export * from './db/index.ts';
4
5
  export * from './eval/index.ts';
5
6
  export * from './machine/index.ts';
@@ -15,6 +15,9 @@ export const OrgS3Resource = z.object({
15
15
  bucket_type: z.string().describe('the bucket type (user or snapshots)'),
16
16
  internal: z.boolean().describe('whether this is a system-managed bucket'),
17
17
  description: z.string().nullable().optional().describe('optional description of the bucket'),
18
+ object_count: z.number().int().nonnegative().optional().describe('number of objects in this bucket'),
19
+ total_size: z.number().int().nonnegative().optional().describe('total size of objects in bytes'),
20
+ last_event_at: z.string().optional().describe('last activity timestamp (ISO8601)'),
18
21
  });
19
22
 
20
23
  export const OrgDBResource = z.object({
@@ -110,10 +110,10 @@ export function validateBucketName(name: string): { valid: boolean; error?: stri
110
110
  return { valid: false, error: 'bucket name cannot be an IP address' };
111
111
  }
112
112
  // Reserved prefixes (system-generated names)
113
- if (name.startsWith('ag-') || name.startsWith('ago-')) {
113
+ if (name.startsWith('ag-') || name.startsWith('ago-') || name.startsWith('agentuity')) {
114
114
  return {
115
115
  valid: false,
116
- error: 'bucket names starting with "ag-" or "ago-" are reserved for system use',
116
+ error: 'bucket names starting with "ag-", "ago-", or "agentuity" are reserved for system use',
117
117
  };
118
118
  }
119
119
  return { valid: true };
@@ -0,0 +1,103 @@
1
+ import { z } from 'zod';
2
+ import { type APIClient, APIResponseSchema, APIResponseSchemaNoData } from '../api.ts';
3
+ import { BucketConfigSchema, BucketConfigUpdateSchema, type BucketConfig, type BucketConfigUpdate } from './types.ts';
4
+ import { API_VERSION, BucketConfigResponseError } from './util.ts';
5
+
6
+ export const BucketConfigGetResponseSchema = APIResponseSchema(BucketConfigSchema);
7
+ export const BucketConfigUpdateResponseSchema = APIResponseSchema(BucketConfigSchema);
8
+ export const BucketConfigDeleteResponseSchema = APIResponseSchemaNoData();
9
+
10
+ /**
11
+ * Get the configuration for a bucket.
12
+ * Returns the current config with null for any fields using system defaults.
13
+ *
14
+ * @param client - The API client to use for the request
15
+ * @param bucketName - Name of the bucket to get config for
16
+ * @param extraHeaders - Optional extra headers (e.g. x-agentuity-orgid for CLI auth)
17
+ * @returns The bucket configuration
18
+ * @throws {BucketConfigResponseError} If the request fails
19
+ */
20
+ export async function getBucketConfig(
21
+ client: APIClient,
22
+ bucketName: string,
23
+ extraHeaders?: Record<string, string>,
24
+ ): Promise<BucketConfig> {
25
+ const url = `/bucket/config/${API_VERSION}/${encodeURIComponent(bucketName)}`;
26
+
27
+ const resp = await client.get<z.infer<typeof BucketConfigGetResponseSchema>>(
28
+ url,
29
+ BucketConfigGetResponseSchema,
30
+ undefined,
31
+ extraHeaders,
32
+ );
33
+
34
+ if (resp.success) {
35
+ return resp.data;
36
+ }
37
+
38
+ throw new BucketConfigResponseError({ message: resp.message });
39
+ }
40
+
41
+ /**
42
+ * Update (upsert) bucket configuration.
43
+ * Partial update: only fields present in the request are changed.
44
+ * Send null for a field to reset it to system default.
45
+ * Omit a field to leave it unchanged.
46
+ *
47
+ * @param client - The API client to use for the request
48
+ * @param bucketName - Name of the bucket to update config for
49
+ * @param config - Partial config update (fields to set, null to unset, omit to leave)
50
+ * @param extraHeaders - Optional extra headers (e.g. x-agentuity-orgid for CLI auth)
51
+ * @returns The updated bucket configuration
52
+ * @throws {BucketConfigResponseError} If the request fails
53
+ */
54
+ export async function updateBucketConfig(
55
+ client: APIClient,
56
+ bucketName: string,
57
+ config: BucketConfigUpdate,
58
+ extraHeaders?: Record<string, string>,
59
+ ): Promise<BucketConfig> {
60
+ const url = `/bucket/config/${API_VERSION}/${encodeURIComponent(bucketName)}`;
61
+
62
+ const resp = await client.put<z.infer<typeof BucketConfigUpdateResponseSchema>, BucketConfigUpdate>(
63
+ url,
64
+ config,
65
+ BucketConfigUpdateResponseSchema,
66
+ BucketConfigUpdateSchema,
67
+ undefined,
68
+ extraHeaders,
69
+ );
70
+
71
+ if (resp.success) {
72
+ return resp.data;
73
+ }
74
+
75
+ throw new BucketConfigResponseError({ message: resp.message });
76
+ }
77
+
78
+ /**
79
+ * Delete all custom configuration for a bucket (reset to system defaults).
80
+ *
81
+ * @param client - The API client to use for the request
82
+ * @param bucketName - Name of the bucket to reset config for
83
+ * @param extraHeaders - Optional extra headers (e.g. x-agentuity-orgid for CLI auth)
84
+ * @throws {BucketConfigResponseError} If the request fails
85
+ */
86
+ export async function deleteBucketConfig(
87
+ client: APIClient,
88
+ bucketName: string,
89
+ extraHeaders?: Record<string, string>,
90
+ ): Promise<void> {
91
+ const url = `/bucket/config/${API_VERSION}/${encodeURIComponent(bucketName)}`;
92
+
93
+ const resp = await client.delete<z.infer<typeof BucketConfigDeleteResponseSchema>>(
94
+ url,
95
+ BucketConfigDeleteResponseSchema,
96
+ undefined,
97
+ extraHeaders,
98
+ );
99
+
100
+ if (!resp.success) {
101
+ throw new BucketConfigResponseError({ message: resp.message });
102
+ }
103
+ }
@@ -0,0 +1,4 @@
1
+ export * from './config.ts';
2
+ export * from './objects.ts';
3
+ export * from './types.ts';
4
+ export { BucketConfigResponseError, StorageObjectsResponseError } from './util.ts';