@transcend-io/cli 10.28.0 → 10.29.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 (338) hide show
  1. package/README.md +81 -15
  2. package/dist/{app-DCY8E776.mjs → app-B9yoXd7q.mjs} +21 -21
  3. package/dist/app-B9yoXd7q.mjs.map +1 -0
  4. package/dist/{approvePrivacyRequests-80SV_94y.mjs → approvePrivacyRequests-DDT8Zjhc.mjs} +2 -2
  5. package/dist/{approvePrivacyRequests-80SV_94y.mjs.map → approvePrivacyRequests-DDT8Zjhc.mjs.map} +1 -1
  6. package/dist/bin/bash-complete.mjs +1 -1
  7. package/dist/bin/cli.mjs +1 -1
  8. package/dist/bin/deprecated-command.mjs +1 -1
  9. package/dist/{buildExamples-2YDkSvtA.mjs → buildExamples-DLDlrgWE.mjs} +2 -2
  10. package/dist/{buildExamples-2YDkSvtA.mjs.map → buildExamples-DLDlrgWE.mjs.map} +1 -1
  11. package/dist/{buildXdiSyncEndpoint-B3zUrI16.mjs → buildXdiSyncEndpoint-uSDQEXT2.mjs} +2 -2
  12. package/dist/{buildXdiSyncEndpoint-B3zUrI16.mjs.map → buildXdiSyncEndpoint-uSDQEXT2.mjs.map} +1 -1
  13. package/dist/{bulkRestartRequests-BLb8OJmf.mjs → bulkRestartRequests-C4wyNZ65.mjs} +2 -2
  14. package/dist/{bulkRestartRequests-BLb8OJmf.mjs.map → bulkRestartRequests-C4wyNZ65.mjs.map} +1 -1
  15. package/dist/{bulkRetryEnrichers-BA9cboSe.mjs → bulkRetryEnrichers-VbIb-WIs.mjs} +2 -2
  16. package/dist/{bulkRetryEnrichers-BA9cboSe.mjs.map → bulkRetryEnrichers-VbIb-WIs.mjs.map} +1 -1
  17. package/dist/{cancelPrivacyRequests-BEyOBJ2r.mjs → cancelPrivacyRequests-Ds6HKabX.mjs} +2 -2
  18. package/dist/{cancelPrivacyRequests-BEyOBJ2r.mjs.map → cancelPrivacyRequests-Ds6HKabX.mjs.map} +1 -1
  19. package/dist/codecs-CTxFjCg4.mjs +2 -0
  20. package/dist/codecs-CTxFjCg4.mjs.map +1 -0
  21. package/dist/{collectCsvFilesOrExit-BqnmK63h.mjs → collectCsvFilesOrExit-B1VOVGWN.mjs} +1 -1
  22. package/dist/{collectCsvFilesOrExit-BqnmK63h.mjs.map → collectCsvFilesOrExit-B1VOVGWN.mjs.map} +1 -1
  23. package/dist/{collectParquetFilesOrExit-BiksFI-Q.mjs → collectParquetFilesOrExit-DVlv5ctt.mjs} +1 -1
  24. package/dist/{collectParquetFilesOrExit-BiksFI-Q.mjs.map → collectParquetFilesOrExit-DVlv5ctt.mjs.map} +1 -1
  25. package/dist/{command-eIenZMOx.mjs → command-BVK929yJ.mjs} +2 -2
  26. package/dist/{command-eIenZMOx.mjs.map → command-BVK929yJ.mjs.map} +1 -1
  27. package/dist/commands/admin/chunk-csv/worker.mjs +1 -1
  28. package/dist/commands/admin/parquet-to-csv/worker.mjs +1 -1
  29. package/dist/{consentManagersToBusinessEntities-O4KBox9u.mjs → consentManagersToBusinessEntities-CBJ81aGO.mjs} +1 -1
  30. package/dist/{consentManagersToBusinessEntities-O4KBox9u.mjs.map → consentManagersToBusinessEntities-CBJ81aGO.mjs.map} +1 -1
  31. package/dist/{constants-BpQ5awGp.mjs → constants-DXzsg2CQ.mjs} +2 -2
  32. package/dist/{constants-BpQ5awGp.mjs.map → constants-DXzsg2CQ.mjs.map} +1 -1
  33. package/dist/{constants-C1seVfCu.mjs → constants-D_HVDaOy.mjs} +1 -1
  34. package/dist/{constants-C1seVfCu.mjs.map → constants-D_HVDaOy.mjs.map} +1 -1
  35. package/dist/{constants-BG53Mbi9.mjs → constants-X60pMfSm.mjs} +2 -2
  36. package/dist/{constants-BG53Mbi9.mjs.map → constants-X60pMfSm.mjs.map} +1 -1
  37. package/dist/{context-CZYrQfAn.mjs → context-B33NT3ki.mjs} +1 -1
  38. package/dist/{context-CZYrQfAn.mjs.map → context-B33NT3ki.mjs.map} +1 -1
  39. package/dist/{createPoolingCommandUi-C39R_zo3.mjs → createPoolingCommandUi-Dr6Cmq63.mjs} +2 -2
  40. package/dist/{createPoolingCommandUi-C39R_zo3.mjs.map → createPoolingCommandUi-Dr6Cmq63.mjs.map} +1 -1
  41. package/dist/{dataFlowsToDataSilos-CLSHb1GA.mjs → dataFlowsToDataSilos-BF6fzWcm.mjs} +1 -1
  42. package/dist/{dataFlowsToDataSilos-CLSHb1GA.mjs.map → dataFlowsToDataSilos-BF6fzWcm.mjs.map} +1 -1
  43. package/dist/deno-runtime-DV52X8-P.mjs +2 -0
  44. package/dist/deno-runtime-DV52X8-P.mjs.map +1 -0
  45. package/dist/{done-input-validation-Cjk7a3jX.mjs → done-input-validation-BUz-aVC5.mjs} +1 -1
  46. package/dist/{done-input-validation-Cjk7a3jX.mjs.map → done-input-validation-BUz-aVC5.mjs.map} +1 -1
  47. package/dist/{downloadPrivacyRequestFiles-CLFgQItk.mjs → downloadPrivacyRequestFiles-BZjAtiKF.mjs} +2 -2
  48. package/dist/{downloadPrivacyRequestFiles-CLFgQItk.mjs.map → downloadPrivacyRequestFiles-BZjAtiKF.mjs.map} +1 -1
  49. package/dist/{extractClientError-C_6ly7Gw.mjs → extractClientError-HZ2U7yqV.mjs} +1 -1
  50. package/dist/{extractClientError-C_6ly7Gw.mjs.map → extractClientError-HZ2U7yqV.mjs.map} +1 -1
  51. package/dist/{fetchAllRequests-CEDKdq0c.mjs → fetchAllRequests-2TZr-LfT.mjs} +2 -2
  52. package/dist/{fetchAllRequests-CEDKdq0c.mjs.map → fetchAllRequests-2TZr-LfT.mjs.map} +1 -1
  53. package/dist/{formatPolicyBundleVersionSummary-CrFtcPwS.mjs → formatPolicyBundleVersionSummary-CJmMCLtJ.mjs} +1 -1
  54. package/dist/{formatPolicyBundleVersionSummary-CrFtcPwS.mjs.map → formatPolicyBundleVersionSummary-CJmMCLtJ.mjs.map} +1 -1
  55. package/dist/{fuzzyMatchColumns-OTsFJ21f.mjs → fuzzyMatchColumns-CQCzpjWC.mjs} +2 -2
  56. package/dist/{fuzzyMatchColumns-OTsFJ21f.mjs.map → fuzzyMatchColumns-CQCzpjWC.mjs.map} +1 -1
  57. package/dist/{generateCrossAccountApiKeys-D6O_Qm3Y.mjs → generateCrossAccountApiKeys-POFAc7bo.mjs} +2 -2
  58. package/dist/{generateCrossAccountApiKeys-D6O_Qm3Y.mjs.map → generateCrossAccountApiKeys-POFAc7bo.mjs.map} +1 -1
  59. package/dist/impl--JGnR3wp.mjs +3 -0
  60. package/dist/{impl-CzxvoiGW.mjs.map → impl--JGnR3wp.mjs.map} +1 -1
  61. package/dist/{impl-Drql0g72.mjs → impl-7UqkSO3x2.mjs} +2 -2
  62. package/dist/impl-7UqkSO3x2.mjs.map +1 -0
  63. package/dist/impl-B4BgGuF_.mjs +3 -0
  64. package/dist/impl-B4BgGuF_.mjs.map +1 -0
  65. package/dist/{impl-C50tdWlL2.mjs → impl-BDgc5PEC2.mjs} +2 -2
  66. package/dist/{impl-C50tdWlL2.mjs.map → impl-BDgc5PEC2.mjs.map} +1 -1
  67. package/dist/{impl-CXUJ1eRC.mjs → impl-BPoEH3Nf2.mjs} +2 -2
  68. package/dist/impl-BPoEH3Nf2.mjs.map +1 -0
  69. package/dist/impl-BPzANN8n.mjs +2 -0
  70. package/dist/{impl-C8BmxFQ2.mjs.map → impl-BPzANN8n.mjs.map} +1 -1
  71. package/dist/{impl-M3Eu4QjS.mjs → impl-BScGBm2o.mjs} +2 -2
  72. package/dist/{impl-M3Eu4QjS.mjs.map → impl-BScGBm2o.mjs.map} +1 -1
  73. package/dist/{impl-CE56-wQh.mjs → impl-BT0N2HwU.mjs} +2 -2
  74. package/dist/{impl-CE56-wQh.mjs.map → impl-BT0N2HwU.mjs.map} +1 -1
  75. package/dist/{impl-CDtUusmg.mjs → impl-BTff-yNX.mjs} +2 -2
  76. package/dist/{impl-CDtUusmg.mjs.map → impl-BTff-yNX.mjs.map} +1 -1
  77. package/dist/{impl-DXNcD7CZ.mjs → impl-BeHsB-Zk.mjs} +2 -2
  78. package/dist/{impl-DXNcD7CZ.mjs.map → impl-BeHsB-Zk.mjs.map} +1 -1
  79. package/dist/{impl-CQGeH47F.mjs → impl-Bg7zZ_F_.mjs} +2 -2
  80. package/dist/{impl-CQGeH47F.mjs.map → impl-Bg7zZ_F_.mjs.map} +1 -1
  81. package/dist/impl-Bguphgoc.mjs +2 -0
  82. package/dist/{impl-BsC1KVxS.mjs.map → impl-Bguphgoc.mjs.map} +1 -1
  83. package/dist/{impl-CWh9H7mL.mjs → impl-BkqQI3vZ.mjs} +2 -2
  84. package/dist/{impl-CWh9H7mL.mjs.map → impl-BkqQI3vZ.mjs.map} +1 -1
  85. package/dist/{impl-zZFaSmxd2.mjs → impl-BnvfuqEA2.mjs} +2 -2
  86. package/dist/{impl-zZFaSmxd2.mjs.map → impl-BnvfuqEA2.mjs.map} +1 -1
  87. package/dist/impl-C1xIUoJS.mjs +2 -0
  88. package/dist/impl-C1xIUoJS.mjs.map +1 -0
  89. package/dist/impl-C6HtWd1t.mjs +2 -0
  90. package/dist/{impl-BcJ019T2.mjs.map → impl-C6HtWd1t.mjs.map} +1 -1
  91. package/dist/impl-C8sWVJUG.mjs +2 -0
  92. package/dist/impl-C8sWVJUG.mjs.map +1 -0
  93. package/dist/{impl-KKrDTraf.mjs → impl-CE_nprLV.mjs} +2 -2
  94. package/dist/{impl-KKrDTraf.mjs.map → impl-CE_nprLV.mjs.map} +1 -1
  95. package/dist/{impl-CEmXPEq22.mjs → impl-CF0ts8Fz2.mjs} +2 -2
  96. package/dist/{impl-CEmXPEq22.mjs.map → impl-CF0ts8Fz2.mjs.map} +1 -1
  97. package/dist/impl-CMK8Qm_I2.mjs +303 -0
  98. package/dist/impl-CMK8Qm_I2.mjs.map +1 -0
  99. package/dist/{impl-BvNZqLrT.mjs → impl-CO4ZqlLV.mjs} +2 -2
  100. package/dist/{impl-BvNZqLrT.mjs.map → impl-CO4ZqlLV.mjs.map} +1 -1
  101. package/dist/{impl-DJLlcqSg.mjs → impl-COujMWgp.mjs} +2 -2
  102. package/dist/{impl-DJLlcqSg.mjs.map → impl-COujMWgp.mjs.map} +1 -1
  103. package/dist/{impl-Bs-drNBf.mjs → impl-CPSEzCc9.mjs} +2 -2
  104. package/dist/{impl-Bs-drNBf.mjs.map → impl-CPSEzCc9.mjs.map} +1 -1
  105. package/dist/{impl-Dib6Fff12.mjs → impl-CQtMFz1O.mjs} +2 -2
  106. package/dist/impl-CQtMFz1O.mjs.map +1 -0
  107. package/dist/{impl-B--lr5RJ2.mjs → impl-CSRal4Rj2.mjs} +2 -2
  108. package/dist/{impl-B--lr5RJ2.mjs.map → impl-CSRal4Rj2.mjs.map} +1 -1
  109. package/dist/{impl-DYf10-BD2.mjs → impl-CSmFd6iO2.mjs} +2 -2
  110. package/dist/{impl-DYf10-BD2.mjs.map → impl-CSmFd6iO2.mjs.map} +1 -1
  111. package/dist/{impl-B3_hrFPX.mjs → impl-CUOVJsRg.mjs} +2 -2
  112. package/dist/{impl-B3_hrFPX.mjs.map → impl-CUOVJsRg.mjs.map} +1 -1
  113. package/dist/{impl-BySmbxEt.mjs → impl-CUiYbk6G.mjs} +2 -2
  114. package/dist/{impl-BySmbxEt.mjs.map → impl-CUiYbk6G.mjs.map} +1 -1
  115. package/dist/{impl-BFJtKA2o2.mjs → impl-CfMrFWb_.mjs} +2 -2
  116. package/dist/impl-CfMrFWb_.mjs.map +1 -0
  117. package/dist/{impl-Cx3T0Iei.mjs → impl-CfvxD3RI.mjs} +2 -2
  118. package/dist/{impl-Cx3T0Iei.mjs.map → impl-CfvxD3RI.mjs.map} +1 -1
  119. package/dist/{impl-DHfYO9T52.mjs → impl-Cli2XRp02.mjs} +2 -2
  120. package/dist/{impl-DHfYO9T52.mjs.map → impl-Cli2XRp02.mjs.map} +1 -1
  121. package/dist/{impl-C5dzaDga2.mjs → impl-DInF5q00.mjs} +2 -2
  122. package/dist/impl-DInF5q00.mjs.map +1 -0
  123. package/dist/{impl-BWVe4VGF2.mjs → impl-DKNJFnFv2.mjs} +2 -2
  124. package/dist/{impl-BWVe4VGF2.mjs.map → impl-DKNJFnFv2.mjs.map} +1 -1
  125. package/dist/{impl-DOoR93T6.mjs → impl-DKepRc812.mjs} +2 -2
  126. package/dist/impl-DKepRc812.mjs.map +1 -0
  127. package/dist/{impl-CqF9xIIy.mjs → impl-DOuVyX0O.mjs} +2 -2
  128. package/dist/{impl-CqF9xIIy.mjs.map → impl-DOuVyX0O.mjs.map} +1 -1
  129. package/dist/{impl-DzNk41xd.mjs → impl-DPtx5iZO.mjs} +2 -2
  130. package/dist/{impl-DzNk41xd.mjs.map → impl-DPtx5iZO.mjs.map} +1 -1
  131. package/dist/{impl-BqrSLoig.mjs → impl-DRW2qfyk.mjs} +2 -2
  132. package/dist/{impl-BqrSLoig.mjs.map → impl-DRW2qfyk.mjs.map} +1 -1
  133. package/dist/{impl-syp5hclX.mjs → impl-DRpK-QLC.mjs} +2 -2
  134. package/dist/{impl-syp5hclX.mjs.map → impl-DRpK-QLC.mjs.map} +1 -1
  135. package/dist/{impl-DYwojWvN.mjs → impl-DVeGQCrr.mjs} +2 -2
  136. package/dist/{impl-DYwojWvN.mjs.map → impl-DVeGQCrr.mjs.map} +1 -1
  137. package/dist/{impl-DF8RGVlT.mjs → impl-DXRDWiB1.mjs} +2 -2
  138. package/dist/{impl-DF8RGVlT.mjs.map → impl-DXRDWiB1.mjs.map} +1 -1
  139. package/dist/{impl-CiYKuCHV.mjs → impl-DXowiNOz.mjs} +2 -2
  140. package/dist/{impl-CiYKuCHV.mjs.map → impl-DXowiNOz.mjs.map} +1 -1
  141. package/dist/{impl-DpuhHpuk.mjs → impl-DaH1_ZzK.mjs} +2 -2
  142. package/dist/{impl-DpuhHpuk.mjs.map → impl-DaH1_ZzK.mjs.map} +1 -1
  143. package/dist/{impl-DIPvFKiP.mjs → impl-DdIa0zla.mjs} +2 -2
  144. package/dist/{impl-DIPvFKiP.mjs.map → impl-DdIa0zla.mjs.map} +1 -1
  145. package/dist/{impl-Bq6g_xYv.mjs → impl-DkHzw1nR.mjs} +2 -2
  146. package/dist/{impl-Bq6g_xYv.mjs.map → impl-DkHzw1nR.mjs.map} +1 -1
  147. package/dist/{impl-DbZ1cYoR.mjs → impl-DqhZR11m.mjs} +2 -2
  148. package/dist/{impl-DbZ1cYoR.mjs.map → impl-DqhZR11m.mjs.map} +1 -1
  149. package/dist/{impl-VPBEqV0w2.mjs → impl-Dqqb0lVN.mjs} +2 -2
  150. package/dist/impl-Dqqb0lVN.mjs.map +1 -0
  151. package/dist/{impl-6m7GXUAe.mjs → impl-DryC3OJu.mjs} +2 -2
  152. package/dist/{impl-6m7GXUAe.mjs.map → impl-DryC3OJu.mjs.map} +1 -1
  153. package/dist/{impl-amV0wRWk.mjs → impl-Dv8ecMWN.mjs} +2 -2
  154. package/dist/{impl-amV0wRWk.mjs.map → impl-Dv8ecMWN.mjs.map} +1 -1
  155. package/dist/{impl-CfPXYgT42.mjs → impl-DzUTmaID2.mjs} +2 -2
  156. package/dist/{impl-CfPXYgT42.mjs.map → impl-DzUTmaID2.mjs.map} +1 -1
  157. package/dist/{impl-Dm-Fkr392.mjs → impl-IFoIxW9s.mjs} +2 -2
  158. package/dist/impl-IFoIxW9s.mjs.map +1 -0
  159. package/dist/{impl-BJlKQJdS2.mjs → impl-WxoE0bN_.mjs} +2 -2
  160. package/dist/impl-WxoE0bN_.mjs.map +1 -0
  161. package/dist/impl-Z8oWVENM.mjs +2 -0
  162. package/dist/impl-Z8oWVENM.mjs.map +1 -0
  163. package/dist/{impl-CHmjV-Pa.mjs → impl-Z_ZuLfFK.mjs} +2 -2
  164. package/dist/{impl-CHmjV-Pa.mjs.map → impl-Z_ZuLfFK.mjs.map} +1 -1
  165. package/dist/{impl-BwRcpAno.mjs → impl-_erU3Uzt2.mjs} +2 -2
  166. package/dist/impl-_erU3Uzt2.mjs.map +1 -0
  167. package/dist/{impl-m3QXCc6n.mjs → impl-a_Y8bnSn.mjs} +4 -4
  168. package/dist/impl-a_Y8bnSn.mjs.map +1 -0
  169. package/dist/{impl-BewF8tB6.mjs → impl-dXDmiiG6.mjs} +2 -2
  170. package/dist/{impl-BewF8tB6.mjs.map → impl-dXDmiiG6.mjs.map} +1 -1
  171. package/dist/{impl-BYGNx-8W2.mjs → impl-lcLJ4Wp-.mjs} +2 -2
  172. package/dist/impl-lcLJ4Wp-.mjs.map +1 -0
  173. package/dist/{impl-CTIWliTx.mjs → impl-nvYE0p_K.mjs} +2 -2
  174. package/dist/{impl-CTIWliTx.mjs.map → impl-nvYE0p_K.mjs.map} +1 -1
  175. package/dist/{impl-Dk6TZKrp2.mjs → impl-xKt-NwTT.mjs} +2 -2
  176. package/dist/impl-xKt-NwTT.mjs.map +1 -0
  177. package/dist/{impl-GHukPBnk.mjs → impl-ymZeayvp.mjs} +2 -2
  178. package/dist/{impl-GHukPBnk.mjs.map → impl-ymZeayvp.mjs.map} +1 -1
  179. package/dist/index.d.mts +12797 -1840
  180. package/dist/index.d.mts.map +1 -1
  181. package/dist/index.mjs +3 -3
  182. package/dist/index.mjs.map +1 -1
  183. package/dist/{initializeCliRuntime-802-P8MC.mjs → initializeCliRuntime-6wI_VIHV.mjs} +1 -1
  184. package/dist/{initializeCliRuntime-802-P8MC.mjs.map → initializeCliRuntime-6wI_VIHV.mjs.map} +1 -1
  185. package/dist/{inquirer-DkFTQU00.mjs → inquirer-BeaBetMO.mjs} +2 -2
  186. package/dist/{inquirer-DkFTQU00.mjs.map → inquirer-BeaBetMO.mjs.map} +1 -1
  187. package/dist/jsonc-D9dDWb1J.mjs +6 -0
  188. package/dist/jsonc-D9dDWb1J.mjs.map +1 -0
  189. package/dist/{listFiles-CWHAdKY-.mjs → listFiles-BdFUbX5x.mjs} +1 -1
  190. package/dist/{listFiles-CWHAdKY-.mjs.map → listFiles-BdFUbX5x.mjs.map} +1 -1
  191. package/dist/logger-zplFSeXU.mjs +2 -0
  192. package/dist/logger-zplFSeXU.mjs.map +1 -0
  193. package/dist/manifest-BNIpO_zW.mjs +2 -0
  194. package/dist/manifest-BNIpO_zW.mjs.map +1 -0
  195. package/dist/{mapConsentCsvRowsToInputs-MMPZwzrV.mjs → mapConsentCsvRowsToInputs-Dqb6WL4r.mjs} +1 -1
  196. package/dist/{mapConsentCsvRowsToInputs-MMPZwzrV.mjs.map → mapConsentCsvRowsToInputs-Dqb6WL4r.mjs.map} +1 -1
  197. package/dist/{markRequestDataSiloIdsCompleted-PKCcn5wQ.mjs → markRequestDataSiloIdsCompleted-2DHClQ32.mjs} +2 -2
  198. package/dist/{markRequestDataSiloIdsCompleted-PKCcn5wQ.mjs.map → markRequestDataSiloIdsCompleted-2DHClQ32.mjs.map} +1 -1
  199. package/dist/{markSilentPrivacyRequests-7l9I99pe.mjs → markSilentPrivacyRequests-BUYzKbhW.mjs} +2 -2
  200. package/dist/{markSilentPrivacyRequests-7l9I99pe.mjs.map → markSilentPrivacyRequests-BUYzKbhW.mjs.map} +1 -1
  201. package/dist/mergeTranscendInputs-DFQcbh8b.mjs +3 -0
  202. package/dist/mergeTranscendInputs-DFQcbh8b.mjs.map +1 -0
  203. package/dist/missing-manifest-DgcukXfg.mjs +2 -0
  204. package/dist/missing-manifest-DgcukXfg.mjs.map +1 -0
  205. package/dist/{module-graph-DBC7ZvyA.mjs → module-graph-Cb0g74Ft.mjs} +1 -1
  206. package/dist/{module-graph-DBC7ZvyA.mjs.map → module-graph-Cb0g74Ft.mjs.map} +1 -1
  207. package/dist/{notifyPrivacyRequestsAdditionalTime-BPIYuCov.mjs → notifyPrivacyRequestsAdditionalTime-G8IZ0Ooy.mjs} +2 -2
  208. package/dist/{notifyPrivacyRequestsAdditionalTime-BPIYuCov.mjs.map → notifyPrivacyRequestsAdditionalTime-G8IZ0Ooy.mjs.map} +1 -1
  209. package/dist/{parquetToCsvOneFile-CSVdrLvq.mjs → parquetToCsvOneFile-ChmPC6dL.mjs} +2 -2
  210. package/dist/{parquetToCsvOneFile-CSVdrLvq.mjs.map → parquetToCsvOneFile-ChmPC6dL.mjs.map} +1 -1
  211. package/dist/{parseAttributesFromString-C5-KGkPH.mjs → parseAttributesFromString-CO16oAlx.mjs} +2 -2
  212. package/dist/{parseAttributesFromString-C5-KGkPH.mjs.map → parseAttributesFromString-CO16oAlx.mjs.map} +1 -1
  213. package/dist/{parseVariablesFromString-Cr3x2uq3.mjs → parseVariablesFromString-BOSfQ4QF.mjs} +1 -1
  214. package/dist/{parseVariablesFromString-Cr3x2uq3.mjs.map → parseVariablesFromString-BOSfQ4QF.mjs.map} +1 -1
  215. package/dist/path-safety-D5Qwl40b.mjs +2 -0
  216. package/dist/path-safety-D5Qwl40b.mjs.map +1 -0
  217. package/dist/policy-bundle-manifest-D6dkbjNi.mjs +7 -0
  218. package/dist/policy-bundle-manifest-D6dkbjNi.mjs.map +1 -0
  219. package/dist/policy-runtime-BMKa-Upy.mjs +2 -0
  220. package/dist/policy-runtime-BMKa-Upy.mjs.map +1 -0
  221. package/dist/{printResult-esxW3HhT.mjs → printResult-CHe3nRN4.mjs} +5 -5
  222. package/dist/printResult-CHe3nRN4.mjs.map +1 -0
  223. package/dist/project-plan-apply-Dvndx455.mjs +3 -0
  224. package/dist/project-plan-apply-Dvndx455.mjs.map +1 -0
  225. package/dist/prompts-ClBXdELk.mjs +4 -0
  226. package/dist/prompts-ClBXdELk.mjs.map +1 -0
  227. package/dist/{pullAllDatapoints-H92qjLSx.mjs → pullAllDatapoints-uk5ggk6O.mjs} +2 -2
  228. package/dist/{pullAllDatapoints-H92qjLSx.mjs.map → pullAllDatapoints-uk5ggk6O.mjs.map} +1 -1
  229. package/dist/{pullChunkedCustomSiloOutstandingIdentifiers-BrDmPbvc.mjs → pullChunkedCustomSiloOutstandingIdentifiers-BxolFAfF.mjs} +2 -2
  230. package/dist/{pullChunkedCustomSiloOutstandingIdentifiers-BrDmPbvc.mjs.map → pullChunkedCustomSiloOutstandingIdentifiers-BxolFAfF.mjs.map} +1 -1
  231. package/dist/{pullConsentManagerMetrics-Cvex-gpd.mjs → pullConsentManagerMetrics-Dv5n1ZGp.mjs} +2 -2
  232. package/dist/{pullConsentManagerMetrics-Cvex-gpd.mjs.map → pullConsentManagerMetrics-Dv5n1ZGp.mjs.map} +1 -1
  233. package/dist/{pullManualEnrichmentIdentifiersToCsv-qjdNA75O.mjs → pullManualEnrichmentIdentifiersToCsv-DcLZeqF2.mjs} +2 -2
  234. package/dist/{pullManualEnrichmentIdentifiersToCsv-qjdNA75O.mjs.map → pullManualEnrichmentIdentifiersToCsv-DcLZeqF2.mjs.map} +1 -1
  235. package/dist/{pullTranscendConfiguration-CD7Frn8z.mjs → pullTranscendConfiguration-B63M3ild.mjs} +3 -3
  236. package/dist/{pullTranscendConfiguration-CD7Frn8z.mjs.map → pullTranscendConfiguration-B63M3ild.mjs.map} +1 -1
  237. package/dist/{pullUnstructuredSubDataPointRecommendations-Dmh_-r95.mjs → pullUnstructuredSubDataPointRecommendations-YTBzfkRZ.mjs} +2 -2
  238. package/dist/{pullUnstructuredSubDataPointRecommendations-Dmh_-r95.mjs.map → pullUnstructuredSubDataPointRecommendations-YTBzfkRZ.mjs.map} +1 -1
  239. package/dist/{pushCronIdentifiersFromCsv-DjeY7TtK.mjs → pushCronIdentifiersFromCsv-CVTCk6s3.mjs} +2 -2
  240. package/dist/{pushCronIdentifiersFromCsv-DjeY7TtK.mjs.map → pushCronIdentifiersFromCsv-CVTCk6s3.mjs.map} +1 -1
  241. package/dist/{pushManualEnrichmentIdentifiersFromCsv-BDtMo13j.mjs → pushManualEnrichmentIdentifiersFromCsv-BIkBbKfs.mjs} +2 -2
  242. package/dist/{pushManualEnrichmentIdentifiersFromCsv-BDtMo13j.mjs.map → pushManualEnrichmentIdentifiersFromCsv-BIkBbKfs.mjs.map} +1 -1
  243. package/dist/{readCsv-Cr_1t8F5.mjs → readCsv-DLg8pwjd.mjs} +1 -1
  244. package/dist/{readCsv-Cr_1t8F5.mjs.map → readCsv-DLg8pwjd.mjs.map} +1 -1
  245. package/dist/readTranscendYaml-BNn6-Ofi.mjs +4 -0
  246. package/dist/readTranscendYaml-BNn6-Ofi.mjs.map +1 -0
  247. package/dist/{removeUnverifiedRequestIdentifiers-B9uPApVR.mjs → removeUnverifiedRequestIdentifiers-CzEvT_WR.mjs} +2 -2
  248. package/dist/{removeUnverifiedRequestIdentifiers-B9uPApVR.mjs.map → removeUnverifiedRequestIdentifiers-CzEvT_WR.mjs.map} +1 -1
  249. package/dist/{renderTable-DKTZbMjY.mjs → renderTable-D68QasPc.mjs} +1 -1
  250. package/dist/{renderTable-DKTZbMjY.mjs.map → renderTable-D68QasPc.mjs.map} +1 -1
  251. package/dist/{request-B1yRTdG-.mjs → request-BiPv6jmP.mjs} +1 -1
  252. package/dist/{request-B1yRTdG-.mjs.map → request-BiPv6jmP.mjs.map} +1 -1
  253. package/dist/{resolveBundleIdByName-DuxWYrDF.mjs → resolveBundleIdByName-qXZBrUz_.mjs} +2 -2
  254. package/dist/{resolveBundleIdByName-DuxWYrDF.mjs.map → resolveBundleIdByName-qXZBrUz_.mjs.map} +1 -1
  255. package/dist/{resolvePolicyBundleVersion-DhXZKwb4.mjs → resolvePolicyBundleVersion-BG7XqBBP.mjs} +2 -2
  256. package/dist/{resolvePolicyBundleVersion-DhXZKwb4.mjs.map → resolvePolicyBundleVersion-BG7XqBBP.mjs.map} +1 -1
  257. package/dist/{retryRequestDataSilos-D9dBtbdl.mjs → retryRequestDataSilos-C2csdZmC.mjs} +2 -2
  258. package/dist/{retryRequestDataSilos-D9dBtbdl.mjs.map → retryRequestDataSilos-C2csdZmC.mjs.map} +1 -1
  259. package/dist/{run-captured-process-CpZBh0lG.mjs → run-captured-process-BXwWXuTh.mjs} +1 -1
  260. package/dist/{run-captured-process-CpZBh0lG.mjs.map → run-captured-process-BXwWXuTh.mjs.map} +1 -1
  261. package/dist/runOpa-CswzJxIs.mjs +2 -0
  262. package/dist/runOpa-CswzJxIs.mjs.map +1 -0
  263. package/dist/scaffold-model-BAbYTR0q.mjs +2 -0
  264. package/dist/scaffold-model-BAbYTR0q.mjs.map +1 -0
  265. package/dist/scaffold-planning-CNv83t_v.mjs +123 -0
  266. package/dist/scaffold-planning-CNv83t_v.mjs.map +1 -0
  267. package/dist/scaffold-templates-DzDGTZie.mjs +84 -0
  268. package/dist/scaffold-templates-DzDGTZie.mjs.map +1 -0
  269. package/dist/{skipPreflightJobs-Beia_iB6.mjs → skipPreflightJobs-CB_lGpri.mjs} +2 -2
  270. package/dist/{skipPreflightJobs-Beia_iB6.mjs.map → skipPreflightJobs-CB_lGpri.mjs.map} +1 -1
  271. package/dist/{skipRequestDataSilos-BSNLacnR.mjs → skipRequestDataSilos-Bf85wXUC.mjs} +2 -2
  272. package/dist/{skipRequestDataSilos-BSNLacnR.mjs.map → skipRequestDataSilos-Bf85wXUC.mjs.map} +1 -1
  273. package/dist/{streamPrivacyRequestsToCsv-Cksb9D49.mjs → streamPrivacyRequestsToCsv-CPwLKjTm.mjs} +2 -2
  274. package/dist/{streamPrivacyRequestsToCsv-Cksb9D49.mjs.map → streamPrivacyRequestsToCsv-CPwLKjTm.mjs.map} +1 -1
  275. package/dist/{syncCodePackages-DsC1tE8B.mjs → syncCodePackages-BHE2Tn1Q.mjs} +2 -2
  276. package/dist/{syncCodePackages-DsC1tE8B.mjs.map → syncCodePackages-BHE2Tn1Q.mjs.map} +1 -1
  277. package/dist/{updateConsentManagerVersionToLatest-CaEkTnlL.mjs → updateConsentManagerVersionToLatest-ikIE5dHp.mjs} +2 -2
  278. package/dist/{updateConsentManagerVersionToLatest-CaEkTnlL.mjs.map → updateConsentManagerVersionToLatest-ikIE5dHp.mjs.map} +1 -1
  279. package/dist/{uploadConsents-CNyuYx0o.mjs → uploadConsents-BrWpoV6_.mjs} +2 -2
  280. package/dist/{uploadConsents-CNyuYx0o.mjs.map → uploadConsents-BrWpoV6_.mjs.map} +1 -1
  281. package/dist/{uploadPrivacyRequestsFromCsv-BdTQOZnF.mjs → uploadPrivacyRequestsFromCsv-BuB0-XpH.mjs} +2 -2
  282. package/dist/{uploadPrivacyRequestsFromCsv-BdTQOZnF.mjs.map → uploadPrivacyRequestsFromCsv-BuB0-XpH.mjs.map} +1 -1
  283. package/dist/{validateTranscendAuth-CnHMn77m.mjs → validateTranscendAuth-D6Wr1cxY.mjs} +2 -2
  284. package/dist/{validateTranscendAuth-CnHMn77m.mjs.map → validateTranscendAuth-D6Wr1cxY.mjs.map} +1 -1
  285. package/dist/{writeCsv-D46aDkGf.mjs → writeCsv-D-2siSwE.mjs} +1 -1
  286. package/dist/{writeCsv-D46aDkGf.mjs.map → writeCsv-D-2siSwE.mjs.map} +1 -1
  287. package/package.json +8 -7
  288. package/dist/app-DCY8E776.mjs.map +0 -1
  289. package/dist/codecs-BsQFAFGT.mjs +0 -2
  290. package/dist/codecs-BsQFAFGT.mjs.map +0 -1
  291. package/dist/constants-BMAOvdcA.mjs +0 -2
  292. package/dist/constants-BMAOvdcA.mjs.map +0 -1
  293. package/dist/deno-runtime-QqwBDKXX.mjs +0 -2
  294. package/dist/deno-runtime-QqwBDKXX.mjs.map +0 -1
  295. package/dist/impl-BFJtKA2o2.mjs.map +0 -1
  296. package/dist/impl-BJlKQJdS2.mjs.map +0 -1
  297. package/dist/impl-BNPgYSBT.mjs +0 -3
  298. package/dist/impl-BNPgYSBT.mjs.map +0 -1
  299. package/dist/impl-BYGNx-8W2.mjs.map +0 -1
  300. package/dist/impl-BcJ019T2.mjs +0 -2
  301. package/dist/impl-BsC1KVxS.mjs +0 -2
  302. package/dist/impl-BwRcpAno.mjs.map +0 -1
  303. package/dist/impl-C5dzaDga2.mjs.map +0 -1
  304. package/dist/impl-C8BmxFQ2.mjs +0 -2
  305. package/dist/impl-CXUJ1eRC.mjs.map +0 -1
  306. package/dist/impl-CzxvoiGW.mjs +0 -3
  307. package/dist/impl-D-SQJc3t.mjs +0 -2
  308. package/dist/impl-D-SQJc3t.mjs.map +0 -1
  309. package/dist/impl-D23kJPAQ2.mjs +0 -3
  310. package/dist/impl-D23kJPAQ2.mjs.map +0 -1
  311. package/dist/impl-DOoR93T6.mjs.map +0 -1
  312. package/dist/impl-Dib6Fff12.mjs.map +0 -1
  313. package/dist/impl-Dk6TZKrp2.mjs.map +0 -1
  314. package/dist/impl-Dm-Fkr392.mjs.map +0 -1
  315. package/dist/impl-Drql0g72.mjs.map +0 -1
  316. package/dist/impl-FLj_mWLO.mjs +0 -2
  317. package/dist/impl-FLj_mWLO.mjs.map +0 -1
  318. package/dist/impl-VPBEqV0w2.mjs.map +0 -1
  319. package/dist/impl-m3QXCc6n.mjs.map +0 -1
  320. package/dist/logger-9T6vva73.mjs +0 -2
  321. package/dist/logger-9T6vva73.mjs.map +0 -1
  322. package/dist/manifest-DVuW_vvO.mjs +0 -2
  323. package/dist/manifest-DVuW_vvO.mjs.map +0 -1
  324. package/dist/mergeTranscendInputs-CWHXH0kF.mjs +0 -3
  325. package/dist/mergeTranscendInputs-CWHXH0kF.mjs.map +0 -1
  326. package/dist/missing-manifest-BKj1j-jg.mjs +0 -2
  327. package/dist/missing-manifest-BKj1j-jg.mjs.map +0 -1
  328. package/dist/printResult-esxW3HhT.mjs.map +0 -1
  329. package/dist/project-plan-apply-C2DfikVN.mjs +0 -3
  330. package/dist/project-plan-apply-C2DfikVN.mjs.map +0 -1
  331. package/dist/readTranscendYaml-STYnRzq-.mjs +0 -4
  332. package/dist/readTranscendYaml-STYnRzq-.mjs.map +0 -1
  333. package/dist/runOpa-CkKAwsvB.mjs +0 -2
  334. package/dist/runOpa-CkKAwsvB.mjs.map +0 -1
  335. package/dist/scaffold-planning-DMACXSnX.mjs +0 -121
  336. package/dist/scaffold-planning-DMACXSnX.mjs.map +0 -1
  337. package/dist/scaffold-templates-CsHM1y80.mjs +0 -84
  338. package/dist/scaffold-templates-CsHM1y80.mjs.map +0 -1
