attio 0.0.1-experimental.20251001 → 0.0.1-experimental.20251002

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 (228) hide show
  1. package/lib/build/client/create-client-build-config.js +7 -1
  2. package/lib/build/client/generate-client-entry.js +9 -0
  3. package/lib/build/get-file-exports.js +1 -2
  4. package/lib/build/proxy-block-modules-plugin.js +68 -0
  5. package/lib/build/server/create-server-build-config.js +4 -0
  6. package/lib/build/server/find-workflow-block-server-modules.js +300 -30
  7. package/lib/build/server/fine-workflow-block.test.js +66 -0
  8. package/lib/build/server/generate-server-entry.js +40 -27
  9. package/lib/build/workflow-block-modules.js +1 -0
  10. package/lib/client/app.d.ts +7 -5
  11. package/lib/client/app.d.ts.map +1 -1
  12. package/lib/client/experimental/index.d.ts +3 -0
  13. package/lib/client/experimental/index.d.ts.map +1 -0
  14. package/lib/client/experimental/index.js +10 -0
  15. package/lib/client/experimental/index.js.map +1 -0
  16. package/lib/client/experimental/settings/get-settings.d.ts +7 -0
  17. package/lib/client/experimental/settings/get-settings.d.ts.map +1 -0
  18. package/lib/client/{workflow-block.js → experimental/settings/get-settings.js} +1 -1
  19. package/lib/client/experimental/settings/get-settings.js.map +1 -0
  20. package/lib/client/experimental/settings/index.d.ts +5 -0
  21. package/lib/client/experimental/settings/index.d.ts.map +1 -0
  22. package/lib/client/experimental/settings/index.js +8 -0
  23. package/lib/client/experimental/settings/index.js.map +1 -0
  24. package/lib/client/experimental/settings/set-user-setting.d.ts +7 -0
  25. package/lib/client/experimental/settings/set-user-setting.d.ts.map +1 -0
  26. package/lib/client/experimental/settings/set-user-setting.js +3 -0
  27. package/lib/client/experimental/settings/set-user-setting.js.map +1 -0
  28. package/lib/client/experimental/settings/set-workspace-setting.d.ts +7 -0
  29. package/lib/client/experimental/settings/set-workspace-setting.d.ts.map +1 -0
  30. package/lib/client/experimental/settings/set-workspace-setting.js +3 -0
  31. package/lib/client/experimental/settings/set-workspace-setting.js.map +1 -0
  32. package/lib/client/experimental/settings/use-settings.d.ts +7 -0
  33. package/lib/client/experimental/settings/use-settings.d.ts.map +1 -0
  34. package/lib/client/experimental/settings/use-settings.js +3 -0
  35. package/lib/client/experimental/settings/use-settings.js.map +1 -0
  36. package/lib/client/index.d.ts +3 -1
  37. package/lib/client/index.d.ts.map +1 -1
  38. package/lib/client/index.js +1 -0
  39. package/lib/client/index.js.map +1 -1
  40. package/lib/client/workflow/index.d.ts +1 -19
  41. package/lib/client/workflow/index.d.ts.map +1 -1
  42. package/lib/client/workflow/index.js +2 -1
  43. package/lib/client/workflow/index.js.map +1 -1
  44. package/lib/client/workflow/outcome-data-schema/array-node.d.ts +10 -0
  45. package/lib/client/workflow/outcome-data-schema/array-node.d.ts.map +1 -0
  46. package/lib/client/workflow/outcome-data-schema/array-node.js +3 -0
  47. package/lib/client/workflow/outcome-data-schema/array-node.js.map +1 -0
  48. package/lib/client/workflow/outcome-data-schema/attio-record.d.ts +10 -0
  49. package/lib/client/workflow/outcome-data-schema/attio-record.d.ts.map +1 -0
  50. package/lib/client/workflow/outcome-data-schema/attio-record.js +3 -0
  51. package/lib/client/workflow/outcome-data-schema/attio-record.js.map +1 -0
  52. package/lib/client/workflow/outcome-data-schema/attio-select.d.ts +10 -0
  53. package/lib/client/workflow/outcome-data-schema/attio-select.d.ts.map +1 -0
  54. package/lib/client/workflow/outcome-data-schema/attio-select.js +3 -0
  55. package/lib/client/workflow/outcome-data-schema/attio-select.js.map +1 -0
  56. package/lib/client/workflow/outcome-data-schema/boolean-node.d.ts +10 -0
  57. package/lib/client/workflow/outcome-data-schema/boolean-node.d.ts.map +1 -0
  58. package/lib/client/workflow/outcome-data-schema/boolean-node.js +3 -0
  59. package/lib/client/workflow/outcome-data-schema/boolean-node.js.map +1 -0
  60. package/lib/client/workflow/outcome-data-schema/index.d.ts +8 -0
  61. package/lib/client/workflow/outcome-data-schema/index.d.ts.map +1 -0
  62. package/lib/client/workflow/outcome-data-schema/index.js +18 -0
  63. package/lib/client/workflow/outcome-data-schema/index.js.map +1 -0
  64. package/lib/client/workflow/outcome-data-schema/number-node.d.ts +10 -0
  65. package/lib/client/workflow/outcome-data-schema/number-node.d.ts.map +1 -0
  66. package/lib/client/workflow/outcome-data-schema/number-node.js +3 -0
  67. package/lib/client/workflow/outcome-data-schema/number-node.js.map +1 -0
  68. package/lib/client/workflow/outcome-data-schema/string-node.d.ts +10 -0
  69. package/lib/client/workflow/outcome-data-schema/string-node.d.ts.map +1 -0
  70. package/lib/client/workflow/outcome-data-schema/string-node.js +3 -0
  71. package/lib/client/workflow/outcome-data-schema/string-node.js.map +1 -0
  72. package/lib/client/workflow/outcome-data-schema/struct-node.d.ts +12 -0
  73. package/lib/client/workflow/outcome-data-schema/struct-node.d.ts.map +1 -0
  74. package/lib/client/workflow/outcome-data-schema/struct-node.js +3 -0
  75. package/lib/client/workflow/outcome-data-schema/struct-node.js.map +1 -0
  76. package/lib/client/workflow/outcome.d.ts +9 -0
  77. package/lib/client/workflow/outcome.d.ts.map +1 -0
  78. package/lib/client/workflow/outcome.js +3 -0
  79. package/lib/client/workflow/outcome.js.map +1 -0
  80. package/lib/client/workflow/use-configurator.d.ts +17 -0
  81. package/lib/client/workflow/use-configurator.d.ts.map +1 -1
  82. package/lib/client/{workflow-block.d.ts → workflow-step-block.d.ts} +6 -2
  83. package/lib/client/workflow-step-block.d.ts.map +1 -0
  84. package/lib/client/workflow-step-block.js +3 -0
  85. package/lib/client/workflow-step-block.js.map +1 -0
  86. package/lib/client/workflow-trigger-block.d.ts +18 -0
  87. package/lib/client/workflow-trigger-block.d.ts.map +1 -0
  88. package/lib/client/workflow-trigger-block.js +3 -0
  89. package/lib/client/workflow-trigger-block.js.map +1 -0
  90. package/lib/commands/build.js +9 -1
  91. package/lib/commands/dev/client-builder.js +9 -3
  92. package/lib/commands/dev/prepare-build-context.js +17 -27
  93. package/lib/commands/dev/server-builder.js +3 -2
  94. package/lib/commands/dev.js +10 -1
  95. package/lib/commands/version/create.js +9 -1
  96. package/lib/constants/hidden-attio-directory.js +1 -0
  97. package/lib/constants/settings-files.js +2 -0
  98. package/lib/env.js +1 -0
  99. package/lib/root/index.d.ts +6 -0
  100. package/lib/root/index.d.ts.map +1 -0
  101. package/lib/root/index.js +12 -0
  102. package/lib/root/index.js.map +1 -0
  103. package/lib/root/settings/app-settings-schema.d.ts +6 -0
  104. package/lib/root/settings/app-settings-schema.d.ts.map +1 -0
  105. package/lib/root/settings/app-settings-schema.js +3 -0
  106. package/lib/root/settings/app-settings-schema.js.map +1 -0
  107. package/lib/root/settings/app-settings.d.ts +26 -0
  108. package/lib/root/settings/app-settings.d.ts.map +1 -0
  109. package/lib/root/settings/app-settings.js +3 -0
  110. package/lib/root/settings/app-settings.js.map +1 -0
  111. package/lib/root/settings/index.d.ts +5 -0
  112. package/lib/root/settings/index.d.ts.map +1 -0
  113. package/lib/root/settings/index.js +8 -0
  114. package/lib/root/settings/index.js.map +1 -0
  115. package/lib/root/settings/node/boolean.d.ts +11 -0
  116. package/lib/root/settings/node/boolean.d.ts.map +1 -0
  117. package/lib/root/settings/node/boolean.js +11 -0
  118. package/lib/root/settings/node/boolean.js.map +1 -0
  119. package/lib/root/settings/node/index.d.ts +7 -0
  120. package/lib/root/settings/node/index.d.ts.map +1 -0
  121. package/lib/root/settings/node/index.js +12 -0
  122. package/lib/root/settings/node/index.js.map +1 -0
  123. package/lib/root/settings/node/number.d.ts +11 -0
  124. package/lib/root/settings/node/number.d.ts.map +1 -0
  125. package/lib/root/settings/node/number.js +11 -0
  126. package/lib/root/settings/node/number.js.map +1 -0
  127. package/lib/root/settings/node/settings.d.ts +4 -0
  128. package/lib/root/settings/node/settings.d.ts.map +1 -0
  129. package/lib/root/settings/node/settings.js +10 -0
  130. package/lib/root/settings/node/settings.js.map +1 -0
  131. package/lib/root/settings/node/string.d.ts +11 -0
  132. package/lib/root/settings/node/string.d.ts.map +1 -0
  133. package/lib/root/settings/node/string.js +11 -0
  134. package/lib/root/settings/node/string.js.map +1 -0
  135. package/lib/root/settings/settings-schema.d.ts +7 -0
  136. package/lib/root/settings/settings-schema.d.ts.map +1 -0
  137. package/lib/root/settings/settings-schema.js +3 -0
  138. package/lib/root/settings/settings-schema.js.map +1 -0
  139. package/lib/root/settings/utils/typeof-setting-node.d.ts +3 -0
  140. package/lib/root/settings/utils/typeof-setting-node.d.ts.map +1 -0
  141. package/lib/root/settings/utils/typeof-setting-node.js +3 -0
  142. package/lib/root/settings/utils/typeof-setting-node.js.map +1 -0
  143. package/lib/server/experimental/index.d.ts +1 -0
  144. package/lib/server/experimental/index.d.ts.map +1 -1
  145. package/lib/server/experimental/index.js +9 -1
  146. package/lib/server/experimental/index.js.map +1 -1
  147. package/lib/server/experimental/kv-store.d.ts +10 -0
  148. package/lib/server/experimental/kv-store.d.ts.map +1 -1
  149. package/lib/server/experimental/settings/get-settings.d.ts +7 -0
  150. package/lib/server/experimental/settings/get-settings.d.ts.map +1 -0
  151. package/lib/server/experimental/settings/get-settings.js +3 -0
  152. package/lib/server/experimental/settings/get-settings.js.map +1 -0
  153. package/lib/server/experimental/settings/get-user-setting.d.ts +7 -0
  154. package/lib/server/experimental/settings/get-user-setting.d.ts.map +1 -0
  155. package/lib/server/experimental/settings/get-user-setting.js +3 -0
  156. package/lib/server/experimental/settings/get-user-setting.js.map +1 -0
  157. package/lib/server/experimental/settings/get-user-settings.d.ts +7 -0
  158. package/lib/server/experimental/settings/get-user-settings.d.ts.map +1 -0
  159. package/lib/server/experimental/settings/get-user-settings.js +3 -0
  160. package/lib/server/experimental/settings/get-user-settings.js.map +1 -0
  161. package/lib/server/experimental/settings/get-workspace-setting.d.ts +7 -0
  162. package/lib/server/experimental/settings/get-workspace-setting.d.ts.map +1 -0
  163. package/lib/server/experimental/settings/get-workspace-setting.js +3 -0
  164. package/lib/server/experimental/settings/get-workspace-setting.js.map +1 -0
  165. package/lib/server/experimental/settings/get-workspace-settings.d.ts +7 -0
  166. package/lib/server/experimental/settings/get-workspace-settings.d.ts.map +1 -0
  167. package/lib/server/experimental/settings/get-workspace-settings.js +3 -0
  168. package/lib/server/experimental/settings/get-workspace-settings.js.map +1 -0
  169. package/lib/server/experimental/settings/index.d.ts +8 -0
  170. package/lib/server/experimental/settings/index.d.ts.map +1 -0
  171. package/lib/server/experimental/settings/index.js +18 -0
  172. package/lib/server/experimental/settings/index.js.map +1 -0
  173. package/lib/server/experimental/settings/set-user-setting.d.ts +7 -0
  174. package/lib/server/experimental/settings/set-user-setting.d.ts.map +1 -0
  175. package/lib/server/experimental/settings/set-user-setting.js +3 -0
  176. package/lib/server/experimental/settings/set-user-setting.js.map +1 -0
  177. package/lib/server/experimental/settings/set-workspace-setting.d.ts +7 -0
  178. package/lib/server/experimental/settings/set-workspace-setting.d.ts.map +1 -0
  179. package/lib/server/experimental/settings/set-workspace-setting.js +3 -0
  180. package/lib/server/experimental/settings/set-workspace-setting.js.map +1 -0
  181. package/lib/shared/schema-utils/index.d.ts +1 -1
  182. package/lib/shared/schema-utils/index.d.ts.map +1 -1
  183. package/lib/shared/schema-utils/index.js +3 -0
  184. package/lib/shared/schema-utils/index.js.map +1 -1
  185. package/lib/shared/schema-utils/normalize.d.ts +1 -2
  186. package/lib/shared/schema-utils/normalize.d.ts.map +1 -1
  187. package/lib/shared/workflow/outcome/attio-record.d.ts +18 -0
  188. package/lib/shared/workflow/outcome/attio-record.d.ts.map +1 -0
  189. package/lib/shared/workflow/outcome/attio-record.js +3 -0
  190. package/lib/shared/workflow/outcome/attio-record.js.map +1 -0
  191. package/lib/shared/workflow/outcome/attio-select.d.ts +21 -0
  192. package/lib/shared/workflow/outcome/attio-select.d.ts.map +1 -0
  193. package/lib/shared/workflow/outcome/attio-select.js +3 -0
  194. package/lib/shared/workflow/outcome/attio-select.js.map +1 -0
  195. package/lib/shared/workflow/outcome/boolean-node.d.ts +11 -0
  196. package/lib/shared/workflow/outcome/boolean-node.d.ts.map +1 -0
  197. package/lib/shared/workflow/outcome/boolean-node.js +3 -0
  198. package/lib/shared/workflow/outcome/boolean-node.js.map +1 -0
  199. package/lib/shared/workflow/outcome/friendly-node.d.ts +8 -0
  200. package/lib/shared/workflow/outcome/friendly-node.d.ts.map +1 -0
  201. package/lib/shared/workflow/outcome/friendly-node.js +3 -0
  202. package/lib/shared/workflow/outcome/friendly-node.js.map +1 -0
  203. package/lib/shared/workflow/outcome/friendly-value-of.d.ts +19 -0
  204. package/lib/shared/workflow/outcome/friendly-value-of.d.ts.map +1 -0
  205. package/lib/shared/workflow/outcome/friendly-value-of.js +3 -0
  206. package/lib/shared/workflow/outcome/friendly-value-of.js.map +1 -0
  207. package/lib/shared/workflow/outcome/node.d.ts +32 -0
  208. package/lib/shared/workflow/outcome/node.d.ts.map +1 -0
  209. package/lib/shared/workflow/outcome/node.js +3 -0
  210. package/lib/shared/workflow/outcome/node.js.map +1 -0
  211. package/lib/shared/workflow/outcome/number-node.d.ts +11 -0
  212. package/lib/shared/workflow/outcome/number-node.d.ts.map +1 -0
  213. package/lib/shared/workflow/outcome/number-node.js +3 -0
  214. package/lib/shared/workflow/outcome/number-node.js.map +1 -0
  215. package/lib/shared/workflow/outcome/string-node.d.ts +11 -0
  216. package/lib/shared/workflow/outcome/string-node.d.ts.map +1 -0
  217. package/lib/shared/workflow/outcome/string-node.js +3 -0
  218. package/lib/shared/workflow/outcome/string-node.js.map +1 -0
  219. package/lib/tsconfig.lib.tsbuildinfo +1 -1
  220. package/lib/util/assert-app-settings.js +13 -0
  221. package/lib/util/exit-with-missing-app-settings.js +5 -0
  222. package/lib/util/exit-with-missing-entry-point.js +2 -8
  223. package/lib/util/generate-gitignore.js +42 -0
  224. package/lib/util/generate-settings-files.js +71 -0
  225. package/lib/util/get-package-manager-command.js +9 -0
  226. package/package.json +8 -1
  227. package/lib/client/workflow-block.d.ts.map +0 -1
  228. package/lib/client/workflow-block.js.map +0 -1
