primitive-admin 1.0.61 → 1.0.63

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 (320) hide show
  1. package/README.md +125 -69
  2. package/assets/skill/skills/primitive-platform/SKILL.md +336 -37
  3. package/dist/bin/primitive.js +25 -14
  4. package/dist/bin/primitive.js.map +1 -1
  5. package/dist/src/commands/analytics.js +36 -16
  6. package/dist/src/commands/analytics.js.map +1 -1
  7. package/dist/src/commands/apps.js +52 -188
  8. package/dist/src/commands/apps.js.map +1 -1
  9. package/dist/src/commands/blob-buckets.js +13 -153
  10. package/dist/src/commands/blob-buckets.js.map +1 -1
  11. package/dist/src/commands/collection-type-configs.js +14 -100
  12. package/dist/src/commands/collection-type-configs.js.map +1 -1
  13. package/dist/src/commands/collections.js +47 -8
  14. package/dist/src/commands/collections.js.map +1 -1
  15. package/dist/src/commands/config.d.ts +46 -0
  16. package/dist/src/commands/config.js +479 -0
  17. package/dist/src/commands/config.js.map +1 -0
  18. package/dist/src/commands/connections.js +12 -7
  19. package/dist/src/commands/connections.js.map +1 -1
  20. package/dist/src/commands/cron-triggers.js +84 -176
  21. package/dist/src/commands/cron-triggers.js.map +1 -1
  22. package/dist/src/commands/database-type-configs.d.ts +2 -0
  23. package/dist/src/commands/database-type-configs.js +171 -0
  24. package/dist/src/commands/database-type-configs.js.map +1 -0
  25. package/dist/src/commands/database-types.js +4 -4
  26. package/dist/src/commands/database-types.js.map +1 -1
  27. package/dist/src/commands/databases.d.ts +63 -0
  28. package/dist/src/commands/databases.js +649 -87
  29. package/dist/src/commands/databases.js.map +1 -1
  30. package/dist/src/commands/documents.js +869 -12
  31. package/dist/src/commands/documents.js.map +1 -1
  32. package/dist/src/commands/email-templates.js +21 -128
  33. package/dist/src/commands/email-templates.js.map +1 -1
  34. package/dist/src/commands/env.d.ts +12 -1
  35. package/dist/src/commands/env.js +115 -26
  36. package/dist/src/commands/env.js.map +1 -1
  37. package/dist/src/commands/feature-flags.d.ts +14 -0
  38. package/dist/src/commands/feature-flags.js +116 -0
  39. package/dist/src/commands/feature-flags.js.map +1 -0
  40. package/dist/src/commands/group-type-configs.js +14 -109
  41. package/dist/src/commands/group-type-configs.js.map +1 -1
  42. package/dist/src/commands/init.d.ts +24 -1
  43. package/dist/src/commands/init.js +1194 -279
  44. package/dist/src/commands/init.js.map +1 -1
  45. package/dist/src/commands/integrations.js +166 -435
  46. package/dist/src/commands/integrations.js.map +1 -1
  47. package/dist/src/commands/metadata-category-configs.d.ts +12 -0
  48. package/dist/src/commands/metadata-category-configs.js +112 -0
  49. package/dist/src/commands/metadata-category-configs.js.map +1 -0
  50. package/dist/src/commands/metadata.js +33 -141
  51. package/dist/src/commands/metadata.js.map +1 -1
  52. package/dist/src/commands/prompts.js +206 -563
  53. package/dist/src/commands/prompts.js.map +1 -1
  54. package/dist/src/commands/rule-sets.d.ts +1 -1
  55. package/dist/src/commands/rule-sets.js +16 -132
  56. package/dist/src/commands/rule-sets.js.map +1 -1
  57. package/dist/src/commands/scripts.d.ts +10 -0
  58. package/dist/src/commands/scripts.js +203 -241
  59. package/dist/src/commands/scripts.js.map +1 -1
  60. package/dist/src/commands/sessions.js +17 -5
  61. package/dist/src/commands/sessions.js.map +1 -1
  62. package/dist/src/commands/sync-app-settings.d.ts +113 -70
  63. package/dist/src/commands/sync-app-settings.js +193 -242
  64. package/dist/src/commands/sync-app-settings.js.map +1 -1
  65. package/dist/src/commands/sync.d.ts +1904 -51
  66. package/dist/src/commands/sync.js +9468 -1790
  67. package/dist/src/commands/sync.js.map +1 -1
  68. package/dist/src/commands/tokens.js +8 -2
  69. package/dist/src/commands/tokens.js.map +1 -1
  70. package/dist/src/commands/users.js +92 -1
  71. package/dist/src/commands/users.js.map +1 -1
  72. package/dist/src/commands/vars.js +44 -58
  73. package/dist/src/commands/vars.js.map +1 -1
  74. package/dist/src/commands/webhooks.js +318 -156
  75. package/dist/src/commands/webhooks.js.map +1 -1
  76. package/dist/src/commands/workflows.d.ts +49 -12
  77. package/dist/src/commands/workflows.js +652 -1086
  78. package/dist/src/commands/workflows.js.map +1 -1
  79. package/dist/src/lib/access-rule-display.d.ts +21 -0
  80. package/dist/src/lib/access-rule-display.js +34 -0
  81. package/dist/src/lib/access-rule-display.js.map +1 -0
  82. package/dist/src/lib/api-client.d.ts +541 -61
  83. package/dist/src/lib/api-client.js +559 -102
  84. package/dist/src/lib/api-client.js.map +1 -1
  85. package/dist/src/lib/app-settings-descriptor.d.ts +180 -25
  86. package/dist/src/lib/app-settings-descriptor.js +403 -82
  87. package/dist/src/lib/app-settings-descriptor.js.map +1 -1
  88. package/dist/src/lib/canonical-json.d.ts +12 -0
  89. package/dist/src/lib/canonical-json.js +35 -0
  90. package/dist/src/lib/canonical-json.js.map +1 -0
  91. package/dist/src/lib/cli-manifest.d.ts +8 -0
  92. package/dist/src/lib/cli-manifest.js +1 -0
  93. package/dist/src/lib/cli-manifest.js.map +1 -1
  94. package/dist/src/lib/codegen-shared/generatedFiles.d.ts +6 -2
  95. package/dist/src/lib/codegen-shared/generatedFiles.js +9 -2
  96. package/dist/src/lib/codegen-shared/generatedFiles.js.map +1 -1
  97. package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.d.ts +6 -6
  98. package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.js +8 -8
  99. package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.js.map +1 -1
  100. package/dist/src/lib/config-object-descriptor.d.ts +127 -0
  101. package/dist/src/lib/config-object-descriptor.js +658 -0
  102. package/dist/src/lib/config-object-descriptor.js.map +1 -0
  103. package/dist/src/lib/config-payload.d.ts +85 -0
  104. package/dist/src/lib/config-payload.js +116 -0
  105. package/dist/src/lib/config-payload.js.map +1 -0
  106. package/dist/src/lib/config-surface.d.ts +130 -0
  107. package/dist/src/lib/config-surface.js +300 -0
  108. package/dist/src/lib/config-surface.js.map +1 -0
  109. package/dist/src/lib/credentials-store.d.ts +10 -0
  110. package/dist/src/lib/credentials-store.js +23 -0
  111. package/dist/src/lib/credentials-store.js.map +1 -1
  112. package/dist/src/lib/data-input.d.ts +23 -0
  113. package/dist/src/lib/data-input.js +50 -0
  114. package/dist/src/lib/data-input.js.map +1 -0
  115. package/dist/src/lib/db-codegen/dbTemplates.js +1 -1
  116. package/dist/src/lib/db-codegen/dbTemplates.js.map +1 -1
  117. package/dist/src/lib/db-codegen/dbTypeIR.d.ts +1 -1
  118. package/dist/src/lib/env-resolver-core.d.ts +187 -0
  119. package/dist/src/lib/env-resolver-core.js +325 -0
  120. package/dist/src/lib/env-resolver-core.js.map +1 -0
  121. package/dist/src/lib/env-resolver.d.ts +28 -6
  122. package/dist/src/lib/env-resolver.js +44 -32
  123. package/dist/src/lib/env-resolver.js.map +1 -1
  124. package/dist/src/lib/generated-allowlist.js +12 -0
  125. package/dist/src/lib/generated-allowlist.js.map +1 -1
  126. package/dist/src/lib/generated-config-surfaces.d.ts +682 -0
  127. package/dist/src/lib/generated-config-surfaces.js +4058 -0
  128. package/dist/src/lib/generated-config-surfaces.js.map +1 -0
  129. package/dist/src/lib/generated-template-lint.d.ts +212 -0
  130. package/dist/src/lib/generated-template-lint.js +624 -0
  131. package/dist/src/lib/generated-template-lint.js.map +1 -0
  132. package/dist/src/lib/init-adopt.d.ts +16 -0
  133. package/dist/src/lib/init-adopt.js +34 -0
  134. package/dist/src/lib/init-adopt.js.map +1 -0
  135. package/dist/src/lib/init-assets.d.ts +39 -0
  136. package/dist/src/lib/init-assets.js +97 -0
  137. package/dist/src/lib/init-assets.js.map +1 -0
  138. package/dist/src/lib/init-client-platforms.d.ts +14 -0
  139. package/dist/src/lib/init-client-platforms.js +71 -0
  140. package/dist/src/lib/init-client-platforms.js.map +1 -0
  141. package/dist/src/lib/init-config.d.ts +44 -5
  142. package/dist/src/lib/init-config.js +80 -7
  143. package/dist/src/lib/init-config.js.map +1 -1
  144. package/dist/src/lib/init-email-redirect-uris.d.ts +37 -0
  145. package/dist/src/lib/init-email-redirect-uris.js +46 -0
  146. package/dist/src/lib/init-email-redirect-uris.js.map +1 -0
  147. package/dist/src/lib/init-ios-links.d.ts +90 -0
  148. package/dist/src/lib/init-ios-links.js +218 -0
  149. package/dist/src/lib/init-ios-links.js.map +1 -0
  150. package/dist/src/lib/init-plan.d.ts +80 -0
  151. package/dist/src/lib/init-plan.js +95 -0
  152. package/dist/src/lib/init-plan.js.map +1 -0
  153. package/dist/src/lib/init-production-env.d.ts +48 -0
  154. package/dist/src/lib/init-production-env.js +59 -0
  155. package/dist/src/lib/init-production-env.js.map +1 -0
  156. package/dist/src/lib/init-schema.d.ts +74 -0
  157. package/dist/src/lib/init-schema.js +358 -0
  158. package/dist/src/lib/init-schema.js.map +1 -0
  159. package/dist/src/lib/init-xcode.d.ts +33 -0
  160. package/dist/src/lib/init-xcode.js +114 -0
  161. package/dist/src/lib/init-xcode.js.map +1 -0
  162. package/dist/src/lib/integration-request-config.d.ts +30 -0
  163. package/dist/src/lib/integration-request-config.js +145 -0
  164. package/dist/src/lib/integration-request-config.js.map +1 -0
  165. package/dist/src/lib/integration-selector.d.ts +42 -0
  166. package/dist/src/lib/integration-selector.js +46 -0
  167. package/dist/src/lib/integration-selector.js.map +1 -0
  168. package/dist/src/lib/local-state.d.ts +55 -0
  169. package/dist/src/lib/local-state.js +167 -0
  170. package/dist/src/lib/local-state.js.map +1 -0
  171. package/dist/src/lib/local-test-cases.d.ts +63 -0
  172. package/dist/src/lib/local-test-cases.js +135 -0
  173. package/dist/src/lib/local-test-cases.js.map +1 -0
  174. package/dist/src/lib/log-inspection.d.ts +568 -0
  175. package/dist/src/lib/log-inspection.js +639 -0
  176. package/dist/src/lib/log-inspection.js.map +1 -0
  177. package/dist/src/lib/migration-nag.d.ts +2 -2
  178. package/dist/src/lib/migration-nag.js +3 -3
  179. package/dist/src/lib/object-status-filter.d.ts +22 -0
  180. package/dist/src/lib/object-status-filter.js +45 -0
  181. package/dist/src/lib/object-status-filter.js.map +1 -0
  182. package/dist/src/lib/output.d.ts +24 -1
  183. package/dist/src/lib/output.js +42 -1
  184. package/dist/src/lib/output.js.map +1 -1
  185. package/dist/src/lib/package-manager.d.ts +140 -0
  186. package/dist/src/lib/package-manager.js +305 -0
  187. package/dist/src/lib/package-manager.js.map +1 -0
  188. package/dist/src/lib/paginate.d.ts +50 -0
  189. package/dist/src/lib/paginate.js +53 -0
  190. package/dist/src/lib/paginate.js.map +1 -1
  191. package/dist/src/lib/platform-owned.d.ts +29 -3
  192. package/dist/src/lib/platform-owned.js +42 -3
  193. package/dist/src/lib/platform-owned.js.map +1 -1
  194. package/dist/src/lib/project-config.d.ts +8 -0
  195. package/dist/src/lib/project-config.js +30 -5
  196. package/dist/src/lib/project-config.js.map +1 -1
  197. package/dist/src/lib/query-operators.d.ts +1 -1
  198. package/dist/src/lib/query-operators.js +1 -1
  199. package/dist/src/lib/record-filter.d.ts +18 -0
  200. package/dist/src/lib/record-filter.js +55 -0
  201. package/dist/src/lib/record-filter.js.map +1 -0
  202. package/dist/src/lib/resolve-init-dev-port.d.ts +56 -0
  203. package/dist/src/lib/resolve-init-dev-port.js +55 -0
  204. package/dist/src/lib/resolve-init-dev-port.js.map +1 -0
  205. package/dist/src/lib/resolve-init-server.d.ts +64 -0
  206. package/dist/src/lib/resolve-init-server.js +77 -0
  207. package/dist/src/lib/resolve-init-server.js.map +1 -0
  208. package/dist/src/lib/resolve-platform.d.ts +43 -14
  209. package/dist/src/lib/resolve-platform.js +74 -12
  210. package/dist/src/lib/resolve-platform.js.map +1 -1
  211. package/dist/src/lib/run-status.d.ts +19 -0
  212. package/dist/src/lib/run-status.generated.d.ts +39 -0
  213. package/dist/src/lib/run-status.generated.js +66 -0
  214. package/dist/src/lib/run-status.generated.js.map +1 -0
  215. package/dist/src/lib/run-status.js +19 -0
  216. package/dist/src/lib/run-status.js.map +1 -0
  217. package/dist/src/lib/server-text-normalization.d.ts +51 -0
  218. package/dist/src/lib/server-text-normalization.js +90 -0
  219. package/dist/src/lib/server-text-normalization.js.map +1 -0
  220. package/dist/src/lib/server-url.d.ts +22 -0
  221. package/dist/src/lib/server-url.js +33 -0
  222. package/dist/src/lib/server-url.js.map +1 -0
  223. package/dist/src/lib/signing-secret-status.d.ts +81 -0
  224. package/dist/src/lib/signing-secret-status.js +116 -0
  225. package/dist/src/lib/signing-secret-status.js.map +1 -0
  226. package/dist/src/lib/skill-installer.js +6 -3
  227. package/dist/src/lib/skill-installer.js.map +1 -1
  228. package/dist/src/lib/snapshots.d.ts +2 -2
  229. package/dist/src/lib/snapshots.js +2 -2
  230. package/dist/src/lib/swift-codegen/dbGenerator.d.ts +15 -2
  231. package/dist/src/lib/swift-codegen/dbGenerator.js +250 -18
  232. package/dist/src/lib/swift-codegen/dbGenerator.js.map +1 -1
  233. package/dist/src/lib/swift-codegen/generator.d.ts +11 -2
  234. package/dist/src/lib/swift-codegen/generator.js +181 -7
  235. package/dist/src/lib/swift-codegen/generator.js.map +1 -1
  236. package/dist/src/lib/swift-codegen/siblingSymbols.d.ts +7 -3
  237. package/dist/src/lib/swift-codegen/siblingSymbols.js +4 -1
  238. package/dist/src/lib/swift-codegen/siblingSymbols.js.map +1 -1
  239. package/dist/src/lib/sync-dir-selector.d.ts +21 -0
  240. package/dist/src/lib/sync-dir-selector.js +30 -0
  241. package/dist/src/lib/sync-dir-selector.js.map +1 -0
  242. package/dist/src/lib/sync-paths.d.ts +39 -0
  243. package/dist/src/lib/sync-paths.js +70 -2
  244. package/dist/src/lib/sync-paths.js.map +1 -1
  245. package/dist/src/lib/sync-resource-types.d.ts +138 -31
  246. package/dist/src/lib/sync-resource-types.js +241 -47
  247. package/dist/src/lib/sync-resource-types.js.map +1 -1
  248. package/dist/src/lib/sync-selectors.d.ts +95 -0
  249. package/dist/src/lib/sync-selectors.js +228 -0
  250. package/dist/src/lib/sync-selectors.js.map +1 -0
  251. package/dist/src/lib/template.d.ts +62 -4
  252. package/dist/src/lib/template.js +147 -39
  253. package/dist/src/lib/template.js.map +1 -1
  254. package/dist/src/lib/test-case-file-names.d.ts +40 -0
  255. package/dist/src/lib/test-case-file-names.js +91 -0
  256. package/dist/src/lib/test-case-file-names.js.map +1 -0
  257. package/dist/src/lib/test-case-keys.d.ts +29 -0
  258. package/dist/src/lib/test-case-keys.js +55 -0
  259. package/dist/src/lib/test-case-keys.js.map +1 -0
  260. package/dist/src/lib/test-case-variables.d.ts +15 -0
  261. package/dist/src/lib/test-case-variables.js +29 -0
  262. package/dist/src/lib/test-case-variables.js.map +1 -0
  263. package/dist/src/lib/toml-database-config.d.ts +4 -4
  264. package/dist/src/lib/toml-database-config.js +27 -34
  265. package/dist/src/lib/toml-database-config.js.map +1 -1
  266. package/dist/src/lib/toml-metadata-config.d.ts +9 -5
  267. package/dist/src/lib/toml-metadata-config.js +40 -45
  268. package/dist/src/lib/toml-metadata-config.js.map +1 -1
  269. package/dist/src/lib/toml-native-form.d.ts +1 -1
  270. package/dist/src/lib/toml-native-form.js +1 -1
  271. package/dist/src/lib/toml-params-validator.d.ts +1 -1
  272. package/dist/src/lib/toml-params-validator.js +1 -1
  273. package/dist/src/lib/toml-scalar-edit.d.ts +43 -0
  274. package/dist/src/lib/toml-scalar-edit.js +283 -0
  275. package/dist/src/lib/toml-scalar-edit.js.map +1 -0
  276. package/dist/src/lib/user-selector.d.ts +24 -0
  277. package/dist/src/lib/user-selector.js +33 -0
  278. package/dist/src/lib/user-selector.js.map +1 -0
  279. package/dist/src/lib/version-check.d.ts +25 -0
  280. package/dist/src/lib/version-check.js +77 -8
  281. package/dist/src/lib/version-check.js.map +1 -1
  282. package/dist/src/lib/watch.d.ts +121 -0
  283. package/dist/src/lib/watch.js +169 -0
  284. package/dist/src/lib/watch.js.map +1 -0
  285. package/dist/src/lib/web-url.d.ts +40 -0
  286. package/dist/src/lib/web-url.js +76 -0
  287. package/dist/src/lib/web-url.js.map +1 -0
  288. package/dist/src/lib/workflow-apply.d.ts +69 -45
  289. package/dist/src/lib/workflow-apply.js +99 -72
  290. package/dist/src/lib/workflow-apply.js.map +1 -1
  291. package/dist/src/lib/workflow-codegen/generator.js +4 -4
  292. package/dist/src/lib/workflow-codegen/generator.js.map +1 -1
  293. package/dist/src/lib/workflow-codegen/invokerIR.d.ts +11 -0
  294. package/dist/src/lib/workflow-codegen/invokerIR.js +5 -0
  295. package/dist/src/lib/workflow-codegen/invokerIR.js.map +1 -1
  296. package/dist/src/lib/workflow-config-apply.d.ts +70 -0
  297. package/dist/src/lib/workflow-config-apply.js +137 -0
  298. package/dist/src/lib/workflow-config-apply.js.map +1 -0
  299. package/dist/src/lib/workflow-config-sidecar.d.ts +63 -0
  300. package/dist/src/lib/workflow-config-sidecar.js +96 -0
  301. package/dist/src/lib/workflow-config-sidecar.js.map +1 -0
  302. package/dist/src/lib/workflow-defaults.d.ts +29 -0
  303. package/dist/src/lib/workflow-defaults.js +41 -0
  304. package/dist/src/lib/workflow-defaults.js.map +1 -0
  305. package/dist/src/lib/workflow-include-preserve.d.ts +76 -0
  306. package/dist/src/lib/workflow-include-preserve.js +286 -0
  307. package/dist/src/lib/workflow-include-preserve.js.map +1 -0
  308. package/dist/src/lib/workflow-payload.d.ts +31 -20
  309. package/dist/src/lib/workflow-payload.js +100 -110
  310. package/dist/src/lib/workflow-payload.js.map +1 -1
  311. package/dist/src/lib/workflow-toml-validator.d.ts +37 -16
  312. package/dist/src/lib/workflow-toml-validator.js +141 -16
  313. package/dist/src/lib/workflow-toml-validator.js.map +1 -1
  314. package/dist/src/types/index.d.ts +78 -22
  315. package/dist/src/validators.d.ts +7 -7
  316. package/dist/src/validators.js +6 -6
  317. package/package.json +11 -6
  318. package/dist/src/commands/settings.d.ts +0 -15
  319. package/dist/src/commands/settings.js +0 -102
  320. package/dist/src/commands/settings.js.map +0 -1
