@pithy-sh/core 0.1.4 → 0.1.5

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 (264) hide show
  1. package/dist/address/address.d.ts +2 -0
  2. package/dist/address/address.js +2 -0
  3. package/dist/audit/auditEvent.d.ts +2 -0
  4. package/dist/audit/auditEvent.js +2 -0
  5. package/dist/audit/recorder.d.ts +2 -0
  6. package/dist/audit/recorder.js +2 -0
  7. package/dist/capability/bindings.d.ts +2 -0
  8. package/dist/capability/bindings.js +2 -0
  9. package/dist/capability/capability.d.ts +2 -0
  10. package/dist/capability/capability.js +2 -0
  11. package/dist/capability/client.d.ts +2 -0
  12. package/dist/capability/client.js +2 -0
  13. package/dist/capability/compose.d.ts +2 -0
  14. package/dist/capability/compose.js +2 -0
  15. package/dist/capability/composition.d.ts +2 -0
  16. package/dist/capability/composition.js +2 -0
  17. package/dist/capability/config.d.ts +2 -0
  18. package/dist/capability/config.js +2 -0
  19. package/dist/capability/devSecret.d.ts +2 -0
  20. package/dist/capability/devSecret.js +2 -0
  21. package/dist/capability/manifest.d.ts +2 -0
  22. package/dist/capability/manifest.js +2 -0
  23. package/dist/capability/secretOrigin.d.ts +2 -0
  24. package/dist/capability/secretOrigin.js +2 -0
  25. package/dist/capability/settings.d.ts +2 -0
  26. package/dist/capability/settings.js +2 -0
  27. package/dist/capability/validateBindings.d.ts +2 -0
  28. package/dist/capability/validateBindings.js +2 -0
  29. package/dist/capability/vanishingKey.d.ts +2 -0
  30. package/dist/capability/vanishingKey.js +2 -0
  31. package/dist/controlPlane/audit/actions.d.ts +2 -0
  32. package/dist/controlPlane/audit/actions.js +2 -0
  33. package/dist/controlPlane/capability.d.ts +2 -0
  34. package/dist/controlPlane/capability.js +2 -0
  35. package/dist/controlPlane/config/config.d.ts +2 -0
  36. package/dist/controlPlane/config/config.js +2 -0
  37. package/dist/controlPlane/context.d.ts +2 -0
  38. package/dist/controlPlane/context.js +2 -0
  39. package/dist/controlPlane/data/connection.d.ts +2 -0
  40. package/dist/controlPlane/data/connection.js +2 -0
  41. package/dist/controlPlane/data/keyLifecycle.d.ts +2 -0
  42. package/dist/controlPlane/data/keyLifecycle.js +2 -0
  43. package/dist/controlPlane/data/replay.d.ts +2 -0
  44. package/dist/controlPlane/data/replay.js +2 -0
  45. package/dist/controlPlane/data/tables.d.ts +2 -0
  46. package/dist/controlPlane/data/tables.js +2 -0
  47. package/dist/controlPlane/discovery/adminRoute.d.ts +2 -0
  48. package/dist/controlPlane/discovery/adminRoute.js +2 -0
  49. package/dist/controlPlane/discovery/configuration.d.ts +2 -0
  50. package/dist/controlPlane/discovery/configuration.js +2 -0
  51. package/dist/controlPlane/discovery/drift.d.ts +2 -0
  52. package/dist/controlPlane/discovery/drift.js +2 -0
  53. package/dist/controlPlane/discovery/health.d.ts +2 -0
  54. package/dist/controlPlane/discovery/health.js +2 -0
  55. package/dist/controlPlane/discovery/healthSummary.d.ts +2 -0
  56. package/dist/controlPlane/discovery/healthSummary.js +2 -0
  57. package/dist/controlPlane/error/errors.d.ts +2 -0
  58. package/dist/controlPlane/error/errors.js +2 -0
  59. package/dist/controlPlane/http/cors.d.ts +2 -0
  60. package/dist/controlPlane/http/cors.js +2 -0
  61. package/dist/controlPlane/http/guard.d.ts +2 -0
  62. package/dist/controlPlane/http/guard.js +2 -0
  63. package/dist/controlPlane/http/handlers.d.ts +2 -0
  64. package/dist/controlPlane/http/handlers.js +2 -0
  65. package/dist/controlPlane/http/responses.d.ts +2 -0
  66. package/dist/controlPlane/http/responses.js +2 -0
  67. package/dist/controlPlane/http/routes.d.ts +2 -0
  68. package/dist/controlPlane/http/routes.js +2 -0
  69. package/dist/controlPlane/http/schemas.d.ts +2 -0
  70. package/dist/controlPlane/http/schemas.js +2 -0
  71. package/dist/controlPlane/http/verify.d.ts +2 -0
  72. package/dist/controlPlane/http/verify.js +2 -0
  73. package/dist/controlPlane/migrations/0001_init.d.ts +2 -0
  74. package/dist/controlPlane/migrations/0001_init.js +2 -0
  75. package/dist/controlPlane/replay/d1Guard.d.ts +2 -0
  76. package/dist/controlPlane/replay/d1Guard.js +2 -0
  77. package/dist/controlPlane/replay/guard.d.ts +2 -0
  78. package/dist/controlPlane/replay/guard.js +2 -0
  79. package/dist/controlPlane/replay/kvGuard.d.ts +2 -0
  80. package/dist/controlPlane/replay/kvGuard.js +2 -0
  81. package/dist/controlPlane/scope/scope.d.ts +2 -0
  82. package/dist/controlPlane/scope/scope.js +2 -0
  83. package/dist/controlPlane/token/base64url.d.ts +2 -0
  84. package/dist/controlPlane/token/base64url.js +2 -0
  85. package/dist/controlPlane/token/claims.d.ts +2 -0
  86. package/dist/controlPlane/token/claims.js +2 -0
  87. package/dist/controlPlane/token/digest.d.ts +2 -0
  88. package/dist/controlPlane/token/digest.js +2 -0
  89. package/dist/controlPlane/token/jws.d.ts +2 -0
  90. package/dist/controlPlane/token/jws.js +2 -0
  91. package/dist/controlPlane/token/mint.d.ts +2 -0
  92. package/dist/controlPlane/token/mint.js +2 -0
  93. package/dist/controlPlane/wire.d.ts +2 -0
  94. package/dist/controlPlane/wire.js +2 -0
  95. package/dist/createBackend.d.ts +2 -0
  96. package/dist/createBackend.js +2 -0
  97. package/dist/createEntrypoint.d.ts +2 -0
  98. package/dist/createEntrypoint.js +2 -0
  99. package/dist/data/boundParameters.d.ts +2 -0
  100. package/dist/data/boundParameters.js +2 -0
  101. package/dist/data/codecs.d.ts +2 -0
  102. package/dist/data/codecs.js +2 -0
  103. package/dist/data/cursor.d.ts +2 -0
  104. package/dist/data/cursor.js +2 -0
  105. package/dist/data/databases.d.ts +2 -0
  106. package/dist/data/databases.js +2 -0
  107. package/dist/data/db.d.ts +2 -0
  108. package/dist/data/db.js +2 -0
  109. package/dist/data/withD1Retry.d.ts +2 -0
  110. package/dist/data/withD1Retry.js +2 -0
  111. package/dist/entitlement/entitlement.d.ts +2 -0
  112. package/dist/entitlement/entitlement.js +2 -0
  113. package/dist/entitlement/gateScan.d.ts +2 -0
  114. package/dist/entitlement/gateScan.js +2 -0
  115. package/dist/entitlement/require.d.ts +2 -0
  116. package/dist/entitlement/require.js +2 -0
  117. package/dist/env/ambient.d.ts +2 -0
  118. package/dist/env/ambient.js +2 -0
  119. package/dist/env/ci.d.ts +2 -0
  120. package/dist/env/ci.js +2 -0
  121. package/dist/env/stem.d.ts +2 -0
  122. package/dist/env/stem.js +2 -0
  123. package/dist/error/cause.d.ts +68 -0
  124. package/dist/error/cause.d.ts.map +1 -1
  125. package/dist/error/cause.js +94 -1
  126. package/dist/error/client.d.ts +2 -0
  127. package/dist/error/client.js +2 -0
  128. package/dist/error/extend.d.ts +2 -0
  129. package/dist/error/extend.js +2 -0
  130. package/dist/error/http.d.ts +2 -0
  131. package/dist/error/http.js +2 -0
  132. package/dist/error/payload.d.ts +2 -0
  133. package/dist/error/payload.js +2 -0
  134. package/dist/error/pithyError.d.ts +2 -0
  135. package/dist/error/pithyError.js +2 -0
  136. package/dist/error/terminal.d.ts +2 -0
  137. package/dist/error/terminal.js +2 -0
  138. package/dist/http/authContext.d.ts +2 -0
  139. package/dist/http/authContext.js +2 -0
  140. package/dist/http/routeContract.d.ts +2 -0
  141. package/dist/http/routeContract.js +2 -0
  142. package/dist/http/sameOrigin.d.ts +2 -0
  143. package/dist/http/sameOrigin.js +2 -0
  144. package/dist/http/signedWebhook.d.ts +2 -0
  145. package/dist/http/signedWebhook.js +2 -0
  146. package/dist/http/validation.d.ts +2 -0
  147. package/dist/http/validation.js +2 -0
  148. package/dist/http/verification.d.ts +2 -0
  149. package/dist/http/verification.js +2 -0
  150. package/dist/i18n/acceptLanguage.d.ts +2 -0
  151. package/dist/i18n/acceptLanguage.js +2 -0
  152. package/dist/i18n/catalog.d.ts +2 -0
  153. package/dist/i18n/catalog.js +2 -0
  154. package/dist/i18n/locale.d.ts +2 -0
  155. package/dist/i18n/locale.js +2 -0
  156. package/dist/i18n/localeMarker.d.ts +2 -0
  157. package/dist/i18n/localeMarker.js +2 -0
  158. package/dist/i18n/match.d.ts +2 -0
  159. package/dist/i18n/match.js +2 -0
  160. package/dist/i18n/registry.d.ts +2 -0
  161. package/dist/i18n/registry.js +2 -0
  162. package/dist/i18n/translator.d.ts +2 -0
  163. package/dist/i18n/translator.js +2 -0
  164. package/dist/index.d.ts +2 -0
  165. package/dist/index.js +2 -0
  166. package/dist/kv/kv.d.ts +2 -0
  167. package/dist/kv/kv.js +2 -0
  168. package/dist/kv/namespaces.d.ts +2 -0
  169. package/dist/kv/namespaces.js +2 -0
  170. package/dist/logger/local.d.ts +2 -0
  171. package/dist/logger/local.js +2 -0
  172. package/dist/logger/logger.d.ts +2 -0
  173. package/dist/logger/logger.js +2 -0
  174. package/dist/logger/record.d.ts +2 -0
  175. package/dist/logger/record.js +2 -0
  176. package/dist/logger/worker.d.ts +2 -0
  177. package/dist/logger/worker.js +2 -0
  178. package/dist/migrations/batch.d.ts +2 -0
  179. package/dist/migrations/batch.js +2 -0
  180. package/dist/migrations/bookkeeping.d.ts +2 -0
  181. package/dist/migrations/bookkeeping.js +2 -0
  182. package/dist/migrations/owner.d.ts +2 -0
  183. package/dist/migrations/owner.js +2 -0
  184. package/dist/migrations/registry.d.ts +2 -0
  185. package/dist/migrations/registry.js +2 -0
  186. package/dist/migrations/runner.d.ts +2 -0
  187. package/dist/migrations/runner.js +2 -0
  188. package/dist/naming/domains.d.ts +2 -0
  189. package/dist/naming/domains.js +2 -0
  190. package/dist/naming/environment.d.ts +2 -0
  191. package/dist/naming/environment.js +2 -0
  192. package/dist/naming/feature.d.ts +2 -0
  193. package/dist/naming/feature.js +2 -0
  194. package/dist/naming/limits.d.ts +2 -0
  195. package/dist/naming/limits.js +2 -0
  196. package/dist/naming/provisionScope.d.ts +2 -0
  197. package/dist/naming/provisionScope.js +2 -0
  198. package/dist/naming/resource.d.ts +2 -0
  199. package/dist/naming/resource.js +2 -0
  200. package/dist/naming/resourceNames.d.ts +2 -0
  201. package/dist/naming/resourceNames.js +2 -0
  202. package/dist/naming/segment.d.ts +2 -0
  203. package/dist/naming/segment.js +2 -0
  204. package/dist/projection/asRead.d.ts +2 -0
  205. package/dist/projection/asRead.js +2 -0
  206. package/dist/projection/published.d.ts +2 -0
  207. package/dist/projection/published.js +2 -0
  208. package/dist/schema/describedness.d.ts +2 -0
  209. package/dist/schema/describedness.js +2 -0
  210. package/dist/seed/compose.d.ts +2 -0
  211. package/dist/seed/compose.js +2 -0
  212. package/dist/seed/devLogin.d.ts +2 -0
  213. package/dist/seed/devLogin.js +2 -0
  214. package/dist/seed/exampleIdentities.d.ts +2 -0
  215. package/dist/seed/exampleIdentities.js +2 -0
  216. package/dist/seed/metadata.d.ts +2 -0
  217. package/dist/seed/metadata.js +2 -0
  218. package/dist/seed/seed.d.ts +2 -0
  219. package/dist/seed/seed.js +2 -0
  220. package/dist/seed/seededRows.d.ts +2 -0
  221. package/dist/seed/seededRows.js +2 -0
  222. package/dist/seed/writeD1.d.ts +2 -0
  223. package/dist/seed/writeD1.js +2 -0
  224. package/dist/seed/writeKv.d.ts +2 -0
  225. package/dist/seed/writeKv.js +2 -0
  226. package/dist/semver/semver.d.ts +2 -0
  227. package/dist/semver/semver.js +2 -0
  228. package/dist/text/comments.d.ts +2 -0
  229. package/dist/text/comments.js +2 -0
  230. package/dist/version.generated.d.ts +3 -1
  231. package/dist/version.generated.js +3 -1
  232. package/dist/worker/health.d.ts +2 -0
  233. package/dist/worker/health.js +2 -0
  234. package/dist/worker/identity.d.ts +2 -0
  235. package/dist/worker/identity.js +2 -0
  236. package/dist/workflow/bindings.d.ts +2 -0
  237. package/dist/workflow/bindings.js +2 -0
  238. package/dist/workflow/dispatch.d.ts +2 -0
  239. package/dist/workflow/dispatch.js +2 -0
  240. package/dist/workflow/dispatchRoute.d.ts +2 -0
  241. package/dist/workflow/dispatchRoute.js +2 -0
  242. package/dist/workflow/faults.d.ts +2 -0
  243. package/dist/workflow/faults.js +2 -0
  244. package/dist/workflow/host.d.ts +2 -0
  245. package/dist/workflow/host.js +2 -0
  246. package/dist/workflow/hostEntry.d.ts +2 -0
  247. package/dist/workflow/hostEntry.js +2 -0
  248. package/dist/workflow/hostEnv.d.ts +2 -0
  249. package/dist/workflow/hostEnv.js +2 -0
  250. package/dist/workflow/loopback.d.ts +2 -0
  251. package/dist/workflow/loopback.js +2 -0
  252. package/dist/workflow/naming.d.ts +2 -0
  253. package/dist/workflow/naming.js +2 -0
  254. package/dist/workflow/register.d.ts +2 -0
  255. package/dist/workflow/register.js +2 -0
  256. package/dist/workflow/schemas.d.ts +2 -0
  257. package/dist/workflow/schemas.js +2 -0
  258. package/dist/workflow/spec.d.ts +2 -0
  259. package/dist/workflow/spec.js +2 -0
  260. package/dist/workflow/stepMessage.d.ts +2 -0
  261. package/dist/workflow/stepMessage.js +2 -0
  262. package/package.json +2 -2
  263. package/src/error/cause.ts +116 -0
  264. package/src/version.generated.ts +1 -1
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { fromZodError } from "../error/pithyError.js";
2
4
  //#region src/http/validation.ts