@@ -0,0 +1,12 @@
1
+ import type { StructNode } from "../../../shared/workflow/outcome/node";
2
+ /**
3
+ * Creates a struct schema type.
4
+ *
5
+ * @deprecated This functionality is experimental and may change in the future.
6
+ */
7
+ export declare function struct<TFields extends {
8
+ [key: string]: unknown;
9
+ }>(fields: TFields): StructNode<TFields, {
10
+ is_optional: false;
11
+ }>;
12
+ //# sourceMappingURL=struct-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"struct-node.d.ts","sourceRoot":"","sources":["../../../../src/client/workflow/outcome-data-schema/struct-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,uCAAuC,CAAA;AAErE;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,OAAO,SAAS;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAC,EACnE,MAAM,EAAE,OAAO,GAChB,UAAU,CAAC,OAAO,EAAE;IAAC,WAAW,EAAE,KAAK,CAAA;CAAC,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=struct-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"struct-node.js","sourceRoot":"","sources":["../../../../src/client/workflow/outcome-data-schema/struct-node.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import type { FriendlyNode } from "../../shared/workflow/outcome/friendly-node";
2
+ /**
3
+ * A React component that asserts a possible outcome that a block executor can return.
4
+ */
5
+ export type Outcome = React.ComponentType<{
6
+ type: string;
7
+ data: FriendlyNode;
8
+ }>;
9
+ //# sourceMappingURL=outcome.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outcome.d.ts","sourceRoot":"","sources":["../../../src/client/workflow/outcome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,6CAA6C,CAAA;AAE7E;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,YAAY,CAAA;CACrB,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=outcome.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outcome.js","sourceRoot":"","sources":["../../../src/client/workflow/outcome.ts"],"names":[],"mappings":""}
@@ -5,15 +5,32 @@ import type { AttioRecordInput } from "./inputs/attio-record";
5
5
  import type { AttioSelectInput } from "./inputs/attio-select";
