@yiaany/ghostapi 0.1.8 → 0.2.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 (293) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/CONTRIBUTING.md +132 -119
  3. package/LICENSE +21 -21
  4. package/PROVENANCE.md +13 -0
  5. package/README.md +78 -80
  6. package/SECURITY.md +56 -53
  7. package/dist/actions/gateway.js +320 -72
  8. package/dist/actions/gateway.js.map +1 -1
  9. package/dist/actions/index.d.ts +2 -2
  10. package/dist/actions/index.js +1 -1
  11. package/dist/actions/index.js.map +1 -1
  12. package/dist/agents/agentPrompt.js +7 -5
  13. package/dist/agents/agentPrompt.js.map +1 -1
  14. package/dist/ai/aiClient.js +5 -5
  15. package/dist/ai/aiClient.js.map +1 -1
  16. package/dist/ai/aiGenerator.js +66 -26
  17. package/dist/ai/aiGenerator.js.map +1 -1
  18. package/dist/ai/genericInference.js +151 -36
  19. package/dist/ai/genericInference.js.map +1 -1
  20. package/dist/ai/prompts.js +55 -49
  21. package/dist/ai/prompts.js.map +1 -1
  22. package/dist/approvals/approvalInbox.js +649 -133
  23. package/dist/approvals/approvalInbox.js.map +1 -1
  24. package/dist/approvals/index.d.ts +2 -2
  25. package/dist/approvals/index.js +1 -1
  26. package/dist/approvals/index.js.map +1 -1
  27. package/dist/behavior/behaviorStore.js +34 -14
  28. package/dist/behavior/behaviorStore.js.map +1 -1
  29. package/dist/cache/index.js +14 -5
  30. package/dist/cache/index.js.map +1 -1
  31. package/dist/cli/index.js +226 -93
  32. package/dist/cli/index.js.map +1 -1
  33. package/dist/cli/openUrl.js +17 -3
  34. package/dist/cli/openUrl.js.map +1 -1
  35. package/dist/cli/parser.js +79 -18
  36. package/dist/cli/parser.js.map +1 -1
  37. package/dist/config/dataPaths.js +4 -2
  38. package/dist/config/dataPaths.js.map +1 -1
  39. package/dist/config/localConfig.js +5 -2
  40. package/dist/config/localConfig.js.map +1 -1
  41. package/dist/config/serverConfig.js +11 -5
  42. package/dist/config/serverConfig.js.map +1 -1
  43. package/dist/contracts/contract.js +311 -83
  44. package/dist/contracts/contract.js.map +1 -1
  45. package/dist/contracts/index.d.ts +2 -2
  46. package/dist/contracts/index.js +1 -1
  47. package/dist/contracts/index.js.map +1 -1
  48. package/dist/credentials/credentialBroker.js +391 -79
  49. package/dist/credentials/credentialBroker.js.map +1 -1
  50. package/dist/credentials/index.d.ts +2 -2
  51. package/dist/credentials/index.js +1 -1
  52. package/dist/credentials/index.js.map +1 -1
  53. package/dist/dashboard/app.js +823 -685
  54. package/dist/dashboard/dashboard.js.map +1 -1
  55. package/dist/dashboard/index.html +704 -267
  56. package/dist/dashboard/styles.css +1040 -349
  57. package/dist/egress/capabilities.js +55 -25
  58. package/dist/egress/capabilities.js.map +1 -1
  59. package/dist/egress/linuxBootstrap.js +47 -11
  60. package/dist/egress/linuxBootstrap.js.map +1 -1
  61. package/dist/egress/run.js +170 -31
  62. package/dist/egress/run.js.map +1 -1
  63. package/dist/errors/errorEngine.js +15 -3
  64. package/dist/errors/errorEngine.js.map +1 -1
  65. package/dist/errors/providerErrors.js.map +1 -1
  66. package/dist/evals/evals.js +304 -78
  67. package/dist/evals/evals.js.map +1 -1
  68. package/dist/evals/index.d.ts +2 -2
  69. package/dist/evals/index.js +1 -1
  70. package/dist/evals/index.js.map +1 -1
  71. package/dist/evidence/index.d.ts +2 -2
  72. package/dist/evidence/index.js +1 -1
  73. package/dist/evidence/index.js.map +1 -1
  74. package/dist/evidence/report.d.ts +1 -1
  75. package/dist/evidence/report.js +263 -79
  76. package/dist/evidence/report.js.map +1 -1
  77. package/dist/fault/faultLab.js +24 -9
  78. package/dist/fault/faultLab.js.map +1 -1
  79. package/dist/index.d.ts +42 -42
  80. package/dist/index.js +21 -21
  81. package/dist/index.js.map +1 -1
  82. package/dist/inventory/analysis.d.ts +1 -1
  83. package/dist/inventory/analysis.js +174 -50
  84. package/dist/inventory/analysis.js.map +1 -1
  85. package/dist/inventory/index.d.ts +4 -4
  86. package/dist/inventory/index.js +3 -3
  87. package/dist/inventory/index.js.map +1 -1
  88. package/dist/inventory/inventoryController.js +362 -115
  89. package/dist/inventory/inventoryController.js.map +1 -1
  90. package/dist/inventory/types.js +680 -140
  91. package/dist/inventory/types.js.map +1 -1
  92. package/dist/ledger/actionLedger.js +355 -78
  93. package/dist/ledger/actionLedger.js.map +1 -1
  94. package/dist/ledger/index.d.ts +2 -2
  95. package/dist/ledger/index.js +1 -1
  96. package/dist/ledger/index.js.map +1 -1
  97. package/dist/mcp/server.js +26 -11
  98. package/dist/mcp/server.js.map +1 -1
  99. package/dist/policy/index.d.ts +2 -2
  100. package/dist/policy/index.js +1 -1
  101. package/dist/policy/index.js.map +1 -1
  102. package/dist/policy/policy.js +112 -32
  103. package/dist/policy/policy.js.map +1 -1
  104. package/dist/productTelemetry/index.js +71 -20
  105. package/dist/productTelemetry/index.js.map +1 -1
  106. package/dist/providers/conformance.js +10 -5
  107. package/dist/providers/conformance.js.map +1 -1
  108. package/dist/providers/discord.js +2 -2
  109. package/dist/providers/generic.js +3 -3
  110. package/dist/providers/github.js +2 -2
  111. package/dist/providers/index.d.ts +3 -3
  112. package/dist/providers/index.js +2 -2
  113. package/dist/providers/index.js.map +1 -1
  114. package/dist/providers/openai.js +3 -3
  115. package/dist/providers/packs/resendPack.js +51 -25
  116. package/dist/providers/packs/resendPack.js.map +1 -1
  117. package/dist/providers/packs/stripePack.js +590 -121
  118. package/dist/providers/packs/stripePack.js.map +1 -1
  119. package/dist/providers/registry.js +4 -4
  120. package/dist/providers/registry.js.map +1 -1
  121. package/dist/providers/runtime.js +7 -6
  122. package/dist/providers/runtime.js.map +1 -1
  123. package/dist/providers/stripeWebhook.js +39 -10
  124. package/dist/providers/stripeWebhook.js.map +1 -1
  125. package/dist/providers/twilio.js +2 -2
  126. package/dist/proxy/cacheKey.js +9 -2
  127. package/dist/proxy/cacheKey.js.map +1 -1
  128. package/dist/proxy/providerDetector.js +22 -9
  129. package/dist/proxy/providerDetector.js.map +1 -1
  130. package/dist/proxy/proxyHandler.js +57 -22
  131. package/dist/proxy/proxyHandler.js.map +1 -1
  132. package/dist/proxy/requestNormalizer.js +4 -2
  133. package/dist/proxy/requestNormalizer.js.map +1 -1
  134. package/dist/reliability/costGovernance.js +211 -49
  135. package/dist/reliability/costGovernance.js.map +1 -1
  136. package/dist/reliability/index.d.ts +8 -8
  137. package/dist/reliability/index.js +4 -4
  138. package/dist/reliability/index.js.map +1 -1
  139. package/dist/reliability/reconciliation.js +274 -65
  140. package/dist/reliability/reconciliation.js.map +1 -1
  141. package/dist/reliability/runtimeHealth.js +127 -35
  142. package/dist/reliability/runtimeHealth.js.map +1 -1
  143. package/dist/reliability/slo.js +257 -50
  144. package/dist/reliability/slo.js.map +1 -1
  145. package/dist/report/safetyReport.d.ts +6 -0
  146. package/dist/report/safetyReport.js +56 -12
  147. package/dist/report/safetyReport.js.map +1 -1
  148. package/dist/rules/aiRules.js +5 -5
  149. package/dist/rules/aiRules.js.map +1 -1
  150. package/dist/safety/index.d.ts +2 -2
  151. package/dist/safety/index.js +1 -1
  152. package/dist/safety/index.js.map +1 -1
  153. package/dist/safety/safetyController.js +675 -165
  154. package/dist/safety/safetyController.js.map +1 -1
  155. package/dist/scenarios/scenarioBundle.js +204 -71
  156. package/dist/scenarios/scenarioBundle.js.map +1 -1
  157. package/dist/scenarios/scenarioStore.js +88 -29
  158. package/dist/scenarios/scenarioStore.js.map +1 -1
  159. package/dist/security/headerSanitizer.js +52 -10
  160. package/dist/security/headerSanitizer.js.map +1 -1
  161. package/dist/security/secrets.js +10 -5
  162. package/dist/security/secrets.js.map +1 -1
  163. package/dist/server/accessControl.js +37 -10
  164. package/dist/server/accessControl.js.map +1 -1
  165. package/dist/server/createServer.js +1 -1
  166. package/dist/server/createServer.js.map +1 -1
  167. package/dist/server/eventsStore.js +15 -5
  168. package/dist/server/eventsStore.js.map +1 -1
  169. package/dist/server/routes.js +67 -19
  170. package/dist/server/routes.js.map +1 -1
  171. package/dist/server/sse.js +1 -1
  172. package/dist/server/sse.js.map +1 -1
  173. package/dist/setup/sdkDetector.js +7 -2
  174. package/dist/setup/sdkDetector.js.map +1 -1
  175. package/dist/setup/setupGenerator.js +136 -48
  176. package/dist/setup/setupGenerator.js.map +1 -1
  177. package/dist/state/stateExtractor.js +3 -1
  178. package/dist/state/stateExtractor.js.map +1 -1
  179. package/dist/state/stateResolver.js +10 -7
  180. package/dist/state/stateResolver.js.map +1 -1
  181. package/dist/state/stateStore.js +13 -4
  182. package/dist/state/stateStore.js.map +1 -1
  183. package/dist/storage/fileStore.js +12 -4
  184. package/dist/storage/fileStore.js.map +1 -1
  185. package/dist/teamControl/controlPlane.js +846 -174
  186. package/dist/teamControl/controlPlane.js.map +1 -1
  187. package/dist/teamControl/deployment.js +19 -5
  188. package/dist/teamControl/deployment.js.map +1 -1
  189. package/dist/teamControl/index.d.ts +4 -4
  190. package/dist/teamControl/index.js +2 -2
  191. package/dist/teamControl/index.js.map +1 -1
  192. package/dist/tests/testGenerator.js +15 -7
  193. package/dist/tests/testGenerator.js.map +1 -1
  194. package/dist/trust/index.d.ts +2 -2
  195. package/dist/trust/index.js +1 -1
  196. package/dist/trust/index.js.map +1 -1
  197. package/dist/trust/trustLadder.js +309 -63
  198. package/dist/trust/trustLadder.js.map +1 -1
  199. package/dist/worlds/index.d.ts +2 -2
  200. package/dist/worlds/index.js +1 -1
  201. package/dist/worlds/index.js.map +1 -1
  202. package/dist/worlds/worlds.js +364 -65
  203. package/dist/worlds/worlds.js.map +1 -1
  204. package/docs/assets/dashboard.png +0 -0
  205. package/docs/assets/ghostapi-avatar.png +0 -0
  206. package/docs/ci.md +49 -49
  207. package/docs/github-actions.md +84 -84
  208. package/docs/mcp.md +58 -52
  209. package/docs/policy.md +63 -61
  210. package/docs/providers/authoring-packs.md +180 -175
  211. package/docs/providers/stripe-core-pack.md +84 -82
  212. package/docs/releases/README.md +13 -0
  213. package/docs/security/action-gateway-threat-model.md +34 -34
  214. package/docs/security/action-ledger-incident-replay-threat-model.md +42 -42
  215. package/docs/security/approval-inbox-threat-model.md +35 -35
  216. package/docs/security/credential-broker-threat-model.md +52 -52
  217. package/docs/security/egress-threat-model.md +126 -126
  218. package/docs/security/inventory-threat-model.md +104 -104
  219. package/docs/security/kill-switch-budgets-threat-model.md +37 -37
  220. package/docs/security/reliability-threat-model.md +111 -111
  221. package/docs/security/trust-ladder-threat-model.md +33 -33
  222. package/docs/telemetry.md +14 -0
  223. package/docs/usage.md +680 -571
  224. package/examples/README.md +10 -10
  225. package/examples/agent-instructions/README.md +39 -39
  226. package/examples/ci-smoke/README.md +21 -21
  227. package/examples/ci-smoke/ghostapi.policy.yaml +22 -22
  228. package/examples/ci-smoke/package.json +9 -9
  229. package/examples/ci-smoke/production-egress.mjs +4 -2
  230. package/examples/ci-smoke/safe.mjs +21 -17
  231. package/examples/evals/README.md +24 -24
  232. package/examples/evals/retry-after.eval.json +71 -52
  233. package/examples/generic-rest/README.md +27 -27
  234. package/examples/github-fetch/README.md +38 -35
  235. package/examples/openai-streaming/README.md +16 -16
  236. package/examples/openai-streaming/streaming-tool-call.mjs +44 -31
  237. package/examples/policy/ghostapi.policy.yaml +27 -27
  238. package/examples/record-replay/README.md +19 -19
  239. package/examples/record-replay/replay-requests.json +22 -22
  240. package/examples/record-replay/stripe-checkout.har.json +30 -30
  241. package/examples/resend-node/README.md +22 -22
  242. package/examples/stripe-node/README.md +35 -35
  243. package/examples/stripe-node/checkout-flow.mjs +87 -61
  244. package/examples/twilio-node/README.md +21 -21
  245. package/examples/worlds/README.md +19 -19
  246. package/examples/worlds/subscription-recovery.mjs +21 -12
  247. package/package.json +28 -6
  248. package/dist/landing/assets/index-BXR41fAD.css +0 -1
  249. package/dist/landing/assets/index-CxWsopzP.css +0 -1
  250. package/dist/landing/assets/index-D8_ggMRE.js +0 -55
  251. package/dist/landing/assets/index-DZlpyhqd.js +0 -55
  252. package/dist/landing/assets/index-Dk-Xezs3.js +0 -55
  253. package/dist/landing/index.html +0 -15
  254. package/dist/landing/landing.d.ts +0 -3
  255. package/dist/landing/landing.js +0 -12
  256. package/dist/landing/landing.js.map +0 -1
  257. package/docs/commercial/README.md +0 -29
  258. package/docs/commercial/data-inventory.md +0 -36
  259. package/docs/commercial/manual-invoicing.md +0 -44
  260. package/docs/commercial/metrics.md +0 -51
  261. package/docs/commercial/pricing.md +0 -103
  262. package/docs/commercial/privacy-policy-draft.md +0 -41
  263. package/docs/commercial/terms-topics-for-counsel.md +0 -51
  264. package/docs/design-partners/README.md +0 -52
  265. package/docs/design-partners/demo-narratives.md +0 -33
  266. package/docs/design-partners/design-partner-offer.md +0 -39
  267. package/docs/design-partners/discovery-questions.md +0 -28
  268. package/docs/design-partners/feedback-capture-template.md +0 -48
  269. package/docs/design-partners/icp-one-pager.md +0 -43
  270. package/docs/design-partners/onboarding-checklist.md +0 -33
  271. package/docs/design-partners/pilot-success-criteria.md +0 -27
  272. package/docs/design-partners/pricing-interview-script.md +0 -18
  273. package/docs/design-partners/telemetry-plan.md +0 -48
  274. package/docs/development/baseline.md +0 -114
  275. package/docs/development/onboarding-smoke.md +0 -37
  276. package/docs/development/verification-0.1.8.md +0 -25
  277. package/docs/enterprise-product-roadmap-ru.md +0 -1879
  278. package/docs/fundraising/README.md +0 -87
  279. package/docs/fundraising/data-room-checklist.md +0 -72
  280. package/docs/fundraising/demo-script.md +0 -52
  281. package/docs/fundraising/design-partners-50.md +0 -74
  282. package/docs/fundraising/launch-posts.md +0 -37
  283. package/docs/fundraising/metrics-and-evidence.md +0 -30
  284. package/docs/fundraising/roadmap-12-month.md +0 -25
  285. package/docs/fundraising/technical-due-diligence-index.md +0 -37
  286. package/docs/fundraising/yc-application.md +0 -25
  287. package/docs/hosted-pilot.md +0 -111
  288. package/docs/operations/disaster-recovery-runbook.md +0 -81
  289. package/docs/operations/kill-switch-runbook.md +0 -32
  290. package/docs/release-checklist.md +0 -83
  291. package/docs/release-migration-and-rollback.md +0 -63
  292. package/docs/release-readiness.md +0 -39
  293. package/docs/team-control-plane.md +0 -72
