buckyos 0.7.148 → 0.7.150

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 (44) hide show
  1. package/cli/core/app.ts +2 -0
  2. package/cli/dist/cli.mjs +548 -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 +71 -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 +393 -0
  14. package/dist/bucket_client.d.ts.map +1 -0
  15. package/dist/{executor_client-4fbf0c3c.mjs → executor_client-84d7a70d.mjs} +494 -193
  16. package/dist/executor_client-84d7a70d.mjs.map +1 -0
  17. package/dist/executor_client-900330a4.js +13 -0
  18. package/dist/executor_client-900330a4.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 +32 -0
  26. package/dist/ndm_client.d.ts.map +1 -1
  27. package/dist/nfsp.cjs.map +1 -1
  28. package/dist/nfsp.d.ts +5 -3
  29. package/dist/nfsp.d.ts.map +1 -1
  30. package/dist/nfsp.mjs.map +1 -1
  31. package/dist/node.cjs +1 -1
  32. package/dist/node.cjs.map +1 -1
  33. package/dist/node.d.ts +2 -0
  34. package/dist/node.d.ts.map +1 -1
  35. package/dist/node.mjs +190 -189
  36. package/dist/node.mjs.map +1 -1
  37. package/dist/runtime.d.ts +2 -0
  38. package/dist/runtime.d.ts.map +1 -1
  39. package/dist/sdk_core.d.ts +4 -0
  40. package/dist/sdk_core.d.ts.map +1 -1
  41. package/package.json +1 -1
  42. package/dist/executor_client-4fbf0c3c.mjs.map +0 -1
  43. package/dist/executor_client-5fa2d501.js +0 -13
  44. package/dist/executor_client-5fa2d501.js.map +0 -1
