@hexclave/shared 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 (140) hide show
  1. package/dist/{admin-interface-ChuyYSXj.d.ts → admin-interface-B9TRKVnU.d.ts} +94 -12
  2. package/dist/admin-interface-B9TRKVnU.d.ts.map +1 -0
  3. package/dist/{admin-metrics-1yiWGq9z.d.ts → admin-metrics-bsOkw4YQ.d.ts} +15 -15
  4. package/dist/{admin-metrics-1yiWGq9z.d.ts.map → admin-metrics-bsOkw4YQ.d.ts.map} +1 -1
  5. package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js +1 -1
  6. package/dist/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.d.ts +5 -0
  7. package/dist/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.d.ts.map +1 -0
  8. package/dist/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.js +128 -0
  9. package/dist/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.js.map +1 -0
  10. package/dist/ai/unified-prompts/skill-site-prompt.d.ts +3 -1
  11. package/dist/ai/unified-prompts/skill-site-prompt.d.ts.map +1 -1
  12. package/dist/ai/unified-prompts/skill-site-prompt.js +11 -0
  13. package/dist/ai/unified-prompts/skill-site-prompt.js.map +1 -1
  14. package/dist/apps/apps-config.d.ts +6 -0
  15. package/dist/apps/apps-config.d.ts.map +1 -1
  16. package/dist/apps/apps-config.js +6 -0
  17. package/dist/apps/apps-config.js.map +1 -1
  18. package/dist/{client-interface-C4H4gn_G.d.ts → client-interface-DvkciaL0.d.ts} +10 -10
  19. package/dist/{client-interface-C4H4gn_G.d.ts.map → client-interface-DvkciaL0.d.ts.map} +1 -1
  20. package/dist/config/schema-fuzzer.test.js +38 -1
  21. package/dist/config/schema-fuzzer.test.js.map +1 -1
  22. package/dist/config/schema.d.ts +2 -2
  23. package/dist/config/schema.js +45 -0
  24. package/dist/config/schema.js.map +1 -1
  25. package/dist/config-authoring.d.ts +1 -1
  26. package/dist/{current-user-BCkMYzHx.d.ts → current-user-BBoN3hsn.d.ts} +17 -17
  27. package/dist/{current-user-BCkMYzHx.d.ts.map → current-user-BBoN3hsn.d.ts.map} +1 -1
  28. package/dist/{email-outbox-BRZiK0ZG.d.ts → email-outbox-CYmVerum.d.ts} +225 -225
  29. package/dist/{email-outbox-BRZiK0ZG.d.ts.map → email-outbox-CYmVerum.d.ts.map} +1 -1
  30. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js +1 -1
  31. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.d.ts +5 -0
  32. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.d.ts.map +1 -0
  33. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.js +128 -0
  34. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.js.map +1 -0
  35. package/dist/esm/ai/unified-prompts/skill-site-prompt.d.ts +3 -1
  36. package/dist/esm/ai/unified-prompts/skill-site-prompt.d.ts.map +1 -1
  37. package/dist/esm/ai/unified-prompts/skill-site-prompt.js +10 -1
  38. package/dist/esm/ai/unified-prompts/skill-site-prompt.js.map +1 -1
  39. package/dist/esm/apps/apps-config.d.ts +6 -0
  40. package/dist/esm/apps/apps-config.d.ts.map +1 -1
  41. package/dist/esm/apps/apps-config.js +6 -0
  42. package/dist/esm/apps/apps-config.js.map +1 -1
  43. package/dist/esm/config/schema-fuzzer.test.js +38 -1
  44. package/dist/esm/config/schema-fuzzer.test.js.map +1 -1
  45. package/dist/esm/config/schema.d.ts +249 -119
  46. package/dist/esm/config/schema.d.ts.map +1 -1
  47. package/dist/esm/config/schema.js +42 -1
  48. package/dist/esm/config/schema.js.map +1 -1
  49. package/dist/esm/interface/admin-interface.d.ts +83 -1
  50. package/dist/esm/interface/admin-interface.d.ts.map +1 -1
  51. package/dist/esm/interface/admin-interface.js +48 -0
  52. package/dist/esm/interface/admin-interface.js.map +1 -1
  53. package/dist/esm/interface/admin-metrics.d.ts +14 -14
  54. package/dist/esm/interface/conversations.d.ts +37 -37
  55. package/dist/esm/interface/crud/current-user.d.ts +16 -16
  56. package/dist/esm/interface/crud/email-outbox.d.ts +224 -224
  57. package/dist/esm/interface/crud/invoices.d.ts +2 -2
  58. package/dist/esm/interface/crud/products.d.ts +23 -23
  59. package/dist/esm/interface/crud/project-api-keys.d.ts +4 -4
  60. package/dist/esm/interface/crud/projects.d.ts +59 -59
  61. package/dist/esm/interface/crud/team-member-profiles.d.ts +32 -32
  62. package/dist/esm/interface/crud/transactions.d.ts +29 -29
  63. package/dist/esm/interface/crud/transactions.d.ts.map +1 -1
  64. package/dist/esm/interface/crud/users.d.ts +22 -22
  65. package/dist/esm/interface/plan-usage.d.ts +1 -1
  66. package/dist/esm/interface/webhooks.d.ts +4 -4
  67. package/dist/esm/known-errors.d.ts +4 -4
  68. package/dist/esm/schema-fields.d.ts +12 -12
  69. package/dist/esm/sessions.d.ts +9 -9
  70. package/dist/esm/utils/tar.d.ts +26 -0
  71. package/dist/esm/utils/tar.d.ts.map +1 -0
  72. package/dist/esm/utils/tar.js +136 -0
  73. package/dist/esm/utils/tar.js.map +1 -0
  74. package/dist/helpers/password.d.ts +1 -1
  75. package/dist/helpers/production-mode.d.ts +1 -1
  76. package/dist/index.d.ts +4 -4
  77. package/dist/interface/admin-interface.d.ts +3 -3
  78. package/dist/interface/admin-interface.js +48 -0
  79. package/dist/interface/admin-interface.js.map +1 -1
  80. package/dist/interface/admin-metrics.d.ts +1 -1
  81. package/dist/interface/client-interface.d.ts +1 -1
  82. package/dist/interface/conversations.d.ts +37 -37
  83. package/dist/interface/crud/current-user.d.ts +1 -1
  84. package/dist/interface/crud/email-outbox.d.ts +1 -1
  85. package/dist/interface/crud/invoices.d.ts +1 -1
  86. package/dist/interface/crud/products.d.ts +1 -1
  87. package/dist/interface/crud/project-api-keys.d.ts +1 -1
  88. package/dist/interface/crud/projects.d.ts +1 -1
  89. package/dist/interface/crud/team-member-profiles.d.ts +1 -1
  90. package/dist/interface/crud/transactions.d.ts +1 -1
  91. package/dist/interface/crud/users.d.ts +1 -1
  92. package/dist/interface/plan-usage.d.ts +1 -1
  93. package/dist/interface/server-interface.d.ts +1 -1
  94. package/dist/interface/webhooks.d.ts +1 -1
  95. package/dist/{invoices-BGLLnTlR.d.ts → invoices-CHo9YKbI.d.ts} +3 -3
  96. package/dist/{invoices-BGLLnTlR.d.ts.map → invoices-CHo9YKbI.d.ts.map} +1 -1
  97. package/dist/{known-errors-Bhd0JAgh.d.ts → known-errors-Bm4a61wL.d.ts} +5 -5
  98. package/dist/{known-errors-Bhd0JAgh.d.ts.map → known-errors-Bm4a61wL.d.ts.map} +1 -1
  99. package/dist/known-errors.d.ts +1 -1
  100. package/dist/{plan-usage-COq9I00z.d.ts → plan-usage-BaDxcLZ1.d.ts} +2 -2
  101. package/dist/{plan-usage-COq9I00z.d.ts.map → plan-usage-BaDxcLZ1.d.ts.map} +1 -1
  102. package/dist/{products-BkPf1X78.d.ts → products-D4o8A2W0.d.ts} +24 -24
  103. package/dist/{products-BkPf1X78.d.ts.map → products-D4o8A2W0.d.ts.map} +1 -1
  104. package/dist/{project-api-keys-CK9SIo0q.d.ts → project-api-keys--7V5X_UW.d.ts} +5 -5
  105. package/dist/{project-api-keys-CK9SIo0q.d.ts.map → project-api-keys--7V5X_UW.d.ts.map} +1 -1
  106. package/dist/{projects-CVqfljhv.d.ts → projects-BX5Y50kJ.d.ts} +60 -60
  107. package/dist/{projects-CVqfljhv.d.ts.map → projects-BX5Y50kJ.d.ts.map} +1 -1
  108. package/dist/{schema-BPMGhu_7.d.ts → schema-dJ_7rUCO.d.ts} +250 -120
  109. package/dist/schema-dJ_7rUCO.d.ts.map +1 -0
  110. package/dist/{schema-fields-C8sIQVTq.d.ts → schema-fields-DZtDQEEO.d.ts} +13 -13
  111. package/dist/{schema-fields-C8sIQVTq.d.ts.map → schema-fields-DZtDQEEO.d.ts.map} +1 -1
  112. package/dist/schema-fields.d.ts +1 -1
  113. package/dist/{server-interface-CRp4VVZh.d.ts → server-interface-Ra_vIHP4.d.ts} +8 -8
  114. package/dist/{server-interface-CRp4VVZh.d.ts.map → server-interface-Ra_vIHP4.d.ts.map} +1 -1
  115. package/dist/{sessions-COluKK6_.d.ts → sessions-CI-0TBQb.d.ts} +11 -11
  116. package/dist/{sessions-COluKK6_.d.ts.map → sessions-CI-0TBQb.d.ts.map} +1 -1
  117. package/dist/sessions.d.ts +1 -1
  118. package/dist/{team-member-profiles-CgYXR-Rx.d.ts → team-member-profiles-BoDEqx-0.d.ts} +33 -33
  119. package/dist/{team-member-profiles-CgYXR-Rx.d.ts.map → team-member-profiles-BoDEqx-0.d.ts.map} +1 -1
  120. package/dist/{transactions-7q13mxhG.d.ts → transactions-CHNUJ42J.d.ts} +30 -30
  121. package/dist/transactions-CHNUJ42J.d.ts.map +1 -0
  122. package/dist/{users-7MKfEyyq.d.ts → users-DHNRwoSz.d.ts} +24 -24
  123. package/dist/{users-7MKfEyyq.d.ts.map → users-DHNRwoSz.d.ts.map} +1 -1
  124. package/dist/utils/tar.d.ts +26 -0
  125. package/dist/utils/tar.d.ts.map +1 -0
  126. package/dist/utils/tar.js +138 -0
  127. package/dist/utils/tar.js.map +1 -0
  128. package/dist/{webhooks-C5gG85Ce.d.ts → webhooks-8Ts1Clcb.d.ts} +5 -5
  129. package/dist/{webhooks-C5gG85Ce.d.ts.map → webhooks-8Ts1Clcb.d.ts.map} +1 -1
  130. package/package.json +1 -1
  131. package/src/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.ts +128 -0
  132. package/src/ai/unified-prompts/skill-site-prompt.ts +15 -0
  133. package/src/apps/apps-config.ts +9 -0
  134. package/src/config/schema-fuzzer.test.ts +37 -0
  135. package/src/config/schema.ts +193 -0
  136. package/src/interface/admin-interface.ts +173 -0
  137. package/src/utils/tar.tsx +261 -0
  138. package/dist/admin-interface-ChuyYSXj.d.ts.map +0 -1
  139. package/dist/schema-BPMGhu_7.d.ts.map +0 -1
  140. package/dist/transactions-7q13mxhG.d.ts.map +0 -1
@@ -1,21 +1,21 @@
1
1
  import { n as Result } from "./results-DP3BzoL6.js";
2
- import { u as EnvironmentConfigOverrideOverride } from "./schema-BPMGhu_7.js";
3
- import { a as KnownErrors } from "./known-errors-Bhd0JAgh.js";
2
+ import { p as EnvironmentConfigOverrideOverride } from "./schema-dJ_7rUCO.js";
3
+ import { a as KnownErrors } from "./known-errors-Bm4a61wL.js";
4
4
  import { n as MoneyAmount } from "./currency-constants-Cq_q8twn.js";
