usesteady 0.1.0-alpha.9 → 0.1.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 (139) hide show
  1. package/CHANGELOG.md +70 -2
  2. package/README.md +93 -30
  3. package/dist/server-admin.d.ts.map +1 -1
  4. package/dist/server-admin.js +73 -5
  5. package/dist/server-admin.js.map +1 -1
  6. package/dist/src/claude/adapters/multi-llm-adapter.d.ts.map +1 -1
  7. package/dist/src/claude/adapters/multi-llm-adapter.js +27 -5
  8. package/dist/src/claude/adapters/multi-llm-adapter.js.map +1 -1
  9. package/dist/src/friction/activation.d.ts.map +1 -1
  10. package/dist/src/friction/activation.js +9 -0
  11. package/dist/src/friction/activation.js.map +1 -1
  12. package/dist/src/friction/github-issues.d.ts +6 -0
  13. package/dist/src/friction/github-issues.d.ts.map +1 -1
  14. package/dist/src/friction/github-issues.js +9 -0
  15. package/dist/src/friction/github-issues.js.map +1 -1
  16. package/dist/src/friction/posthog.d.ts +33 -0
  17. package/dist/src/friction/posthog.d.ts.map +1 -0
  18. package/dist/src/friction/posthog.js +106 -0
  19. package/dist/src/friction/posthog.js.map +1 -0
  20. package/dist/src/intake/intake-service.d.ts +26 -0
  21. package/dist/src/intake/intake-service.d.ts.map +1 -1
  22. package/dist/src/intake/intake-service.js +46 -0
  23. package/dist/src/intake/intake-service.js.map +1 -1
  24. package/dist/src/intake/intent-families.d.ts +85 -0
  25. package/dist/src/intake/intent-families.d.ts.map +1 -0
  26. package/dist/src/intake/intent-families.js +69 -0
  27. package/dist/src/intake/intent-families.js.map +1 -0
  28. package/dist/src/intake/llm-classifier.d.ts +46 -0
  29. package/dist/src/intake/llm-classifier.d.ts.map +1 -0
  30. package/dist/src/intake/llm-classifier.js +177 -0
  31. package/dist/src/intake/llm-classifier.js.map +1 -0
  32. package/dist/src/interaction/guidance-order.js +3 -3
  33. package/dist/src/interaction/guidance-order.js.map +1 -1
  34. package/dist/src/product/cursor-product-session.d.ts +15 -0
  35. package/dist/src/product/cursor-product-session.d.ts.map +1 -1
  36. package/dist/src/product/cursor-product-session.js +206 -3
  37. package/dist/src/product/cursor-product-session.js.map +1 -1
  38. package/dist/src/prv/patterns.d.ts.map +1 -1
  39. package/dist/src/prv/patterns.js +10 -1
  40. package/dist/src/prv/patterns.js.map +1 -1
  41. package/dist/src/safety/detectors/arbitrary-exec.detector.d.ts.map +1 -1
  42. package/dist/src/safety/detectors/arbitrary-exec.detector.js +21 -4
  43. package/dist/src/safety/detectors/arbitrary-exec.detector.js.map +1 -1
  44. package/dist/src/safety/detectors/destructive.detector.d.ts.map +1 -1
  45. package/dist/src/safety/detectors/destructive.detector.js +2 -0
  46. package/dist/src/safety/detectors/destructive.detector.js.map +1 -1
  47. package/dist/src/shell/cli/draft/intent-to-tasks.d.ts +35 -0
  48. package/dist/src/shell/cli/draft/intent-to-tasks.d.ts.map +1 -0
  49. package/dist/src/shell/cli/draft/intent-to-tasks.js +148 -0
  50. package/dist/src/shell/cli/draft/intent-to-tasks.js.map +1 -0
  51. package/dist/src/shell/cli/main.d.ts.map +1 -1
  52. package/dist/src/shell/cli/main.js +274 -21
  53. package/dist/src/shell/cli/main.js.map +1 -1
  54. package/dist/src/shell/cli/onboarding.d.ts +1 -1
  55. package/dist/src/shell/cli/onboarding.d.ts.map +1 -1
  56. package/dist/src/shell/cli/onboarding.js +18 -12
  57. package/dist/src/shell/cli/onboarding.js.map +1 -1
  58. package/dist/src/shell/cli/use-steady.d.ts +14 -18
  59. package/dist/src/shell/cli/use-steady.d.ts.map +1 -1
  60. package/dist/src/shell/cli/use-steady.js +277 -81
  61. package/dist/src/shell/cli/use-steady.js.map +1 -1
  62. package/dist/src/shell/render.d.ts.map +1 -1
  63. package/dist/src/shell/render.js +3 -1
  64. package/dist/src/shell/render.js.map +1 -1
  65. package/dist/src/shell/tui/app.d.ts +8 -0
  66. package/dist/src/shell/tui/app.d.ts.map +1 -0
  67. package/dist/src/shell/tui/app.js +5 -0
  68. package/dist/src/shell/tui/app.js.map +1 -0
  69. package/dist/src/shell/tui/components/BlockedReasonPanel.d.ts +21 -0
  70. package/dist/src/shell/tui/components/BlockedReasonPanel.d.ts.map +1 -0
  71. package/dist/src/shell/tui/components/BlockedReasonPanel.js +9 -0
  72. package/dist/src/shell/tui/components/BlockedReasonPanel.js.map +1 -0
  73. package/dist/src/shell/tui/components/ConsensusPanel.d.ts +27 -0
  74. package/dist/src/shell/tui/components/ConsensusPanel.d.ts.map +1 -0
  75. package/dist/src/shell/tui/components/ConsensusPanel.js +14 -0
  76. package/dist/src/shell/tui/components/ConsensusPanel.js.map +1 -0
  77. package/dist/src/shell/tui/components/StepList.d.ts +14 -0
  78. package/dist/src/shell/tui/components/StepList.d.ts.map +1 -0
  79. package/dist/src/shell/tui/components/StepList.js +34 -0
  80. package/dist/src/shell/tui/components/StepList.js.map +1 -0
  81. package/dist/src/shell/tui/components/SystemWillPanel.d.ts +12 -0
  82. package/dist/src/shell/tui/components/SystemWillPanel.d.ts.map +1 -0
  83. package/dist/src/shell/tui/components/SystemWillPanel.js +9 -0
  84. package/dist/src/shell/tui/components/SystemWillPanel.js.map +1 -0
  85. package/dist/src/shell/tui/components/WorkflowView.d.ts +11 -0
  86. package/dist/src/shell/tui/components/WorkflowView.d.ts.map +1 -0
  87. package/dist/src/shell/tui/components/WorkflowView.js +21 -0
  88. package/dist/src/shell/tui/components/WorkflowView.js.map +1 -0
  89. package/dist/src/shell/tui/hooks/useWorkflowState.d.ts +10 -0
  90. package/dist/src/shell/tui/hooks/useWorkflowState.d.ts.map +1 -0
  91. package/dist/src/shell/tui/hooks/useWorkflowState.js +28 -0
  92. package/dist/src/shell/tui/hooks/useWorkflowState.js.map +1 -0
  93. package/dist/src/shell/tui/index.d.ts +8 -0
  94. package/dist/src/shell/tui/index.d.ts.map +1 -0
  95. package/dist/src/shell/tui/index.js +10 -0
  96. package/dist/src/shell/tui/index.js.map +1 -0
  97. package/dist/src/shell/tui/state-bridge.d.ts +37 -0
  98. package/dist/src/shell/tui/state-bridge.d.ts.map +1 -0
  99. package/dist/src/shell/tui/state-bridge.js +137 -0
  100. package/dist/src/shell/tui/state-bridge.js.map +1 -0
  101. package/dist/src/shell/tui/types.d.ts +56 -0
  102. package/dist/src/shell/tui/types.d.ts.map +1 -0
  103. package/dist/src/shell/tui/types.js +9 -0
  104. package/dist/src/shell/tui/types.js.map +1 -0
  105. package/dist/src/shell/workflow-render.d.ts.map +1 -1
  106. package/dist/src/shell/workflow-render.js +28 -3
  107. package/dist/src/shell/workflow-render.js.map +1 -1
  108. package/dist/src/shell/workflow-shell.js +3 -3
  109. package/dist/src/shell/workflow-shell.js.map +1 -1
  110. package/dist/src/understand/completion/completion.d.ts.map +1 -1
  111. package/dist/src/understand/completion/completion.js +16 -8
  112. package/dist/src/understand/completion/completion.js.map +1 -1
  113. package/dist/src/understand/completion/rules.d.ts +74 -2
  114. package/dist/src/understand/completion/rules.d.ts.map +1 -1
  115. package/dist/src/understand/completion/rules.js +338 -11
  116. package/dist/src/understand/completion/rules.js.map +1 -1
  117. package/dist/src/understand/disambiguation/detectors/missing-context.detector.d.ts.map +1 -1
  118. package/dist/src/understand/disambiguation/detectors/missing-context.detector.js +10 -8
  119. package/dist/src/understand/disambiguation/detectors/missing-context.detector.js.map +1 -1
  120. package/dist/src/understand/intent-interpretation/intent-interpretation.js +6 -6
  121. package/dist/src/understand/intent-interpretation/intent-interpretation.js.map +1 -1
  122. package/dist/src/understand/intent-interpretation/types.d.ts +20 -0
  123. package/dist/src/understand/intent-interpretation/types.d.ts.map +1 -1
  124. package/dist/src/understand/interpretation/parser.d.ts.map +1 -1
  125. package/dist/src/understand/interpretation/parser.js +28 -0
  126. package/dist/src/understand/interpretation/parser.js.map +1 -1
  127. package/dist/src/understand/silent-guidance/selector.d.ts +4 -3
  128. package/dist/src/understand/silent-guidance/selector.d.ts.map +1 -1
  129. package/dist/src/understand/silent-guidance/selector.js +18 -3
  130. package/dist/src/understand/silent-guidance/selector.js.map +1 -1
  131. package/dist/src/understand/silent-guidance/templates.d.ts.map +1 -1
  132. package/dist/src/understand/silent-guidance/templates.js +29 -7
  133. package/dist/src/understand/silent-guidance/templates.js.map +1 -1
  134. package/dist/src/understand/silent-guidance/types.d.ts +2 -1
  135. package/dist/src/understand/silent-guidance/types.d.ts.map +1 -1
  136. package/dist/src/workflow/coordinator.d.ts.map +1 -1
  137. package/dist/src/workflow/coordinator.js +36 -16
  138. package/dist/src/workflow/coordinator.js.map +1 -1
  139. package/package.json +12 -3
