@superblocksteam/shared 0.9586.7 → 0.9589.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 (200) hide show
  1. package/dist/database-lifecycle/index.d.ts +115 -0
  2. package/dist/database-lifecycle/index.d.ts.map +1 -0
  3. package/dist/database-lifecycle/index.js +143 -0
  4. package/dist/database-lifecycle/index.js.map +1 -0
  5. package/dist/database-lifecycle/index.test.d.ts +2 -0
  6. package/dist/database-lifecycle/index.test.d.ts.map +1 -0
  7. package/dist/database-lifecycle/index.test.js +110 -0
  8. package/dist/database-lifecycle/index.test.js.map +1 -0
  9. package/dist/index.d.ts +1 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +1 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/plugins/index.d.ts.map +1 -1
  14. package/dist/plugins/index.js +4 -0
  15. package/dist/plugins/index.js.map +1 -1
  16. package/dist/plugins/templates/dropbox.d.ts.map +1 -1
  17. package/dist/plugins/templates/dropbox.js +5 -1
  18. package/dist/plugins/templates/dropbox.js.map +1 -1
  19. package/dist/plugins/templates/shared/auth.d.ts +2 -0
  20. package/dist/plugins/templates/shared/auth.d.ts.map +1 -1
  21. package/dist/plugins/templates/shared/auth.js +1 -0
  22. package/dist/plugins/templates/shared/auth.js.map +1 -1
  23. package/dist/types/ai/index.d.ts +1 -0
  24. package/dist/types/ai/index.d.ts.map +1 -1
  25. package/dist/types/ai/index.js +1 -0
  26. package/dist/types/ai/index.js.map +1 -1
  27. package/dist/types/ai/provider-credential.d.ts +53 -0
  28. package/dist/types/ai/provider-credential.d.ts.map +1 -0
  29. package/dist/types/ai/provider-credential.js +10 -0
  30. package/dist/types/ai/provider-credential.js.map +1 -0
  31. package/dist/types/audit/ocsf.d.ts.map +1 -1
  32. package/dist/types/audit/ocsf.js +8 -2
  33. package/dist/types/audit/ocsf.js.map +1 -1
  34. package/dist/types/commit/index.d.ts +1 -0
  35. package/dist/types/commit/index.d.ts.map +1 -1
  36. package/dist/types/commit/index.js.map +1 -1
  37. package/dist/types/common/env.d.ts +25 -0
  38. package/dist/types/common/env.d.ts.map +1 -1
  39. package/dist/types/common/env.js +29 -1
  40. package/dist/types/common/env.js.map +1 -1
  41. package/dist/types/common/env.test.d.ts +2 -0
  42. package/dist/types/common/env.test.d.ts.map +1 -0
  43. package/dist/types/common/env.test.js +24 -0
  44. package/dist/types/common/env.test.js.map +1 -0
  45. package/dist/types/common/response.d.ts +2 -2
  46. package/dist/types/common/response.d.ts.map +1 -1
  47. package/dist/types/common/response.js.map +1 -1
  48. package/dist/types/credentials/index.d.ts +7 -7
  49. package/dist/types/credentials/index.d.ts.map +1 -1
  50. package/dist/types/index.d.ts +2 -0
  51. package/dist/types/index.d.ts.map +1 -1
  52. package/dist/types/index.js +2 -0
  53. package/dist/types/index.js.map +1 -1
  54. package/dist/types/integration/index.d.ts +5 -2
  55. package/dist/types/integration/index.d.ts.map +1 -1
  56. package/dist/types/integration/index.js +5 -2
  57. package/dist/types/integration/index.js.map +1 -1
  58. package/dist/types/organization/agent.js +10 -40
  59. package/dist/types/organization/agent.js.map +1 -1
  60. package/dist/types/plugin/form.d.ts +1 -0
  61. package/dist/types/plugin/form.d.ts.map +1 -1
  62. package/dist/types/policyGate/index.d.ts +32 -0
  63. package/dist/types/policyGate/index.d.ts.map +1 -0
  64. package/dist/types/policyGate/index.js +3 -0
  65. package/dist/types/policyGate/index.js.map +1 -0
  66. package/dist/types/rbac/index.d.ts +8 -0
  67. package/dist/types/rbac/index.d.ts.map +1 -1
  68. package/dist/types/rbac/index.js +5 -0
  69. package/dist/types/rbac/index.js.map +1 -1
  70. package/dist/types/response/GetPolicyGateReadinessResponseBody.d.ts +3 -0
  71. package/dist/types/response/GetPolicyGateReadinessResponseBody.d.ts.map +1 -0
  72. package/dist/types/response/GetPolicyGateReadinessResponseBody.js +3 -0
  73. package/dist/types/response/GetPolicyGateReadinessResponseBody.js.map +1 -0
  74. package/dist/types/response/index.d.ts +1 -0
  75. package/dist/types/response/index.d.ts.map +1 -1
  76. package/dist/types/response/index.js +1 -0
  77. package/dist/types/response/index.js.map +1 -1
  78. package/dist/types/reviewPolicy/index.d.ts +105 -0
  79. package/dist/types/reviewPolicy/index.d.ts.map +1 -0
  80. package/dist/types/reviewPolicy/index.js +47 -0
  81. package/dist/types/reviewPolicy/index.js.map +1 -0
  82. package/dist/utils/git-url.d.ts +0 -1
  83. package/dist/utils/git-url.d.ts.map +1 -1
  84. package/dist/utils/git-url.js +1 -2
  85. package/dist/utils/git-url.js.map +1 -1
  86. package/dist/utils/git-url.test.js +0 -5
  87. package/dist/utils/git-url.test.js.map +1 -1
  88. package/dist-esm/database-lifecycle/index.d.ts +115 -0
  89. package/dist-esm/database-lifecycle/index.d.ts.map +1 -0
  90. package/dist-esm/database-lifecycle/index.js +131 -0
  91. package/dist-esm/database-lifecycle/index.js.map +1 -0
  92. package/dist-esm/database-lifecycle/index.test.d.ts +2 -0
  93. package/dist-esm/database-lifecycle/index.test.d.ts.map +1 -0
  94. package/dist-esm/database-lifecycle/index.test.js +108 -0
  95. package/dist-esm/database-lifecycle/index.test.js.map +1 -0
  96. package/dist-esm/index.d.ts +1 -0
  97. package/dist-esm/index.d.ts.map +1 -1
  98. package/dist-esm/index.js +1 -0
  99. package/dist-esm/index.js.map +1 -1
  100. package/dist-esm/plugins/index.d.ts.map +1 -1
  101. package/dist-esm/plugins/index.js +4 -0
  102. package/dist-esm/plugins/index.js.map +1 -1
  103. package/dist-esm/plugins/templates/dropbox.d.ts.map +1 -1
  104. package/dist-esm/plugins/templates/dropbox.js +5 -1
  105. package/dist-esm/plugins/templates/dropbox.js.map +1 -1
  106. package/dist-esm/plugins/templates/shared/auth.d.ts +2 -0
  107. package/dist-esm/plugins/templates/shared/auth.d.ts.map +1 -1
  108. package/dist-esm/plugins/templates/shared/auth.js +1 -0
  109. package/dist-esm/plugins/templates/shared/auth.js.map +1 -1
  110. package/dist-esm/types/ai/index.d.ts +1 -0
  111. package/dist-esm/types/ai/index.d.ts.map +1 -1
  112. package/dist-esm/types/ai/index.js +1 -0
  113. package/dist-esm/types/ai/index.js.map +1 -1
  114. package/dist-esm/types/ai/provider-credential.d.ts +53 -0
  115. package/dist-esm/types/ai/provider-credential.d.ts.map +1 -0
  116. package/dist-esm/types/ai/provider-credential.js +7 -0
  117. package/dist-esm/types/ai/provider-credential.js.map +1 -0
  118. package/dist-esm/types/audit/ocsf.d.ts.map +1 -1
  119. package/dist-esm/types/audit/ocsf.js +8 -2
  120. package/dist-esm/types/audit/ocsf.js.map +1 -1
  121. package/dist-esm/types/commit/index.d.ts +1 -0
  122. package/dist-esm/types/commit/index.d.ts.map +1 -1
  123. package/dist-esm/types/commit/index.js.map +1 -1
  124. package/dist-esm/types/common/env.d.ts +25 -0
  125. package/dist-esm/types/common/env.d.ts.map +1 -1
  126. package/dist-esm/types/common/env.js +27 -0
  127. package/dist-esm/types/common/env.js.map +1 -1
  128. package/dist-esm/types/common/env.test.d.ts +2 -0
  129. package/dist-esm/types/common/env.test.d.ts.map +1 -0
  130. package/dist-esm/types/common/env.test.js +22 -0
  131. package/dist-esm/types/common/env.test.js.map +1 -0
  132. package/dist-esm/types/common/response.d.ts +2 -2
  133. package/dist-esm/types/common/response.d.ts.map +1 -1
  134. package/dist-esm/types/common/response.js.map +1 -1
  135. package/dist-esm/types/credentials/index.d.ts +7 -7
  136. package/dist-esm/types/credentials/index.d.ts.map +1 -1
  137. package/dist-esm/types/index.d.ts +2 -0
  138. package/dist-esm/types/index.d.ts.map +1 -1
  139. package/dist-esm/types/index.js +2 -0
  140. package/dist-esm/types/index.js.map +1 -1
  141. package/dist-esm/types/integration/index.d.ts +5 -2
  142. package/dist-esm/types/integration/index.d.ts.map +1 -1
  143. package/dist-esm/types/integration/index.js +5 -2
  144. package/dist-esm/types/integration/index.js.map +1 -1
  145. package/dist-esm/types/organization/agent.js +1 -1
  146. package/dist-esm/types/organization/agent.js.map +1 -1
  147. package/dist-esm/types/plugin/form.d.ts +1 -0
  148. package/dist-esm/types/plugin/form.d.ts.map +1 -1
  149. package/dist-esm/types/policyGate/index.d.ts +32 -0
  150. package/dist-esm/types/policyGate/index.d.ts.map +1 -0
  151. package/dist-esm/types/policyGate/index.js +2 -0
  152. package/dist-esm/types/policyGate/index.js.map +1 -0
  153. package/dist-esm/types/rbac/index.d.ts +8 -0
  154. package/dist-esm/types/rbac/index.d.ts.map +1 -1
  155. package/dist-esm/types/rbac/index.js +5 -0
  156. package/dist-esm/types/rbac/index.js.map +1 -1
  157. package/dist-esm/types/response/GetPolicyGateReadinessResponseBody.d.ts +3 -0
  158. package/dist-esm/types/response/GetPolicyGateReadinessResponseBody.d.ts.map +1 -0
  159. package/dist-esm/types/response/GetPolicyGateReadinessResponseBody.js +2 -0
  160. package/dist-esm/types/response/GetPolicyGateReadinessResponseBody.js.map +1 -0
  161. package/dist-esm/types/response/index.d.ts +1 -0
  162. package/dist-esm/types/response/index.d.ts.map +1 -1
  163. package/dist-esm/types/response/index.js +1 -0
  164. package/dist-esm/types/response/index.js.map +1 -1
  165. package/dist-esm/types/reviewPolicy/index.d.ts +105 -0
  166. package/dist-esm/types/reviewPolicy/index.d.ts.map +1 -0
  167. package/dist-esm/types/reviewPolicy/index.js +44 -0
  168. package/dist-esm/types/reviewPolicy/index.js.map +1 -0
  169. package/dist-esm/utils/git-url.d.ts +0 -1
  170. package/dist-esm/utils/git-url.d.ts.map +1 -1
  171. package/dist-esm/utils/git-url.js +0 -1
  172. package/dist-esm/utils/git-url.js.map +1 -1
  173. package/dist-esm/utils/git-url.test.js +1 -6
  174. package/dist-esm/utils/git-url.test.js.map +1 -1
  175. package/package.json +3 -3
  176. package/src/database-lifecycle/index.test.ts +132 -0
  177. package/src/database-lifecycle/index.ts +278 -0
  178. package/src/index.ts +1 -0
  179. package/src/plugins/index.ts +4 -0
  180. package/src/plugins/templates/dropbox.ts +5 -1
  181. package/src/plugins/templates/shared/auth.ts +3 -0
  182. package/src/types/ai/index.ts +1 -0
  183. package/src/types/ai/provider-credential.ts +61 -0
  184. package/src/types/audit/ocsf.ts +8 -2
  185. package/src/types/commit/index.ts +1 -0
  186. package/src/types/common/env.test.ts +27 -0
  187. package/src/types/common/env.ts +28 -0
  188. package/src/types/common/response.ts +2 -2
  189. package/src/types/credentials/index.ts +7 -7
  190. package/src/types/index.ts +2 -0
  191. package/src/types/integration/index.ts +9 -2
  192. package/src/types/organization/agent.ts +1 -1
  193. package/src/types/plugin/form.ts +1 -0
  194. package/src/types/policyGate/index.ts +52 -0
  195. package/src/types/rbac/index.ts +6 -0
  196. package/src/types/response/GetPolicyGateReadinessResponseBody.ts +3 -0
  197. package/src/types/response/index.ts +1 -0
  198. package/src/types/reviewPolicy/index.ts +132 -0
  199. package/src/utils/git-url.test.ts +1 -14
  200. package/src/utils/git-url.ts +0 -2
