buckyos 0.7.148 → 0.7.149

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 (40) hide show
  1. package/cli/core/app.ts +2 -0
  2. package/cli/dist/cli.mjs +543 -83
  3. package/cli/dist/cli.mjs.map +1 -1
  4. package/cli/modules/bucket.ts +396 -0
  5. package/cli/modules/pikg_protocol.ts +67 -0
  6. package/cli/version.ts +1 -1
  7. package/dist/browser.cjs +1 -1
  8. package/dist/browser.cjs.map +1 -1
  9. package/dist/browser.d.ts +2 -0
  10. package/dist/browser.d.ts.map +1 -1
  11. package/dist/browser.mjs +190 -189
  12. package/dist/browser.mjs.map +1 -1
  13. package/dist/bucket_client.d.ts +344 -0
  14. package/dist/bucket_client.d.ts.map +1 -0
  15. package/dist/{executor_client-4fbf0c3c.mjs → executor_client-06dad8a8.mjs} +434 -192
  16. package/dist/executor_client-06dad8a8.mjs.map +1 -0
  17. package/dist/executor_client-d7fc4a8b.js +13 -0
  18. package/dist/executor_client-d7fc4a8b.js.map +1 -0
  19. package/dist/index.cjs +1 -1
  20. package/dist/index.cjs.map +1 -1
  21. package/dist/index.d.ts +3 -0
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.mjs +195 -192
  24. package/dist/index.mjs.map +1 -1
  25. package/dist/ndm_client.d.ts +30 -0
  26. package/dist/ndm_client.d.ts.map +1 -1
  27. package/dist/node.cjs +1 -1
  28. package/dist/node.cjs.map +1 -1
  29. package/dist/node.d.ts +2 -0
  30. package/dist/node.d.ts.map +1 -1
  31. package/dist/node.mjs +190 -189
  32. package/dist/node.mjs.map +1 -1
  33. package/dist/runtime.d.ts +2 -0
  34. package/dist/runtime.d.ts.map +1 -1
  35. package/dist/sdk_core.d.ts +4 -0
  36. package/dist/sdk_core.d.ts.map +1 -1
  37. package/package.json +1 -1
  38. package/dist/executor_client-4fbf0c3c.mjs.map +0 -1
  39. package/dist/executor_client-5fa2d501.js +0 -13
  40. package/dist/executor_client-5fa2d501.js.map +0 -1