@@ -1,20 +1,20 @@
1
1
  /**
2
- * Shared layout metadata for the per-entity resource types `sync pull` writes
2
+ * Shared layout metadata for the per-entity resource types `config pull` writes
3
3
  * into a sync slot (issue #1659).
4
4
  *
5
- * `sync pull` writes one file per server entity and records what it wrote in
5
+ * `config pull` writes one file per server entity and records what it wrote in
6
6
  * `.primitive-sync.json` (`SyncState.entities[<slot>]`). Until #1659 it never
7
7
  * removed a local file whose entity had disappeared server-side, so the next
8
- * `sync push` — which treats local TOML as the source of truth — silently
8
+ * `config push` — which treats local TOML as the source of truth — silently
9
9
  * re-created the just-deleted entity.
10
10
  *
11
- * This module holds the narrow descriptor the prune pass and `sync diff` share:
11
+ * This module holds the narrow descriptor the prune pass and `config diff` share:
12
12
  * directory, extension, state slot, key→filename derivation, and the sidecar
13
13
  * test-directory block type. The pull write loops deliberately stay as they are
14
14
  * — this table is layout metadata, not a write framework.
15
15
  */
16
16
  import { existsSync, readFileSync, readdirSync, rmSync, statSync, unlinkSync } from "fs";
