attio 0.0.1-experimental.20250930 → 0.0.1-experimental.20251001.1

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 (161) 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/bulk-record-action.d.ts +5 -1
  13. package/lib/client/bulk-record-action.d.ts.map +1 -1
  14. package/lib/client/experimental/index.d.ts +3 -0
  15. package/lib/client/experimental/index.d.ts.map +1 -0
  16. package/lib/client/experimental/index.js +10 -0
  17. package/lib/client/experimental/index.js.map +1 -0
  18. package/lib/client/experimental/settings/get-settings.d.ts +7 -0
  19. package/lib/client/experimental/settings/get-settings.d.ts.map +1 -0
  20. package/lib/client/{workflow-block.js → experimental/settings/get-settings.js} +1 -1
  21. package/lib/client/experimental/settings/get-settings.js.map +1 -0
  22. package/lib/client/experimental/settings/index.d.ts +5 -0
  23. package/lib/client/experimental/settings/index.d.ts.map +1 -0
  24. package/lib/client/experimental/settings/index.js +8 -0
  25. package/lib/client/experimental/settings/index.js.map +1 -0
  26. package/lib/client/experimental/settings/set-user-setting.d.ts +7 -0
  27. package/lib/client/experimental/settings/set-user-setting.d.ts.map +1 -0
  28. package/lib/client/experimental/settings/set-user-setting.js +3 -0
  29. package/lib/client/experimental/settings/set-user-setting.js.map +1 -0
  30. package/lib/client/experimental/settings/set-workspace-setting.d.ts +7 -0
  31. package/lib/client/experimental/settings/set-workspace-setting.d.ts.map +1 -0
  32. package/lib/client/experimental/settings/set-workspace-setting.js +3 -0
  33. package/lib/client/experimental/settings/set-workspace-setting.js.map +1 -0
  34. package/lib/client/experimental/settings/use-settings.d.ts +7 -0
  35. package/lib/client/experimental/settings/use-settings.d.ts.map +1 -0
  36. package/lib/client/experimental/settings/use-settings.js +3 -0
  37. package/lib/client/experimental/settings/use-settings.js.map +1 -0
  38. package/lib/client/index.d.ts +3 -1
  39. package/lib/client/index.d.ts.map +1 -1
  40. package/lib/client/index.js +1 -0
  41. package/lib/client/index.js.map +1 -1
  42. package/lib/client/record-action.d.ts +5 -1
  43. package/lib/client/record-action.d.ts.map +1 -1
  44. package/lib/client/record-widget.d.ts +5 -1
  45. package/lib/client/record-widget.d.ts.map +1 -1
  46. package/lib/client/workflow/index.d.ts +0 -19
  47. package/lib/client/workflow/index.d.ts.map +1 -1
  48. package/lib/client/workflow/index.js.map +1 -1
  49. package/lib/client/{workflow-block.d.ts → workflow-step-block.d.ts} +6 -2
  50. package/lib/client/workflow-step-block.d.ts.map +1 -0
  51. package/lib/client/workflow-step-block.js +3 -0
  52. package/lib/client/workflow-step-block.js.map +1 -0
  53. package/lib/client/workflow-trigger-block.d.ts +18 -0
  54. package/lib/client/workflow-trigger-block.d.ts.map +1 -0
  55. package/lib/client/workflow-trigger-block.js +3 -0
  56. package/lib/client/workflow-trigger-block.js.map +1 -0
  57. package/lib/commands/build.js +9 -1
  58. package/lib/commands/dev/client-builder.js +9 -3
  59. package/lib/commands/dev/prepare-build-context.js +17 -27
  60. package/lib/commands/dev/server-builder.js +3 -2
  61. package/lib/commands/dev.js +10 -1
  62. package/lib/commands/version/create.js +9 -1
  63. package/lib/constants/hidden-attio-directory.js +1 -0
  64. package/lib/constants/settings-files.js +2 -0
  65. package/lib/env.js +1 -0
  66. package/lib/root/index.d.ts +6 -0
  67. package/lib/root/index.d.ts.map +1 -0
  68. package/lib/root/index.js +12 -0
  69. package/lib/root/index.js.map +1 -0
  70. package/lib/root/settings/app-settings-schema.d.ts +6 -0
  71. package/lib/root/settings/app-settings-schema.d.ts.map +1 -0
  72. package/lib/root/settings/app-settings-schema.js +3 -0
  73. package/lib/root/settings/app-settings-schema.js.map +1 -0
  74. package/lib/root/settings/app-settings.d.ts +26 -0
  75. package/lib/root/settings/app-settings.d.ts.map +1 -0
  76. package/lib/root/settings/app-settings.js +3 -0
  77. package/lib/root/settings/app-settings.js.map +1 -0
  78. package/lib/root/settings/index.d.ts +5 -0
  79. package/lib/root/settings/index.d.ts.map +1 -0
  80. package/lib/root/settings/index.js +8 -0
  81. package/lib/root/settings/index.js.map +1 -0
  82. package/lib/root/settings/node/boolean.d.ts +11 -0
  83. package/lib/root/settings/node/boolean.d.ts.map +1 -0
  84. package/lib/root/settings/node/boolean.js +11 -0
  85. package/lib/root/settings/node/boolean.js.map +1 -0
  86. package/lib/root/settings/node/index.d.ts +7 -0
  87. package/lib/root/settings/node/index.d.ts.map +1 -0
  88. package/lib/root/settings/node/index.js +12 -0
  89. package/lib/root/settings/node/index.js.map +1 -0
  90. package/lib/root/settings/node/number.d.ts +11 -0
  91. package/lib/root/settings/node/number.d.ts.map +1 -0
  92. package/lib/root/settings/node/number.js +11 -0
  93. package/lib/root/settings/node/number.js.map +1 -0
  94. package/lib/root/settings/node/settings.d.ts +4 -0
  95. package/lib/root/settings/node/settings.d.ts.map +1 -0
  96. package/lib/root/settings/node/settings.js +10 -0
  97. package/lib/root/settings/node/settings.js.map +1 -0
  98. package/lib/root/settings/node/string.d.ts +11 -0
  99. package/lib/root/settings/node/string.d.ts.map +1 -0
  100. package/lib/root/settings/node/string.js +11 -0
  101. package/lib/root/settings/node/string.js.map +1 -0
  102. package/lib/root/settings/settings-schema.d.ts +7 -0
  103. package/lib/root/settings/settings-schema.d.ts.map +1 -0
  104. package/lib/root/settings/settings-schema.js +3 -0
  105. package/lib/root/settings/settings-schema.js.map +1 -0
  106. package/lib/root/settings/utils/typeof-setting-node.d.ts +3 -0
  107. package/lib/root/settings/utils/typeof-setting-node.d.ts.map +1 -0
  108. package/lib/root/settings/utils/typeof-setting-node.js +3 -0
  109. package/lib/root/settings/utils/typeof-setting-node.js.map +1 -0
  110. package/lib/server/experimental/index.d.ts +1 -0
  111. package/lib/server/experimental/index.d.ts.map +1 -1
  112. package/lib/server/experimental/index.js +9 -1
  113. package/lib/server/experimental/index.js.map +1 -1
  114. package/lib/server/experimental/kv-store.d.ts +10 -0
  115. package/lib/server/experimental/kv-store.d.ts.map +1 -1
  116. package/lib/server/experimental/settings/get-settings.d.ts +7 -0
  117. package/lib/server/experimental/settings/get-settings.d.ts.map +1 -0
  118. package/lib/server/experimental/settings/get-settings.js +3 -0
  119. package/lib/server/experimental/settings/get-settings.js.map +1 -0
  120. package/lib/server/experimental/settings/get-user-setting.d.ts +7 -0
  121. package/lib/server/experimental/settings/get-user-setting.d.ts.map +1 -0
  122. package/lib/server/experimental/settings/get-user-setting.js +3 -0
  123. package/lib/server/experimental/settings/get-user-setting.js.map +1 -0
  124. package/lib/server/experimental/settings/get-user-settings.d.ts +7 -0
  125. package/lib/server/experimental/settings/get-user-settings.d.ts.map +1 -0
  126. package/lib/server/experimental/settings/get-user-settings.js +3 -0
  127. package/lib/server/experimental/settings/get-user-settings.js.map +1 -0
  128. package/lib/server/experimental/settings/get-workspace-setting.d.ts +7 -0
  129. package/lib/server/experimental/settings/get-workspace-setting.d.ts.map +1 -0
  130. package/lib/server/experimental/settings/get-workspace-setting.js +3 -0
  131. package/lib/server/experimental/settings/get-workspace-setting.js.map +1 -0
  132. package/lib/server/experimental/settings/get-workspace-settings.d.ts +7 -0
  133. package/lib/server/experimental/settings/get-workspace-settings.d.ts.map +1 -0
  134. package/lib/server/experimental/settings/get-workspace-settings.js +3 -0
  135. package/lib/server/experimental/settings/get-workspace-settings.js.map +1 -0
  136. package/lib/server/experimental/settings/index.d.ts +8 -0
  137. package/lib/server/experimental/settings/index.d.ts.map +1 -0
  138. package/lib/server/experimental/settings/index.js +18 -0
  139. package/lib/server/experimental/settings/index.js.map +1 -0
  140. package/lib/server/experimental/settings/set-user-setting.d.ts +7 -0
  141. package/lib/server/experimental/settings/set-user-setting.d.ts.map +1 -0
  142. package/lib/server/experimental/settings/set-user-setting.js +3 -0
  143. package/lib/server/experimental/settings/set-user-setting.js.map +1 -0
  144. package/lib/server/experimental/settings/set-workspace-setting.d.ts +7 -0
  145. package/lib/server/experimental/settings/set-workspace-setting.d.ts.map +1 -0
  146. package/lib/server/experimental/settings/set-workspace-setting.js +3 -0
  147. package/lib/server/experimental/settings/set-workspace-setting.js.map +1 -0
  148. package/lib/shared/schema-utils/index.d.ts +1 -1
  149. package/lib/shared/schema-utils/index.d.ts.map +1 -1
  150. package/lib/shared/schema-utils/index.js +3 -0
  151. package/lib/shared/schema-utils/index.js.map +1 -1
  152. package/lib/tsconfig.lib.tsbuildinfo +1 -1
  153. package/lib/util/assert-app-settings.js +13 -0
  154. package/lib/util/exit-with-missing-app-settings.js +5 -0
  155. package/lib/util/exit-with-missing-entry-point.js +2 -8
  156. package/lib/util/generate-gitignore.js +42 -0
  157. package/lib/util/generate-settings-files.js +71 -0
  158. package/lib/util/get-package-manager-command.js +9 -0
  159. package/package.json +8 -1
  160. package/lib/client/workflow-block.d.ts.map +0 -1
  161. package/lib/client/workflow-block.js.map +0 -1