package/README.md CHANGED
@@ -65,6 +65,7 @@ A command line interface that allows you to programatically interact with the Tr
65
65
  - [`transcend policy deactivate`](#transcend-policy-deactivate)
66
66
  - [`transcend policy download`](#transcend-policy-download)
67
67
  - [`transcend policy eval`](#transcend-policy-eval)
68
+ - [`transcend policy init`](#transcend-policy-init)
68
69
  - [`transcend policy lint`](#transcend-policy-lint)
69
70
  - [`transcend policy bundles`](#transcend-policy-bundles)
70
71
  - [`transcend policy publish`](#transcend-policy-publish)
@@ -131,13 +132,13 @@ api-keys:
131
132
 
132
133
  # Manage at: https://app.transcend.io/privacy-requests/identifiers
133
134
  # See https://docs.transcend.io/docs/identity-enrichment
134
- # Define enricher or pre-flight check webhooks that will be executed
135
+ # Define preflight check webhooks that will be executed
135
136
  # prior to privacy request workflows. Some examples may include:
136
137
  # - identity enrichment: look up additional identifiers for that user.
137
138
  # i.e. map an email address to a user ID
138
139
  # - fraud check: auto-cancel requests if the user is flagged for fraudulent behavior
139
140
  # - customer check: auto-cancel request for some custom business criteria
140
- enrichers:
141
+ preflights:
141
142
  - title: Basic Identity Enrichment
142
143
  description: Enrich an email address to the userId and phone number
143
144
  url: https://example.acme.com/transcend-enrichment-webhook
@@ -2545,12 +2546,12 @@ USAGE
2545
2546
  transcend custom-functions new [--manifest value] [--name value] [--template general|dsr-datapoint|dsr-enricher|dsr-both] [--noInteractive] [--dryRun] [--yes] [--json] [<directory>]
2546
2547
  transcend custom-functions new --help
2547
2548
 
2548
- Adds a deterministic General or DSR starter to an initialized Custom Function project and safely appends its manifest entry without credentials.
2549
+ Adds a deterministic starter for one of two Custom Function types: General functions triggered by Rules Automation, or DSR functions triggered by a Workflow step and supporting data point resolvers, preflight checks, or both.
2549
2550
 
2550
2551
  FLAGS
2551
2552
  [--manifest] Path to an existing transcend-functions.yml
2552
2553
  [--name] Customer-visible Custom Function display name
2553
- [--template] Generated handler and fixture shape [general|dsr-datapoint|dsr-enricher|dsr-both]
2554
+ [--template] Function type and generated handler shape [general|dsr-datapoint|dsr-enricher|dsr-both]
2554
2555
  [--noInteractive] Disable prompts and require every missing answer as a flag [default = false]
2555
2556
  [--dryRun] Preview all changes without writing files [default = false]
2556
2557
  [--yes] Skip only the final plan confirmation [default = false]
@@ -2571,7 +2572,7 @@ transcend custom-functions new ./transcend/custom-functions \
2571
2572
  --yes
2572
2573
  ```
2573
2574
 
2574
- Run `transcend custom-functions init` once before adding functions. The four templates are `general`, `dsr-datapoint`, `dsr-enricher`, and `dsr-both`. Without a directory argument, `new` uses the initialized project at `transcend/custom-functions`. If that manifest is missing, it reports any other project manifest it discovers as an explicit suggestion.
2575
+ Run `transcend custom-functions init` once before adding functions. The interactive flow first asks for the Custom Function type: General functions are triggered by Rules Automation, while DSR functions are triggered by a step in a Workflow. General currently has one template, so selecting it continues immediately. Selecting DSR opens a second prompt: choose `dsr-datapoint` for a data point resolver, `dsr-enricher` for a preflight check, or `dsr-both` to support both. The `dsr-enricher` flag retains the API's technical export name, but the user-facing workflow is called preflight. Without a directory argument, `new` uses the initialized project at `transcend/custom-functions`. If that manifest is missing, it reports any other project manifest it discovers as an explicit suggestion.
2575
2576
 
2576
2577
  Generated code contains only the selected handler exports and focused TODOs. Customer-specific API and mapping choices remain for the developer or the installed `transcend-custom-functions` skill. The final output includes a short, copyable AI handoff naming the generated source and validation command.
2577
2578
 
@@ -2901,7 +2902,7 @@ The API key permissions for this command vary based on the `resources` argument:
2901
2902
  | `customFields` | `attributes` | Custom Field definitions that define extra metadata for each table in the Admin Dashboard. | View Global Attributes | [Custom Fields](https://app.transcend.io/infrastructure/attributes) |
2902
2903
  | `templates` | `templates` | Email templates. Only template titles can be created and mapped to other resources. | View Email Templates | [DSR Automation -> Email Settings -> Templates](https://app.transcend.io/privacy-requests/email-settings/templates) |
2903
2904
  | `dataSilos` | `data-silos` | The Data System (formerly "Data Silo") definitions. | View Data Map, View Data Subject Request Settings, View API Keys | [Data Inventory -> Data Systems](https://app.transcend.io/data-map/data-inventory/data-silos)<br>[Infrastructure -> Integrations](https://app.transcend.io/infrastructure/integrations) |
2904
- | `enrichers` | `enrichers` | The Privacy Request enricher configurations. | View Identity Verification Settings | [DSR Automation -> Identifiers](https://app.transcend.io/privacy-requests/identifiers) |
2905
+ | `enrichers` | `preflights` | The Privacy Request preflight check configurations (formerly "enrichers"). | View Identity Verification Settings | [DSR Automation -> Identifiers](https://app.transcend.io/privacy-requests/identifiers) |
2905
2906
  | `dataFlows` | `data-flows` | Consent Manager Data Flow definitions. | View Data Flows | [Consent Management -> Data Flows](https://app.transcend.io/consent-manager/data-flows/approved) |
2906
2907
  | `businessEntities` | `business-entities` | The business entities in the Data Inventory. | View Data Inventory | [Data Inventory -> Business Entities](https://app.transcend.io/data-map/data-inventory/business-entities) |
2907
2908
  | `processingActivities` | `processing-activities` | The processing activities in the Data Inventory. | View Data Inventory | [Data Inventory -> Processing Activities](https://app.transcend.io/data-map/data-inventory/processing-activities) |
@@ -3005,7 +3006,7 @@ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=businessEntitie
3005
3006
  transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=processingActivities
3006
3007
  ```
3007
3008
 
3008
- **Pull enrichers and identifiers (see [this example](./examples/enrichers.yml))**
3009
+ **Pull preflight checks and identifiers (see [this example](./examples/preflights.yml))**
3009
3010
 
3010
3011
  ```sh
3011
3012
  transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=enrichers,identifiers
@@ -3110,7 +3111,7 @@ The API key permissions for this command vary based on the resources declared as
3110
3111
  | `customFields` | `attributes` | Custom Field definitions that define extra metadata for each table in the Admin Dashboard. | Manage Global Attributes | [Custom Fields](https://app.transcend.io/infrastructure/attributes) |
3111
3112
  | `templates` | `templates` | Email templates. Only template titles can be created and mapped to other resources. | Manage Email Templates | [DSR Automation -> Email Settings -> Templates](https://app.transcend.io/privacy-requests/email-settings/templates) |
3112
3113
  | `dataSilos` | `data-silos` | The Data System (formerly "Data Silo") definitions. | Manage Data Map, Connect Data Silos, View API Keys | [Data Inventory -> Data Systems](https://app.transcend.io/data-map/data-inventory/data-silos)<br>[Infrastructure -> Integrations](https://app.transcend.io/infrastructure/integrations) |
3113
- | `enrichers` | `enrichers` | The Privacy Request enricher configurations. | Manage Request Identity Verification | [DSR Automation -> Identifiers](https://app.transcend.io/privacy-requests/identifiers) |
3114
+ | `enrichers` | `preflights` | The Privacy Request preflight check configurations (formerly "enrichers"). | Manage Request Identity Verification | [DSR Automation -> Identifiers](https://app.transcend.io/privacy-requests/identifiers) |
3114
3115
  | `dataFlows` | `data-flows` | Consent Manager Data Flow definitions. | Manage Data Flows | [Consent Management -> Data Flows](https://app.transcend.io/consent-manager/data-flows/approved) |
3115
3116
  | `businessEntities` | `business-entities` | The business entities in the Data Inventory. | Manage Data Inventory | [Data Inventory -> Business Entities](https://app.transcend.io/data-map/data-inventory/business-entities) |
3116
3117
  | `processingActivities` | `processing-activities` | The processing activities in the Data Inventory. | Manage Data Map | [Data Inventory -> Processing Activities](https://app.transcend.io/data-map/data-inventory/processing-activities) |
@@ -3307,7 +3308,7 @@ This command can fill out multiple variables in a YAML file like [./examples/mul
3307
3308
  ```yml
3308
3309
  api-keys:
3309
3310
  - title: Webhook Key
3310
- enrichers:
3311
+ preflights:
3311
3312
  - title: Basic Identity Enrichment
3312
3313
  description: Enrich an email address to the userId and phone number
3313
3314
  # The data silo webhook URL is the same in each environment,
@@ -4299,26 +4300,91 @@ FLAGS
4299
4300
  transcend policy eval --pkg=data.transcend.decision --input=./fixtures/envelope.json --bundle=./policies
4300
4301
  ```
4301
4302
 
4303
+ ### `transcend policy init`
4304
+
4305
+ ```txt
4306
+ USAGE
4307
+ transcend policy init [--editor] [--skill] [--ci] [--noInteractive] [--dryRun] [--yes] [--json] [<directory>]
4308
+ transcend policy init --help
4309
+
4310
+ Probes OPA and Regal, previews one safe transactional plan, and creates a publishable fail-closed Rego v1 starter only in an empty target. Optional editor, Agent Skill, and validation-only CI setup preserve repository customization. No Transcend credentials are needed.
4311
+
4312
+ FLAGS
4313
+ [--editor/--noEditor] Merge strict target-scoped VS Code settings, extensions, and lint task
4314
+ [--skill/--noSkill] Install the canonical Policy Engine coding-agent skill
4315
+ [--ci/--noCi] Generate credential-free validation-only GitHub Actions
4316
+ [--noInteractive] Disable prompts and enable optional setup only through explicit flags [default = false]
4317
+ [--dryRun] Preview all changes without writing files [default = false]
4318
+ [--yes] Skip only the final plan confirmation [default = false]
4319
+ [--json] Emit one stable JSON result and imply non-interactive output [default = false]
4320
+ -h --help Print help information and exit
4321
+
4322
+ ARGUMENTS
4323
+ [directory] Policy project directory [default = transcend/policy]
4324
+ ```
4325
+
4326
+ #### Create the safe default policy project
4327
+
4328
+ ```sh
4329
+ transcend policy init
4330
+ ```
4331
+
4332
+ This creates a publishable, fail-closed Rego v1 starter under `transcend/policy`. The example policy is disposable teaching material, not an application contract. Initialization checks local OPA and Regal versions and prints official installation guidance when they are missing or incompatible; it never installs tools or creates runtime-manager configuration.
4333
+
4334
+ The interactive checklist selects repository-level VS Code setup, the `transcend-policy-engine` Agent Skill, and credential-free validation-only GitHub Actions by default. VS Code setup recommends the official OPA extension, scopes bundle authoring and a default `policy: lint` task to the selected project, and configures strict Rego v1 formatting with Regal.
4335
+
4336
+ To give an agent the same policy guidance before initialization, install the standalone skill directly from this repository:
4337
+
4338
+ ```sh
4339
+ npx skills add transcend-io/tools --skill transcend-policy-engine
4340
+ ```
4341
+
4342
+ #### Preview or choose another directory
4343
+
4344
+ ```sh
4345
+ transcend policy init ./policies --dryRun --json
4346
+ transcend policy init ./policies --editor --skill --ci --noInteractive --yes
4347
+ ```
4348
+
4349
+ Non-interactive setup enables only the individual `--editor`, `--skill`, and `--ci` flags passed. There are no setup presets. The complete plan is applied transactionally. Existing or partially initialized policy targets are left unchanged with actionable warnings, including customized Rego, manifests, Regal configuration, README files, workflows, editor values and tasks, and managed skill content.
4350
+
4351
+ Generated CI pins OPA 1.13.1, Regal 0.42.0, immutable setup action commits, and the current Transcend CLI release. It runs only `transcend policy lint --noInteractive --json`; it never publishes or adds Transcend API credentials. After successful initialization, copyable one-line next steps and an AI handoff prompt identify the disposable example, repository-specific CI adaptation, and the final lint gate.
4352
+
4302
4353
  ### `transcend policy lint`
4303
4354
 
4304
4355
  ```txt
4305
4356
  USAGE
4306
- transcend policy lint (--dir value)
4357
+ transcend policy lint [--dir value] [--fix] [--noInteractive] [--json]
4307
4358
  transcend policy lint --help
4308
4359
 
4309
- Runs `opa check --strict` for Rego validation and `opa fmt` for formatting. When files are not formatted, lists the affected paths, prints a diff, and prompts to format them in place. Requires the `opa` CLI on PATH. No Transcend API key is needed.
4360
+ Validates manifest roots and package coverage, verifies OPA 1.x and Regal, checks or repairs OPA formatting, runs a production-only strict OPA check, treats Regal warnings as failures, and requires non-empty OPA tests. No Transcend API key is needed.
4310
4361
 
4311
4362
  FLAGS
4312
- --dir Directory containing Rego policy files
4313
- -h --help Print help information and exit
4363
+ [--dir] Directory containing the local policy project [default = transcend/policy]
4364
+ [--fix] Apply OPA formatting without running broad Regal fixes [default = false]
4365
+ [--noInteractive] Disable the optional formatting confirmation [default = false]
4366
+ [--json] Emit one stable JSON result and imply non-interactive behavior [default = false]
4367
+ -h --help Print help information and exit
4314
4368
  ```
4315
4369
 
4316
4370
  #### Examples
4317
4371
 
4318
- **Lint a local policy directory and optionally format Rego files**
4372
+ **Verify the default local policy project**
4373
+
4374
+ ```sh
4375
+ transcend policy lint
4376
+ ```
4377
+
4378
+ **Verify and format a custom policy project**
4379
+
4380
+ ```sh
4381
+ transcend policy lint --dir=./policies --fix
4382
+ ```
4383
+
4384
+ **Run the verification gate in CI or an editor**
4319
4385
 
4320
4386
  ```sh
4321
- transcend policy lint --dir=./policies
4387
+ transcend policy lint --noInteractive --json
4322
4388
  ```
4323
4389
 
4324
4390
  ### `transcend policy bundles`