17
- import { basename, dirname, join } from "path";
17
+ import { basename, dirname, join, resolve, sep } from "path";
18
18
  import { parseConfigToml } from "./config-toml.js";
19
19
  const tomlFile = (key) => `${key}.toml`;
20
20
  /**
@@ -28,7 +28,7 @@ export function ruleSetFileKey(ruleSet) {
28
28
  /**
29
29
  * Every per-entity resource type in a sync slot. `app.toml` and `vars.toml` are
30
30
  * root singletons, not per-entity directories, so they are not listed here —
31
- * var removal is already handled within-file by `sync push` (`planVarsPush`).
31
+ * var removal is already handled within-file by `config push` (`planVarsPush`).
32
32
  */
33
33
  export const SYNC_RESOURCE_TYPES = [
34
34
  {
@@ -37,6 +37,9 @@ export const SYNC_RESOURCE_TYPES = [
37
37
  ext: ".toml",
38
38
  stateSlot: "integrations",
39
39
  fileFromKey: tomlFile,
40
+ // #2769 — an integration's test cases live at `integrations/<key>.tests/`,
41
+ // pulled, pushed, diffed and pruned like every other block's.
42
+ testBlockType: "integration",
40
43
  // `/admin/api/apps/{id}/integrations` paginates; pull drains it with fetchAll.
41
44
  listingComplete: true,
42
45
  },
@@ -84,6 +87,8 @@ export const SYNC_RESOURCE_TYPES = [
84
87
  stateSlot: "workflows",
85
88
  fileFromKey: tomlFile,
86
89
  testBlockType: "workflow",
90
+ // #2645 — named config bodies live in `workflows/<key>.configs/`.
91
+ namedConfigsDirFromKey: (key) => `${key}.configs`,
87
92
  // `/admin/api/apps/{id}/workflows` paginates; pull drains it with fetchAll.
88
93
  listingComplete: true,
89
94
  },
@@ -100,8 +105,8 @@ export const SYNC_RESOURCE_TYPES = [
100
105
  listingComplete: true,
101
106
  },
102
107
  {
103
- label: "database-type",
104
- dir: "database-types",
108
+ label: "database-type-config",
109
+ dir: "database-type-configs",
105
110
  ext: ".toml",
106
111
  stateSlot: "databaseTypes",
107
112
  fileFromKey: tomlFile,
@@ -187,6 +192,42 @@ export function isSafeSyncFilename(filename) {
187
192
  return false;
188
193
  return true;
189
194
  }
195
+ /**
196
+ * Whether a test-case attachment filename may be written to (or read from) the
197
+ * sidecar attachment directory (#2769).
198
+ *
199
+ * Attachment names come from the SERVER: pull writes each one into
200
+ * `<key>.tests/<slug>/`, so a stored name carrying a separator or a `..`
201
+ * segment would place a file outside the sync tree entirely. The rule is the
202
+ * same one state-derived filenames follow, plus a refusal of any leading-dot
203
+ * traversal spelling.
204
+ */
205
+ export function isSafeAttachmentFilename(filename) {
206
+ if (!isSafeSyncFilename(filename))
207
+ return false;
208
+ // `.` and `..` are caught above; `...` and friends are not path traversal but
209
+ // are not names a fixture file needs either.
210
+ if (/^\.+$/.test(filename))
211
+ return false;
212
+ return true;
213
+ }
214
+ /**
215
+ * The absolute path an attachment may be written to, or `null` when the name is
216
+ * unsafe or resolves outside `attachDir` (#2769). Both halves matter: the name
217
+ * check states the rule, and the resolved-path check enforces it against
218
+ * platform quirks the name check cannot anticipate.
219
+ */
220
+ export function attachmentWritePath(attachDir, filename) {
221
+ if (!isSafeAttachmentFilename(filename))
222
+ return null;
223
+ const destination = resolve(attachDir, filename);
224
+ const root = resolve(attachDir);
225
+ if (destination !== join(root, filename))
226
+ return null;
227
+ if (!destination.startsWith(root + sep))
228
+ return null;
229
+ return destination;
230
+ }
190
231
  /**
191
232
  * Decide which of a type's managed entity keys should have their local file
192
233
  * removed, given the prior sync state and the outcome of this pull's fetch.
@@ -195,7 +236,7 @@ export function isSafeSyncFilename(filename) {
195
236
  * `SyncState.entities[<slot>]`, so a previous pull wrote its file) and is
196
237
  * **absent from the server keys** this pull fetched. A local file that was
197
238
  * never in prior state was hand-authored — it is left alone and reported by
198
- * `sync diff` as new.
239
+ * `config diff` as new.
199
240
  *
200
241
  * Pure and side-effect-free (the caller owns the `unlinkSync`) so the safety
201
242
  * rules are unit-testable without a live server.
@@ -278,7 +319,7 @@ export function preserveUnwrittenEntries(written, prior, serverKeys) {
278
319
  * a command.
279
320
  *
280
321
  * `includeUntracked` decides whether an untracked file counts as a change:
281
- * - `true` (default) suits "am I about to overwrite something?" — `sync revert`
322
+ * - `true` (default) suits "am I about to overwrite something?" — `config revert`
282
323
  * would clobber an untracked file just the same.
283
324
  * - `false` suits "did the operator edit this file?" — an untracked file is the
284
325
  * ordinary state of a pulled file in a sync dir that was never committed, and
@@ -321,10 +362,18 @@ export async function hasUncommittedChanges(path, options = {}) {
321
362
  * way to be absent from the export is to have been deleted.
322
363
  */
323
364
  export const ABSENT_FROM_EXPORT = "absent from sync export (deleted on server)";
324
- /** `sync diff` status for a local file whose managed entity is gone. */
365
+ /** `config diff` status for a local file whose managed entity is gone. */
325
366
  export const LOCAL_ONLY_ABSENT = "local only (absent from export)";
326
- /** `sync diff` status for a local file the operator authored themselves. */
367
+ /** `config diff` status for a local file the operator authored themselves. */
327
368
  export const LOCAL_ONLY_NEW = "local only";
369
+ /**
370
+ * `config diff` status for a local file `config push` would refuse (#2880).
371
+ *
372
+ * Its own status rather than a hint on a Synced row: the whole point is that
373
+ * the file is NOT pushable, and the counts a caller reads to decide "is there
374
+ * anything to do?" have to say so.
375
+ */
376
+ export const VALIDATION_ERROR = "validation error";
328
377
  /**
329
378
  * Classify a local file that has no matching server entity (issue #1659).
330
379
  *
@@ -343,7 +392,7 @@ export function classifyLocalOnly(priorEntities, slot, key) {
343
392
  *
344
393
  * A file with uncommitted git edits is kept and reported instead: the operator
345
394
  * may be mid-way through authoring a change they meant to push. Everything
346
- * removed here is recoverable from the pre-pull snapshot via `sync revert`.
395
+ * removed here is recoverable from the pre-pull snapshot via `config revert`.
347
396
  */
348
397
  export async function applyPrune(options) {
349
398
  const { configDir, resourceType, keys, testCaseEntities, logger } = options;
@@ -373,6 +422,18 @@ export async function applyPrune(options) {
373
422
  result.prunedKeys.push(key);
374
423
  result.removed.push(relativePath);
375
424
  log(` Removed ${relativePath} — ${ABSENT_FROM_EXPORT}`);
425
+ // #2645 — the entity's named config bodies go with it. They describe
426
+ // configurations of a block the server no longer has, and leaving them
427
+ // would have the next push re-create the block from its own leftovers.
428
+ const configsDirName = resourceType.namedConfigsDirFromKey?.(key);
429
+ if (configsDirName) {
430
+ const configsDir = join(configDir, resourceType.dir, configsDirName);
431
+ if (existsSync(configsDir) && isSafeSyncFilename(configsDirName)) {
432
+ rmSync(configsDir, { recursive: true, force: true });
433
+ result.removed.push(`${resourceType.dir}/${configsDirName}`);
434
+ log(` Removed ${resourceType.dir}/${configsDirName} — ${ABSENT_FROM_EXPORT}`);
435
+ }
436
+ }
376
437
  if (!resourceType.testBlockType)
377
438
  continue;
378
439
  // Sidecar tests: `<key>.tests/` holds the block's test-case TOMLs and their
@@ -403,7 +464,7 @@ export const addressById = (_key, entry) => entry && typeof entry.id === "string
403
464
  export const addressByKey = (key) => key || undefined;
404
465
  /**
405
466
  * Live modified timestamp used by the drift check. Most admin/app detail
406
- * endpoints serialize `modifiedAt` at the top level (the same field `sync pull`
467
+ * endpoints serialize `modifiedAt` at the top level (the same field `config pull`
407
468
  * records into state), with `updatedAt` as a defensive fallback. Two detail
408
469
  * endpoints nest the entity under a wrapper key and need their own extractors
409
470
  * below (`workflowPruneModifiedAt`, `emailTemplatePruneModifiedAt`) so the
@@ -422,7 +483,7 @@ export const workflowPruneModifiedAt = (detail) => pruneModifiedAt(detail && det
422
483
  * Email-template detail-read extractor. `getEmailTemplate` returns
423
484
  * `{ emailType, label, hasOverride, override, default, variables }`; the
424
485
  * editable copy `sync` manages — and its `modifiedAt` — live under `override`
425
- * (null when there is no override). `sync pull` likewise records
486
+ * (null when there is no override). `config pull` likewise records
426
487
  * `template.override?.modifiedAt`, so the drift check must read the same path.
427
488
  */
428
489
  export const emailTemplatePruneModifiedAt = (detail) => pruneModifiedAt(detail && detail.override);
@@ -430,7 +491,7 @@ export const emailTemplatePruneModifiedAt = (detail) => pruneModifiedAt(detail &
430
491
  * Read a declared identity field (`[<section>].<field>`) from a managed TOML
431
492
  * file. Returns `undefined` when the field is absent, empty, or the file cannot
432
493
  * be parsed — callers fall back to the filename-derived key, matching the
433
- * `<field> || basename(file)` convention every `sync push` parser uses.
494
+ * `<field> || basename(file)` convention every `config push` parser uses.
434
495
  *
435
496
  * Parsed via `parseConfigToml` (not `parseTomlFile`): the identity fields
436
497
  * pruning reads are author-declared top-level values, unaffected by the
@@ -451,7 +512,7 @@ function declaredTomlKey(filePath, section, field) {
451
512
  /**
452
513
  * Build a `keyFromFile` for a TOML type whose entity key is declared at
453
514
  * `[<section>].<field>`, falling back to the file basename (the exact key the
454
- * matching `sync push` loop derives). This is what lets prune recognize an
515
+ * matching `config push` loop derives). This is what lets prune recognize an
455
516
  * entity declared inside a **renamed** file and keep it out of the prune set,
456
517
  * instead of deleting a remote entity that push just updated (issue #1655).
457
518
  */
@@ -467,22 +528,58 @@ function tomlDeclaredKeyFromFile(section, field) {
467
528
  function basenameKeyFromFile(ext) {
468
529
  return (filePath) => basename(filePath, ext);
469
530
  }
531
+ /**
532
+ * Split a metadata-category key into the `resourceType`/`category` pair it
533
+ * names, or `null` when it is not exactly two non-empty components joined by a
534
+ * single `#`.
535
+ *
536
+ * Load-bearing for prune (#2762). Prune point-reads a candidate BEFORE deciding
537
+ * what to do with it, and only a missing address short-circuits that fetch — so
538
+ * a corrupt state key that still produced an address would be read with
539
+ * `undefined` in the request path, and the resulting 404 would be classified
540
+ * "already gone", silently dropping the state entry. Failing here instead
541
+ * routes such a key to the `no-id` skip: no client call, state retained.
542
+ */
543
+ export function parseMetadataCategoryKey(key) {
544
+ if (typeof key !== "string")
545
+ return null;
546
+ const parts = key.split("#");
547
+ if (parts.length !== 2)
548
+ return null;
549
+ const [resourceType, category] = parts;
550
+ if (!resourceType || !category)
551
+ return null;
552
+ return { resourceType, category };
553
+ }
554
+ /** The same parse, for the spec's read/delete — safe when called standalone. */
555
+ function requireMetadataCategoryKey(key) {
556
+ const parsed = parseMetadataCategoryKey(key);
557
+ if (!parsed) {
558
+ throw new Error(`'${key}' is not a metadata category key — expected <resourceType>#<category>`);
559
+ }
560
+ return parsed;
561
+ }
470
562
  /**
471
563
  * `keyFromFile` for metadata-category-configs, whose key is the
472
564
  * `resourceType#category` pair. Push reads `[metadataCategoryConfig]`
473
565
  * `resourceType`/`category` and falls back to the filename
474
- * (`resourceType.category.toml`, split on the first `.`).
566
+ * (`resourceType.category.toml`, split on the first `.`) for EACH component it
567
+ * did not find — mirror that per-component fallback exactly. Requiring both
568
+ * fields before honouring the declaration would key a half-declared file by its
569
+ * filename while push keyed it by the mix, and prune would then read the
570
+ * pushed key as undeclared and delete a definition a local file still owns.
475
571
  */
476
572
  function metadataCategoryKeyFromFile(filePath) {
477
- const resourceType = declaredTomlKey(filePath, "metadataCategoryConfig", "resourceType");
478
- const category = declaredTomlKey(filePath, "metadataCategoryConfig", "category");
479
- if (resourceType && category)
480
- return `${resourceType}#${category}`;
573
+ let resourceType = declaredTomlKey(filePath, "metadataCategoryConfig", "resourceType");
574
+ let category = declaredTomlKey(filePath, "metadataCategoryConfig", "category");
481
575
  const base = basename(filePath, ".toml");
482
576
  const dot = base.indexOf(".");
483
577
  if (dot > 0) {
484
- return `${base.slice(0, dot)}#${base.slice(dot + 1)}`;
578
+ resourceType = resourceType || base.slice(0, dot);
579
+ category = category || base.slice(dot + 1);
485
580
  }
581
+ if (resourceType && category)
582
+ return `${resourceType}#${category}`;
486
583
  return base;
487
584
  }
488
585
  function pruneTypeFor(label) {
@@ -494,7 +591,7 @@ function pruneTypeFor(label) {
494
591
  /**
495
592
  * Every resource type push-prune can retire. Id-addressed types (integrations,
496
593
  * webhooks, cron-triggers, blob-buckets, prompts, workflows, transforms,
497
- * rule-sets) fetch/delete by the stored id; key-addressed types (database-types,
594
+ * rule-sets) fetch/delete by the stored id; key-addressed types (database-type-configs,
498
595
  * group-type-configs, collection-type-configs, email-templates) by the key.
499
596
  *
500
597
  * `--force` (the CLI's existing "override baseline drift" flag) only relaxes the
@@ -509,8 +606,13 @@ export const PUSH_PRUNE_SPECS = [
509
606
  addressOf: addressById,
510
607
  fetchDetail: (c, a, id) => c.getIntegration(a, id),
511
608
  modifiedAtOf: pruneModifiedAt,
609
+ // Hard-delete rather than archive (#2803, following #2232's webhook
610
+ // reasoning). `--prune` is the CLI's hard-delete path: the file that
611
+ // declared this integration is gone from the config tree, and an archived
612
+ // row keeps holding its `integrationKey` with no way to reclaim it from
613
+ // `config`.
512
614
  deleteEntity: async (c, a, id) => {
513
- await c.deleteIntegration(a, id);
615
+ await c.deleteIntegration(a, id, { hard: true });
514
616
  },
515
617
  },
516
618
  {
@@ -519,8 +621,15 @@ export const PUSH_PRUNE_SPECS = [
519
621
  addressOf: addressById,
520
622
  fetchDetail: (c, a, id) => c.getWebhook(a, id),
521
623
  modifiedAtOf: pruneModifiedAt,
624
+ // Hard-delete rather than archive (#2232). Webhooks are the one pruned type with
625
+ // a per-app cap that archived rows still consume, so an archiving prune
626
+ // would burn a slot — and keep holding the `webhookKey` — with no way to
627
+ // reclaim it from `sync`. Enough prune cycles and the app could never
628
+ // create a webhook again. `--prune` is opt-in and confirmed, and the file
629
+ // that declared this webhook is gone from the config dir, so a hard delete
630
+ // is what "retire it" means here. Delivery rows are left behind either way.
522
631
  deleteEntity: async (c, a, id) => {
523
- await c.deleteWebhook(a, id);
632
+ await c.deleteWebhook(a, id, { hard: true });
524
633
  },
525
634
  },
526
635
  {
@@ -529,8 +638,14 @@ export const PUSH_PRUNE_SPECS = [
529
638
  addressOf: addressById,
530
639
  fetchDetail: (c, a, id) => c.getCronTrigger(a, id),
531
640
  modifiedAtOf: pruneModifiedAt,
641
+ // Hard-delete rather than archive (#2803, following #2232's webhook
642
+ // reasoning). Cron triggers have a per-app cap that archived rows still
643
+ // consume, and an archived row keeps holding its `triggerKey` with no way
644
+ // to reclaim it from `config`. `--prune` is opt-in and confirmed, and the
645
+ // file that declared this trigger is gone from the config tree, so a hard
646
+ // delete is what "retire it" means here.
532
647
  deleteEntity: async (c, a, id) => {
533
- await c.deleteCronTrigger(a, id);
648
+ await c.deleteCronTrigger(a, id, { hard: true });
534
649
  },
535
650
  },
536
651
  {
@@ -549,8 +664,13 @@ export const PUSH_PRUNE_SPECS = [
549
664
  addressOf: addressById,
550
665
  fetchDetail: (c, a, id) => c.getPrompt(a, id),
551
666
  modifiedAtOf: pruneModifiedAt,
667
+ // Hard-delete rather than archive (#2887, following #2232's webhook
668
+ // reasoning). A plain DELETE archives now, and an archived prompt keeps
669
+ // holding its `promptKey` with no way to reclaim it from `config`. This
670
+ // had to change in the SAME commit that made the plain DELETE soft, or
671
+ // `--prune` would have silently stopped destroying anything.
552
672
  deleteEntity: async (c, a, id) => {
553
- await c.deletePrompt(a, id);
673
+ await c.deletePrompt(a, id, true);
554
674
  },
555
675
  },
556
676
  {
@@ -560,8 +680,12 @@ export const PUSH_PRUNE_SPECS = [
560
680
  fetchDetail: (c, a, id) => c.getWorkflow(a, id),
561
681
  // `getWorkflow` nests the entity (and modifiedAt) under `workflow`.
562
682
  modifiedAtOf: workflowPruneModifiedAt,
683
+ // Hard-delete rather than archive (#2887) — same reasoning as the prompt
684
+ // spec above: the file that declared this workflow is gone from the config
685
+ // tree, `--prune` is opt-in and confirmed, and an archived row would go on
686
+ // holding its `workflowKey`.
563
687
  deleteEntity: async (c, a, id) => {
564
- await c.deleteWorkflow(a, id);
688
+ await c.deleteWorkflow(a, id, { hard: true });
565
689
  },
566
690
  },
567
691
  {
@@ -587,7 +711,7 @@ export const PUSH_PRUNE_SPECS = [
587
711
  },
588
712
  },
589
713
  {
590
- resourceType: pruneTypeFor("database-type"),
714
+ resourceType: pruneTypeFor("database-type-config"),
591
715
  keyFromFile: tomlDeclaredKeyFromFile("type", "databaseType"),
592
716
  addressOf: addressByKey,
593
717
  fetchDetail: (c, a, key) => c.getDatabaseTypeConfig(a, key),
@@ -629,30 +753,38 @@ export const PUSH_PRUNE_SPECS = [
629
753
  },
630
754
  },
631
755
  {
632
- // #1426 owns the config-delete admin-client wrapper; `deleteResourceMetadata`
633
- // is a metadata-*value* delete, not a config delete. Until then a candidate
634
- // of this type is reported "no delete surface yet (#1426)", never deleted.
756
+ // The admin-gated config-delete route (#1364) and its client wrapper are
757
+ // shipped, so this type retires exactly like its siblings: delete the file,
758
+ // `config push --prune` (#2762). The interactive `metadata categories delete`
759
+ // verb this replaced is gone.
635
760
  resourceType: pruneTypeFor("metadata-category-config"),
636
761
  keyFromFile: metadataCategoryKeyFromFile,
637
- addressOf: addressByKey,
638
- fetchDetail: (c, a, key) => {
762
+ // Key-addressed like the other config types, but the key is a PAIR: one
763
+ // that does not parse has no address at all, which routes the candidate to
764
+ // the `no-id` skip BEFORE the point read (see parseMetadataCategoryKey).
765
+ addressOf: (key) => (parseMetadataCategoryKey(key) ? key : undefined),
766
+ fetchDetail: async (c, a, key) => {
639
767
  // The state key is the `resourceType#category` pair; the getter is
640
- // path-addressed by both. (Never actually called — `deleteEntity` is null,
641
- // so a candidate short-circuits to "unsupported" before any fetch.)
642
- const [resourceType, category] = key.split("#");
768
+ // path-addressed by both.
769
+ const { resourceType, category } = requireMetadataCategoryKey(key);
643
770
  return c.getMetadataCategoryConfig(a, resourceType, category);
644
771
  },
645
772
  modifiedAtOf: pruneModifiedAt,
646
- deleteEntity: null,
773
+ deleteEntity: async (c, a, key) => {
774
+ const { resourceType, category } = requireMetadataCategoryKey(key);
775
+ await c.deleteMetadataCategoryConfig(a, resourceType, category);
776
+ },
777
+ // The warning the retired verb's confirm prompt used to carry.
778
+ deleteCaveat: "stored metadata values are NOT deleted and become unreachable — delete values first ('primitive metadata delete') if you need them gone",
647
779
  },
648
780
  ];
649
781
  /**
650
782
  * The set of entity keys the local managed files of a type declare — collected
651
- * the way `sync push` derives keys: parse every file in the type's directory
783
+ * the way `config push` derives keys: parse every file in the type's directory
652
784
  * and read its declared identity (`<in-file key> || basename`), NOT by assuming
653
785
  * the file lives at its canonical `<key>.toml` path.
654
786
  *
655
- * This is the crux of the #1655 destructive-delete fix. `sync push` accepts a
787
+ * This is the crux of the #1655 destructive-delete fix. `config push` accepts a
656
788
  * managed file at a **noncanonical filename** (e.g. `prompts/custom.toml` with
657
789
  * `prompt.key = "greeting"`) and still updates the `greeting` entity. Collecting
658
790
  * declared keys — rather than checking whether `greeting.toml` exists — means a
@@ -682,11 +814,11 @@ export function collectLocalDeclaredKeys(input) {
682
814
  *
683
815
  * A key is a candidate iff it was in the prior state slot (a prior pull managed
684
816
  * it) AND **no** local file in the type's directory declares that key (via
685
- * {@link collectLocalDeclaredKeys}, mirroring how `sync push` derives keys). A
817
+ * {@link collectLocalDeclaredKeys}, mirroring how `config push` derives keys). A
686
818
  * key still declared by some file — even one renamed away from the canonical
687
- * `<key>.toml` path — is left alone, since `sync push` would update it, not
819
+ * `<key>.toml` path — is left alone, since `config push` would update it, not
688
820
  * delete it (issue #1655). A file whose key was never in prior state was
689
- * hand-authored and is left for `sync push` to create; it is never a candidate.
821
+ * hand-authored and is left for `config push` to create; it is never a candidate.
690
822
  */
691
823
  export function collectPushPruneCandidates(input) {
692
824
  const { spec, configDir, priorEntities } = input;
@@ -732,6 +864,58 @@ export function decidePushPruneCandidate(input) {
732
864
  return { action: "drop-state" };
733
865
  return { action: "skip", reason: "unconfirmed" };
734
866
  }
867
+ /**
868
+ * Classify an error thrown by a prune delete — one arm for every type.
869
+ *
870
+ * Keyed on the status alone (`ConflictError` is an `ApiError` with 409), so no
871
+ * per-type carve-out can creep into the push command's delete loop and make the
872
+ * race recovery true for some types and not others (#2762).
873
+ */
874
+ export function classifyPruneDeleteFailure(err) {
875
+ const status = err?.statusCode;
876
+ if (status === 404)
877
+ return "raced-absent";
878
+ if (status === 409)
879
+ return "blocked";
880
+ return "failed";
881
+ }
882
+ const PRUNE_SKIP_LABELS = {
883
+ drift: "skipped — modified on server since last sync (use --force)",
884
+ unconfirmed: "skipped — could not confirm (fetch failed)",
885
+ "no-id": "skipped — no id in sync state",
886
+ unsupported: "skipped — no delete surface for this type",
887
+ };
888
+ /**
889
+ * Render the prune plan the operator reads before the batch confirmation.
890
+ *
891
+ * Pure, and here rather than in `sync.ts`, so what the plan states about a type
892
+ * is testable without a server — specifically that a type's `deleteCaveat`
893
+ * (metadata's orphaned values, which used to live in the retired verb's confirm
894
+ * prompt) appears under its delete lines and nowhere else. `config push` renders
895
+ * the plan ONCE, before the `--dry-run` branch, so both paths print the same
896
+ * lines (#2762).
897
+ */
898
+ export function formatPrunePlan(items) {
899
+ return items.map(({ spec, key, decision }) => {
900
+ const detail = `${spec.resourceType.label}: ${key}`;
901
+ if (decision.action === "delete") {
902
+ return {
903
+ kind: "delete",
904
+ status: "will delete",
905
+ detail,
906
+ note: spec.deleteCaveat,
907
+ };
908
+ }
909
+ if (decision.action === "drop-state") {
910
+ return { kind: "absent", status: "already absent", detail };
911
+ }
912
+ return {
913
+ kind: "skip",
914
+ status: PRUNE_SKIP_LABELS[decision.reason] ?? "skipped",
915
+ detail,
916
+ };
917
+ });
918
+ }
735
919
  /**
736
920
  * Remove a pruned block's sidecar `<key>.tests/` directory and its
737
921
  * `entities.testCases` state records. The main file is already gone (that is
@@ -743,6 +927,16 @@ export function removePrunedSidecar(options) {
743
927
  const log = logger ?? (() => { });
744
928
  const removed = [];
745
929
  const removedTestCaseKeys = [];
930
+ // #2645 — the entity's named config bodies orphan the same way its tests do.
931
+ const configsDirName = resourceType.namedConfigsDirFromKey?.(key);
932
+ if (configsDirName) {
933
+ const configsDir = join(configDir, resourceType.dir, configsDirName);
934
+ if (existsSync(configsDir) && isSafeSyncFilename(configsDirName)) {
935
+ rmSync(configsDir, { recursive: true, force: true });
936
+ removed.push(`${resourceType.dir}/${configsDirName}`);
937
+ log(` Removed orphaned ${resourceType.dir}/${configsDirName}`);
938
+ }
939
+ }
746
940
  if (!resourceType.testBlockType)
747
941
  return { removed, removedTestCaseKeys };
748
942
  const testsDirName = `${key}.tests`;
@@ -763,13 +957,13 @@ export function removePrunedSidecar(options) {
763
957
  }
764
958
  return { removed, removedTestCaseKeys };
765
959
  }
766
- /** `sync diff` status for a managed remote entity whose local file is gone. */
960
+ /** `config diff` status for a managed remote entity whose local file is gone. */
767
961
  export const REMOTE_ONLY_WILL_DELETE = "remote only (will delete with push --prune)";
768
- /** `sync diff` status for a server entity that was never synced (hand-created). */
962
+ /** `config diff` status for a server entity that was never synced (hand-created). */
769
963
  export const REMOTE_ONLY_UNMANAGED = "remote only (left alone)";
770
964
  /**
771
965
  * Classify a "remote only" entity (present server-side, no local file) for
772
- * `sync diff` (issue #1655). A key the prior pull managed means the operator
966
+ * `config diff` (issue #1655). A key the prior pull managed means the operator
773
967
  * deleted its local file and `push --prune` will delete the remote entity; a key
774
968
  * never synced was authored on the server and is left alone. Prior sync state is
775
969
  * the discriminator, exactly as it is for the local-only / pull-prune split.
@@ -1 +1 @@
1
- {"version":3,"file":"sync-resource-types.js","sourceRoot":"","sources":["../../../src/lib/sync-resource-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-resource-types.js","sourceRoot":"","sources":["../../../src/lib/sync-resource-types.ts"],"names":[],"mappings":"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"}