6
6
  import type { NumberInput } from "./inputs/number";
7
7
  import type { TextInput } from "./inputs/text";
8
+ import type { Outcome } from "./outcome";
8
9
  /**
9
10
  * Returns React components that render inputs for the given configuration schema.
10
11
  *
11
12
  * @deprecated This functionality is experimental and may change in the future.
12
13
  */
13
14
  export declare function useConfigurator<TConfigSchema extends FriendlyStruct>(initialValues?: InitialValuesOf<Normalized<TConfigSchema>>): {
15
+ /**
16
+ * A React component that renders a number input.
17
+ */
14
18
  NumberInput: NumberInput<TConfigSchema>;
19
+ /**
20
+ * A React component that renders a text input.
21
+ */
15
22
  TextInput: TextInput<TConfigSchema>;
23
+ /**
24
+ * A React component that renders an input for an Attio select attribute.
25
+ */
16
26
  AttioSelectInput: AttioSelectInput<TConfigSchema>;
27
+ /**
28
+ * A React component that renders an input for an Attio record attribute.
29
+ */
17
30
  AttioRecordInput: AttioRecordInput<TConfigSchema>;
31
+ /**
32
+ * A React component that describes a possible outcome that this block's executor can return.
33
+ */
34
+ Outcome: Outcome;
18
35
  };
