@nkzw/fate 0.1.3 → 1.0.0-rc.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 (170) hide show
  1. package/README.md +810 -129
  2. package/docs/api/classes/FateClient.md +832 -0
  3. package/docs/api/functions/clientRoot.md +27 -0
  4. package/docs/api/functions/createClient.md +21 -0
  5. package/docs/api/functions/createHTTPTransport.md +51 -0
  6. package/docs/api/functions/createTRPCTransport.md +46 -0
  7. package/docs/api/functions/getListEntries.md +15 -0
  8. package/docs/api/functions/getSelectionPlan.md +36 -0
  9. package/docs/api/functions/isRecord.md +15 -0
  10. package/docs/api/functions/isViewTag.md +17 -0
  11. package/docs/api/functions/liveConnectionTopic.md +19 -0
  12. package/docs/api/functions/liveEntityTopic.md +19 -0
  13. package/docs/api/functions/liveGlobalConnectionTopic.md +15 -0
  14. package/docs/api/functions/mutation.md +32 -0
  15. package/docs/api/functions/toEntityId.md +21 -0
  16. package/docs/api/functions/view.md +26 -0
  17. package/docs/api/index.md +81 -0
  18. package/docs/api/interfaces/FateThenable.md +31 -0
  19. package/docs/api/interfaces/Transport.md +199 -0
  20. package/docs/api/server/classes/FateRequestError.md +67 -0
  21. package/docs/api/server/drizzle/functions/createDrizzleFate.md +431 -0
  22. package/docs/api/server/drizzle/functions/createDrizzleSourceAdapter.md +21 -0
  23. package/docs/api/server/drizzle/functions/createDrizzleSourceRegistry.md +21 -0
  24. package/docs/api/server/drizzle/index.md +23 -0
  25. package/docs/api/server/drizzle/type-aliases/DrizzleManyToManyConfig.md +15 -0
  26. package/docs/api/server/drizzle/type-aliases/DrizzleManyToManyInput.md +5 -0
  27. package/docs/api/server/drizzle/type-aliases/DrizzleQueryExtra.md +21 -0
  28. package/docs/api/server/drizzle/type-aliases/DrizzleSourceAdapter.md +337 -0
  29. package/docs/api/server/drizzle/type-aliases/DrizzleViewConfig.md +29 -0
  30. package/docs/api/server/functions/bindSourceProcedures.md +32 -0
  31. package/docs/api/server/functions/computed.md +43 -0
  32. package/docs/api/server/functions/count.md +21 -0
  33. package/docs/api/server/functions/createFateFetchHandler.md +21 -0
  34. package/docs/api/server/functions/createFateServer.md +41 -0
  35. package/docs/api/server/functions/createHonoFateHandler.md +21 -0
  36. package/docs/api/server/functions/createLiveEventBus.md +17 -0
  37. package/docs/api/server/functions/createNestedSourcePlan.md +103 -0
  38. package/docs/api/server/functions/createResolver.md +74 -0
  39. package/docs/api/server/functions/createSourcePlan.md +95 -0
  40. package/docs/api/server/functions/createSourceProcedures.md +46 -0
  41. package/docs/api/server/functions/dataView.md +32 -0
  42. package/docs/api/server/functions/field.md +15 -0
  43. package/docs/api/server/functions/getNestedSelection.md +19 -0
  44. package/docs/api/server/functions/getScopedArgs.md +21 -0
  45. package/docs/api/server/functions/hasNestedSelection.md +19 -0
  46. package/docs/api/server/functions/list.md +28 -0
  47. package/docs/api/server/functions/refetchSourceById.md +55 -0
  48. package/docs/api/server/functions/resolveSourceById.md +55 -0
  49. package/docs/api/server/functions/resolveSourceByIds.md +55 -0
  50. package/docs/api/server/functions/resolveSourceConnection.md +67 -0
  51. package/docs/api/server/functions/resolver.md +42 -0
  52. package/docs/api/server/functions/toPrismaSelect.md +25 -0
  53. package/docs/api/server/functions/withConnection.md +24 -0
  54. package/docs/api/server/index.md +109 -0
  55. package/docs/api/server/prisma/functions/createPrismaFate.md +435 -0
  56. package/docs/api/server/prisma/functions/createPrismaSourceAdapter.md +21 -0
  57. package/docs/api/server/prisma/functions/createPrismaSourceRegistry.md +21 -0
  58. package/docs/api/server/prisma/functions/prismaConnectionArgs.md +57 -0
  59. package/docs/api/server/prisma/index.md +23 -0
  60. package/docs/api/server/prisma/type-aliases/PrismaDelegate.md +59 -0
  61. package/docs/api/server/prisma/type-aliases/PrismaQueryExtra.md +5 -0
  62. package/docs/api/server/prisma/type-aliases/PrismaSourceAdapter.md +343 -0
  63. package/docs/api/server/prisma/type-aliases/PrismaViewConfig.md +31 -0
  64. package/docs/api/server/type-aliases/ComputedField.md +55 -0
  65. package/docs/api/server/type-aliases/ComputedSelection.md +5 -0
  66. package/docs/api/server/type-aliases/ConnectionItem.md +29 -0
  67. package/docs/api/server/type-aliases/ConnectionPagination.md +39 -0
  68. package/docs/api/server/type-aliases/ConnectionResult.md +29 -0
  69. package/docs/api/server/type-aliases/CountSelection.md +29 -0
  70. package/docs/api/server/type-aliases/CountWhere.md +5 -0
  71. package/docs/api/server/type-aliases/DataViewListOptions.md +13 -0
  72. package/docs/api/server/type-aliases/DataViewOrderBy.md +5 -0
  73. package/docs/api/server/type-aliases/DataViewOrderDirection.md +5 -0
  74. package/docs/api/server/type-aliases/DataViewResult.md +11 -0
  75. package/docs/api/server/type-aliases/Entity.md +21 -0
  76. package/docs/api/server/type-aliases/FateServer.md +75 -0
  77. package/docs/api/server/type-aliases/FateServerManifest.md +5 -0
  78. package/docs/api/server/type-aliases/FieldSelection.md +21 -0
  79. package/docs/api/server/type-aliases/LiveConnectionEventType.md +5 -0
  80. package/docs/api/server/type-aliases/LiveConnectionSourceEvent.md +5 -0
  81. package/docs/api/server/type-aliases/LiveEventBus.md +5 -0
  82. package/docs/api/server/type-aliases/LiveEventType.md +5 -0
  83. package/docs/api/server/type-aliases/LiveSourceEvent.md +5 -0
  84. package/docs/api/server/type-aliases/NativeFateAPI.md +47 -0
  85. package/docs/api/server/type-aliases/OrderDirection.md +5 -0
  86. package/docs/api/server/type-aliases/SourceConfig.md +55 -0
  87. package/docs/api/server/type-aliases/SourceDefinition.md +55 -0
  88. package/docs/api/server/type-aliases/SourceOrder.md +5 -0
  89. package/docs/api/server/type-aliases/SourceOrderField.md +21 -0
  90. package/docs/api/server/type-aliases/SourcePlan.md +29 -0
  91. package/docs/api/server/type-aliases/SourcePlanNode.md +29 -0
  92. package/docs/api/server/type-aliases/SourceRegistry.md +11 -0
  93. package/docs/api/server/type-aliases/SourceRelation.md +15 -0
  94. package/docs/api/server/type-aliases/SourceRelationConfig.md +23 -0
  95. package/docs/api/server/variables/byIdInput.md +5 -0
  96. package/docs/api/server/variables/connectionArgs.md +7 -0
  97. package/docs/api/type-aliases/ConnectionMetadata.md +7 -0
  98. package/docs/api/type-aliases/ConnectionRef.md +13 -0
  99. package/docs/api/type-aliases/Entity.md +15 -0
  100. package/docs/api/type-aliases/EntityId.md +7 -0
  101. package/docs/api/type-aliases/FateLiveConnectionEvent.md +5 -0
  102. package/docs/api/type-aliases/FateLiveEvent.md +5 -0
  103. package/docs/api/type-aliases/FateMutations.md +7 -0
  104. package/docs/api/type-aliases/FateOperation.md +5 -0
  105. package/docs/api/type-aliases/FateProtocolRequest.md +5 -0
  106. package/docs/api/type-aliases/FateProtocolResponse.md +5 -0
  107. package/docs/api/type-aliases/FateRecord.md +7 -0
  108. package/docs/api/type-aliases/FateRoots.md +7 -0
  109. package/docs/api/type-aliases/InferFateAPI.md +11 -0
  110. package/docs/api/type-aliases/List.md +5 -0
  111. package/docs/api/type-aliases/ListEntry.md +5 -0
  112. package/docs/api/type-aliases/ListItem.md +13 -0
  113. package/docs/api/type-aliases/Mask.md +15 -0
  114. package/docs/api/type-aliases/MutationDefinition.md +21 -0
  115. package/docs/api/type-aliases/MutationEntity.md +13 -0
  116. package/docs/api/type-aliases/MutationIdentifier.md +19 -0
  117. package/docs/api/type-aliases/MutationInput.md +13 -0
  118. package/docs/api/type-aliases/MutationResult.md +13 -0
  119. package/docs/api/type-aliases/NodesItem.md +13 -0
  120. package/docs/api/type-aliases/Pagination.md +39 -0
  121. package/docs/api/type-aliases/Request.md +7 -0
  122. package/docs/api/type-aliases/RequestMode.md +7 -0
  123. package/docs/api/type-aliases/RequestOptions.md +7 -0
  124. package/docs/api/type-aliases/RequestResult.md +18 -0
  125. package/docs/api/type-aliases/Selection.md +13 -0
  126. package/docs/api/type-aliases/Snapshot.md +7 -0
  127. package/docs/api/type-aliases/TypeConfig.md +41 -0
  128. package/docs/api/type-aliases/View.md +17 -0
  129. package/docs/api/type-aliases/ViewData.md +18 -0
  130. package/docs/api/type-aliases/ViewEntity.md +13 -0
  131. package/docs/api/type-aliases/ViewEntityName.md +13 -0
  132. package/docs/api/type-aliases/ViewRef.md +13 -0
  133. package/docs/api/type-aliases/ViewSelection.md +13 -0
  134. package/docs/api/type-aliases/ViewSnapshot.md +18 -0
  135. package/docs/api/type-aliases/ViewTag.md +7 -0
  136. package/docs/api/variables/ConnectionTag.md +7 -0
  137. package/docs/guide/actions.md +263 -0
  138. package/docs/guide/core-concepts.md +22 -0
  139. package/docs/guide/getting-started.md +57 -0
  140. package/docs/guide/list-views.md +86 -0
  141. package/docs/guide/live-views.md +245 -0
  142. package/docs/guide/requests.md +130 -0
  143. package/docs/guide/server-integration.md +630 -0
  144. package/docs/guide/views.md +278 -0
  145. package/docs/guide/void-integration.md +167 -0
  146. package/docs/index.md +4 -0
  147. package/lib/cli.mjs +17 -250
  148. package/lib/clientStub.d.mts +6 -0
  149. package/lib/clientStub.mjs +6 -0
  150. package/lib/executor-BqwHdN3n.d.mts +468 -0
  151. package/lib/index.d.mts +64 -2
  152. package/lib/index.mjs +1961 -555
  153. package/lib/list-4wRNSVgI.d.mts +10 -0
  154. package/lib/list-C_mi6GnE.mjs +16 -0
  155. package/lib/list.d.mts +2 -0
  156. package/lib/list.mjs +2 -0
  157. package/lib/liveTopics-DzNtJaBD.mjs +197 -0
  158. package/lib/{record-DnhZuvUe.mjs → record-AeZJC9fd.mjs} +1 -2
  159. package/lib/record-ENh92gyb.d.mts +315 -0
  160. package/lib/server/drizzle.d.mts +304 -0
  161. package/lib/server/drizzle.mjs +688 -0
  162. package/lib/server/prisma.d.mts +309 -0
  163. package/lib/server/prisma.mjs +345 -0
  164. package/lib/server.d.mts +82 -183
  165. package/lib/server.mjs +870 -416
  166. package/lib/sourceRouter-Bwpkr062.mjs +972 -0
  167. package/lib/{types-HECWvGpd.d.mts → types-Dz46PXr3.d.mts} +215 -63
  168. package/lib/vite.d.mts +17 -0
  169. package/lib/vite.mjs +592 -0
  170. package/package.json +44 -6