@@ -1,6 +1,6 @@
1
1
  import { lstat, rm } from "node:fs/promises";
2
2
  import { getDataPaths } from "../config/dataPaths.js";
3
- import { atomicWriteJson, readJsonFile, withFileLock } from "../storage/fileStore.js";
3
+ import { atomicWriteJson, readJsonFile, withFileLock, } from "../storage/fileStore.js";
4
4
  import { isJsonObject } from "../utils/json.js";
5
5
  const SCHEMA_VERSION = 1;
6
6
  const MAX_ACTIVE_WEEKS = 8;
@@ -37,44 +37,61 @@ export async function recordProductTelemetry(event, now = new Date()) {
37
37
  if (!current.enabled)
38
38
  return current;
39
39
  const timestamp = now.toISOString();
40
- if (current.lastActivityAt !== undefined && timestamp < current.lastActivityAt) {
40
+ if (current.lastActivityAt !== undefined &&
41
+ timestamp < current.lastActivityAt) {
41
42
  throw new ProductTelemetryError("Local product telemetry clock moved backwards; refusing to write inconsistent activity state.");
42
43
  }
43
44
  if (current.counters[event] === Number.MAX_SAFE_INTEGER) {
44
45
  throw new ProductTelemetryError("Local product telemetry counter capacity reached.");
45
46
  }
46
47
  const week = isoWeek(now);
47
- const activeWeeks = [...new Set([...current.activeWeeks, week])].sort().slice(-MAX_ACTIVE_WEEKS);
48
- const counters = { ...current.counters, [event]: current.counters[event] + 1 };
48
+ const activeWeeks = [...new Set([...current.activeWeeks, week])]
49
+ .sort()
50
+ .slice(-MAX_ACTIVE_WEEKS);
51
+ const counters = {
52
+ ...current.counters,
53
+ [event]: current.counters[event] + 1,
54
+ };
49
55
  const activation = event === "enforced_run_completed" || event === "evidence_generated";
50
56
  const next = {
51
57
  schemaVersion: SCHEMA_VERSION,
52
58
  enabled: true,
53
59
  counters,
54
60
  activeWeeks,
55
- ...(activation && current.firstActivationAt === undefined ? { firstActivationAt: timestamp } : current.firstActivationAt === undefined ? {} : { firstActivationAt: current.firstActivationAt }),
56
- lastActivityAt: timestamp
61
+ ...(activation && current.firstActivationAt === undefined
62
+ ? { firstActivationAt: timestamp }
63
+ : current.firstActivationAt === undefined
64
+ ? {}
65
+ : { firstActivationAt: current.firstActivationAt }),
66
+ lastActivityAt: timestamp,
57
67
  };
58
68
  await atomicWriteJson(path, next);
59
69
  return next;
60
70
  });