19
36
  //# sourceMappingURL=use-configurator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-configurator.d.ts","sourceRoot":"","sources":["../../../src/client/workflow/use-configurator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAA;AACzD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,4CAA4C,CAAA;AAC9E,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,gDAAgD,CAAA;AACnF,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,eAAe,CAAA;AAE5C;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,aAAa,SAAS,cAAc,EACxE,aAAa,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,GAC3D;IACC,WAAW,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;IACvC,SAAS,EAAE,SAAS,CAAC,aAAa,CAAC,CAAA;IACnC,gBAAgB,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAA;IACjD,gBAAgB,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAA;CACpD,CAAA"}
1
+ {"version":3,"file":"use-configurator.d.ts","sourceRoot":"","sources":["../../../src/client/workflow/use-configurator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAA;AACzD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,4CAA4C,CAAA;AAC9E,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,gDAAgD,CAAA;AACnF,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAEtC;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,aAAa,SAAS,cAAc,EACxE,aAAa,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,GAC3D;IACC;;OAEG;IACH,WAAW,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;IAEvC;;OAEG;IACH,SAAS,EAAE,SAAS,CAAC,aAAa,CAAC,CAAA;IAEnC;;OAEG;IACH,gBAAgB,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAA;IAEjD;;OAEG;IACH,gBAAgB,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAA;IAEjD;;OAEG;IACH,OAAO,EAAE,OAAO,CAAA;CACnB,CAAA"}
@@ -1,6 +1,10 @@
1
- export interface WorkflowBlock {
1
+ import type { Executor } from "../server/workflow";
2
+ import type { FriendlyStruct } from "../shared/workflow/config/friendly-node";
3
+ export interface WorkflowStepBlock<TSchema extends FriendlyStruct> {
2
4
  readonly id: string;
3
5
  readonly title: string;
6
+ readonly schema: TSchema;
7
+ readonly execute: Executor<TSchema>;
4
8
  readonly deprecated?: {
5
9
  /**
6
10
  * If this block has been superseded by a newer block then you can provide the ID of
@@ -10,4 +14,4 @@ export interface WorkflowBlock {
10
14
  } | true;
11
15
  readonly Configurator: React.ComponentType<{}>;
12
16
  }
13
- //# sourceMappingURL=workflow-block.d.ts.map
17
+ //# sourceMappingURL=workflow-step-block.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-step-block.d.ts","sourceRoot":"","sources":["../../src/client/workflow-step-block.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAA;AAChD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,yCAAyC,CAAA;AAE3E,MAAM,WAAW,iBAAiB,CAAC,OAAO,SAAS,cAAc;IAC7D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IAEnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IAEtB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IAExB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;IAEnC,QAAQ,CAAC,UAAU,CAAC,EACd;QACI;;;WAGG;QACH,UAAU,EAAE,MAAM,CAAA;KACrB,GACD,IAAI,CAAA;IAEV,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;CACjD"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=workflow-step-block.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-step-block.js","sourceRoot":"","sources":["../../src/client/workflow-step-block.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import type { Activator, Deactivator } from "../server/workflow";
2
+ import type { FriendlyStruct } from "../shared/workflow/config/friendly-node";
3
+ export interface WorkflowTriggerBlock<TSchema extends FriendlyStruct> {
4
+ readonly id: string;
5
+ readonly title: string;
6
+ readonly schema: TSchema;
7
+ readonly activate?: Activator<TSchema>;
8
+ readonly deactivate?: Deactivator<TSchema>;
9
+ readonly deprecated?: {
10
+ /**
11
+ * If this block has been superseded by a newer block then you can provide the ID of
12
+ * the newer block here to help your users migrate.
13
+ */
14
+ replacedBy: string;
15
+ } | true;
16
+ readonly Configurator: React.ComponentType<{}>;
17
+ }
18
+ //# sourceMappingURL=workflow-trigger-block.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-trigger-block.d.ts","sourceRoot":"","sources":["../../src/client/workflow-trigger-block.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAE,WAAW,EAAC,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,yCAAyC,CAAA;AAE3E,MAAM,WAAW,oBAAoB,CAAC,OAAO,SAAS,cAAc;IAChE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IAEnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IAEtB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IAExB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAEtC,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAE1C,QAAQ,CAAC,UAAU,CAAC,EACd;QACI;;;WAGG;QACH,UAAU,EAAE,MAAM,CAAA;KACrB,GACD,IAAI,CAAA;IAEV,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;CACjD"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=workflow-trigger-block.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-trigger-block.js","sourceRoot":"","sources":["../../src/client/workflow-trigger-block.ts"],"names":[],"mappings":""}
@@ -1,7 +1,9 @@
1
1
  import { Command } from "commander";
2
2
  import { isErrored } from "@attio/fetchable-npm";
3
- import { USE_APP_TS } from "../env.js";
3
+ import { USE_APP_TS, USE_SETTINGS } from "../env.js";
4
4
  import { ensureAppEntryPoint } from "../util/ensure-app-entry-point.js";
5
+ import { assertAppSettings } from "../util/assert-app-settings.js";
6
+ import { exitWithMissingAppSettings } from "../util/exit-with-missing-app-settings.js";
5
7
  import { exitWithMissingEntryPoint } from "../util/exit-with-missing-entry-point.js";
6
8
  import { hardExit } from "../util/hard-exit.js";
7
9
  import { spinnerify } from "../util/spinner.js";
@@ -19,6 +21,12 @@ export const build = new Command("build")
19
21
  exitWithMissingEntryPoint();
20
22
  }
21
23
  }
