@kvman/sdk 0.1.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.
Files changed (55) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +15 -0
  3. package/dist/ctx.d.ts +142 -0
  4. package/dist/ctx.d.ts.map +1 -0
  5. package/dist/ctx.js +2 -0
  6. package/dist/ctx.js.map +1 -0
  7. package/dist/envelope.d.ts +285 -0
  8. package/dist/envelope.d.ts.map +1 -0
  9. package/dist/envelope.js +25 -0
  10. package/dist/envelope.js.map +1 -0
  11. package/dist/index.d.ts +14 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +14 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/json.d.ts +14 -0
  16. package/dist/json.d.ts.map +1 -0
  17. package/dist/json.js +4 -0
  18. package/dist/json.js.map +1 -0
  19. package/dist/kernel-api.d.ts +550 -0
  20. package/dist/kernel-api.d.ts.map +1 -0
  21. package/dist/kernel-api.js +110 -0
  22. package/dist/kernel-api.js.map +1 -0
  23. package/dist/manifest.d.ts +34 -0
  24. package/dist/manifest.d.ts.map +1 -0
  25. package/dist/manifest.js +25 -0
  26. package/dist/manifest.js.map +1 -0
  27. package/dist/preset.d.ts +38 -0
  28. package/dist/preset.d.ts.map +1 -0
  29. package/dist/preset.js +26 -0
  30. package/dist/preset.js.map +1 -0
  31. package/dist/problem.d.ts +63 -0
  32. package/dist/problem.d.ts.map +1 -0
  33. package/dist/problem.js +45 -0
  34. package/dist/problem.js.map +1 -0
  35. package/dist/registrations.d.ts +92 -0
  36. package/dist/registrations.d.ts.map +1 -0
  37. package/dist/registrations.js +2 -0
  38. package/dist/registrations.js.map +1 -0
  39. package/dist/registry.d.ts +24 -0
  40. package/dist/registry.d.ts.map +1 -0
  41. package/dist/registry.js +2 -0
  42. package/dist/registry.js.map +1 -0
  43. package/dist/rows.d.ts +113 -0
  44. package/dist/rows.d.ts.map +1 -0
  45. package/dist/rows.js +53 -0
  46. package/dist/rows.js.map +1 -0
  47. package/dist/store.d.ts +90 -0
  48. package/dist/store.d.ts.map +1 -0
  49. package/dist/store.js +2 -0
  50. package/dist/store.js.map +1 -0
  51. package/dist/web.d.ts +158 -0
  52. package/dist/web.d.ts.map +1 -0
  53. package/dist/web.js +2 -0
  54. package/dist/web.js.map +1 -0
  55. package/package.json +39 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kernel-api.js","sourceRoot":"","sources":["../src/kernel-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { z } from 'zod';
