@pome-sh/cli 0.11.0 → 0.13.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 (197) hide show
  1. package/dist/build-info.json +3 -3
  2. package/dist/src/cli/checks-add.js +16 -0
  3. package/dist/src/cli/checks-lint.d.ts +1 -0
  4. package/dist/src/cli/checks-lint.js +59 -0
  5. package/dist/src/cli/criterion-binding.d.ts +41 -0
  6. package/dist/src/cli/criterion-binding.js +111 -0
  7. package/dist/src/cli/main.js +12 -0
  8. package/dist/src/runner/runTask.d.ts +2 -2
  9. package/dist/src/task/insertCriterion.js +6 -1
  10. package/dist/src/task/parseTask.d.ts +21 -0
  11. package/dist/src/task/parseTask.js +48 -1
  12. package/dist/src/task/taskSchema.d.ts +4 -4
  13. package/node_modules/@pome-sh/sdk/dist/checks.d.ts +18 -0
  14. package/node_modules/@pome-sh/sdk/dist/checks.js.map +1 -1
  15. package/node_modules/@pome-sh/sdk/dist/failure-injection.js +7 -0
  16. package/node_modules/@pome-sh/sdk/dist/failure-injection.js.map +1 -1
  17. package/node_modules/@pome-sh/sdk/dist/index.d.ts +8 -0
  18. package/node_modules/@pome-sh/sdk/dist/index.js +1 -0
  19. package/node_modules/@pome-sh/sdk/dist/index.js.map +1 -1
  20. package/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js +10 -0
  21. package/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js.map +1 -1
  22. package/node_modules/@pome-sh/sdk/dist/recorder.js +8 -4
  23. package/node_modules/@pome-sh/sdk/dist/recorder.js.map +1 -1
  24. package/node_modules/@pome-sh/sdk/dist/request-capture.d.ts +31 -0
  25. package/node_modules/@pome-sh/sdk/dist/request-capture.js +59 -0
  26. package/node_modules/@pome-sh/sdk/dist/request-capture.js.map +1 -0
  27. package/node_modules/@pome-sh/sdk/dist/server.d.ts +1 -0
  28. package/node_modules/@pome-sh/sdk/dist/server.js +13 -0
  29. package/node_modules/@pome-sh/sdk/dist/server.js.map +1 -1
  30. package/node_modules/@pome-sh/sdk/package.json +2 -2
  31. package/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +6 -0
  32. package/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +2 -0
  33. package/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +14 -0
  34. package/node_modules/@pome-sh/shared-types/dist/recorder-events.js +40 -0
  35. package/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -1
  36. package/node_modules/@pome-sh/shared-types/package.json +1 -1
  37. package/node_modules/@pome-sh/shared-types/trace-contract.json +1 -1
  38. package/node_modules/@pome-sh/twin-github/dist/src/access-control.d.ts +3 -3
  39. package/node_modules/@pome-sh/twin-github/dist/src/check-params.d.ts +1 -0
  40. package/node_modules/@pome-sh/twin-github/dist/src/check-params.js +17 -0
  41. package/node_modules/@pome-sh/twin-github/dist/src/check-params.js.map +1 -1
  42. package/node_modules/@pome-sh/twin-github/dist/src/check-tape.d.ts +5 -0
  43. package/node_modules/@pome-sh/twin-github/dist/src/check-tape.js +159 -0
  44. package/node_modules/@pome-sh/twin-github/dist/src/check-tape.js.map +1 -0
  45. package/node_modules/@pome-sh/twin-github/dist/src/checks.d.ts +2 -0
  46. package/node_modules/@pome-sh/twin-github/dist/src/checks.js +13 -4
  47. package/node_modules/@pome-sh/twin-github/dist/src/checks.js.map +1 -1
  48. package/node_modules/@pome-sh/twin-github/dist/src/domain/checks.d.ts +4 -4
  49. package/node_modules/@pome-sh/twin-github/dist/src/domain/github-domain.d.ts +5 -5
  50. package/node_modules/@pome-sh/twin-github/dist/src/domain/pulls.d.ts +1 -1
  51. package/node_modules/@pome-sh/twin-github/dist/src/routes.js +16 -2
  52. package/node_modules/@pome-sh/twin-github/dist/src/routes.js.map +1 -1
  53. package/node_modules/@pome-sh/twin-github/dist/src/seed.d.ts +1 -1
  54. package/node_modules/@pome-sh/twin-github/dist/src/serializers.d.ts +3 -3
  55. package/node_modules/@pome-sh/twin-github/dist/src/tools.d.ts +22 -21
  56. package/node_modules/@pome-sh/twin-github/dist/src/tools.js +22 -0
  57. package/node_modules/@pome-sh/twin-github/dist/src/tools.js.map +1 -1
  58. package/node_modules/@pome-sh/twin-github/package.json +3 -3
  59. package/node_modules/@pome-sh/twin-stripe/dist/src/idempotency.js +6 -0
  60. package/node_modules/@pome-sh/twin-stripe/dist/src/idempotency.js.map +1 -1
  61. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/_helpers.js +9 -1
  62. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/_helpers.js.map +1 -1
  63. package/node_modules/@pome-sh/twin-stripe/dist/src/seed.d.ts +2 -2
  64. package/node_modules/@pome-sh/twin-stripe/dist/src/session.d.ts +3 -0
  65. package/node_modules/@pome-sh/twin-stripe/dist/src/session.js +72 -0
  66. package/node_modules/@pome-sh/twin-stripe/dist/src/session.js.map +1 -1
  67. package/node_modules/@pome-sh/twin-stripe/dist/src/twin.js +5 -1
  68. package/node_modules/@pome-sh/twin-stripe/dist/src/twin.js.map +1 -1
  69. package/node_modules/@pome-sh/twin-stripe/package.json +4 -4
  70. package/package.json +5 -5
  71. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/admin-gate.d.ts +0 -35
  72. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/admin-gate.js +0 -103
  73. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/admin-gate.js.map +0 -1
  74. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/auth.d.ts +0 -100
  75. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/auth.js +0 -262
  76. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/auth.js.map +0 -1
  77. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/build-info.d.ts +0 -7
  78. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/build-info.js +0 -14
  79. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/build-info.js.map +0 -1
  80. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/db.d.ts +0 -44
  81. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/db.js +0 -113
  82. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/db.js.map +0 -1
  83. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/errors.d.ts +0 -24
  84. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/errors.js +0 -61
  85. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/errors.js.map +0 -1
  86. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/failure-injection.d.ts +0 -43
  87. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/failure-injection.js +0 -160
  88. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/failure-injection.js.map +0 -1
  89. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity-inventory.d.ts +0 -121
  90. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js +0 -204
  91. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js.map +0 -1
  92. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity.d.ts +0 -8
  93. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity.js +0 -39
  94. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity.js.map +0 -1
  95. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/index.d.ts +0 -372
  96. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/index.js +0 -139
  97. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/index.js.map +0 -1
  98. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.d.ts +0 -10
  99. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js +0 -221
  100. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js.map +0 -1
  101. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/parity.d.ts +0 -61
  102. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/parity.js +0 -123
  103. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/parity.js.map +0 -1
  104. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/recorder.d.ts +0 -120
  105. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/recorder.js +0 -368
  106. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/recorder.js.map +0 -1
  107. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/redaction.d.ts +0 -1
  108. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/redaction.js +0 -3
  109. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/redaction.js.map +0 -1
  110. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server-helpers.d.ts +0 -54
  111. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server-helpers.js +0 -181
  112. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server-helpers.js.map +0 -1
  113. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server.d.ts +0 -46
  114. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server.js +0 -394
  115. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server.js.map +0 -1
  116. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/tool-context.d.ts +0 -8
  117. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/tool-context.js +0 -22
  118. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/tool-context.js.map +0 -1
  119. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/package.json +0 -54
  120. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/errors.d.ts +0 -39
  121. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/errors.js +0 -33
  122. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/errors.js.map +0 -1
  123. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +0 -254
  124. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +0 -122
  125. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +0 -1
  126. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/github-access-control.d.ts +0 -175
  127. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/github-access-control.js +0 -182
  128. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/github-access-control.js.map +0 -1
  129. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/identity.d.ts +0 -90
  130. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/identity.js +0 -72
  131. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/identity.js.map +0 -1
  132. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/index.d.ts +0 -28
  133. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/index.js +0 -35
  134. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/index.js.map +0 -1
  135. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/manifest.d.ts +0 -31
  136. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/manifest.js +0 -76
  137. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/manifest.js.map +0 -1
  138. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +0 -331
  139. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js +0 -33
  140. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js.map +0 -1
  141. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.d.ts +0 -65
  142. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +0 -455
  143. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +0 -1
  144. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.d.ts +0 -39
  145. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js +0 -47
  146. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js.map +0 -1
  147. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/index.d.ts +0 -25
  148. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/index.js +0 -27
  149. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/index.js.map +0 -1
  150. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +0 -100
  151. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +0 -193
  152. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +0 -1
  153. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/map-span.d.ts +0 -64
  154. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +0 -112
  155. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +0 -1
  156. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/nano.d.ts +0 -26
  157. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/nano.js +0 -61
  158. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/nano.js.map +0 -1
  159. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/project.d.ts +0 -42
  160. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/project.js +0 -104
  161. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +0 -1
  162. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +0 -57
  163. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +0 -102
  164. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +0 -1
  165. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +0 -134
  166. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +0 -152
  167. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +0 -1
  168. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +0 -480
  169. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/recorder-events.js +0 -270
  170. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +0 -1
  171. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/redaction.d.ts +0 -2
  172. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/redaction.js +0 -152
  173. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/redaction.js.map +0 -1
  174. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/rest.d.ts +0 -257
  175. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/rest.js +0 -335
  176. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/rest.js.map +0 -1
  177. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/run.d.ts +0 -208
  178. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/run.js +0 -170
  179. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/run.js.map +0 -1
  180. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +0 -14
  181. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +0 -46
  182. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +0 -1
  183. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +0 -1006
  184. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-state.js +0 -263
  185. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +0 -1
  186. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +0 -53
  187. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/sessions.js +0 -51
  188. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/sessions.js.map +0 -1
  189. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +0 -80
  190. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task-vocab.js +0 -98
  191. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +0 -1
  192. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task.d.ts +0 -859
  193. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task.js +0 -60
  194. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task.js.map +0 -1
  195. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/manifest-schema.json +0 -68
  196. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/package.json +0 -55
  197. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/trace-contract.json +0 -41