24
+ if (USE_SETTINGS) {
25
+ const settingsResult = await assertAppSettings();
26
+ if (isErrored(settingsResult)) {
27
+ exitWithMissingAppSettings();
28
+ }
29
+ }
22
30
  const generateGraphqlOperationsResult = await spinnerify("Generating GraphQL types...", "GraphQL types generated successfully", graphqlCodeGen);
23
31
  if (isErrored(generateGraphqlOperationsResult)) {
24
32
  hardExit(generateGraphqlOperationsResult.error.error.toString());
@@ -13,24 +13,29 @@ export class ClientBuilder {
13
13
  _esbuildContext;
14
14
  _tempFile;
15
15
  _directories;
16
- constructor({ tempFile, directories, esbuildContext, }) {
16
+ _workflowBlockModulesRef;
17
+ constructor({ tempFile, directories, workflowBlockModulesRef, esbuildContext, }) {
17
18
  this._esbuildContext = esbuildContext;
18
19
  this._tempFile = tempFile;
20
+ this._workflowBlockModulesRef = workflowBlockModulesRef;
19
21
  this._directories = directories;
20
22
  }
21
23
  static async create({ outfile, directories, mode, }) {
22
24
  try {
25
+ const workflowBlockModulesRef = { current: new Map() };
23
26
  const tempFile = await tmp.file({ postfix: ".js" });
24
27
  const esbuildContext = await esbuild.context({
25
28
  ...createClientBuildConfig({
29
+ appDir: directories.app,
26
30
  entryPoint: tempFile.path,
27
31
  srcDir: directories.src,
32
+ workflowBlockModulesRef,
28
33
  }),
29
34
  write: mode === "write-to-disk",
30
35
  outfile,
31
36
  loader: { ".png": "dataurl", ".graphql": "text", ".gql": "text" },
32
37
  });
33
- return complete(new ClientBuilder({ esbuildContext, tempFile, directories }));
38
+ return complete(new ClientBuilder({ esbuildContext, tempFile, workflowBlockModulesRef, directories }));
34
39
  }
35
40
  catch (error) {
36
41
  return errored({
@@ -40,7 +45,8 @@ export class ClientBuilder {
40
45
  });
41
46
  }
42
47
  }
43
- async rebuild() {
48
+ async rebuild({ workflowBlockModules, }) {
49
+ this._workflowBlockModulesRef.current = workflowBlockModules;
44
50
  const jsResult = USE_APP_TS
45
51
  ? await generateClientEntry({
46
52
  srcDirAbsolute: path.resolve(this._directories.src),
@@ -1,27 +1,32 @@
1
1
  import path from "path";
2
2
  import chalk from "chalk";
3
3
  import { combine, combineAsync, complete, isErrored, map } from "@attio/fetchable-npm";
4
+ import { findWorkflowBlockModules } from "../../build/server/find-workflow-block-server-modules.js";
4
5
  import { ClientBuilder } from "./client-builder.js";
5
6
  import { ServerBuilder } from "./server-builder.js";
6
7
  export async function prepareBuildContext(mode) {
8
+ const appDir = "";
7
9
  const srcDir = "src";
8
10
  const assetsDir = path.join(srcDir, "assets");
9
11
  const webhooksDir = path.join(srcDir, "webhooks");
10
12
  const eventsDir = path.join(srcDir, "events");
11
- const workflowBlocksDir = path.join(srcDir, "workflow-blocks");
12
13
  const buildersResult = await combineAsync({
13
14
  client: ClientBuilder.create({
14
15
  outfile: path.resolve("dist", "index.js"),
15
- directories: { src: srcDir, assets: assetsDir },
16
+ directories: {
17
+ app: appDir,
18
+ src: srcDir,
19
+ assets: assetsDir,
20
+ },
16
21
  mode,
17
22
  }),
18
23
  server: ServerBuilder.create({
19
24
  outfile: path.resolve("dist", "server.js"),
20
25
  directories: {
26
+ app: appDir,
21
27
  src: srcDir,
22
28
  webhooks: webhooksDir,
23
29
  events: eventsDir,
24
- workflowBlocks: workflowBlocksDir,
25
30
  },
26
31
  mode,
27
32
  }),
@@ -32,9 +37,14 @@ export async function prepareBuildContext(mode) {
32
37
  const { client, server } = buildersResult.value;
33
38
  return complete({
34
39
  rebuild: async () => {
40
+ const workflowBlockModulesResult = await findWorkflowBlockModules(srcDir);
41
+ if (isErrored(workflowBlockModulesResult)) {
42
+ return workflowBlockModulesResult;
43
+ }
44
+ const workflowBlockModules = workflowBlockModulesResult.value;
35
45
  return combineAsync({
36
- client: client.rebuild(),
37
- server: server.rebuild(),
46
+ client: client.rebuild({ workflowBlockModules }),
47
+ server: server.rebuild({ workflowBlockModules }),
38
48
  });
39
49
  },
40
50
  dispose: async (timeoutMs) => {
@@ -73,28 +83,8 @@ export function printBuildContextError(error) {
73
83
  case "ERROR_FINDING_SERVER_FUNCTION_MODULES":
74
84
  process.stderr.write(`${chalk.red("✖ ")}Failed to find server modules: ${error.cause}\n`);
75
85
  break;
76
- case "WORKFLOW_BLOCK_SERVER_MODULE_ERROR":
77
- let message;
78
- const formatPath = (p) => `"${path.relative(process.cwd(), p)}"`;
79
- switch (error.cause.code) {
80
- case "UNABLE_TO_PARSE_EXPORTS": {
81
- message = `Workflow block file ${formatPath(error.cause.path)} could not be parsed: ${error.cause.cause}`;
82
- break;
83
- }
84
- case "MISSING_FUNCTIONS": {
85
- message = `Workflow block module ${formatPath(error.cause.path)} does not export required functions. Step blocks should export an "execute" function and trigger blocks should export "activate" and "deactivate" functions.`;
86
- break;
87
- }
88
- case "MISSING_SCHEMA": {
89
- message = `Workflow block module ${formatPath(error.cause.path)} does not export "schema".`;
90
- break;
91
- }
92
- default: {
93
- error.cause;
94
- break;
95
- }
96
- }
97
- process.stderr.write(`${chalk.red("✖ ")}${message}\n`);
86
+ case "WORKFLOW_BLOCK_RESOLUTION_FAILED":
87
+ process.stderr.write(`${chalk.red("✖ ")}Failed to build workflow block(s): ${error.message}\n`);
98
88
  break;
99
89
  default:
100
90
  return error;
@@ -34,12 +34,13 @@ export class ServerBuilder {
34
34
  });
35
35
  }
36
36
  }
37
- async rebuild() {
37
+ async rebuild({ workflowBlockModules, }) {
38
38
  const jsResult = await generateServerEntry({
39
+ appDirAbsolute: path.resolve(this._directories.app),
39
40
  srcDirAbsolute: path.resolve(this._directories.src),
40
41
  webhooksDirAbsolute: path.resolve(this._directories.webhooks),
41
42
  eventDirAbsolute: path.resolve(this._directories.events),
42
- workflowBlocksDirAbsolute: path.resolve(this._directories.workflowBlocks),
43
+ workflowBlockModules,
43
44
  });
44
45
  if (isErrored(jsResult)) {
45
46
  return jsResult;
@@ -4,9 +4,11 @@ import notifier from "node-notifier";
4
4
  import { z } from "zod";
5
5
  import { isErrored } from "@attio/fetchable-npm";
6
6
  import { authenticator } from "../auth/auth.js";
7
- import { USE_APP_TS } from "../env.js";
7
+ import { USE_APP_TS, USE_SETTINGS } from "../env.js";
8
8
  import { printUploadError } from "../print-errors.js";
9
9
  import { ensureAppEntryPoint } from "../util/ensure-app-entry-point.js";
10
+ import { generateGitignore } from "../util/generate-gitignore.js";
11
+ import { generateSettingsFiles } from "../util/generate-settings-files.js";
10
12
  import { hardExit } from "../util/hard-exit.js";
11
13
  import { printMessage } from "../util/print-message.js";
12
14
  import { printJsError, printTsError } from "../util/typescript.js";
@@ -60,6 +62,13 @@ export const dev = new Command("dev")
60
62
  }
61
63
  }
62
64
  }
65
+ await generateGitignore();
66
+ if (USE_SETTINGS) {
67
+ const generateResult = await generateSettingsFiles();
68
+ if (isErrored(generateResult)) {
69
+ hardExit("Failed to generate settings files");
70
+ }
71
+ }
63
72
  await authenticator.ensureAuthed();
64
73
  const cleanup = async () => {
65
74
  if (isCleaningUp)
@@ -3,12 +3,14 @@ import { Command } from "commander";
3
3
  import { combineAsync, isErrored } from "@attio/fetchable-npm";
4
4
  import { api } from "../../api/api.js";
5
5
  import { authenticator } from "../../auth/auth.js";
6
- import { USE_APP_TS } from "../../env.js";
6
+ import { USE_APP_TS, USE_SETTINGS } from "../../env.js";
7
7
  import { printCliVersionError, printFetcherError, printPackageJsonError } from "../../print-errors.js";
8
8
  import { getAppInfo } from "../../spinners/get-app-info.spinner.js";
9
9
  import { getAppSlugFromPackageJson } from "../../spinners/get-app-slug-from-package-json.js";
10
10
  import { getVersions } from "../../spinners/get-versions.spinner.js";
11
11
  import { ensureAppEntryPoint } from "../../util/ensure-app-entry-point.js";
12
+ import { assertAppSettings } from "../../util/assert-app-settings.js";
13
+ import { exitWithMissingAppSettings } from "../../util/exit-with-missing-app-settings.js";
12
14
  import { exitWithMissingEntryPoint } from "../../util/exit-with-missing-entry-point.js";
13
15
  import { loadAttioCliVersion } from "../../util/load-attio-cli-version.js";
14
16
  import { spinnerify } from "../../util/spinner.js";
@@ -25,6 +27,12 @@ export const versionCreate = new Command("create")
25
27
  exitWithMissingEntryPoint();
26
28
  }
27
29
  }
30
+ if (USE_SETTINGS) {
31
+ const settingsResult = await assertAppSettings();
32
+ if (isErrored(settingsResult)) {
33
+ exitWithMissingAppSettings();
34
+ }
35
+ }
28
36
  await authenticator.ensureAuthed();
29
37
  const appSlugResult = await getAppSlugFromPackageJson();
30
38
  if (isErrored(appSlugResult)) {
@@ -0,0 +1 @@
1
+ export const HIDDEN_ATTIO_DIRECTORY = "src/.attio";
@@ -0,0 +1,2 @@
1
+ export const APP_SETTINGS_FILENAME = "app.settings.ts";
2
+ export const SETTINGS_TYPES_FILENAME = "settings.d.ts";
package/lib/env.js CHANGED
@@ -4,3 +4,4 @@ export const API = `https://build.${DOMAIN}/api`;
4
4
  export const APP_NO_PROTOCOL = `app.${DOMAIN}`;
5
5
  export const APP = `https://${APP_NO_PROTOCOL}`;
6
6
  export const USE_APP_TS = process.env.USE_APP_TS === "true";
7
+ export const USE_SETTINGS = process.env.USE_SETTINGS === "true";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * This module defines the types of the "attio" SDK.
3
+ */
4
+ export type { AppSettings, AppSettingsSchema, ScopedSettingsSchema, SettingsNode, SettingsSchema, UserSettings, WorkspaceSettings, } from "./settings";
5
+ export { Settings, SettingsBooleanNode, SettingsNumberNode, SettingsStringNode } from "./settings";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/root/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EACR,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,iBAAiB,GACpB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAC,QAAQ,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,YAAY,CAAA"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ /**
3
+ * This module defines the types of the "attio" SDK.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SettingsStringNode = exports.SettingsNumberNode = exports.SettingsBooleanNode = exports.Settings = void 0;
7
+ var settings_1 = require("./settings");
8
+ Object.defineProperty(exports, "Settings", { enumerable: true, get: function () { return settings_1.Settings; } });
9
+ Object.defineProperty(exports, "SettingsBooleanNode", { enumerable: true, get: function () { return settings_1.SettingsBooleanNode; } });
10
+ Object.defineProperty(exports, "SettingsNumberNode", { enumerable: true, get: function () { return settings_1.SettingsNumberNode; } });
11
+ Object.defineProperty(exports, "SettingsStringNode", { enumerable: true, get: function () { return settings_1.SettingsStringNode; } });
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/root/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAWH,uCAAgG;AAAxF,oGAAA,QAAQ,OAAA;AAAE,+GAAA,mBAAmB,OAAA;AAAE,8GAAA,kBAAkB,OAAA;AAAE,8GAAA,kBAAkB,OAAA"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * This interface is extended in app code
3
+ */
4
+ export interface AppSettingsSchema {
5
+ }
6
+ //# sourceMappingURL=app-settings-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-settings-schema.d.ts","sourceRoot":"","sources":["../../../src/root/settings/app-settings-schema.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,iBAAiB;CAAG"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=app-settings-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-settings-schema.js","sourceRoot":"","sources":["../../../src/root/settings/app-settings-schema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import type { AppSettingsSchema } from "./app-settings-schema";
2
+ import type { ScopedSettingsSchema } from "./settings-schema";
3
+ import type { TypeOfSettingNode } from "./utils/typeof-setting-node";
4
+ export type UserSettings = AppSettingsSchema extends {
5
+ user: ScopedSettingsSchema;
6
+ } ? {
7
+ [K in keyof {
8
+ [Key in keyof AppSettingsSchema["user"]]: TypeOfSettingNode<AppSettingsSchema["user"][Key]>;
9
+ } as string extends K ? never : K]: {
10
+ [Key in keyof AppSettingsSchema["user"]]: TypeOfSettingNode<AppSettingsSchema["user"][Key]>;
11
+ }[K] | null;
12
+ } : Record<string, unknown>;
13
+ export type WorkspaceSettings = AppSettingsSchema extends {
14
+ workspace: ScopedSettingsSchema;
15
+ } ? {
16
+ [K in keyof {
17
+ [Key in keyof AppSettingsSchema["workspace"]]: TypeOfSettingNode<AppSettingsSchema["workspace"][Key]>;
18
+ } as string extends K ? never : K]: {
19
+ [Key in keyof AppSettingsSchema["workspace"]]: TypeOfSettingNode<AppSettingsSchema["workspace"][Key]>;
20
+ }[K] | null;
21
+ } : Record<string, unknown>;
22
+ export interface AppSettings {
23
+ user: UserSettings;
24
+ workspace: WorkspaceSettings;
25
+ }
26
+ //# sourceMappingURL=app-settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-settings.d.ts","sourceRoot":"","sources":["../../../src/root/settings/app-settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAA;AAElE,MAAM,MAAM,YAAY,GAAG,iBAAiB,SAAS;IAAC,IAAI,EAAE,oBAAoB,CAAA;CAAC,GAC3E;KACK,CAAC,IAAI,MAAM;SACP,GAAG,IAAI,MAAM,iBAAiB,CAAC,MAAM,CAAC,GAAG,iBAAiB,CACvD,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CACjC;KACJ,IAAI,MAAM,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,GAC3B;SACK,GAAG,IAAI,MAAM,iBAAiB,CAAC,MAAM,CAAC,GAAG,iBAAiB,CACvD,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CACjC;KACJ,CAAC,CAAC,CAAC,GACJ,IAAI;CACb,GACD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE7B,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,SAAS;IACtD,SAAS,EAAE,oBAAoB,CAAA;CAClC,GACK;KACK,CAAC,IAAI,MAAM;SACP,GAAG,IAAI,MAAM,iBAAiB,CAAC,WAAW,CAAC,GAAG,iBAAiB,CAC5D,iBAAiB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CACtC;KACJ,IAAI,MAAM,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,GAC3B;SACK,GAAG,IAAI,MAAM,iBAAiB,CAAC,WAAW,CAAC,GAAG,iBAAiB,CAC5D,iBAAiB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CACtC;KACJ,CAAC,CAAC,CAAC,GACJ,IAAI;CACb,GACD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE7B,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,YAAY,CAAA;IAClB,SAAS,EAAE,iBAAiB,CAAA;CAC/B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=app-settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-settings.js","sourceRoot":"","sources":["../../../src/root/settings/app-settings.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export * from "./app-settings";
2
+ export * from "./app-settings-schema";
3
+ export * from "./node";
4
+ export * from "./settings-schema";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/root/settings/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,QAAQ,CAAA;AACtB,cAAc,mBAAmB,CAAA"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./app-settings"), exports);
5
+ tslib_1.__exportStar(require("./app-settings-schema"), exports);
6
+ tslib_1.__exportStar(require("./node"), exports);
7
+ tslib_1.__exportStar(require("./settings-schema"), exports);
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/root/settings/index.ts"],"names":[],"mappings":";;;AAAA,yDAA8B;AAC9B,gEAAqC;AACrC,iDAAsB;AACtB,4DAAiC"}
@@ -0,0 +1,11 @@
1
+ import { BaseNode } from "../../../shared/schema-utils";
2
+ /**
3
+ * A boolean inside a schema.
4
+ */
5
+ export declare abstract class SettingsBooleanNode extends BaseNode<"boolean"> {
6
+ }
7
+ /**
8
+ * Create a new boolean setting schema node.
9
+ */
10
+ export declare function boolean(): SettingsBooleanNode;
11
+ //# sourceMappingURL=boolean.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boolean.d.ts","sourceRoot":"","sources":["../../../../src/root/settings/node/boolean.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,8BAA8B,CAAA;AAErD;;GAEG;AACH,8BAAsB,mBAAoB,SAAQ,QAAQ,CAAC,SAAS,CAAC;CAAG;AAExE;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,IAAI,mBAAmB,CAAA"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SettingsBooleanNode = void 0;
4
+ const schema_utils_1 = require("../../../shared/schema-utils");
5
+ /**
6
+ * A boolean inside a schema.
7
+ */
8
+ class SettingsBooleanNode extends schema_utils_1.BaseNode {
9
+ }
10
+ exports.SettingsBooleanNode = SettingsBooleanNode;
11
+ //# sourceMappingURL=boolean.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../../../src/root/settings/node/boolean.ts"],"names":[],"mappings":";;;AAAA,+DAAqD;AAErD;;GAEG;AACH,MAAsB,mBAAoB,SAAQ,uBAAmB;CAAG;AAAxE,kDAAwE"}
@@ -0,0 +1,7 @@
1
+ import { SettingsBooleanNode } from "./boolean";
2
+ import { SettingsNumberNode } from "./number";
3
+ import { SettingsStringNode } from "./string";
4
+ export * as Settings from "./settings";
5
+ export { SettingsBooleanNode, SettingsNumberNode, SettingsStringNode };
6
+ export type SettingsNode = SettingsBooleanNode | SettingsNumberNode | SettingsStringNode;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/root/settings/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAC,kBAAkB,EAAC,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAC,kBAAkB,EAAC,MAAM,UAAU,CAAA;AAE3C,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAA;AACtC,OAAO,EAAC,mBAAmB,EAAE,kBAAkB,EAAE,kBAAkB,EAAC,CAAA;AAEpE,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,kBAAkB,CAAA"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SettingsStringNode = exports.SettingsNumberNode = exports.SettingsBooleanNode = exports.Settings = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const boolean_1 = require("./boolean");
6
+ Object.defineProperty(exports, "SettingsBooleanNode", { enumerable: true, get: function () { return boolean_1.SettingsBooleanNode; } });
7
+ const number_1 = require("./number");
8
+ Object.defineProperty(exports, "SettingsNumberNode", { enumerable: true, get: function () { return number_1.SettingsNumberNode; } });
9
+ const string_1 = require("./string");
10
+ Object.defineProperty(exports, "SettingsStringNode", { enumerable: true, get: function () { return string_1.SettingsStringNode; } });
11
+ exports.Settings = tslib_1.__importStar(require("./settings"));
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/root/settings/node/index.ts"],"names":[],"mappings":";;;;AAAA,uCAA6C;AAKrC,oGALA,6BAAmB,OAKA;AAJ3B,qCAA2C;AAId,mGAJrB,2BAAkB,OAIqB;AAH/C,qCAA2C;AAGM,mGAHzC,2BAAkB,OAGyC;AADnE,+DAAsC"}
@@ -0,0 +1,11 @@
1
+ import { BaseNode } from "../../../shared/schema-utils";
2
+ /**
3
+ * A number inside a schema.
4
+ */
5
+ export declare abstract class SettingsNumberNode extends BaseNode<"number"> {
6
+ }
7
+ /**
8
+ * Create a new number setting schema node.
9
+ */
10
+ export declare function number(): SettingsNumberNode;
11
+ //# sourceMappingURL=number.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../../../src/root/settings/node/number.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,8BAA8B,CAAA;AAErD;;GAEG;AACH,8BAAsB,kBAAmB,SAAQ,QAAQ,CAAC,QAAQ,CAAC;CAAG;AAEtE;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,IAAI,kBAAkB,CAAA"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SettingsNumberNode = void 0;
4
+ const schema_utils_1 = require("../../../shared/schema-utils");
5
+ /**
6
+ * A number inside a schema.
7
+ */
8
+ class SettingsNumberNode extends schema_utils_1.BaseNode {
9
+ }
10
+ exports.SettingsNumberNode = SettingsNumberNode;
11
+ //# sourceMappingURL=number.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.js","sourceRoot":"","sources":["../../../../src/root/settings/node/number.ts"],"names":[],"mappings":";;;AAAA,+DAAqD;AAErD;;GAEG;AACH,MAAsB,kBAAmB,SAAQ,uBAAkB;CAAG;AAAtE,gDAAsE"}
@@ -0,0 +1,4 @@
1
+ export { boolean } from "./boolean";
2
+ export { number } from "./number";
3
+ export { string } from "./string";
4
+ //# sourceMappingURL=settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../src/root/settings/node/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAA"}