61
71
  }
62
72
  export function formatProductTelemetry(snapshot) {
63
- const activation = snapshot.firstActivationAt === undefined ? "not reached" : `reached at ${snapshot.firstActivationAt}`;
73
+ const activation = snapshot.firstActivationAt === undefined
74
+ ? "not reached"
75
+ : `reached at ${snapshot.firstActivationAt}`;
64
76
  return [
65
77
  `Local product telemetry: ${snapshot.enabled ? "enabled" : "disabled"}`,
66
78
  "Network export: disabled (this feature has no network transport).",
67
79
  `Activation: ${activation}.`,
68
80
  `Active weeks retained: ${snapshot.activeWeeks.length}/${MAX_ACTIVE_WEEKS}.`,
69
- `Counters: init=${snapshot.counters.init_completed}, enforced-runs=${snapshot.counters.enforced_run_completed}, evidence=${snapshot.counters.evidence_generated}, evals=${snapshot.counters.eval_completed}.`
81
+ `Counters: init=${snapshot.counters.init_completed}, enforced-runs=${snapshot.counters.enforced_run_completed}, evidence=${snapshot.counters.evidence_generated}, evals=${snapshot.counters.eval_completed}.`,
70
82
  ].join("\n");
71
83
  }
72
84
  function emptySnapshot() {
73
85
  return {
74
86
  schemaVersion: SCHEMA_VERSION,
75
87
  enabled: false,
76
- counters: { init_completed: 0, enforced_run_completed: 0, evidence_generated: 0, eval_completed: 0 },
77
- activeWeeks: []
88
+ counters: {
89
+ init_completed: 0,
90
+ enforced_run_completed: 0,
91
+ evidence_generated: 0,
92
+ eval_completed: 0,
93
+ },
94
+ activeWeeks: [],
78
95
  };
79
96
  }