package/CHANGELOG.md CHANGED
@@ -1,8 +1,76 @@
1
1
  # Changelog
2
2
 
3
- ## 1.0.0Deterministic Execution Runtime
3
+ ## 0.1.0-alpha.10UX Clarity Layer
4
4
 
5
- **Released:** April 2026
5
+ **Released:** April 2026
6
+ **npm tag:** `alpha` — opt in with `npm install -g usesteady@alpha`
7
+ **Latest stable tag:** `0.1.0-alpha.4` (unchanged)
8
+
9
+ This release adds a clarity layer on top of the existing execution core. Nothing
10
+ in the coordinator, policy engine, or consensus system was changed. What changed
11
+ is everything the user sees before and after execution runs.
12
+
13
+ ### What changed
14
+
15
+ **Draft Mode** (`usesteady "plain English instruction"`)
16
+
17
+ The CLI now accepts free-text input directly. It translates the intent into
18
+ structured steps, shows them with `✔` / `?` indicators, and asks for
19
+ confirmation before routing to the existing execution pipeline. Unrecognised
20
+ clauses are marked `needs_confirmation: true` and pass through with the original
21
+ text preserved — nothing is silently dropped.
22
+
23
+ **`usesteady help` command**
24
+
25
+ New `help` subcommand shows supported actions, exact formats, and an honest
26
+ description of plain-English input. Distinct from `--help`, which shows
27
+ command-line options.
28
+
29
+ **Consensus explanation in CLI**
30
+
31
+ After a workflow completes, the CLI prints a human-readable consensus result
32
+ when multi-model mode was active. Uses file-offset correlation so the output
33
+ matches this run only. Shows "Passed (N rounds)" on success, or the specific
34
+ disagreement reason (capability / scope / semantic) on block. No hashes or
35
+ internal enum names exposed.
36
+
37
+ **Intake failure guidance**
38
+
39
+ When one or more workflow steps are skipped by the intake parser
40
+ (`skipped_by_intake`), the completed/stopped CLI frame now appends the
41
+ supported format examples — matching the guidance already shown in the web UI.
42
+
43
+ **UI copy updates**
44
+
45
+ - Consensus indicator: `"multi · ● Unanimous 2r"` → `"Multi-model check: ● Passed (2 rounds)"`
46
+ - Policy block label: `"Blocked by policy"` → `"Blocked — models did not agree on execution"`
47
+
48
+ **Marketing site — story shift**
49
+
50
+ Landing page: new `FlowSection` with the four-step Describe → Preview → Approve
51
+ → Execute flow. CLI demo updated to show Draft Mode. Consensus section updated
52
+ to show concrete pass/block examples instead of abstract architecture copy.
53
+
54
+ Docs page: restructured to be usable-first. New sections: Supported Actions,
55
+ Examples (six real commands), When Blocked (three reasons with fixes). No
56
+ internal terms, no invariant documentation, no architecture theory in the
57
+ user-facing path.
58
+
59
+ ### What was not changed
60
+
61
+ - The coordinator, Forge execution loop, and all advance functions
62
+ - The multi-LLM consensus policy and `ConsensusAuditRecord` type
63
+ - All INV-ML-, INV-CE- invariants
64
+ - The `SYSTEM WILL` format
65
+ - The approval authority model — human approval required before every step
66
+
67
+ ---
68
+
69
+ ## 0.1.0-alpha.9 — Deterministic Execution Runtime
70
+
71
+ **Released:** April 2026
72
+ **npm tag:** `alpha` — opt in with `npm install -g usesteady@alpha`
73
+ **Latest stable tag:** `0.1.0-alpha.4` (unchanged)
6
74
 