@@ -0,0 +1,71 @@
1
+ import fs from "fs/promises";
2
+ import path from "path";
3
+ import { combineAsync, complete, errored, isErrored } from "@attio/fetchable-npm";
4
+ import { HIDDEN_ATTIO_DIRECTORY } from "../constants/hidden-attio-directory.js";
5
+ import { APP_SETTINGS_FILENAME, SETTINGS_TYPES_FILENAME } from "../constants/settings-files.js";
6
+ const SETTINGS_SCHEMA_FILE_CONTENT = `import type {SettingsSchema} from "attio"
7
+
8
+ export const settingsSchema = {
9
+ user: {},
10
+ workspace: {},
11
+ } satisfies SettingsSchema
12
+
13
+ export default settingsSchema
14
+ `;
15
+ const SETTINGS_TYPES_FILE_CONTENT = `import "attio"
16
+
17
+ import type appSettingsSchema from "../app.settings"
18
+
19
+ declare module "attio" {
20
+ export interface AppSettingsSchema {
21
+ user: (typeof appSettingsSchema)["user"]
22
+ workspace: (typeof appSettingsSchema)["workspace"]
23
+ }
24
+ }
25
+ `;
26
+ async function generateSettingsSchema(srcDirAbsolute) {
27
+ const settingsSchemaFilePath = path.join(srcDirAbsolute, APP_SETTINGS_FILENAME);
28
+ try {
29
+ await fs.readFile(settingsSchemaFilePath);
30
+ return complete(undefined);
31
+ }
32
+ catch (error) {
33
+ if (typeof error === "object" &&
34
+ error !== null &&
35
+ "code" in error &&
36
+ error.code === "ENOENT") {
37
+ try {
38
+ await fs.writeFile(settingsSchemaFilePath, SETTINGS_SCHEMA_FILE_CONTENT);
39
+ return complete(undefined);
40
+ }
41
+ catch {
42
+ return errored({ code: "FAILED_TO_CREATE_SETTINGS_SCHEMA_FILE" });
43
+ }
44
+ }
45
+ return errored({ code: "FAILED_TO_READ_SETTINGS_SCHEMA_FILE" });
46
+ }
47
+ }
48
+ async function generateSettingsTypes(rootDirAbsolute) {
49
+ const hiddenDirectoryPath = path.join(rootDirAbsolute, HIDDEN_ATTIO_DIRECTORY);
50
+ const settingsTypesFilePath = path.join(hiddenDirectoryPath, SETTINGS_TYPES_FILENAME);
51
+ try {
52
+ await fs.mkdir(hiddenDirectoryPath, { recursive: true });
53
+ await fs.writeFile(settingsTypesFilePath, SETTINGS_TYPES_FILE_CONTENT);
54
+ return complete(undefined);
55
+ }
56
+ catch {
57
+ return errored({ code: "FAILED_TO_CREATE_SETTINGS_TYPES_FILE" });
58
+ }
59
+ }
60
+ export async function generateSettingsFiles() {
61
+ const rootDirAbsolute = path.resolve(".");
62
+ const srcDirAbsolute = path.resolve("src");
63
+ const results = await combineAsync([
64
+ generateSettingsSchema(srcDirAbsolute),
65
+ generateSettingsTypes(rootDirAbsolute),
66
+ ]);
67
+ if (isErrored(results)) {
68
+ return results;
69
+ }
70
+ return complete(undefined);
71
+ }
@@ -0,0 +1,9 @@
1
+ export function getPackageManagerCommand(command) {
2
+ const packageManager = process.env.npm_config_user_agent?.split("/")?.[0];
3
+ return ({
4
+ npm: `npm run ${command}`,
5
+ yarn: `yarn ${command}`,
6
+ pnpm: `pnpm ${command}`,
7
+ bun: `bun run ${command}`,
8
+ }[packageManager ?? "npm"] ?? `npm run ${command}`);
9
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "attio",
3
- "version": "0.0.1-experimental.20250930",
3
+ "version": "0.0.1-experimental.20251001.1",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "lib",
@@ -13,6 +13,9 @@
13
13
  "schema.graphql"
14
14
  ],