80
97
  async function readSnapshot(path) {
@@ -88,20 +105,40 @@ async function readSnapshot(path) {
88
105
  function parseSnapshot(value) {
89
106
  if (!isJsonObject(value))
90
107
  throw new ProductTelemetryError("Local product telemetry file must be a JSON object.");
91
- assertExactKeys(value, ["schemaVersion", "enabled", "counters", "activeWeeks", "firstActivationAt", "lastActivityAt"]);
92
- if (value.schemaVersion !== SCHEMA_VERSION || typeof value.enabled !== "boolean")
108
+ assertExactKeys(value, [
109
+ "schemaVersion",
110
+ "enabled",
111
+ "counters",
112
+ "activeWeeks",
113
+ "firstActivationAt",
114
+ "lastActivityAt",
115
+ ]);
116
+ if (value.schemaVersion !== SCHEMA_VERSION ||
117
+ typeof value.enabled !== "boolean")
93
118
  throw new ProductTelemetryError("Local product telemetry file has an unsupported schema.");
94
119
  if (!isJsonObject(value.counters))
95
120
  throw new ProductTelemetryError("Local product telemetry counters must be an object.");
96
- assertExactKeys(value.counters, ["init_completed", "enforced_run_completed", "evidence_generated", "eval_completed"]);
121
+ assertExactKeys(value.counters, [
122
+ "init_completed",
123
+ "enforced_run_completed",
124
+ "evidence_generated",
125
+ "eval_completed",
126
+ ]);
97
127
  const counters = {};
98
- for (const event of ["init_completed", "enforced_run_completed", "evidence_generated", "eval_completed"]) {
128
+ for (const event of [
129
+ "init_completed",
130
+ "enforced_run_completed",
131
+ "evidence_generated",
132
+ "eval_completed",
133
+ ]) {
99
134
  const count = value.counters[event];
100
135
  if (typeof count !== "number" || !Number.isSafeInteger(count) || count < 0)
101
136
  throw new ProductTelemetryError("Local product telemetry counters must be non-negative safe integers.");
102
137
  counters[event] = count;
103
138
  }
104
- if (!Array.isArray(value.activeWeeks) || value.activeWeeks.length > MAX_ACTIVE_WEEKS || !value.activeWeeks.every((week) => typeof week === "string" && /^\d{4}-W\d{2}$/.test(week))) {
139
+ if (!Array.isArray(value.activeWeeks) ||
140
+ value.activeWeeks.length > MAX_ACTIVE_WEEKS ||
141
+ !value.activeWeeks.every((week) => typeof week === "string" && /^\d{4}-W\d{2}$/.test(week))) {
105
142
  throw new ProductTelemetryError("Local product telemetry active weeks are invalid.");
106
143
  }
107
144
  const activeWeeks = [...new Set(value.activeWeeks)].sort();
@@ -109,10 +146,19 @@ function parseSnapshot(value) {
109
146
  throw new ProductTelemetryError("Local product telemetry active weeks must be unique.");
110
147
  const firstActivationAt = parseTimestamp(value.firstActivationAt);
111
148
  const lastActivityAt = parseTimestamp(value.lastActivityAt);
112
- if (firstActivationAt !== undefined && lastActivityAt !== undefined && firstActivationAt > lastActivityAt) {
149
+ if (firstActivationAt !== undefined &&
150
+ lastActivityAt !== undefined &&
151
+ firstActivationAt > lastActivityAt) {
113
152
  throw new ProductTelemetryError("Local product telemetry timestamps are out of order.");
114
153
  }
115
- return { schemaVersion: SCHEMA_VERSION, enabled: value.enabled, counters, activeWeeks, ...(firstActivationAt === undefined ? {} : { firstActivationAt }), ...(lastActivityAt === undefined ? {} : { lastActivityAt }) };
154
+ return {
155
+ schemaVersion: SCHEMA_VERSION,
156
+ enabled: value.enabled,
157
+ counters,
158
+ activeWeeks,
159
+ ...(firstActivationAt === undefined ? {} : { firstActivationAt }),
160
+ ...(lastActivityAt === undefined ? {} : { lastActivityAt }),
161
+ };
116
162
  }
117
163
  function assertExactKeys(value, allowed) {
118
164
  if (Object.keys(value).some((key) => !allowed.includes(key)))
@@ -121,7 +167,9 @@ function assertExactKeys(value, allowed) {
121
167
  function parseTimestamp(value) {
122
168
  if (value === undefined)
123
169
  return undefined;
124
- if (typeof value !== "string" || Number.isNaN(Date.parse(value)) || new Date(value).toISOString() !== value)
170
+ if (typeof value !== "string" ||
171
+ Number.isNaN(Date.parse(value)) ||
172
+ new Date(value).toISOString() !== value)
125
173
  throw new ProductTelemetryError("Local product telemetry timestamp is invalid.");
126
174
  return value;
127
175
  }
@@ -129,14 +177,17 @@ function isErrorCode(error, code) {
129
177
  return error instanceof Error && "code" in error && error.code === code;
130
178
  }
131
179
  function isTelemetryEvent(value) {
132
- return value === "init_completed" || value === "enforced_run_completed" || value === "evidence_generated" || value === "eval_completed";
180
+ return (value === "init_completed" ||
181
+ value === "enforced_run_completed" ||
182
+ value === "evidence_generated" ||
183
+ value === "eval_completed");
133
184
  }
134
185
  function isoWeek(date) {
135
186
  const utc = new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()));
136
187
  const day = utc.getUTCDay() || 7;
137
188
  utc.setUTCDate(utc.getUTCDate() + 4 - day);
138
189
  const yearStart = new Date(Date.UTC(utc.getUTCFullYear(), 0, 1));
139
- const week = Math.ceil((((utc.getTime() - yearStart.getTime()) / 86_400_000) + 1) / 7);
190
+ const week = Math.ceil(((utc.getTime() - yearStart.getTime()) / 86_400_000 + 1) / 7);
140
191
  return `${utc.getUTCFullYear()}-W${String(week).padStart(2, "0")}`;
141
192
  }
142
193
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/productTelemetry/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/productTelemetry/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { assertProviderStateTransition, prepareProviderPackExecution } from "./runtime.js";
1
+ import { assertProviderStateTransition, prepareProviderPackExecution, } from "./runtime.js";
2
2
  export function runProviderPackConformance(pack, runtime) {
3
- if (pack.manifest.name !== pack.name || pack.manifest.displayName !== pack.displayName) {
3
+ if (pack.manifest.name !== pack.name ||
4
+ pack.manifest.displayName !== pack.displayName) {
4
5
  throw new Error(`Provider pack ${pack.name} manifest identity does not match the pack.`);
5
6
  }
6
7
  if (!pack.manifest.apiVersions.supported.includes(pack.manifest.apiVersions.default)) {
@@ -24,7 +25,7 @@ export function runProviderPackConformance(pack, runtime) {
24
25
  request: fixture.request,
25
26
  parsedRequest: prepared.parsedRequest,
26
27
  apiVersion: prepared.apiVersion,
27
- runtime
28
+ runtime,
28
29
  });
29
30
  const responseError = fixture.assertResponse(response);
30
31
  if (responseError !== null) {
@@ -34,7 +35,7 @@ export function runProviderPackConformance(pack, runtime) {
34
35
  request: fixture.request,
35
36
  response,
36
37
  apiVersion: prepared.apiVersion,
37
- runtime
38
+ runtime,
38
39
  });
39
40
  if (transition !== null)
40
41
  assertProviderStateTransition(pack, transition);
@@ -43,6 +44,10 @@ export function runProviderPackConformance(pack, runtime) {
43
44
  throw new Error(`Conformance fixture "${fixture.name}" state transition: ${transitionError}`);
44
45
  }
45
46
  }
46
- return { provider: pack.name, apiVersion, fixtures: pack.conformanceFixtures.length };
47
+ return {
48
+ provider: pack.name,
49
+ apiVersion,
50
+ fixtures: pack.conformanceFixtures.length,
51
+ };
47
52
  }
48
53
  //# sourceMappingURL=conformance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conformance.js","sourceRoot":"","sources":["../../src/providers/conformance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conformance.js","sourceRoot":"","sources":["../../src/providers/conformance.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@ export const discordAdapter = {
4
4
  formatError(details) {
5
5
  return {
6
6
  code: typeof details.code === "number" ? details.code : 50035,
7
- message: details.message
7
+ message: details.message,
8
8
  };
9
- }
9
+ },
10
10
  };
11
11
  //# sourceMappingURL=discord.js.map
@@ -5,9 +5,9 @@ export const genericAdapter = {
5
5
  return {
6
6
  error: {
7
7
  status: details.status,
8
- message: details.message
9
- }
8
+ message: details.message,
9
+ },
10
10
  };
11
- }
11
+ },
12
12
  };
13
13
  //# sourceMappingURL=generic.js.map
@@ -4,8 +4,8 @@ export const githubAdapter = {
4
4
  formatError(details) {
5
5
  return {
6
6
  message: details.message,
7
- documentation_url: "https://docs.github.com/rest"
7
+ documentation_url: "https://docs.github.com/rest",
8
8
  };
9
- }
9
+ },
10
10
  };