@@ -0,0 +1,105 @@
1
+ export declare const AI_AGENT_STATUSES: readonly ["active", "disabled"];
2
+ export declare const REVIEW_POLICY_NAME_MAX_LENGTH = 120;
3
+ export declare const REVIEW_POLICY_PROMPT_MAX_LENGTH = 10000;
4
+ export declare const REVIEW_POLICY_TYPES: readonly ["built_in_security_scan", "security_agent"];
5
+ export declare const REVIEW_POLICY_SOURCES: readonly ["admin_configured", "superblocks_managed"];
6
+ export declare const REVIEW_POLICY_TRIGGERS: readonly ["before_deploy", "after_checkpoint", "manual"];
7
+ export declare const REVIEW_POLICY_EXECUTION_CONTEXTS: readonly ["edit_mode_app", "superblocks_sabs_built_assets", "superblocks_sabs_dependency_metadata", "superblocks_sabs_source_snapshot"];
8
+ export declare const REVIEW_POLICY_RUNTIMES: readonly ["superblocks_dev_server_agent", "superblocks_sabs"];
9
+ export declare const REVIEW_POLICY_MODES: readonly ["advisory", "blocking"];
10
+ export declare const REVIEW_POLICY_RUNNER_TYPES: readonly ["built_in_security_scan", "llm_security_agent"];
11
+ export declare const REVIEW_FINDING_SOURCE_PHASES: readonly ["built_asset", "dependency", "edit_mode_app", "iac", "image", "source"];
12
+ export declare const REVIEW_FINDING_CATEGORIES: readonly ["external_policy", "misconfiguration", "security_agent", "secret", "sensitive_data", "vulnerability"];
13
+ export declare const REVIEW_FINDING_SEVERITIES: readonly ["critical", "high", "medium", "low", "info"];
14
+ export declare const REVIEW_FINDING_CONFIDENCES: readonly ["high", "medium", "low"];
15
+ export declare const REVIEW_FINDING_SUPPRESSION_STATUSES: readonly ["active", "expired", "revoked"];
16
+ export declare const REVIEW_RUN_STATUSES: readonly ["queued", "running", "passed", "findings", "blocked", "errored", "timed_out", "canceled", "stale"];
17
+ export declare const REVIEW_RUN_DECISIONS: readonly ["allowed", "advisory_allowed", "blocked", "error_blocked", "not_applicable"];
18
+ export declare const REVIEW_RUN_TRIGGERED_BYS: readonly ["system", "user"];
19
+ export type AiAgentStatus = (typeof AI_AGENT_STATUSES)[number];
20
+ export type ReviewPolicyStatus = AiAgentStatus;
21
+ export type ReviewPolicyType = (typeof REVIEW_POLICY_TYPES)[number];
22
+ export type ReviewPolicySource = (typeof REVIEW_POLICY_SOURCES)[number];
23
+ export type ReviewPolicyTrigger = (typeof REVIEW_POLICY_TRIGGERS)[number];
24
+ export type ReviewPolicyExecutionContext = (typeof REVIEW_POLICY_EXECUTION_CONTEXTS)[number];
25
+ export type ReviewPolicyRuntime = (typeof REVIEW_POLICY_RUNTIMES)[number];
26
+ export type ReviewPolicyMode = (typeof REVIEW_POLICY_MODES)[number];
27
+ export type ReviewPolicyRunnerType = (typeof REVIEW_POLICY_RUNNER_TYPES)[number];
28
+ export type ReviewFindingSourcePhase = (typeof REVIEW_FINDING_SOURCE_PHASES)[number];
29
+ export type ReviewFindingCategory = (typeof REVIEW_FINDING_CATEGORIES)[number];
30
+ export type ReviewFindingSeverity = (typeof REVIEW_FINDING_SEVERITIES)[number];
31
+ export type ReviewFindingConfidence = (typeof REVIEW_FINDING_CONFIDENCES)[number];
32
+ export type ReviewFindingSuppressionStatus = (typeof REVIEW_FINDING_SUPPRESSION_STATUSES)[number];
33
+ export type ReviewRunStatus = (typeof REVIEW_RUN_STATUSES)[number];
34
+ export type ReviewRunDecision = (typeof REVIEW_RUN_DECISIONS)[number];
35
+ export type ReviewRunTriggeredBy = (typeof REVIEW_RUN_TRIGGERED_BYS)[number];
36
+ export type ReviewPolicyScopeType = 'all_apps' | 'limited';
37
+ export interface ReviewPolicyLastRunDto {
38
+ id: string;
39
+ status: ReviewRunStatus;
40
+ created: string;
41
+ }
42
+ export interface ReviewPolicyDto {
43
+ id: string;
44
+ organizationId: string;
45
+ aiAgentId: string;
46
+ activeVersionId: string;
47
+ versionNumber: number;
48
+ policyType: ReviewPolicyType;
49
+ source: ReviewPolicySource;
50
+ name: string;
51
+ status: AiAgentStatus;
52
+ mode: ReviewPolicyMode;
53
+ scope: {
54
+ type: ReviewPolicyScopeType;
55
+ };
56
+ lastRun: ReviewPolicyLastRunDto | null;
57
+ createdBy: string | null;
58
+ created: string;
59
+ }
60
+ export interface ReviewPolicyDetailDto extends ReviewPolicyDto {
61
+ prompt: string;
62
+ }
63
+ export interface ReviewPolicyRunDto {
64
+ id: string;
65
+ applicationId: string;
66
+ applicationName: string | null;
67
+ applicationCommitId: string;
68
+ policyVersionNumber: number;
69
+ findingsCount: number;
70
+ profileId: string;
71
+ status: ReviewRunStatus;
72
+ decision: ReviewRunDecision | null;
73
+ decisionReason: string | null;
74
+ startedAt: string | null;
75
+ completedAt: string | null;
76
+ created: string;
77
+ errorCode: string | null;
78
+ errorMessage: string | null;
79
+ }
80
+ export interface ReviewPolicyRunsDto {
81
+ policy: ReviewPolicyDto;
82
+ runs: ReviewPolicyRunDto[];
83
+ }
84
+ export interface ReviewPolicySummaryDto {
85
+ activeAgents: number;
86
+ agentRuns24h: number;
87
+ securityScans24h: number;
88
+ findings24h: number;
89
+ }
90
+ export type CreateReviewPolicyBody = {
91
+ policyType: 'built_in_security_scan';
92
+ } | {
93
+ policyType: 'security_agent';
94
+ name: string;
95
+ prompt: string;
96
+ };
97
+ export type UpdateReviewPolicyBody = {
98
+ status: AiAgentStatus;
99
+ };
100
+ export type UpdateReviewPolicyConfigBody = {
101
+ activeVersionId: string;
102
+ name: string;
103
+ prompt: string;
104
+ };
105
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/reviewPolicy/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ export const AI_AGENT_STATUSES = ['active', 'disabled'];
2
+ export const REVIEW_POLICY_NAME_MAX_LENGTH = 120;
3
+ export const REVIEW_POLICY_PROMPT_MAX_LENGTH = 10000;
4
+ export const REVIEW_POLICY_TYPES = ['built_in_security_scan', 'security_agent'];
5
+ export const REVIEW_POLICY_SOURCES = ['admin_configured', 'superblocks_managed'];
6
+ export const REVIEW_POLICY_TRIGGERS = ['before_deploy', 'after_checkpoint', 'manual'];
7
+ export const REVIEW_POLICY_EXECUTION_CONTEXTS = [
8
+ 'edit_mode_app',
9
+ 'superblocks_sabs_built_assets',
10
+ 'superblocks_sabs_dependency_metadata',
11
+ 'superblocks_sabs_source_snapshot'
12
+ ];
13
+ export const REVIEW_POLICY_RUNTIMES = ['superblocks_dev_server_agent', 'superblocks_sabs'];
14
+ export const REVIEW_POLICY_MODES = ['advisory', 'blocking'];
15
+ export const REVIEW_POLICY_RUNNER_TYPES = ['built_in_security_scan', 'llm_security_agent'];
16
+ export const REVIEW_FINDING_SOURCE_PHASES = ['built_asset', 'dependency', 'edit_mode_app', 'iac', 'image', 'source'];
17
+ export const REVIEW_FINDING_CATEGORIES = [
18
+ 'external_policy',
19
+ 'misconfiguration',
20
+ 'security_agent',
21
+ 'secret',
22
+ 'sensitive_data',
23
+ 'vulnerability'
24
+ ];
25
+ // Severity and confidence order is semantically meaningful from strongest to weakest.
26
+ export const REVIEW_FINDING_SEVERITIES = ['critical', 'high', 'medium', 'low', 'info'];
27
+ export const REVIEW_FINDING_CONFIDENCES = ['high', 'medium', 'low'];
28
+ export const REVIEW_FINDING_SUPPRESSION_STATUSES = ['active', 'expired', 'revoked'];
29
+ // Lifecycle ordering is semantically meaningful; matches AiAgentRun status sequence with review-specific states.
30
+ export const REVIEW_RUN_STATUSES = [
31
+ 'queued',
32
+ 'running',
33
+ 'passed',
34
+ 'findings',
35
+ 'blocked',
36
+ 'errored',
37
+ 'timed_out',
38
+ 'canceled',
39
+ 'stale'
40
+ ];
41
+ // Lifecycle ordering is semantically meaningful.
42
+ export const REVIEW_RUN_DECISIONS = ['allowed', 'advisory_allowed', 'blocked', 'error_blocked', 'not_applicable'];
43
+ export const REVIEW_RUN_TRIGGERED_BYS = ['system', 'user'];
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/reviewPolicy/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAU,CAAC;AAEjE,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAC;AACjD,MAAM,CAAC,MAAM,+BAA+B,GAAG,KAAK,CAAC;AAErD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,wBAAwB,EAAE,gBAAgB,CAAU,CAAC;AACzF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,kBAAkB,EAAE,qBAAqB,CAAU,CAAC;AAC1F,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,eAAe,EAAE,kBAAkB,EAAE,QAAQ,CAAU,CAAC;AAC/F,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,eAAe;IACf,+BAA+B;IAC/B,sCAAsC;IACtC,kCAAkC;CAC1B,CAAC;AACX,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,8BAA8B,EAAE,kBAAkB,CAAU,CAAC;AACpG,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,UAAU,EAAE,UAAU,CAAU,CAAC;AACrE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,wBAAwB,EAAE,oBAAoB,CAAU,CAAC;AACpG,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AAC9H,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,iBAAiB;IACjB,kBAAkB;IAClB,gBAAgB;IAChB,QAAQ;IACR,gBAAgB;IAChB,eAAe;CACP,CAAC;AAEX,sFAAsF;AACtF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAU,CAAC;AAChG,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAU,CAAC;AAC7E,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAU,CAAC;AAE7F,iHAAiH;AACjH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,UAAU;IACV,SAAS;IACT,SAAS;IACT,WAAW;IACX,UAAU;IACV,OAAO;CACC,CAAC;AAEX,iDAAiD;AACjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,CAAU,CAAC;AAC3H,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAU,CAAC"}
@@ -4,7 +4,6 @@
4
4
  * Parsing, validation, and compare-URL generation for git remote URLs.