2
+ /** Accepts an npm package name, such as `@kvman/kvai`. */
3
+ export declare const packageNameSchema: z.ZodString;
4
+ /** Accepts an exact semantic version, such as `1.2.3` or `1.0.0-beta.1`. */
5
+ export declare const exactVersionSchema: z.ZodString;
6
+ /** Accepts an extension namespace: lowercase, with kebab-case words. */
7
+ export declare const namespaceSchema: z.ZodString;
8
+ /** Accepts the `kvman` field of an extension's package.json; unknown keys fail. */
9
+ export declare const kvmanFieldSchema: z.ZodObject<{
10
+ namespace: z.ZodString;
11
+ source: z.ZodOptional<z.ZodString>;
12
+ web: z.ZodOptional<z.ZodString>;
13
+ dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
14
+ }, z.core.$strict>;
15
+ /** The `kvman` field: namespace, optional TypeScript source, web folder, and extension dependencies with ranges. */
16
+ export type KvmanField = z.infer<typeof kvmanFieldSchema>;
17
+ /** Accepts an extension's package.json: name, version, `main`, the `@kvman/sdk` peer, and the `kvman` field. */
18
+ export declare const extensionManifestSchema: z.ZodObject<{
19
+ name: z.ZodString;
20
+ version: z.ZodString;
21
+ main: z.ZodString;
22
+ peerDependencies: z.ZodObject<{
23
+ '@kvman/sdk': z.ZodString;
24
+ }, z.core.$loose>;
25
+ kvman: z.ZodObject<{
26
+ namespace: z.ZodString;
27
+ source: z.ZodOptional<z.ZodString>;
28
+ web: z.ZodOptional<z.ZodString>;
29
+ dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
30
+ }, z.core.$strict>;
31
+ }, z.core.$strip>;
32
+ /** The parts of an extension's package.json that the kernel reads. */
33
+ export type ExtensionManifest = z.infer<typeof extensionManifestSchema>;
34
+ //# sourceMappingURL=manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,0DAA0D;AAC1D,eAAO,MAAM,iBAAiB,aAA2E,CAAC;AAE1G,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,aAE4G,CAAC;AAE5I,wEAAwE;AACxE,eAAO,MAAM,eAAe,aAAsD,CAAC;AAEnF,mFAAmF;AACnF,eAAO,MAAM,gBAAgB;;;;;kBAK3B,CAAC;AAEH,oHAAoH;AACpH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,gHAAgH;AAChH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;iBAMlC,CAAC;AAEH,sEAAsE;AACtE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { z } from 'zod';
2
+ /** Accepts an npm package name, such as `@kvman/kvai`. */
3
+ export const packageNameSchema = z.string().regex(/^(?:@[a-z0-9][a-z0-9._~-]*\/)?[a-z0-9][a-z0-9._~-]*$/);
4
+ /** Accepts an exact semantic version, such as `1.2.3` or `1.0.0-beta.1`. */
5
+ export const exactVersionSchema = z
6
+ .string()
7
+ .regex(/^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/);
8
+ /** Accepts an extension namespace: lowercase, with kebab-case words. */
9
+ export const namespaceSchema = z.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/);
10
+ /** Accepts the `kvman` field of an extension's package.json; unknown keys fail. */
11
+ export const kvmanFieldSchema = z.strictObject({
12
+ namespace: namespaceSchema,
13
+ source: z.string().min(1).optional(),
14
+ web: z.string().min(1).optional(),
15
+ dependencies: z.record(packageNameSchema, z.string().min(1)).optional(),
16
+ });
17
+ /** Accepts an extension's package.json: name, version, `main`, the `@kvman/sdk` peer, and the `kvman` field. */
18
+ export const extensionManifestSchema = z.object({
19
+ name: packageNameSchema,
20
+ version: exactVersionSchema,
21
+ main: z.string().min(1),
22
+ peerDependencies: z.looseObject({ '@kvman/sdk': z.string().min(1) }),
23
+ kvman: kvmanFieldSchema,
24
+ });
25
+ //# sourceMappingURL=manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,0DAA0D;AAC1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;AAE1G,4EAA4E;AAC5E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,EAAE;KACR,KAAK,CAAC,iIAAiI,CAAC,CAAC;AAE5I,wEAAwE;AACxE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;AAEnF,mFAAmF;AACnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,YAAY,CAAC;IAC7C,SAAS,EAAE,eAAe;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACxE,CAAC,CAAC;AAKH,gHAAgH;AAChH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,kBAAkB;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,gBAAgB,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,KAAK,EAAE,gBAAgB;CACxB,CAAC,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { z } from 'zod';
2
+ /** Accepts where an extension comes from: `bundled`, `npm:<exact version>`, or `path:<folder>`. */
3
+ export declare const extensionSourceSchema: z.ZodUnion<readonly [z.ZodLiteral<"bundled">, z.ZodTemplateLiteral<`npm:${string}`>, z.ZodTemplateLiteral<`path:${string}`>]>;
4
+ /** Where an extension comes from. */
5
+ export type ExtensionSource = z.infer<typeof extensionSourceSchema>;
6
+ /** Accepts a source that carries the extension's name: `bundled:<name>`, `npm:<name>@<exact version>`, or `path:<folder>`. */
7
+ export declare const installSourceSchema: z.ZodUnion<readonly [z.ZodTemplateLiteral<`bundled:${string}`>, z.ZodTemplateLiteral<`npm:${string}@${string}`>, z.ZodTemplateLiteral<`path:${string}`>]>;
8
+ /** A source as a person gives it to `kernel.extensions.install`. */
9
+ export type InstallSource = z.infer<typeof installSourceSchema>;
10
+ /** Accepts a preset: its name, the extensions of the run, and preset-level setting values; unknown keys fail. */
11
+ export declare const presetSchema: z.ZodObject<{
12
+ name: z.ZodString;
13
+ extensions: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodLiteral<"bundled">, z.ZodTemplateLiteral<`npm:${string}`>, z.ZodTemplateLiteral<`path:${string}`>]>>;
14
+ settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("./json.ts").Json, unknown, z.core.$ZodTypeInternals<import("./json.ts").Json, unknown>>>>;
15
+ }, z.core.$strict>;
16
+ /** A preset: the whole app for one run. */
17
+ export type Preset = z.infer<typeof presetSchema>;
18
+ /** Where the running preset came from: bundled with kvman, a person's `<home>/presets/` copy, or a file. */
19
+ export declare const presetOriginSchema: z.ZodEnum<{
20
+ file: "file";
21
+ bundled: "bundled";
22
+ home: "home";
23
+ }>;
24
+ /** A preset as stored now, with where it came from and the file an edit writes. */
25
+ export declare const presetStateSchema: z.ZodObject<{
26
+ name: z.ZodString;
27
+ extensions: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodLiteral<"bundled">, z.ZodTemplateLiteral<`npm:${string}`>, z.ZodTemplateLiteral<`path:${string}`>]>>;
28
+ settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("./json.ts").Json, unknown, z.core.$ZodTypeInternals<import("./json.ts").Json, unknown>>>>;
29
+ origin: z.ZodEnum<{
30
+ file: "file";
31
+ bundled: "bundled";
32
+ home: "home";
33
+ }>;
34
+ file: z.ZodExactOptional<z.ZodString>;
35
+ }, z.core.$strict>;
36
+ /** A preset as stored now. */
37
+ export type PresetState = z.infer<typeof presetStateSchema>;
38
+ //# sourceMappingURL=preset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../src/preset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,mGAAmG;AACnG,eAAO,MAAM,qBAAqB,+HAIhC,CAAC;AAEH,qCAAqC;AACrC,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,8HAA8H;AAC9H,eAAO,MAAM,mBAAmB,2JAI9B,CAAC;AAEH,oEAAoE;AACpE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,iHAAiH;AACjH,eAAO,MAAM,YAAY;;;;kBAIvB,CAAC;AAEH,2CAA2C;AAC3C,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,4GAA4G;AAC5G,eAAO,MAAM,kBAAkB;;;;EAAsC,CAAC;AAEtE,mFAAmF;AACnF,eAAO,MAAM,iBAAiB;;;;;;;;;;kBAAwF,CAAC;AAEvH,8BAA8B;AAC9B,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
package/dist/preset.js ADDED
@@ -0,0 +1,26 @@
1
+ import { z } from 'zod';
2
+ import { jsonSchema } from "./json.js";
3
+ import { exactVersionSchema, packageNameSchema } from "./manifest.js";
4
+ /** Accepts where an extension comes from: `bundled`, `npm:<exact version>`, or `path:<folder>`. */
5
+ export const extensionSourceSchema = z.union([
6
+ z.literal('bundled'),
7
+ z.templateLiteral(['npm:', exactVersionSchema]),
8
+ z.templateLiteral(['path:', z.string().min(1)]),
9
+ ]);
10
+ /** Accepts a source that carries the extension's name: `bundled:<name>`, `npm:<name>@<exact version>`, or `path:<folder>`. */
11
+ export const installSourceSchema = z.union([
12
+ z.templateLiteral(['bundled:', packageNameSchema]),
13
+ z.templateLiteral(['npm:', packageNameSchema, '@', exactVersionSchema]),
14
+ z.templateLiteral(['path:', z.string().min(1)]),
15
+ ]);
16
+ /** Accepts a preset: its name, the extensions of the run, and preset-level setting values; unknown keys fail. */
17
+ export const presetSchema = z.strictObject({
18
+ name: z.string().min(1),
19
+ extensions: z.record(packageNameSchema, extensionSourceSchema),
20
+ settings: z.record(z.string().min(1), jsonSchema).optional(),
21
+ });
22
+ /** Where the running preset came from: bundled with kvman, a person's `<home>/presets/` copy, or a file. */
23
+ export const presetOriginSchema = z.enum(['bundled', 'home', 'file']);
24
+ /** A preset as stored now, with where it came from and the file an edit writes. */
25
+ export const presetStateSchema = presetSchema.extend({ origin: presetOriginSchema, file: z.string().exactOptional() });
26
+ //# sourceMappingURL=preset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preset.js","sourceRoot":"","sources":["../src/preset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEtE,mGAAmG;AACnG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC3C,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IACpB,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC/C,CAAC,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;CAChD,CAAC,CAAC;AAKH,8HAA8H;AAC9H,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC;IACzC,CAAC,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAClD,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC;IACvE,CAAC,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;CAChD,CAAC,CAAC;AAKH,iHAAiH;AACjH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;IAC9D,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,QAAQ,EAAE;CAC7D,CAAC,CAAC;AAKH,4GAA4G;AAC5G,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEtE,mFAAmF;AACnF,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { z } from 'zod';
2
+ /** The kernel's error codes (plan 05). */
3
+ export declare const kernelProblemCodes: readonly ["VALIDATION_FAILED", "NOT_FOUND", "NOT_PUBLIC", "NOT_A_COMMAND", "READ_ONLY", "NO_JOB", "TOO_LARGE", "TOO_DEEP", "TIMEOUT", "CANCELLED", "WORKER_CRASHED", "INTERRUPTED", "HANDLER_FAILED", "FORBIDDEN_ORIGIN", "PROCESS_RUNNING", "PORT_IN_USE", "EXTENSION_INVALID", "KVMAN_RUNNING"];
4
+ /** One of the kernel's error codes. */
5
+ export type KernelProblemCode = (typeof kernelProblemCodes)[number];
6
+ /** An extension's error code: `<namespace>/UPPER_SNAKE`. */
7
+ export declare const extensionProblemCodePattern: RegExp;
8
+ /** Accepts a kernel code or an extension code. */
9
+ export declare const problemCodeSchema: z.ZodUnion<readonly [z.ZodEnum<{
10
+ VALIDATION_FAILED: "VALIDATION_FAILED";
11
+ NOT_FOUND: "NOT_FOUND";
12
+ NOT_PUBLIC: "NOT_PUBLIC";
13
+ NOT_A_COMMAND: "NOT_A_COMMAND";
14
+ READ_ONLY: "READ_ONLY";
15
+ NO_JOB: "NO_JOB";
16
+ TOO_LARGE: "TOO_LARGE";
17
+ TOO_DEEP: "TOO_DEEP";
18
+ TIMEOUT: "TIMEOUT";
19
+ CANCELLED: "CANCELLED";
20
+ WORKER_CRASHED: "WORKER_CRASHED";
21
+ INTERRUPTED: "INTERRUPTED";
22
+ HANDLER_FAILED: "HANDLER_FAILED";
23
+ FORBIDDEN_ORIGIN: "FORBIDDEN_ORIGIN";
24
+ PROCESS_RUNNING: "PROCESS_RUNNING";
25
+ PORT_IN_USE: "PORT_IN_USE";
26
+ EXTENSION_INVALID: "EXTENSION_INVALID";
27
+ KVMAN_RUNNING: "KVMAN_RUNNING";
28
+ }>, z.ZodString]>;
29
+ /** Accepts a Problem: `{ code, message, params? }`. */
30
+ export declare const problemSchema: z.ZodObject<{
31
+ code: z.ZodUnion<readonly [z.ZodEnum<{
32
+ VALIDATION_FAILED: "VALIDATION_FAILED";
33
+ NOT_FOUND: "NOT_FOUND";
34
+ NOT_PUBLIC: "NOT_PUBLIC";
35
+ NOT_A_COMMAND: "NOT_A_COMMAND";
36
+ READ_ONLY: "READ_ONLY";
37
+ NO_JOB: "NO_JOB";
38
+ TOO_LARGE: "TOO_LARGE";
39
+ TOO_DEEP: "TOO_DEEP";
40
+ TIMEOUT: "TIMEOUT";
41
+ CANCELLED: "CANCELLED";
42
+ WORKER_CRASHED: "WORKER_CRASHED";
43
+ INTERRUPTED: "INTERRUPTED";
44
+ HANDLER_FAILED: "HANDLER_FAILED";
45
+ FORBIDDEN_ORIGIN: "FORBIDDEN_ORIGIN";
46
+ PROCESS_RUNNING: "PROCESS_RUNNING";
47
+ PORT_IN_USE: "PORT_IN_USE";
48
+ EXTENSION_INVALID: "EXTENSION_INVALID";
49
+ KVMAN_RUNNING: "KVMAN_RUNNING";
50
+ }>, z.ZodString]>;
51
+ message: z.ZodString;
52
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("./json.ts").Json, unknown, z.core.$ZodTypeInternals<import("./json.ts").Json, unknown>>>>;
53
+ }, z.core.$strict>;
54
+ /** A failure: a catalog code, an English message for logs, and optional JSON params. */
55
+ export type Problem = z.infer<typeof problemSchema>;
56
+ /** The error that carries a Problem; throwing it fails the job with that Problem. */
57
+ export declare class ProblemError extends Error {
58
+ /** The Problem this error carries. */
59
+ readonly problem: Problem;
60
+ /** Wraps a Problem, using its message as the error message. */
61
+ constructor(problem: Problem);
62
+ }
63
+ //# sourceMappingURL=problem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"problem.d.ts","sourceRoot":"","sources":["../src/problem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,0CAA0C;AAC1C,eAAO,MAAM,kBAAkB,mSAmBrB,CAAC;AAEX,uCAAuC;AACvC,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,4DAA4D;AAC5D,eAAO,MAAM,2BAA2B,QAAmE,CAAC;AAE5G,kDAAkD;AAClD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;iBAAuF,CAAC;AAEtH,uDAAuD;AACvD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;kBAIxB,CAAC;AAEH,wFAAwF;AACxF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,qFAAqF;AACrF,qBAAa,YAAa,SAAQ,KAAK;IACrC,sCAAsC;IACtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B,+DAA+D;gBACnD,OAAO,EAAE,OAAO;CAK7B"}
@@ -0,0 +1,45 @@
1
+ import { z } from 'zod';
2
+ import { jsonSchema } from "./json.js";
3
+ /** The kernel's error codes (plan 05). */
4
+ export const kernelProblemCodes = [
5
+ 'VALIDATION_FAILED',
6
+ 'NOT_FOUND',
7
+ 'NOT_PUBLIC',
8
+ 'NOT_A_COMMAND',
9
+ 'READ_ONLY',
10
+ 'NO_JOB',
11
+ 'TOO_LARGE',
12
+ 'TOO_DEEP',
13
+ 'TIMEOUT',
14
+ 'CANCELLED',
15
+ 'WORKER_CRASHED',
16
+ 'INTERRUPTED',
17
+ 'HANDLER_FAILED',
18
+ 'FORBIDDEN_ORIGIN',
19
+ 'PROCESS_RUNNING',
20
+ 'PORT_IN_USE',
21
+ 'EXTENSION_INVALID',
22
+ 'KVMAN_RUNNING',
23
+ ];
24
+ /** An extension's error code: `<namespace>/UPPER_SNAKE`. */
25
+ export const extensionProblemCodePattern = /^[a-z][a-z0-9]*(?:-[a-z0-9]+)*\/[A-Z][A-Z0-9]*(?:_[A-Z0-9]+)*$/;
26
+ /** Accepts a kernel code or an extension code. */
27
+ export const problemCodeSchema = z.union([z.enum(kernelProblemCodes), z.string().regex(extensionProblemCodePattern)]);
28
+ /** Accepts a Problem: `{ code, message, params? }`. */
29
+ export const problemSchema = z.strictObject({
30
+ code: problemCodeSchema,
31
+ message: z.string(),
32
+ params: z.record(z.string(), jsonSchema).optional(),
33
+ });
34
+ /** The error that carries a Problem; throwing it fails the job with that Problem. */
35
+ export class ProblemError extends Error {
36
+ /** The Problem this error carries. */
37
+ problem;
38
+ /** Wraps a Problem, using its message as the error message. */
39
+ constructor(problem) {
40
+ super(problem.message);
41
+ this.name = 'ProblemError';
42
+ this.problem = problem;
43
+ }
44
+ }
45
+ //# sourceMappingURL=problem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"problem.js","sourceRoot":"","sources":["../src/problem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,0CAA0C;AAC1C,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,mBAAmB;IACnB,WAAW;IACX,YAAY;IACZ,eAAe;IACf,WAAW;IACX,QAAQ;IACR,WAAW;IACX,UAAU;IACV,SAAS;IACT,WAAW;IACX,gBAAgB;IAChB,aAAa;IACb,gBAAgB;IAChB,kBAAkB;IAClB,iBAAiB;IACjB,aAAa;IACb,mBAAmB;IACnB,eAAe;CACP,CAAC;AAKX,4DAA4D;AAC5D,MAAM,CAAC,MAAM,2BAA2B,GAAG,gEAAgE,CAAC;AAE5G,kDAAkD;AAClD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;AAEtH,uDAAuD;AACvD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,YAAY,CAAC;IAC1C,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,UAAU,CAAC,CAAC,QAAQ,EAAE;CACpD,CAAC,CAAC;AAKH,qFAAqF;AACrF,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,sCAAsC;IAC7B,OAAO,CAAU;IAE1B,+DAA+D;IAC/D,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF"}
@@ -0,0 +1,92 @@
1
+ import type { z } from 'zod';
2
+ import type { Problem } from './problem.ts';
3
+ import type { Caller } from './rows.ts';
4
+ /** What a command or query registration shares. */
5
+ type JobRegistration<Input extends z.ZodType, Output extends z.ZodType> = {
6
+ /** One sentence saying what it does. */
7
+ description: string;
8
+ /** The zod schema its input is checked against before it runs. */
9
+ input: Input;
10
+ /** The zod schema its output is checked against after it runs. */
11
+ output: Output;
12
+ /** The handler. */
13
+ handle: (input: z.output<Input>) => z.input<Output> | Promise<z.input<Output>>;
14
+ /** Whether other extensions and HTTP clients may call it (default `false`). */
15
+ public?: boolean;
16
+ /** How long an attempt may run (default 600 000). */
17
+ timeoutMs?: number;
18
+ /** The largest input in bytes of JSON (default 1 MiB, at most 32 MiB). */
19
+ maxInputBytes?: number;
20
+ /** The largest output in bytes of JSON (default 1 MiB, at most 32 MiB). */
21
+ maxOutputBytes?: number;
22
+ };
23
+ /** A command: a job that may write. */
24
+ export type CommandRegistration<Input extends z.ZodType, Output extends z.ZodType> = JobRegistration<Input, Output> & {
25
+ /** How many times a failed async attempt is retried (default 3). */
26
+ retries?: number;
27
+ /** Whether it runs only as a sync call, so its input never lands in a job row (default `false`); required for a command that takes a secret. */
28
+ syncOnly?: boolean;
29
+ };
30
+ /** A query: a job that only reads. */
31
+ export type QueryRegistration<Input extends z.ZodType, Output extends z.ZodType> = JobRegistration<Input, Output>;
32
+ /** Where a setting can be set: the user's whole home, or one workspace. */
33
+ export type SettingScope = 'global' | 'workspace';
34
+ /** The scopes a setting allows: both (the default), global only, or none (preset-only). */
35
+ export type SettingScopes = readonly ['global', 'workspace'] | readonly ['global'] | readonly [];
36
+ /** A setting key. */
37
+ export type SettingRegistration<Schema extends z.ZodType> = {
38
+ /** One sentence saying what it sets. */
39
+ description: string;
40
+ /** The zod schema its values are checked against. */
41
+ schema: Schema;
42
+ /** The value when nothing sets it; without one, the preset must set the key. */
43
+ default?: z.input<Schema>;
44
+ /** Where it can be set (default `['global', 'workspace']`). */
45
+ scopes?: SettingScopes;
46
+ };
47
+ /** The input the three job points share. */
48
+ export type JobPointInput = {
49
+ jobId: string;
50
+ rootId: string;
51
+ name: string;
52
+ caller: Caller;
53
+ workspaceId: string;
54
+ };
55
+ /** The kernel's handler points, each with its handler's input (plan 02 §2.15). */
56
+ export type HandlerPoints = {
57
+ 'kernel.job.failed': JobPointInput & {
58
+ problem: Problem;
59
+ attempts: number;
60
+ };
61
+ 'kernel.job.succeeded': JobPointInput;
62
+ 'kernel.job.cancelled': JobPointInput & {
63
+ reason: string;
64
+ };
65
+ 'kernel.process.exited': {
66
+ extension: string;
67
+ workspaceId: string;
68
+ name: string;
69
+ exitCode: number | null;
70
+ signal: string | null;
71
+ };
72
+ 'kernel.workspace.opened': {
73
+ workspaceId: string;
74
+ };
75
+ 'kernel.started': Record<string, never>;
76
+ 'kernel.stopping': Record<string, never>;
77
+ };
78
+ /** The name of a kernel handler point. */
79
+ export type HandlerPoint = keyof HandlerPoints;
80
+ /** A handler for one of the kernel's points; it runs as an async job. */
81
+ export type HandlerRegistration<Point extends HandlerPoint> = {
82
+ /** One sentence saying what it does. */
83
+ description: string;
84
+ /** The handler. */
85
+ handle: (input: HandlerPoints[Point]) => void | Promise<void>;
86
+ /** How many times a failed attempt is retried (default 3). */
87
+ retries?: number;
88
+ /** How long an attempt may run (default 600 000). */
89
+ timeoutMs?: number;
90
+ };
91
+ export {};
92
+ //# sourceMappingURL=registrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registrations.d.ts","sourceRoot":"","sources":["../src/registrations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=registrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registrations.js","sourceRoot":"","sources":["../src/registrations.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ import type { KernelCommands, KernelQueries } from './kernel-api.ts';
2
+ /**
3
+ * Public commands by name, each `{ input; output }`. An extension augments it for its public commands, so callers get
4
+ * typed `ctx.exec` calls after `import type {} from '<that extension>'`. The kernel's are included.
5
+ */
6
+ export interface Commands extends KernelCommands {
7
+ }
8
+ /** Public queries by name, each `{ input; output }`, augmented like `Commands`; the kernel's are included. */
9
+ export interface Queries extends KernelQueries {
10
+ }
11
+ /** Setting values by key, augmented like `Commands`, so `ctx.settings.get` is typed. */
12
+ export interface Settings {
13
+ }
14
+ type Entry<Map, Name extends string, Field extends 'input' | 'output'> = Name extends keyof Map ? Map[Name] extends Record<Field, infer Value> ? Value : unknown : unknown;
15
+ /** The input of a command or query: its declared type, or `unknown` for an undeclared name. */
16
+ export type InputOf<Name extends string> = Name extends keyof Commands ? Entry<Commands, Name, 'input'> : Entry<Queries, Name, 'input'>;
17
+ /** The output of a command or query: its declared type, or `unknown` for an undeclared name. */
18
+ export type OutputOf<Name extends string> = Name extends keyof Commands ? Entry<Commands, Name, 'output'> : Entry<Queries, Name, 'output'>;
19
+ /** The input of a command: its declared type, or `unknown` for an undeclared name. */
20
+ export type CommandInputOf<Name extends string> = Entry<Commands, Name, 'input'>;
21
+ /** The value of a setting: its declared type, or `unknown` for an undeclared key. */
22
+ export type SettingValueOf<Key extends string> = Key extends keyof Settings ? Settings[Key] : unknown;
23
+ export {};
24
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErE;;;GAGG;AACH,MAAM,WAAW,QAAS,SAAQ,cAAc;CAAG;AAEnD,8GAA8G;AAC9G,MAAM,WAAW,OAAQ,SAAQ,aAAa;CAAG;AAEjD,wFAAwF;AACxF,MAAM,WAAW,QAAQ;CAAG;AAE5B,KAAK,KAAK,CAAC,GAAG,EAAE,IAAI,SAAS,MAAM,EAAE,KAAK,SAAS,OAAO,GAAG,QAAQ,IAAI,IAAI,SAAS,MAAM,GAAG,GAC3F,GAAG,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,GAC1C,KAAK,GACL,OAAO,GACT,OAAO,CAAC;AAEZ,+FAA+F;AAC/F,MAAM,MAAM,OAAO,CAAC,IAAI,SAAS,MAAM,IAAI,IAAI,SAAS,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAExI,gGAAgG;AAChG,MAAM,MAAM,QAAQ,CAAC,IAAI,SAAS,MAAM,IAAI,IAAI,SAAS,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AAE3I,sFAAsF;AACtF,MAAM,MAAM,cAAc,CAAC,IAAI,SAAS,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAEjF,qFAAqF;AACrF,MAAM,MAAM,cAAc,CAAC,GAAG,SAAS,MAAM,IAAI,GAAG,SAAS,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":""}
package/dist/rows.d.ts ADDED
@@ -0,0 +1,113 @@
1
+ import { z } from 'zod';
2
+ /** Accepts an ISO 8601 time in UTC, such as `2026-09-30T03:00:00.000Z`. */
3
+ export declare const isoTimeSchema: z.ZodISODateTime;
4
+ /** Accepts a kernel-assigned id (UUIDv7). */
5
+ export declare const idSchema: z.ZodUUID;
6
+ /** Accepts a workspace: a folder on disk. */
7
+ export declare const workspaceSchema: z.ZodObject<{
8
+ id: z.ZodString;
9
+ name: z.ZodString;
10
+ path: z.ZodString;
11
+ }, z.core.$strict>;
12
+ /** A workspace: a folder on disk; Home's id is `home`. */
13
+ export type Workspace = z.infer<typeof workspaceSchema>;
14
+ /** Accepts who started a job. */
15
+ export declare const callerSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
16
+ kind: z.ZodLiteral<"user">;
17
+ }, z.core.$strict>, z.ZodObject<{
18
+ kind: z.ZodLiteral<"extension">;
19
+ name: z.ZodString;
20
+ }, z.core.$strict>, z.ZodObject<{
21
+ kind: z.ZodLiteral<"kernel">;
22
+ }, z.core.$strict>], "kind">;
23
+ /** Who started a job: the user (HTTP), an extension (by package name), or the kernel (handler jobs). */
24
+ export type Caller = z.infer<typeof callerSchema>;
25
+ /** Accepts a job status. */
26
+ export declare const jobStatusSchema: z.ZodEnum<{
27
+ queued: "queued";
28
+ running: "running";
29
+ succeeded: "succeeded";
30
+ failed: "failed";
31
+ cancelled: "cancelled";
32
+ }>;
33
+ /** The status of an async or scheduled job. */
34
+ export type JobStatus = z.infer<typeof jobStatusSchema>;
35
+ /** Accepts the row of an async or scheduled job. */
36
+ export declare const jobSchema: z.ZodObject<{
37
+ id: z.ZodUUID;
38
+ name: z.ZodString;
39
+ input: z.ZodType<import("./json.ts").Json, unknown, z.core.$ZodTypeInternals<import("./json.ts").Json, unknown>>;
40
+ workspaceId: z.ZodString;
41
+ caller: z.ZodDiscriminatedUnion<[z.ZodObject<{
42
+ kind: z.ZodLiteral<"user">;
43
+ }, z.core.$strict>, z.ZodObject<{
44
+ kind: z.ZodLiteral<"extension">;
45
+ name: z.ZodString;
46
+ }, z.core.$strict>, z.ZodObject<{
47
+ kind: z.ZodLiteral<"kernel">;
48
+ }, z.core.$strict>], "kind">;
49
+ status: z.ZodEnum<{
50
+ queued: "queued";
51
+ running: "running";
52
+ succeeded: "succeeded";
53
+ failed: "failed";
54
+ cancelled: "cancelled";
55
+ }>;
56
+ attempts: z.ZodNumber;
57
+ retries: z.ZodNumber;
58
+ output: z.ZodOptional<z.ZodType<import("./json.ts").Json, unknown, z.core.$ZodTypeInternals<import("./json.ts").Json, unknown>>>;
59
+ problem: z.ZodOptional<z.ZodObject<{
60
+ code: z.ZodUnion<readonly [z.ZodEnum<{
61
+ VALIDATION_FAILED: "VALIDATION_FAILED";
62
+ NOT_FOUND: "NOT_FOUND";
63
+ NOT_PUBLIC: "NOT_PUBLIC";
64
+ NOT_A_COMMAND: "NOT_A_COMMAND";
65
+ READ_ONLY: "READ_ONLY";
66
+ NO_JOB: "NO_JOB";
67
+ TOO_LARGE: "TOO_LARGE";
68
+ TOO_DEEP: "TOO_DEEP";
69
+ TIMEOUT: "TIMEOUT";
70
+ CANCELLED: "CANCELLED";
71
+ WORKER_CRASHED: "WORKER_CRASHED";
72
+ INTERRUPTED: "INTERRUPTED";
73
+ HANDLER_FAILED: "HANDLER_FAILED";
74
+ FORBIDDEN_ORIGIN: "FORBIDDEN_ORIGIN";
75
+ PROCESS_RUNNING: "PROCESS_RUNNING";
76
+ PORT_IN_USE: "PORT_IN_USE";
77
+ EXTENSION_INVALID: "EXTENSION_INVALID";
78
+ KVMAN_RUNNING: "KVMAN_RUNNING";
79
+ }>, z.ZodString]>;
80
+ message: z.ZodString;
81
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("./json.ts").Json, unknown, z.core.$ZodTypeInternals<import("./json.ts").Json, unknown>>>>;
82
+ }, z.core.$strict>>;
83
+ createdAt: z.ZodISODateTime;
84
+ startedAt: z.ZodOptional<z.ZodISODateTime>;
85
+ endedAt: z.ZodOptional<z.ZodISODateTime>;
86
+ }, z.core.$strict>;
87
+ /** The row of an async or scheduled job. */
88
+ export type Job = z.infer<typeof jobSchema>;
89
+ /** Accepts who owns a file. */
90
+ export declare const fileOwnerSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
91
+ kind: z.ZodLiteral<"user">;
92
+ }, z.core.$strict>, z.ZodObject<{
93
+ kind: z.ZodLiteral<"extension">;
94
+ name: z.ZodString;
95
+ }, z.core.$strict>], "kind">;
96
+ /** Accepts the row of a file the kernel keeps. */
97
+ export declare const fileSchema: z.ZodObject<{
98
+ id: z.ZodUUID;
99
+ name: z.ZodString;
100
+ type: z.ZodString;
101
+ size: z.ZodNumber;
102
+ owner: z.ZodDiscriminatedUnion<[z.ZodObject<{
103
+ kind: z.ZodLiteral<"user">;
104
+ }, z.core.$strict>, z.ZodObject<{
105
+ kind: z.ZodLiteral<"extension">;
106
+ name: z.ZodString;
107
+ }, z.core.$strict>], "kind">;
108
+ workspaceId: z.ZodString;
109
+ createdAt: z.ZodISODateTime;
110
+ }, z.core.$strict>;
111
+ /** The row of a file the kernel keeps; `type` is its media type. */
112
+ export type File = z.infer<typeof fileSchema>;
113
+ //# sourceMappingURL=rows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../src/rows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,2EAA2E;AAC3E,eAAO,MAAM,aAAa,kBAAmB,CAAC;AAE9C,6CAA6C;AAC7C,eAAO,MAAM,QAAQ,WAA4B,CAAC;AAElD,6CAA6C;AAC7C,eAAO,MAAM,eAAe;;;;kBAI1B,CAAC;AAEH,0DAA0D;AAC1D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,iCAAiC;AACjC,eAAO,MAAM,YAAY;;;;;;;4BAIvB,CAAC;AAEH,wGAAwG;AACxG,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,4BAA4B;AAC5B,eAAO,MAAM,eAAe;;;;;;EAAoE,CAAC;AAEjG,+CAA+C;AAC/C,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,oDAAoD;AACpD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAcpB,CAAC;AAEH,4CAA4C;AAC5C,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAE5C,+BAA+B;AAC/B,eAAO,MAAM,eAAe;;;;;4BAG1B,CAAC;AAEH,kDAAkD;AAClD,eAAO,MAAM,UAAU;;;;;;;;;;;;;kBAQrB,CAAC;AAEH,oEAAoE;AACpE,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
package/dist/rows.js ADDED
@@ -0,0 +1,53 @@
1
+ import { z } from 'zod';
2
+ import { jsonSchema } from "./json.js";
3
+ import { problemSchema } from "./problem.js";
4
+ /** Accepts an ISO 8601 time in UTC, such as `2026-09-30T03:00:00.000Z`. */
5
+ export const isoTimeSchema = z.iso.datetime();
6
+ /** Accepts a kernel-assigned id (UUIDv7). */
7
+ export const idSchema = z.uuid({ version: 'v7' });
8
+ /** Accepts a workspace: a folder on disk. */
9
+ export const workspaceSchema = z.strictObject({
10
+ id: z.string().min(1),
11
+ name: z.string(),
12
+ path: z.string().min(1),
13
+ });
14
+ /** Accepts who started a job. */
15
+ export const callerSchema = z.discriminatedUnion('kind', [
16
+ z.strictObject({ kind: z.literal('user') }),
17
+ z.strictObject({ kind: z.literal('extension'), name: z.string().min(1) }),
18
+ z.strictObject({ kind: z.literal('kernel') }),
19
+ ]);
20
+ /** Accepts a job status. */
21
+ export const jobStatusSchema = z.enum(['queued', 'running', 'succeeded', 'failed', 'cancelled']);
22
+ /** Accepts the row of an async or scheduled job. */
23
+ export const jobSchema = z.strictObject({
24
+ id: idSchema,
25
+ name: z.string().min(1),
26
+ input: jsonSchema,
27
+ workspaceId: z.string().min(1),
28
+ caller: callerSchema,
29
+ status: jobStatusSchema,
30
+ attempts: z.number().int().nonnegative(),
31
+ retries: z.number().int().nonnegative(),
32
+ output: jsonSchema.optional(),
33
+ problem: problemSchema.optional(),
34
+ createdAt: isoTimeSchema,
35
+ startedAt: isoTimeSchema.optional(),
36
+ endedAt: isoTimeSchema.optional(),
37
+ });
38
+ /** Accepts who owns a file. */
39
+ export const fileOwnerSchema = z.discriminatedUnion('kind', [
40
+ z.strictObject({ kind: z.literal('user') }),
41
+ z.strictObject({ kind: z.literal('extension'), name: z.string().min(1) }),
42
+ ]);
43
+ /** Accepts the row of a file the kernel keeps. */
44
+ export const fileSchema = z.strictObject({
45
+ id: idSchema,
46
+ name: z.string().min(1),
47
+ type: z.string().min(1),
48
+ size: z.number().int().nonnegative(),
49
+ owner: fileOwnerSchema,
50
+ workspaceId: z.string().min(1),
51
+ createdAt: isoTimeSchema,
52
+ });
53
+ //# sourceMappingURL=rows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rows.js","sourceRoot":"","sources":["../src/rows.ts"],"names":[],"mappings":"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"}