7
75
  This release formalises the execution layer that has been running in controlled
8
76
  environments since the public alpha. The core guarantee — nothing runs without
package/README.md CHANGED
@@ -1,23 +1,44 @@
1
- # UseSteadyReview AI actions before they run
1
+ # UseSteady - Review AI actions before they run
2
2
 
3
- UseSteady shows you exactly what AI will dobefore it executes anything.
3
+ UseSteady shows you exactly what AI will do - before it executes anything.
4
4
 
5
- ```
5
+ ```bash
6
+ # Interactive session
6
7
  npx usesteady
8
+
9
+ # Explicit input - Windows PowerShell and zsh safe
10
+ npx usesteady --prompt "replace 'Submit' with 'Send' in src/Button.tsx"
11
+
12
+ # Piped stdin
13
+ echo "rename old.ts to new.ts" | npx usesteady
14
+
15
+ # CI / automation - zero prompts
16
+ npx usesteady run spec.json --yes
7
17
  ```
8
18
 
9
19
  ---
10
20
 
11
21
  ## Why
12
22
 
13
- AI tools can generate code, run commands, and modify filesoften before you fully understand what will change.
23
+ AI tools can generate code, run commands, and modify files - often before you fully understand what will change.
14
24
 
15
25
  UseSteady adds a review layer:
16
26
 
17
- - **SYSTEM WILL**the exact change, not a summary
18
- - **Risk level**LOW / MEDIUM / HIGH, derived from what is actually changing
19
- - **WHY explanation**what this does and why it was triggered
20
- - **Approve / Reject**per step, before anything runs
27
+ - **SYSTEM WILL** - the exact change, not a summary
28
+ - **Risk level** - LOW / MEDIUM / HIGH, derived from what is actually changing
29
+ - **WHY explanation** - what this does and why it was triggered
30
+ - **Approve / Reject** - per step, before anything runs
31
+
32
+ ---
33
+
34
+ ## How it works
35
+
36
+ Describe what you want to change. UseSteady translates it into a safe, structured change.
37
+ If it can't, it helps you rewrite it before anything runs.
38
+
39
+ Every request becomes one of a few safe operations: **replace, rename, create, delete, or run.**
40
+
41
+ **Public alpha:** Exact operations execute immediately. Ambiguous or multi-step requests are guided to a specific form before anything runs.
21
42
 
22
43
  ---
23
44
 
@@ -31,31 +52,62 @@ $ npx usesteady
31
52
  AI can propose changes.
32
53
  You approve before they run.
33
54
 
34
- Type your request:
35
- > Update button color
36
-
37
- Generating execution plan...
55
+ Describe what you want to change:
56
+ > replace "Submit" with "Continue" in src/components/Button.tsx
38
57
 
39
58
  SYSTEM WILL
40
59
 
41
- 1. Modify src/components/Button.tsx
42
- Replace bg-blue-500 → bg-indigo-600
60
+ 1. Replace "Submit" → "Continue" in src/components/Button.tsx
43
61
 
44
62
  RISK: LOW
45
63
 
46
64
  WHY
47
- Updates shared button styling.
65
+ Updates button label. Styling only, no logic affected.
48
66
 
49
- [a] Approve [r] Reject
67
+ Approve this task? (y/n)
50
68
 
51
- > a
69
+ > y
52
70
 
53
- ✓ Step approvedButton.tsx updated.
71
+ ✓ Step approved - Button.tsx updated.
54
72
 
55
73
  All steps reviewed.
56
74
  Return to your workflow to continue.
57
75
  ```
