@afora/core 0.0.2 → 0.0.3

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 (79) hide show
  1. package/README.md +220 -733
  2. package/dist/core/application/application.d.ts +9 -1
  3. package/dist/core/application/exceptions.d.ts +28 -0
  4. package/dist/core/application/registry.d.ts +33 -0
  5. package/dist/core/application/start.d.ts +51 -0
  6. package/dist/core/application/types/application.interface.d.ts +186 -7
  7. package/dist/core/blueprint/types/blueprint.interface.d.ts +66 -11
  8. package/dist/core/blueprint/types/slice.interface.d.ts +7 -2
  9. package/dist/core/command/command.d.ts +25 -0
  10. package/dist/core/command/exceptions.d.ts +33 -0
  11. package/dist/core/command/types/command.interface.d.ts +102 -0
  12. package/dist/core/environment/environment.d.ts +4 -1
  13. package/dist/core/exception/exception.d.ts +4 -0
  14. package/dist/core/exception/exported.d.ts +4 -0
  15. package/dist/core/json.d.ts +10 -0
  16. package/dist/core/output/exceptions.d.ts +8 -0
  17. package/dist/core/output/openapi-sink.d.ts +83 -0
  18. package/dist/core/output/output.d.ts +19 -0
  19. package/dist/core/output/problem.d.ts +15 -0
  20. package/dist/core/output/select.d.ts +14 -0
  21. package/dist/core/output/stage.d.ts +24 -0
  22. package/dist/core/output/status.d.ts +17 -0
  23. package/dist/core/output/types/output.interface.d.ts +171 -0
  24. package/dist/core/property/abstract-property.d.ts +8 -7
  25. package/dist/core/property/define-property.d.ts +8 -7
  26. package/dist/core/property/property.d.ts +26 -15
  27. package/dist/core/property/types/abstract-property-constructor.type.d.ts +8 -7
  28. package/dist/core/property/types/define-property.interface.d.ts +5 -4
  29. package/dist/core/property/types/optional-property.type.d.ts +5 -5
  30. package/dist/core/property/types/property-collection.type.d.ts +2 -2
  31. package/dist/core/property/types/property-constructor.type.d.ts +5 -1
  32. package/dist/core/property/types/property-options.interface.d.ts +17 -8
  33. package/dist/core/property/types/property-type.interface.d.ts +7 -3
  34. package/dist/core/property/types/property.interface.d.ts +5 -4
  35. package/dist/core/record/abstract-record.d.ts +12 -4
  36. package/dist/core/record/types/plugin.interface.d.ts +13 -3
  37. package/dist/core/record/types/record.interface.d.ts +20 -8
  38. package/dist/core/repository/exceptions.d.ts +4 -0
  39. package/dist/core/repository/in-memory.d.ts +3 -0
  40. package/dist/core/repository/provider.d.ts +6 -0
  41. package/dist/core/repository/query.d.ts +9 -0
  42. package/dist/core/repository/references.d.ts +4 -2
  43. package/dist/core/repository/repository.d.ts +4 -2
  44. package/dist/core/repository/state.d.ts +4 -0
  45. package/dist/core/repository/types/query.interface.d.ts +67 -0
  46. package/dist/core/repository/types/repository.interface.d.ts +13 -13
  47. package/dist/core/schema/types/schema.interface.d.ts +11 -4
  48. package/dist/core/symbols/meta.d.ts +2 -0
  49. package/dist/core/use-case/exceptions.d.ts +10 -0
  50. package/dist/core/use-case/scope.d.ts +21 -0
  51. package/dist/core/use-case/steps/describe.d.ts +13 -0
  52. package/dist/core/use-case/steps/references.d.ts +27 -0
  53. package/dist/core/use-case/steps/run.d.ts +20 -0
  54. package/dist/core/use-case/steps/types/steps.interface.d.ts +153 -0
  55. package/dist/core/use-case/steps/validate.d.ts +17 -0
  56. package/dist/core/use-case/use-case.d.ts +74 -9
  57. package/dist/experimental.d.ts +6 -0
  58. package/dist/experimental.js +123 -0
  59. package/dist/index-hn82hm31.js +1651 -0
  60. package/dist/index-sw2b9ehx.js +5019 -0
  61. package/dist/index.d.ts +30 -11
  62. package/dist/index.js +325 -4142
  63. package/dist/std/blueprint-plugin.d.ts +10 -10
  64. package/dist/std/blueprint.d.ts +10 -10
  65. package/dist/std/entity.d.ts +2 -2
  66. package/dist/std/properties/contact.d.ts +4 -4
  67. package/dist/std/properties/enum.d.ts +1 -1
  68. package/dist/std/properties/headless.d.ts +1 -1
  69. package/dist/std/properties/identity.d.ts +2 -2
  70. package/dist/std/properties/password.d.ts +1 -1
  71. package/dist/std/properties/primitives.d.ts +5 -5
  72. package/dist/std/properties/time.d.ts +2 -2
  73. package/dist/std/record-plugins.d.ts +12 -12
  74. package/dist/std/record.d.ts +1 -1
  75. package/dist/std/stages.d.ts +2 -0
  76. package/dist/testing/index.d.ts +2 -0
  77. package/dist/testing/index.js +502 -0
  78. package/dist/testing/provider-contract.d.ts +22 -0
  79. package/package.json +28 -8