@@ -0,0 +1,21 @@
1
+ # Type Alias: Entity\<TView, Name, Replacements\>
2
+
3
+ > **Entity**\<`TView`, `Name`, `Replacements`\> = `WithTypename`\<`Omit`\<[`DataViewResult`](DataViewResult.md)\<`TView`\>, keyof `Replacements`\> & `Replacements`, `Name`\>
4
+
5
+ Defined in: [packages/fate/src/server/dataView.ts:301](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/dataView.ts#L301)
6
+
7
+ Resolved entity type from a data view for client use.
8
+
9
+ ## Type Parameters
10
+
11
+ ### TView
12
+
13
+ `TView` *extends* `DataView`\<[`FateRecord`](../../type-aliases/FateRecord.md)\>
14
+
15
+ ### Name
16
+
17
+ `Name` *extends* `string`
18
+
19
+ ### Replacements
20
+
21
+ `Replacements` *extends* `Record`\<`string`, `unknown`\> = `Record`\<`never`, `never`\>
@@ -0,0 +1,75 @@
1
+ # Type Alias: FateServer\<API, AdapterContext\>
2
+
3
+ > **FateServer**\<`API`, `AdapterContext`\> = `object`
4
+
5
+ Defined in: [packages/fate/src/server/http.ts:224](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/http.ts#L224)
6
+
7
+ ## Type Parameters
8
+
9
+ ### API
10
+
11
+ `API`
12
+
13
+ ### AdapterContext
14
+
15
+ `AdapterContext` = `unknown`
16
+
17
+ ## Properties
18
+
19
+ ### \_\_api?
20
+
21
+ > `readonly` `optional` **\_\_api?**: `API`
22
+
23
+ Defined in: [packages/fate/src/server/http.ts:225](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/http.ts#L225)
24
+
25
+ ***
26
+
27
+ ### manifest
28
+
29
+ > `readonly` **manifest**: [`FateServerManifest`](FateServerManifest.md)
30
+
31
+ Defined in: [packages/fate/src/server/http.ts:228](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/http.ts#L228)
32
+
33
+ ## Methods
34
+
35
+ ### handleLiveRequest()
36
+
37
+ > **handleLiveRequest**(`request`, `adapterContext?`): `Promise`\<`Response`\>
38
+
39
+ Defined in: [packages/fate/src/server/http.ts:226](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/http.ts#L226)
40
+
41
+ #### Parameters
42
+
43
+ ##### request
44
+
45
+ `Request`
46
+
47
+ ##### adapterContext?
48
+
49
+ `AdapterContext`
50
+
51
+ #### Returns
52
+
53
+ `Promise`\<`Response`\>
54
+
55
+ ***
56
+
57
+ ### handleRequest()
58
+
59
+ > **handleRequest**(`request`, `adapterContext?`): `Promise`\<`Response`\>
60
+
61
+ Defined in: [packages/fate/src/server/http.ts:227](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/http.ts#L227)
62
+
63
+ #### Parameters
64
+
65
+ ##### request
66
+
67
+ `Request`
68
+
69
+ ##### adapterContext?
70
+
71
+ `AdapterContext`
72
+
73
+ #### Returns
74
+
75
+ `Promise`\<`Response`\>
@@ -0,0 +1,5 @@
1
+ # Type Alias: FateServerManifest
2
+
3
+ > **FateServerManifest** = `Readonly`\<\{ `lists`: `Record`\<`string`, \{ `type`: `string`; \}\>; `live`: `Record`\<`string`, `true`\>; `mutations`: `Record`\<`string`, \{ `type`: `string`; \}\>; `queries`: `Record`\<`string`, \{ `type`: `string`; \}\>; `types`: `Record`\<`string`, `true`\>; \}\>
4
+
5
+ Defined in: [packages/fate/src/server/http.ts:233](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/http.ts#L233)
@@ -0,0 +1,21 @@
1
+ # Type Alias: FieldSelection
2
+
3
+ > **FieldSelection** = `object`
4
+
5
+ Defined in: [packages/fate/src/server/dataView.ts:28](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/dataView.ts#L28)
6
+
7
+ ## Properties
8
+
9
+ ### kind
10
+
11
+ > **kind**: `"field"`
12
+
13
+ Defined in: [packages/fate/src/server/dataView.ts:29](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/dataView.ts#L29)
14
+
15
+ ***
16
+
17
+ ### path
18
+
19
+ > **path**: `string`
20
+
21
+ Defined in: [packages/fate/src/server/dataView.ts:30](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/dataView.ts#L30)
@@ -0,0 +1,5 @@
1
+ # Type Alias: LiveConnectionEventType
2
+
3
+ > **LiveConnectionEventType** = `"appendEdge"` \| `"appendNode"` \| `"deleteEdge"` \| `"insertEdgeAfter"` \| `"insertEdgeBefore"` \| `"invalidate"` \| `"prependEdge"` \| `"prependNode"`
4
+
5
+ Defined in: [packages/fate/src/server/live.ts:6](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/live.ts#L6)
@@ -0,0 +1,5 @@
1
+ # Type Alias: LiveConnectionSourceEvent
2
+
3
+ > **LiveConnectionSourceEvent** = `Readonly`\<\{ `cursor?`: `string`; `eventId?`: `string`; `id?`: `string` \| `number`; `node?`: `unknown`; `nodeType?`: `string`; `targetCursor?`: `string`; `type`: [`LiveConnectionEventType`](LiveConnectionEventType.md); \}\>
4
+
5
+ Defined in: [packages/fate/src/server/live.ts:24](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/live.ts#L24)
@@ -0,0 +1,5 @@
1
+ # Type Alias: LiveEventBus
2
+
3
+ > **LiveEventBus** = `Readonly`\<\{ `connection`: (`procedure`, `args?`) => `LiveConnectionHandle`; `delete`: (`type`, `id`, `options?`) => `void`; `emit`: (`type`, `id`, `options?`) => `void`; `listen?`: (`type`, `id`, `handler`, `options?`) => () => `void`; `listenConnection?`: (`target`, `handler`, `options?`) => () => `void`; `subscribe`: (`type`, `id`, `options?`) => `AsyncIterable`\<readonly \[[`LiveSourceEvent`](LiveSourceEvent.md)\]\>; `subscribeConnection`: (`target`, `options?`) => `AsyncIterable`\<readonly \[[`LiveConnectionSourceEvent`](LiveConnectionSourceEvent.md)\]\>; `update`: (`type`, `id`, `options?`) => `void`; \}\>
4
+
5
+ Defined in: [packages/fate/src/server/live.ts:72](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/live.ts#L72)
@@ -0,0 +1,5 @@
1
+ # Type Alias: LiveEventType
2
+
3
+ > **LiveEventType** = `"delete"` \| `"update"`
4
+
5
+ Defined in: [packages/fate/src/server/live.ts:4](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/live.ts#L4)
@@ -0,0 +1,5 @@
1
+ # Type Alias: LiveSourceEvent
2
+
3
+ > **LiveSourceEvent** = `Readonly`\<\{ `changed?`: `ReadonlyArray`\<`string`\>; `data?`: `unknown`; `eventId?`: `string`; `id`: `string` \| `number`; `type`: [`LiveEventType`](LiveEventType.md); \}\>
4
+
5
+ Defined in: [packages/fate/src/server/live.ts:16](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/live.ts#L16)
@@ -0,0 +1,47 @@
1
+ # Type Alias: NativeFateAPI\<Roots, Queries, Lists, Mutations\>
2
+
3
+ > **NativeFateAPI**\<`Roots`, `Queries`, `Lists`, `Mutations`\> = `object`
4
+
5
+ Defined in: [packages/fate/src/server/http.ts:213](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/http.ts#L213)
6
+
7
+ ## Type Parameters
8
+
9
+ ### Roots
10
+
11
+ `Roots` *extends* `RootMap`
12
+
13
+ ### Queries
14
+
15
+ `Queries` *extends* `Record`\<`string`, `QueryDefinition`\<`any`, `any`, `any`\>\>
16
+
17
+ ### Lists
18
+
19
+ `Lists` *extends* `Record`\<`string`, `ListDefinition`\<`any`, `any`, `any`\>\>
20
+
21
+ ### Mutations
22
+
23
+ `Mutations` *extends* `Record`\<`string`, `MutationDefinition`\<`any`, `any`, `any`\>\>
24
+
25
+ ## Properties
26
+
27
+ ### lists
28
+
29
+ > **lists**: `RootLists`\<`Roots`\> & `ListAPI`\<`Lists`\>
30
+
31
+ Defined in: [packages/fate/src/server/http.ts:219](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/http.ts#L219)
32
+
33
+ ***
34
+
35
+ ### mutations
36
+
37
+ > **mutations**: `MutationAPI`\<`Mutations`\>
38
+
39
+ Defined in: [packages/fate/src/server/http.ts:220](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/http.ts#L220)
40
+
41
+ ***
42
+
43
+ ### queries
44
+
45
+ > **queries**: `RootQueries`\<`Roots`\> & `QueryAPI`\<`Queries`\>
46
+
47
+ Defined in: [packages/fate/src/server/http.ts:221](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/http.ts#L221)
@@ -0,0 +1,5 @@
1
+ # Type Alias: OrderDirection
2
+
3
+ > **OrderDirection** = `"asc"` \| `"desc"`
4
+
5
+ Defined in: [packages/fate/src/server/source.ts:14](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/source.ts#L14)
@@ -0,0 +1,55 @@
1
+ # Type Alias: SourceConfig\<Item, Adapter\>
2
+
3
+ > **SourceConfig**\<`Item`, `Adapter`\> = `object`
4
+
5
+ Defined in: [packages/fate/src/server/source.ts:79](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/source.ts#L79)
6
+
7
+ ## Type Parameters
8
+
9
+ ### Item
10
+
11
+ `Item` *extends* [`FateRecord`](../../type-aliases/FateRecord.md) = [`FateRecord`](../../type-aliases/FateRecord.md)
12
+
13
+ ### Adapter
14
+
15
+ `Adapter` = `unknown`
16
+
17
+ ## Properties
18
+
19
+ ### adapter?
20
+
21
+ > `optional` **adapter?**: `Adapter`
22
+
23
+ Defined in: [packages/fate/src/server/source.ts:80](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/source.ts#L80)
24
+
25
+ ***
26
+
27
+ ### id?
28
+
29
+ > `optional` **id?**: `string`
30
+
31
+ Defined in: [packages/fate/src/server/source.ts:81](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/source.ts#L81)
32
+
33
+ ***
34
+
35
+ ### orderBy?
36
+
37
+ > `optional` **orderBy?**: [`SourceOrder`](SourceOrder.md)
38
+
39
+ Defined in: [packages/fate/src/server/source.ts:82](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/source.ts#L82)
40
+
41
+ ***
42
+
43
+ ### relations?
44
+
45
+ > `optional` **relations?**: `Record`\<`string`, [`SourceRelationConfig`](SourceRelationConfig.md)\>
46
+
47
+ Defined in: [packages/fate/src/server/source.ts:83](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/source.ts#L83)
48
+
49
+ ***
50
+
51
+ ### view
52
+
53
+ > **view**: `DataView`\<`Item`\>
54
+
55
+ Defined in: [packages/fate/src/server/source.ts:84](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/source.ts#L84)
@@ -0,0 +1,55 @@
1
+ # Type Alias: SourceDefinition\<Item, Adapter\>
2
+
3
+ > **SourceDefinition**\<`Item`, `Adapter`\> = `object`
4
+
5
+ Defined in: [packages/fate/src/server/source.ts:71](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/source.ts#L71)
6
+
7
+ ## Type Parameters
8
+
9
+ ### Item
10
+
11
+ `Item` *extends* [`FateRecord`](../../type-aliases/FateRecord.md) = [`FateRecord`](../../type-aliases/FateRecord.md)
12
+
13
+ ### Adapter
14
+
15
+ `Adapter` = `unknown`
16
+
17
+ ## Properties
18
+
19
+ ### adapter?
20
+
21
+ > `optional` **adapter?**: `Adapter`
22
+
23
+ Defined in: [packages/fate/src/server/source.ts:72](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/source.ts#L72)
24
+
25
+ ***
26
+
27
+ ### id
28
+
29
+ > **id**: `string`
30
+
31
+ Defined in: [packages/fate/src/server/source.ts:73](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/source.ts#L73)
32
+
33
+ ***
34
+
35
+ ### orderBy?
36
+
37
+ > `optional` **orderBy?**: [`SourceOrder`](SourceOrder.md)
38
+
39
+ Defined in: [packages/fate/src/server/source.ts:74](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/source.ts#L74)
40
+
41
+ ***
42
+
43
+ ### relations?
44
+
45
+ > `optional` **relations?**: `Record`\<`string`, [`SourceRelation`](SourceRelation.md)\<[`FateRecord`](../../type-aliases/FateRecord.md), `Adapter`\>\>
46
+
47
+ Defined in: [packages/fate/src/server/source.ts:75](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/source.ts#L75)
48
+
49
+ ***
50
+
51
+ ### view
52
+
53
+ > **view**: `DataView`\<`Item`\>
54
+
55
+ Defined in: [packages/fate/src/server/source.ts:76](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/source.ts#L76)
@@ -0,0 +1,5 @@
1
+ # Type Alias: SourceOrder
2
+
3
+ > **SourceOrder** = [`SourceOrderField`](SourceOrderField.md)[]
4
+
5
+ Defined in: [packages/fate/src/server/source.ts:21](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/source.ts#L21)
@@ -0,0 +1,21 @@
1
+ # Type Alias: SourceOrderField
2
+
3
+ > **SourceOrderField** = `object`
4
+
5
+ Defined in: [packages/fate/src/server/source.ts:16](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/source.ts#L16)
6
+
7
+ ## Properties
8
+
9
+ ### direction
10
+
11
+ > **direction**: [`OrderDirection`](OrderDirection.md)
12
+
13
+ Defined in: [packages/fate/src/server/source.ts:17](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/source.ts#L17)
14
+
15
+ ***
16
+
17
+ ### field
18
+
19
+ > **field**: `string`
20
+
21
+ Defined in: [packages/fate/src/server/source.ts:18](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/source.ts#L18)
@@ -0,0 +1,29 @@
1
+ # Type Alias: SourcePlan\<Item, Context, Adapter\>
2
+
3
+ > **SourcePlan**\<`Item`, `Context`, `Adapter`\> = `Omit`\<`ViewPlan`\<`Item`, `Context`\>, `"root"`\> & `object`
4
+
5
+ Defined in: [packages/fate/src/server/source.ts:93](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/source.ts#L93)
6
+
7
+ ## Type Declaration
8
+
9
+ ### root
10
+
11
+ > **root**: [`SourcePlanNode`](SourcePlanNode.md)\<`Context`, `Adapter`\>
12
+
13
+ ### source
14
+
15
+ > **source**: [`SourceDefinition`](SourceDefinition.md)\<`Item`, `Adapter`\>
16
+
17
+ ## Type Parameters
18
+
19
+ ### Item
20
+
21
+ `Item` *extends* [`FateRecord`](../../type-aliases/FateRecord.md) = [`FateRecord`](../../type-aliases/FateRecord.md)
22
+
23
+ ### Context
24
+
25
+ `Context` = `unknown`
26
+
27
+ ### Adapter
28
+
29
+ `Adapter` = `unknown`
@@ -0,0 +1,29 @@
1
+ # Type Alias: SourcePlanNode\<Context, Adapter\>
2
+
3
+ > **SourcePlanNode**\<`Context`, `Adapter`\> = `ViewPlanNode`\<`Context`\> & `object`
4
+
5
+ Defined in: [packages/fate/src/server/source.ts:87](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/source.ts#L87)
6
+
7
+ ## Type Declaration
8
+
9
+ ### orderBy
10
+
11
+ > **orderBy**: [`SourceOrder`](SourceOrder.md)
12
+
13
+ ### relations
14
+
15
+ > **relations**: `Map`\<`string`, `SourcePlanNode`\<`Context`, `Adapter`\>\>
16
+
17
+ ### source
18
+
19
+ > **source**: [`SourceDefinition`](SourceDefinition.md)\<[`FateRecord`](../../type-aliases/FateRecord.md), `Adapter`\>
20
+
21
+ ## Type Parameters
22
+
23
+ ### Context
24
+
25
+ `Context` = `unknown`
26
+
27
+ ### Adapter
28
+
29
+ `Adapter` = `unknown`
@@ -0,0 +1,11 @@
1
+ # Type Alias: SourceRegistry\<Context\>
2
+
3
+ > **SourceRegistry**\<`Context`\> = `Map`\<[`SourceDefinition`](SourceDefinition.md)\<[`FateRecord`](../../type-aliases/FateRecord.md), `unknown`\>, `SourceExecutor`\<`Context`, [`FateRecord`](../../type-aliases/FateRecord.md), `any`, `any`, `any`\>\>
4
+
5
+ Defined in: [packages/fate/src/server/executor.ts:52](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/executor.ts#L52)
6
+
7
+ ## Type Parameters
8
+
9
+ ### Context
10
+
11
+ `Context`
@@ -0,0 +1,15 @@
1
+ # Type Alias: SourceRelation\<Item, Adapter\>
2
+
3
+ > **SourceRelation**\<`Item`, `Adapter`\> = `SourceRelationBase`\<`Item`, `Adapter`\> & \{ `kind`: `"one"`; `orderBy?`: `never`; `through?`: `never`; \} \| \{ `kind`: `"many"`; `orderBy?`: [`SourceOrder`](SourceOrder.md); `through?`: `never`; \} \| \{ `kind`: `"manyToMany"`; `orderBy?`: [`SourceOrder`](SourceOrder.md); `through?`: \{ `foreignKey`: `string`; `localKey`: `string`; \}; \}
4
+
5
+ Defined in: [packages/fate/src/server/source.ts:33](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/source.ts#L33)
6
+
7
+ ## Type Parameters
8
+
9
+ ### Item
10
+
11
+ `Item` *extends* [`FateRecord`](../../type-aliases/FateRecord.md) = [`FateRecord`](../../type-aliases/FateRecord.md)
12
+
13
+ ### Adapter
14
+
15
+ `Adapter` = `unknown`
@@ -0,0 +1,23 @@
1
+ # Type Alias: SourceRelationConfig
2
+
3
+ > **SourceRelationConfig** = `Partial`\<`SourceRelationKeyConfig`\> & `object`
4
+
5
+ Defined in: [packages/fate/src/server/source.ts:63](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/source.ts#L63)
6
+
7
+ ## Type Declaration
8
+
9
+ ### orderBy?
10
+
11
+ > `optional` **orderBy?**: [`SourceOrder`](SourceOrder.md)
12
+
13
+ ### through?
14
+
15
+ > `optional` **through?**: `object`
16
+
17
+ #### through.foreignKey
18
+
19
+ > **foreignKey**: `string`
20
+
21
+ #### through.localKey
22
+
23
+ > **localKey**: `string`
@@ -0,0 +1,5 @@
1
+ # Variable: byIdInput
2
+
3
+ > `const` **byIdInput**: `ZodObject`\<\{ `args`: `ZodOptional`\<`ZodType`\<`Record`\<`string`, `unknown`\>, `unknown`, `$ZodTypeInternals`\<`Record`\<`string`, `unknown`\>, `unknown`\>\>\>; `ids`: `ZodArray`\<`ZodString`\>; `select`: `ZodArray`\<`ZodString`\>; \}, `$strip`\>
4
+
5
+ Defined in: [packages/fate/src/server/input.ts:4](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/input.ts#L4)
@@ -0,0 +1,7 @@
1
+ # Variable: connectionArgs
2
+
3
+ > `const` **connectionArgs**: `ZodOptional`\<`ZodType`\<`Record`\<`string`, `unknown`\>, `unknown`, `$ZodTypeInternals`\<`Record`\<`string`, `unknown`\>, `unknown`\>\>\>
4
+
5
+ Defined in: [packages/fate/src/server/connection.ts:102](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/connection.ts#L102)
6
+
7
+ Zod schema for connection args (`after`, `before`, `first`, `last`, etc.).
@@ -0,0 +1,7 @@
1
+ # Type Alias: ConnectionMetadata
2
+
3
+ > **ConnectionMetadata** = `Readonly`\<\{ `args?`: [`FateRecord`](FateRecord.md); `field`: `string`; `hash?`: `string`; `key`: `string`; `live?`: `ConnectionLivePolicy`; `owner`: [`EntityId`](EntityId.md); `procedure`: `string`; `root?`: `boolean`; `type`: `string`; \}\>
4
+
5
+ Defined in: [packages/fate/src/types.ts:83](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/types.ts#L83)
6
+
7
+ Metadata stored alongside connection results to power pagination and cache updates.
@@ -0,0 +1,13 @@
1
+ # Type Alias: ConnectionRef\<TName\>
2
+
3
+ > **ConnectionRef**\<`TName`\> = `Readonly`\<\{ `items`: `ReadonlyArray`\<\{ `cursor?`: `string`; `node`: [`ViewRef`](ViewRef.md)\<`TName`\>; \}\>; `pagination?`: [`Pagination`](Pagination.md); \}\>
4
+
5
+ Defined in: [packages/fate/src/types.ts:132](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/types.ts#L132)
6
+
7
+ Ref for a connection, including pagination metadata.
8
+
9
+ ## Type Parameters
10
+
11
+ ### TName
12
+
13
+ `TName` *extends* `string`
@@ -0,0 +1,15 @@
1
+ # Type Alias: Entity
2
+
3
+ > **Entity** = `object`
4
+
5
+ Defined in: [packages/fate/src/types.ts:141](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/types.ts#L141)
6
+
7
+ Base shape shared by all entities fetched by fate.
8
+
9
+ ## Properties
10
+
11
+ ### \_\_typename
12
+
13
+ > **\_\_typename**: `string`
14
+
15
+ Defined in: [packages/fate/src/types.ts:141](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/types.ts#L141)
@@ -0,0 +1,7 @@
1
+ # Type Alias: EntityId
2
+
3
+ > **EntityId** = `string`
4
+
5
+ Defined in: [packages/fate/src/types.ts:8](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/types.ts#L8)
6
+
7
+ Globally unique identifier for an entity in the normalized cache (`<TypeName>:<id>` format).
@@ -0,0 +1,5 @@
1
+ # Type Alias: FateLiveConnectionEvent
2
+
3
+ > **FateLiveConnectionEvent** = `Readonly`\<\{ `edge`: \{ `cursor?`: `string`; `node`: `unknown`; \}; `nodeType`: `string`; `targetCursor?`: `string`; `type`: `"appendEdge"` \| `"appendNode"` \| `"insertEdgeAfter"` \| `"insertEdgeBefore"` \| `"prependEdge"` \| `"prependNode"`; \}\> \| `Readonly`\<\{ `id`: `string` \| `number`; `nodeType`: `string`; `type`: `"deleteEdge"`; \}\> \| `Readonly`\<\{ `type`: `"invalidate"`; \}\>
4
+
5
+ Defined in: [packages/fate/src/protocol.ts:55](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/protocol.ts#L55)
@@ -0,0 +1,5 @@
1
+ # Type Alias: FateLiveEvent
2
+
3
+ > **FateLiveEvent** = `FateLiveDataEvent` \| `FateLiveDeleteEvent`
4
+
5
+ Defined in: [packages/fate/src/protocol.ts:53](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/protocol.ts#L53)
@@ -0,0 +1,7 @@
1
+ # Type Alias: FateMutations
2
+
3
+ > **FateMutations** = `Record`\<`string`, [`MutationDefinition`](MutationDefinition.md)\<`any`, `any`, `any`\>\>
4
+
5
+ Defined in: [packages/fate/src/mutation.ts:94](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/mutation.ts#L94)
6
+
7
+ Base type for client mutations.
@@ -0,0 +1,5 @@
1
+ # Type Alias: FateOperation
2
+
3
+ > **FateOperation** = `Readonly`\<\{ `args?`: `Record`\<`string`, `unknown`\>; `id`: `string`; `ids?`: (`string` \| `number`)[]; `input?`: `unknown`; `kind`: `FateOperationKind`; `name?`: `string`; `select`: `string`[]; `type?`: `string`; \}\>
4
+
5
+ Defined in: [packages/fate/src/protocol.ts:7](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/protocol.ts#L7)
@@ -0,0 +1,5 @@
1
+ # Type Alias: FateProtocolRequest
2
+
3
+ > **FateProtocolRequest** = `Readonly`\<\{ `operations`: [`FateOperation`](FateOperation.md)[]; `version`: `FateProtocolVersion`; \}\>
4
+
5
+ Defined in: [packages/fate/src/protocol.ts:30](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/protocol.ts#L30)
@@ -0,0 +1,5 @@
1
+ # Type Alias: FateProtocolResponse
2
+
3
+ > **FateProtocolResponse** = `Readonly`\<\{ `results`: `FateOperationResult`[]; `version`: `FateProtocolVersion`; \}\>
4
+
5
+ Defined in: [packages/fate/src/protocol.ts:35](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/protocol.ts#L35)
@@ -0,0 +1,7 @@
1
+ # Type Alias: FateRecord
2
+
3
+ > **FateRecord** = `Record`\<`string`, `unknown`\>
4
+
5
+ Defined in: [packages/fate/src/types.ts:64](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/types.ts#L64)
6
+
7
+ Alias for a loose record used throughout the fate's internals.
@@ -0,0 +1,7 @@
1
+ # Type Alias: FateRoots
2
+
3
+ > **FateRoots** = `Record`\<`string`, `RootDefinition`\<`TypeName`, `unknown`\>\>
4
+
5
+ Defined in: [packages/fate/src/types.ts:425](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/types.ts#L425)
6
+
7
+ Minimal root description used for typing root maps.
@@ -0,0 +1,11 @@
1
+ # Type Alias: InferFateAPI\<Server\>
2
+
3
+ > **InferFateAPI**\<`Server`\> = `Server` *extends* `object` ? `API` : `never`
4
+
5
+ Defined in: [packages/fate/src/server/http.ts:231](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/server/http.ts#L231)
6
+
7
+ ## Type Parameters
8
+
9
+ ### Server
10
+
11
+ `Server`
@@ -0,0 +1,5 @@
1
+ # Type Alias: List
2
+
3
+ > **List** = `Readonly`\<\{ `backwardPageLimit?`: `number`; `cursors?`: `ReadonlyArray`\<`string` \| `undefined`\>; `forwardPageLimit?`: `number`; `ids`: `ReadonlyArray`\<[`EntityId`](EntityId.md)\>; `liveAfterIds?`: `ReadonlyArray`\<[`EntityId`](EntityId.md)\>; `liveBeforeIds?`: `ReadonlyArray`\<[`EntityId`](EntityId.md)\>; `pagination?`: [`Pagination`](Pagination.md); `pendingAfterIds?`: `ReadonlyArray`\<[`EntityId`](EntityId.md)\>; `pendingBeforeIds?`: `ReadonlyArray`\<[`EntityId`](EntityId.md)\>; \}\>
4
+
5
+ Defined in: [packages/fate/src/store.ts:14](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/store.ts#L14)
@@ -0,0 +1,5 @@
1
+ # Type Alias: ListEntry
2
+
3
+ > **ListEntry** = `Readonly`\<\{ `cursor?`: `string`; `id`: [`EntityId`](EntityId.md); \}\>
4
+
5
+ Defined in: [packages/fate/src/list.ts:4](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/list.ts#L4)
@@ -0,0 +1,13 @@
1
+ # Type Alias: ListItem\<V\>
2
+
3
+ > **ListItem**\<`V`\> = `Readonly`\<\{ `args?`: `Record`\<`string`, `unknown`\>; `list`: `V`; \}\>
4
+
5
+ Defined in: [packages/fate/src/types.ts:316](https://github.com/nkzw-tech/fate/blob/d972c17c02c8292194208ab53c91f9216703a5a7/packages/fate/src/types.ts#L316)
6
+
7
+ Definition of a list request for fetching data from the backend.
8
+
9
+ ## Type Parameters
10
+
11
+ ### V
12
+
13
+ `V` *extends* [`View`](View.md)\<`any`, `any`\>