@@ -0,0 +1,393 @@
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
+ /** What `bucket.release_app` did with one bucket of an uninstalled app instance. */
211
+ export interface ReleasedBucket {
212
+ bucket_id: string;
213
+ data_policy: DataPolicy;
214
+ unique_bytes: number;
215
+ action: 'deleted' | 'orphaned';
216
+ }
217
+ export interface AppRelease {
218
+ appid: string;
219
+ owner: string;
220
+ buckets: ReleasedBucket[];
221
+ }
222
+ /** An S3 access key of the S3 compatible face (`https://<zone>/s3` or `https://s3.<zone>`), bound to (user, app). */
223
+ export interface S3Key {
224
+ access_key_id: string;
225
+ /** Only in the result of `createS3Key`. */
226
+ secret?: string;
227
+ user_id: string;
228
+ appid: string;
229
+ scope?: {
230
+ buckets?: string[];
231
+ prefix?: string;
232
+ actions?: BucketAction[];
233
+ };
234
+ expires_at?: number;
235
+ revoked_at?: number;
236
+ created_at: number;
237
+ }
238
+ export interface BucketPutOptions extends Conditions {
239
+ contentType?: string;
240
+ metadata?: Record<string, string>;
241
+ tags?: Record<string, string>;
242
+ /** Deletion time (ms since epoch); HTTP `Expires` stays a caching header. */
243
+ expiresAt?: number;
244
+ origin?: Origin;
245
+ }
246
+ export interface BucketClientOptions {
247
+ /** Origin + path prefix of the data plane, e.g. `https://zone.example` or `''` for same origin. */
248
+ dataPlaneBase: string;
249
+ sessionTokenProvider?: () => Promise<string | null>;
250
+ fetcher?: typeof fetch;
251
+ }
252
+ export declare class BucketError extends Error {
253
+ readonly code: string;
254
+ readonly status?: number | undefined;
255
+ readonly data?: unknown;
256
+ constructor(code: string, message: string, status?: number | undefined, data?: unknown);
257
+ }
258
+ /** Derives the data-plane base from a service kRPC URL (`…/kapi/nfs-server`). */
259
+ export declare function bucketDataPlaneBase(serviceUrl: string): string;
260
+ export declare const ZONE_BUCKET_OWNER = "_";
261
+ /** `user/<appid>/<owner>/<name>`: a per-user bucket an app or service declared. */
262
+ export declare function userBucketId(appid: string, owner: string, name: string): string;
263
+ /** `zone/<appid>/_/<name>`: a bucket owned by a service, not by a user. */
264
+ export declare function zoneBucketId(appid: string, name: string): string;
265
+ export interface ParsedBucketId {
266
+ scope: BucketScope;
267
+ appid: string;
268
+ owner: string;
269
+ name: string;
270
+ }
271
+ /** Splits `<scope>/<appid>/<owner>/<name>[/<key>]`; `null` when it is not one. */
272
+ export declare function parseBucketPath(path: string): {
273
+ bucketId: string;
274
+ parts: ParsedBucketId;
275
+ key: string;
276
+ } | null;
277
+ export declare const BUCKET_OBJ_URL_PREFIX = "obj://bucket/";
278
+ /** `obj://bucket/<bucket_id>/<key>`: how Agents, CLIs and stored references name a binding. */
279
+ export declare function bucketObjUrl(bucketId: string, key: string): string;
280
+ export declare function parseBucketObjUrl(url: string): {
281
+ bucketId: string;
282
+ key: string;
283
+ } | null;
284
+ export declare function bucketObjectPath(bucketId: string, key: string): string;
285
+ /** kRPC client of the bucket service plus the `/bucket/v1` data plane. */
286
+ export declare class BucketClient {
287
+ private rpcClient;
288
+ private options;
289
+ constructor(rpcClient: kRPCClient, options?: BucketClientOptions);
290
+ call<T>(method: string, params: Record<string, unknown>): Promise<T>;
291
+ list(filter?: {
292
+ scope?: BucketScope;
293
+ appid?: string;
294
+ }): Promise<BucketInfo[]>;
295
+ stat(bucketId: string): Promise<BucketInfo & {
296
+ issues: unknown[];
297
+ }>;
298
+ /** Unbinds everything and drops the bucket; a documents / collected bucket takes the user's sudo session token. */
299
+ deleteBucket(bucketId: string, options?: {
300
+ sessionToken?: string | null;
301
+ }): Promise<{
302
+ deleted: boolean;
303
+ }>;
304
+ /**
305
+ * Disposes of an uninstalled app instance's buckets by data policy (control-panel or a Zone admin):
306
+ * documents / collected (and app_data with `keepAppData`) become orphans, the rest are deleted.
307
+ */
308
+ releaseApp(appid: string, owner: string, options?: {
309
+ keepAppData?: boolean;
310
+ }): Promise<AppRelease>;
311
+ put(bucketId: string, req: PutRequest): Promise<PutResult>;
312
+ get(bucketId: string, key: string, version?: number): Promise<Binding>;
313
+ head(bucketId: string, key: string, version?: number): Promise<{
314
+ binding: Binding;
315
+ availability: Availability;
316
+ }>;
317
+ delete(bucketId: string, key: string, options?: {
318
+ version?: number;
319
+ ifMatch?: string;
320
+ }): Promise<DeleteResult>;
321
+ listObjects(bucketId: string, req?: ListRequest): Promise<ListResult>;
322
+ listVersions(bucketId: string, key: string): Promise<Binding[]>;
323
+ copy(req: CopyRequest): Promise<PutResult>;
324
+ batch(bucketId: string, ops: BatchOp[]): Promise<BatchResult[]>;
325
+ setMetadata(bucketId: string, key: string, update: {
326
+ content_type?: string;
327
+ metadata?: Record<string, string>;
328
+ tags?: Record<string, string>;
329
+ }): Promise<Binding>;
330
+ grant(bucketId: string, req: GrantRequest): Promise<Grant>;
331
+ revoke(grantId: string): Promise<{
332
+ revoked: boolean;
333
+ }>;
334
+ listGrants(bucketId: string): Promise<Grant[]>;
335
+ createAccessToken(bucketId: string, req: TokenRequest): Promise<IssuedToken>;
336
+ revokeAccessToken(tokenId: string): Promise<{
337
+ revoked: boolean;
338
+ }>;
339
+ listAccessTokens(bucketId: string): Promise<Record<string, unknown>[]>;
340
+ checkAccess(bucketId: string, action: BucketAction, target?: {
341
+ key?: string;
342
+ prefix?: string;
343
+ }): Promise<AccessCheck>;
344
+ getQuota(bucketId: string): Promise<Record<string, unknown>>;
345
+ setQuota(bucketId: string, update: QuotaUpdate): Promise<Record<string, unknown>>;
346
+ getPoolQuota(kind: 'user' | 'app', id: string): Promise<Record<string, unknown>>;
347
+ usageReport(kind: 'user' | 'app' | 'zone', id?: string, days?: number): Promise<Record<string, unknown>>;
348
+ getLifecycle(bucketId: string): Promise<LifecycleRule[]>;
349
+ setLifecycle(bucketId: string, rules: LifecycleRule[]): Promise<LifecycleRule[]>;
350
+ snapshot(bucketId: string, options?: {
351
+ label?: string;
352
+ includeNoncurrent?: boolean;
353
+ }): Promise<SnapshotInfo>;
354
+ listSnapshots(bucketId: string): Promise<SnapshotInfo[]>;
355
+ deleteSnapshot(bucketId: string, snapshotId: string): Promise<{
356
+ deleted: boolean;
357
+ }>;
358
+ restoreFromSnapshot(bucketId: string, rootObjId: string): Promise<{
359
+ restored: number;
360
+ missing: unknown[];
361
+ }>;
362
+ exportSnapshot(bucketId: string, snapshotId: string, target: string): Promise<{
363
+ target: string;
364
+ }>;
365
+ verifyReferences(bucketId: string, refs: Reference[]): Promise<Reference[]>;
366
+ /** Issues an S3 access key for the signed-in user and `appid` (the user's own session only). */
367
+ createS3Key(appid: string, options?: {
368
+ scope?: S3Key['scope'];
369
+ expiresAt?: number;
370
+ }): Promise<S3Key>;
371
+ listS3Keys(): Promise<S3Key[]>;
372
+ revokeS3Key(accessKeyId: string): Promise<{
373
+ revoked: boolean;
374
+ }>;
375
+ /** URL of a key on the data plane; same-origin browser pages read it with the SSO cookie. */
376
+ objectUrl(bucketId: string, key: string, options?: {
377
+ version?: number;
378
+ token?: string;
379
+ }): string;
380
+ private authHeaders;
381
+ /** `PUT /bucket/v1/...`: stores up to 32 MiB and binds it; success means it is retained. */
382
+ putBytes(bucketId: string, key: string, body: Blob | ArrayBuffer | Uint8Array | string, options?: BucketPutOptions): Promise<PutResult & {
383
+ obj_id: string;
384
+ }>;
385
+ /** Reads a key's content (a `Response` to stream or `.blob()`). */
386
+ fetchObject(bucketId: string, key: string, options?: {
387
+ version?: number;
388
+ token?: string;
389
+ range?: string;
390
+ }): Promise<Response>;
391
+ private json;
392
+ }
393
+ //# 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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"}