15
15
  "exports": {
16
+ ".": {
17
+ "types": "./root.d.ts"
18
+ },
16
19
  "./client": {
17
20
  "types": "./client.d.ts"
18
21
  },
@@ -38,6 +41,8 @@
38
41
  "@hono/graphql-server": "0.6.2",
39
42
  "@hono/node-server": "1.14.4",
40
43
  "@inquirer/prompts": "7.5.3",
44
+ "@typescript-eslint/parser": "8.44.1",
45
+ "@typescript-eslint/scope-manager": "8.44.1",
41
46
  "ably": "^2.0.1",
42
47
  "boxen": "^8.0.1",
43
48
  "chalk": "^5.4.1",
@@ -60,6 +65,8 @@
60
65
  "tmp-promise": "^3.0.3",
61
66
  "ts-morph": "^24.0.0",
62
67
  "typescript": "5.9.2",
68
+ "vitest": "^3.2.4",
69
+ "zimmerframe": "1.1.4",
63
70
  "zod": "^3.25.64"
64
71
  },
65
72
  "bin": "lib/attio.js"
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflow-block.d.ts","sourceRoot":"","sources":["../../src/client/workflow-block.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IAEnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IAEtB,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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflow-block.js","sourceRoot":"","sources":["../../src/client/workflow-block.ts"],"names":[],"mappings":""}