@ariestools/cli 0.1.9 → 0.1.10

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.
@@ -3,6 +3,97 @@
3
3
  export type AuthTokenSource = string | (() => string | Promise<string>)
4
4
  export type PayloadsAuthTokenSource = AuthTokenSource
5
5
 
6
+ export type DatalakeRole = 'viewer' | 'runner'
7
+ export type DatalakePrincipal = string
8
+ export type DatalakeTier = 'small' | 'medium' | 'large' | 'archive'
9
+ export type DatalakeRegion = 'us-west-2' | 'us-east-1' | 'eu-west-1'
10
+ export type DatalakeStatus =
11
+ | 'pending'
12
+ | 'provisioning'
13
+ | 'ready'
14
+ | 'resizing'
15
+ | 'deprovisioning'
16
+ | 'deleted'
17
+ | 'error'
18
+
19
+ export interface RateLimitOverrides {
20
+ anonymousPerMinute?: number
21
+ authenticatedPerMinute?: number
22
+ burstFactor?: number
23
+ }
24
+
25
+ export interface DatalakeConfig {
26
+ allowedSchemas?: string[]
27
+ disallowedSchemas?: string[]
28
+ iops?: number
29
+ rateLimits?: RateLimitOverrides
30
+ region?: DatalakeRegion
31
+ retentionDays?: number | null
32
+ sizeBytes?: number
33
+ tier: DatalakeTier
34
+ /** @deprecated No-op; archivist recomputes hashes trustlessly. */
35
+ verifyHashes?: boolean
36
+ }
37
+
38
+ export interface AclEntry {
39
+ grantedAt: string
40
+ grantedBy?: string
41
+ principal: DatalakePrincipal
42
+ role: DatalakeRole
43
+ }
44
+
45
+ export interface DatalakeUsage {
46
+ bytesStored: number
47
+ bytesStoredLimit: number
48
+ payloadCount: number
49
+ readsLast24h: number
50
+ writesLast24h: number
51
+ }
52
+
53
+ export interface DatalakeDescriptor {
54
+ acl: AclEntry[]
55
+ config: DatalakeConfig
56
+ createdAt: string
57
+ errorMessage?: string
58
+ id: string
59
+ name: string
60
+ ownerId: string
61
+ status: DatalakeStatus
62
+ updatedAt: string
63
+ url?: string
64
+ usage?: DatalakeUsage
65
+ }
66
+
67
+ export interface DatalakeToken {
68
+ datalakeId: string
69
+ expiresAt: string
70
+ role: DatalakeRole
71
+ token: string
72
+ url: string
73
+ }
74
+
75
+ export interface CreateDatalakeRequest {
76
+ config: DatalakeConfig
77
+ name: string
78
+ }
79
+
80
+ export interface GrantRequest {
81
+ datalakeId: string
82
+ principal: DatalakePrincipal
83
+ role: DatalakeRole
84
+ }
85
+
86
+ export interface RevokeRequest {
87
+ datalakeId: string
88
+ principal: DatalakePrincipal
89
+ }
90
+
91
+ export interface TokenRequest {
92
+ datalakeId: string
93
+ role: DatalakeRole
94
+ ttlSeconds?: number
95
+ }
96
+
6
97
  export interface StoredCredentials {
7
98
  authToken: string
8
99
  baseUrl: string
@@ -34,10 +125,29 @@ export interface RestPayloadsClientOptions {
34
125
  fetchImpl?: typeof fetch
35
126
  }
36
127
 
128
+ export interface DatalakeInsertSummary {
129
+ duplicates: number
130
+ rejected: string[]
131
+ }
132
+
133
+ /** Result of PayloadsClient.insert — matches RestPayloadsClient runtime. */
37
134
  export interface InsertPayloadsResult {
38
- duplicates?: number
135
+ inserted: unknown[]
136
+ summary: DatalakeInsertSummary
137
+ }
138
+
139
+ export interface NextPayloadsResult {
140
+ nextCursor?: string
39
141
  payloads: unknown[]
40
- rejected?: string[]
142
+ }
143
+
144
+ export interface DatalakeUsageReport {
145
+ datalakeId: string
146
+ payloadCount: number
147
+ rateLimits?: {
148
+ anonymous?: { limit: number; remaining: number }
149
+ authenticated?: { limit: number; remaining: number }
150
+ }
41
151
  }
42
152
 
43
153
  export interface PayloadsClient {
@@ -46,39 +156,44 @@ export interface PayloadsClient {
46
156
  get(hash: string): Promise<unknown>
47
157
  getMany(hashes: string[]): Promise<unknown[]>
48
158
  insert(payloads: unknown[]): Promise<InsertPayloadsResult>
49
- next(options?: { cursor?: string; limit?: number }): Promise<{ nextCursor?: string; payloads: unknown[] }>
50
- usage(): Promise<{ datalakeId: string; payloadCount: number }>
159
+ next(options?: {
160
+ cursor?: string
161
+ limit?: number
162
+ order?: 'asc' | 'desc'
163
+ schemas?: string[]
164
+ }): Promise<NextPayloadsResult>
165
+ usage(): Promise<DatalakeUsageReport>
51
166
  }
52
167
 
53
168
  export interface DatalakeClient {
54
- create(body: unknown): Promise<unknown>
55
- destroy(id: string): Promise<void>
56
- get(id: string): Promise<unknown>
57
- grant(id: string, body: unknown): Promise<unknown>
58
- list(): Promise<unknown[]>
59
- mintToken(id: string, body?: unknown): Promise<unknown>
60
- revoke(id: string, body: unknown): Promise<void>
169
+ create(request: CreateDatalakeRequest): Promise<DatalakeDescriptor>
170
+ describe(idOrName: string): Promise<DatalakeDescriptor>
171
+ destroy(idOrName: string): Promise<void>
172
+ grant(request: GrantRequest): Promise<DatalakeDescriptor>
173
+ list(): Promise<DatalakeDescriptor[]>
174
+ mintToken(request: TokenRequest): Promise<DatalakeToken>
175
+ revoke(request: RevokeRequest): Promise<DatalakeDescriptor>
61
176
  }
62
177
 
63
178
  export declare function createDatalakeClient(options?: CreateDatalakeClientOptions): DatalakeClient
64
179
  export declare class LocalDatalakeClient implements DatalakeClient {
65
- create(body: unknown): Promise<unknown>
66
- destroy(id: string): Promise<void>
67
- get(id: string): Promise<unknown>
68
- grant(id: string, body: unknown): Promise<unknown>
69
- list(): Promise<unknown[]>
70
- mintToken(id: string, body?: unknown): Promise<unknown>
71
- revoke(id: string, body: unknown): Promise<void>
180
+ create(request: CreateDatalakeRequest): Promise<DatalakeDescriptor>
181
+ describe(idOrName: string): Promise<DatalakeDescriptor>
182
+ destroy(idOrName: string): Promise<void>
183
+ grant(request: GrantRequest): Promise<DatalakeDescriptor>
184
+ list(): Promise<DatalakeDescriptor[]>
185
+ mintToken(request: TokenRequest): Promise<DatalakeToken>
186
+ revoke(request: RevokeRequest): Promise<DatalakeDescriptor>
72
187
  }
73
188
  export declare class RestDatalakeClient implements DatalakeClient {
74
189
  constructor(options: RestDatalakeClientOptions)
75
- create(body: unknown): Promise<unknown>
76
- destroy(id: string): Promise<void>
77
- get(id: string): Promise<unknown>
78
- grant(id: string, body: unknown): Promise<unknown>
79
- list(): Promise<unknown[]>
80
- mintToken(id: string, body?: unknown): Promise<unknown>
81
- revoke(id: string, body: unknown): Promise<void>
190
+ create(request: CreateDatalakeRequest): Promise<DatalakeDescriptor>
191
+ describe(idOrName: string): Promise<DatalakeDescriptor>
192
+ destroy(idOrName: string): Promise<void>
193
+ grant(request: GrantRequest): Promise<DatalakeDescriptor>
194
+ list(): Promise<DatalakeDescriptor[]>
195
+ mintToken(request: TokenRequest): Promise<DatalakeToken>
196
+ revoke(request: RevokeRequest): Promise<DatalakeDescriptor>
82
197
  }
83
198
  export declare class RestPayloadsClient implements PayloadsClient {
84
199
  constructor(options: RestPayloadsClientOptions)
@@ -87,8 +202,13 @@ export declare class RestPayloadsClient implements PayloadsClient {
87
202
  get(hash: string): Promise<unknown>
88
203
  getMany(hashes: string[]): Promise<unknown[]>
89
204
  insert(payloads: unknown[]): Promise<InsertPayloadsResult>
90
- next(options?: { cursor?: string; limit?: number }): Promise<{ nextCursor?: string; payloads: unknown[] }>
91
- usage(): Promise<{ datalakeId: string; payloadCount: number }>
205
+ next(options?: {
206
+ cursor?: string
207
+ limit?: number
208
+ order?: 'asc' | 'desc'
209
+ schemas?: string[]
210
+ }): Promise<NextPayloadsResult>
211
+ usage(): Promise<DatalakeUsageReport>
92
212
  }
93
213
 
94
214
  export declare function loadCredentials(): StoredCredentials | WalletJwtCredentials | undefined
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ariestools/cli",
3
- "version": "0.1.9",
3
+ "version": "0.1.10",
4
4
  "description": "Aries Tools CLI - A suite of tools by Arie Trouw",
5
5
  "keywords": [
6
6
  "ariestools",
@@ -34,23 +34,25 @@
34
34
  ],
35
35
  "dependencies": {
36
36
  "@opentelemetry/api": "~1.9.1",
37
+ "@xyo-network/archivist-lmdb": "~7.2.1",
37
38
  "@xyo-network/sdk-protocol": "~7.2.2",
38
39
  "async-mutex": "~0.5.0",
39
40
  "ethers": "~6.17.0",
40
41
  "imghash": "~1.1.4",
41
42
  "lmdb": "~3.5.6",
42
43
  "pdq-wasm": "~0.3.9",
44
+ "s3rver": "~3.7.1",
43
45
  "sharp": "~0.35.3",
44
46
  "sharp-phash": "~2.2.0",
45
47
  "zod": "~4.4.3",
46
- "@ariestools/aries-dapp-core": "~0.1.9",
47
- "@xyo-network/wallet-xl1-cli": "~0.1.9",
48
- "@ariestools/aries-dapp-serve": "~0.1.9"
48
+ "@ariestools/aries-dapp-core": "~0.1.10",
49
+ "@xyo-network/wallet-xl1-cli": "~0.1.10",
50
+ "@ariestools/aries-dapp-serve": "~0.1.10"
49
51
  },
50
52
  "devDependencies": {
51
- "@ariestools/sdk": "~8.1.2",
52
- "@ariestools/toolchain": "~8.7.20",
53
- "@ariestools/tsconfig": "~8.7.20",
53
+ "@ariestools/sdk": "~8.1.3",
54
+ "@ariestools/toolchain": "~8.7.21",
55
+ "@ariestools/tsconfig": "~8.7.21",
54
56
  "@metamask/json-rpc-engine": "~10.5.0",
55
57
  "@types/node": "~26.1.1",
56
58
  "@xyo-network/sdk": "~7.2.1",
@@ -61,8 +63,8 @@
61
63
  "typescript": "~6.0.3",
62
64
  "vite": "~8.1.5",
63
65
  "vitest": "~4.1.10",
64
- "@ariestools/cli-lib": "~0.1.9",
65
- "@ariestools/aries-datalake-client": "~0.1.9"
66
+ "@ariestools/aries-datalake-client": "~0.1.10",
67
+ "@ariestools/cli-lib": "~0.1.10"
66
68
  },
67
69
  "engines": {
68
70
  "node": ">=18.17.1"