5
5
  * Used by both the UI and the vite-plugin-file-sync AI agent tooling.
6
6
  */
7
- export declare const GITHUB_PAT_SETTINGS_URL = "https://github.com/settings/tokens";
8
7
  export declare function isValidGitUrl(url: string): boolean;
9
8
  export declare function isGitHubUrl(url: string): boolean;
10
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"git-url.d.ts","sourceRoot":"","sources":["../../src/utils/git-url.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,eAAO,MAAM,uBAAuB,uCAAuC,CAAC;AAE5E,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGlD;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAchD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA8C5D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,KAAK,EACL,IAAI,EACL,EAAE;IACD,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,MAAM,GAAG,IAAI,CAchB;AAED,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,cAAc,GAAG,SAAS,CAAC;AAEzF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAMxD,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAgB1D;AAkBD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,GAAG,IAAI,CAerG;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAyC3D;AAOD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAoBjF"}
1
+ {"version":3,"file":"git-url.d.ts","sourceRoot":"","sources":["../../src/utils/git-url.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGlD;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAchD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA8C5D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,KAAK,EACL,IAAI,EACL,EAAE;IACD,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,MAAM,GAAG,IAAI,CAchB;AAED,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,cAAc,GAAG,SAAS,CAAC;AAEzF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAMxD,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAgB1D;AAkBD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,GAAG,IAAI,CAerG;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAyC3D;AAOD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAoBjF"}
@@ -8,7 +8,6 @@ const HTTPS_GIT_URL_RE = /^https?:\/\/[^\s/$.?#]+(?:\.[^\s/$.?#]+)+\/[^\s/$.?#]+
8
8
  const SSH_GIT_URL_RE = /^[\w-]+@[\w.-]+:[\w./-]+(\.git)?$/;
9
9
  // ssh:// protocol format: ssh://git@host/path
10
10
  const SSH_PROTOCOL_RE = /^ssh:\/\/[\w-]+@[\w.-]+(\/[\w./-]+)+(\.git)?\/?$/i;
11
- export const GITHUB_PAT_SETTINGS_URL = 'https://github.com/settings/tokens';
12
11
  export function isValidGitUrl(url) {
13
12
  const trimmed = url.trim();
14
13
  return HTTPS_GIT_URL_RE.test(trimmed) || SSH_GIT_URL_RE.test(trimmed) || SSH_PROTOCOL_RE.test(trimmed);
@@ -1 +1 @@
1
- {"version":3,"file":"git-url.js","sourceRoot":"","sources":["../../src/utils/git-url.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-url.js","sourceRoot":"","sources":["../../src/utils/git-url.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, it } from 'vitest';
2
- import { GITHUB_PAT_SETTINGS_URL, getGitHubCompareUrl, gitRemoteUrlToWeb, isGitHubUrl, isValidGitUrl, sshGitUrlToHttps } from './git-url.js';
2
+ import { getGitHubCompareUrl, gitRemoteUrlToWeb, isGitHubUrl, isValidGitUrl, sshGitUrlToHttps } from './git-url.js';
3
3
  describe('isValidGitUrl', () => {
4
4
  it.each([
5
5
  'https://github.com/org/repo.git',
@@ -107,9 +107,4 @@ describe('sshGitUrlToHttps', () => {
107
107
  expect(sshGitUrlToHttps('not-a-url')).toBeNull();
108
108
  });
109
109
  });
110
- describe('GITHUB_PAT_SETTINGS_URL', () => {
111
- it('is a valid URL', () => {
112
- expect(GITHUB_PAT_SETTINGS_URL).toBe('https://github.com/settings/tokens');
113
- });
114
- });
115
110
  //# sourceMappingURL=git-url.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"git-url.test.js","sourceRoot":"","sources":["../../src/utils/git-url.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAEtB,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,IAAI,CAAC;QACN,iCAAiC;QACjC,6BAA6B;QAC7B,gCAAgC;QAChC,yDAAyD;QACzD,6BAA6B;QAC7B,yBAAyB;KAC1B,CAAC,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,EAAE;QAChC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,2BAA2B,EAAE,UAAU,EAAE,wBAAwB,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC,GAAG,EAAE,EAAE;QAC5H,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,IAAI,CAAC,CAAC,iCAAiC,EAAE,6BAA6B,EAAE,6BAA6B,CAAC,CAAC,CACxG,qBAAqB,EACrB,CAAC,GAAG,EAAE,EAAE;QACN,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CACF,CAAC;IAEF,EAAE,CAAC,IAAI,CAAC,CAAC,6BAA6B,EAAE,gCAAgC,EAAE,8BAA8B,EAAE,WAAW,CAAC,CAAC,CACrH,sBAAsB,EACtB,CAAC,GAAG,EAAE,EAAE;QACN,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CACF,CAAC;IAEF,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,IAAI,CAAmB;QACxB,CAAC,iCAAiC,EAAE,6BAA6B,CAAC;QAClE,CAAC,6BAA6B,EAAE,6BAA6B,CAAC;QAC9D,CAAC,gCAAgC,EAAE,4BAA4B,CAAC;QAChE,CAAC,6BAA6B,EAAE,6BAA6B,CAAC;QAC9D,CAAC,mCAAmC,EAAE,mCAAmC,CAAC;QAC1E,8DAA8D;QAC9D,CAAC,yDAAyD,EAAE,mDAAmD,CAAC;QAChH,2BAA2B;QAC3B,CAAC,iDAAiD,EAAE,mDAAmD,CAAC;QACxG,CAAC,uDAAuD,EAAE,mDAAmD,CAAC;KAC/G,CAAC,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QACzC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,iBAAiB,CAAC,yDAAyD,CAAC,CAAC,CAAC,IAAI,CACvF,mDAAmD,CACpD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,MAAM,IAAI,GAAG,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAE9D,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,CACJ,mBAAmB,CAAC;YAClB,YAAY,EAAE,iCAAiC;YAC/C,GAAG,IAAI;SACR,CAAC,CACH,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,CACJ,mBAAmB,CAAC;YAClB,YAAY,EAAE,iCAAiC;YAC/C,GAAG,IAAI;YACP,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,YAAY;SACnB,CAAC,CACH,CAAC,IAAI,CAAC,oGAAoG,CAAC,CAAC;IAC/G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CACJ,mBAAmB,CAAC;YAClB,YAAY,EAAE,6BAA6B;YAC3C,GAAG,IAAI;SACR,CAAC,CACH,CAAC,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,mBAAmB,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACjF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,IAAI,CAAmB;QACxB,CAAC,6BAA6B,EAAE,iCAAiC,CAAC;QAClE,CAAC,yBAAyB,EAAE,iCAAiC,CAAC;QAC9D,CAAC,mCAAmC,EAAE,uCAAuC,CAAC;QAC9E,CAAC,uDAAuD,EAAE,2DAA2D,CAAC;QACtH,CAAC,gCAAgC,EAAE,oCAAoC,CAAC;QACxE,CAAC,mCAAmC,EAAE,iCAAiC,CAAC;QACxE,CAAC,+BAA+B,EAAE,iCAAiC,CAAC;QACpE,CAAC,iDAAiD,EAAE,mDAAmD,CAAC;QACxG,CAAC,uDAAuD,EAAE,mDAAmD,CAAC;KAC/G,CAAC,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QACzC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,gBAAgB,CAAC,iCAAiC,CAAC,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IACtG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAClG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,CAAC,gBAAgB,CAAC,mDAAmD,CAAC,CAAC,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IAC1I,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,CACJ,gBAAgB,CAAC,gHAAgH,CAAC,CACnI,CAAC,IAAI,CAAC,gHAAgH,CAAC,CAAC;IAC3H,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE;QACxB,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"git-url.test.js","sourceRoot":"","sources":["../../src/utils/git-url.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superblocksteam/shared",
3
- "version": "0.9586.7",
3
+ "version": "0.9589.0",
4
4
  "description": "Superblocks Shared Resources",
5
5
  "license": "Superblocks Community Software License",
6
6
  "repository": "https://github.com/superblocksteam/shared.git",
@@ -55,8 +55,8 @@
55
55
  "eslint-plugin-import": "^2.32.0",
56
56
  "esprima": "^4.0.1",
57
57
  "globals": "^17.3.0",
58
- "typescript": "^5.9.3",
59
- "typescript-eslint": "^8.54.0",
58
+ "typescript": "^6.0.3",
59
+ "typescript-eslint": "^8.59.2",
60
60
  "vitest": "^4.0.17"
61
61
  },
62
62
  "engines": {
@@ -0,0 +1,132 @@
1
+ import { describe, expect, test } from 'vitest';
2
+
3
+ import {
4
+ computeBindingKey,
5
+ computeDesiredSpecHash,
6
+ computeRequirementKey,
7
+ containsCredentialMaterial,
8
+ isSecretKey,
9
+ isTerminalLifecycleState,
10
+ redactLifecycleSecrets
11
+ } from './index.js';
12
+
13
+ describe('database lifecycle contracts', () => {
14
+ test('computes stable requirement, binding, and desired spec identifiers', async () => {
15
+ const requirement = {
16
+ logicalName: 'Orders DB',
17
+ engine: 'postgres',
18
+ version: '16',
19
+ sizing: {
20
+ storageGb: 20,
21
+ tier: 'shared'
22
+ },
23
+ extensions: ['pgcrypto', 'uuid-ossp']
24
+ } as const;
25
+
26
+ expect(computeRequirementKey(requirement)).toBe('orders-db~Orders%20DB:postgres');
27
+ expect(computeRequirementKey({ logicalName: 'orders/db', engine: 'postgres' })).toBe('orders-db~orders%2Fdb:postgres');
28
+ expect(computeRequirementKey({ logicalName: 'orders-db', engine: 'postgres' })).toBe('orders-db~orders-db:postgres');
29
+ expect(
30
+ computeBindingKey({
31
+ organizationId: 'org-1',
32
+ applicationId: 'app-1',
33
+ environmentClass: 'dev',
34
+ environmentName: 'branch/alice',
35
+ requirementKey: 'orders-db~Orders%20DB:postgres'
36
+ })
37
+ ).toBe('org-1:app-1:dev:branch-alice~branch%2Falice:orders-db~Orders%20DB:postgres');
38
+ expect(
39
+ computeBindingKey({
40
+ organizationId: 'org-1',
41
+ applicationId: 'app-1',
42
+ environmentClass: 'dev',
43
+ environmentName: 'branch-alice',
44
+ requirementKey: 'orders-db~Orders%20DB:postgres'
45
+ })
46
+ ).toBe('org-1:app-1:dev:branch-alice~branch-alice:orders-db~Orders%20DB:postgres');
47
+
48
+ await expect(computeDesiredSpecHash(requirement)).resolves.toBe(
49
+ await computeDesiredSpecHash({ ...requirement, extensions: ['uuid-ossp', 'pgcrypto'] })
50
+ );
51
+ await expect(computeDesiredSpecHash(requirement)).resolves.toBe('QsCl6RVzJVEwf4Nuk0D27rRtycYe2vQZMxcXLt9WUkQ=');
52
+ });
53
+
54
+ test('hashes desired specs with locale-invariant ordering', async () => {
55
+ const first = await computeDesiredSpecHash({
56
+ logicalName: 'Éclair DB',
57
+ engine: 'postgres',
58
+ extensions: ['ä', 'z', 'a']
59
+ });
60
+ const second = await computeDesiredSpecHash({
61
+ logicalName: 'Éclair DB',
62
+ engine: 'postgres',
63
+ extensions: ['z', 'a', 'ä']
64
+ });
65
+
66
+ expect(first).toBe(second);
67
+ });
68
+
69
+ test('redacts raw credential material while preserving credential refs', () => {
70
+ const redacted = redactLifecycleSecrets({
71
+ host: 'db.internal',
72
+ password: 'raw-password',
73
+ nested: {
74
+ token: 'raw-token',
75
+ credentialRef: {
76
+ resolver: 'aws_secrets_manager',
77
+ ref: 'arn:aws:secretsmanager:us-east-1:123:secret:orders'
78
+ }
79
+ },
80
+ credential_refs: {
81
+ password: {
82
+ resolver: 'vault',
83
+ ref: 'database/orders',
84
+ field: 'password'
85
+ }
86
+ }
87
+ });
88
+
89
+ expect(redacted).toEqual({
90
+ host: 'db.internal',
91
+ password: '[REDACTED]',
92
+ nested: {
93
+ token: '[REDACTED]',
94
+ credentialRef: {
95
+ resolver: 'aws_secrets_manager',
96
+ ref: 'arn:aws:secretsmanager:us-east-1:123:secret:orders'
97
+ }
98
+ },
99
+ credential_refs: {
100
+ password: {
101
+ resolver: 'vault',
102
+ ref: 'database/orders',
103
+ field: 'password'
104
+ }
105
+ }
106
+ });
107
+ });
108
+
109
+ test('recognizes terminal lifecycle states', () => {
110
+ expect(isTerminalLifecycleState('ready')).toBe(true);
111
+ expect(isTerminalLifecycleState('failed')).toBe(true);
112
+ expect(isTerminalLifecycleState('provisioning')).toBe(false);
113
+ });
114
+
115
+ test('flags secret-shaped keys', () => {
116
+ for (const key of ['password', 'PASSWORD', 'api_token', 'private_key', 'private-key', 'dsn']) {
117
+ expect(isSecretKey(key)).toBe(true);
118
+ }
119
+ for (const key of ['host', 'port', 'database', 'username']) {
120
+ expect(isSecretKey(key)).toBe(false);
121
+ }
122
+ });
123
+
124
+ test('flags secret-shaped value content', () => {
125
+ expect(containsCredentialMaterial('postgres://user:pass@db.internal:5432/orders')).toBe(true);
126
+ expect(containsCredentialMaterial('mongodb+srv://app:secret@cluster0.example.net/db')).toBe(true);
127
+ expect(containsCredentialMaterial('password=hunter2;host=db.internal')).toBe(true);
128
+ expect(containsCredentialMaterial('{"password":"hunter2"}')).toBe(true);
129
+ expect(containsCredentialMaterial('host=db.internal port=5432')).toBe(false);
130
+ expect(containsCredentialMaterial('arn:aws:secretsmanager:us-east-1:123:secret:orders')).toBe(false);
131
+ });
132
+ });