11
11
  //# sourceMappingURL=github.js.map
@@ -1,4 +1,4 @@
1
- export { detectProviderPack, getProviderAdapter, getProviderManifests, getProviderPack, getProviderScenarios, isRegisteredProvider, providerRegistry } from "./registry.js";
1
+ export { detectProviderPack, getProviderAdapter, getProviderManifests, getProviderPack, getProviderScenarios, isRegisteredProvider, providerRegistry, } from "./registry.js";
2
2
  export { runProviderPackConformance } from "./conformance.js";
3
- export { assertProviderStateTransition, createProviderRuntime, getProviderPackHeaders, prepareProviderPackExecution } from "./runtime.js";
4
- export type { ProviderAdapter, ProviderConformanceFixture, ProviderDetectionInput, ProviderName, ProviderPack, ProviderPackDetectionInput, ProviderPackExecution, ProviderPackManifest, ProviderResponse, ProviderRuntime, ProviderRuntimeCapabilities, ProviderScenario, ProviderScenarioStep, ProviderStateTransition, ProviderWebhookHook } from "./types.js";
3
+ export { assertProviderStateTransition, createProviderRuntime, getProviderPackHeaders, prepareProviderPackExecution, } from "./runtime.js";
4
+ export type { ProviderAdapter, ProviderConformanceFixture, ProviderDetectionInput, ProviderName, ProviderPack, ProviderPackDetectionInput, ProviderPackExecution, ProviderPackManifest, ProviderResponse, ProviderRuntime, ProviderRuntimeCapabilities, ProviderScenario, ProviderScenarioStep, ProviderStateTransition, ProviderWebhookHook, } from "./types.js";
@@ -1,4 +1,4 @@
1
- export { detectProviderPack, getProviderAdapter, getProviderManifests, getProviderPack, getProviderScenarios, isRegisteredProvider, providerRegistry } from "./registry.js";
1
+ export { detectProviderPack, getProviderAdapter, getProviderManifests, getProviderPack, getProviderScenarios, isRegisteredProvider, providerRegistry, } from "./registry.js";
2
2
  export { runProviderPackConformance } from "./conformance.js";