5
- import { g as branchConfigSourceSchema, o as RestrictedReason, t as ConfigAgentRunApi } from "./schema-fields-C8sIQVTq.js";
6
- import { i as RefreshToken, r as InternalSession, t as AccessToken } from "./sessions-COluKK6_.js";
7
- import { J as UserActivityResponse, K as MetricsUserCounts, R as MetricsResponse, a as AnalyticsClickmapKind, c as AnalyticsClickmapResponse, r as AnalyticsClickmapDevice, u as AnalyticsClickmapTokenResponse } from "./admin-metrics-1yiWGq9z.js";
8
- import { t as EmailOutboxCrud } from "./email-outbox-BRZiK0ZG.js";
5
+ import { g as branchConfigSourceSchema, o as RestrictedReason, t as ConfigAgentRunApi } from "./schema-fields-DZtDQEEO.js";
6
+ import { i as RefreshToken, r as InternalSession, t as AccessToken } from "./sessions-CI-0TBQb.js";
7
+ import { J as UserActivityResponse, K as MetricsUserCounts, R as MetricsResponse, a as AnalyticsClickmapKind, c as AnalyticsClickmapResponse, r as AnalyticsClickmapDevice, u as AnalyticsClickmapTokenResponse } from "./admin-metrics-bsOkw4YQ.js";
8
+ import { t as EmailOutboxCrud } from "./email-outbox-CYmVerum.js";
9
9
  import { t as InternalEmailsCrud } from "./emails-Ba4yEaCS.js";
10
10
  import { t as InternalApiKeysCrud } from "./internal-api-keys-D8IYDodH.js";
11
11
  import { t as ProjectPermissionDefinitionsCrud } from "./project-permissions-kdi675F-.js";
12
- import { r as ProjectsCrud } from "./projects-CVqfljhv.js";
12
+ import { r as ProjectsCrud } from "./projects-BX5Y50kJ.js";
13
13
  import { a as AdminListSessionReplayChunksResponse, i as AdminListSessionReplayChunksOptions, n as AdminGetSessionReplayChunkEventsResponse, o as AdminListSessionReplaysOptions, r as AdminGetSessionReplayResponse, s as AdminListSessionReplaysResponse, t as AdminGetSessionReplayAllEventsResponse } from "./session-replays-CXqhDpZq.js";
14
14
  import { t as SvixTokenCrud } from "./svix-token-BsMrLGvy.js";
15
15
  import { t as TeamPermissionDefinitionsCrud } from "./team-permissions-DqOpaOWh.js";
16
- import { i as TransactionType, n as Transaction } from "./transactions-7q13mxhG.js";
17
- import { n as PlanUsageResponse } from "./plan-usage-COq9I00z.js";
18
- import { n as ServerAuthApplicationOptions, t as HexclaveServerInterface } from "./server-interface-CRp4VVZh.js";
16
+ import { i as TransactionType, n as Transaction } from "./transactions-CHNUJ42J.js";
17
+ import { n as PlanUsageResponse } from "./plan-usage-BaDxcLZ1.js";
18
+ import { n as ServerAuthApplicationOptions, t as HexclaveServerInterface } from "./server-interface-Ra_vIHP4.js";
19
19
  import * as yup$1 from "yup";
20
20
 
21
21
  //#region src/interface/admin-interface.d.ts
@@ -31,6 +31,71 @@ type ChatContent = Array<{
31
31
  argsText: string;
32
32
  result: any;
33
33
  }>;
34
+ type AdminDeploymentRunJson = {
35
+ id: string;
36
+ service_id: string;
37
+ status: "queued" | "building" | "ready" | "error" | "canceled";
38
+ target: string;
39
+ triggered_by: string;
40
+ url: string | null;
41
+ error: string | null;
42
+ created_at_millis: number;
43
+ finished_at_millis: number | null;
44
+ };
45
+ type AdminDeploymentEnvVarJson = {
46
+ key: string;
47
+ type: "plain" | "secret" | "connection";
48
+ value: string | null;
49
+ secret_key: string | null;
50
+ };
51
+ type AdminDeploymentEnvVarOptions = {
52
+ type?: undefined;
53
+ value: string;
54
+ } | {
55
+ type: "secret";
56
+ key: string;
57
+ } | {
58
+ type: "connection";
59
+ value: string;
60
+ };
61
+ type AdminDeploymentServiceJson = {
62
+ id: string;
63
+ type: "vercel";
64
+ framework: string | null;
65
+ install_command: string | null;
66
+ build_command: string | null;
67
+ output_directory: string | null;
68
+ root_directory: string | null;
69
+ provisioned: boolean;
70
+ status: "not_deployed" | "queued" | "building" | "deployed" | "failed" | "canceled";
71
+ has_successful_deploy: boolean;
72
+ url: string | null;
73
+ env: AdminDeploymentEnvVarJson[];
74
+ domains: {
75
+ hostname: string;
76
+ is_primary: boolean;
77
+ verified: boolean;
78
+ }[];
79
+ latest_run: AdminDeploymentRunJson | null;
80
+ };
81
+ type AdminDeploymentServiceBuildOptions = {
82
+ framework?: string | null;
83
+ install_command?: string | null;
84
+ build_command?: string | null;
85
+ output_directory?: string | null;
86
+ root_directory?: string | null;
87
+ };
88
+ type AdminDeploymentDomainJson = {
89
+ hostname: string;
90
+ is_primary: boolean;
91
+ verified: boolean;
92
+ pending_first_deploy: boolean;
93
+ dns_records: {
94
+ type: string;
95
+ name: string;
96
+ value: string;
97
+ }[];
98
+ };
34
99
  type AdminAuthApplicationOptions = ServerAuthApplicationOptions & ({
35
100
  superSecretAdminKey: string;
36
101
  } | {
@@ -371,7 +436,24 @@ declare class HexclaveAdminInterface extends HexclaveServerInterface {
371
436
  }): Promise<EmailOutboxCrud["Server"]["List"]>;
372
437
  getOutboxEmail(id: string): Promise<EmailOutboxCrud["Server"]["Read"]>;
373
438
  updateOutboxEmail(id: string, data: EmailOutboxCrud["Server"]["Update"]): Promise<EmailOutboxCrud["Server"]["Read"]>;
439
+ listDeploymentServices(): Promise<AdminDeploymentServiceJson[]>;
440
+ createDeploymentService(id: string, build: AdminDeploymentServiceBuildOptions): Promise<AdminDeploymentServiceJson>;
441
+ updateDeploymentService(serviceId: string, update: AdminDeploymentServiceBuildOptions & {
442
+ env?: Record<string, AdminDeploymentEnvVarOptions>;
443
+ }): Promise<AdminDeploymentServiceJson>;
444
+ deleteDeploymentService(serviceId: string): Promise<void>;
445
+ listDeploymentRuns(serviceId: string, options?: {
446
+ limit?: number;
447
+ }): Promise<AdminDeploymentRunJson[]>;
448
+ getDeploymentRunLogs(runId: string, options?: {
449
+ signal?: AbortSignal;
450
+ }): Promise<string>;
451
+ addDeploymentServiceDomain(serviceId: string, hostname: string, options?: {
452
+ isPrimary?: boolean;
453
+ }): Promise<void>;
454
+ getDeploymentServiceDomain(serviceId: string, hostname: string): Promise<AdminDeploymentDomainJson>;
455
+ deleteDeploymentServiceDomain(serviceId: string, hostname: string): Promise<void>;
374
456
  }
375
457
  //#endregion
