@resourcexjs/type 1.2.0 → 1.4.0
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/README.md +81 -25
- package/dist/index.d.ts +70 -14
- package/dist/index.js +24 -6
- package/dist/index.js.map +4 -4
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -43,15 +43,14 @@ globalTypeHandlerChain.canHandle("config"); // true (alias for json)
|
|
|
43
43
|
import { globalTypeHandlerChain } from "@resourcexjs/type";
|
|
44
44
|
import type { ResourceType } from "@resourcexjs/type";
|
|
45
45
|
|
|
46
|
-
// Define custom type
|
|
47
|
-
const promptType: ResourceType<string> = {
|
|
46
|
+
// Define custom type - resolver returns a callable function
|
|
47
|
+
const promptType: ResourceType<void, string> = {
|
|
48
48
|
name: "prompt",
|
|
49
49
|
aliases: ["deepractice-prompt"],
|
|
50
50
|
description: "AI Prompt template",
|
|
51
51
|
serializer: {
|
|
52
52
|
async serialize(rxr) {
|
|
53
|
-
|
|
54
|
-
return Buffer.from(text, "utf-8");
|
|
53
|
+
return rxr.content.buffer();
|
|
55
54
|
},
|
|
56
55
|
async deserialize(data, manifest) {
|
|
57
56
|
// ... implementation
|
|
@@ -59,7 +58,11 @@ const promptType: ResourceType<string> = {
|
|
|
59
58
|
},
|
|
60
59
|
resolver: {
|
|
61
60
|
async resolve(rxr) {
|
|
62
|
-
|
|
61
|
+
// Return a callable function (lazy loading)
|
|
62
|
+
return async () => {
|
|
63
|
+
const buffer = await rxr.content.file("content");
|
|
64
|
+
return buffer.toString("utf-8");
|
|
65
|
+
};
|
|
63
66
|
},
|
|
64
67
|
},
|
|
65
68
|
};
|
|
@@ -115,8 +118,11 @@ console.log(await restored.content.text()); // "Hello, World!"
|
|
|
115
118
|
```typescript
|
|
116
119
|
import { globalTypeHandlerChain } from "@resourcexjs/type";
|
|
117
120
|
|
|
118
|
-
// Resolve RXR to
|
|
119
|
-
const
|
|
121
|
+
// Resolve RXR to callable function (lazy loading)
|
|
122
|
+
const fn = await globalTypeHandlerChain.resolve<void, string>(rxr);
|
|
123
|
+
|
|
124
|
+
// Call the function to get the actual content
|
|
125
|
+
const text = await fn();
|
|
120
126
|
console.log(text); // "Hello, World!"
|
|
121
127
|
```
|
|
122
128
|
|
|
@@ -174,12 +180,19 @@ Deserialize Buffer to RXR using appropriate type handler.
|
|
|
174
180
|
|
|
175
181
|
**Throws**: `ResourceTypeError` if type not supported.
|
|
176
182
|
|
|
177
|
-
##### `resolve<
|
|
183
|
+
##### `resolve<TArgs, TResult>(rxr: RXR): Promise<ResolvedResource<TArgs, TResult>>`
|
|
184
|
+
|
|
185
|
+
Resolve RXR content to callable function using appropriate type handler.
|
|
178
186
|
|
|
179
|
-
|
|
187
|
+
**Returns**: A callable function that returns the content when called.
|
|
180
188
|
|
|
181
189
|
**Throws**: `ResourceTypeError` if type not supported.
|
|
182
190
|
|
|
191
|
+
```typescript
|
|
192
|
+
const fn = await globalTypeHandlerChain.resolve<void, string>(rxr);
|
|
193
|
+
const content = await fn(); // Lazy load content
|
|
194
|
+
```
|
|
195
|
+
|
|
183
196
|
##### `clearExtensions(): void`
|
|
184
197
|
|
|
185
198
|
Clear all extension types (for testing). Builtin types remain.
|
|
@@ -190,26 +203,28 @@ globalTypeHandlerChain.clearExtensions();
|
|
|
190
203
|
|
|
191
204
|
## Builtin Types
|
|
192
205
|
|
|
206
|
+
All builtin types return callable functions (lazy loading):
|
|
207
|
+
|
|
193
208
|
### Text Type
|
|
194
209
|
|
|
195
210
|
- **Name**: `text`
|
|
196
211
|
- **Aliases**: `txt`, `plaintext`
|
|
197
|
-
- **Storage**:
|
|
198
|
-
- **Resolves to**: `string
|
|
212
|
+
- **Storage**: tar.gz archive
|
|
213
|
+
- **Resolves to**: `() => Promise<string>`
|
|
199
214
|
|
|
200
215
|
### JSON Type
|
|
201
216
|
|
|
202
217
|
- **Name**: `json`
|
|
203
218
|
- **Aliases**: `config`, `manifest`
|
|
204
|
-
- **Storage**:
|
|
205
|
-
- **Resolves to**: `unknown
|
|
219
|
+
- **Storage**: tar.gz archive
|
|
220
|
+
- **Resolves to**: `() => Promise<unknown>` (parsed object)
|
|
206
221
|
|
|
207
222
|
### Binary Type
|
|
208
223
|
|
|
209
224
|
- **Name**: `binary`
|
|
210
225
|
- **Aliases**: `bin`, `blob`, `raw`
|
|
211
|
-
- **Storage**:
|
|
212
|
-
- **Resolves to**: `Buffer
|
|
226
|
+
- **Storage**: tar.gz archive
|
|
227
|
+
- **Resolves to**: `() => Promise<Buffer>`
|
|
213
228
|
|
|
214
229
|
## Type System Architecture
|
|
215
230
|
|
|
@@ -228,43 +243,84 @@ globalTypeHandlerChain.clearExtensions();
|
|
|
228
243
|
|
|
229
244
|
## Creating Custom Types
|
|
230
245
|
|
|
231
|
-
### Example: Prompt Type
|
|
246
|
+
### Example: Prompt Type (No Arguments)
|
|
232
247
|
|
|
233
248
|
```typescript
|
|
234
249
|
import type { ResourceType } from "@resourcexjs/type";
|
|
235
250
|
import { createRXC, parseRXL } from "@resourcexjs/core";
|
|
236
251
|
|
|
237
|
-
export const promptType: ResourceType<string> = {
|
|
252
|
+
export const promptType: ResourceType<void, string> = {
|
|
238
253
|
name: "prompt",
|
|
239
254
|
aliases: ["deepractice-prompt"],
|
|
240
|
-
description: "AI Prompt template
|
|
255
|
+
description: "AI Prompt template",
|
|
241
256
|
|
|
242
257
|
serializer: {
|
|
243
258
|
async serialize(rxr) {
|
|
244
|
-
|
|
245
|
-
return Buffer.from(text, "utf-8");
|
|
259
|
+
return rxr.content.buffer();
|
|
246
260
|
},
|
|
247
261
|
|
|
248
262
|
async deserialize(data, manifest) {
|
|
249
|
-
const text = data.toString("utf-8");
|
|
250
263
|
return {
|
|
251
264
|
locator: parseRXL(manifest.toLocator()),
|
|
252
265
|
manifest,
|
|
253
|
-
content: createRXC(
|
|
266
|
+
content: await createRXC({ archive: data }),
|
|
254
267
|
};
|
|
255
268
|
},
|
|
256
269
|
},
|
|
257
270
|
|
|
258
271
|
resolver: {
|
|
259
272
|
async resolve(rxr) {
|
|
260
|
-
//
|
|
261
|
-
|
|
262
|
-
|
|
273
|
+
// Return callable function (lazy loading)
|
|
274
|
+
return async () => {
|
|
275
|
+
const buffer = await rxr.content.file("content");
|
|
276
|
+
return buffer.toString("utf-8");
|
|
277
|
+
};
|
|
263
278
|
},
|
|
264
279
|
},
|
|
265
280
|
};
|
|
266
281
|
```
|
|
267
282
|
|
|
283
|
+
### Example: Tool Type (With Arguments)
|
|
284
|
+
|
|
285
|
+
```typescript
|
|
286
|
+
import type { ResourceType } from "@resourcexjs/type";
|
|
287
|
+
|
|
288
|
+
interface ToolArgs {
|
|
289
|
+
a: number;
|
|
290
|
+
b: number;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
export const toolType: ResourceType<ToolArgs, number> = {
|
|
294
|
+
name: "tool",
|
|
295
|
+
description: "Executable tool with arguments",
|
|
296
|
+
|
|
297
|
+
serializer: {
|
|
298
|
+
async serialize(rxr) {
|
|
299
|
+
return rxr.content.buffer();
|
|
300
|
+
},
|
|
301
|
+
async deserialize(data, manifest) {
|
|
302
|
+
// ... implementation
|
|
303
|
+
},
|
|
304
|
+
},
|
|
305
|
+
|
|
306
|
+
resolver: {
|
|
307
|
+
async resolve(rxr) {
|
|
308
|
+
// Return callable function that accepts arguments
|
|
309
|
+
return async (args) => {
|
|
310
|
+
const buffer = await rxr.content.file("content");
|
|
311
|
+
const code = buffer.toString("utf-8");
|
|
312
|
+
// Execute code with args
|
|
313
|
+
return args ? args.a + args.b : 0;
|
|
314
|
+
};
|
|
315
|
+
},
|
|
316
|
+
},
|
|
317
|
+
};
|
|
318
|
+
|
|
319
|
+
// Usage
|
|
320
|
+
const fn = await globalTypeHandlerChain.resolve<ToolArgs, number>(rxr);
|
|
321
|
+
const result = await fn({ a: 1, b: 2 }); // 3
|
|
322
|
+
```
|
|
323
|
+
|
|
268
324
|
## Error Handling
|
|
269
325
|
|
|
270
326
|
```typescript
|
package/dist/index.d.ts
CHANGED
|
@@ -13,18 +13,70 @@ interface ResourceSerializer {
|
|
|
13
13
|
deserialize(data: Buffer, manifest: RXM): Promise<RXR>;
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* JSON Schema property definition.
|
|
17
17
|
*/
|
|
18
|
-
interface
|
|
18
|
+
interface JSONSchemaProperty {
|
|
19
|
+
type: "string" | "number" | "integer" | "boolean" | "object" | "array" | "null";
|
|
20
|
+
description?: string;
|
|
21
|
+
default?: unknown;
|
|
22
|
+
enum?: unknown[];
|
|
23
|
+
items?: JSONSchemaProperty;
|
|
24
|
+
properties?: Record<string, JSONSchemaProperty>;
|
|
25
|
+
required?: string[];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* JSON Schema definition for resolver arguments.
|
|
29
|
+
* Used by UI to render parameter forms.
|
|
30
|
+
*/
|
|
31
|
+
interface JSONSchema extends JSONSchemaProperty {
|
|
32
|
+
$schema?: string;
|
|
33
|
+
title?: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* ResolvedResource - Structured result object returned by resolver.
|
|
37
|
+
* Contains execute function and optional schema for UI rendering.
|
|
38
|
+
*/
|
|
39
|
+
interface ResolvedResource<
|
|
40
|
+
TArgs = void,
|
|
41
|
+
TResult = unknown
|
|
42
|
+
> {
|
|
43
|
+
/**
|
|
44
|
+
* Execute function to get the resource content.
|
|
45
|
+
* - For static resources (text/json/binary): call with no arguments
|
|
46
|
+
* - For dynamic resources (tool): call with arguments
|
|
47
|
+
*/
|
|
48
|
+
execute: (args?: TArgs) => TResult | Promise<TResult>;
|
|
49
|
+
/**
|
|
50
|
+
* JSON Schema for the arguments (undefined if no arguments needed).
|
|
51
|
+
* UI uses this to render parameter forms.
|
|
52
|
+
*/
|
|
53
|
+
schema: TArgs extends void ? undefined : JSONSchema;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* ResourceResolver - Transforms RXR into a structured result object.
|
|
57
|
+
* The execute function is lazy-loaded: content is only read when called.
|
|
58
|
+
*/
|
|
59
|
+
interface ResourceResolver<
|
|
60
|
+
TArgs = void,
|
|
61
|
+
TResult = unknown
|
|
62
|
+
> {
|
|
63
|
+
/**
|
|
64
|
+
* JSON Schema for arguments (required if TArgs is not void).
|
|
65
|
+
* This constraint ensures type safety at definition time.
|
|
66
|
+
*/
|
|
67
|
+
schema: TArgs extends void ? undefined : JSONSchema;
|
|
19
68
|
/**
|
|
20
|
-
* Resolve RXR
|
|
69
|
+
* Resolve RXR into a structured result object.
|
|
21
70
|
*/
|
|
22
|
-
resolve(rxr: RXR): Promise<
|
|
71
|
+
resolve(rxr: RXR): Promise<ResolvedResource<TArgs, TResult>>;
|
|
23
72
|
}
|
|
24
73
|
/**
|
|
25
74
|
* ResourceType - Defines how a resource type is handled.
|
|
26
75
|
*/
|
|
27
|
-
interface ResourceType<
|
|
76
|
+
interface ResourceType<
|
|
77
|
+
TArgs = void,
|
|
78
|
+
TResult = unknown
|
|
79
|
+
> {
|
|
28
80
|
/**
|
|
29
81
|
* Type name (e.g., "text", "json", "binary").
|
|
30
82
|
*/
|
|
@@ -42,9 +94,9 @@ interface ResourceType<T = unknown> {
|
|
|
42
94
|
*/
|
|
43
95
|
serializer: ResourceSerializer;
|
|
44
96
|
/**
|
|
45
|
-
* Resolver to transform RXR into
|
|
97
|
+
* Resolver to transform RXR into structured result object.
|
|
46
98
|
*/
|
|
47
|
-
resolver: ResourceResolver<
|
|
99
|
+
resolver: ResourceResolver<TArgs, TResult>;
|
|
48
100
|
}
|
|
49
101
|
import { ResourceXError } from "@resourcexjs/core";
|
|
50
102
|
/**
|
|
@@ -56,19 +108,19 @@ declare class ResourceTypeError extends ResourceXError {
|
|
|
56
108
|
/**
|
|
57
109
|
* Text resource type
|
|
58
110
|
*/
|
|
59
|
-
declare const textType: ResourceType<string>;
|
|
111
|
+
declare const textType: ResourceType<void, string>;
|
|
60
112
|
/**
|
|
61
113
|
* JSON resource type
|
|
62
114
|
*/
|
|
63
|
-
declare const jsonType: ResourceType<unknown>;
|
|
115
|
+
declare const jsonType: ResourceType<void, unknown>;
|
|
64
116
|
/**
|
|
65
117
|
* Binary resource type
|
|
66
118
|
*/
|
|
67
|
-
declare const binaryType: ResourceType<Buffer>;
|
|
119
|
+
declare const binaryType: ResourceType<void, Buffer>;
|
|
68
120
|
/**
|
|
69
121
|
* All built-in types
|
|
70
122
|
*/
|
|
71
|
-
declare const builtinTypes: ResourceType[];
|
|
123
|
+
declare const builtinTypes: ResourceType<void, unknown>[];
|
|
72
124
|
import { RXR as RXR2, RXM as RXM2 } from "@resourcexjs/core";
|
|
73
125
|
/**
|
|
74
126
|
* TypeHandlerChain - Global singleton for type handling.
|
|
@@ -114,10 +166,14 @@ declare class TypeHandlerChain {
|
|
|
114
166
|
*/
|
|
115
167
|
deserialize(data: Buffer, manifest: RXM2): Promise<RXR2>;
|
|
116
168
|
/**
|
|
117
|
-
* Resolve RXR content into
|
|
169
|
+
* Resolve RXR content into structured result object using the appropriate type handler.
|
|
170
|
+
* Returns an object with execute function and optional schema.
|
|
118
171
|
* @throws ResourceTypeError if type is not supported
|
|
119
172
|
*/
|
|
120
|
-
resolve<
|
|
173
|
+
resolve<
|
|
174
|
+
TArgs = void,
|
|
175
|
+
TResult = unknown
|
|
176
|
+
>(rxr: RXR2): Promise<ResolvedResource<TArgs, TResult>>;
|
|
121
177
|
/**
|
|
122
178
|
* Clear all extension types (for testing).
|
|
123
179
|
* Keeps builtin types intact.
|
|
@@ -129,4 +185,4 @@ declare class TypeHandlerChain {
|
|
|
129
185
|
* All type registration and handling goes through this instance.
|
|
130
186
|
*/
|
|
131
187
|
declare const globalTypeHandlerChain: TypeHandlerChain;
|
|
132
|
-
export { textType, jsonType, globalTypeHandlerChain, builtinTypes, binaryType, TypeHandlerChain, ResourceTypeError, ResourceType, ResourceSerializer, ResourceResolver };
|
|
188
|
+
export { textType, jsonType, globalTypeHandlerChain, builtinTypes, binaryType, TypeHandlerChain, ResourceTypeError, ResourceType, ResourceSerializer, ResourceResolver, ResolvedResource, JSONSchemaProperty, JSONSchema };
|
package/dist/index.js
CHANGED
|
@@ -1142,9 +1142,15 @@ var textSerializer = {
|
|
|
1142
1142
|
}
|
|
1143
1143
|
};
|
|
1144
1144
|
var textResolver = {
|
|
1145
|
+
schema: undefined,
|
|
1145
1146
|
async resolve(rxr) {
|
|
1146
|
-
|
|
1147
|
-
|
|
1147
|
+
return {
|
|
1148
|
+
schema: undefined,
|
|
1149
|
+
execute: async () => {
|
|
1150
|
+
const buffer = await rxr.content.file("content");
|
|
1151
|
+
return buffer.toString("utf-8");
|
|
1152
|
+
}
|
|
1153
|
+
};
|
|
1148
1154
|
}
|
|
1149
1155
|
};
|
|
1150
1156
|
var textType = {
|
|
@@ -1167,9 +1173,15 @@ var jsonSerializer = {
|
|
|
1167
1173
|
}
|
|
1168
1174
|
};
|
|
1169
1175
|
var jsonResolver = {
|
|
1176
|
+
schema: undefined,
|
|
1170
1177
|
async resolve(rxr) {
|
|
1171
|
-
|
|
1172
|
-
|
|
1178
|
+
return {
|
|
1179
|
+
schema: undefined,
|
|
1180
|
+
execute: async () => {
|
|
1181
|
+
const buffer = await rxr.content.file("content");
|
|
1182
|
+
return JSON.parse(buffer.toString("utf-8"));
|
|
1183
|
+
}
|
|
1184
|
+
};
|
|
1173
1185
|
}
|
|
1174
1186
|
};
|
|
1175
1187
|
var jsonType = {
|
|
@@ -1192,8 +1204,14 @@ var binarySerializer = {
|
|
|
1192
1204
|
}
|
|
1193
1205
|
};
|
|
1194
1206
|
var binaryResolver = {
|
|
1207
|
+
schema: undefined,
|
|
1195
1208
|
async resolve(rxr) {
|
|
1196
|
-
return
|
|
1209
|
+
return {
|
|
1210
|
+
schema: undefined,
|
|
1211
|
+
execute: async () => {
|
|
1212
|
+
return rxr.content.file("content");
|
|
1213
|
+
}
|
|
1214
|
+
};
|
|
1197
1215
|
}
|
|
1198
1216
|
};
|
|
1199
1217
|
var binaryType = {
|
|
@@ -1292,4 +1310,4 @@ export {
|
|
|
1292
1310
|
ResourceTypeError
|
|
1293
1311
|
};
|
|
1294
1312
|
|
|
1295
|
-
//# debugId=
|
|
1313
|
+
//# debugId=5F4CE3AA025D639A64756E2164756E21
|
package/dist/index.js.map
CHANGED
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"// src/errors.ts\nclass ResourceXError extends Error {\n constructor(message, options) {\n super(message, options);\n this.name = \"ResourceXError\";\n }\n}\n\nclass LocatorError extends ResourceXError {\n locator;\n constructor(message, locator) {\n super(message);\n this.locator = locator;\n this.name = \"LocatorError\";\n }\n}\n\nclass ManifestError extends ResourceXError {\n constructor(message) {\n super(message);\n this.name = \"ManifestError\";\n }\n}\n\nclass ContentError extends ResourceXError {\n constructor(message) {\n super(message);\n this.name = \"ContentError\";\n }\n}\n// src/locator/parseRXL.ts\nclass RXLImpl {\n domain;\n path;\n name;\n type;\n version;\n constructor(parts) {\n this.domain = parts.domain;\n this.path = parts.path;\n this.name = parts.name;\n this.type = parts.type;\n this.version = parts.version;\n }\n toString() {\n let result = \"\";\n if (this.domain) {\n result += this.domain + \"/\";\n if (this.path) {\n result += this.path + \"/\";\n }\n }\n result += this.name;\n if (this.type) {\n result += \".\" + this.type;\n }\n if (this.version) {\n result += \"@\" + this.version;\n }\n return result;\n }\n}\nfunction isDomain(str) {\n if (str === \"localhost\")\n return true;\n return str.includes(\".\");\n}\nfunction parseRXL(locator) {\n let remaining = locator;\n let version;\n let type;\n let domain;\n let path;\n let name;\n const atIndex = remaining.indexOf(\"@\");\n if (atIndex !== -1) {\n version = remaining.slice(atIndex + 1);\n remaining = remaining.slice(0, atIndex);\n }\n const segments = remaining.split(\"/\");\n if (segments.length > 1 && isDomain(segments[0])) {\n domain = segments[0];\n const lastSegment = segments[segments.length - 1];\n if (segments.length > 2) {\n path = segments.slice(1, -1).join(\"/\");\n }\n remaining = lastSegment;\n } else {\n remaining = segments.join(\"/\");\n }\n const dotIndex = remaining.lastIndexOf(\".\");\n if (dotIndex !== -1) {\n type = remaining.slice(dotIndex + 1);\n name = remaining.slice(0, dotIndex);\n } else {\n name = remaining;\n }\n return new RXLImpl({ domain, path, name, type, version });\n}\n// src/manifest/createRXM.ts\nclass RXMImpl {\n domain;\n path;\n name;\n type;\n version;\n constructor(data) {\n this.domain = data.domain;\n this.path = data.path;\n this.name = data.name;\n this.type = data.type;\n this.version = data.version;\n }\n toLocator() {\n let result = this.domain + \"/\";\n if (this.path) {\n result += this.path + \"/\";\n }\n result += this.name;\n result += \".\" + this.type;\n result += \"@\" + this.version;\n return result;\n }\n toJSON() {\n const json = {\n domain: this.domain,\n name: this.name,\n type: this.type,\n version: this.version\n };\n if (this.path !== undefined) {\n json.path = this.path;\n }\n return json;\n }\n}\nfunction createRXM(data) {\n if (!data.domain) {\n throw new ManifestError(\"domain is required\");\n }\n if (!data.name) {\n throw new ManifestError(\"name is required\");\n }\n if (!data.type) {\n throw new ManifestError(\"type is required\");\n }\n if (!data.version) {\n throw new ManifestError(\"version is required\");\n }\n return new RXMImpl({\n domain: data.domain,\n path: data.path,\n name: data.name,\n type: data.type,\n version: data.version\n });\n}\n// src/content/createRXC.ts\nimport { gzip, gunzip } from \"node:zlib\";\nimport { promisify } from \"node:util\";\n\n// ../../node_modules/.bun/modern-tar@0.7.3/node_modules/modern-tar/dist/unpacker-BpPBxY8N.js\nvar BLOCK_SIZE = 512;\nvar BLOCK_SIZE_MASK = 511;\nvar DEFAULT_FILE_MODE = 420;\nvar DEFAULT_DIR_MODE = 493;\nvar USTAR_NAME_OFFSET = 0;\nvar USTAR_NAME_SIZE = 100;\nvar USTAR_MODE_OFFSET = 100;\nvar USTAR_MODE_SIZE = 8;\nvar USTAR_UID_OFFSET = 108;\nvar USTAR_UID_SIZE = 8;\nvar USTAR_GID_OFFSET = 116;\nvar USTAR_GID_SIZE = 8;\nvar USTAR_SIZE_OFFSET = 124;\nvar USTAR_SIZE_SIZE = 12;\nvar USTAR_MTIME_OFFSET = 136;\nvar USTAR_MTIME_SIZE = 12;\nvar USTAR_CHECKSUM_OFFSET = 148;\nvar USTAR_CHECKSUM_SIZE = 8;\nvar USTAR_TYPEFLAG_OFFSET = 156;\nvar USTAR_TYPEFLAG_SIZE = 1;\nvar USTAR_LINKNAME_OFFSET = 157;\nvar USTAR_LINKNAME_SIZE = 100;\nvar USTAR_MAGIC_OFFSET = 257;\nvar USTAR_MAGIC_SIZE = 6;\nvar USTAR_VERSION_OFFSET = 263;\nvar USTAR_VERSION_SIZE = 2;\nvar USTAR_UNAME_OFFSET = 265;\nvar USTAR_UNAME_SIZE = 32;\nvar USTAR_GNAME_OFFSET = 297;\nvar USTAR_GNAME_SIZE = 32;\nvar USTAR_PREFIX_OFFSET = 345;\nvar USTAR_PREFIX_SIZE = 155;\nvar USTAR_VERSION = \"00\";\nvar USTAR_MAX_UID_GID = 2097151;\nvar USTAR_MAX_SIZE = 8589934591;\nvar FILE = \"file\";\nvar LINK = \"link\";\nvar SYMLINK = \"symlink\";\nvar DIRECTORY = \"directory\";\nvar TYPEFLAG = {\n file: \"0\",\n link: \"1\",\n symlink: \"2\",\n \"character-device\": \"3\",\n \"block-device\": \"4\",\n directory: \"5\",\n fifo: \"6\",\n \"pax-header\": \"x\",\n \"pax-global-header\": \"g\",\n \"gnu-long-name\": \"L\",\n \"gnu-long-link-name\": \"K\"\n};\nvar FLAGTYPE = {\n \"0\": FILE,\n \"1\": LINK,\n \"2\": SYMLINK,\n \"3\": \"character-device\",\n \"4\": \"block-device\",\n \"5\": DIRECTORY,\n \"6\": \"fifo\",\n x: \"pax-header\",\n g: \"pax-global-header\",\n L: \"gnu-long-name\",\n K: \"gnu-long-link-name\"\n};\nvar ZERO_BLOCK = new Uint8Array(BLOCK_SIZE);\nvar EMPTY = new Uint8Array(0);\nvar encoder = new TextEncoder;\nvar decoder = new TextDecoder;\nfunction writeString(view, offset, size, value) {\n if (value)\n encoder.encodeInto(value, view.subarray(offset, offset + size));\n}\nfunction writeOctal(view, offset, size, value) {\n if (value === undefined)\n return;\n const octalString = value.toString(8).padStart(size - 1, \"0\");\n encoder.encodeInto(octalString, view.subarray(offset, offset + size - 1));\n}\nfunction readString(view, offset, size) {\n const end = view.indexOf(0, offset);\n const sliceEnd = end === -1 || end > offset + size ? offset + size : end;\n return decoder.decode(view.subarray(offset, sliceEnd));\n}\nfunction readOctal(view, offset, size) {\n let value = 0;\n const end = offset + size;\n for (let i = offset;i < end; i++) {\n const charCode = view[i];\n if (charCode === 0)\n break;\n if (charCode === 32)\n continue;\n value = value * 8 + (charCode - 48);\n }\n return value;\n}\nfunction readNumeric(view, offset, size) {\n if (view[offset] & 128) {\n let result = 0;\n result = view[offset] & 127;\n for (let i = 1;i < size; i++)\n result = result * 256 + view[offset + i];\n if (!Number.isSafeInteger(result))\n throw new Error(\"TAR number too large\");\n return result;\n }\n return readOctal(view, offset, size);\n}\nvar isBodyless = (header) => header.type === DIRECTORY || header.type === SYMLINK || header.type === LINK;\nasync function normalizeBody(body) {\n if (body === null || body === undefined)\n return EMPTY;\n if (body instanceof Uint8Array)\n return body;\n if (typeof body === \"string\")\n return encoder.encode(body);\n if (body instanceof ArrayBuffer)\n return new Uint8Array(body);\n if (body instanceof Blob)\n return new Uint8Array(await body.arrayBuffer());\n throw new TypeError(\"Unsupported content type for entry body.\");\n}\nfunction transformHeader(header, options) {\n const { strip, filter, map } = options;\n if (!strip && !filter && !map)\n return header;\n const h = { ...header };\n if (strip && strip > 0) {\n const components = h.name.split(\"/\").filter(Boolean);\n if (strip >= components.length)\n return null;\n const newName = components.slice(strip).join(\"/\");\n h.name = h.type === DIRECTORY && !newName.endsWith(\"/\") ? `${newName}/` : newName;\n if (h.linkname?.startsWith(\"/\")) {\n const linkComponents = h.linkname.split(\"/\").filter(Boolean);\n h.linkname = strip >= linkComponents.length ? \"/\" : `/${linkComponents.slice(strip).join(\"/\")}`;\n }\n }\n if (filter?.(h) === false)\n return null;\n const result = map ? map(h) : h;\n if (result && (!result.name || !result.name.trim() || result.name === \".\" || result.name === \"/\"))\n return null;\n return result;\n}\nvar CHECKSUM_SPACE = 32;\nvar ASCII_ZERO = 48;\nfunction validateChecksum(block) {\n const stored = readOctal(block, USTAR_CHECKSUM_OFFSET, USTAR_CHECKSUM_SIZE);\n let sum = 0;\n for (let i = 0;i < block.length; i++)\n if (i >= USTAR_CHECKSUM_OFFSET && i < USTAR_CHECKSUM_OFFSET + USTAR_CHECKSUM_SIZE)\n sum += CHECKSUM_SPACE;\n else\n sum += block[i];\n return stored === sum;\n}\nfunction writeChecksum(block) {\n block.fill(CHECKSUM_SPACE, USTAR_CHECKSUM_OFFSET, USTAR_CHECKSUM_OFFSET + USTAR_CHECKSUM_SIZE);\n let checksum = 0;\n for (const byte of block)\n checksum += byte;\n for (let i = USTAR_CHECKSUM_OFFSET + 6 - 1;i >= USTAR_CHECKSUM_OFFSET; i--) {\n block[i] = (checksum & 7) + ASCII_ZERO;\n checksum >>= 3;\n }\n block[USTAR_CHECKSUM_OFFSET + 6] = 0;\n block[USTAR_CHECKSUM_OFFSET + 7] = CHECKSUM_SPACE;\n}\nfunction generatePax(header) {\n const paxRecords = {};\n if (header.name.length > USTAR_NAME_SIZE) {\n if (findUstarSplit(header.name) === null)\n paxRecords.path = header.name;\n }\n if (header.linkname && header.linkname.length > USTAR_NAME_SIZE)\n paxRecords.linkpath = header.linkname;\n if (header.uname && header.uname.length > USTAR_UNAME_SIZE)\n paxRecords.uname = header.uname;\n if (header.gname && header.gname.length > USTAR_GNAME_SIZE)\n paxRecords.gname = header.gname;\n if (header.uid != null && header.uid > USTAR_MAX_UID_GID)\n paxRecords.uid = String(header.uid);\n if (header.gid != null && header.gid > USTAR_MAX_UID_GID)\n paxRecords.gid = String(header.gid);\n if (header.size != null && header.size > USTAR_MAX_SIZE)\n paxRecords.size = String(header.size);\n if (header.pax)\n Object.assign(paxRecords, header.pax);\n const paxEntries = Object.entries(paxRecords);\n if (paxEntries.length === 0)\n return null;\n const paxBody = encoder.encode(paxEntries.map(([key, value]) => {\n const record = `${key}=${value}\n`;\n const partLength = encoder.encode(record).length + 1;\n let totalLength = partLength + String(partLength).length;\n totalLength = partLength + String(totalLength).length;\n return `${totalLength} ${record}`;\n }).join(\"\"));\n return {\n paxHeader: createTarHeader({\n name: decoder.decode(encoder.encode(`PaxHeader/${header.name}`).slice(0, 100)),\n size: paxBody.length,\n type: \"pax-header\",\n mode: 420,\n mtime: header.mtime,\n uname: header.uname,\n gname: header.gname,\n uid: header.uid,\n gid: header.gid\n }),\n paxBody\n };\n}\nfunction findUstarSplit(path) {\n if (path.length <= USTAR_NAME_SIZE)\n return null;\n const minSlashIndex = path.length - USTAR_NAME_SIZE - 1;\n const slashIndex = path.lastIndexOf(\"/\", USTAR_PREFIX_SIZE);\n if (slashIndex > 0 && slashIndex >= minSlashIndex)\n return {\n prefix: path.slice(0, slashIndex),\n name: path.slice(slashIndex + 1)\n };\n return null;\n}\nfunction createTarHeader(header) {\n const view = new Uint8Array(BLOCK_SIZE);\n const size = isBodyless(header) ? 0 : header.size ?? 0;\n let name = header.name;\n let prefix = \"\";\n if (!header.pax?.path) {\n const split = findUstarSplit(name);\n if (split) {\n name = split.name;\n prefix = split.prefix;\n }\n }\n writeString(view, USTAR_NAME_OFFSET, USTAR_NAME_SIZE, name);\n writeOctal(view, USTAR_MODE_OFFSET, USTAR_MODE_SIZE, header.mode ?? (header.type === DIRECTORY ? DEFAULT_DIR_MODE : DEFAULT_FILE_MODE));\n writeOctal(view, USTAR_UID_OFFSET, USTAR_UID_SIZE, header.uid ?? 0);\n writeOctal(view, USTAR_GID_OFFSET, USTAR_GID_SIZE, header.gid ?? 0);\n writeOctal(view, USTAR_SIZE_OFFSET, USTAR_SIZE_SIZE, size);\n writeOctal(view, USTAR_MTIME_OFFSET, USTAR_MTIME_SIZE, Math.floor((header.mtime?.getTime() ?? Date.now()) / 1000));\n writeString(view, USTAR_TYPEFLAG_OFFSET, USTAR_TYPEFLAG_SIZE, TYPEFLAG[header.type ?? FILE]);\n writeString(view, USTAR_LINKNAME_OFFSET, USTAR_LINKNAME_SIZE, header.linkname);\n writeString(view, USTAR_MAGIC_OFFSET, USTAR_MAGIC_SIZE, \"ustar\\x00\");\n writeString(view, USTAR_VERSION_OFFSET, USTAR_VERSION_SIZE, USTAR_VERSION);\n writeString(view, USTAR_UNAME_OFFSET, USTAR_UNAME_SIZE, header.uname);\n writeString(view, USTAR_GNAME_OFFSET, USTAR_GNAME_SIZE, header.gname);\n writeString(view, USTAR_PREFIX_OFFSET, USTAR_PREFIX_SIZE, prefix);\n writeChecksum(view);\n return view;\n}\nfunction parseUstarHeader(block, strict) {\n if (strict && !validateChecksum(block))\n throw new Error(\"Invalid tar header checksum.\");\n const typeflag = readString(block, USTAR_TYPEFLAG_OFFSET, USTAR_TYPEFLAG_SIZE);\n const header = {\n name: readString(block, USTAR_NAME_OFFSET, USTAR_NAME_SIZE),\n mode: readOctal(block, USTAR_MODE_OFFSET, USTAR_MODE_SIZE),\n uid: readNumeric(block, USTAR_UID_OFFSET, USTAR_UID_SIZE),\n gid: readNumeric(block, USTAR_GID_OFFSET, USTAR_GID_SIZE),\n size: readNumeric(block, USTAR_SIZE_OFFSET, USTAR_SIZE_SIZE),\n mtime: /* @__PURE__ */ new Date(readNumeric(block, USTAR_MTIME_OFFSET, USTAR_MTIME_SIZE) * 1000),\n type: FLAGTYPE[typeflag] || FILE,\n linkname: readString(block, USTAR_LINKNAME_OFFSET, USTAR_LINKNAME_SIZE)\n };\n const magic = readString(block, USTAR_MAGIC_OFFSET, USTAR_MAGIC_SIZE);\n if (magic.trim() === \"ustar\") {\n header.uname = readString(block, USTAR_UNAME_OFFSET, USTAR_UNAME_SIZE);\n header.gname = readString(block, USTAR_GNAME_OFFSET, USTAR_GNAME_SIZE);\n }\n if (magic === \"ustar\")\n header.prefix = readString(block, USTAR_PREFIX_OFFSET, USTAR_PREFIX_SIZE);\n return header;\n}\nvar PAX_MAPPING = {\n path: [\"name\", (v) => v],\n linkpath: [\"linkname\", (v) => v],\n size: [\"size\", (v) => parseInt(v, 10)],\n mtime: [\"mtime\", parseFloat],\n uid: [\"uid\", (v) => parseInt(v, 10)],\n gid: [\"gid\", (v) => parseInt(v, 10)],\n uname: [\"uname\", (v) => v],\n gname: [\"gname\", (v) => v]\n};\nfunction parsePax(buffer) {\n const decoder$1 = new TextDecoder(\"utf-8\");\n const overrides = {};\n const pax = {};\n let offset = 0;\n while (offset < buffer.length) {\n const spaceIndex = buffer.indexOf(32, offset);\n if (spaceIndex === -1)\n break;\n const length = parseInt(decoder$1.decode(buffer.subarray(offset, spaceIndex)), 10);\n if (Number.isNaN(length) || length === 0)\n break;\n const recordEnd = offset + length;\n const [key, value] = decoder$1.decode(buffer.subarray(spaceIndex + 1, recordEnd - 1)).split(\"=\", 2);\n if (key && value !== undefined) {\n pax[key] = value;\n const mapping = PAX_MAPPING[key];\n if (mapping) {\n const [targetKey, parser] = mapping;\n const parsedValue = parser(value);\n if (typeof parsedValue === \"string\" || !Number.isNaN(parsedValue))\n overrides[targetKey] = parsedValue;\n }\n }\n offset = recordEnd;\n }\n if (Object.keys(pax).length > 0)\n overrides.pax = pax;\n return overrides;\n}\nfunction applyOverrides(header, overrides) {\n if (overrides.name !== undefined)\n header.name = overrides.name;\n if (overrides.linkname !== undefined)\n header.linkname = overrides.linkname;\n if (overrides.size !== undefined)\n header.size = overrides.size;\n if (overrides.mtime !== undefined)\n header.mtime = /* @__PURE__ */ new Date(overrides.mtime * 1000);\n if (overrides.uid !== undefined)\n header.uid = overrides.uid;\n if (overrides.gid !== undefined)\n header.gid = overrides.gid;\n if (overrides.uname !== undefined)\n header.uname = overrides.uname;\n if (overrides.gname !== undefined)\n header.gname = overrides.gname;\n if (overrides.pax)\n header.pax = Object.assign({}, header.pax ?? {}, overrides.pax);\n}\nfunction getMetaParser(type) {\n switch (type) {\n case \"pax-global-header\":\n case \"pax-header\":\n return parsePax;\n case \"gnu-long-name\":\n return (data) => ({ name: readString(data, 0, data.length) });\n case \"gnu-long-link-name\":\n return (data) => ({ linkname: readString(data, 0, data.length) });\n default:\n return;\n }\n}\nfunction getHeaderBlocks(header) {\n const base = createTarHeader(header);\n const pax = generatePax(header);\n if (!pax)\n return [base];\n const paxPadding = -pax.paxBody.length & BLOCK_SIZE_MASK;\n const paddingBlocks = paxPadding > 0 ? [ZERO_BLOCK.subarray(0, paxPadding)] : [];\n return [\n pax.paxHeader,\n pax.paxBody,\n ...paddingBlocks,\n base\n ];\n}\nvar EOF_BUFFER = new Uint8Array(BLOCK_SIZE * 2);\nfunction createTarPacker(onData, onError, onFinalize) {\n let currentHeader = null;\n let bytesWritten = 0;\n let finalized = false;\n return {\n add(header) {\n if (finalized) {\n const error = /* @__PURE__ */ new Error(\"No new tar entries after finalize.\");\n onError(error);\n throw error;\n }\n if (currentHeader !== null) {\n const error = /* @__PURE__ */ new Error(\"Previous entry must be completed before adding a new one\");\n onError(error);\n throw error;\n }\n try {\n const size = isBodyless(header) ? 0 : header.size ?? 0;\n const headerBlocks = getHeaderBlocks({\n ...header,\n size\n });\n for (const block of headerBlocks)\n onData(block);\n currentHeader = {\n ...header,\n size\n };\n bytesWritten = 0;\n } catch (error) {\n onError(error);\n }\n },\n write(chunk) {\n if (!currentHeader) {\n const error = /* @__PURE__ */ new Error(\"No active tar entry.\");\n onError(error);\n throw error;\n }\n if (finalized) {\n const error = /* @__PURE__ */ new Error(\"Cannot write data after finalize.\");\n onError(error);\n throw error;\n }\n const newTotal = bytesWritten + chunk.length;\n if (newTotal > currentHeader.size) {\n const error = /* @__PURE__ */ new Error(`\"${currentHeader.name}\" exceeds given size of ${currentHeader.size} bytes.`);\n onError(error);\n throw error;\n }\n try {\n bytesWritten = newTotal;\n onData(chunk);\n } catch (error) {\n onError(error);\n }\n },\n endEntry() {\n if (!currentHeader) {\n const error = /* @__PURE__ */ new Error(\"No active entry to end.\");\n onError(error);\n throw error;\n }\n if (finalized) {\n const error = /* @__PURE__ */ new Error(\"Cannot end entry after finalize.\");\n onError(error);\n throw error;\n }\n try {\n if (bytesWritten !== currentHeader.size) {\n const error = /* @__PURE__ */ new Error(`Size mismatch for \"${currentHeader.name}\".`);\n onError(error);\n throw error;\n }\n const paddingSize = -currentHeader.size & BLOCK_SIZE_MASK;\n if (paddingSize > 0)\n onData(new Uint8Array(paddingSize));\n currentHeader = null;\n bytesWritten = 0;\n } catch (error) {\n onError(error);\n throw error;\n }\n },\n finalize() {\n if (finalized) {\n const error = /* @__PURE__ */ new Error(\"Archive has already been finalized\");\n onError(error);\n throw error;\n }\n if (currentHeader !== null) {\n const error = /* @__PURE__ */ new Error(\"Cannot finalize while an entry is still active\");\n onError(error);\n throw error;\n }\n try {\n onData(EOF_BUFFER);\n finalized = true;\n if (onFinalize)\n onFinalize();\n } catch (error) {\n onError(error);\n }\n }\n };\n}\nvar INITIAL_CAPACITY = 256;\nfunction createChunkQueue() {\n let chunks = new Array(INITIAL_CAPACITY);\n let capacityMask = chunks.length - 1;\n let head = 0;\n let tail = 0;\n let totalAvailable = 0;\n const consumeFromHead = (count) => {\n const chunk = chunks[head];\n if (count === chunk.length) {\n chunks[head] = EMPTY;\n head = head + 1 & capacityMask;\n } else\n chunks[head] = chunk.subarray(count);\n totalAvailable -= count;\n if (totalAvailable === 0 && chunks.length > INITIAL_CAPACITY) {\n chunks = new Array(INITIAL_CAPACITY);\n capacityMask = INITIAL_CAPACITY - 1;\n head = 0;\n tail = 0;\n }\n };\n function pull(bytes, callback) {\n if (callback) {\n let fed = 0;\n let remaining$1 = Math.min(bytes, totalAvailable);\n while (remaining$1 > 0) {\n const chunk = chunks[head];\n const toFeed = Math.min(remaining$1, chunk.length);\n const segment = toFeed === chunk.length ? chunk : chunk.subarray(0, toFeed);\n consumeFromHead(toFeed);\n remaining$1 -= toFeed;\n fed += toFeed;\n if (!callback(segment))\n break;\n }\n return fed;\n }\n if (totalAvailable < bytes)\n return null;\n if (bytes === 0)\n return EMPTY;\n const firstChunk = chunks[head];\n if (firstChunk.length >= bytes) {\n const view = firstChunk.length === bytes ? firstChunk : firstChunk.subarray(0, bytes);\n consumeFromHead(bytes);\n return view;\n }\n const result = new Uint8Array(bytes);\n let copied = 0;\n let remaining = bytes;\n while (remaining > 0) {\n const chunk = chunks[head];\n const toCopy = Math.min(remaining, chunk.length);\n result.set(toCopy === chunk.length ? chunk : chunk.subarray(0, toCopy), copied);\n copied += toCopy;\n remaining -= toCopy;\n consumeFromHead(toCopy);\n }\n return result;\n }\n return {\n push: (chunk) => {\n if (chunk.length === 0)\n return;\n let nextTail = tail + 1 & capacityMask;\n if (nextTail === head) {\n const oldLen = chunks.length;\n const newLen = oldLen * 2;\n const newChunks = new Array(newLen);\n const count = tail - head + oldLen & oldLen - 1;\n if (head < tail)\n for (let i = 0;i < count; i++)\n newChunks[i] = chunks[head + i];\n else if (count > 0) {\n const firstPart = oldLen - head;\n for (let i = 0;i < firstPart; i++)\n newChunks[i] = chunks[head + i];\n for (let i = 0;i < tail; i++)\n newChunks[firstPart + i] = chunks[i];\n }\n chunks = newChunks;\n capacityMask = newLen - 1;\n head = 0;\n tail = count;\n nextTail = tail + 1 & capacityMask;\n }\n chunks[tail] = chunk;\n tail = nextTail;\n totalAvailable += chunk.length;\n },\n available: () => totalAvailable,\n peek: (bytes) => {\n if (totalAvailable < bytes)\n return null;\n if (bytes === 0)\n return EMPTY;\n const firstChunk = chunks[head];\n if (firstChunk.length >= bytes)\n return firstChunk.length === bytes ? firstChunk : firstChunk.subarray(0, bytes);\n const result = new Uint8Array(bytes);\n let copied = 0;\n let index = head;\n while (copied < bytes) {\n const chunk = chunks[index];\n const toCopy = Math.min(bytes - copied, chunk.length);\n if (toCopy === chunk.length)\n result.set(chunk, copied);\n else\n result.set(chunk.subarray(0, toCopy), copied);\n copied += toCopy;\n index = index + 1 & capacityMask;\n }\n return result;\n },\n discard: (bytes) => {\n if (bytes > totalAvailable)\n throw new Error(\"Too many bytes consumed\");\n if (bytes === 0)\n return;\n let remaining = bytes;\n while (remaining > 0) {\n const chunk = chunks[head];\n const toConsume = Math.min(remaining, chunk.length);\n consumeFromHead(toConsume);\n remaining -= toConsume;\n }\n },\n pull\n };\n}\nvar STATE_HEADER = 0;\nvar STATE_BODY = 1;\nvar truncateErr = /* @__PURE__ */ new Error(\"Tar archive is truncated.\");\nfunction createUnpacker(options = {}) {\n const strict = options.strict ?? false;\n const { available, peek, push, discard, pull } = createChunkQueue();\n let state = STATE_HEADER;\n let ended = false;\n let done = false;\n let eof = false;\n let currentEntry = null;\n const paxGlobals = {};\n let nextEntryOverrides = {};\n const unpacker = {\n isEntryActive: () => state === STATE_BODY,\n isBodyComplete: () => !currentEntry || currentEntry.remaining === 0,\n write(chunk) {\n if (ended)\n throw new Error(\"Archive already ended.\");\n push(chunk);\n },\n end() {\n ended = true;\n },\n readHeader() {\n if (state !== STATE_HEADER)\n throw new Error(\"Cannot read header while an entry is active\");\n if (done)\n return;\n while (!done) {\n if (available() < BLOCK_SIZE) {\n if (ended) {\n if (available() > 0 && strict)\n throw truncateErr;\n done = true;\n return;\n }\n return null;\n }\n const headerBlock = peek(BLOCK_SIZE);\n if (isZeroBlock(headerBlock)) {\n if (available() < BLOCK_SIZE * 2) {\n if (ended) {\n if (strict)\n throw truncateErr;\n done = true;\n return;\n }\n return null;\n }\n if (isZeroBlock(peek(BLOCK_SIZE * 2).subarray(BLOCK_SIZE))) {\n discard(BLOCK_SIZE * 2);\n done = true;\n eof = true;\n return;\n }\n if (strict)\n throw new Error(\"Invalid tar header.\");\n discard(BLOCK_SIZE);\n continue;\n }\n let internalHeader;\n try {\n internalHeader = parseUstarHeader(headerBlock, strict);\n } catch (err) {\n if (strict)\n throw err;\n discard(BLOCK_SIZE);\n continue;\n }\n const metaParser = getMetaParser(internalHeader.type);\n if (metaParser) {\n const paddedSize = internalHeader.size + BLOCK_SIZE_MASK & ~BLOCK_SIZE_MASK;\n if (available() < BLOCK_SIZE + paddedSize) {\n if (ended && strict)\n throw truncateErr;\n return null;\n }\n discard(BLOCK_SIZE);\n const overrides = metaParser(pull(paddedSize).subarray(0, internalHeader.size));\n const target = internalHeader.type === \"pax-global-header\" ? paxGlobals : nextEntryOverrides;\n for (const key in overrides)\n target[key] = overrides[key];\n continue;\n }\n discard(BLOCK_SIZE);\n const header = internalHeader;\n if (internalHeader.prefix)\n header.name = `${internalHeader.prefix}/${header.name}`;\n applyOverrides(header, paxGlobals);\n applyOverrides(header, nextEntryOverrides);\n nextEntryOverrides = {};\n currentEntry = {\n header,\n remaining: header.size,\n padding: -header.size & BLOCK_SIZE_MASK\n };\n state = STATE_BODY;\n return header;\n }\n },\n streamBody(callback) {\n if (state !== STATE_BODY || !currentEntry || currentEntry.remaining === 0)\n return 0;\n const bytesToFeed = Math.min(currentEntry.remaining, available());\n if (bytesToFeed === 0)\n return 0;\n const fed = pull(bytesToFeed, callback);\n currentEntry.remaining -= fed;\n return fed;\n },\n skipPadding() {\n if (state !== STATE_BODY || !currentEntry)\n return true;\n if (currentEntry.remaining > 0)\n throw new Error(\"Body not fully consumed\");\n if (available() < currentEntry.padding)\n return false;\n discard(currentEntry.padding);\n currentEntry = null;\n state = STATE_HEADER;\n return true;\n },\n skipEntry() {\n if (state !== STATE_BODY || !currentEntry)\n return true;\n const toDiscard = Math.min(currentEntry.remaining, available());\n if (toDiscard > 0) {\n discard(toDiscard);\n currentEntry.remaining -= toDiscard;\n }\n if (currentEntry.remaining > 0)\n return false;\n return unpacker.skipPadding();\n },\n validateEOF() {\n if (strict) {\n if (!eof)\n throw truncateErr;\n if (available() > 0) {\n if (pull(available()).some((byte) => byte !== 0))\n throw new Error(\"Invalid EOF.\");\n }\n }\n }\n };\n return unpacker;\n}\nfunction isZeroBlock(block) {\n if (block.byteOffset % 8 === 0) {\n const view = new BigUint64Array(block.buffer, block.byteOffset, block.length / 8);\n for (let i = 0;i < view.length; i++)\n if (view[i] !== 0n)\n return false;\n return true;\n }\n for (let i = 0;i < block.length; i++)\n if (block[i] !== 0)\n return false;\n return true;\n}\n\n// ../../node_modules/.bun/modern-tar@0.7.3/node_modules/modern-tar/dist/web/index.js\nfunction createTarPacker2() {\n let streamController;\n let packer;\n return {\n readable: new ReadableStream({ start(controller) {\n streamController = controller;\n packer = createTarPacker(controller.enqueue.bind(controller), controller.error.bind(controller), controller.close.bind(controller));\n } }),\n controller: {\n add(header) {\n const bodyless = isBodyless(header);\n const h = { ...header };\n if (bodyless)\n h.size = 0;\n packer.add(h);\n if (bodyless)\n packer.endEntry();\n return new WritableStream({\n write(chunk) {\n packer.write(chunk);\n },\n close() {\n if (!bodyless)\n packer.endEntry();\n },\n abort(reason) {\n streamController.error(reason);\n }\n });\n },\n finalize() {\n packer.finalize();\n },\n error(err) {\n streamController.error(err);\n }\n }\n };\n}\nasync function streamToBuffer(stream) {\n const chunks = [];\n const reader = stream.getReader();\n let totalLength = 0;\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done)\n break;\n chunks.push(value);\n totalLength += value.length;\n }\n const result = new Uint8Array(totalLength);\n let offset = 0;\n for (const chunk of chunks) {\n result.set(chunk, offset);\n offset += chunk.length;\n }\n return result;\n } finally {\n reader.releaseLock();\n }\n}\nvar drain = (stream) => stream.pipeTo(new WritableStream);\nfunction createTarDecoder(options = {}) {\n const unpacker = createUnpacker(options);\n let bodyController = null;\n let pumping = false;\n const pump = (controller) => {\n if (pumping)\n return;\n pumping = true;\n try {\n while (true)\n if (unpacker.isEntryActive()) {\n if (bodyController) {\n if (unpacker.streamBody((c) => (bodyController.enqueue(c), true)) === 0 && !unpacker.isBodyComplete())\n break;\n } else if (!unpacker.skipEntry())\n break;\n if (unpacker.isBodyComplete()) {\n try {\n bodyController?.close();\n } catch {}\n bodyController = null;\n if (!unpacker.skipPadding())\n break;\n }\n } else {\n const header = unpacker.readHeader();\n if (header === null || header === undefined)\n break;\n controller.enqueue({\n header,\n body: new ReadableStream({\n start(c) {\n if (header.size === 0)\n c.close();\n else\n bodyController = c;\n },\n pull: () => pump(controller),\n cancel() {\n bodyController = null;\n pump(controller);\n }\n })\n });\n }\n } catch (error) {\n try {\n bodyController?.error(error);\n } catch {}\n bodyController = null;\n throw error;\n } finally {\n pumping = false;\n }\n };\n return new TransformStream({\n transform(chunk, controller) {\n try {\n unpacker.write(chunk);\n pump(controller);\n } catch (error) {\n try {\n bodyController?.error(error);\n } catch {}\n throw error;\n }\n },\n flush(controller) {\n try {\n unpacker.end();\n pump(controller);\n unpacker.validateEOF();\n if (unpacker.isEntryActive() && !unpacker.isBodyComplete())\n try {\n bodyController?.close();\n } catch {}\n } catch (error) {\n try {\n bodyController?.error(error);\n } catch {}\n throw error;\n }\n }\n }, undefined, { highWaterMark: 1 });\n}\nasync function packTar(entries) {\n const { readable, controller } = createTarPacker2();\n await (async () => {\n for (const entry of entries) {\n const entryStream = controller.add(entry.header);\n const body = \"body\" in entry ? entry.body : entry.data;\n if (!body) {\n await entryStream.close();\n continue;\n }\n if (body instanceof ReadableStream)\n await body.pipeTo(entryStream);\n else if (body instanceof Blob)\n await body.stream().pipeTo(entryStream);\n else\n try {\n const chunk = await normalizeBody(body);\n if (chunk.length > 0) {\n const writer = entryStream.getWriter();\n await writer.write(chunk);\n await writer.close();\n } else\n await entryStream.close();\n } catch {\n throw new TypeError(`Unsupported content type for entry \"${entry.header.name}\".`);\n }\n }\n })().then(() => controller.finalize()).catch((err) => controller.error(err));\n return new Uint8Array(await streamToBuffer(readable));\n}\nasync function unpackTar(archive, options = {}) {\n const sourceStream = archive instanceof ReadableStream ? archive : new ReadableStream({ start(controller) {\n controller.enqueue(archive instanceof Uint8Array ? archive : new Uint8Array(archive));\n controller.close();\n } });\n const results = [];\n const entryStream = sourceStream.pipeThrough(createTarDecoder(options));\n for await (const entry of entryStream) {\n let processedHeader;\n try {\n processedHeader = transformHeader(entry.header, options);\n } catch (error) {\n await entry.body.cancel();\n throw error;\n }\n if (processedHeader === null) {\n await drain(entry.body);\n continue;\n }\n if (isBodyless(processedHeader)) {\n await drain(entry.body);\n results.push({ header: processedHeader });\n } else\n results.push({\n header: processedHeader,\n data: await streamToBuffer(entry.body)\n });\n }\n return results;\n}\n\n// src/content/createRXC.ts\nvar gzipAsync = promisify(gzip);\nvar gunzipAsync = promisify(gunzip);\n\nclass RXCImpl {\n _buffer;\n _filesCache = null;\n constructor(buffer) {\n this._buffer = buffer;\n }\n get stream() {\n const buffer = this._buffer;\n return new ReadableStream({\n start(controller) {\n controller.enqueue(new Uint8Array(buffer));\n controller.close();\n }\n });\n }\n async buffer() {\n return this._buffer;\n }\n async file(path) {\n const filesMap = await this.files();\n const content = filesMap.get(path);\n if (!content) {\n throw new ContentError(`file not found: ${path}`);\n }\n return content;\n }\n async files() {\n if (this._filesCache) {\n return this._filesCache;\n }\n const tarBuffer = await gunzipAsync(this._buffer);\n const entries = await unpackTar(tarBuffer);\n const filesMap = new Map;\n for (const entry of entries) {\n if ((entry.header.type === \"file\" || entry.header.type === undefined) && entry.data) {\n filesMap.set(entry.header.name, Buffer.from(entry.data));\n }\n }\n this._filesCache = filesMap;\n return filesMap;\n }\n}\nfunction isArchiveInput(input) {\n return \"archive\" in input && Buffer.isBuffer(input.archive);\n}\nasync function createRXC(input) {\n if (isArchiveInput(input)) {\n return new RXCImpl(input.archive);\n }\n const entries = Object.entries(input).map(([name, content]) => {\n const body = typeof content === \"string\" ? content : content instanceof Uint8Array ? content : new Uint8Array(content);\n const size = typeof content === \"string\" ? Buffer.byteLength(content) : content.length;\n return {\n header: { name, size, type: \"file\" },\n body\n };\n });\n const tarBuffer = await packTar(entries);\n const gzipBuffer = await gzipAsync(Buffer.from(tarBuffer));\n return new RXCImpl(gzipBuffer);\n}\nexport {\n parseRXL,\n createRXM,\n createRXC,\n ResourceXError,\n ManifestError,\n LocatorError,\n ContentError\n};\n\n//# debugId=3D46BAF324E7BC5864756E2164756E21\n",
|
|
6
6
|
"import { ResourceXError } from \"@resourcexjs/core\";\n\n/**\n * Resource type related error.\n */\nexport class ResourceTypeError extends ResourceXError {\n constructor(message: string) {\n super(message);\n this.name = \"ResourceTypeError\";\n }\n}\n",
|
|
7
|
-
"import type {
|
|
8
|
-
"import type { ResourceType } from \"./types.js\";\nimport type { RXR, RXM } from \"@resourcexjs/core\";\nimport { ResourceTypeError } from \"./errors.js\";\nimport { builtinTypes } from \"./builtinTypes.js\";\n\n/**\n * TypeHandlerChain - Global singleton for type handling.\n * Manages type registration and delegates serialization/deserialization.\n */\nexport class TypeHandlerChain {\n private static instance: TypeHandlerChain;\n private handlers: Map<string, ResourceType> = new Map();\n\n private constructor() {\n // Auto-register builtin types\n for (const type of builtinTypes) {\n this.registerBuiltin(type);\n }\n }\n\n /**\n * Get the global singleton instance.\n */\n static getInstance(): TypeHandlerChain {\n if (!TypeHandlerChain.instance) {\n TypeHandlerChain.instance = new TypeHandlerChain();\n }\n return TypeHandlerChain.instance;\n }\n\n /**\n * Register a builtin type (private, called during initialization).\n */\n private registerBuiltin(type: ResourceType): void {\n this.handlers.set(type.name, type);\n if (type.aliases) {\n for (const alias of type.aliases) {\n this.handlers.set(alias, type);\n }\n }\n }\n\n /**\n * Register an extension type (public, for user-defined types).\n * @throws ResourceTypeError if type is already registered\n */\n register(type: ResourceType): void {\n if (this.handlers.has(type.name)) {\n throw new ResourceTypeError(`Type '${type.name}' is already registered`);\n }\n this.handlers.set(type.name, type);\n if (type.aliases) {\n for (const alias of type.aliases) {\n if (this.handlers.has(alias)) {\n throw new ResourceTypeError(`Alias '${alias}' conflicts with existing type or alias`);\n }\n this.handlers.set(alias, type);\n }\n }\n }\n\n /**\n * Check if a type is supported.\n */\n canHandle(typeName: string): boolean {\n return this.handlers.has(typeName);\n }\n\n /**\n * Get handler for a type.\n */\n getHandler(typeName: string): ResourceType | undefined {\n return this.handlers.get(typeName);\n }\n\n /**\n * Get all supported type names (including aliases).\n */\n getSupportedTypes(): string[] {\n return Array.from(this.handlers.keys());\n }\n\n /**\n * Serialize RXR content using the appropriate type handler.\n * @throws ResourceTypeError if type is not supported\n */\n async serialize(rxr: RXR): Promise<Buffer> {\n const typeName = rxr.manifest.type;\n const handler = this.handlers.get(typeName);\n\n if (!handler) {\n throw new ResourceTypeError(`Unsupported resource type: ${typeName}`);\n }\n\n return handler.serializer.serialize(rxr);\n }\n\n /**\n * Deserialize content into RXR using the appropriate type handler.\n * @throws ResourceTypeError if type is not supported\n */\n async deserialize(data: Buffer, manifest: RXM): Promise<RXR> {\n const typeName = manifest.type;\n const handler = this.handlers.get(typeName);\n\n if (!handler) {\n throw new ResourceTypeError(`Unsupported resource type: ${typeName}`);\n }\n\n return handler.serializer.deserialize(data, manifest);\n }\n\n /**\n * Resolve RXR content into
|
|
7
|
+
"import type {\n ResourceType,\n ResourceSerializer,\n ResourceResolver,\n ResolvedResource,\n} from \"./types.js\";\nimport type { RXR, RXM } from \"@resourcexjs/core\";\nimport { createRXC, parseRXL } from \"@resourcexjs/core\";\n\n/**\n * Text serializer - stores RXC archive as-is\n */\nconst textSerializer: ResourceSerializer = {\n async serialize(rxr: RXR): Promise<Buffer> {\n return rxr.content.buffer();\n },\n\n async deserialize(data: Buffer, manifest: RXM): Promise<RXR> {\n return {\n locator: parseRXL(manifest.toLocator()),\n manifest,\n content: await createRXC({ archive: data }),\n };\n },\n};\n\n/**\n * Text resolver - returns structured result with execute function (lazy)\n */\nconst textResolver: ResourceResolver<void, string> = {\n schema: undefined,\n async resolve(rxr: RXR): Promise<ResolvedResource<void, string>> {\n return {\n schema: undefined,\n execute: async () => {\n const buffer = await rxr.content.file(\"content\");\n return buffer.toString(\"utf-8\");\n },\n };\n },\n};\n\n/**\n * Text resource type\n */\nexport const textType: ResourceType<void, string> = {\n name: \"text\",\n aliases: [\"txt\", \"plaintext\"],\n description: \"Plain text content\",\n serializer: textSerializer,\n resolver: textResolver,\n};\n\n/**\n * JSON serializer - stores RXC archive as-is\n */\nconst jsonSerializer: ResourceSerializer = {\n async serialize(rxr: RXR): Promise<Buffer> {\n return rxr.content.buffer();\n },\n\n async deserialize(data: Buffer, manifest: RXM): Promise<RXR> {\n return {\n locator: parseRXL(manifest.toLocator()),\n manifest,\n content: await createRXC({ archive: data }),\n };\n },\n};\n\n/**\n * JSON resolver - returns structured result with execute function (lazy)\n */\nconst jsonResolver: ResourceResolver<void, unknown> = {\n schema: undefined,\n async resolve(rxr: RXR): Promise<ResolvedResource<void, unknown>> {\n return {\n schema: undefined,\n execute: async () => {\n const buffer = await rxr.content.file(\"content\");\n return JSON.parse(buffer.toString(\"utf-8\"));\n },\n };\n },\n};\n\n/**\n * JSON resource type\n */\nexport const jsonType: ResourceType<void, unknown> = {\n name: \"json\",\n aliases: [\"config\", \"manifest\"],\n description: \"JSON content\",\n serializer: jsonSerializer,\n resolver: jsonResolver,\n};\n\n/**\n * Binary serializer - stores RXC archive as-is\n */\nconst binarySerializer: ResourceSerializer = {\n async serialize(rxr: RXR): Promise<Buffer> {\n return rxr.content.buffer();\n },\n\n async deserialize(data: Buffer, manifest: RXM): Promise<RXR> {\n return {\n locator: parseRXL(manifest.toLocator()),\n manifest,\n content: await createRXC({ archive: data }),\n };\n },\n};\n\n/**\n * Binary resolver - returns structured result with execute function (lazy)\n */\nconst binaryResolver: ResourceResolver<void, Buffer> = {\n schema: undefined,\n async resolve(rxr: RXR): Promise<ResolvedResource<void, Buffer>> {\n return {\n schema: undefined,\n execute: async () => {\n return rxr.content.file(\"content\");\n },\n };\n },\n};\n\n/**\n * Binary resource type\n */\nexport const binaryType: ResourceType<void, Buffer> = {\n name: \"binary\",\n aliases: [\"bin\", \"blob\", \"raw\"],\n description: \"Binary content\",\n serializer: binarySerializer,\n resolver: binaryResolver,\n};\n\n/**\n * All built-in types\n */\nexport const builtinTypes: ResourceType<void, unknown>[] = [textType, jsonType, binaryType];\n",
|
|
8
|
+
"import type { ResourceType, ResolvedResource } from \"./types.js\";\nimport type { RXR, RXM } from \"@resourcexjs/core\";\nimport { ResourceTypeError } from \"./errors.js\";\nimport { builtinTypes } from \"./builtinTypes.js\";\n\n/**\n * TypeHandlerChain - Global singleton for type handling.\n * Manages type registration and delegates serialization/deserialization.\n */\nexport class TypeHandlerChain {\n private static instance: TypeHandlerChain;\n private handlers: Map<string, ResourceType> = new Map();\n\n private constructor() {\n // Auto-register builtin types\n for (const type of builtinTypes) {\n this.registerBuiltin(type);\n }\n }\n\n /**\n * Get the global singleton instance.\n */\n static getInstance(): TypeHandlerChain {\n if (!TypeHandlerChain.instance) {\n TypeHandlerChain.instance = new TypeHandlerChain();\n }\n return TypeHandlerChain.instance;\n }\n\n /**\n * Register a builtin type (private, called during initialization).\n */\n private registerBuiltin(type: ResourceType): void {\n this.handlers.set(type.name, type);\n if (type.aliases) {\n for (const alias of type.aliases) {\n this.handlers.set(alias, type);\n }\n }\n }\n\n /**\n * Register an extension type (public, for user-defined types).\n * @throws ResourceTypeError if type is already registered\n */\n register(type: ResourceType): void {\n if (this.handlers.has(type.name)) {\n throw new ResourceTypeError(`Type '${type.name}' is already registered`);\n }\n this.handlers.set(type.name, type);\n if (type.aliases) {\n for (const alias of type.aliases) {\n if (this.handlers.has(alias)) {\n throw new ResourceTypeError(`Alias '${alias}' conflicts with existing type or alias`);\n }\n this.handlers.set(alias, type);\n }\n }\n }\n\n /**\n * Check if a type is supported.\n */\n canHandle(typeName: string): boolean {\n return this.handlers.has(typeName);\n }\n\n /**\n * Get handler for a type.\n */\n getHandler(typeName: string): ResourceType | undefined {\n return this.handlers.get(typeName);\n }\n\n /**\n * Get all supported type names (including aliases).\n */\n getSupportedTypes(): string[] {\n return Array.from(this.handlers.keys());\n }\n\n /**\n * Serialize RXR content using the appropriate type handler.\n * @throws ResourceTypeError if type is not supported\n */\n async serialize(rxr: RXR): Promise<Buffer> {\n const typeName = rxr.manifest.type;\n const handler = this.handlers.get(typeName);\n\n if (!handler) {\n throw new ResourceTypeError(`Unsupported resource type: ${typeName}`);\n }\n\n return handler.serializer.serialize(rxr);\n }\n\n /**\n * Deserialize content into RXR using the appropriate type handler.\n * @throws ResourceTypeError if type is not supported\n */\n async deserialize(data: Buffer, manifest: RXM): Promise<RXR> {\n const typeName = manifest.type;\n const handler = this.handlers.get(typeName);\n\n if (!handler) {\n throw new ResourceTypeError(`Unsupported resource type: ${typeName}`);\n }\n\n return handler.serializer.deserialize(data, manifest);\n }\n\n /**\n * Resolve RXR content into structured result object using the appropriate type handler.\n * Returns an object with execute function and optional schema.\n * @throws ResourceTypeError if type is not supported\n */\n async resolve<TArgs = void, TResult = unknown>(\n rxr: RXR\n ): Promise<ResolvedResource<TArgs, TResult>> {\n const typeName = rxr.manifest.type;\n const handler = this.handlers.get(typeName);\n\n if (!handler) {\n throw new ResourceTypeError(`Unsupported resource type: ${typeName}`);\n }\n\n return handler.resolver.resolve(rxr) as Promise<ResolvedResource<TArgs, TResult>>;\n }\n\n /**\n * Clear all extension types (for testing).\n * Keeps builtin types intact.\n */\n clearExtensions(): void {\n this.handlers.clear();\n for (const type of builtinTypes) {\n this.registerBuiltin(type);\n }\n }\n}\n\n/**\n * Global singleton instance of TypeHandlerChain.\n * All type registration and handling goes through this instance.\n */\nexport const globalTypeHandlerChain: TypeHandlerChain = TypeHandlerChain.getInstance();\n"
|
|
9
9
|
],
|
|
10
|
-
"mappings": "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",
|
|
11
|
-
"debugId": "
|
|
10
|
+
"mappings": "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",
|
|
11
|
+
"debugId": "5F4CE3AA025D639A64756E2164756E21",
|
|
12
12
|
"names": []
|
|
13
13
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@resourcexjs/type",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "ResourceX Type System - Type handlers and serialization",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"resourcex",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"clean": "rm -rf dist"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@resourcexjs/core": "^1.
|
|
41
|
+
"@resourcexjs/core": "^1.4.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {},
|
|
44
44
|
"publishConfig": {
|