3
- export { assertProviderStateTransition, createProviderRuntime, getProviderPackHeaders, prepareProviderPackExecution } from "./runtime.js";
3
+ export { assertProviderStateTransition, createProviderRuntime, getProviderPackHeaders, prepareProviderPackExecution, } from "./runtime.js";
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EACL,6BAA6B,EAC7B,qBAAqB,EACrB,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,cAAc,CAAC"}
@@ -7,9 +7,9 @@ export const openaiAdapter = {
7
7
  message: details.message,
8
8
  type: details.type ?? "invalid_request_error",
9
9
  param: details.param ?? null,
10
- code: details.code ?? null
11
- }
10
+ code: details.code ?? null,
11
+ },
12
12
  };
13
- }
13
+ },
14
14
  };
15
15
  //# sourceMappingURL=openai.js.map
@@ -12,10 +12,10 @@ const resendScenarios = [
12
12
  method: "POST",
13
13
  path: "/emails",
14
14
  status: 200,
15
- body: { id: "email_ghostapi_123", object: "email", status: "sent" }
16
- }
17
- ]
18
- }
15
+ body: { id: "email_ghostapi_123", object: "email", status: "sent" },
16
+ },
17
+ ],
18
+ },
19
19
  ];
20
20
  const resendConformanceFixtures = [
21
21
  {
@@ -25,23 +25,33 @@ const resendConformanceFixtures = [
25
25
  path: "/emails",
26
26
  query: {},
27
27
  headers: { "content-type": "application/json" },
28
- body: { from: "sender@example.com", to: "reader@example.com", subject: "Hello" },
29
- receivedAt: "2026-08-06T12:00:00.000Z"
28
+ body: {
29
+ from: "sender@example.com",
30
+ to: "reader@example.com",
31
+ subject: "Hello",
32
+ },
33
+ receivedAt: "2026-08-06T12:00:00.000Z",
30
34
  },
31
35
  assertResponse(response) {
32
- if (!isJsonObject(response.body) || typeof response.body.id !== "string" || !response.body.id.startsWith("email_mock_")) {
36
+ if (!isJsonObject(response.body) ||
37
+ typeof response.body.id !== "string" ||
38
+ !response.body.id.startsWith("email_mock_")) {
33
39
  return "response body must contain an email_mock_ id";
34
40
  }
35
41
  return null;
36
42
  },
37
43
  assertStateTransition(transition, response) {
38
- const id = isJsonObject(response.body) && typeof response.body.id === "string" ? response.body.id : "";
39
- if (transition === null || transition.key !== `resend:${id}` || transition.value !== response.body) {
44
+ const id = isJsonObject(response.body) && typeof response.body.id === "string"
45
+ ? response.body.id
46
+ : "";
47
+ if (transition === null ||
48
+ transition.key !== `resend:${id}` ||
49
+ transition.value !== response.body) {
40
50
  return "state transition must persist the exact response under the resend response id key";
41
51
  }
42
52
  return null;
43
- }
44
- }
53
+ },
54
+ },
45
55
  ];