3
5
  /**
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { z } from "zod";
2
4
  /**
3
5
  * How a route verifies the caller's identity/authenticity. Every route declares one —
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { z } from "zod";
2
4
  //#region src/http/verification.ts
3
5
  /**
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  /** One entry of an `Accept-Language` header: the tag the caller asked for, and how much they meant it. */
2
4
  export interface LanguageRange {
3
5
  /** The language range, lower-cased. `*` survives as itself — it is a valid range, not a tag. */
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import "./locale.js";
2
4
  //#region src/i18n/acceptLanguage.ts
3
5
  /**
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { z } from "zod";
2
4
  /** A catalog key — `<domain>/<path>`, where `<domain>` is the contributing capability's name. */
3
5
  export declare const MessageKey: z.ZodString;
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { Locale } from "./locale.js";
2
4
  import { z } from "zod";
3
5
  /** A catalog key — `<domain>/<path>`, where `<domain>` is the contributing capability's name. */
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { z } from "zod";
2
4
  /**
3
5
  * The longest language tag this kit accepts. RFC 5646's own grammar allows far more, but a tag that
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { z } from "zod";
2
4
  //#region src/i18n/locale.ts
3
5
  /**
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  /**
2
4
  * The locale tag this source declares in its head, or `null` if it declares none.
3
5
  *
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  //#region src/i18n/localeMarker.ts
2
4
  /**
3
5
  * Reading the locale a source file declares in its head — the reader for the marker `docs/I18N.md` publishes.
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  /**
2
4
  * A declared exception map: a language range the truncation walk would miss, and the supported locale
3
5
  * it means. `{ nb: "no", tl: "fil" }` — the pairs no algorithm derives, because they are historical
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { parseLocale } from "./locale.js";
2
4
  //#region src/i18n/match.ts
3
5
  /** Lower-cased index of the supported list, so matching is case-insensitive without lower-casing answers. */
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import type { Capability } from "../capability/capability";
2
4
  import { type LocaleCatalogs, type MessageCatalog } from "./catalog";
3
5
  /**
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { messageDomain } from "./catalog.js";
2
4
  import { ValidationError } from "../error/pithyError.js";
3
5
  import "./translator.js";
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { type MessageCatalog, type MessageParams } from "./catalog";
2
4
  import { type TextDirection } from "./locale";
3
5
  /**
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { localeDirection } from "./locale.js";
2
4
  import { interpolate, lookupMessage } from "./catalog.js";
3
5
  //#region src/i18n/translator.ts
package/dist/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  /**
2
4
  * The `pithy add controlplane` surface — **not a barrel over `@pithy-sh/core`.**
3
5
  *
package/dist/index.js CHANGED
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { ANY_VERIFIED_CALLER, ControlPlaneScope, KEYS_ROTATE_SCOPE, MANIFEST_READ_SCOPE, SEAM_SCOPES } from "./controlPlane/scope/scope.js";
2
4
  import { ControlPlaneConfig } from "./controlPlane/config/config.js";
3
5
  import { ControlPlaneConnection, Ed25519PublicJwk, RegisteredKey } from "./controlPlane/data/connection.js";
package/dist/kv/kv.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import type { KVNamespace } from "@cloudflare/workers-types";
2
4
  import type { z } from "zod";
3
5
  import type { Logger } from "../logger/logger";
package/dist/kv/kv.js CHANGED
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { InternalError, NotFoundError, messageOf } from "../error/pithyError.js";
2
4
  import { noopLogger } from "../logger/logger.js";
3
5
  //#region src/kv/kv.ts
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import type { z } from "zod";
2
4
  import type { Capability } from "../capability/capability";
3
5
  import { type BindingGroup } from "../capability/compose";
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { bindingGroupsFrom, composeBindingGroups } from "../capability/compose.js";
2
4
  import { noopLogger } from "../logger/logger.js";
3
5
  import { TypedKv } from "./kv.js";
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { type Logger } from "./logger";
2
4
  import type { LogLevel } from "./record";
3
5
  /**
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { serializeRecord } from "./record.js";
2
4
  import { createLogger } from "./logger.js";
3
5
  //#region src/logger/local.ts
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { type LogFields, type LogLevel, type LogRecord } from "./record";
2
4
  /**
3
5
  * The `Logger` seam. Four levels, each taking a message plus **structured fields** (not a formatted
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { PithyError } from "../error/pithyError.js";
2
4
  import { LOG_LEVEL_ORDER } from "./record.js";
3
5
  //#region src/logger/logger.ts
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { z } from "zod";
2
4
  /**
3
5
  * The logger object model. A log call is a **record**, not a formatted line — `{ level, msg, ...fields }`
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { ErrorPayload } from "../error/payload.js";
2
4
  import { z } from "zod";
3
5
  //#region src/logger/record.ts
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { type Logger } from "./logger";
2
4
  import type { LogFields, LogLevel, LogRecord } from "./record";
3
5
  /**
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { serializeRecord } from "./record.js";
2
4
  import { createLogger } from "./logger.js";
3
5
  //#region src/logger/worker.ts
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import type { D1Database } from "@cloudflare/workers-types";
2
4
  import type { MigrationProvider } from "kysely/migration";
3
5
  /**
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { D1MigrationDialect } from "./bookkeeping.js";
2
4
  import { CamelCasePlugin, Kysely } from "kysely";
3
5
  //#region src/migrations/batch.ts
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import type { D1Database } from "@cloudflare/workers-types";
2
4
  import type { DatabaseIntrospector } from "kysely";
3
5
  import { Kysely } from "kysely";
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { CamelCasePlugin, Kysely } from "kysely";
2
4
  import { D1Dialect } from "kysely-d1";
3
5
  //#region src/migrations/bookkeeping.ts
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import type { D1Database } from "@cloudflare/workers-types";
2
4
  import { z } from "zod";
3
5
  /** The recorded owner of a database: who stamped it, and when. */
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { ConflictError, ValidationError } from "../error/pithyError.js";
2
4
  import { SQLiteDate } from "../data/codecs.js";
3
5
  import { MIGRATION_OWNER_TABLE, migrationKysely } from "./bookkeeping.js";
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import type { Migration, MigrationProvider } from "kysely/migration";
2
4
  /** Maximum per-capability `order`, derived from the prefix width so the two never drift. */
3
5
  export declare const MAX_MIGRATION_ORDER: number;
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { InternalError } from "../error/pithyError.js";
2
4
  //#region src/migrations/registry.ts
3
5
  /** Width of the zero-padded `order` prefix in a composed key — the stable anchor. */
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import type { D1Database } from "@cloudflare/workers-types";
2
4
  import { type MigrationProvider, type MigrationResult } from "kysely/migration";
3
5
  /**
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { InternalError } from "../error/pithyError.js";
2
4
  import { causeMessage } from "../error/cause.js";
3
5
  import { MIGRATION_LOCK_TABLE, MIGRATION_TABLE, migrationKysely } from "./bookkeeping.js";
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { z } from "zod";
2
4
  /** The environments a domain may be declared for — every managed one, never `dev`. */
3
5
  export declare const DOMAIN_ENVIRONMENTS: ("prod" | "staging")[];
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { ENVIRONMENTS } from "./environment.js";
2
4
  import { z } from "zod";
3
5
  //#region src/naming/domains.ts
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { z } from "zod";
2
4
  /**
3
5
  * What an environment may be called, in one module.
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { NAME_SEGMENT } from "./segment.js";
2
4
  import { PithyError, ValidationError } from "../error/pithyError.js";
3
5
  import { z } from "zod";
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  /**
2
4
  * The names a feature environment provisions under: `<project>-f<issue>-<slug>-<binding>-<kind>` for a
3
5
  * resource, `<project>-f<issue>-<slug>-<worker>` for a Worker script.
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { ValidationError } from "../error/pithyError.js";
2
4
  import { NAMESPACE_LIMITS } from "./limits.js";
3
5
  import { assertValidProjectName, fitSegment, kebab } from "./resource.js";
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  /**
2
4
  * What Cloudflare will actually accept as a name, per namespace — and, where it publishes nothing,
3
5
  * what Pithy chooses instead.
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { MAX_ENVIRONMENT_NAME } from "./environment.js";
2
4
  //#region src/naming/limits.ts
3
5
  /**
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { type FeatureIdentity, type FeatureResourceKind } from "./feature";
2
4
  /**
3
5
  * **What a provisioning run names its resources, and which `env.<name>` stanza it writes them into —
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { FEATURE_ENVIRONMENT, assertValidEnvironment } from "./environment.js";
2
4
  import { featureResourceName, featureSecretEntryName, featureWorkerName } from "./feature.js";
3
5
  import { resourceNames } from "./resourceNames.js";
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  /**
2
4
  * One naming rule, in one module: **`<project>-<env>-<thing>`**, kebab-case.
3
5
  *
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { NAME_SEGMENT } from "./segment.js";
2
4
  import { InternalError, ValidationError } from "../error/pithyError.js";
3
5
  import { MAX_ENVIRONMENT_NAME } from "./environment.js";
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { type FeatureIdentity, type FeatureResourceKind } from "./feature";
2
4
  /**
3
5
  * Every Cloudflare name a project composes, behind one object — **the facade**.
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { InternalError, ValidationError } from "../error/pithyError.js";
2
4
  import { GLOBAL_SCOPE, assertValidEnvironment } from "./environment.js";
3
5
  import { NAMESPACE_LIMITS } from "./limits.js";
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  /**
2
4
  * What a single segment of a composed name may look like — one pattern, one home.
3
5
  *
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  //#region src/naming/segment.ts
2
4
  /**
3
5
  * What a single segment of a composed name may look like — one pattern, one home.
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { z } from "zod";
2
4
  /**
3
5
  * The reader's contract: a capability's own response object, restated for a client that does not
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { InternalError } from "../error/pithyError.js";
2
4
  import { z } from "zod";
3
5
  //#region src/projection/asRead.ts
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  /**
2
4
  * The gate primitive for a projection that crosses a trust boundary: **nothing left this surface but the
3
5
  * facts it publishes.**
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  //#region src/projection/published.ts
2
4
  /**
3
5
  * Everything in `document` that {@link PublishedFacts} does not permit, as lines naming what and where.
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { z } from "zod";
2
4
  /**
3
5
  * The children of one schema, by kind. **Throws for a kind this walk has never been taught** — a
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { InternalError } from "../error/pithyError.js";
2
4
  import { z } from "zod";
3
5
  //#region src/schema/describedness.ts
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import type { Capability } from "../capability/capability";
2
4
  import type { SeedSet } from "./seed";
3
5
  /** Maximum per-set `order`, derived from the prefix width so the two never drift. */
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { InternalError } from "../error/pithyError.js";
2
4
  //#region src/seed/compose.ts
3
5
  /** Width of the zero-padded `order` prefix in a composed key — the stable sort anchor. */
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { z } from "zod";
2
4
  /**
3
5
  * The dev-login artifact: the one file a seed run writes so `pithy dev` can say how to sign in.
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { JsonDate } from "../data/codecs.js";
2
4
  import { z } from "zod";
3
5
  //#region src/seed/devLogin.ts
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  /**
2
4
  * The canonical example identities — a small, fixed cast of demo users that every capability's
3
5
  * example seed set references. It is what makes `pithy seed` (with `seed.includeExamples`) fill a
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  //#region src/seed/exampleIdentities.ts
2
4
  /**
3
5
  * The canonical demo cast, in a stable order. Referenced by every capability's example seed set so
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  /**
2
4
  * The standard Cloudflare-asset metadata convention.
3
5
  *
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  //#region src/seed/metadata.ts
2
4
  /**
3
5
  * The standard Cloudflare-asset metadata convention.
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import type { z } from "zod";
2
4
  import type { KvStoreSpec } from "../kv/namespaces";
3
5
  import type { SeededRows } from "./seededRows";
package/dist/seed/seed.js CHANGED
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  //#region src/seed/seed.ts
2
4
  /**
3
5
  * Author a seed set. A pass-through that anchors the {@link SeedSet} type at the author site (the
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import type { SeedSet } from "./seed";
2
4
  /**
3
5
  * The run's own inventory: which rows a seed run declares, per table, before it writes any of them.
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  //#region src/seed/seededRows.ts
2
4
  /**
3
5
  * Index every set's statically declared D1 rows into one lookup, in composed order.
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import type { Kysely } from "kysely";
2
4
  import { z } from "zod";
3
5
  import type { D1SeedGroup } from "./seed";
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { fromZodError } from "../error/pithyError.js";
2
4
  import { chunkRowsByBoundParameters } from "../data/boundParameters.js";
3
5
  import { z } from "zod";
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { z } from "zod";
2
4
  import type { TypedKv } from "../kv/kv";
3
5
  import type { KvStoreSpec } from "../kv/namespaces";
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { fromZodError } from "../error/pithyError.js";
2
4
  import { z } from "zod";
3
5
  //#region src/seed/writeKv.ts
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  /**
2
4
  * Semantic versions: one parse, one format, one order.
3
5
  *
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  import { z } from "zod";
2
4
  //#region src/semver/semver.ts
3
5
  /**
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  /**
2
4
  * `source` with every comment blanked — the one comment stripper this repository's gates share.
3
5
  *
@@ -1,3 +1,5 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  //#region src/text/comments.ts
2
4
  /**
3
5
  * `source` with every comment blanked — the one comment stripper this repository's gates share.
@@ -1,5 +1,7 @@
1
+ // SPDX-FileCopyrightText: 2026 Pithy
2
+ // SPDX-License-Identifier: MIT
1
3
  /** This package's npm name — the join key against a release feed. */
2
4
  export declare const PACKAGE_NAME = "@pithy-sh/core";
3
5
  /** This package's version, stamped from its own package.json at generation time. */
4
- export declare const PACKAGE_VERSION = "0.1.4";
6
+ export declare const PACKAGE_VERSION = "0.1.5";
5
7
  //# sourceMappingURL=version.generated.d.ts.map