@@ -1,182 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- /**
3
- * GitHub twin access-control catalog — cross-repo contract between
4
- * `packages/twin-github` (runtime) and `pome-cloud` (dashboard toggles).
5
- *
6
- * Display labels follow the hosted Twins Manage UI: `{METHOD} {operation}`
7
- * where `operation` is camelCase (with a few legacy aliases like `addComment`).
8
- *
9
- * Endpoints are grouped by functional cluster (Issues, Branches & files, …),
10
- * aligned with the FDRS-300 hot-path expansion table — not reversible/irreversible.
11
- */
12
- import { z } from "zod";
13
- export const githubAccessControlCategorySchema = z.enum([
14
- "issues",
15
- "issue_comments",
16
- "pull_requests",
17
- "branches_files",
18
- "commits_diffs",
19
- "milestones",
20
- "status_checks",
21
- "tags_releases",
22
- "labels",
23
- "collaborators",
24
- ]);
25
- /** Human-readable section headers for the hosted Manage UI. */
26
- export const GITHUB_ACCESS_CONTROL_CATEGORY_LABELS = {
27
- issues: "Issues",
28
- issue_comments: "Issue comments",
29
- pull_requests: "Pull requests",
30
- branches_files: "Branches & files",
31
- commits_diffs: "Commits & diffs",
32
- milestones: "Milestones",
33
- status_checks: "Status & checks",
34
- tags_releases: "Tags & releases",
35
- labels: "Labels",
36
- collaborators: "Collaborators & identity",
37
- };
38
- /** Stable render order for dashboard sections. */
39
- export const GITHUB_ACCESS_CONTROL_CATEGORY_ORDER = [
40
- "issues",
41
- "issue_comments",
42
- "pull_requests",
43
- "branches_files",
44
- "commits_diffs",
45
- "milestones",
46
- "status_checks",
47
- "tags_releases",
48
- "labels",
49
- "collaborators",
50
- ];
51
- export const githubAccessControlEndpointSchema = z.object({
52
- /** MCP tool name (snake_case). Stable id for policy storage. */
53
- tool: z.string().min(1),
54
- /** Dashboard label operation segment, e.g. `listIssues`. */
55
- operation: z.string().min(1),
56
- method: z.enum(["GET", "POST", "PUT", "PATCH", "DELETE"]),
57
- category: githubAccessControlCategorySchema,
58
- /** Default allow/deny when a session has no explicit override. */
59
- default_allowed: z.boolean(),
60
- /** FDRS-300 v2 hot-path; false for the original 25-endpoint surface. */
61
- v2: z.boolean().default(false),
62
- });
63
- export const githubAccessControlCategoryGroupSchema = z.object({
64
- category: githubAccessControlCategorySchema,
65
- label: z.string().min(1),
66
- endpoints: z.array(githubAccessControlEndpointSchema),
67
- });
68
- export const githubAccessControlCatalogSchema = z.object({
69
- version: z.literal(2),
70
- twin: z.literal("github"),
71
- endpoints: z.array(githubAccessControlEndpointSchema).min(1),
72
- categories: z.array(githubAccessControlCategoryGroupSchema).min(1),
73
- });
74
- function entry(tool, operation, method, category, defaultAllowed, v2 = false) {
75
- return { tool, operation, method, category, default_allowed: defaultAllowed, v2 };
76
- }
77
- const ENDPOINTS = [
78
- // Issues
79
- entry("list_issues", "listIssues", "GET", "issues", true),
80
- entry("get_issue", "getIssue", "GET", "issues", true),
81
- entry("create_issue", "createIssue", "POST", "issues", true),
82
- entry("update_issue", "updateIssue", "PATCH", "issues", true),
83
- entry("add_assignees", "addAssignees", "POST", "issues", false),
84
- // Issue comments
85
- entry("add_issue_comment", "addComment", "POST", "issue_comments", true),
86
- entry("update_issue_comment", "updateIssueComment", "PATCH", "issue_comments", true, true),
87
- entry("delete_issue_comment", "deleteIssueComment", "DELETE", "issue_comments", false, true),
88
- // Pull requests
89
- entry("list_pull_requests", "listPullRequests", "GET", "pull_requests", true),
90
- entry("get_pull_request", "getPullRequest", "GET", "pull_requests", true),
91
- entry("create_pull_request", "createPullRequest", "POST", "pull_requests", true),
92
- entry("update_pull_request", "updatePullRequest", "PATCH", "pull_requests", true, true),
93
- entry("merge_pull_request", "mergePullRequest", "POST", "pull_requests", false),
94
- entry("create_pull_request_review", "createReview", "POST", "pull_requests", false),
95
- entry("get_pull_request_reviews", "getPullRequestReviews", "GET", "pull_requests", true),
96
- entry("get_pull_request_comments", "getPullRequestComments", "GET", "pull_requests", true),
97
- entry("get_pull_request_files", "getPullRequestFiles", "GET", "pull_requests", true),
98
- entry("get_pull_request_status", "getPullRequestStatus", "GET", "pull_requests", true),
99
- entry("update_pull_request_branch", "updatePullRequestBranch", "POST", "pull_requests", false),
100
- entry("get_pull_request_diff", "getPullRequestDiff", "GET", "pull_requests", true, true),
101
- entry("get_pull_request_commits", "getPullRequestCommits", "GET", "pull_requests", true, true),
102
- entry("create_pull_request_review_comment", "createPullRequestReviewComment", "POST", "pull_requests", true, true),
103
- entry("add_reply_to_pull_request_comment", "addReplyToPullRequestComment", "POST", "pull_requests", true, true),
104
- // Branches & files
105
- entry("create_branch", "createBranch", "POST", "branches_files", true),
106
- entry("list_branches", "listBranches", "GET", "branches_files", true, true),
107
- entry("get_branch", "getBranch", "GET", "branches_files", true, true),
108
- entry("delete_branch", "deleteBranch", "DELETE", "branches_files", false, true),
109
- entry("get_file_contents", "getContent", "GET", "branches_files", true),
110
- entry("create_or_update_file", "createOrUpdateFile", "PUT", "branches_files", true),
111
- entry("delete_file", "deleteFile", "DELETE", "branches_files", false, true),
112
- entry("push_files", "pushFiles", "POST", "branches_files", false),
113
- // Commits & diffs
114
- entry("list_commits", "listCommits", "GET", "commits_diffs", true),
115
- entry("get_commit", "getCommit", "GET", "commits_diffs", true, true),
116
- entry("compare_commits", "compareCommits", "GET", "commits_diffs", true, true),
117
- // Milestones
118
- entry("list_milestones", "listMilestones", "GET", "milestones", true, true),
119
- entry("create_milestone", "createMilestone", "POST", "milestones", true, true),
120
- entry("update_milestone", "updateMilestone", "PATCH", "milestones", true, true),
121
- entry("delete_milestone", "deleteMilestone", "DELETE", "milestones", false, true),
122
- // Status & checks
123
- entry("create_commit_status", "createCommitStatus", "POST", "status_checks", true, true),
124
- entry("get_combined_status_for_ref", "getCombinedStatusForRef", "GET", "status_checks", true, true),
125
- entry("create_check_run", "createCheckRun", "POST", "status_checks", true, true),
126
- entry("list_check_runs_for_ref", "listCheckRunsForRef", "GET", "status_checks", true, true),
127
- // Tags & releases
128
- entry("list_tags", "listTags", "GET", "tags_releases", true, true),
129
- entry("list_releases", "listReleases", "GET", "tags_releases", true, true),
130
- entry("get_latest_release", "getLatestRelease", "GET", "tags_releases", true, true),
131
- entry("create_release", "createRelease", "POST", "tags_releases", false, true),
132
- // Labels
133
- entry("create_label", "createLabel", "POST", "labels", false),
134
- entry("add_issue_labels", "addIssueLabels", "POST", "labels", false),
135
- entry("remove_issue_label", "removeIssueLabel", "DELETE", "labels", false),
136
- // Collaborators & identity
137
- entry("list_collaborators", "listCollaborators", "GET", "collaborators", true),
138
- entry("get_me", "getMe", "GET", "collaborators", true, true),
139
- entry("add_collaborator", "addCollaborator", "PUT", "collaborators", false, true),
140
- ];
141
- export function groupGitHubAccessControlByCategory(endpoints = ENDPOINTS) {
142
- const byCategory = new Map();
143
- for (const category of GITHUB_ACCESS_CONTROL_CATEGORY_ORDER) {
144
- byCategory.set(category, []);
145
- }
146
- for (const endpoint of endpoints) {
147
- byCategory.get(endpoint.category).push(endpoint);
148
- }
149
- return GITHUB_ACCESS_CONTROL_CATEGORY_ORDER
150
- .map((category) => ({
151
- category,
152
- label: GITHUB_ACCESS_CONTROL_CATEGORY_LABELS[category],
153
- endpoints: byCategory.get(category),
154
- }))
155
- .filter((group) => group.endpoints.length > 0);
156
- }
157
- /** Canonical 52-endpoint sandbox catalog (25 v1 + 27 v2). */
158
- export const GITHUB_ACCESS_CONTROL_CATALOG = {
159
- version: 2,
160
- twin: "github",
161
- endpoints: ENDPOINTS,
162
- categories: groupGitHubAccessControlByCategory(ENDPOINTS),
163
- };
164
- export function formatGitHubAccessControlLabel(endpoint) {
165
- return `${endpoint.method} ${endpoint.operation}`;
166
- }
167
- export function summarizeGitHubAccessControlCatalog(catalog = GITHUB_ACCESS_CONTROL_CATALOG, allowedOverrides) {
168
- let allowed = 0;
169
- let denied = 0;
170
- for (const endpoint of catalog.endpoints) {
171
- const isAllowed = allowedOverrides?.has(endpoint.tool) ?? endpoint.default_allowed;
172
- if (isAllowed)
173
- allowed += 1;
174
- else
175
- denied += 1;
176
- }
177
- return { total: catalog.endpoints.length, allowed, denied };
178
- }
179
- export function githubAccessControlToolNames(catalog = GITHUB_ACCESS_CONTROL_CATALOG) {
180
- return catalog.endpoints.map((endpoint) => endpoint.tool);
181
- }
182
- //# sourceMappingURL=github-access-control.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"github-access-control.js","sourceRoot":"","sources":["../src/github-access-control.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC;;;;;;;;;GASG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC,IAAI,CAAC;IACtD,QAAQ;IACR,gBAAgB;IAChB,eAAe;IACf,gBAAgB;IAChB,eAAe;IACf,YAAY;IACZ,eAAe;IACf,eAAe;IACf,QAAQ;IACR,eAAe;CAChB,CAAC,CAAC;AAGH,+DAA+D;AAC/D,MAAM,CAAC,MAAM,qCAAqC,GAAgD;IAChG,MAAM,EAAE,QAAQ;IAChB,cAAc,EAAE,gBAAgB;IAChC,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,kBAAkB;IAClC,aAAa,EAAE,iBAAiB;IAChC,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,iBAAiB;IAChC,aAAa,EAAE,iBAAiB;IAChC,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,0BAA0B;CAC1C,CAAC;AAEF,kDAAkD;AAClD,MAAM,CAAC,MAAM,oCAAoC,GAAkC;IACjF,QAAQ;IACR,gBAAgB;IAChB,eAAe;IACf,gBAAgB;IAChB,eAAe;IACf,YAAY;IACZ,eAAe;IACf,eAAe;IACf,QAAQ;IACR,eAAe;CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC;IACxD,gEAAgE;IAChE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,4DAA4D;IAC5D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACzD,QAAQ,EAAE,iCAAiC;IAC3C,kEAAkE;IAClE,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE;IAC5B,wEAAwE;IACxE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAC/B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7D,QAAQ,EAAE,iCAAiC;IAC3C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,iCAAiC,CAAC;CACtD,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACvD,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACzB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CACnE,CAAC,CAAC;AAGH,SAAS,KAAK,CACZ,IAAY,EACZ,SAAiB,EACjB,MAA6C,EAC7C,QAAqC,EACrC,cAAuB,EACvB,EAAE,GAAG,KAAK;IAEV,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;AACpF,CAAC;AAED,MAAM,SAAS,GAAkC;IAC/C,SAAS;IACT,KAAK,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC;IACzD,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC;IACrD,KAAK,CAAC,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;IAC5D,KAAK,CAAC,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC;IAC7D,KAAK,CAAC,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;IAE/D,iBAAiB;IACjB,KAAK,CAAC,mBAAmB,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC;IACxE,KAAK,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC;IAC1F,KAAK,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,CAAC;IAE5F,gBAAgB;IAChB,KAAK,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,CAAC;IAC7E,KAAK,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,CAAC;IACzE,KAAK,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,CAAC;IAChF,KAAK,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC;IACvF,KAAK,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC;IAC/E,KAAK,CAAC,4BAA4B,EAAE,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC;IACnF,KAAK,CAAC,0BAA0B,EAAE,uBAAuB,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,CAAC;IACxF,KAAK,CAAC,2BAA2B,EAAE,wBAAwB,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,CAAC;IAC1F,KAAK,CAAC,wBAAwB,EAAE,qBAAqB,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,CAAC;IACpF,KAAK,CAAC,yBAAyB,EAAE,sBAAsB,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,CAAC;IACtF,KAAK,CAAC,4BAA4B,EAAE,yBAAyB,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC;IAC9F,KAAK,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC;IACxF,KAAK,CAAC,0BAA0B,EAAE,uBAAuB,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC;IAC9F,KAAK,CAAC,oCAAoC,EAAE,gCAAgC,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC;IAClH,KAAK,CAAC,mCAAmC,EAAE,8BAA8B,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC;IAE/G,mBAAmB;IACnB,KAAK,CAAC,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC;IACtE,KAAK,CAAC,eAAe,EAAE,cAAc,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC;IAC3E,KAAK,CAAC,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC;IACrE,KAAK,CAAC,eAAe,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,CAAC;IAC/E,KAAK,CAAC,mBAAmB,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,CAAC;IACvE,KAAK,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,CAAC;IACnF,KAAK,CAAC,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,CAAC;IAC3E,KAAK,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,CAAC;IAEjE,kBAAkB;IAClB,KAAK,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,CAAC;IAClE,KAAK,CAAC,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC;IACpE,KAAK,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC;IAE9E,aAAa;IACb,KAAK,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC;IAC3E,KAAK,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC;IAC9E,KAAK,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC;IAC/E,KAAK,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC;IAEjF,kBAAkB;IAClB,KAAK,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC;IACxF,KAAK,CAAC,6BAA6B,EAAE,yBAAyB,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC;IACnG,KAAK,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC;IAChF,KAAK,CAAC,yBAAyB,EAAE,qBAAqB,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC;IAE3F,kBAAkB;IAClB,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC;IAClE,KAAK,CAAC,eAAe,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC;IAC1E,KAAK,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC;IACnF,KAAK,CAAC,gBAAgB,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC;IAE9E,SAAS;IACT,KAAK,CAAC,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;IAC7D,KAAK,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;IACpE,KAAK,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC;IAE1E,2BAA2B;IAC3B,KAAK,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,CAAC;IAC9E,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC;IAC5D,KAAK,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC;CAClF,CAAC;AAEF,MAAM,UAAU,kCAAkC,CAChD,YAA2C,SAAS;IAEpD,MAAM,UAAU,GAAG,IAAI,GAAG,EAA8D,CAAC;IACzF,KAAK,MAAM,QAAQ,IAAI,oCAAoC,EAAE,CAAC;QAC5D,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,oCAAoC;SACxC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClB,QAAQ;QACR,KAAK,EAAE,qCAAqC,CAAC,QAAQ,CAAC;QACtD,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAE;KACrC,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,6DAA6D;AAC7D,MAAM,CAAC,MAAM,6BAA6B,GAA+B;IACvE,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,SAAS;IACpB,UAAU,EAAE,kCAAkC,CAAC,SAAS,CAAC;CAC1D,CAAC;AAEF,MAAM,UAAU,8BAA8B,CAAC,QAAqC;IAClF,OAAO,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,UAAsC,6BAA6B,EACnE,gBAAsC;IAEtC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,gBAAgB,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,eAAe,CAAC;QACnF,IAAI,SAAS;YAAE,OAAO,IAAI,CAAC,CAAC;;YACvB,MAAM,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,UAAsC,6BAA6B;IAEnE,OAAO,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC5D,CAAC"}
@@ -1,90 +0,0 @@
1
- import { z } from "zod";
2
- export declare const userSchema: z.ZodObject<{
3
- id: z.ZodString;
4
- clerk_user_id: z.ZodString;
5
- email: z.ZodString;
6
- display_name: z.ZodNullable<z.ZodString>;
7
- created_at: z.ZodString;
8
- updated_at: z.ZodString;
9
- }, z.core.$strip>;
10
- export type User = z.infer<typeof userSchema>;
11
- export declare const planTierSchema: z.ZodEnum<{
12
- free: "free";
13
- hobby: "hobby";
14
- pro: "pro";
15
- team: "team";
16
- self_host_annual: "self_host_annual";
17
- enterprise: "enterprise";
18
- }>;
19
- export type PlanTier = z.infer<typeof planTierSchema>;
20
- export declare const teamSchema: z.ZodObject<{
21
- id: z.ZodString;
22
- slug: z.ZodString;
23
- name: z.ZodString;
24
- plan_tier: z.ZodEnum<{
25
- free: "free";
26
- hobby: "hobby";
27
- pro: "pro";
28
- team: "team";
29
- self_host_annual: "self_host_annual";
30
- enterprise: "enterprise";
31
- }>;
32
- stripe_customer_id: z.ZodNullable<z.ZodString>;
33
- created_at: z.ZodString;
34
- updated_at: z.ZodString;
35
- }, z.core.$strip>;
36
- export type Team = z.infer<typeof teamSchema>;
37
- export declare const teamRoleSchema: z.ZodEnum<{
38
- owner: "owner";
39
- admin: "admin";
40
- member: "member";
41
- }>;
42
- export type TeamRole = z.infer<typeof teamRoleSchema>;
43
- export declare const teamMemberSchema: z.ZodObject<{
44
- team_id: z.ZodString;
45
- user_id: z.ZodString;
46
- role: z.ZodEnum<{
47
- owner: "owner";
48
- admin: "admin";
49
- member: "member";
50
- }>;
51
- invited_at: z.ZodString;
52
- accepted_at: z.ZodNullable<z.ZodString>;
53
- }, z.core.$strip>;
54
- export type TeamMember = z.infer<typeof teamMemberSchema>;
55
- export declare const teamInviteSchema: z.ZodObject<{
56
- id: z.ZodString;
57
- team_id: z.ZodString;
58
- email: z.ZodString;
59
- role: z.ZodEnum<{
60
- owner: "owner";
61
- admin: "admin";
62
- member: "member";
63
- }>;
64
- invited_by: z.ZodString;
65
- expires_at: z.ZodString;
66
- accepted_at: z.ZodNullable<z.ZodString>;
67
- created_at: z.ZodString;
68
- }, z.core.$strip>;
69
- export type TeamInvite = z.infer<typeof teamInviteSchema>;
70
- export declare const apiKeySchema: z.ZodObject<{
71
- id: z.ZodString;
72
- team_id: z.ZodString;
73
- name: z.ZodString;
74
- created_by: z.ZodString;
75
- last_used_at: z.ZodNullable<z.ZodString>;
76
- created_at: z.ZodString;
77
- revoked_at: z.ZodNullable<z.ZodString>;
78
- }, z.core.$strip>;
79
- export type ApiKey = z.infer<typeof apiKeySchema>;
80
- export declare const apiKeyCreatedSchema: z.ZodObject<{
81
- id: z.ZodString;
82
- team_id: z.ZodString;
83
- name: z.ZodString;
84
- created_by: z.ZodString;
85
- last_used_at: z.ZodNullable<z.ZodString>;
86
- created_at: z.ZodString;
87
- revoked_at: z.ZodNullable<z.ZodString>;
88
- full_key: z.ZodString;
89
- }, z.core.$strip>;
90
- export type ApiKeyCreated = z.infer<typeof apiKeyCreatedSchema>;
@@ -1,72 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- //
3
- // shared-types §1 — IDENTITY. Users, teams, memberships, invites, API keys.
4
- // Re-exported through the `@pome-sh/shared-types` barrel (index.ts).
5
- import { z } from "zod";
6
- // ─────────────────────────────────────────────────────────────────────────────
7
- // 1. IDENTITY
8
- // ─────────────────────────────────────────────────────────────────────────────
9
- export const userSchema = z.object({
10
- id: z.string(), // usr_<nanoid> (text, not uuid; per /plan-eng-review L7)
11
- clerk_user_id: z.string(), // Clerk user ID (`user_*`)
12
- email: z.string().email(),
13
- display_name: z.string().nullable(),
14
- created_at: z.string().datetime(),
15
- updated_at: z.string().datetime(),
16
- });
17
- // FDRS-613: reconciled to pome-cloud /v1 wire truth — `hobby` and `team` were
18
- // added cloud-side for the launch pricing tiers; adopted here so a cloud-issued
19
- // MeResponse / UsageResponse (plan_tier) parses under the twins schema.
20
- export const planTierSchema = z.enum([
21
- "free",
22
- "hobby",
23
- "pro",
24
- "team",
25
- "self_host_annual",
26
- "enterprise",
27
- ]);
28
- export const teamSchema = z.object({
29
- id: z.string(), // tm_<nanoid>
30
- slug: z.string(), // /dashboard/[teamSlug]/...
31
- name: z.string(),
32
- plan_tier: planTierSchema,
33
- stripe_customer_id: z.string().nullable(),
34
- created_at: z.string().datetime(),
35
- updated_at: z.string().datetime(),
36
- });
37
- export const teamRoleSchema = z.enum(["owner", "admin", "member"]);
38
- export const teamMemberSchema = z.object({
39
- team_id: z.string(),
40
- user_id: z.string(),
41
- role: teamRoleSchema,
42
- invited_at: z.string().datetime(),
43
- accepted_at: z.string().datetime().nullable(),
44
- });
45
- // Public invite shape — token is NEVER returned in API responses. The plaintext
46
- // token is delivered exactly once via `createInviteResponseSchema.invite_url`
47
- // (which embeds it as a path segment). Server stores only sha256(token) in
48
- // `team_invites.token_hash`.
49
- export const teamInviteSchema = z.object({
50
- id: z.string(), // inv_<nanoid>
51
- team_id: z.string(),
52
- email: z.string().email(),
53
- role: teamRoleSchema,
54
- invited_by: z.string(), // user_id
55
- expires_at: z.string().datetime(),
56
- accepted_at: z.string().datetime().nullable(),
57
- created_at: z.string().datetime(),
58
- });
59
- export const apiKeySchema = z.object({
60
- id: z.string(), // pme_<short> public prefix; hashed_key NEVER appears in API responses (kept server-side only)
61
- team_id: z.string(),
62
- name: z.string(),
63
- created_by: z.string(), // user_id
64
- last_used_at: z.string().datetime().nullable(),
65
- created_at: z.string().datetime(),
66
- revoked_at: z.string().datetime().nullable(),
67
- });
68
- // One-time response shape — full key string is only in the create-response, never persisted.
69
- export const apiKeyCreatedSchema = apiKeySchema.extend({
70
- full_key: z.string(), // pme_<full> — show once, then redact
71
- });
72
- //# sourceMappingURL=identity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- /**
2
- * shared-types — public V1 contract barrel.
3
- *
4
- * Owns identity/session/task REST contracts plus re-exports for the trace
5
- * surface in `recorder-events.ts`, completed-run shape in `run.ts`, and the
6
- * OpenTelemetry extension surface in `otel/`. Release history and migration
7
- * notes live in CHANGELOG.md.
8
- *
9
- * This file is a THIN BARREL (F-754): it re-exports only. The contract clusters
10
- * live in topical leaf modules — identity/sessions/seed-state/task/rest/
11
- * finalize-shapes/errors — each re-exported here with identical names so
12
- * `import { ... } from "@pome-sh/shared-types"` is unchanged.
13
- */
14
- export * from "./recorder-events.js";
15
- export * from "./run.js";
16
- export * from "./task-vocab.js";
17
- export * from "./github-access-control.js";
18
- export * from "./redaction.js";
19
- export * from "./otel/index.js";
20
- export * from "./identity.js";
21
- export * from "./sessions.js";
22
- export * from "./seed-state.js";
23
- export * from "./seed-envelope.js";
24
- export * from "./task.js";
25
- export * from "./rest.js";
26
- export * from "./finalize-shapes.js";
27
- export * from "./errors.js";
28
- export * from "./manifest.js";
@@ -1,35 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- /**
3
- * shared-types — public V1 contract barrel.
4
- *
5
- * Owns identity/session/task REST contracts plus re-exports for the trace
6
- * surface in `recorder-events.ts`, completed-run shape in `run.ts`, and the
7
- * OpenTelemetry extension surface in `otel/`. Release history and migration
8
- * notes live in CHANGELOG.md.
9
- *
10
- * This file is a THIN BARREL (F-754): it re-exports only. The contract clusters
11
- * live in topical leaf modules — identity/sessions/seed-state/task/rest/
12
- * finalize-shapes/errors — each re-exported here with identical names so
13
- * `import { ... } from "@pome-sh/shared-types"` is unchanged.
14
- */
15
- // Barrel re-exports — consumers `import { ... } from "@pome-sh/shared-types"`
16
- // regardless of which leaf file owns the type.
17
- export * from "./recorder-events.js";
18
- export * from "./run.js";
19
- export * from "./task-vocab.js";
20
- export * from "./github-access-control.js";
21
- export * from "./redaction.js";
22
- // OpenTelemetry-native trace surface (M1 / FDRS-480-482): OtelSpanEvent schema,
23
- // GenAI/HTTP span mapper, legacy→span shim, pinned semconv, otelEventSchema.
24
- export * from "./otel/index.js";
25
- // V1 contract clusters (F-754 split out of this file, zero behavior change):
26
- export * from "./identity.js"; // §1 IDENTITY
27
- export * from "./sessions.js"; // §2 SESSIONS
28
- export * from "./seed-state.js"; // §3 TASKS — provider seed-state schemas
29
- export * from "./seed-envelope.js"; // §3 TASKS — multi-twin seed envelope (M3)
30
- export * from "./task.js"; // §3 TASKS — task config / task / persisted-task
31
- export * from "./rest.js"; // §4 PUBLIC REST API (minus finalize family)
32
- export * from "./finalize-shapes.js"; // §4 PUBLIC REST API — /finalize response family
33
- export * from "./errors.js"; // §5 ERROR ENVELOPE
34
- export * from "./manifest.js"; // §6 MANIFEST — pome.json/pome.yaml + slug authority (F-818)
35
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC;;;;;;;;;;;;GAYG;AAEH,8EAA8E;AAC9E,+CAA+C;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,gFAAgF;AAChF,6EAA6E;AAC7E,cAAc,iBAAiB,CAAC;AAEhC,6EAA6E;AAC7E,cAAc,eAAe,CAAC,CAAU,cAAc;AACtD,cAAc,eAAe,CAAC,CAAU,cAAc;AACtD,cAAc,iBAAiB,CAAC,CAAQ,yCAAyC;AACjF,cAAc,oBAAoB,CAAC,CAAK,2CAA2C;AACnF,cAAc,WAAW,CAAC,CAAc,iDAAiD;AACzF,cAAc,WAAW,CAAC,CAAc,6CAA6C;AACrF,cAAc,sBAAsB,CAAC,CAAG,iDAAiD;AACzF,cAAc,aAAa,CAAC,CAAY,oBAAoB;AAC5D,cAAc,eAAe,CAAC,CAAU,6DAA6D"}
@@ -1,31 +0,0 @@
1
- import { z } from "zod";
2
- export declare const SLUG_RE: RegExp;
3
- export declare const SLUG_MAX_LENGTH = 64;
4
- export declare function deriveAgentSlug(input: string): string;
5
- export declare const agentSlugSchema: z.ZodString;
6
- export declare const manifestAgentSchema: z.ZodObject<{
7
- slug: z.ZodString;
8
- name: z.ZodOptional<z.ZodString>;
9
- description: z.ZodOptional<z.ZodString>;
10
- version: z.ZodOptional<z.ZodString>;
11
- framework: z.ZodOptional<z.ZodString>;
12
- }, z.core.$strip>;
13
- export type ManifestAgent = z.infer<typeof manifestAgentSchema>;
14
- export declare const manifestSchema: z.ZodObject<{
15
- $schema: z.ZodOptional<z.ZodString>;
16
- agent: z.ZodObject<{
17
- slug: z.ZodString;
18
- name: z.ZodOptional<z.ZodString>;
19
- description: z.ZodOptional<z.ZodString>;
20
- version: z.ZodOptional<z.ZodString>;
21
- framework: z.ZodOptional<z.ZodString>;
22
- }, z.core.$strip>;
23
- command: z.ZodOptional<z.ZodString>;
24
- twins: z.ZodOptional<z.ZodArray<z.ZodString>>;
25
- tasks: z.ZodOptional<z.ZodString>;
26
- artifacts_dir: z.ZodDefault<z.ZodString>;
27
- pass_threshold: z.ZodDefault<z.ZodNumber>;
28
- }, z.core.$strip>;
29
- export type Manifest = z.infer<typeof manifestSchema>;
30
- export type ManifestInput = z.input<typeof manifestSchema>;
31
- export declare function buildManifestJsonSchema(): Record<string, unknown>;
@@ -1,76 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- //
3
- // shared-types §6 — the pome.json / pome.yaml MANIFEST (F-818, format spec
4
- // F-804). One canonical zod schema; JSON and YAML are interchangeable carriers
5
- // of the same snake_case keys (both files present is a hard error at the CLI
6
- // loader, not here). The `agent` block is the stable cross-carrier identity
7
- // contract; top-level keys are CLI run-config and may evolve faster.
8
- //
9
- // SLUG_RE and deriveAgentSlug are THE slug authority for every consumer (CLI,
10
- // control-plane /v1/agents, dashboard, MCP). SLUG_RE is byte-identical to the
11
- // pome-cloud control-plane's regex; deriveAgentSlug is a behavior-identical
12
- // port of packages/db/src/agent-slug.ts (equivalence pinned in
13
- // test/manifest.test.ts). pome-cloud imports both from here as of F-820 —
14
- // local and server validation must never drift again.
15
- import { z } from "zod";
16
- // Canonical agent-slug shape: kebab-case, lowercase alphanumerics, no edge or
17
- // doubled dashes. Length is capped separately (the regex is anchored on shape).
18
- export const SLUG_RE = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
19
- export const SLUG_MAX_LENGTH = 64;
20
- // Shared agent slug derivation for REST, dashboard, and CLI registration
21
- // paths. Keep this pure: validation and reserved-slug checks live at each API
22
- // edge. Returns "" when nothing sluggable remains — callers must check.
23
- //
24
- // The first replace collapses every non-alphanumeric run (dashes included) to
25
- // a single dash, so afterwards each edge carries at most one dash — the
26
- // anchored single-char strips are exhaustive and stay linear (the upstream
27
- // `/^-+|-+$/g` form is a CodeQL js/polynomial-redos finding).
28
- export function deriveAgentSlug(input) {
29
- return input
30
- .toLowerCase()
31
- .trim()
32
- .replace(/[^a-z0-9]+/g, "-")
33
- .replace(/^-/, "")
34
- .replace(/-$/, "");
35
- }
36
- export const agentSlugSchema = z
37
- .string()
38
- .max(SLUG_MAX_LENGTH)
39
- .regex(SLUG_RE, "Agent slug must be kebab-case: lowercase letters, digits, single dashes");
40
- // The `agent` identity block. `slug` is the only required field in the whole
41
- // manifest — portable and non-sensitive. The registered `agt_` id is
42
- // deliberately NOT here: committed opaque ids are the fork-404 bug class; the
43
- // platform resolver (POST /v1/agents) maps slug → id under the caller's team.
44
- export const manifestAgentSchema = z.object({
45
- slug: agentSlugSchema,
46
- name: z.string().min(1).optional(), // display name (server display_name)
47
- description: z.string().optional(), // shown on dashboard
48
- version: z.string().optional(), // user-declared label; never auto-bumped
49
- // Open enum by design: unknown frameworks get a did-you-mean warning at the
50
- // consuming edge, never a validation error.
51
- framework: z.string().min(1).optional(), // langgraph | claude-agent-sdk | openai-agents | …
52
- });
53
- export const manifestSchema = z.object({
54
- // pome.json carries the editor pointer; pome.yaml uses a comment instead.
55
- $schema: z.string().optional(),
56
- agent: manifestAgentSchema,
57
- command: z.string().min(1).optional(), // how the CLI launches the agent
58
- twins: z.array(z.string().min(1)).min(1).optional(), // default twin set for runs
59
- tasks: z.string().min(1).optional(), // task files directory (legacy name: scenarios)
60
- artifacts_dir: z.string().min(1).default("runs"),
61
- pass_threshold: z.number().int().min(0).max(100).default(100),
62
- });
63
- // The JSON Schema served at pome.sh/schemas/v1/pome.json (F-821) and resolved
64
- // by editors via the manifest's `$schema` pointer. `io: "input"` emits the
65
- // AUTHOR-side shape — run-config keys with defaults stay optional instead of
66
- // being promoted to required by the parsed (output) view. Shared by the
67
- // build-time emitter (scripts/emit-manifest-schema.mjs) and the snapshot test
68
- // so the two can never disagree.
69
- export function buildManifestJsonSchema() {
70
- return {
71
- $id: "https://pome.sh/schemas/v1/pome.json",
72
- title: "Pome agent manifest (pome.json / pome.yaml)",
73
- ...z.toJSONSchema(manifestSchema, { io: "input" }),
74
- };
75
- }
76
- //# sourceMappingURL=manifest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}