@@ -10,17 +10,17 @@ import { CreatedAt, DateTime, DeletedAt, UpdatedAt } from "./properties/time.js"
10
10
  export declare const Std: import("../index.js").IBlueprintPlugin<{
11
11
  id: typeof Id;
12
12
  slug: typeof Slug;
13
- email: import("../index.js").PropertyClass<import("typebox").TString>;
14
- phone: import("../index.js").PropertyClass<import("typebox").TString>;
15
- url: import("../index.js").PropertyClass<import("typebox").TString>;
16
- ip: import("../index.js").PropertyClass<import("typebox").TUnion<[import("typebox").TString, import("typebox").TString]>>;
13
+ email: import("../index.js").PropertyClass<import("typebox").TString, string>;
14
+ phone: import("../index.js").PropertyClass<import("typebox").TString, string>;
15
+ url: import("../index.js").PropertyClass<import("typebox").TString, string>;
16
+ ip: import("../index.js").PropertyClass<import("typebox").TUnion<[import("typebox").TString, import("typebox").TString]>, string>;
17
17
  password: typeof Password;
18
- string: import("../index.js").PropertyClass<import("typebox").TString>;
19
- text: import("../index.js").PropertyClass<import("typebox").TString>;
20
- number: import("../index.js").PropertyClass<import("typebox").TNumber>;
21
- integer: import("../index.js").PropertyClass<import("typebox").TInteger>;
22
- boolean: import("../index.js").PropertyClass<import("typebox").TBoolean>;
23
- date: import("../index.js").PropertyClass<import("typebox").TString>;
18
+ string: import("../index.js").PropertyClass<import("typebox").TString, string>;
19
+ text: import("../index.js").PropertyClass<import("typebox").TString, string>;
20
+ number: import("../index.js").PropertyClass<import("typebox").TNumber, number>;
21
+ integer: import("../index.js").PropertyClass<import("typebox").TInteger, number>;
22
+ boolean: import("../index.js").PropertyClass<import("typebox").TBoolean, boolean>;
23
+ date: import("../index.js").PropertyClass<import("typebox").TString, string>;
24
24
  dateTime: typeof DateTime;
25
25
  createdAt: typeof CreatedAt;
26
26
  updatedAt: typeof UpdatedAt;
@@ -6,17 +6,17 @@
6
6
  export declare const blueprintOf: import("../index.js").BlueprintBuilder<readonly [import("../index.js").IBlueprintPlugin<{
7
7
  id: typeof import("../index.js").Id;
8
8
  slug: typeof import("../index.js").Slug;
9
- email: import("../index.js").PropertyClass<import("typebox").TString>;
10
- phone: import("../index.js").PropertyClass<import("typebox").TString>;
11
- url: import("../index.js").PropertyClass<import("typebox").TString>;
12
- ip: import("../index.js").PropertyClass<import("typebox").TUnion<[import("typebox").TString, import("typebox").TString]>>;
9
+ email: import("../index.js").PropertyClass<import("typebox").TString, string>;
10
+ phone: import("../index.js").PropertyClass<import("typebox").TString, string>;
11
+ url: import("../index.js").PropertyClass<import("typebox").TString, string>;
12
+ ip: import("../index.js").PropertyClass<import("typebox").TUnion<[import("typebox").TString, import("typebox").TString]>, string>;
13
13
  password: typeof import("../index.js").Password;
14
- string: import("../index.js").PropertyClass<import("typebox").TString>;
15
- text: import("../index.js").PropertyClass<import("typebox").TString>;
16
- number: import("../index.js").PropertyClass<import("typebox").TNumber>;
17
- integer: import("../index.js").PropertyClass<import("typebox").TInteger>;
18
- boolean: import("../index.js").PropertyClass<import("typebox").TBoolean>;
19
- date: import("../index.js").PropertyClass<import("typebox").TString>;
14
+ string: import("../index.js").PropertyClass<import("typebox").TString, string>;
15
+ text: import("../index.js").PropertyClass<import("typebox").TString, string>;
16
+ number: import("../index.js").PropertyClass<import("typebox").TNumber, number>;
17
+ integer: import("../index.js").PropertyClass<import("typebox").TInteger, number>;
18
+ boolean: import("../index.js").PropertyClass<import("typebox").TBoolean, boolean>;
19
+ date: import("../index.js").PropertyClass<import("typebox").TString, string>;
20
20
  dateTime: typeof import("../index.js").DateTime;
21
21
  createdAt: typeof import("../index.js").CreatedAt;
22
22
  updatedAt: typeof import("../index.js").UpdatedAt;
@@ -11,9 +11,9 @@ import { CreatedAt, DeletedAt, UpdatedAt } from "./properties/time.js";
11
11
  * from the standard plugins, as `(ctx) => [ctx.publishable]`, or takes any
12
12
  * plugin made by `recordPluginOf`.
13
13
  */
14
- export declare const entityOf: import("../index.js").EntityBuilder<import("../index.js").StoredFields<{
14
+ export declare const entityOf: import("../index.js").EntityBuilder<import("../core/property/types/property-options.interface.js").StoredFields<{
15
15
  id: typeof Id;
16
16
  createdAt: typeof CreatedAt;
17
17
  updatedAt: typeof UpdatedAt;
18
18
  deletedAt: typeof DeletedAt;
19
- }>, Omit<import("../index.js").RecordPluginsByName<readonly [import("../index.js").IRecordPlugin<typeof import("./record-plugins.js").PublishableRecord, "publishable">, import("../index.js").IRecordPlugin<typeof import("./record-plugins.js").ArchivableRecord, "archivable">, import("../index.js").IRecordPlugin<typeof import("./record-plugins.js").TaggableRecord, "taggable">, import("../index.js").IRecordPlugin<typeof import("./record-plugins.js").OwnableRecord, "ownable">, import("../index.js").IRecordPlugin<typeof import("./record-plugins.js").AuthenticatableRecord, "authenticatable">]>, never> & Record<never, never>>;
19
+ }>, Omit<import("../core/record/types/plugin.interface.js").RecordPluginsByName<readonly [import("../index.js").IRecordPlugin<typeof import("./record-plugins.js").PublishableRecord, "publishable">, import("../index.js").IRecordPlugin<typeof import("./record-plugins.js").ArchivableRecord, "archivable">, import("../index.js").IRecordPlugin<typeof import("./record-plugins.js").TaggableRecord, "taggable">, import("../index.js").IRecordPlugin<typeof import("./record-plugins.js").OwnableRecord, "ownable">, import("../index.js").IRecordPlugin<typeof import("./record-plugins.js").AuthenticatableRecord, "authenticatable">]>, never> & Record<never, never>>;
@@ -1,6 +1,6 @@
1
1
  import { Type } from "typebox";
2
- export declare const Email: import("../../index.js").PropertyClass<Type.TString>;
2
+ export declare const Email: import("../../index.js").PropertyClass<Type.TString, string>;
3
3
  /** A phone number in E.164; spaces, dots, dashes and parentheses are dropped. */
4
- export declare const Phone: import("../../index.js").PropertyClass<Type.TString>;
5
- export declare const Url: import("../../index.js").PropertyClass<Type.TString>;
6
- export declare const Ip: import("../../index.js").PropertyClass<Type.TUnion<[Type.TString, Type.TString]>>;
4
+ export declare const Phone: import("../../index.js").PropertyClass<Type.TString, string>;
5
+ export declare const Url: import("../../index.js").PropertyClass<Type.TString, string>;
6
+ export declare const Ip: import("../../index.js").PropertyClass<Type.TUnion<[Type.TString, Type.TString]>, string>;
@@ -1,7 +1,7 @@
1
1
  import { type TEnum, type TEnumValue, type TOptional } from "typebox";
2
2
  import { type PropertyClass } from "../../core/property/property.js";
3
3
  /** A class declared with `enumOf`. */
4
- export type EnumClass<Values extends TEnumValue[], Optional extends boolean = false> = PropertyClass<Optional extends true ? TOptional<TEnum<Values>> : TEnum<Values>>;
4
+ export type EnumClass<Values extends TEnumValue[], Optional extends boolean = false> = PropertyClass<Optional extends true ? TOptional<TEnum<Values>> : TEnum<Values>, Values[number]>;
5
5
  /**
6
6
  * A property holding one of `values`, e.g.
7
7
  * `enumOf(["draft", "published"])`. Its demo value is the first one unless
@@ -1,5 +1,5 @@
1
1
  import { type TSchema, Type } from "typebox";
2
- declare const SchemaProperty_base: import("../../index.js").PropertyClass<Type.TUnsafe<TSchema>>;
2
+ declare const SchemaProperty_base: import("../../index.js").PropertyClass<Type.TUnsafe<TSchema>, TSchema>;
3
3
  /**
4
4
  * A TypeBox schema held as a value, e.g. the shape of a content type defined
5
5
  * at runtime. `serialize` and `SchemaProperty.deserialize` move it to and
@@ -1,11 +1,11 @@
1
1
  import { Type } from "typebox";
2
- declare const Id_base: import("../../index.js").PropertyClass<Type.TString>;
2
+ declare const Id_base: import("../../index.js").PropertyClass<Type.TString, string>;
3
3
  /** A UUID v7, time-ordered, so ids sort by creation. */
4
4
  export declare class Id extends Id_base {
5
5
  /** A new id from the configured generator (portable UUID v7 by default). */
6
6
  static generate(): Id;
7
7
  }
8
- declare const Slug_base: import("../../index.js").PropertyClass<Type.TString> & {
8
+ declare const Slug_base: import("../../index.js").PropertyClass<Type.TString, string> & {
9
9
  readonly type: {
10
10
  readonly unique: true;
11
11
  };
@@ -5,7 +5,7 @@ export declare const PASSWORD_SPECIAL_CHARACTERS = "!@#$%^&*()-_=+[]{}|\\;:'\",.
5
5
  export declare function isPasswordHash(value: string): boolean;
6
6
  /** The rules a plain password breaks; empty when it is strong enough. */
7
7
  export declare function passwordIssues(value: string): string[];
8
- declare const Password_base: import("../../index.js").PropertyClass<Type.TString>;
8
+ declare const Password_base: import("../../index.js").PropertyClass<Type.TString, string>;
9
9
  /**
10
10
  * A password stored as an Argon2 hash. The constructor only accepts a hash,
11
11
  * e.g. one read from the database; `Password.hash` turns a plain password
@@ -1,7 +1,7 @@
1
1
  import { Type } from "typebox";
2
- export declare const StringProperty: import("../../index.js").PropertyClass<Type.TString>;
2
+ export declare const StringProperty: import("../../index.js").PropertyClass<Type.TString, string>;
3
3
  /** A string that is not blank once trimmed. */
4
- export declare const Text: import("../../index.js").PropertyClass<Type.TString>;
5
- export declare const NumberProperty: import("../../index.js").PropertyClass<Type.TNumber>;
6
- export declare const Integer: import("../../index.js").PropertyClass<Type.TInteger>;
7
- export declare const BooleanProperty: import("../../index.js").PropertyClass<Type.TBoolean>;
4
+ export declare const Text: import("../../index.js").PropertyClass<Type.TString, string>;
5
+ export declare const NumberProperty: import("../../index.js").PropertyClass<Type.TNumber, number>;
6
+ export declare const Integer: import("../../index.js").PropertyClass<Type.TInteger, number>;
7
+ export declare const BooleanProperty: import("../../index.js").PropertyClass<Type.TBoolean, boolean>;
@@ -1,7 +1,7 @@
1
1
  import { type TOptional, type TString } from "typebox";
2
2
  import { type PropertyClass } from "../../core/property/property.js";
3
3
  /** A class declared with `dateTimeOf`. */
4
- interface DateTimeClass<Optional extends boolean> extends PropertyClass<Optional extends true ? TOptional<TString> : TString> {
4
+ interface DateTimeClass<Optional extends boolean> extends PropertyClass<Optional extends true ? TOptional<TString> : TString, string> {
5
5
  /** An instance holding the current date and time. */
6
6
  now<Self>(this: new (value: string) => Self): Self;
7
7
  }
@@ -10,7 +10,7 @@ declare const DateTime_base: DateTimeClass<false>;
10
10
  export declare class DateTime extends DateTime_base {
11
11
  }
12
12
  /** An ISO 8601 calendar date, e.g. `2026-01-01`. */
13
- export declare const DateProperty: PropertyClass<TString>;
13
+ export declare const DateProperty: PropertyClass<TString, string>;
14
14
  declare const CreatedAt_base: DateTimeClass<false>;
15
15
  /** When a record was created. */
16
16
  export declare class CreatedAt extends CreatedAt_base {
@@ -1,8 +1,8 @@
1
1
  import { Password } from "./properties/password.js";
2
- declare const PublishableRecord_base: import("../index.js").RecordConstructor<import("../index.js").StoredFields<{
2
+ declare const PublishableRecord_base: import("../index.js").RecordConstructor<import("../core/property/types/property-options.interface.js").StoredFields<{
3
3
  publishedAt: import("../index.js").CallableProperty<Omit<typeof import("../index.js").DateTime, "prototype" | "safeParse" | "type" | "~standard" | typeof import("../core/property/types/property-options.interface.js").Callable> & {
4
- new (value: string | undefined): import("../index.js").AbstractProperty<import("typebox").TOptional<import("typebox").TString>> & Omit<import("../index.js").DateTime, keyof import("../index.js").AbstractProperty<import("typebox").TSchema>>;
5
- readonly type: import("../index.js").IPropertyType<import("typebox").TOptional<import("typebox").TString>>;
4
+ new (value: string | undefined): import("../index.js").AbstractProperty<import("typebox").TOptional<import("typebox").TString>, string> & Omit<import("../index.js").DateTime, keyof import("../index.js").AbstractProperty<import("typebox").TSchema, unknown>>;
5
+ readonly type: import("../index.js").IPropertyType<import("typebox").TOptional<import("typebox").TString>, string>;
6
6
  safeParse(value: unknown): import("../index.js").ParseResult<string | undefined>;
7
7
  readonly "~standard": import("../index.js").StandardSchemaV1.Props<string | undefined, string | undefined>;
8
8
  }>;
@@ -23,10 +23,10 @@ export declare class PublishableRecord extends PublishableRecord_base {
23
23
  }
24
24
  /** A `publishedAt`, with `publish`, `unpublish` and `isPublished`. */
25
25
  export declare const Publishable: import("../index.js").IRecordPlugin<typeof PublishableRecord, "publishable">;
26
- declare const ArchivableRecord_base: import("../index.js").RecordConstructor<import("../index.js").StoredFields<{
26
+ declare const ArchivableRecord_base: import("../index.js").RecordConstructor<import("../core/property/types/property-options.interface.js").StoredFields<{
27
27
  archivedAt: import("../index.js").CallableProperty<Omit<typeof import("../index.js").DateTime, "prototype" | "safeParse" | "type" | "~standard" | typeof import("../core/property/types/property-options.interface.js").Callable> & {
28
- new (value: string | undefined): import("../index.js").AbstractProperty<import("typebox").TOptional<import("typebox").TString>> & Omit<import("../index.js").DateTime, keyof import("../index.js").AbstractProperty<import("typebox").TSchema>>;
29
- readonly type: import("../index.js").IPropertyType<import("typebox").TOptional<import("typebox").TString>>;
28
+ new (value: string | undefined): import("../index.js").AbstractProperty<import("typebox").TOptional<import("typebox").TString>, string> & Omit<import("../index.js").DateTime, keyof import("../index.js").AbstractProperty<import("typebox").TSchema, unknown>>;
29
+ readonly type: import("../index.js").IPropertyType<import("typebox").TOptional<import("typebox").TString>, string>;
30
30
  safeParse(value: unknown): import("../index.js").ParseResult<string | undefined>;
31
31
  readonly "~standard": import("../index.js").StandardSchemaV1.Props<string | undefined, string | undefined>;
32
32
  }>;
@@ -47,8 +47,8 @@ export declare class ArchivableRecord extends ArchivableRecord_base {
47
47
  }
48
48
  /** An `archivedAt`, with `archive`, `restore` and `isArchived`. */
49
49
  export declare const Archivable: import("../index.js").IRecordPlugin<typeof ArchivableRecord, "archivable">;
50
- declare const TaggableRecord_base: import("../index.js").RecordConstructor<import("../index.js").StoredFields<{
51
- tags: import("../index.js").IBlueprintList<import("../index.js").PropertyClass<import("typebox").TString>, true>;
50
+ declare const TaggableRecord_base: import("../index.js").RecordConstructor<import("../core/property/types/property-options.interface.js").StoredFields<{
51
+ tags: import("../index.js").IBlueprintList<import("../index.js").PropertyClass<import("typebox").TString, string>, true>;
52
52
  }>, [], never, unknown>;
53
53
  /**
54
54
  * `tags`, a list of strings, each once; `tag`, `untag` and `hasTag` change and read it.
@@ -65,7 +65,7 @@ export declare class TaggableRecord extends TaggableRecord_base {
65
65
  }
66
66
  /** `tags`, with `tag`, `untag` and `hasTag`. */
67
67
  export declare const Taggable: import("../index.js").IRecordPlugin<typeof TaggableRecord, "taggable">;
68
- declare const OwnableRecord_base: import("../index.js").RecordConstructor<import("../index.js").StoredFields<{
68
+ declare const OwnableRecord_base: import("../index.js").RecordConstructor<import("../core/property/types/property-options.interface.js").StoredFields<{
69
69
  ownerId: import("../index.js").CallableProperty<typeof import("../index.js").Id>;
70
70
  }>, [], never, unknown>;
71
71
  /**
@@ -81,8 +81,8 @@ export declare class OwnableRecord extends OwnableRecord_base {
81
81
  }
82
82
  /** An `ownerId`, with `isOwnedBy` and `transferTo`. */
83
83
  export declare const Ownable: import("../index.js").IRecordPlugin<typeof OwnableRecord, "ownable">;
84
- declare const AuthenticatableRecord_base: import("../index.js").RecordConstructor<import("../index.js").StoredFields<{
85
- email: import("../index.js").CallableProperty<import("../index.js").PropertyClass<import("typebox").TString>>;
84
+ declare const AuthenticatableRecord_base: import("../index.js").RecordConstructor<import("../core/property/types/property-options.interface.js").StoredFields<{
85
+ email: import("../index.js").CallableProperty<import("../index.js").PropertyClass<import("typebox").TString, string>>;
86
86
  password: import("../index.js").CallableProperty<typeof Password>;
87
87
  }>, readonly ["password"], "email", unknown>;
88
88
  /**
@@ -102,5 +102,5 @@ export declare const Authenticatable: import("../index.js").IRecordPlugin<typeof
102
102
  * `(ctx) => [ctx.publishable, ctx.taggable]`, and to resolve their
103
103
  * descriptors.
104
104
  */
105
- export declare const StdRecordPlugins: import("../index.js").IRecordPluginCatalog<import("../index.js").RecordPluginsByName<readonly [import("../index.js").IRecordPlugin<typeof PublishableRecord, "publishable">, import("../index.js").IRecordPlugin<typeof ArchivableRecord, "archivable">, import("../index.js").IRecordPlugin<typeof TaggableRecord, "taggable">, import("../index.js").IRecordPlugin<typeof OwnableRecord, "ownable">, import("../index.js").IRecordPlugin<typeof AuthenticatableRecord, "authenticatable">]>>;
105
+ export declare const StdRecordPlugins: import("../index.js").IRecordPluginCatalog<import("../core/record/types/plugin.interface.js").RecordPluginsByName<readonly [import("../index.js").IRecordPlugin<typeof PublishableRecord, "publishable">, import("../index.js").IRecordPlugin<typeof ArchivableRecord, "archivable">, import("../index.js").IRecordPlugin<typeof TaggableRecord, "taggable">, import("../index.js").IRecordPlugin<typeof OwnableRecord, "ownable">, import("../index.js").IRecordPlugin<typeof AuthenticatableRecord, "authenticatable">]>>;
106
106
  export {};
@@ -3,4 +3,4 @@
3
3
  * whose `options.plugins` picks from the standard plugins, as
4
4
  * `(ctx) => [ctx.publishable]`, or takes any plugin made by `recordPluginOf`.
5
5
  */
6
- export declare const recordOf: import("../index.js").RecordBuilder<Omit<import("../index.js").RecordPluginsByName<readonly [import("../index.js").IRecordPlugin<typeof import("./record-plugins.js").PublishableRecord, "publishable">, import("../index.js").IRecordPlugin<typeof import("./record-plugins.js").ArchivableRecord, "archivable">, import("../index.js").IRecordPlugin<typeof import("./record-plugins.js").TaggableRecord, "taggable">, import("../index.js").IRecordPlugin<typeof import("./record-plugins.js").OwnableRecord, "ownable">, import("../index.js").IRecordPlugin<typeof import("./record-plugins.js").AuthenticatableRecord, "authenticatable">]>, never> & Record<never, never>>;
6
+ export declare const recordOf: import("../index.js").RecordBuilder<Omit<import("../core/record/types/plugin.interface.js").RecordPluginsByName<readonly [import("../index.js").IRecordPlugin<typeof import("./record-plugins.js").PublishableRecord, "publishable">, import("../index.js").IRecordPlugin<typeof import("./record-plugins.js").ArchivableRecord, "archivable">, import("../index.js").IRecordPlugin<typeof import("./record-plugins.js").TaggableRecord, "taggable">, import("../index.js").IRecordPlugin<typeof import("./record-plugins.js").OwnableRecord, "ownable">, import("../index.js").IRecordPlugin<typeof import("./record-plugins.js").AuthenticatableRecord, "authenticatable">]>, never> & Record<never, never>>;
@@ -0,0 +1,2 @@
1
+ /** The built-in stages by name; adapters add their own with `stageCatalogOf`. */
2
+ export declare const StdStages: import("../index.js").IStageCatalog<Readonly<Record<string, import("../index.js").StageFactory>>>;
@@ -0,0 +1,2 @@
1
+ export type { ContractRunner, ProviderContractOptions, } from "./provider-contract.js";
2
+ export { providerContract } from "./provider-contract.js";