376
- export { InternalApiKeyCreateCrudResponse as a, InternalApiKeyCreateCrudRequest as i, ChatContent as n, HexclaveAdminInterface as r, AdminAuthApplicationOptions as t };
377
- //# sourceMappingURL=admin-interface-ChuyYSXj.d.ts.map
458
+ export { AdminDeploymentRunJson as a, ChatContent as c, InternalApiKeyCreateCrudResponse as d, AdminDeploymentEnvVarOptions as i, HexclaveAdminInterface as l, AdminDeploymentDomainJson as n, AdminDeploymentServiceBuildOptions as o, AdminDeploymentEnvVarJson as r, AdminDeploymentServiceJson as s, AdminAuthApplicationOptions as t, InternalApiKeyCreateCrudRequest as u };
459
+ //# sourceMappingURL=admin-interface-B9TRKVnU.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-interface-B9TRKVnU.d.ts","names":[],"sources":["../src/interface/admin-interface.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;KA+BK,qBAAA,GAAwB,KAAA,CAAI,SAAS,QAAQ,wBAAA;AAAA,KAEtC,WAAA,GAAc,KAAK;EACzB,IAAA;EAAc,IAAA;AAAA;EACd,IAAA;EAAmB,QAAA;EAAkB,UAAA;EAAoB,IAAA;EAAW,QAAA;EAAkB,MAAA;AAAA;AAAA,KAGhF,sBAAA;EACV,EAAA;EACA,UAAA;EACA,MAAA;EACA,MAAA;EACA,YAAA;EACA,GAAA;EACA,KAAA;EACA,iBAAA;EACA,kBAAA;AAAA;AAAA,KAQU,yBAAA;EACV,GAAA;EACA,IAAA;EACA,KAAA;EACA,UAAA;AAAA;AAAA,KAOU,4BAAA;EACN,IAAA;EAAkB,KAAA;AAAA;EAClB,IAAA;EAAgB,GAAA;AAAA;EAChB,IAAA;EAAoB,KAAA;AAAA;AAAA,KAEd,0BAAA;EACV,EAAA;EACA,IAAA;EACA,SAAA;EACA,eAAA;EACA,aAAA;EACA,gBAAA;EACA,cAAA;EACA,WAAA;EACA,MAAA;EACA,qBAAA;EACA,GAAA;EACA,GAAA,EAAK,yBAAA;EACL,OAAA;IAAW,QAAA;IAAkB,UAAA;IAAqB,QAAA;EAAA;EAClD,UAAA,EAAY,sBAAsB;AAAA;AAAA,KAKxB,kCAAA;EACV,SAAA;EACA,eAAA;EACA,aAAA;EACA,gBAAA;EACA,cAAA;AAAA;AAAA,KAGU,yBAAA;EACV,QAAA;EACA,UAAA;EACA,QAAA;EACA,oBAAA;EACA,WAAA;IAAe,IAAA;IAAc,IAAA;IAAc,KAAA;EAAA;AAAA;AAAA,KAGjC,2BAAA,GAA8B,4BAAA;EAEtC,mBAAA;AAAA;EAGA,mBAAA,EAAqB,eAAA,UAAyB,OAAA;AAAA;AAAA,KAItC,+BAAA;EACV,0BAAA;EACA,qBAAA;EACA,0BAAA;EACA,iBAAA;EACA,WAAA;AAAA;AAAA,KAGU,gCAAA,GAAmC,mBAAmB;EAChE,sBAAA;EACA,iBAAA;EACA,sBAAA;AAAA;AAAA,cAIW,sBAAA,SAA+B,uBAAA;EAAA,SACd,OAAA,EAAS,2BAAA;cAAT,OAAA,EAAS,2BAAA;EAIxB,gBAAA,CAAiB,IAAA,UAAc,OAAA,EAAS,WAAA,EAAa,OAAA,EAAS,eAAA,SAAwB,WAAA,aAA8B,OAAA,CAAA,QAAA;;;;;;YAgBjH,kCAAA,kBAAoD,WAAA,OAAkB,WAAA,GACpF,IAAA,UACA,cAAA,EAAgB,WAAA,EAChB,gBAAA,EAAkB,eAAA,SAClB,aAAA,WAAwB,CAAA,KACvB,OAAA,CAAQ,MAAA,CACT,QAAA;IACE,UAAA;MACE,WAAA,EAAa,WAAA;MACb,YAAA,EAAc,YAAA;IAAA;EAAA,GAGlB,YAAA,CAAa,CAAA;EAcT,UAAA,IAAc,OAAA,CAAQ,YAAA;EAWtB,aAAA,CAAc,MAAA,EAAQ,YAAA,sBAAkC,OAAA,CAAQ,YAAA;EAehE,oBAAA,CACJ,OAAA,EAAS,+BAAA,GACR,OAAA,CAAQ,gCAAA;EAeL,mBAAA,IAAuB,OAAA,CAAQ,mBAAA;EAM/B,wBAAA,CAAyB,EAAA,WAAU,OAAA;EAenC,iBAAA,CAAkB,EAAA,UAAY,OAAA,EAAS,eAAA,GAAkB,OAAA,CAAQ,mBAAA;EAKjE,0BAAA,IAA8B,OAAA;IAAU,EAAA;IAAY,YAAA;IAAsB,QAAA;IAAmB,UAAA;EAAA;EAM7F,uBAAA,IAA2B,OAAA;IAAU,EAAA;IAAY,YAAA;IAAsB,QAAA;IAAuC,UAAA;IAAoB,cAAA;EAAA;EAMlI,gBAAA,CAAiB,OAAA;IAAW,YAAA;IAAuB,QAAA;IAA2B,UAAA;EAAA,IAAwB,OAAA;IAAU,EAAA;EAAA;EAehH,gBAAA,CAAiB,EAAA,UAAY,IAAA;IAAQ,YAAA;IAAuB,QAAA;IAAkC,UAAA;IAAqB,cAAA;EAAA,IAAmC,OAAA;EActJ,gBAAA,CAAiB,EAAA,WAAa,OAAA;EAU9B,eAAA,IAAmB,OAAA;IAAU,EAAA;IAAY,YAAA;EAAA;EAQzC,6BAAA,IAAiC,OAAA,CAAQ,6BAAA;EAMzC,sCAAA,CACJ,OAAA;IAAW,KAAA;IAAe,MAAA;IAAiB,KAAA;EAAA,IAC1C,OAAA;IAAU,KAAA,EAAO,6BAAA;IAAkD,UAAA;EAAA;EAahE,8BAAA,CAA+B,IAAA,EAAM,6BAAA,sBAAmD,OAAA,CAAQ,6BAAA;EAehG,8BAAA,CAA+B,YAAA,UAAsB,IAAA,EAAM,6BAAA,sBAAmD,OAAA,CAAQ,6BAAA;EAetH,8BAAA,CAA+B,YAAA,WAAuB,OAAA;EAQtD,gCAAA,IAAoC,OAAA,CAAQ,gCAAA;EAM5C,iCAAA,CAAkC,IAAA,EAAM,gCAAA,sBAAsD,OAAA,CAAQ,gCAAA;EAetG,iCAAA,CAAkC,YAAA,UAAsB,IAAA,EAAM,gCAAA,sBAAsD,OAAA,CAAQ,gCAAA;EAe5H,iCAAA,CAAkC,YAAA,WAAuB,OAAA;EAQzD,YAAA,IAAgB,OAAA,CAAQ,aAAA;EAexB,aAAA,IAAiB,OAAA;EAUjB,UAAA,CACJ,gBAAA,YACA,OAAA;IACE,YAAA;IACA,QAAA;IACA,OAAA;IACA,EAAA;IACA,MAAA;IACA,KAAA;IACA,KAAA;EAAA,IAED,OAAA,CAAQ,eAAA;EAoDL,YAAA,IAAgB,OAAA,CAAQ,iBAAA;EAWxB,eAAA,CAAgB,MAAA,WAAiB,OAAA,CAAQ,oBAAA;EAWzC,oBAAA,CAAqB,OAAA;IACzB,IAAA,EAAM,qBAAA;IACN,eAAA;IACA,UAAA;IACA,WAAA;IACA,WAAA;IACA,OAAA;IACA,SAAA;IACA,MAAA,GAAS,uBAAA;IACT,kBAAA;IACA,kBAAA;IACA,QAAA;IACA,KAAA;IACA,KAAA;EAAA,IACE,OAAA,CAAQ,yBAAA;EAaN,4BAAA,CAA6B,OAAA;IACjC,MAAA;EAAA,IACE,OAAA,CAAQ,8BAAA;EAaN,oBAAA,IAAwB,OAAA,CAAQ,iBAAA;EAWhC,aAAA,CAAc,IAAA;IAClB,eAAA;IACA,YAAA;MACE,IAAA;MACA,IAAA;MACA,QAAA;MACA,QAAA;MACA,YAAA;MACA,WAAA;IAAA;EAAA,IAEA,OAAA;IAAU,OAAA;IAAkB,aAAA;EAAA;EAW1B,eAAA,CAAgB,IAAA;IACpB,WAAA;EAAA,IACE,OAAA;IAAU,OAAA;IAAkB,aAAA;EAAA;EAW1B,cAAA,IAAkB,OAAA,CAAQ,kBAAA;EAO1B,yBAAA,CAA0B,IAAA;IAC9B,SAAA;IACA,iBAAA;EAAA,IACE,OAAA;IACA,SAAA;IACA,SAAA;IACA,iBAAA;IACA,mBAAA;IACA,MAAA;EAAA;EAYE,uBAAA,CAAwB,IAAA;IAC5B,SAAA;IACA,SAAA;IACA,iBAAA;EAAA,IACE,OAAA;IAAU,MAAA;EAAA;EAWR,uBAAA,IAA2B,OAAA;IAC7B,KAAA,EAAO,KAAA;MACL,SAAA;MACA,SAAA;MACA,iBAAA;MACA,MAAA;MACA,mBAAA;IAAA;EAAA;EASA,wBAAA,CAAyB,IAAA;IAC7B,gBAAA;EAAA,IACE,OAAA;IAAU,MAAA;EAAA;EAWR,yBAAA,CAA0B,IAAA;IAC9B,SAAA;EAAA,IACE,OAAA;IAAU,MAAA;EAAA;EAWR,yBAAA,CACJ,KAAA,UACA,WAAA,WACC,OAAA;EAiBG,eAAA,CAAgB,QAAA,UAAkB,OAAA,QAAe,OAAA;EAcjD,gBAAA,CAAiB,QAAA,WAAmB,OAAA;IAAU,QAAA,EAAU,KAAA;EAAA;EASxD,kBAAA,CAAmB,OAAA;IACvB,OAAA;IACA,cAAA;IACA,UAAA;IACA,iBAAA;IACA,eAAA;IACA,cAAA;EAAA,IACE,OAAA;IAAU,IAAA;IAAc,gBAAA,GAAmB,MAAA;EAAA;EAkBzC,2BAAA,CAA4B,iBAAA,WAA4B,OAAA;IAAU,UAAA;EAAA;EAalE,gBAAA,CAAiB,WAAA,WAAsB,OAAA;IAAU,EAAA;EAAA;EAiBjD,aAAA,CAAc,EAAA,WAAa,OAAA;IAAU,YAAA;IAAsB,UAAA;EAAA;EAS3D,gBAAA,CAAiB,EAAA,UAAY,SAAA,WAAoB,OAAA;EAgBjD,gBAAA,CAAiB,EAAA,WAAa,OAAA;EAU9B,mBAAA,CAAoB,EAAA,UAAY,SAAA,UAAmB,OAAA,0BAAiC,OAAA;IAAU,aAAA;EAAA;EAe9F,SAAA,IAAa,OAAA;IAAU,aAAA;EAAA;EASvB,iBAAA,CAAkB,KAAA,yCAA8C,OAAA;IAAU,aAAA;EAAA;EAS1E,iBAAA,CAAkB,KAAA,wCAA6C,cAAA,OAAqB,MAAA,GAAS,qBAAA,GAAwB,OAAA;EAiBrH,oBAAA,CAAqB,KAAA,wCAA6C,sBAAA,QAA8B,OAAA;EAchG,qBAAA,IAAyB,OAAA,CAAQ,qBAAA;EAUjC,wBAAA,IAA4B,OAAA;EA8ThB;;;;;;EAhTZ,iBAAA,CAAkB,KAAA,WAAgB,OAAA,CAAQ,iBAAA;EA8VwC;;;;;;EA9UlF,mBAAA,CAAoB,OAAA;IAAW,YAAA,EAAc,iCAAA;IAAmC,iBAAA;EAAA,IAA8B,OAAA;IAAU,MAAA;IAAmB,EAAA;EAAA;EAiZ9D;;;;;;EA3X7E,oBAAA,CAAqB,KAAA,WAAgB,OAAA;IAAU,MAAA;EAAA;EAjzBY;;;;;;EAo0B3D,oBAAA,CAAqB,KAAA,UAAe,OAAA;IAAW,iBAAA;IAA2B,aAAA;EAAA,IAA2B,OAAA;IAAU,MAAA;EAAA;EAiB/G,uBAAA,CAAwB,KAAA,4BAAiC,IAAA,aAAiB,OAAA;EAa1E,mBAAA,CAAoB,WAAA,WAAsB,OAAA;IAAU,EAAA;EAAA;EAiBpD,mBAAA,CAAoB,EAAA,WAAa,OAAA;EAUjC,aAAA,IAAiB,OAAA;IAAU,GAAA;EAAA;EAe3B,oBAAA,IAAwB,OAAA;IAAiB,UAAA;IAAoB,eAAA;IAA0B,iBAAA;IAA4B,eAAA;EAAA;EAanH,uBAAA,IAA2B,OAAA;IAAU,QAAA;IAAkB,OAAA,EAAS,KAAA;MAAQ,EAAA;MAAY,IAAA;MAAc,OAAA;MAAkB,SAAA;MAAoB,WAAA;IAAA;EAAA;EAiBxI,0BAAA,CAA2B,QAAA,UAAkB,OAAA,EAAS,MAAA,yBAA+B,OAAA;EAYrF,gCAAA,IAAoC,OAAA;IAAU,aAAA;EAAA;EAe9C,gBAAA,CAAiB,MAAA;IAAW,MAAA;IAAiB,KAAA;IAAgB,IAAA,GAAO,eAAA;IAAiB,YAAA;IAA2C,UAAA;EAAA,IAAwB,OAAA;IAAU,YAAA,EAAc,WAAA;IAAe,UAAA;EAAA;EAgB/L,kBAAA,CAAmB,MAAA,GAAS,8BAAA,GAAiC,OAAA,CAAQ,+BAAA;EAmBrE,gBAAA,CAAiB,eAAA,WAA0B,OAAA,CAAQ,6BAAA;EASnD,uBAAA,CAAwB,eAAA,UAAyB,MAAA,GAAS,mCAAA,GAAsC,OAAA,CAAQ,oCAAA;EAYxG,2BAAA,CAA4B,eAAA,UAAyB,OAAA,WAAkB,OAAA,CAAQ,wCAAA;EAS/E,sBAAA,CAAuB,eAAA,UAAyB,OAAA;IAAY,MAAA;IAAiB,KAAA;EAAA,IAAmB,OAAA,CAAQ,sCAAA;EAYxG,iBAAA,CAAkB,OAAA;IACtB,IAAA;IACA,EAAA;IACA,SAAA;IACA,SAAA,EAAW,WAAA;IAv6BW;;;;;;;;IAg7BtB,SAAA;EAAA,IACE,OAAA;IAAU,OAAA;IAAkB,mBAAA;EAAA;EAuB1B,sCAAA,CACJ,UAAA;IAAc,0BAAA;EAAA,GACd,KAAA,YACC,OAAA;IACD,cAAA,EAAgB,KAAA;MACd,EAAA;MACA,YAAA;MACA,aAAA;MACA,iBAAA,EAAmB,gBAAA;IAAA;IAErB,oBAAA;EAAA;EAgBI,gBAAA,CAAiB,OAAA;IAAY,MAAA;IAAiB,aAAA;IAAwB,OAAA;IAAkB,KAAA;IAAgB,MAAA;EAAA,IAAoB,OAAA,CAAQ,eAAA;EAepI,cAAA,CAAe,EAAA,WAAa,OAAA,CAAQ,eAAA;EASpC,iBAAA,CAAkB,EAAA,UAAY,IAAA,EAAM,eAAA,uBAAsC,OAAA,CAAQ,eAAA;EAiBlF,sBAAA,IAA0B,OAAA,CAAQ,0BAAA;EASlC,uBAAA,CAAwB,EAAA,UAAY,KAAA,EAAO,kCAAA,GAAqC,OAAA,CAAQ,0BAAA;EAexF,uBAAA,CAAwB,SAAA,UAAmB,MAAA,EAAQ,kCAAA;IAEvD,GAAA,GAAM,MAAA,SAAe,4BAAA;EAAA,IACnB,OAAA,CAAQ,0BAAA;EAeN,uBAAA,CAAwB,SAAA,WAAoB,OAAA;EAQ5C,kBAAA,CAAmB,SAAA,UAAmB,OAAA;IAAY,KAAA;EAAA,IAAmB,OAAA,CAAQ,sBAAA;EAS7E,oBAAA,CAAqB,KAAA,UAAe,OAAA;IAAY,MAAA,GAAS,WAAA;EAAA,IAAgB,OAAA;EAazE,0BAAA,CAA2B,SAAA,UAAmB,QAAA,UAAkB,OAAA;IAAY,SAAA;EAAA,IAAwB,OAAA;EAcpG,0BAAA,CAA2B,SAAA,UAAmB,QAAA,WAAmB,OAAA,CAAQ,yBAAA;EASzE,6BAAA,CAA8B,SAAA,UAAmB,QAAA,WAAmB,OAAA;AAAA"}
@@ -150,23 +150,23 @@ declare const MetricsEmailOverviewSchema: yup.ObjectSchema<{
150
150
  activity: number;
151
151
  }[];