46
56
  export const resendPack = {
47
57
  name: "resend",
@@ -52,7 +62,10 @@ export const resendPack = {
52
62
  displayName: "Resend",
53
63
  implementation: "pack",
54
64
  packVersion: "1.0.0",
55
- apiVersions: { default: RESEND_API_VERSION, supported: [RESEND_API_VERSION] },
65
+ apiVersions: {
66
+ default: RESEND_API_VERSION,
67
+ supported: [RESEND_API_VERSION],
68
+ },
56
69
  capabilities: {
57
70
  detection: true,
58
71
  requestParsing: true,
@@ -62,33 +75,35 @@ export const resendPack = {
62
75
  providerErrors: true,
63
76
  scenarios: true,
64
77
  webhooks: false,
65
- conformanceFixtures: true
66
- }
78
+ conformanceFixtures: true,
79
+ },
67
80
  },
68
81
  detection: {
69
82
  priority: 300,
70
83
  matches(input) {
71
84
  const path = input.path.toLowerCase();
72
85
  return path === "/emails" || path.startsWith("/emails/");
73
- }
86
+ },
74
87
  },
75
88
  parseRequest(request) {
76
89
  return { body: isJsonObject(request.body) ? request.body : {} };
77
90
  },
78
91
  selectApiVersion(request) {
79
- const requested = firstHeaderValue(request.headers["x-ghostapi-api-version"]) ?? RESEND_API_VERSION;
92
+ const requested = firstHeaderValue(request.headers["x-ghostapi-api-version"]) ??
93
+ RESEND_API_VERSION;
80
94
  if (requested === RESEND_API_VERSION)
81
95
  return { version: requested };
82
96
  return {
83
97
  error: {
84
98
  status: 400,
85
99
  type: "invalid_api_version",
86
- message: `Unsupported Resend API version: ${requested}. Supported versions: ${RESEND_API_VERSION}.`
87
- }
100
+ message: `Unsupported Resend API version: ${requested}. Supported versions: ${RESEND_API_VERSION}.`,
101
+ },
88
102
  };
89
103
  },
