@elevasis/sdk 1.20.2 → 1.22.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 (164) hide show
  1. package/dist/cli.cjs +4220 -1583
  2. package/dist/index.d.ts +1035 -481
  3. package/dist/index.js +7381 -4187
  4. package/dist/node/index.d.ts +1 -3
  5. package/dist/node/index.js +40 -49
  6. package/dist/test-utils/index.d.ts +699 -123
  7. package/dist/test-utils/index.js +3826 -630
  8. package/dist/worker/index.js +3616 -442
  9. package/package.json +3 -3
  10. package/reference/_navigation.md +9 -7
  11. package/reference/_reference-manifest.json +1 -1
  12. package/reference/claude-config/hooks/post-edit-validate.mjs +98 -98
  13. package/reference/claude-config/hooks/scaffold-registry-reminder.mjs +188 -188
  14. package/reference/claude-config/hooks/tool-failure-recovery.mjs +73 -73
  15. package/reference/claude-config/registries/graph-skills.json +4 -4
  16. package/reference/claude-config/registries/knowledge-flags.json +0 -2
  17. package/reference/claude-config/rules/active-change-index.md +80 -80
  18. package/reference/claude-config/rules/agent-start-here.md +277 -273
  19. package/reference/claude-config/rules/deployment.md +57 -57
  20. package/reference/claude-config/rules/error-handling.md +56 -56
  21. package/reference/claude-config/rules/execution.md +40 -40
  22. package/reference/claude-config/rules/frontend.md +4 -4
  23. package/reference/claude-config/rules/observability.md +31 -31
  24. package/reference/claude-config/rules/operations.md +29 -17
  25. package/reference/claude-config/rules/organization-model.md +108 -40
  26. package/reference/claude-config/rules/organization-os.md +115 -113
  27. package/reference/claude-config/rules/package-taxonomy.md +33 -33
  28. package/reference/claude-config/rules/platform.md +42 -42
  29. package/reference/claude-config/rules/shared-types.md +49 -46
  30. package/reference/claude-config/rules/task-tracking.md +47 -47
  31. package/reference/claude-config/rules/ui.md +200 -200
  32. package/reference/claude-config/rules/vibe.md +235 -231
  33. package/reference/claude-config/scripts/statusline-command.js +18 -18
  34. package/reference/claude-config/settings.json +34 -34
  35. package/reference/claude-config/skills/deploy/{SKILL.md → skill.md} +156 -156
  36. package/reference/claude-config/skills/dsp/SKILL.md +66 -66
  37. package/reference/claude-config/skills/elevasis/SKILL.md +235 -235
  38. package/reference/claude-config/skills/explore/SKILL.md +6 -6
  39. package/reference/claude-config/skills/git-sync/SKILL.md +126 -126
  40. package/reference/claude-config/skills/knowledge/SKILL.md +330 -271
  41. package/reference/claude-config/skills/knowledge/operations/codify-level-a.md +100 -100
  42. package/reference/claude-config/skills/knowledge/operations/codify-level-b.md +159 -158
  43. package/reference/claude-config/skills/knowledge/operations/customers.md +109 -109
  44. package/reference/claude-config/skills/knowledge/operations/features.md +76 -113
  45. package/reference/claude-config/skills/knowledge/operations/goals.md +118 -118
  46. package/reference/claude-config/skills/knowledge/operations/identity.md +93 -93
  47. package/reference/claude-config/skills/knowledge/operations/labels.md +94 -89
  48. package/reference/claude-config/skills/knowledge/operations/offerings.md +109 -109
  49. package/reference/claude-config/skills/knowledge/operations/roles.md +99 -99
  50. package/reference/claude-config/skills/knowledge/operations/techStack.md +30 -30
  51. package/reference/claude-config/skills/project/SKILL.md +1088 -1088
  52. package/reference/claude-config/skills/run-ui/SKILL.md +73 -73
  53. package/reference/claude-config/skills/save/SKILL.md +3 -3
  54. package/reference/claude-config/skills/setup/SKILL.md +275 -275
  55. package/reference/claude-config/skills/status/SKILL.md +59 -59
  56. package/reference/claude-config/skills/submit-request/SKILL.md +180 -180
  57. package/reference/claude-config/skills/sync/SKILL.md +47 -47
  58. package/reference/claude-config/skills/tutorial/SKILL.md +259 -259
  59. package/reference/claude-config/skills/tutorial/progress-template.md +74 -74
  60. package/reference/claude-config/skills/tutorial/technical.md +1303 -1306
  61. package/reference/claude-config/skills/tutorial/vibe-coder.md +890 -890
  62. package/reference/claude-config/sync-notes/2026-04-22-git-sync-and-sync-notes.md +27 -27
  63. package/reference/claude-config/sync-notes/2026-04-22-lead-gen-deliverability-removal.md +30 -30
  64. package/reference/claude-config/sync-notes/2026-04-24-test-utils-and-template-tests.md +73 -73
  65. package/reference/claude-config/sync-notes/2026-04-24-ui-consolidation-and-sdk-cli-train.md +86 -86
  66. package/reference/claude-config/sync-notes/2026-04-25-auth-role-system-and-settings-roles.md +55 -55
  67. package/reference/claude-config/sync-notes/2026-04-27-crm-hitl-action-layer-cutover.md +97 -97
  68. package/reference/claude-config/sync-notes/2026-04-27-lead-gen-substrate-train.md +112 -112
  69. package/reference/claude-config/sync-notes/2026-04-29-crm-state-and-lead-gen-processing-status.md +93 -93
  70. package/reference/claude-config/sync-notes/2026-05-02-crm-ownership-next-action.md +58 -58
  71. package/reference/claude-config/sync-notes/2026-05-02-template-hardcode-workos-config.md +56 -56
  72. package/reference/claude-config/sync-notes/2026-05-04-elevasis-workspace.md +71 -71
  73. package/reference/claude-config/sync-notes/2026-05-04-knowledge-bundle.md +83 -83
  74. package/reference/claude-config/sync-notes/2026-05-04-template-skills-run-ui-and-tutorial.md +59 -59
  75. package/reference/claude-config/sync-notes/2026-05-05-list-builder.md +42 -42
  76. package/reference/claude-config/sync-notes/2026-05-06-crm-spine.md +60 -60
  77. package/reference/claude-config/sync-notes/2026-05-06-sdk-changes-release-train.md +37 -37
  78. package/reference/claude-config/sync-notes/2026-05-07-sdk-changes-release-train.md +34 -34
  79. package/reference/claude-config/sync-notes/2026-05-08-resource-governance-scaffold-guidance.md +38 -38
  80. package/reference/claude-config/sync-notes/2026-05-09-clients-domain.md +32 -32
  81. package/reference/claude-config/sync-notes/2026-05-09-command-system.md +33 -33
  82. package/reference/claude-config/sync-notes/2026-05-09-resource-governance-and-misc.md +69 -69
  83. package/reference/claude-config/sync-notes/2026-05-12-sdk-ready-release-train.md +30 -0
  84. package/reference/claude-config/sync-notes/2026-05-14-organization-model-ontology-refactor.md +42 -0
  85. package/reference/claude-config/sync-notes/README.md +43 -43
  86. package/reference/cli.mdx +808 -668
  87. package/reference/concepts.mdx +146 -146
  88. package/reference/deployment/api.mdx +297 -297
  89. package/reference/deployment/command-center.mdx +209 -209
  90. package/reference/deployment/index.mdx +195 -195
  91. package/reference/deployment/provided-features.mdx +107 -93
  92. package/reference/deployment/ui-execution.mdx +250 -250
  93. package/reference/examples/organization-model.ts +147 -84
  94. package/reference/framework/agent.mdx +156 -156
  95. package/reference/framework/index.mdx +195 -195
  96. package/reference/framework/interaction-guidance.mdx +182 -182
  97. package/reference/framework/memory.mdx +326 -326
  98. package/reference/framework/project-structure.mdx +282 -282
  99. package/reference/framework/tutorial-system.mdx +135 -135
  100. package/reference/getting-started.mdx +142 -142
  101. package/reference/index.mdx +106 -106
  102. package/reference/packages/core/src/README.md +14 -14
  103. package/reference/packages/core/src/business/README.md +2 -2
  104. package/reference/packages/core/src/knowledge/README.md +33 -32
  105. package/reference/packages/core/src/organization-model/README.md +149 -109
  106. package/reference/packages/core/src/test-utils/README.md +37 -37
  107. package/reference/packages/ui/src/api/README.md +18 -18
  108. package/reference/packages/ui/src/app/README.md +24 -24
  109. package/reference/packages/ui/src/auth/README.md +18 -18
  110. package/reference/packages/ui/src/components/README.md +24 -24
  111. package/reference/packages/ui/src/execution/README.md +16 -16
  112. package/reference/packages/ui/src/features/README.md +28 -28
  113. package/reference/packages/ui/src/graph/README.md +16 -16
  114. package/reference/packages/ui/src/hooks/README.md +23 -23
  115. package/reference/packages/ui/src/initialization/README.md +19 -19
  116. package/reference/packages/ui/src/knowledge/README.md +31 -31
  117. package/reference/packages/ui/src/organization/README.md +18 -18
  118. package/reference/packages/ui/src/profile/README.md +19 -19
  119. package/reference/packages/ui/src/provider/README.md +32 -32
  120. package/reference/packages/ui/src/router/README.md +18 -18
  121. package/reference/packages/ui/src/sse/README.md +13 -13
  122. package/reference/packages/ui/src/test-utils/README.md +7 -7
  123. package/reference/packages/ui/src/theme/README.md +23 -23
  124. package/reference/packages/ui/src/theme/presets/README.md +19 -19
  125. package/reference/packages/ui/src/types/README.md +16 -16
  126. package/reference/packages/ui/src/utils/README.md +18 -18
  127. package/reference/packages/ui/src/zustand/README.md +18 -18
  128. package/reference/platform-tools/adapters-integration.mdx +301 -301
  129. package/reference/platform-tools/adapters-platform.mdx +553 -553
  130. package/reference/platform-tools/index.mdx +217 -217
  131. package/reference/platform-tools/type-safety.mdx +82 -82
  132. package/reference/resources/index.mdx +349 -349
  133. package/reference/resources/patterns.mdx +449 -449
  134. package/reference/resources/types.mdx +116 -116
  135. package/reference/roadmap.mdx +165 -165
  136. package/reference/runtime.mdx +173 -173
  137. package/reference/scaffold/core/organization-graph.mdx +110 -89
  138. package/reference/scaffold/core/organization-model.mdx +226 -171
  139. package/reference/scaffold/index.mdx +67 -67
  140. package/reference/scaffold/operations/propagation-pipeline.md +77 -77
  141. package/reference/scaffold/operations/scaffold-maintenance.md +10 -10
  142. package/reference/scaffold/operations/workflow-recipes.md +138 -138
  143. package/reference/scaffold/recipes/add-a-feature.md +310 -88
  144. package/reference/scaffold/recipes/add-a-resource.md +137 -117
  145. package/reference/scaffold/recipes/customize-crm-actions.md +439 -439
  146. package/reference/scaffold/recipes/customize-knowledge-browser.md +384 -0
  147. package/reference/scaffold/recipes/customize-organization-model.md +281 -118
  148. package/reference/scaffold/recipes/extend-a-base-entity.md +8 -8
  149. package/reference/scaffold/recipes/extend-crm.md +40 -39
  150. package/reference/scaffold/recipes/extend-lead-gen.md +400 -401
  151. package/reference/scaffold/recipes/gate-by-feature-or-admin.md +118 -114
  152. package/reference/scaffold/recipes/index.md +47 -46
  153. package/reference/scaffold/recipes/query-the-knowledge-graph.md +227 -0
  154. package/reference/scaffold/reference/contracts.md +2389 -2121
  155. package/reference/scaffold/reference/feature-registry.md +9 -20
  156. package/reference/scaffold/reference/glossary.md +76 -76
  157. package/reference/scaffold/ui/composition-extensibility.mdx +233 -233
  158. package/reference/scaffold/ui/customization.md +243 -243
  159. package/reference/scaffold/ui/feature-flags-and-gating.md +46 -46
  160. package/reference/scaffold/ui/feature-shell.mdx +72 -72
  161. package/reference/scaffold/ui/recipes.md +221 -213
  162. package/reference/spine/spine-primer.md +96 -96
  163. package/reference/templates/index.mdx +47 -47
  164. package/reference/troubleshooting.mdx +223 -223