@@ -0,0 +1,344 @@
1
+ import type { kRPCClient } from './krpc_client';
2
+ export declare const BUCKET_SERVICE_NAME = "nfs-server";
3
+ export declare const BUCKET_DATA_PATH = "/bucket/v1/";
4
+ /** Largest single-request PUT; bigger files go through `ndm.startUpload({ bind })`. */
5
+ export declare const BUCKET_MAX_PUT_BYTES: number;
6
+ export type BucketKind = 'data' | 'object';
7
+ export type DataPolicy = 'documents' | 'app_data' | 'collected' | 'ambient' | 'temp' | 'cache';
8
+ export type BucketScope = 'user' | 'zone';
9
+ export type BucketAction = 'list' | 'read' | 'create' | 'write' | 'delete' | 'manage';
10
+ export type Availability = 'local' | 'evicted' | 'remote';
11
+ export type LifecycleRule = {
12
+ rule: 'expire';
13
+ prefix?: string;
14
+ days: number;
15
+ } | {
16
+ rule: 'noncurrent_expire';
17
+ days: number;
18
+ } | {
19
+ rule: 'expired_delete_marker';
20
+ };
21
+ /** `install_config.buckets.<name>`. */
22
+ export interface BucketDecl {
23
+ kind: BucketKind;
24
+ data_policy: DataPolicy;
25
+ scope?: BucketScope;
26
+ versioning?: boolean;
27
+ quota_mib?: number;
28
+ max_objects?: number;
29
+ default_ttl_days?: number;
30
+ lifecycle?: LifecycleRule[];
31
+ }
32
+ export interface BucketInfo {
33
+ bucket_id: string;
34
+ kind: BucketKind;
35
+ data_policy: DataPolicy;
36
+ scope: BucketScope;
37
+ appid: string;
38
+ owner: string;
39
+ name: string;
40
+ versioning: boolean;
41
+ quota_bytes?: number;
42
+ max_objects?: number;
43
+ default_ttl_secs?: number;
44
+ lifecycle?: LifecycleRule[];
45
+ unique_bytes: number;
46
+ key_bytes: number;
47
+ key_count: number;
48
+ version_count: number;
49
+ snapshot_only_bytes: number;
50
+ orphaned_at?: number;
51
+ created_at: number;
52
+ }
53
+ export interface Origin {
54
+ author: string;
55
+ source: string;
56
+ collected_at: number;
57
+ proof?: string;
58
+ }
59
+ export interface Binding {
60
+ bucket_id: string;
61
+ key: string;
62
+ version: number;
63
+ is_current: boolean;
64
+ is_delete_marker?: boolean;
65
+ obj_id?: string;
66
+ obj_type?: string;
67
+ size: number;
68
+ etag: string;
69
+ etag_md5?: string;
70
+ content_type?: string;
71
+ metadata?: Record<string, string>;
72
+ tags?: Record<string, string>;
73
+ http_headers?: Record<string, string>;
74
+ expires_at?: number;
75
+ origin?: Origin;
76
+ last_access_at?: number;
77
+ created_at: number;
78
+ created_by: string;
79
+ }
80
+ export interface Conditions {
81
+ if_none_match?: string;
82
+ if_match?: string;
83
+ if_version?: number;
84
+ }
85
+ export interface PutRequest extends Conditions {
86
+ key: string;
87
+ obj_id: string;
88
+ content_type?: string;
89
+ metadata?: Record<string, string>;
90
+ tags?: Record<string, string>;
91
+ http_headers?: Record<string, string>;
92
+ expires_at?: number;
93
+ origin?: Origin;
94
+ }
95
+ export interface PutResult {
96
+ version: number;
97
+ etag: string;
98
+ created: boolean;
99
+ }
100
+ export interface DeleteResult {
101
+ deleted: boolean;
102
+ version?: number;
103
+ delete_marker?: boolean;
104
+ }
105
+ export interface ListRequest {
106
+ prefix?: string;
107
+ delimiter?: string;
108
+ start_after?: string;
109
+ limit?: number;
110
+ }
111
+ export interface ListResult {
112
+ items: Binding[];
113
+ common_prefixes: string[];
114
+ next_start_after?: string;
115
+ }
116
+ export interface CopyRequest extends Conditions {
117
+ src_bucket_id: string;
118
+ src_key: string;
119
+ src_version?: number;
120
+ dst_bucket_id: string;
121
+ dst_key: string;
122
+ metadata_directive?: 'copy' | 'replace';
123
+ content_type?: string;
124
+ metadata?: Record<string, string>;
125
+ tags?: Record<string, string>;
126
+ origin?: Origin;
127
+ }
128
+ export type BatchOp = ({
129
+ op: 'put';
130
+ } & PutRequest) | {
131
+ op: 'delete';
132
+ key: string;
133
+ version?: number;
134
+ if_match?: string;
135
+ };
136
+ export type BatchResult = ({
137
+ op: 'put';
138
+ } & PutResult) | ({
139
+ op: 'delete';
140
+ } & DeleteResult);
141
+ export interface Grantee {
142
+ kind: 'app' | 'user' | 'group' | 'zone_users' | 'agent';
143
+ id?: string;
144
+ }
145
+ export interface GrantRequest {
146
+ grantee: Grantee;
147
+ prefix?: string;
148
+ actions: BucketAction[];
149
+ expires_at?: number;
150
+ }
151
+ export interface Grant extends GrantRequest {
152
+ grant_id: string;
153
+ bucket_id: string;
154
+ granted_by: string;
155
+ created_at: number;
156
+ }
157
+ export interface TokenRequest {
158
+ key?: string;
159
+ prefix?: string;
160
+ actions: BucketAction[];
161
+ expires_at: number;
162
+ max_uses?: number;
163
+ bind_user_id?: string;
164
+ bind_app_id?: string;
165
+ }
166
+ export interface IssuedToken {
167
+ token_id: string;
168
+ token: string;
169
+ path: string;
170
+ expires_at: number;
171
+ }
172
+ export interface AccessCheck {
173
+ allowed: boolean;
174
+ via?: {
175
+ kind: 'identity';
176
+ } | {
177
+ kind: 'grant';
178
+ id: string;
179
+ } | {
180
+ kind: 'token';
181
+ id: string;
182
+ };
183
+ }
184
+ export interface QuotaUpdate {
185
+ max_bytes?: number;
186
+ soft_bytes?: number;
187
+ max_objects?: number;
188
+ max_object_bytes?: number;
189
+ warn_percent?: number[];
190
+ }
191
+ export interface SnapshotInfo {
192
+ snapshot_id: string;
193
+ bucket_id: string;
194
+ label?: string;
195
+ root_obj_id: string;
196
+ manifest_obj_id: string;
197
+ tree_obj_id: string;
198
+ key_count: number;
199
+ unique_bytes: number;
200
+ snapshot_only_bytes: number;
201
+ created_at: number;
202
+ created_by: string;
203
+ }
204
+ export type Reference = {
205
+ key: string;
206
+ version?: number;
207
+ } | {
208
+ obj_id: string;
209
+ };
210
+ /** An S3 access key of the S3 compatible face (`https://<zone>/s3` or `https://s3.<zone>`), bound to (user, app). */
211
+ export interface S3Key {
212
+ access_key_id: string;
213
+ /** Only in the result of `createS3Key`. */
214
+ secret?: string;
215
+ user_id: string;
216
+ appid: string;
217
+ scope?: {
218
+ buckets?: string[];
219
+ prefix?: string;
220
+ actions?: BucketAction[];
221
+ };
222
+ expires_at?: number;
223
+ revoked_at?: number;
224
+ created_at: number;
225
+ }
226
+ export interface BucketPutOptions extends Conditions {
227
+ contentType?: string;
228
+ metadata?: Record<string, string>;
229
+ tags?: Record<string, string>;
230
+ /** Deletion time (ms since epoch); HTTP `Expires` stays a caching header. */
231
+ expiresAt?: number;
232
+ origin?: Origin;
233
+ }
234
+ export interface BucketClientOptions {
235
+ /** Origin + path prefix of the data plane, e.g. `https://zone.example` or `''` for same origin. */
236
+ dataPlaneBase: string;
237
+ sessionTokenProvider?: () => Promise<string | null>;
238
+ fetcher?: typeof fetch;
239
+ }
240
+ export declare class BucketError extends Error {
241
+ readonly code: string;
242
+ readonly status?: number | undefined;
243
+ readonly data?: unknown;
244
+ constructor(code: string, message: string, status?: number | undefined, data?: unknown);
245
+ }
246
+ /** Derives the data-plane base from a service kRPC URL (`…/kapi/nfs-server`). */
247
+ export declare function bucketDataPlaneBase(serviceUrl: string): string;
248
+ export declare function bucketObjectPath(bucketId: string, key: string): string;
249
+ /** kRPC client of the bucket service plus the `/bucket/v1` data plane. */
250
+ export declare class BucketClient {
251
+ private rpcClient;
252
+ private options;
253
+ constructor(rpcClient: kRPCClient, options?: BucketClientOptions);
254
+ call<T>(method: string, params: Record<string, unknown>): Promise<T>;
255
+ list(filter?: {
256
+ scope?: BucketScope;
257
+ appid?: string;
258
+ }): Promise<BucketInfo[]>;
259
+ stat(bucketId: string): Promise<BucketInfo & {
260
+ issues: unknown[];
261
+ }>;
262
+ put(bucketId: string, req: PutRequest): Promise<PutResult>;
263
+ get(bucketId: string, key: string, version?: number): Promise<Binding>;
264
+ head(bucketId: string, key: string, version?: number): Promise<{
265
+ binding: Binding;
266
+ availability: Availability;
267
+ }>;
268
+ delete(bucketId: string, key: string, options?: {
269
+ version?: number;
270
+ ifMatch?: string;
271
+ }): Promise<DeleteResult>;
272
+ listObjects(bucketId: string, req?: ListRequest): Promise<ListResult>;
273
+ listVersions(bucketId: string, key: string): Promise<Binding[]>;
274
+ copy(req: CopyRequest): Promise<PutResult>;
275
+ batch(bucketId: string, ops: BatchOp[]): Promise<BatchResult[]>;
276
+ setMetadata(bucketId: string, key: string, update: {
277
+ content_type?: string;
278
+ metadata?: Record<string, string>;
279
+ tags?: Record<string, string>;
280
+ }): Promise<Binding>;
281
+ grant(bucketId: string, req: GrantRequest): Promise<Grant>;
282
+ revoke(grantId: string): Promise<{
283
+ revoked: boolean;
284
+ }>;
285
+ listGrants(bucketId: string): Promise<Grant[]>;
286
+ createAccessToken(bucketId: string, req: TokenRequest): Promise<IssuedToken>;
287
+ revokeAccessToken(tokenId: string): Promise<{
288
+ revoked: boolean;
289
+ }>;
290
+ listAccessTokens(bucketId: string): Promise<Record<string, unknown>[]>;
291
+ checkAccess(bucketId: string, action: BucketAction, target?: {
292
+ key?: string;
293
+ prefix?: string;
294
+ }): Promise<AccessCheck>;
295
+ getQuota(bucketId: string): Promise<Record<string, unknown>>;
296
+ setQuota(bucketId: string, update: QuotaUpdate): Promise<Record<string, unknown>>;
297
+ getPoolQuota(kind: 'user' | 'app', id: string): Promise<Record<string, unknown>>;
298
+ usageReport(kind: 'user' | 'app' | 'zone', id?: string, days?: number): Promise<Record<string, unknown>>;
299
+ getLifecycle(bucketId: string): Promise<LifecycleRule[]>;
300
+ setLifecycle(bucketId: string, rules: LifecycleRule[]): Promise<LifecycleRule[]>;
301
+ snapshot(bucketId: string, options?: {
302
+ label?: string;
303
+ includeNoncurrent?: boolean;
304
+ }): Promise<SnapshotInfo>;
305
+ listSnapshots(bucketId: string): Promise<SnapshotInfo[]>;
306
+ deleteSnapshot(bucketId: string, snapshotId: string): Promise<{
307
+ deleted: boolean;
308
+ }>;
309
+ restoreFromSnapshot(bucketId: string, rootObjId: string): Promise<{
310
+ restored: number;
311
+ missing: unknown[];
312
+ }>;
313
+ exportSnapshot(bucketId: string, snapshotId: string, target: string): Promise<{
314
+ target: string;
315
+ }>;
316
+ verifyReferences(bucketId: string, refs: Reference[]): Promise<Reference[]>;
317
+ /** Issues an S3 access key for the signed-in user and `appid` (the user's own session only). */
318
+ createS3Key(appid: string, options?: {
319
+ scope?: S3Key['scope'];
320
+ expiresAt?: number;
321
+ }): Promise<S3Key>;
322
+ listS3Keys(): Promise<S3Key[]>;
323
+ revokeS3Key(accessKeyId: string): Promise<{
324
+ revoked: boolean;
325
+ }>;
326
+ /** URL of a key on the data plane; same-origin browser pages read it with the SSO cookie. */
327
+ objectUrl(bucketId: string, key: string, options?: {
328
+ version?: number;
329
+ token?: string;
330
+ }): string;
331
+ private authHeaders;
332
+ /** `PUT /bucket/v1/...`: stores up to 32 MiB and binds it; success means it is retained. */
333
+ putBytes(bucketId: string, key: string, body: Blob | ArrayBuffer | Uint8Array | string, options?: BucketPutOptions): Promise<PutResult & {
334
+ obj_id: string;
335
+ }>;
336
+ /** Reads a key's content (a `Response` to stream or `.blob()`). */
337
+ fetchObject(bucketId: string, key: string, options?: {
338
+ version?: number;
339
+ token?: string;
340
+ range?: string;
341
+ }): Promise<Response>;
342
+ private json;
343
+ }
344
+ //# sourceMappingURL=bucket_client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bucket_client.d.ts","sourceRoot":"","sources":["../src/bucket_client.ts"],"names":[],"mappings":"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"}