58
76
 
77
+ If your input is ambiguous, UseSteady asks you to make it specific first:
78
+
79
+ ```
80
+ > update the button text
81
+
82
+ ────────────────────────────────────────────────────
83
+ [Cursor] NOT EXECUTE
84
+ ────────────────────────────────────────────────────
85
+ Which file should this apply to?
86
+
87
+ Try one of these:
88
+ → replace "Submit" with "Continue" in src/components/Button.tsx
89
+ → rename Button.tsx to PrimaryButton.tsx
90
+ → replace "<current text>" with "<new text>" in <file>
91
+ ```
92
+
93
+ ### How requests are handled
94
+
95
+ | Input type | What happens |
96
+ |---|---|
97
+ | Clear - exact file, value, path | Runs immediately after approval |
98
+ | Missing info - file or value not given | Asks a specific question |
99
+ | Ambiguous - could mean multiple things | Suggests a concrete rewrite |
100
+ | Too broad - large or multi-step scope | Asks you to break it down |
101
+
102
+ **UseSteady will never guess and execute.**
103
+
104
+ ### Mental model
105
+
106
+ ```
107
+ Exact input → SYSTEM WILL → You approve → runs
108
+ Vague input → Guidance → You rewrite → SYSTEM WILL
109
+ ```
110
+
59
111
  ### High risk example
60
112
 
61
113
  ```
@@ -65,17 +117,16 @@ $ npx usesteady
65
117
 
66
118
  Removes deprecated.ts and all its exports
67
119
  Any import of this file will fail immediately after deletion
68
- No automatic recoveryrequires git revert if this was a mistake
120
+ No automatic recovery - requires git revert if this was a mistake
69
121
 
70
122
  RISK: HIGH
71
123
 
72
124
  WHY
73
125
  Removes deprecated utilities no longer used.
74
126
 
75
- ⚠ HIGH RISKcannot be undone without version control
127
+ ⚠ HIGH RISK - cannot be undone without version control
76
128
 
77
- [a] Approve (high risk)
78
- [r] Reject
129
+ Approve this task? (y/n) ⚠ HIGH RISK
79
130
  ```
80
131
 
81
132
  ---
@@ -86,21 +137,33 @@ $ npx usesteady
86
137
  - No vague summaries
87
138
  - No hidden changes
88
139
 
89
- You see what changes, why it changes, and how risky it isbefore anything runs.
140
+ You see what changes, why it changes, and how risky it is - before anything runs.
90
141
 
91
142
  ---
92
143
 
93
144
  ## Install
94
145
 
95
146
  ```bash
96
- # No install neededrun directly
147
+ # No install needed - run directly
97
148
  npx usesteady
98
149
 
99
150
  # Or install globally
100
151
  npm install -g usesteady
101
152
  ```
102
153
 
103
- Requires Node.js 18+. Runs fully local. No cloud, no API key.
154
+ Requires Node.js 18+. Runs fully local. Optional: set `ANTHROPIC_API_KEY` to enable richer guidance for ambiguous inputs.
155
+
156
+ ### One path per environment
157
+
158
+ | Environment | Command |
159
+ |---|---|
160
+ | Interactive (any) | `npx usesteady` |
161
+ | Windows PowerShell | `npx usesteady --prompt "replace 'X' with 'Y' in file"` |
162
+ | macOS / zsh | `npx usesteady --prompt 'replace "X" with "Y" in file'` |
163
+ | Piped stdin | `echo "rename old.ts to new.ts" \| npx usesteady` |
164
+ | CI / scripts | `npx usesteady run spec.json --yes` |
165
+
166
+ `--prompt` avoids shell quoting issues across environments. `--yes` collapses all approval prompts - use it only in CI where you've reviewed the spec.
104
167
 