@@ -1,223 +1,223 @@
1
- ---
2
- title: Common Errors
3
- description: Static SDK-level error catalog -- CLI errors, deployment errors, schema validation, platform tool failures, and runtime errors with diagnostic steps
4
- loadWhen: "Debugging an unknown error not found in workspace memory"
5
- ---
6
-
7
- This is the static SDK-level error catalog. Check `.claude/memory/errors/` first for workspace-specific fixes. Use this file when the error is new to the workspace or when the memory has no match.
8
-
9
- ---
10
-
11
- ## CLI Errors
12
-
13
- ### ELEVASIS_PLATFORM_KEY not set
14
-
15
- **Cause:** The `.env` file is missing the API key, or the file was not loaded.
16
-
17
- **Fix:**
18
-
19
- 1. Check that `.env` exists in the project root (or any parent directory)
20
- 2. Confirm it contains `ELEVASIS_PLATFORM_KEY=sk_...`
21
- 3. The CLI walks up directories to find `.env`, so running from subdirectories like `operations/` works automatically
22
- 4. If the file exists with the right content, run `elevasis-sdk check` again
23
-
24
- ### Cannot connect to API
25
-
26
- **Cause:** Network issue or the API URL is incorrect.
27
-
28
- **Fix:**
29
-
30
- 1. Check your internet connection
31
- 2. If using a custom API URL via `--api-url` or `ELEVASIS_API_URL`, verify it is correct
32
- 3. Remove `NODE_ENV=development` from `.env` if you are not running a local API server
33
-
34
- ### NODE_ENV=development in .env
35
-
36
- **Cause:** The SDK is pointing at a local API server (port 5170 by default) instead of the hosted platform.
37
-
38
- **Fix:** Remove `NODE_ENV=development` from `.env`. The CLI connects to the hosted platform by default.
39
-
40
- ---
41
-
42
- ## Validation Errors (elevasis-sdk check)
43
-
44
- ### Duplicate resource ID
45
-
46
- **Message:** `Duplicate resource ID 'name' in organization 'org'`
47
-
48
- **Cause:** Two resources in `src/` share the same `resourceId`.
49
-
50
- **Fix:** Each resource must have a unique `resourceId` within your organization. Check all domain directories in `src/` and rename the duplicate.
51
-
52
- ### Workflow step references non-existent next step
53
-
54
- **Message:** `Workflow step 'stepA' references non-existent next step 'stepB'`
55
-
56
- **Cause:** A step's `next.target` or `next.routes[*].target` points to a step name that does not exist in the `steps` record.
57
-
58
- **Fix:** Check the spelling of the target step name. All target values must exactly match keys in the `steps` object.
59
-
60
- ### Missing entryPoint
61
-
62
- **Cause:** The workflow's `entryPoint` field names a step that does not exist in `steps`.
63
-
64
- **Fix:** Confirm `entryPoint` matches an exact key in your `steps` record.
65
-
66
- ---
67
-
68
- ## Schema Validation Errors
69
-
70
- ### Schema validation failed (input)
71
-
72
- **Message:** `Schema validation failed` with field-level details
73
-
74
- **Cause:** The input passed to the workflow does not match the `inputSchema`.
75
-
76
- **Fix:**
77
-
78
- 1. Read the error's field details -- it names the failing field and expected type
79
- 2. Compare against your `inputSchema` definition
80
- 3. Common causes: wrong type (string vs number), missing required field, extra field not in schema, misspelled field name
81
- 4. Check that `z.infer` types match what your handler actually receives
82
-
83
- ### outputSchema validation failed
84
-
85
- **Cause:** Your handler's return value does not match the workflow's `outputSchema`.
86
-
87
- **Fix:**
88
-
89
- 1. Compare what your handler returns to what `outputSchema` expects
90
- 2. Check field names for typos (the schema says `companyName`, handler returns `company_name`)
91
- 3. Check types -- the schema says `z.number()` but the handler returns a string
92
- 4. Check required vs optional -- do not return undefined for a required field
93
-
94
- ### Cannot find name 'z'
95
-
96
- **Cause:** Missing Zod import.
97
-
98
- **Fix:** Add `import { z } from 'zod'` at the top of the file.
99
-
100
- ---
101
-
102
- ## TypeScript Errors
103
-
104
- ### Type 'X' is not assignable to type 'Y'
105
-
106
- **Cause:** The data flowing into a step or returned from a handler does not match the declared type.
107
-
108
- **Fix:**
109
-
110
- 1. Check the input type annotation on the handler: `async (input: MyInput) => ...`
111
- 2. Confirm the `z.infer<typeof mySchema>` type matches what the previous step returns
112
- 3. Check that all optional fields are handled (do not assume they are always present)
113
-
114
- ### Cannot find module '@elevasis/sdk'
115
-
116
- **Cause:** Dependencies are not installed.
117
-
118
- **Fix:** Run `pnpm install` in the workspace root.
119
-
120
- ### Cannot find module '@elevasis/sdk/worker'
121
-
122
- **Cause:** Dependencies not installed, or using an old SDK version that does not export the `worker` subpath.
123
-
124
- **Fix:**
125
-
126
- 1. Run `pnpm install`
127
- 2. Check that `@elevasis/sdk` version is recent enough to include `worker` export
128
- 3. Confirm your `tsconfig.json` has `"moduleResolution": "Bundler"` or `"NodeNext"`
129
-
130
- ---
131
-
132
- ## Platform Tool Errors
133
-
134
- ### PlatformToolError: credential not found
135
-
136
- **Cause:** The credential name passed to `platform.call()` does not match any credential stored in the platform.
137
-
138
- **Fix:**
139
-
140
- 1. Check spelling and case -- credential names are case-sensitive
141
- 2. Open the command center and confirm the credential exists and is named exactly as referenced
142
- 3. Check that the credential belongs to the correct organization
143
-
144
- ### PlatformToolError: credentials_invalid
145
-
146
- **Cause:** The credential exists but has the wrong shape for the tool being called.
147
-
148
- **Fix:**
149
-
150
- 1. For the `http` tool: verify the credential type matches the API's auth method (bearer, api-key-header, basic, etc.)
151
- 2. For the Supabase tool: verify the credential contains `url` and `serviceRoleKey` fields
152
- 3. Re-create the credential in the command center if the format is wrong
153
-
154
- ### PlatformToolError: timeout_error
155
-
156
- **Cause:** The platform tool call took longer than 60 seconds.
157
-
158
- **Fix:**
159
-
160
- 1. Check if the external API is slow or down
161
- 2. Reduce the amount of data being processed in a single call
162
- 3. For `http` tool: the external endpoint may be unresponsive -- check directly
163
-
164
- ### PlatformToolError: service_unavailable
165
-
166
- **Cause:** The platform service or integration adapter is not available.
167
-
168
- **Fix:**
169
-
170
- 1. Check the Elevasis status page
171
- 2. Retry -- transient availability issues resolve quickly
172
-
173
- ---
174
-
175
- ## Runtime Errors
176
-
177
- ### Execution timeout (300s)
178
-
179
- **Cause:** The entire workflow execution exceeded the 300-second limit.
180
-
181
- **Fix:**
182
-
183
- 1. Identify which step is slow -- check execution logs for step timing
184
- 2. Reduce work per step or parallelize if possible
185
- 3. For long-running operations, consider breaking into multiple workflows with the `execution` platform tool to chain them
186
-
187
- ### Worker ran out of memory (256MB limit)
188
-
189
- **Cause:** The workflow processed too much data in memory at once.
190
-
191
- **Fix:**
192
-
193
- 1. Reduce the size of data loaded per execution
194
- 2. Use pagination for large data sets (fetch in chunks, process one at a time)
195
- 3. Avoid loading large files or arrays entirely into memory
196
-
197
- ### Module resolution error at runtime
198
-
199
- **Cause:** An import in your workflow bundle cannot be resolved.
200
-
201
- **Fix:**
202
-
203
- 1. Run `elevasis-sdk check` -- it catches most resolution errors before deploy
204
- 2. If the import is a built-in Node.js module, ensure it is compatible with the worker environment
205
- 3. Avoid imports that require file system access or native modules
206
-
207
- ---
208
-
209
- ## Memory Error Structure
210
-
211
- When recording a new error in `.claude/memory/errors/`, use this table format:
212
-
213
- ```
214
- | Error | Context | Fix | Count | Last Seen | Status |
215
- | --- | --- | --- | --- | --- | --- |
216
- | `Schema validation failed` on lead-scorer | Added score field | Changed score from z.string() to z.number() | 1 | 2026-02-26 | Resolved |
217
- ```
218
-
219
- Status values: `Resolved` (fixed this session), `Recurring` (seen 2+ times), `Promoted` (3+ times, now in Rules).
220
-
221
- ---
222
-
223
- **Last Updated:** 2026-02-26
1
+ ---
2
+ title: Common Errors
3
+ description: Static SDK-level error catalog -- CLI errors, deployment errors, schema validation, platform tool failures, and runtime errors with diagnostic steps
4
+ loadWhen: "Debugging an unknown error not found in workspace memory"
5
+ ---
6
+
7
+ This is the static SDK-level error catalog. Check `.claude/memory/errors/` first for workspace-specific fixes. Use this file when the error is new to the workspace or when the memory has no match.
8
+
9
+ ---
10
+
11
+ ## CLI Errors
12
+
13
+ ### ELEVASIS_PLATFORM_KEY not set
14
+
15
+ **Cause:** The `.env` file is missing the API key, or the file was not loaded.
16
+
17
+ **Fix:**
18
+
19
+ 1. Check that `.env` exists in the project root (or any parent directory)
20
+ 2. Confirm it contains `ELEVASIS_PLATFORM_KEY=sk_...`
21
+ 3. The CLI walks up directories to find `.env`, so running from subdirectories like `operations/` works automatically
22
+ 4. If the file exists with the right content, run `elevasis-sdk check` again
23
+
24
+ ### Cannot connect to API
25
+
26
+ **Cause:** Network issue or the API URL is incorrect.
27
+
28
+ **Fix:**
29
+
30
+ 1. Check your internet connection
31
+ 2. If using a custom API URL via `--api-url` or `ELEVASIS_API_URL`, verify it is correct
32
+ 3. Remove `NODE_ENV=development` from `.env` if you are not running a local API server
33
+
34
+ ### NODE_ENV=development in .env
35
+
36
+ **Cause:** The SDK is pointing at a local API server (port 5170 by default) instead of the hosted platform.
37
+
38
+ **Fix:** Remove `NODE_ENV=development` from `.env`. The CLI connects to the hosted platform by default.
39
+
40
+ ---
41
+
42
+ ## Validation Errors (elevasis-sdk check)
43
+
44
+ ### Duplicate resource ID
45
+
46
+ **Message:** `Duplicate resource ID 'name' in organization 'org'`
47
+
48
+ **Cause:** Two resources in `src/` share the same `resourceId`.
49
+
50
+ **Fix:** Each resource must have a unique `resourceId` within your organization. Check all domain directories in `src/` and rename the duplicate.
51
+
52
+ ### Workflow step references non-existent next step
53
+
54
+ **Message:** `Workflow step 'stepA' references non-existent next step 'stepB'`
55
+
56
+ **Cause:** A step's `next.target` or `next.routes[*].target` points to a step name that does not exist in the `steps` record.
57
+
58
+ **Fix:** Check the spelling of the target step name. All target values must exactly match keys in the `steps` object.
59
+
60
+ ### Missing entryPoint
61
+
62
+ **Cause:** The workflow's `entryPoint` field names a step that does not exist in `steps`.
63
+
64
+ **Fix:** Confirm `entryPoint` matches an exact key in your `steps` record.
65
+
66
+ ---
67
+
68
+ ## Schema Validation Errors
69
+
70
+ ### Schema validation failed (input)
71
+
72
+ **Message:** `Schema validation failed` with field-level details
73
+
74
+ **Cause:** The input passed to the workflow does not match the `inputSchema`.
75
+
76
+ **Fix:**
77
+
78
+ 1. Read the error's field details -- it names the failing field and expected type
79
+ 2. Compare against your `inputSchema` definition
80
+ 3. Common causes: wrong type (string vs number), missing required field, extra field not in schema, misspelled field name
81
+ 4. Check that `z.infer` types match what your handler actually receives
82
+
83
+ ### outputSchema validation failed
84
+
85
+ **Cause:** Your handler's return value does not match the workflow's `outputSchema`.
86
+
87
+ **Fix:**
88
+
89
+ 1. Compare what your handler returns to what `outputSchema` expects
90
+ 2. Check field names for typos (the schema says `companyName`, handler returns `company_name`)
91
+ 3. Check types -- the schema says `z.number()` but the handler returns a string
92
+ 4. Check required vs optional -- do not return undefined for a required field
93
+
94
+ ### Cannot find name 'z'
95
+
96
+ **Cause:** Missing Zod import.
97
+
98
+ **Fix:** Add `import { z } from 'zod'` at the top of the file.
99
+
100
+ ---
101
+
102
+ ## TypeScript Errors
103
+
104
+ ### Type 'X' is not assignable to type 'Y'
105
+
106
+ **Cause:** The data flowing into a step or returned from a handler does not match the declared type.
107
+
108
+ **Fix:**
109
+
110
+ 1. Check the input type annotation on the handler: `async (input: MyInput) => ...`
111
+ 2. Confirm the `z.infer<typeof mySchema>` type matches what the previous step returns
112
+ 3. Check that all optional fields are handled (do not assume they are always present)
113
+
114
+ ### Cannot find module '@elevasis/sdk'
115
+
116
+ **Cause:** Dependencies are not installed.
117
+
118
+ **Fix:** Run `pnpm install` in the workspace root.
119
+
120
+ ### Cannot find module '@elevasis/sdk/worker'
121
+
122
+ **Cause:** Dependencies not installed, or using an old SDK version that does not export the `worker` subpath.
123
+
124
+ **Fix:**
125
+
126
+ 1. Run `pnpm install`
127
+ 2. Check that `@elevasis/sdk` version is recent enough to include `worker` export
128
+ 3. Confirm your `tsconfig.json` has `"moduleResolution": "Bundler"` or `"NodeNext"`
129
+
130
+ ---
131
+
132
+ ## Platform Tool Errors
133
+
134
+ ### PlatformToolError: credential not found
135
+
136
+ **Cause:** The credential name passed to `platform.call()` does not match any credential stored in the platform.
137
+
138
+ **Fix:**
139
+
140
+ 1. Check spelling and case -- credential names are case-sensitive
141
+ 2. Open the command center and confirm the credential exists and is named exactly as referenced
142
+ 3. Check that the credential belongs to the correct organization
143
+
144
+ ### PlatformToolError: credentials_invalid
145
+
146
+ **Cause:** The credential exists but has the wrong shape for the tool being called.
147
+
148
+ **Fix:**
149
+
150
+ 1. For the `http` tool: verify the credential type matches the API's auth method (bearer, api-key-header, basic, etc.)
151
+ 2. For the Supabase tool: verify the credential contains `url` and `serviceRoleKey` fields
152
+ 3. Re-create the credential in the command center if the format is wrong
153
+
154
+ ### PlatformToolError: timeout_error
155
+
156
+ **Cause:** The platform tool call took longer than 60 seconds.
157
+
158
+ **Fix:**
159
+
160
+ 1. Check if the external API is slow or down
161
+ 2. Reduce the amount of data being processed in a single call
162
+ 3. For `http` tool: the external endpoint may be unresponsive -- check directly
163
+
164
+ ### PlatformToolError: service_unavailable
165
+
166
+ **Cause:** The platform service or integration adapter is not available.
167
+
168
+ **Fix:**
169
+
170
+ 1. Check the Elevasis status page
171
+ 2. Retry -- transient availability issues resolve quickly
172
+
173
+ ---
174
+
175
+ ## Runtime Errors
176
+
177
+ ### Execution timeout (300s)
178
+
179
+ **Cause:** The entire workflow execution exceeded the 300-second limit.
180
+
181
+ **Fix:**
182
+
183
+ 1. Identify which step is slow -- check execution logs for step timing
184
+ 2. Reduce work per step or parallelize if possible
185
+ 3. For long-running operations, consider breaking into multiple workflows with the `execution` platform tool to chain them
186
+
187
+ ### Worker ran out of memory (256MB limit)
188
+
189
+ **Cause:** The workflow processed too much data in memory at once.
190
+
191
+ **Fix:**
192
+
193
+ 1. Reduce the size of data loaded per execution
194
+ 2. Use pagination for large data sets (fetch in chunks, process one at a time)
195
+ 3. Avoid loading large files or arrays entirely into memory
196
+
197
+ ### Module resolution error at runtime
198
+
199
+ **Cause:** An import in your workflow bundle cannot be resolved.
200
+
201
+ **Fix:**
202
+
203
+ 1. Run `elevasis-sdk check` -- it catches most resolution errors before deploy
204
+ 2. If the import is a built-in Node.js module, ensure it is compatible with the worker environment
205
+ 3. Avoid imports that require file system access or native modules
206
+
207
+ ---
208
+
209
+ ## Memory Error Structure
210
+
211
+ When recording a new error in `.claude/memory/errors/`, use this table format:
212
+
213
+ ```
214
+ | Error | Context | Fix | Count | Last Seen | Status |
215
+ | --- | --- | --- | --- | --- | --- |
216
+ | `Schema validation failed` on lead-scorer | Added score field | Changed score from z.string() to z.number() | 1 | 2026-02-26 | Resolved |
217
+ ```
218
+
219
+ Status values: `Resolved` (fixed this session), `Recurring` (seen 2+ times), `Promoted` (3+ times, now in Rules).
220
+
221
+ ---
222
+
223
+ **Last Updated:** 2026-02-26