90
104
  validate(parsedRequest, request) {
91
- if (request.method !== "POST" || (request.path !== "/emails" && !request.path.startsWith("/emails/")))
105
+ if (request.method !== "POST" ||
106
+ (request.path !== "/emails" && !request.path.startsWith("/emails/")))
92
107
  return null;
93
108
  const body = readResendRequest(parsedRequest).body;
94
109
  if (!body.from)
@@ -104,14 +119,21 @@ export const resendPack = {
104
119
  return {
105
120
  status: 200,
106
121
  headers: { "content-type": "application/json" },
107
- body: { id, provider: "resend", method: request.method, path: request.path }
122
+ body: {
123
+ id,
124
+ provider: "resend",
125
+ method: request.method,
126
+ path: request.path,
127
+ },
108
128
  };
109
129
  },
110
130
  createResponseHeaders() {
111
131
  return {};
112
132
  },
113
133
  transitionState({ request, response }) {
114
- if (!isMutation(request.method) || !isJsonObject(response.body) || typeof response.body.id !== "string")
134
+ if (!isMutation(request.method) ||
135
+ !isJsonObject(response.body) ||
136
+ typeof response.body.id !== "string")
115
137
  return null;
116
138
  return { key: `resend:${response.body.id}`, value: response.body };
117
139
  },
@@ -120,15 +142,15 @@ export const resendPack = {
120
142
  return {
121
143
  statusCode: details.status,
122
144
  name: details.type ?? "validation_error",
123
- message: details.message
145
+ message: details.message,
124
146
  };
125
147
  },
126
148
  promptHints: [
127
149
  "This is the Resend Email API.",
128
- "The standard response for sending an email is a single object with an 'id' string."
150
+ "The standard response for sending an email is a single object with an 'id' string.",
129
151
  ],
130
152
  scenarios: resendScenarios,
131
- conformanceFixtures: resendConformanceFixtures
153
+ conformanceFixtures: resendConformanceFixtures,
132
154
  };
133
155
  function readResendRequest(value) {
134
156
  if (!isJsonObject(value) || !isJsonObject(value.body))
@@ -136,7 +158,11 @@ function readResendRequest(value) {
136
158
  return { body: value.body };
137
159
  }
138
160
  function validationError(field) {
139
- return { status: 400, message: `Missing required field: ${field}`, type: "validation_error" };
161
+ return {
162
+ status: 400,
163
+ message: `Missing required field: ${field}`,
164
+ type: "validation_error",
165
+ };
140
166
  }
141
167
  function firstHeaderValue(value) {
142
168
  return Array.isArray(value) ? value[0] : value;
@@ -1 +1 @@
1
- {"version":3,"file":"resendPack.js","sourceRoot":"","sources":["../../../src/providers/packs/resendPack.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAMhC,MAAM,eAAe,GAAgC;IACnD;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,6DAA6D;QAC1E,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE;aACpE;SACF;KACF;CACF,CAAC;AAEF,MAAM,yBAAyB,GAA0C;IACvE;QACE,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE;YACP,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAAE;YAChF,UAAU,EAAE,0BAA0B;SACvC;QACD,cAAc,CAAC,QAAQ;YACrB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBACxH,OAAO,8CAA8C,CAAC;YACxD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,qBAAqB,CAAC,UAAU,EAAE,QAAQ;YACxC,MAAM,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvG,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,CAAC,GAAG,KAAK,UAAU,EAAE,EAAE,IAAI,UAAU,CAAC,KAAK,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnG,OAAO,mFAAmF,CAAC;YAC7F,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAiB;IACtC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,QAAQ;IACrB,QAAQ,EAAE;QACR,aAAa,EAAE,CAAC;QAChB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,QAAQ;QACrB,cAAc,EAAE,MAAM;QACtB,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC,kBAAkB,CAAC,EAAE;QAC7E,YAAY,EAAE;YACZ,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,IAAI;YACpB,UAAU,EAAE,IAAI;YAChB,sBAAsB,EAAE,IAAI;YAC5B,gBAAgB,EAAE,IAAI;YACtB,cAAc,EAAE,IAAI;YACpB,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,mBAAmB,EAAE,IAAI;SAC1B;KACF;IACD,SAAS,EAAE;QACT,QAAQ,EAAE,GAAG;QACb,OAAO,CAAC,KAAK;YACX,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtC,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC3D,CAAC;KACF;IACD,YAAY,CAAC,OAAO;QAClB,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAClE,CAAC;IACD,gBAAgB,CAAC,OAAO;QACtB,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,IAAI,kBAAkB,CAAC;QACpG,IAAI,SAAS,KAAK,kBAAkB;YAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QACpE,OAAO;YACL,KAAK,EAAE;gBACL,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,mCAAmC,SAAS,yBAAyB,kBAAkB,GAAG;aACpG;SACF,CAAC;IACJ,CAAC;IACD,QAAQ,CAAC,aAAa,EAAE,OAAO;QAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACnH,MAAM,IAAI,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,mBAAmB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE;QACtC,MAAM,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACzE,OAAO;YACL,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;SAC7E,CAAC;IACJ,CAAC;IACD,qBAAqB;QACnB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,eAAe,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE;QACnC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACrH,OAAO,EAAE,GAAG,EAAE,UAAU,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IACrE,CAAC;IACD,QAAQ,EAAE,KAAK;IACf,WAAW,CAAC,OAA6B;QACvC,OAAO;YACL,UAAU,EAAE,OAAO,CAAC,MAAM;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,kBAAkB;YACxC,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC;IACJ,CAAC;IACD,WAAW,EAAE;QACX,+BAA+B;QAC/B,oFAAoF;KACrF;IACD,SAAS,EAAE,eAAe;IAC1B,mBAAmB,EAAE,yBAAyB;CAC/C,CAAC;AAEF,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAC3E,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,2BAA2B,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;AAChG,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAoC;IAC5D,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACjD,CAAC;AAED,SAAS,UAAU,CAAC,MAAc;IAChC,OAAO,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,OAAO,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"resendPack.js","sourceRoot":"","sources":["../../../src/providers/packs/resendPack.ts"],"names":[],"mappings":"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"}