105
168
  ---
106
169
 
@@ -108,7 +171,7 @@ Requires Node.js 18+. Runs fully local. No cloud, no API key.
108
171
 
109
172
  **AI proposes. You approve. Then it runs.**
110
173
 
111
- Like `git diff`but for AI actions before they execute.
174
+ Like `git diff` - but for AI actions before they execute.
112
175
 
113
176
  ---
114
177
 
@@ -116,10 +179,10 @@ Like `git diff` — but for AI actions before they execute.
116
179
 
117
180
  | Term | Meaning |
118
181
  |---|---|
119
- | `SYSTEM WILL` | The exact operation that will runnot a summary |
120
- | `SYSTEM SUGGESTS` | Options shown when AI is unsurenot a guess |
182
+ | `SYSTEM WILL` | The exact operation that will run - not a summary |
183
+ | `SYSTEM SUGGESTS` | Options shown when AI is unsure - not a guess |
121
184
  | `Approve` / `Reject` | Your decision, per step |
122
- | `Revert last approval` | Undo a decision (not a filesystem changenothing has run yet) |
185
+ | `Revert last approval` | Undo a decision (not a filesystem change - nothing has run yet) |
123
186
  | `Risk: LOW / MEDIUM / HIGH` | Derived from what is actually changing |
124
187
 
125
188
  ---
@@ -130,4 +193,4 @@ That is the guarantee. Every step. No exceptions.
130
193
 
131
194
  ---
132
195
 