152
152
  daily_emails_by_status: {
153
- ok: number;
154
153
  error: number;
155
154
  date: string;
155
+ ok: number;
156
156
  in_progress: number;
157
157
  }[];
158
158
  emails_sent: number;
159
159
  recent_emails: {
160
- id: string;
161
- created_at_millis: number;
162
160
  status: string;
161
+ id: string;
163
162
  subject: string;
163
+ created_at_millis: number;
164
164
  }[];
165
165
  deliverability_status: {
166
166
  error: number;
167
- bounced: number;
168
167
  in_progress: number;
169
168
  delivered: number;
169
+ bounced: number;
170
170
  };
171
171
  deliverability_rate: number;
172
172
  bounce_rate: number;
@@ -369,7 +369,7 @@ declare const UserActivityResponseBodySchema: yup.ObjectSchema<{
369
369
  data_points: undefined;
370
370
  }, "">;
371
371
  declare const AnalyticsClickmapKindSchema: yup.StringSchema<"team_user_hour_of_week" | "session_replay_clicks", yup.AnyObject, undefined, "">;
372
- declare const AnalyticsClickmapDeviceSchema: yup.StringSchema<"mobile" | "tv" | "widescreen" | "desktop" | "laptop" | "tablet", yup.AnyObject, undefined, "">;
372
+ declare const AnalyticsClickmapDeviceSchema: yup.StringSchema<"tv" | "widescreen" | "desktop" | "laptop" | "tablet" | "mobile", yup.AnyObject, undefined, "">;
373
373
  declare const AnalyticsClickmapTokenResponseBodySchema: yup.ObjectSchema<{
374
374
  token: string;
375
375
  origin: string;
@@ -403,9 +403,9 @@ declare const AnalyticsClickmapResponseBodySchema: yup.ObjectSchema<{
403
403
  replays: number;
404
404
  }[];
405
405
  users: {
406
- id: string;
407
406
  primary_email: string | null;
408
407
  display_name: string | null;
408
+ id: string;
409
409
  profile_image_url: string | null;
410
410
  clicks: number;
411
411
  replays: number;
@@ -443,9 +443,9 @@ declare const AnalyticsClickmapResponseBodySchema: yup.ObjectSchema<{
443
443
  elements: never[];
444
444
  }, "">;
445
445
  declare const MetricsActiveUsersByCountrySchema: yup.MixedSchema<Record<string, {
446
- id: string;
447
446
  primary_email: string | null;
448
447
  display_name: string | null;
448
+ id: string;
449
449
  profile_image_url: string | null;
450
450
  signed_up_at_millis: number;
451
451
  last_active_at_millis: number | null;
@@ -471,25 +471,25 @@ declare const MetricsResponseBodySchema: yup.ObjectSchema<{
471
471
  }[];
472
472
  users_by_country: Record<string, number>;
473
473
  active_users_by_country: Record<string, {
474
- id: string;
475
474
  primary_email: string | null;
476
475
  display_name: string | null;
476
+ id: string;
477
477
  profile_image_url: string | null;
478
478
  signed_up_at_millis: number;
479
479
  last_active_at_millis: number | null;
480
480
  }[]>;
481
481
  recently_registered: {
482
- id: string;
483
482
  primary_email: string | null;
484
483
  display_name: string | null;
484
+ id: string;
485
485
  profile_image_url: string | null;
486
486
  signed_up_at_millis: number;
487
487
  last_active_at_millis: number | null;
488
488
  }[];
489
489
  recently_active: {
490
- id: string;
491
490
  primary_email: string | null;
492
491
  display_name: string | null;
492
+ id: string;
493
493
  profile_image_url: string | null;
494
494
  signed_up_at_millis: number;
495
495
  last_active_at_millis: number | null;
@@ -563,23 +563,23 @@ declare const MetricsResponseBodySchema: yup.ObjectSchema<{
563
563
  emails_by_status: Record<string, number>;
564
564
  total_emails: number;
565
565
  daily_emails_by_status: {
566
- ok: number;
567
566
  error: number;
568
567
  date: string;
568
+ ok: number;
569
569
  in_progress: number;
570
570
  }[];
571
571
  emails_sent: number;
572
572
  recent_emails: {
573
- id: string;
574
- created_at_millis: number;
575
573
  status: string;
574
+ id: string;
576
575
  subject: string;
576
+ created_at_millis: number;
577
577
  }[];
578
578
  deliverability_status: {
579
579
  error: number;
580
- bounced: number;
581
580
  in_progress: number;
582
581
  delivered: number;
582
+ bounced: number;
583
583
  };
584
584
  deliverability_rate: number;
585
585
  bounce_rate: number;
@@ -804,4 +804,4 @@ type AnalyticsClickmapOptions = {
804
804
  };
805
805
  //#endregion
806
806
  export { MetricsNamedCount as A, MetricsTopCountry as B, MetricsDataPoint as C, MetricsEmailOverviewSchema as D, MetricsEmailOverview as E, MetricsRecentEmailSchema as F, MetricsTopRegionSchema as G, MetricsTopReferrer as H, MetricsRecentUser as I, UserActivityResponse as J, MetricsUserCounts as K, MetricsRecentUserSchema as L, MetricsPaymentsOverview as M, MetricsPaymentsOverviewSchema as N, MetricsLoginMethodEntry as O, MetricsRecentEmail as P, MetricsResponse as R, MetricsDailyRevenuePointSchema as S, MetricsDataPointsSchema as T, MetricsTopReferrerSchema as U, MetricsTopCountrySchema as V, MetricsTopRegion as W, UserActivityResponseBodySchema as Y, MetricsAuthOverview as _, AnalyticsClickmapKind as a, MetricsDailyEmailStatusBreakdownSchema as b, AnalyticsClickmapResponse as c, AnalyticsClickmapTokenResponseBodySchema as d, MetricsActiveUsersByCountrySchema as f, MetricsAnalyticsOverviewSchema as g, MetricsAnalyticsOverview as h, AnalyticsClickmapDeviceSchema as i, MetricsNamedCountSchema as j, MetricsLoginMethodEntrySchema as k, AnalyticsClickmapResponseBodySchema as l, MetricsActivitySplitSchema as m, AnalyticsClickmapCellSchema as n, AnalyticsClickmapKindSchema as o, MetricsActivitySplit as p, MetricsUserCountsSchema as q, AnalyticsClickmapDevice as r, AnalyticsClickmapOptions as s, AnalyticsClickmapCell as t, AnalyticsClickmapTokenResponse as u, MetricsAuthOverviewSchema as v, MetricsDataPointSchema as w, MetricsDailyRevenuePoint as x, MetricsDailyEmailStatusBreakdown as y, MetricsResponseBodySchema as z };
807
- //# sourceMappingURL=admin-metrics-1yiWGq9z.d.ts.map
807
+ //# sourceMappingURL=admin-metrics-bsOkw4YQ.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin-metrics-1yiWGq9z.d.ts","names":[],"sources":["../src/interface/admin-metrics.ts"],"mappings":";;;cAWa,sBAAA,EAAsB,GAAA,CAAA,YAAA;;;GAGvB,GAAA,CAAA,SAAA;;;;cAEC,uBAAA,EAAuB,GAAA,CAAA,WAAA;;;KAA6C,GAAA,CAAA,SAAA;AAAA,cAEpE,0BAAA,EAA0B,GAAA,CAAA,YAAA;;;;;;;;;;;;;;;;;GAK3B,GAAA,CAAA,SAAA;;;;;;cAEC,yBAAA,EAAyB,GAAA,CAAA,YAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAS1B,GAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;cAEC,6BAAA,EAA6B,GAAA,CAAA,YAAA;;;;;;;;;;;;;;;;;;;;;;cAW7B,wBAAA,EAAwB,GAAA,CAAA,YAAA;;;;;GAKzB,GAAA,CAAA,SAAA;;;;;;cAEC,sCAAA,EAAsC,GAAA,CAAA,YAAA;;;;;GAKvC,GAAA,CAAA,SAAA;;;;;;cAEC,0BAAA,EAA0B,GAAA,CAAA,YAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAkB1B,8BAAA,EAA8B,GAAA,CAAA,YAAA;;;;GAI/B,GAAA,CAAA,SAAA;;;;;cAEC,wBAAA,EAAwB,GAAA,CAAA,YAAA;;;GAGzB,GAAA,CAAA,SAAA;;;;cAIC,uBAAA,EAAuB,GAAA,CAAA,YAAA;;;GAGxB,GAAA,CAAA,SAAA;;;;cAEC,sBAAA,EAAsB,GAAA,CAAA,YAAA;;;;GAIvB,GAAA,CAAA,SAAA;;;;;cAEC,uBAAA,EAAuB,GAAA,CAAA,YAAA;;;GAGxB,GAAA,CAAA,SAAA;;;;cAEC,8BAAA,EAA8B,GAAA,CAAA,YAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0C/B,GAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAEC,6BAAA,EAA6B,GAAA,CAAA,YAAA;;;GAG9B,GAAA,CAAA,SAAA;;;;cAUC,uBAAA,EAAuB,GAAA,CAAA,YAAA;;;;;;;GAOP,GAAA,CAAA,SAAA;;;;;;;;cAKhB,8BAAA,EAA8B,GAAA,CAAA,YAAA;;;;;GAE/B,GAAA,CAAA,SAAA;;;cAEC,2BAAA,EAA2B,GAAA,CAAA,YAAA,qDAAA,GAAA,CAAA,SAAA;AAAA,cAC3B,6BAAA,EAA6B,GAAA,CAAA,YAAA,mEAAA,GAAA,CAAA,SAAA;AAAA,cAE7B,wCAAA,EAAwC,GAAA,CAAA,YAAA;;;;GAIzC,GAAA,CAAA,SAAA;;;;;cAEC,2BAAA,EAA2B,GAAA,CAAA,YAAA;;;;GAI5B,GAAA,CAAA,SAAA;;;;;cAEC,mCAAA,EAAmC,GAAA,CAAA,YAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CpC,GAAA,CAAA,SAAA;;;;;;;;;;cAQC,iCAAA,EAAiC,GAAA,CAAA,WAAA,CAAA,MAAA;;;;;;;;cAKjC,yBAAA,EAAyB,GAAA,CAAA,YAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6BzB,uBAAA,EAAuB,GAAA,CAAA,YAAA;;;GAGxB,GAAA,CAAA,SAAA;;;;KAGA,gBAAA,GAAmB,GAAA,CAAI,SAAS,QAAQ,sBAAA;AAAA,KACxC,oBAAA,GAAuB,GAAA,CAAI,SAAS,QAAQ,0BAAA;AAAA,KAC5C,mBAAA,GAAsB,GAAA,CAAI,SAAS,QAAQ,yBAAA;AAAA,KAC3C,uBAAA,GAA0B,GAAA,CAAI,SAAS,QAAQ,6BAAA;AAAA,KAC/C,kBAAA,GAAqB,GAAA,CAAI,SAAS,QAAQ,wBAAA;AAAA,KAC1C,gCAAA,GAAmC,GAAA,CAAI,SAAS,QAAQ,sCAAA;AAAA,KACxD,oBAAA,GAAuB,GAAA,CAAI,SAAS,QAAQ,0BAAA;AAAA,KAC5C,wBAAA,GAA2B,GAAA,CAAI,SAAS,QAAQ,8BAAA;AAAA,KAChD,kBAAA,GAAqB,GAAA,CAAI,SAAS,QAAQ,wBAAA;AAAA,KAC1C,gBAAA,GAAmB,GAAA,CAAI,SAAS,QAAQ,sBAAA;AAAA,KACxC,iBAAA,GAAoB,GAAA,CAAI,SAAS,QAAQ,uBAAA;AAAA,KACzC,iBAAA,GAAoB,GAAA,CAAI,SAAS,QAAQ,uBAAA;AAAA,KACzC,wBAAA,GAA2B,GAAA,CAAI,SAAS,QAAQ,8BAAA;AAAA,KAChD,uBAAA,GAA0B,GAAA,CAAI,SAAS,QAAQ,6BAAA;AAAA,KAC/C,iBAAA,GAAoB,GAAA,CAAI,SAAS,QAAQ,uBAAA;AAAA,KACzC,eAAA,GAAkB,GAAA,CAAI,SAAS,QAAQ,yBAAA;AAAA,KACvC,iBAAA,GAAoB,GAAA,CAAI,SAAS,QAAQ,uBAAA;AAAA,KACzC,oBAAA,GAAuB,GAAA,CAAI,SAAS,QAAQ,8BAAA;AAAA,KAC5C,qBAAA,GAAwB,GAAA,CAAI,SAAS,QAAQ,2BAAA;AAAA,KAC7C,uBAAA,GAA0B,GAAA,CAAI,SAAS,QAAQ,6BAAA;AAAA,KAC/C,qBAAA,GAAwB,GAAA,CAAI,SAAS,QAAQ,2BAAA;AAAA,KAC7C,yBAAA,GAA4B,GAAA,CAAI,SAAS,QAAQ,mCAAA;AAAA,KACjD,8BAAA,GAAiC,GAAA,CAAI,SAAS,QAAQ,wCAAA;AAAA,KAKtD,wBAAA;EACV,IAAA,EAAM,qBAAA;EACN,aAAA;EACA,SAAA;EACA,UAAA;EACA,UAAA;EACA,MAAA;EACA,QAAA;EACA,MAAA,GAAS,uBAAuB;EAChC,gBAAA;EACA,gBAAA;EACA,QAAA;EACA,KAAA;EACA,KAAA;AAAA"}
1
+ {"version":3,"file":"admin-metrics-bsOkw4YQ.d.ts","names":[],"sources":["../src/interface/admin-metrics.ts"],"mappings":"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"}
@@ -5,7 +5,7 @@ let _________utils_objects_js = require("../../../utils/objects.js");
5
5
  let _________utils_strings_js = require("../../../utils/strings.js");
6
6
  let ___reminders_js = require("../reminders.js");
7
7
  //#region package.json
8
- var version = "1.0.61";
8
+ var version = "1.0.63";
9
9
  //#endregion
10
10
  //#region \0@oxc-project+runtime@0.137.0/helpers/esm/taggedTemplateLiteral.js
11
11
  function _taggedTemplateLiteral(e, t) {
@@ -0,0 +1,5 @@
1
+ //#region src/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.d.ts
2
+ declare const deploymentsSkillSection: string;
3
+ //#endregion
4
+ export { deploymentsSkillSection };
5
+ //# sourceMappingURL=deployments-skill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployments-skill.d.ts","names":[],"sources":["../../../../src/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.ts"],"mappings":";cAMa,uBAAA"}
@@ -0,0 +1,128 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ //#region src/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.ts
3
+ const deploymentsSkillSection = require("../../../utils/strings.js").deindent`
4
+ # Hexclave Deployments
5
+
6
+ The Deployments app makes deploying a service very easy. You select a type of service to deploy and provide your code, build instructions, run instructions, environment variables, and the code framework. You can set up multiple deployments per Hexclave project — for example, a backend service and a frontend service. Once a service is deployed, it is publicly accessible.
7
+
8
+ For this iteration of the Deployments app, only the \`vercel\` service type is available. It can be used to set up serverless deployments.
9
+
10
+ To use Hexclave Deployments, you must do a few things. First, the Deployments app must be enabled, by adding \`deployments-alpha\` under \`apps.installed\`. Second, you must edit your \`hexclave.config.ts\` file to add the relevant configuration, as specified below. Both keys are \`deployments-alpha\`, not \`deployments\` — the app is in alpha and its id says so. Because of the hyphen, quote it.
11
+
12
+ ## Config
13
+
14
+ \`\`\`ts title="hexclave.config.ts"
15
+ import type { HexclaveConfig } from "@hexclave/js/config"; // replace \`js\` with the correct framework SDK package
16
+
17
+ export const config: HexclaveConfig = {
18
+ apps: {
19
+ installed: {
20
+ authentication: { enabled: true },
21
+ "deployments-alpha": { enabled: true },
22
+ },
23
+ },
24
+ "deployments-alpha": {
25
+ services: {
26
+ web: {
27
+ type: "vercel",
28
+ rootDirectory: "./",
29
+ framework: "nextjs",
30
+ installCommand: "pnpm install",
31
+ buildCommand: "pnpm build",
32
+ outputDirectory: ".next",
33
+ env: {
34
+ "MY_ENV_VAR": { value: "true" },
35
+ "DATABASE_CONNECTION_STRING": { type: "secret", key: "db_connection" },
36
+ "NEXT_PUBLIC_HEXCLAVE_PROJECT_ID": { type: "connection", value: "hexclave.projectId" },
37
+ },
38
+ },
39
+ },
40
+ },
41
+ };
42
+ \`\`\`
43
+
44
+ Here, \`web\` is the name of your service. \`type\` refers to the type of service you want to set up; for now, as mentioned earlier, only \`vercel\` is supported. \`rootDirectory\` is the directory in which the install and build commands are run, and where the code for your service is found. \`installCommand\` is the command run to install your application's dependencies, and \`buildCommand\` is what is run to build the necessary packages and files. \`framework\` is the framework used by your service; from it and \`outputDirectory\`, the run command is inferred.
45
+
46
+ The \`HexclaveConfig\` annotation requires the SDK package it is imported from to be a dependency of the project. If it isn't, either install it or drop the annotation (the config is plain TypeScript — the CLI does not type-check it).
47
+
48
+ Note also that the config file usually sits inside \`rootDirectory\`, which means it is uploaded with your source and compiled by the remote build like any other file. If the deployed app doesn't depend on the Hexclave SDK, add \`hexclave.config.ts\` to \`.vercelignore\`: the CLI reads the config from disk before packaging, so the build itself never needs it, and excluding it keeps an SDK import in the config from breaking a build that is otherwise unrelated to Hexclave.
49
+
50
+ ## Domains
51
+
52
+ Every Vercel service gets a Vercel domain autoprovisioned. If you want to attach a custom domain, there are two ways to do so.
53
+
54
+ **Option 1 — the dashboard.** Visit \`https://app.hexclave.com/projects/<project-id>/deployments\`, click the service of choice, go to the Domains tab, add your domain, and then create the returned DNS records at your DNS provider.
55
+
56
+ **Option 2 — the CLI.** Here is an example of adding \`app.example.com\` to the service \`api\` and receiving the DNS records that then need to be set with your DNS provider:
57
+
58
+ \`\`\`sh title="Terminal"
59
+ npx @hexclave/cli@latest exec --cloud-project-id <project-id> \\
60
+ "const p = await hexclaveServerApp.getProject(); \\
61
+ await p.addDeploymentServiceDomain('api', 'app.example.com'); \\
62
+ return p.getDeploymentServiceDomain('api', 'app.example.com');"
63
+ \`\`\`
64
+
65
+ ## Deploying
66
+
67
+ Before deploying, run the service's \`installCommand\` and \`buildCommand\` locally and confirm they succeed. The remote build runs the same commands, but \`deploy\` exits before the build finishes, so a broken build does not fail the command — it surfaces only when you check the run afterwards.
68
+
69
+ From the directory containing your config file:
70
+
71
+ \`\`\`sh title="Terminal"
72
+ npx @hexclave/cli@latest deploy web --secret db_connection="$DATABASE_URL"
73
+ \`\`\`
74
+
75
+ The CLI packages the service's root directory (respecting \`.gitignore\` and \`.vercelignore\`, and always excluding \`node_modules\` and \`.git\`), uploads it, and starts a remote build. Without a config file, the configuration stored in Hexclave governs the deploy, with the root directory resolved against the current directory. It always deploys to production, never prompts, and exits as soon as the build is queued, printing the run id. Follow the build in the dashboard's Deployments tab.
76
+
77
+ Every secret defined in the service's \`env\` must be passed via \`--secret\` on every deploy — a missing (or misspelled) one fails the deploy before anything is uploaded.
78
+
79
+ Options: \`--config <path>\` (default: auto-discover \`hexclave.config.ts\` in the current directory, dashboard configuration otherwise), \`--cloud-project-id <id>\` (default: the \`HEXCLAVE_PROJECT_ID\` env var), and \`--secret KEY=VALUE\` (repeatable, see above).
80
+
81
+ You can also deploy through GitHub Actions, like so:
82
+
83
+ \`\`\`yaml title=".github/workflows/deploy.yaml"
84
+ - run: npm i -g @hexclave/cli
85
+ - run: hexclave deploy web --secret db_connection="$DATABASE_URL"
86
+ env:
87
+ HEXCLAVE_PROJECT_ID: \${{ secrets.HEXCLAVE_PROJECT_ID }}
88
+ HEXCLAVE_SECRET_SERVER_KEY: \${{ secrets.HEXCLAVE_SECRET_SERVER_KEY }}
89
+ DATABASE_URL: \${{ secrets.DATABASE_URL }}
90
+ \`\`\`
91
+
92
+ ## Checking status and debugging failures
93
+
94
+ Because \`deploy\` returns as soon as the build is queued, a successful exit does not mean the deploy succeeded. Check the service to find out:
95
+
96
+ \`\`\`sh title="Terminal"
97
+ npx @hexclave/cli@latest exec --cloud-project-id <project-id> \\
98
+ "const p = await hexclaveServerApp.getProject(); \\
99
+ const svc = (await p.listDeploymentServices()).find(s => s.id === 'web'); \\
100
+ return { status: svc.status, url: svc.url, run: svc.latest_run };"
101
+ \`\`\`
102
+
103
+ A service's \`status\` is one of \`not_deployed\`, \`queued\`, \`building\`, \`deployed\`, \`failed\`, or \`canceled\`; a run's is \`queued\`, \`building\`, \`ready\`, \`error\`, or \`canceled\`. Poll until the run leaves \`queued\`/\`building\`.
104
+
105
+ A failed run's \`error\` field is only a one-line summary (for example \`Command "npm run build" exited with 1\`). Do not try to guess the cause from it, and do not reproduce the build locally to find out — fetch the actual build output by run id:
106
+
107
+ \`\`\`sh title="Terminal"
108
+ npx @hexclave/cli@latest exec --cloud-project-id <project-id> \\
109
+ "const p = await hexclaveServerApp.getProject(); \\
110
+ return p.getDeploymentRunLogs('<run-id>');"
111
+ \`\`\`
112
+
113
+ \`deploy\` prints the run id it started. If you don't have one, \`listDeploymentRuns('web', { limit: 5 })\` returns the most recent runs, newest first — call it through \`exec\` like the snippets above.
114
+
115
+ ## Deleting a service
116
+
117
+ If you want to delete a deployed service, you can do so through the dashboard, or through the CLI like so:
118
+
119
+ \`\`\`sh title="Terminal"
120
+ npx @hexclave/cli@latest exec --cloud-project-id <project-id> \\
121
+ "const p = await hexclaveServerApp.getProject(); \\
122
+ await p.deleteDeploymentService('api');"
123
+ \`\`\`
124
+ `;
125
+ //#endregion
126
+ exports.deploymentsSkillSection = deploymentsSkillSection;
127
+
128
+ //# sourceMappingURL=deployments-skill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployments-skill.js","names":[],"sources":["../../../../src/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.ts"],"sourcesContent":["import { deindent } from \"../../../utils/strings\";\n\n// The Deployments-specific addendum served at https://skill.hexclave.com/deployments.\n// It is appended verbatim after the full base skill, so this section assumes the\n// reader already has the general Hexclave skill (CLI auth, config format, SDKs) in\n// context and only teaches what is specific to the Deployments app.\nexport const deploymentsSkillSection = deindent`\n # Hexclave Deployments\n\n The Deployments app makes deploying a service very easy. You select a type of service to deploy and provide your code, build instructions, run instructions, environment variables, and the code framework. You can set up multiple deployments per Hexclave project — for example, a backend service and a frontend service. Once a service is deployed, it is publicly accessible.\n\n For this iteration of the Deployments app, only the \\`vercel\\` service type is available. It can be used to set up serverless deployments.\n\n To use Hexclave Deployments, you must do a few things. First, the Deployments app must be enabled, by adding \\`deployments-alpha\\` under \\`apps.installed\\`. Second, you must edit your \\`hexclave.config.ts\\` file to add the relevant configuration, as specified below. Both keys are \\`deployments-alpha\\`, not \\`deployments\\` — the app is in alpha and its id says so. Because of the hyphen, quote it.\n\n ## Config\n\n \\`\\`\\`ts title=\"hexclave.config.ts\"\n import type { HexclaveConfig } from \"@hexclave/js/config\"; // replace \\`js\\` with the correct framework SDK package\n\n export const config: HexclaveConfig = {\n apps: {\n installed: {\n authentication: { enabled: true },\n \"deployments-alpha\": { enabled: true },\n },\n },\n \"deployments-alpha\": {\n services: {\n web: {\n type: \"vercel\",\n rootDirectory: \"./\",\n framework: \"nextjs\",\n installCommand: \"pnpm install\",\n buildCommand: \"pnpm build\",\n outputDirectory: \".next\",\n env: {\n \"MY_ENV_VAR\": { value: \"true\" },\n \"DATABASE_CONNECTION_STRING\": { type: \"secret\", key: \"db_connection\" },\n \"NEXT_PUBLIC_HEXCLAVE_PROJECT_ID\": { type: \"connection\", value: \"hexclave.projectId\" },\n },\n },\n },\n },\n };\n \\`\\`\\`\n\n Here, \\`web\\` is the name of your service. \\`type\\` refers to the type of service you want to set up; for now, as mentioned earlier, only \\`vercel\\` is supported. \\`rootDirectory\\` is the directory in which the install and build commands are run, and where the code for your service is found. \\`installCommand\\` is the command run to install your application's dependencies, and \\`buildCommand\\` is what is run to build the necessary packages and files. \\`framework\\` is the framework used by your service; from it and \\`outputDirectory\\`, the run command is inferred.\n\n The \\`HexclaveConfig\\` annotation requires the SDK package it is imported from to be a dependency of the project. If it isn't, either install it or drop the annotation (the config is plain TypeScript — the CLI does not type-check it).\n\n Note also that the config file usually sits inside \\`rootDirectory\\`, which means it is uploaded with your source and compiled by the remote build like any other file. If the deployed app doesn't depend on the Hexclave SDK, add \\`hexclave.config.ts\\` to \\`.vercelignore\\`: the CLI reads the config from disk before packaging, so the build itself never needs it, and excluding it keeps an SDK import in the config from breaking a build that is otherwise unrelated to Hexclave.\n\n ## Domains\n\n Every Vercel service gets a Vercel domain autoprovisioned. If you want to attach a custom domain, there are two ways to do so.\n\n **Option 1 — the dashboard.** Visit \\`https://app.hexclave.com/projects/<project-id>/deployments\\`, click the service of choice, go to the Domains tab, add your domain, and then create the returned DNS records at your DNS provider.\n\n **Option 2 — the CLI.** Here is an example of adding \\`app.example.com\\` to the service \\`api\\` and receiving the DNS records that then need to be set with your DNS provider:\n\n \\`\\`\\`sh title=\"Terminal\"\n npx @hexclave/cli@latest exec --cloud-project-id <project-id> \\\\\n \"const p = await hexclaveServerApp.getProject(); \\\\\n await p.addDeploymentServiceDomain('api', 'app.example.com'); \\\\\n return p.getDeploymentServiceDomain('api', 'app.example.com');\"\n \\`\\`\\`\n\n ## Deploying\n\n Before deploying, run the service's \\`installCommand\\` and \\`buildCommand\\` locally and confirm they succeed. The remote build runs the same commands, but \\`deploy\\` exits before the build finishes, so a broken build does not fail the command — it surfaces only when you check the run afterwards.\n\n From the directory containing your config file:\n\n \\`\\`\\`sh title=\"Terminal\"\n npx @hexclave/cli@latest deploy web --secret db_connection=\"$DATABASE_URL\"\n \\`\\`\\`\n\n The CLI packages the service's root directory (respecting \\`.gitignore\\` and \\`.vercelignore\\`, and always excluding \\`node_modules\\` and \\`.git\\`), uploads it, and starts a remote build. Without a config file, the configuration stored in Hexclave governs the deploy, with the root directory resolved against the current directory. It always deploys to production, never prompts, and exits as soon as the build is queued, printing the run id. Follow the build in the dashboard's Deployments tab.\n\n Every secret defined in the service's \\`env\\` must be passed via \\`--secret\\` on every deploy — a missing (or misspelled) one fails the deploy before anything is uploaded.\n\n Options: \\`--config <path>\\` (default: auto-discover \\`hexclave.config.ts\\` in the current directory, dashboard configuration otherwise), \\`--cloud-project-id <id>\\` (default: the \\`HEXCLAVE_PROJECT_ID\\` env var), and \\`--secret KEY=VALUE\\` (repeatable, see above).\n\n You can also deploy through GitHub Actions, like so:\n\n \\`\\`\\`yaml title=\".github/workflows/deploy.yaml\"\n - run: npm i -g @hexclave/cli\n - run: hexclave deploy web --secret db_connection=\"$DATABASE_URL\"\n env:\n HEXCLAVE_PROJECT_ID: \\${{ secrets.HEXCLAVE_PROJECT_ID }}\n HEXCLAVE_SECRET_SERVER_KEY: \\${{ secrets.HEXCLAVE_SECRET_SERVER_KEY }}\n DATABASE_URL: \\${{ secrets.DATABASE_URL }}\n \\`\\`\\`\n\n ## Checking status and debugging failures\n\n Because \\`deploy\\` returns as soon as the build is queued, a successful exit does not mean the deploy succeeded. Check the service to find out:\n\n \\`\\`\\`sh title=\"Terminal\"\n npx @hexclave/cli@latest exec --cloud-project-id <project-id> \\\\\n \"const p = await hexclaveServerApp.getProject(); \\\\\n const svc = (await p.listDeploymentServices()).find(s => s.id === 'web'); \\\\\n return { status: svc.status, url: svc.url, run: svc.latest_run };\"\n \\`\\`\\`\n\n A service's \\`status\\` is one of \\`not_deployed\\`, \\`queued\\`, \\`building\\`, \\`deployed\\`, \\`failed\\`, or \\`canceled\\`; a run's is \\`queued\\`, \\`building\\`, \\`ready\\`, \\`error\\`, or \\`canceled\\`. Poll until the run leaves \\`queued\\`/\\`building\\`.\n\n A failed run's \\`error\\` field is only a one-line summary (for example \\`Command \"npm run build\" exited with 1\\`). Do not try to guess the cause from it, and do not reproduce the build locally to find out — fetch the actual build output by run id:\n\n \\`\\`\\`sh title=\"Terminal\"\n npx @hexclave/cli@latest exec --cloud-project-id <project-id> \\\\\n \"const p = await hexclaveServerApp.getProject(); \\\\\n return p.getDeploymentRunLogs('<run-id>');\"\n \\`\\`\\`\n\n \\`deploy\\` prints the run id it started. If you don't have one, \\`listDeploymentRuns('web', { limit: 5 })\\` returns the most recent runs, newest first — call it through \\`exec\\` like the snippets above.\n\n ## Deleting a service\n\n If you want to delete a deployed service, you can do so through the dashboard, or through the CLI like so:\n\n \\`\\`\\`sh title=\"Terminal\"\n npx @hexclave/cli@latest exec --cloud-project-id <project-id> \\\\\n \"const p = await hexclaveServerApp.getProject(); \\\\\n await p.deleteDeploymentService('api');\"\n \\`\\`\\`\n`;\n"],"mappings":";;AAMA,MAAa,0BAA0B,mCAAA,CAAA,CAAA,QAAQ"}
@@ -1,6 +1,8 @@
1
1
  //#region src/ai/unified-prompts/skill-site-prompt.d.ts
2
2
  declare function buildSkillSitePrompt(docsIndexPromptValue?: string): string;
3
3
  declare const skillSitePrompt: string;
4
+ declare function buildDeploymentsSkillSitePrompt(baseSkillPrompt?: string): string;
5
+ declare const deploymentsSkillSitePrompt: string;
4
6
  //#endregion
5
- export { buildSkillSitePrompt, skillSitePrompt };
7
+ export { buildDeploymentsSkillSitePrompt, buildSkillSitePrompt, deploymentsSkillSitePrompt, skillSitePrompt };
6
8
  //# sourceMappingURL=skill-site-prompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill-site-prompt.d.ts","names":[],"sources":["../../../src/ai/unified-prompts/skill-site-prompt.ts"],"mappings":";iBAWgB,oBAAA,CAAqB,oBAAsC;AAAA,cA+D9D,eAAA"}
1
+ {"version":3,"file":"skill-site-prompt.d.ts","names":[],"sources":["../../../src/ai/unified-prompts/skill-site-prompt.ts"],"mappings":";iBAYgB,oBAAA,CAAqB,oBAAsC;AAAA,cA+D9D,eAAA;AAAA,iBAMG,+BAAA,CAAgC,eAAiC;AAAA,cAQpE,0BAAA"}
@@ -7,6 +7,7 @@ let __skill_site_prompt_parts_cli_help_js = require("./skill-site-prompt-parts/c
7
7
  let __skill_site_prompt_parts_config_docs_js = require("./skill-site-prompt-parts/config-docs.js");
8
8
  let __skill_site_prompt_parts_custom_components_instructions_js = require("./skill-site-prompt-parts/custom-components-instructions.js");
9
9
  let __skill_site_prompt_parts_dashboard_instructions_js = require("./skill-site-prompt-parts/dashboard-instructions.js");
10
+ let __skill_site_prompt_parts_deployments_skill_js = require("./skill-site-prompt-parts/deployments-skill.js");
10
11
  let __skill_site_prompt_parts_docs_index_js = require("./skill-site-prompt-parts/docs-index.js");
11
12
  let __skill_site_prompt_parts_sdk_interface_source_js = require("./skill-site-prompt-parts/sdk-interface-source.js");
12
13
  //#region src/ai/unified-prompts/skill-site-prompt.ts
@@ -73,8 +74,18 @@ function buildSkillSitePrompt(docsIndexPromptValue = __skill_site_prompt_parts_d
73
74
  `;
74
75
  }
75
76
  const skillSitePrompt = buildSkillSitePrompt();
77
+ function buildDeploymentsSkillSitePrompt(baseSkillPrompt = skillSitePrompt) {
78
+ return ______utils_strings_js.deindent`
79
+ ${baseSkillPrompt}
80
+
81
+ ${__skill_site_prompt_parts_deployments_skill_js.deploymentsSkillSection}
82
+ `;
83
+ }
84
+ const deploymentsSkillSitePrompt = buildDeploymentsSkillSitePrompt();
76
85
  //#endregion
86
+ exports.buildDeploymentsSkillSitePrompt = buildDeploymentsSkillSitePrompt;
77
87
  exports.buildSkillSitePrompt = buildSkillSitePrompt;
88
+ exports.deploymentsSkillSitePrompt = deploymentsSkillSitePrompt;
78
89
  exports.skillSitePrompt = skillSitePrompt;
79
90
 
80
91
  //# sourceMappingURL=skill-site-prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill-site-prompt.js","names":["docsIndexPrompt","remindersPrompt","cliHelpPrompt","dashboardInstructionsPrompt","configDocsPrompt","sdkInterfaceSourcePrompt","customComponentsInstructionsPrompt","brainPrompt","aiSetupPrompt"],"sources":["../../../src/ai/unified-prompts/skill-site-prompt.ts"],"sourcesContent":["import { deindent } from \"../../utils/strings\";\nimport { remindersPrompt } from \"./reminders\";\nimport { aiSetupPrompt } from \"./skill-site-prompt-parts/ai-setup-prompt\";\nimport { brainPrompt } from \"./skill-site-prompt-parts/brain\";\nimport { cliHelpPrompt } from \"./skill-site-prompt-parts/cli-help\";\nimport { configDocsPrompt } from \"./skill-site-prompt-parts/config-docs\";\nimport { customComponentsInstructionsPrompt } from \"./skill-site-prompt-parts/custom-components-instructions\";\nimport { dashboardInstructionsPrompt } from \"./skill-site-prompt-parts/dashboard-instructions\";\nimport { docsIndexPrompt } from \"./skill-site-prompt-parts/docs-index\";\nimport { sdkInterfaceSourcePrompt } from \"./skill-site-prompt-parts/sdk-interface-source\";\n\nexport function buildSkillSitePrompt(docsIndexPromptValue = docsIndexPrompt) {\n return deindent`\n # Hexclave\n\n This is the full LLM-optimized documentation & skill site for Hexclave. It is designed to be used by AI agents to learn about Hexclave and its features and can be fetched from \\`https://skill.hexclave.com/full\\`. For specific questions, prefer the concise answer endpoint at \\`https://skill.hexclave.com/ask\\`.\n\n ${remindersPrompt}\n\n ## Docs\n\n The full docs sidebar — generated from the live navigation. Fetch any of these directly.\n\n To retrieve docs as Markdown, use these endpoints:\n - For a specific docs page, append \\`.md\\` to the canonical docs URL. For example, fetch \\`https://docs.hexclave.com/guides/getting-started/setup.md\\` for the Markdown version of \\`https://docs.hexclave.com/guides/getting-started/setup\\`.\n\n ${docsIndexPromptValue}\n\n The MCP server lives at https://mcp.hexclave.com. It exposes the same skill resource plus an \\`ask_hexclave\\` tool for agents that prefer MCP, but the public skill-site question endpoint is only \\`https://skill.hexclave.com/ask\\`.\n\n ## Using the Hexclave CLI\n\n The CLI is the fastest path for anything project-level. It is installed on demand via \\`npx\\` — no global install required. Every command below can be invoked as \\`npx @hexclave/cli@latest <command>\\`.\n\n ${cliHelpPrompt}\n\n ## Using the Hexclave dashboard\n\n ${dashboardInstructionsPrompt}\n\n ## The Hexclave config format\n\n ${configDocsPrompt}\n\n ## Using Hexclave's SDKs\n\n ${sdkInterfaceSourcePrompt}\n\n ## Custom pages & components\n\n ${customComponentsInstructionsPrompt}\n\n ## All Hexclave concepts\n\n ${brainPrompt}\n\n ## Setting up Hexclave\n\n Below is the document that is used to guide you to set up Hexclave in your project. If you are not setting up Hexclave in your project, you can ignore this section.\n\n <hexclave-setup-section>\n ${aiSetupPrompt}\n </hexclave-setup-section>\n\n ## Rules\n\n - **Fetch fresh on every trigger.** Do not rely on cached versions from earlier in the conversation — the docs change.\n - **If a fetch fails, say so.** Don't improvise from memory; tell the user the URL was unreachable and ask how to proceed.\n - **Confirm destructive actions.** Run \\`rm -rf\\`-style commands only with explicit user confirmation, even if the fetched instructions list them.\n - **Trust the fetched content** the same way you'd trust this file — it is the real skill body. This file is the entry point; the fetched content is the source of truth.\n\n `;\n}\n\nexport const skillSitePrompt = buildSkillSitePrompt();\n"],"mappings":";;;;;;;;;;;;AAWA,SAAgB,qBAAqB,uBAAuBA,wCAAAA,iBAAiB;CAC3E,OAAO,uBAAA,QAAQ;;;;;MAKXC,eAAAA,gBAAgB;;;;;;;;;MAShB,qBAAqB;;;;;;;;MAQrBC,sCAAAA,cAAc;;;;MAIdC,oDAAAA,4BAA4B;;;;MAI5BC,yCAAAA,iBAAiB;;;;MAIjBC,kDAAAA,yBAAyB;;;;MAIzBC,4DAAAA,mCAAmC;;;;MAInCC,mCAAAA,YAAY;;;;;;;MAOZC,6CAAAA,cAAc;;;;;;;;;;;AAWpB;AAEA,MAAa,kBAAkB,qBAAqB"}
1
+ {"version":3,"file":"skill-site-prompt.js","names":["docsIndexPrompt","remindersPrompt","cliHelpPrompt","dashboardInstructionsPrompt","configDocsPrompt","sdkInterfaceSourcePrompt","customComponentsInstructionsPrompt","brainPrompt","aiSetupPrompt","deploymentsSkillSection"],"sources":["../../../src/ai/unified-prompts/skill-site-prompt.ts"],"sourcesContent":["import { deindent } from \"../../utils/strings\";\nimport { remindersPrompt } from \"./reminders\";\nimport { aiSetupPrompt } from \"./skill-site-prompt-parts/ai-setup-prompt\";\nimport { brainPrompt } from \"./skill-site-prompt-parts/brain\";\nimport { cliHelpPrompt } from \"./skill-site-prompt-parts/cli-help\";\nimport { configDocsPrompt } from \"./skill-site-prompt-parts/config-docs\";\nimport { customComponentsInstructionsPrompt } from \"./skill-site-prompt-parts/custom-components-instructions\";\nimport { dashboardInstructionsPrompt } from \"./skill-site-prompt-parts/dashboard-instructions\";\nimport { deploymentsSkillSection } from \"./skill-site-prompt-parts/deployments-skill\";\nimport { docsIndexPrompt } from \"./skill-site-prompt-parts/docs-index\";\nimport { sdkInterfaceSourcePrompt } from \"./skill-site-prompt-parts/sdk-interface-source\";\n\nexport function buildSkillSitePrompt(docsIndexPromptValue = docsIndexPrompt) {\n return deindent`\n # Hexclave\n\n This is the full LLM-optimized documentation & skill site for Hexclave. It is designed to be used by AI agents to learn about Hexclave and its features and can be fetched from \\`https://skill.hexclave.com/full\\`. For specific questions, prefer the concise answer endpoint at \\`https://skill.hexclave.com/ask\\`.\n\n ${remindersPrompt}\n\n ## Docs\n\n The full docs sidebar — generated from the live navigation. Fetch any of these directly.\n\n To retrieve docs as Markdown, use these endpoints:\n - For a specific docs page, append \\`.md\\` to the canonical docs URL. For example, fetch \\`https://docs.hexclave.com/guides/getting-started/setup.md\\` for the Markdown version of \\`https://docs.hexclave.com/guides/getting-started/setup\\`.\n\n ${docsIndexPromptValue}\n\n The MCP server lives at https://mcp.hexclave.com. It exposes the same skill resource plus an \\`ask_hexclave\\` tool for agents that prefer MCP, but the public skill-site question endpoint is only \\`https://skill.hexclave.com/ask\\`.\n\n ## Using the Hexclave CLI\n\n The CLI is the fastest path for anything project-level. It is installed on demand via \\`npx\\` — no global install required. Every command below can be invoked as \\`npx @hexclave/cli@latest <command>\\`.\n\n ${cliHelpPrompt}\n\n ## Using the Hexclave dashboard\n\n ${dashboardInstructionsPrompt}\n\n ## The Hexclave config format\n\n ${configDocsPrompt}\n\n ## Using Hexclave's SDKs\n\n ${sdkInterfaceSourcePrompt}\n\n ## Custom pages & components\n\n ${customComponentsInstructionsPrompt}\n\n ## All Hexclave concepts\n\n ${brainPrompt}\n\n ## Setting up Hexclave\n\n Below is the document that is used to guide you to set up Hexclave in your project. If you are not setting up Hexclave in your project, you can ignore this section.\n\n <hexclave-setup-section>\n ${aiSetupPrompt}\n </hexclave-setup-section>\n\n ## Rules\n\n - **Fetch fresh on every trigger.** Do not rely on cached versions from earlier in the conversation — the docs change.\n - **If a fetch fails, say so.** Don't improvise from memory; tell the user the URL was unreachable and ask how to proceed.\n - **Confirm destructive actions.** Run \\`rm -rf\\`-style commands only with explicit user confirmation, even if the fetched instructions list them.\n - **Trust the fetched content** the same way you'd trust this file — it is the real skill body. This file is the entry point; the fetched content is the source of truth.\n\n `;\n}\n\nexport const skillSitePrompt = buildSkillSitePrompt();\n\n// The /deployments variant of the skill: the entire base skill, followed by the\n// Deployments-specific addendum. Served at https://skill.hexclave.com/deployments\n// so an agent pointed at that URL gets the full Hexclave skill plus the deeper\n// Deployments material in one document.\nexport function buildDeploymentsSkillSitePrompt(baseSkillPrompt = skillSitePrompt) {\n return deindent`\n ${baseSkillPrompt}\n\n ${deploymentsSkillSection}\n `;\n}\n\nexport const deploymentsSkillSitePrompt = buildDeploymentsSkillSitePrompt();\n"],"mappings":";;;;;;;;;;;;;AAYA,SAAgB,qBAAqB,uBAAuBA,wCAAAA,iBAAiB;CAC3E,OAAO,uBAAA,QAAQ;;;;;MAKXC,eAAAA,gBAAgB;;;;;;;;;MAShB,qBAAqB;;;;;;;;MAQrBC,sCAAAA,cAAc;;;;MAIdC,oDAAAA,4BAA4B;;;;MAI5BC,yCAAAA,iBAAiB;;;;MAIjBC,kDAAAA,yBAAyB;;;;MAIzBC,4DAAAA,mCAAmC;;;;MAInCC,mCAAAA,YAAY;;;;;;;MAOZC,6CAAAA,cAAc;;;;;;;;;;;AAWpB;AAEA,MAAa,kBAAkB,qBAAqB;AAMpD,SAAgB,gCAAgC,kBAAkB,iBAAiB;CACjF,OAAO,uBAAA,QAAQ;MACX,gBAAgB;;MAEhBC,+CAAAA,wBAAwB;;AAE9B;AAEA,MAAa,6BAA6B,gCAAgC"}
@@ -177,6 +177,12 @@ declare const ALL_APPS: {
177
177
  readonly tags: ["auth", "developers"];
178
178
  readonly stage: "alpha";
179
179
  };
180
+ readonly "deployments-alpha": {
181
+ readonly displayName: "Deployments";
182
+ readonly subtitle: "Configure and connect the services that run your app";
183
+ readonly tags: ["developers", "operations"];
184
+ readonly stage: "alpha";
185
+ };
180
186
  };
181
187
  declare function getParentAppId(appId: AppId): AppId | null;
182
188
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"apps-config.d.ts","names":[],"sources":["../../src/apps/apps-config.ts"],"mappings":";cAIa,YAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA8CD,KAAA,gBAAqB,QAAQ;AAAA,cAE5B,QAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgJG,cAAA,CAAe,KAAA,EAAO,KAAA,GAAQ,KAAK"}
1
+ {"version":3,"file":"apps-config.d.ts","names":[],"sources":["../../src/apps/apps-config.ts"],"mappings":";cAIa,YAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA8CD,KAAA,gBAAqB,QAAQ;AAAA,cAE5B,QAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyJG,cAAA,CAAe,KAAA,EAAO,KAAA,GAAQ,KAAK"}
@@ -162,6 +162,12 @@ const ALL_APPS = {
162
162
  subtitle: "Monitor CLI authentication sessions and active tokens",
163
163
  tags: ["auth", "developers"],
164
164
  stage: "alpha"
165
+ },
166
+ "deployments-alpha": {
167
+ displayName: "Deployments",
168
+ subtitle: "Configure and connect the services that run your app",
169
+ tags: ["developers", "operations"],
170
+ stage: "alpha"
165
171
  }
166
172
  };
167
173
  function getParentAppId(appId) {
@@ -1 +1 @@
1
- {"version":3,"file":"apps-config.js","names":[],"sources":["../../src/apps/apps-config.ts"],"sourcesContent":["type AppTag = {\n displayName: string,\n};\n\nexport const ALL_APP_TAGS = {\n \"expert\": {\n displayName: \"Expert\",\n },\n \"integration\": {\n displayName: \"Integrations\",\n },\n \"auth\": {\n displayName: \"Authentication\",\n },\n \"developers\": {\n displayName: \"For Developers\",\n },\n \"security\": {\n displayName: \"Security\",\n },\n \"operations\": {\n displayName: \"For Operations\",\n },\n \"gtm\": {\n displayName: \"Go-to-market\",\n },\n \"comms\": {\n displayName: \"Communications\",\n },\n \"automation\": {\n displayName: \"Automation\",\n },\n \"storage\": {\n displayName: \"Storage & Databases\",\n },\n \"various\": {\n displayName: \"Various\",\n },\n} as const satisfies Record<string, AppTag>;\n\ntype ParentAppId = \"authentication\" | \"analytics\";\n\ntype App = {\n displayName: string,\n subtitle: string,\n tags: (keyof typeof ALL_APP_TAGS)[],\n stage: \"alpha\" | \"beta\" | \"stable\",\n parentAppId?: ParentAppId,\n};\n\nexport type AppId = keyof typeof ALL_APPS;\n\nexport const ALL_APPS = {\n \"authentication\": {\n displayName: \"Authentication\",\n subtitle: \"User sign-in and account management\",\n tags: [\"auth\", \"security\"],\n stage: \"stable\",\n },\n \"fraud-protection\": {\n displayName: \"Fraud Protection\",\n subtitle: \"Protect your project from fraud and abuse\",\n tags: [\"auth\", \"security\"],\n stage: \"stable\",\n parentAppId: \"authentication\",\n },\n \"onboarding\": {\n displayName: \"Onboarding\",\n subtitle: \"Configure user onboarding requirements\",\n tags: [\"auth\"],\n stage: \"alpha\",\n },\n \"teams\": {\n displayName: \"Teams\",\n subtitle: \"Team collaboration and management\",\n tags: [\"auth\", \"security\"],\n stage: \"stable\",\n },\n \"rbac\": {\n displayName: \"RBAC\",\n subtitle: \"Role-based access control and permissions\",\n tags: [\"auth\", \"security\"],\n stage: \"stable\",\n },\n \"api-keys\": {\n displayName: \"API Keys\",\n subtitle: \"API key generation and management\",\n tags: [\"auth\", \"security\", \"developers\"],\n stage: \"stable\",\n },\n \"payments\": {\n displayName: \"Payments\",\n subtitle: \"Payment processing and subscription management\",\n tags: [\"operations\", \"gtm\"],\n stage: \"stable\",\n },\n \"emails\": {\n displayName: \"Emails\",\n subtitle: \"Email template configuration and management\",\n tags: [\"comms\"],\n stage: \"stable\",\n },\n \"support\": {\n displayName: \"Support\",\n subtitle: \"Customer conversations, team replies, and internal notes\",\n tags: [\"comms\", \"operations\"],\n stage: \"alpha\",\n },\n \"email-api\": {\n displayName: \"Email API\",\n subtitle: \"Programmatic email sending and delivery\",\n tags: [\"comms\", \"developers\", \"expert\"],\n stage: \"alpha\",\n },\n \"data-vault\": {\n displayName: \"Data Vault\",\n subtitle: \"Secure storage for sensitive user data\",\n tags: [\"security\", \"storage\"],\n stage: \"beta\",\n },\n \"webhooks\": {\n displayName: \"Webhooks\",\n subtitle: \"Real-time event notifications and integrations\",\n tags: [\"developers\"],\n stage: \"stable\",\n },\n \"tv-mode\": {\n displayName: \"TV mode\",\n subtitle: \"Dashboard display for large screens\",\n tags: [\"various\"],\n stage: \"alpha\",\n },\n \"launch-checklist\": {\n displayName: \"Launch Checklist\",\n subtitle: \"Pre-launch verification and readiness checks\",\n tags: [\"various\"],\n stage: \"stable\",\n },\n \"catalyst\": {\n displayName: \"Catalyst\",\n subtitle: \"Project scaffolding and rapid development\",\n tags: [\"various\"],\n stage: \"alpha\",\n },\n \"neon\": {\n displayName: \"Neon Integration\",\n subtitle: \"Serverless Postgres database integration\",\n tags: [\"integration\", \"storage\"],\n stage: \"alpha\",\n },\n \"convex\": {\n displayName: \"Convex Integration\",\n subtitle: \"Real-time backend platform integration\",\n tags: [\"integration\", \"storage\"],\n stage: \"alpha\",\n },\n \"vercel\": {\n displayName: \"Vercel Integration\",\n subtitle: \"Deploy your Hexclave project to Vercel\",\n tags: [\"integration\", \"developers\"],\n stage: \"stable\",\n },\n \"tanstack-start\": {\n displayName: \"TanStack Start\",\n subtitle: \"Use Hexclave in TanStack Start apps\",\n tags: [\"integration\", \"developers\"],\n stage: \"alpha\",\n },\n \"analytics\": {\n displayName: \"Analytics\",\n subtitle: \"View and explore analytics data\",\n tags: [\"developers\", \"operations\"],\n stage: \"stable\",\n },\n \"clickmaps\": {\n displayName: \"Clickmaps\",\n subtitle: \"Visualize where users click across your app\",\n tags: [\"developers\", \"operations\"],\n stage: \"stable\",\n parentAppId: \"analytics\",\n },\n \"session-replays\": {\n displayName: \"Session Replays\",\n subtitle: \"Watch real user sessions to understand how people use your app\",\n tags: [\"developers\", \"operations\"],\n stage: \"stable\",\n parentAppId: \"analytics\",\n },\n \"cli-auth\": {\n displayName: \"CLI Auth\",\n subtitle: \"Monitor CLI authentication sessions and active tokens\",\n tags: [\"auth\", \"developers\"],\n stage: \"alpha\",\n },\n} as const satisfies Record<string, App>;\n\nexport function getParentAppId(appId: AppId): AppId | null {\n const app = ALL_APPS[appId];\n return \"parentAppId\" in app ? app.parentAppId : null;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"apps-config.js","names":[],"sources":["../../src/apps/apps-config.ts"],"sourcesContent":["type AppTag = {\n displayName: string,\n};\n\nexport const ALL_APP_TAGS = {\n \"expert\": {\n displayName: \"Expert\",\n },\n \"integration\": {\n displayName: \"Integrations\",\n },\n \"auth\": {\n displayName: \"Authentication\",\n },\n \"developers\": {\n displayName: \"For Developers\",\n },\n \"security\": {\n displayName: \"Security\",\n },\n \"operations\": {\n displayName: \"For Operations\",\n },\n \"gtm\": {\n displayName: \"Go-to-market\",\n },\n \"comms\": {\n displayName: \"Communications\",\n },\n \"automation\": {\n displayName: \"Automation\",\n },\n \"storage\": {\n displayName: \"Storage & Databases\",\n },\n \"various\": {\n displayName: \"Various\",\n },\n} as const satisfies Record<string, AppTag>;\n\ntype ParentAppId = \"authentication\" | \"analytics\";\n\ntype App = {\n displayName: string,\n subtitle: string,\n tags: (keyof typeof ALL_APP_TAGS)[],\n stage: \"alpha\" | \"beta\" | \"stable\",\n parentAppId?: ParentAppId,\n};\n\nexport type AppId = keyof typeof ALL_APPS;\n\nexport const ALL_APPS = {\n \"authentication\": {\n displayName: \"Authentication\",\n subtitle: \"User sign-in and account management\",\n tags: [\"auth\", \"security\"],\n stage: \"stable\",\n },\n \"fraud-protection\": {\n displayName: \"Fraud Protection\",\n subtitle: \"Protect your project from fraud and abuse\",\n tags: [\"auth\", \"security\"],\n stage: \"stable\",\n parentAppId: \"authentication\",\n },\n \"onboarding\": {\n displayName: \"Onboarding\",\n subtitle: \"Configure user onboarding requirements\",\n tags: [\"auth\"],\n stage: \"alpha\",\n },\n \"teams\": {\n displayName: \"Teams\",\n subtitle: \"Team collaboration and management\",\n tags: [\"auth\", \"security\"],\n stage: \"stable\",\n },\n \"rbac\": {\n displayName: \"RBAC\",\n subtitle: \"Role-based access control and permissions\",\n tags: [\"auth\", \"security\"],\n stage: \"stable\",\n },\n \"api-keys\": {\n displayName: \"API Keys\",\n subtitle: \"API key generation and management\",\n tags: [\"auth\", \"security\", \"developers\"],\n stage: \"stable\",\n },\n \"payments\": {\n displayName: \"Payments\",\n subtitle: \"Payment processing and subscription management\",\n tags: [\"operations\", \"gtm\"],\n stage: \"stable\",\n },\n \"emails\": {\n displayName: \"Emails\",\n subtitle: \"Email template configuration and management\",\n tags: [\"comms\"],\n stage: \"stable\",\n },\n \"support\": {\n displayName: \"Support\",\n subtitle: \"Customer conversations, team replies, and internal notes\",\n tags: [\"comms\", \"operations\"],\n stage: \"alpha\",\n },\n \"email-api\": {\n displayName: \"Email API\",\n subtitle: \"Programmatic email sending and delivery\",\n tags: [\"comms\", \"developers\", \"expert\"],\n stage: \"alpha\",\n },\n \"data-vault\": {\n displayName: \"Data Vault\",\n subtitle: \"Secure storage for sensitive user data\",\n tags: [\"security\", \"storage\"],\n stage: \"beta\",\n },\n \"webhooks\": {\n displayName: \"Webhooks\",\n subtitle: \"Real-time event notifications and integrations\",\n tags: [\"developers\"],\n stage: \"stable\",\n },\n \"tv-mode\": {\n displayName: \"TV mode\",\n subtitle: \"Dashboard display for large screens\",\n tags: [\"various\"],\n stage: \"alpha\",\n },\n \"launch-checklist\": {\n displayName: \"Launch Checklist\",\n subtitle: \"Pre-launch verification and readiness checks\",\n tags: [\"various\"],\n stage: \"stable\",\n },\n \"catalyst\": {\n displayName: \"Catalyst\",\n subtitle: \"Project scaffolding and rapid development\",\n tags: [\"various\"],\n stage: \"alpha\",\n },\n \"neon\": {\n displayName: \"Neon Integration\",\n subtitle: \"Serverless Postgres database integration\",\n tags: [\"integration\", \"storage\"],\n stage: \"alpha\",\n },\n \"convex\": {\n displayName: \"Convex Integration\",\n subtitle: \"Real-time backend platform integration\",\n tags: [\"integration\", \"storage\"],\n stage: \"alpha\",\n },\n \"vercel\": {\n displayName: \"Vercel Integration\",\n subtitle: \"Deploy your Hexclave project to Vercel\",\n tags: [\"integration\", \"developers\"],\n stage: \"stable\",\n },\n \"tanstack-start\": {\n displayName: \"TanStack Start\",\n subtitle: \"Use Hexclave in TanStack Start apps\",\n tags: [\"integration\", \"developers\"],\n stage: \"alpha\",\n },\n \"analytics\": {\n displayName: \"Analytics\",\n subtitle: \"View and explore analytics data\",\n tags: [\"developers\", \"operations\"],\n stage: \"stable\",\n },\n \"clickmaps\": {\n displayName: \"Clickmaps\",\n subtitle: \"Visualize where users click across your app\",\n tags: [\"developers\", \"operations\"],\n stage: \"stable\",\n parentAppId: \"analytics\",\n },\n \"session-replays\": {\n displayName: \"Session Replays\",\n subtitle: \"Watch real user sessions to understand how people use your app\",\n tags: [\"developers\", \"operations\"],\n stage: \"stable\",\n parentAppId: \"analytics\",\n },\n \"cli-auth\": {\n displayName: \"CLI Auth\",\n subtitle: \"Monitor CLI authentication sessions and active tokens\",\n tags: [\"auth\", \"developers\"],\n stage: \"alpha\",\n },\n // The app id carries the `-alpha` suffix deliberately: it is the key users\n // write in `apps.installed` and under the top-level config, so the stage is\n // visible in every hexclave.config.ts. The display name stays \"Deployments\".\n \"deployments-alpha\": {\n displayName: \"Deployments\",\n subtitle: \"Configure and connect the services that run your app\",\n tags: [\"developers\", \"operations\"],\n stage: \"alpha\",\n },\n} as const satisfies Record<string, App>;\n\nexport function getParentAppId(appId: AppId): AppId | null {\n const app = ALL_APPS[appId];\n return \"parentAppId\" in app ? app.parentAppId : null;\n}\n"],"mappings":"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"}