133
- [usesteady.dev](https://usesteady.dev) · Apache 2.0
196
+ [usesteady.dev](https://usesteady.dev) - Apache 2.0
@@ -1 +1 @@
1
- {"version":3,"file":"server-admin.d.ts","sourceRoot":"","sources":["../server-admin.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AA6D1D,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAmItD"}
1
+ {"version":3,"file":"server-admin.d.ts","sourceRoot":"","sources":["../server-admin.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AA4I1D,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAoItD"}
@@ -9,10 +9,11 @@
9
9
  *
10
10
  * Never import this file unconditionally. It must remain gitignored.
11
11
  */
12
- import { fetchPendingIssues, postComment, swapLabel, closeIssue } from "./src/friction/github-issues.js";
12
+ import { fetchPendingIssues, postComment, swapLabel, closeIssue, parseSubmitterEmail } from "./src/friction/github-issues.js";
13
13
  import { classifyBatch, loadAnthropicKey } from "./src/friction/reviewer.js";
14
14
  import { recordDecision, allDecisions, pendingPayouts, ledgerStats, markPaid, } from "./src/friction/payout-ledger.js";
15
15
  import { readAuth, readConfig } from "./src/friction/config.js";
16
+ import { Resend } from "resend";
16
17
  function getAdminContext() {
17
18
  const auth = readAuth();
18
19
  const config = readConfig();
@@ -20,6 +21,56 @@ function getAdminContext() {
20
21
  return null;
21
22
  return { repo: config.frictionRepo, token: auth.githubToken };
22
23
  }
24
+ // ─── Email helper ─────────────────────────────────────────────────────────────
25
+ async function sendAcceptanceEmail(opts) {
26
+ const resendKey = process.env["RESEND_API_KEY"];
27
+ const fromAddr = process.env["RESEND_FROM"] ?? "UseSteady <noreply@usesteady.dev>";
28
+ if (!resendKey) {
29
+ process.stdout.write(`[admin] RESEND_API_KEY not set — skipping acceptance email to ${opts.to}\n`);
30
+ return;
31
+ }
32
+ const resend = new Resend(resendKey);
33
+ const tierDisplay = opts.tier.charAt(0).toUpperCase() + opts.tier.slice(1);
34
+ const { error } = await resend.emails.send({
35
+ from: fromAddr,
36
+ to: opts.to,
37
+ subject: `Your UseSteady friction report was accepted`,
38
+ html: `
39
+ <p>Hey ${opts.submitter},</p>
40
+
41
+ <p>Your friction report has been reviewed and <strong>accepted</strong> — thank you for taking the time to write it up. It directly influenced the product.</p>
42
+
43
+ <p><strong>Tier:</strong> ${tierDisplay}<br>
44
+ <strong>Why it was accepted:</strong> ${opts.reason}</p>
45
+
46
+ <p>You can see the full response on your public issue:<br>
47
+ <a href="${opts.issueUrl}">${opts.issueUrl}</a></p>
48
+
49
+ <p>We'll be in touch within 14 days to arrange the payout. Reply to this email if you have any questions.</p>
50
+
51
+ <p>— The UseSteady team</p>
52
+ `,
53
+ text: `Hey ${opts.submitter},
54
+
55
+ Your friction report has been reviewed and accepted — thank you for taking the time to write it up. It directly influenced the product.
56
+
57
+ Tier: ${tierDisplay}
58
+ Why it was accepted: ${opts.reason}
59
+
60
+ You can see the full response on your public issue:
61
+ ${opts.issueUrl}
62
+
63
+ We'll be in touch within 14 days to arrange the payout. Reply to this email if you have any questions.
64
+
65
+ — The UseSteady team`,
66
+ });
67
+ if (error) {
68
+ process.stdout.write(`[admin] Resend acceptance email failed for ${opts.to}: ${JSON.stringify(error)}\n`);
69
+ }
70
+ else {
71
+ process.stdout.write(`[admin] Acceptance email sent to ${opts.to}\n`);
72
+ }
73
+ }
23
74
  // ─── Shared helper ────────────────────────────────────────────────────────────
24
75
  async function applyDecision(ctx, issue, decision, verdictReason, confidence, tier) {
25
76
  const comment = [
@@ -32,7 +83,7 @@ async function applyDecision(ctx, issue, decision, verdictReason, confidence, ti
32
83
  `**Reason:** ${verdictReason}`,
33
84
  ...(tier ? [`**Tier:** ${tier.charAt(0).toUpperCase() + tier.slice(1)}`] : []),
34
85
  decision === "approved"
35
- ? `\n**Payout:** We will reach out to @${issue.user.login} to arrange payment within 14 days.`
86
+ ? `\n**Payout:** We will reach out to arrange payment within 14 days.`
36
87
  : `\n**Note:** This report does not meet the payout criteria. No payment will be issued.`,
37
88
  "",
38
89
  "---",
@@ -51,6 +102,23 @@ async function applyDecision(ctx, issue, decision, verdictReason, confidence, ti
51
102
  confidence,
52
103
  ...(tier ? { tier } : {}),
53
104
  });
105
+ // Send acceptance email to submitter if we have their email address
106
+ if (decision === "approved" && issue.body) {
107
+ const email = parseSubmitterEmail(issue.body);
108
+ if (email) {
109
+ const submitterName = issue.body.match(/\*\*Submitter:\*\*\s*([^·\n@]+)/)?.[1]?.trim() ?? "there";
110
+ await sendAcceptanceEmail({
111
+ to: email,
112
+ submitter: submitterName,
113
+ issueUrl: issue.html_url,
114
+ tier: tier ?? "bronze",
115
+ reason: verdictReason,
116
+ });
117
+ }
118
+ else {
119
+ process.stdout.write(`[admin] No submitter email found in issue #${issue.number} body — skipping email\n`);
120
+ }
121
+ }
54
122
  }
55
123
  // ─── Route registration ───────────────────────────────────────────────────────
56
124
  export function registerAdminRoutes(app) {
@@ -101,13 +169,13 @@ export function registerAdminRoutes(app) {
101
169
  res.status(401).json({ error: "No GitHub token." });
102
170
  return;
103
171
  }
104
- const { issueNumber, decision, verdictReason, confidence, issueUrl, githubLogin, tier } = req.body;
172
+ const { issueNumber, decision, verdictReason, confidence, issueUrl, githubLogin, issueBody, tier } = req.body;
105
173
  if (!issueNumber || !decision || !verdictReason) {
106
174
  res.status(400).json({ error: "issueNumber, decision, verdictReason are required." });
107
175
  return;
108
176
  }
109
- // Synthetic GitHubIssue for the helper (only html_url, number, user.login are used)
110
- const issue = { number: issueNumber, html_url: issueUrl, user: { login: githubLogin } };
177
+ // Include body so applyDecision can extract the submitter email for auto-response
178
+ const issue = { number: issueNumber, html_url: issueUrl, user: { login: githubLogin }, body: issueBody ?? "" };
111
179
  try {
112
180
  await applyDecision(ctx, issue, decision, verdictReason, confidence, tier);
113
181
  res.json({ ok: true });
@@ -1 +1 @@
1
- {"version":3,"file":"server-admin.js","sourceRoot":"","sources":["../server-admin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-admin.js","sourceRoot":"","sources":["../server-admin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"multi-llm-adapter.d.ts","sourceRoot":"","sources":["../../../../src/claude/adapters/multi-llm-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAU,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAIL,yBAAyB,EACzB,KAAK,eAAe,EAKrB,MAAM,sBAAsB,CAAC;AAI9B,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,IAAI,EAAI,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;CACpC,CAAC;AAIF;;;;;;;;;;;;GAYG;AACH,qBAAa,cAAe,YAAW,iBAAiB;IACtD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiB;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;gBAGjD,YAAY,EAAM,WAAW,EAC7B,gBAAgB,EAAE,SAAS,WAAW,EAAE,EACxC,OAAO,EAAW,IAAI,CAAC,eAAe,EAAE,MAAM,OAAO,yBAAyB,CAAC,GAC7D,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,OAAO,yBAAyB,CAAC,CAAC;IAOpF,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;YA+NhE,QAAQ;YA4CR,eAAe;IAoF7B,OAAO,CAAC,iBAAiB;CAQ1B"}
1
+ {"version":3,"file":"multi-llm-adapter.d.ts","sourceRoot":"","sources":["../../../../src/claude/adapters/multi-llm-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAU,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAIL,yBAAyB,EACzB,KAAK,eAAe,EAKrB,MAAM,sBAAsB,CAAC;AAI9B,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,IAAI,EAAI,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;CACpC,CAAC;AAIF;;;;;;;;;;;;GAYG;AACH,qBAAa,cAAe,YAAW,iBAAiB;IACtD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiB;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;gBAGjD,YAAY,EAAM,WAAW,EAC7B,gBAAgB,EAAE,SAAS,WAAW,EAAE,EACxC,OAAO,EAAW,IAAI,CAAC,eAAe,EAAE,MAAM,OAAO,yBAAyB,CAAC,GAC7D,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,OAAO,yBAAyB,CAAC,CAAC;IAOpF,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;YAkOhE,QAAQ;YA4CR,eAAe;IAoF7B,OAAO,CAAC,iBAAiB;CAQ1B"}
@@ -208,6 +208,11 @@ export class MultiLlmPlugin {
208
208
  return reviewPrimaryResult.response;
209
209
  }
210
210
  // Review round did not resolve — fail closed
211
+ // Detect capability split: primary accepted, secondary had execution errors (not scope/safety)
212
+ const capSplit = isCapabilitySplit(rounds, this.primaryEntry.name);
213
+ const failedClosedReason = "failReason" in reviewEval
214
+ ? reviewEval.failReason
215
+ : "Review round did not produce unanimous consensus.";
211
216
  const record = {
212
217
  requestId: request.deliveryId,
213
218
  primaryPlugin: this.primaryEntry.name,
@@ -216,16 +221,14 @@ export class MultiLlmPlugin {
216
221
  finalDisposition: reviewPrimaryDecision.disposition,
217
222
  quorumState: "no_quorum",
218
223
  strictUnanimityMet: false,
219
- failedClosedReason: "failReason" in reviewEval
220
- ? reviewEval.failReason
221
- : "Review round did not produce unanimous consensus.",
224
+ failedClosedReason,
222
225
  ...hashAuditFields(reviewHashPrimary, reviewHashesAll),
223
226
  };
224
227
  writeAudit(record);
225
228
  return {
226
229
  kind: "refused_due_to_execution_error",
227
- code: "consensus_no_quorum",
228
- message: record.failedClosedReason,
230
+ code: capSplit ? "consensus_capability_split" : "consensus_no_quorum",
231
+ message: failedClosedReason,
229
232
  };
230
233
  }
231
234
  }
@@ -361,6 +364,25 @@ function buildReviewRequest(original, priorOutputs, errorCategory) {
361
364
  },
362
365
  };
363
366
  }
367
+ // ─── Capability split detector ───────────────────────────────────────────────
368
+ /**
369
+ * Returns true when the round data indicates a capability split:
370
+ * - primary plugin accepted in round 1
371
+ * - all secondary plugins had execution_error (not scope, not safety refusal)
372
+ *
373
+ * This signals a feasibility/capability gap in the secondary model, not a
374
+ * governance disagreement. It changes the user-facing failure message so
375
+ * they understand it is not a safety veto.
376
+ */
377
+ function isCapabilitySplit(rounds, primaryPlugin) {
378
+ const primaryRound1 = rounds.find(r => r.pluginName === primaryPlugin && r.roundNumber === 1);
379
+ if (!primaryRound1 || primaryRound1.disposition !== "accepted")
380
+ return false;
381
+ const secondaryRound1 = rounds.filter(r => r.pluginName !== primaryPlugin && r.roundNumber === 1);
382
+ if (secondaryRound1.length === 0)
383
+ return false;
384
+ return secondaryRound1.every(r => r.operationClass === "execution_error" || r.disposition === "refused_error");
385
+ }
364
386
  // ─── Audit helpers ────────────────────────────────────────────────────────────
365
387
  function writeAudit(record) {
366
388
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"multi-llm-adapter.js","sourceRoot":"","sources":["../../../../src/claude/adapters/multi-llm-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multi-llm-adapter.js","sourceRoot":"","sources":["../../../../src/claude/adapters/multi-llm-adapter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"activation.d.ts","sourceRoot":"","sources":["../../../src/friction/activation.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;GAkBG;AAUH,MAAM,MAAM,mBAAmB,GAC3B,oBAAoB,GACpB,kBAAkB,GAClB,uBAAuB,CAAC;AAqC5B;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAM,mBAAmB,EAC9B,SAAS,EAAE,MAAM,EACjB,EAAE,CAAC,EAAQ,MAAM,GAChB,IAAI,CA4BN"}
1
+ {"version":3,"file":"activation.d.ts","sourceRoot":"","sources":["../../../src/friction/activation.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;GAkBG;AAWH,MAAM,MAAM,mBAAmB,GAC3B,oBAAoB,GACpB,kBAAkB,GAClB,uBAAuB,CAAC;AAqC5B;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAM,mBAAmB,EAC9B,SAAS,EAAE,MAAM,EACjB,EAAE,CAAC,EAAQ,MAAM,GAChB,IAAI,CAqCN"}
@@ -23,6 +23,7 @@ import { appendFileSync, mkdirSync, existsSync } from "node:fs";
23
23
  import { readFileSync } from "node:fs";
24
24
  import { homedir } from "node:os";
25
25
  import { join } from "node:path";
26
+ import { capture } from "./posthog.js";
26
27
  // ─── Constants ────────────────────────────────────────────────────────────────
27
28
  const USESTEADY_DIR = join(homedir(), ".usesteady");
28
29
  const ACTIVATION_LOG = join(USESTEADY_DIR, "activation.jsonl");
@@ -81,6 +82,14 @@ export function captureActivation(event, sessionId, ms) {
81
82
  headers: { "Content-Type": "application/json" },
82
83
  body: line,
83
84
  }).catch(() => { });
85
+ // 3. PostHog — same payload, uses stable anon ID
86
+ capture(event, {
87
+ session: sessionId,
88
+ platform: payload.platform,
89
+ nodeVersion: payload.nodeVersion,
90
+ version: payload.version,
91
+ ...(ms !== undefined ? { ms } : {}),
92
+ });
84
93
  }
85
94
  catch { /* outer safety net */ }
86
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"activation.js","sourceRoot":"","sources":["../../../src/friction/activation.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAiC,aAAa,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAA+B,SAAS,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAoC,SAAS,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAuC,WAAW,CAAC;AAmBlE,iFAAiF;AAEjF,MAAM,aAAa,GAAI,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;AACrD,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;AAC/D,MAAM,QAAQ,GAAS,sCAAsC,CAAC;AAE9D,iFAAiF;AAEjF,IAAI,QAAQ,GAAkB,IAAI,CAAC;AAEnC,SAAS,cAAc;IACrB,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CACnC,CAAC;QAC1B,QAAQ,GAAG,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,QAAQ,GAAG,SAAS,CAAC;IACvB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,iFAAiF;AAEjF;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAA8B,EAC9B,SAAiB,EACjB,EAAiB;IAEjB,IAAI,CAAC;QACH,MAAM,OAAO,GAAsB;YACjC,KAAK;YACL,OAAO,EAAM,SAAS;YACtB,QAAQ,EAAK,OAAO,CAAC,QAAQ;YAC7B,WAAW,EAAE,OAAO,CAAC,OAAO;YAC5B,OAAO,EAAM,cAAc,EAAE;YAC7B,EAAE,EAAW,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACrC,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpC,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAErC,gDAAgD;QAChD,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;gBAAE,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9E,cAAc,CAAC,cAAc,EAAE,IAAI,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC,CAAC,qCAAqC,CAAC,CAAC;QAEjD,6DAA6D;QAC7D,KAAK,CAAC,QAAQ,EAAE;YACd,MAAM,EAAG,MAAM;YACf,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAK,IAAI;SACd,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAyC,CAAC,CAAC,CAAC;IAE5D,CAAC;IAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"activation.js","sourceRoot":"","sources":["../../../src/friction/activation.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,12 @@ export declare function closeIssue(repo: string, issueNum: number, token: string
37
37
  * Returns null if the body doesn't contain a parseable block.
38
38
  */
39
39
  export declare function parseIssueMetadata(body: string): Record<string, unknown> | null;
40
+ /**
41
+ * Extract the submitter email stored in the HTML comment added by the web form.
42
+ * Format: <!-- submitter-email: user@example.com -->
43
+ * Returns null if absent (e.g. CLI-submitted reports).
44
+ */
45
+ export declare function parseSubmitterEmail(body: string): string | null;
40
46
  /**
41
47
  * Extract the plain-text context lines from the issue body.
42
48
  * Returns an object with the human-readable fields.
@@ -1 +1 @@
1
- {"version":3,"file":"github-issues.d.ts","sourceRoot":"","sources":["../../../src/friction/github-issues.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAIH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAM,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAO,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAQ,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAI,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAO,MAAM,GAAG,QAAQ,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAM,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD,QAAQ,CAAC,IAAI,EAAQ;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AA4BD;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAG,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,WAAW,EAAE,CAAC,CAYxB;AAID,kCAAkC;AAClC,wBAAsB,WAAW,CAC/B,IAAI,EAAQ,MAAM,EAClB,QAAQ,EAAI,MAAM,EAClB,IAAI,EAAQ,MAAM,EAClB,KAAK,EAAO,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAS,MAAM,EACnB,QAAQ,EAAK,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAK,MAAM,EACnB,KAAK,EAAQ,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAef;AAED,8DAA8D;AAC9D,wBAAsB,UAAU,CAC9B,IAAI,EAAM,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAK,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAMf;AAID;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAQ/E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAC/C,IAAI,CAAC,EAAS,MAAM,CAAC;IACrB,UAAU,CAAC,EAAG,MAAM,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAQ,MAAM,CAAC;IACrB,KAAK,CAAC,EAAQ,MAAM,CAAC;CACtB,CA0BA"}
1
+ {"version":3,"file":"github-issues.d.ts","sourceRoot":"","sources":["../../../src/friction/github-issues.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAIH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAM,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAO,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAQ,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAI,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAO,MAAM,GAAG,QAAQ,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAM,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD,QAAQ,CAAC,IAAI,EAAQ;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AA4BD;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAG,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,WAAW,EAAE,CAAC,CAYxB;AAID,kCAAkC;AAClC,wBAAsB,WAAW,CAC/B,IAAI,EAAQ,MAAM,EAClB,QAAQ,EAAI,MAAM,EAClB,IAAI,EAAQ,MAAM,EAClB,KAAK,EAAO,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAS,MAAM,EACnB,QAAQ,EAAK,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAK,MAAM,EACnB,KAAK,EAAQ,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAef;AAED,8DAA8D;AAC9D,wBAAsB,UAAU,CAC9B,IAAI,EAAM,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAK,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAMf;AAID;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAQ/E;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG/D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAC/C,IAAI,CAAC,EAAS,MAAM,CAAC;IACrB,UAAU,CAAC,EAAG,MAAM,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAQ,MAAM,CAAC;IACrB,KAAK,CAAC,EAAQ,MAAM,CAAC;CACtB,CA0BA"}