neondeck 1.0.0-beta.4 → 1.0.0-beta.7
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.
- package/CHANGELOG.md +26 -0
- package/DEVELOPMENT.md +13 -19
- package/README.md +4 -3
- package/config/dashboard.json +8 -0
- package/config/dashboard.schema.json +30 -0
- package/dist/assets/{app-BuuvLo98.js → app-BBIuPG77.js} +48 -9
- package/dist/assets/app-BBIuPG77.js.map +1 -0
- package/dist/assets/{autopilot-CKgEx8yQ.js → autopilot-CnHJWMaF.js} +37761 -37094
- package/dist/assets/autopilot-CnHJWMaF.js.map +1 -0
- package/dist/assets/briefing-CjRucNjn.js +2 -0
- package/dist/assets/briefing-hpGB8E6A.js +52 -0
- package/dist/assets/briefing-hpGB8E6A.js.map +1 -0
- package/dist/assets/briefings-DpDKxWsT.js +1582 -0
- package/dist/assets/briefings-DpDKxWsT.js.map +1 -0
- package/dist/assets/{command-run-B2TWLpLL.js → command-run-Dwt42N9e.js} +4 -4
- package/dist/assets/{command-run-B2TWLpLL.js.map → command-run-Dwt42N9e.js.map} +1 -1
- package/dist/assets/command-run-ujx2nwT9.js +2 -0
- package/dist/assets/{display-assistant-CbCRBSYM.js → display-assistant-Dwqj18Ka.js} +12 -9
- package/dist/assets/display-assistant-Dwqj18Ka.js.map +1 -0
- package/dist/assets/{fix-pr-ci-BlUl-2ht.js → fix-pr-ci-C7c6tPL_.js} +2 -2
- package/dist/assets/{fix-pr-ci-BlUl-2ht.js.map → fix-pr-ci-C7c6tPL_.js.map} +1 -1
- package/dist/assets/fix-pr-ci-CXG_U_NI.js +2 -0
- package/dist/assets/migrations/20260710061339_neondeck_pre_1_0_baseline/snapshot.json +55 -169
- package/dist/assets/migrations/20260711171708_conversational_briefings/migration.sql +35 -0
- package/dist/assets/migrations/20260711171708_conversational_briefings/snapshot.json +7458 -0
- package/dist/assets/migrations/20260714191624_worktree_lock_revocation/migration.sql +1 -0
- package/dist/assets/migrations/20260714191624_worktree_lock_revocation/snapshot.json +7468 -0
- package/dist/assets/{prepare-pr-worktree-DxyTygiU.js → prepare-pr-worktree-CckbyTsB.js} +3 -3
- package/dist/assets/{prepare-pr-worktree-DxyTygiU.js.map → prepare-pr-worktree-CckbyTsB.js.map} +1 -1
- package/dist/assets/{prepare-pr-worktree-CLzccRYh.js → prepare-pr-worktree-GIZ8cMUj.js} +1 -1
- package/dist/assets/{push-pr-autofix-DlVjw1IN.js → push-pr-autofix-CQTtK2HC.js} +3 -3
- package/dist/assets/{push-pr-autofix-DlVjw1IN.js.map → push-pr-autofix-CQTtK2HC.js.map} +1 -1
- package/dist/assets/{push-pr-autofix-BFNSEASU.js → push-pr-autofix-w85pTU9W.js} +1 -1
- package/dist/assets/{review-pr-for-human-B2j8wz2L.js → review-pr-for-human-BQjIMKW2.js} +1 -1
- package/dist/assets/{review-pr-for-human-DcGE-7wb.js → review-pr-for-human-C_OT_LFW.js} +2 -2
- package/dist/assets/{review-pr-for-human-DcGE-7wb.js.map → review-pr-for-human-C_OT_LFW.js.map} +1 -1
- package/dist/assets/{safety-CawD9GxD.js → safety-EnvDg7cY.js} +36 -617
- package/dist/assets/safety-EnvDg7cY.js.map +1 -0
- package/dist/assets/{scheduled-agent-instruction-Dr2ebZRD.js → scheduled-agent-instruction-B_K6qYBk.js} +1 -1
- package/dist/assets/{scheduled-agent-instruction-CQgogBv3.js → scheduled-agent-instruction-BdSpSyHS.js} +3 -3
- package/dist/assets/{scheduled-agent-instruction-CQgogBv3.js.map → scheduled-agent-instruction-BdSpSyHS.js.map} +1 -1
- package/dist/assets/{scheduler-tick-Cy26qBld.js → scheduler-tick-DdiWIWU2.js} +6 -21
- package/dist/assets/scheduler-tick-DdiWIWU2.js.map +1 -0
- package/dist/assets/scheduler-workflow-DoAFm2Pl.js +21 -0
- package/dist/assets/scheduler-workflow-DoAFm2Pl.js.map +1 -0
- package/dist/assets/skills/neondeck/SKILL.md +7 -3
- package/dist/assets/{triage-pr-event-hxUP587F.js → triage-pr-event-BIDtSjo4.js} +1 -1
- package/dist/assets/{triage-pr-event-BlE3GKNR.js → triage-pr-event-Dnetiswf.js} +3 -3
- package/dist/assets/{triage-pr-event-BlE3GKNR.js.map → triage-pr-event-Dnetiswf.js.map} +1 -1
- package/dist/assets/{verify-then-push-pr-autofix-CIl5ZwZm.js → verify-then-push-pr-autofix-CBrpMv6H.js} +1 -1
- package/dist/assets/{verify-then-push-pr-autofix-Djy0UFUv.js → verify-then-push-pr-autofix-DaM3R_IS.js} +3 -3
- package/dist/assets/{verify-then-push-pr-autofix-Djy0UFUv.js.map → verify-then-push-pr-autofix-DaM3R_IS.js.map} +1 -1
- package/dist/config/dashboard.json +8 -0
- package/dist/config/dashboard.schema.json +30 -0
- package/dist/server.mjs +14 -13
- package/dist/server.mjs.map +1 -1
- package/dist/skills/neondeck/SKILL.md +7 -3
- package/package.json +6 -5
- package/src/agents/display-assistant.ts +7 -4
- package/src/cli/onboarding.ts +0 -1
- package/src/cli/options.ts +1 -2
- package/src/modules/app-state/index.ts +0 -1
- package/src/modules/app-state/notifications.ts +0 -17
- package/src/modules/autopilot/actions.ts +23 -2
- package/src/modules/autopilot/ci-fix.ts +28 -2
- package/src/modules/autopilot/github-facts.ts +3 -0
- package/src/modules/autopilot/push-support.ts +1 -29
- package/src/modules/autopilot/push.ts +9 -0
- package/src/modules/autopilot/review-feedback.ts +32 -34
- package/src/modules/autopilot/state-mappers.ts +9 -4
- package/src/modules/autopilot/state-schemas.ts +0 -1
- package/src/modules/autopilot/worktree.ts +18 -3
- package/src/modules/autopilot-policy/config.ts +19 -28
- package/src/modules/autopilot-policy/schemas.ts +21 -76
- package/src/modules/autopilot-policy/service.ts +51 -83
- package/src/modules/briefings/actions.ts +80 -0
- package/src/modules/briefings/index.ts +5 -0
- package/src/modules/briefings/schemas.ts +125 -0
- package/src/modules/briefings/service.ts +642 -0
- package/src/modules/briefings/snapshot.ts +291 -0
- package/src/modules/briefings/store.ts +644 -0
- package/src/modules/commands/handlers/misc.ts +9 -83
- package/src/modules/config/actions.ts +1 -1
- package/src/modules/config/mutations/repos.ts +62 -19
- package/src/modules/config/read.ts +1 -6
- package/src/modules/config/schemas.ts +3 -4
- package/src/modules/flue/execution-context.ts +1 -2
- package/src/modules/flue/index.ts +2 -0
- package/src/modules/flue/origin.ts +7 -0
- package/src/modules/kilo/results/verify.ts +1 -1
- package/src/modules/prepared-diffs/service.ts +20 -6
- package/src/modules/prepared-diffs/store.ts +72 -0
- package/src/modules/repo-guardrails/config.ts +61 -0
- package/src/modules/repo-guardrails/index.ts +162 -0
- package/src/modules/repo-guardrails/risk.ts +2 -0
- package/src/modules/runtime/status.ts +7 -8
- package/src/modules/safety/policy-entries.ts +71 -2
- package/src/modules/scheduled-tasks/dispatch.ts +7 -5
- package/src/modules/scheduler/dispatch.ts +80 -14
- package/src/modules/scheduler/workflow-invocation.ts +9 -1
- package/src/modules/sessions/activity.ts +122 -0
- package/src/modules/sessions/agent-context.ts +6 -0
- package/src/modules/sessions/index.ts +2 -0
- package/src/modules/sessions/repo-context.ts +131 -0
- package/src/modules/sessions/schemas.ts +22 -0
- package/src/modules/sessions/store.ts +1 -0
- package/src/modules/watches/service.ts +6 -7
- package/src/modules/worktrees/ensure-pr-worktree.ts +63 -0
- package/src/modules/worktrees/index.ts +2 -0
- package/src/modules/worktrees/locks.ts +45 -6
- package/src/modules/worktrees/push-target.ts +39 -0
- package/src/modules/worktrees/schemas.ts +3 -0
- package/src/modules/worktrees/service.ts +24 -1
- package/src/modules/worktrees/store.ts +1 -0
- package/src/repo-edit/actions.ts +380 -0
- package/src/repo-edit/git.ts +47 -1
- package/src/repo-edit/path-safety.ts +7 -2
- package/src/repo-edit/schemas.ts +19 -0
- package/src/runtime-home/app-db/index.ts +6 -5
- package/src/runtime-home/app-db/migrations/20260710061339_neondeck_pre_1_0_baseline/snapshot.json +55 -169
- package/src/runtime-home/app-db/migrations/20260711171708_conversational_briefings/migration.sql +35 -0
- package/src/runtime-home/app-db/migrations/20260711171708_conversational_briefings/snapshot.json +7458 -0
- package/src/runtime-home/app-db/migrations/20260714191624_worktree_lock_revocation/migration.sql +1 -0
- package/src/runtime-home/app-db/migrations/20260714191624_worktree_lock_revocation/snapshot.json +7468 -0
- package/src/runtime-home/app-db/schema.ts +47 -0
- package/src/runtime-home/defaults.ts +16 -4
- package/src/runtime-home/guardrails.ts +77 -0
- package/src/runtime-home/index.ts +6 -4
- package/src/runtime-home/schemas.ts +44 -15
- package/src/server/create-app.ts +2 -0
- package/src/server/learning-hooks.ts +17 -0
- package/src/server/routes/briefings.ts +34 -0
- package/src/server/routes/scheduled-tasks.ts +3 -1
- package/src/server/routes/sessions.ts +13 -0
- package/src/skills/neondeck/SKILL.md +7 -3
- package/src/workflows/briefing.ts +42 -6
- package/web/dist/assets/{GitHubPrReview-QK9oqeDs.js → GitHubPrReview-BFLAbu4J.js} +1 -1
- package/web/dist/assets/{MultiFileView-CMm6tA9f.js → MultiFileView-CJTrTPMb.js} +1 -1
- package/web/dist/assets/index-2gqnSuHv.css +2 -0
- package/web/dist/assets/index-BNCOb0p_.js +44 -0
- package/web/dist/assets/{surfaces-B8Ko8AJ3.js → surfaces-CZfR7WsZ.js} +1 -1
- package/web/dist/index.html +2 -2
- package/dist/assets/app-BuuvLo98.js.map +0 -1
- package/dist/assets/autopilot-CKgEx8yQ.js.map +0 -1
- package/dist/assets/briefing-DYVbJaqk.js +0 -2
- package/dist/assets/briefing-DoO-fJr1.js +0 -22
- package/dist/assets/briefing-DoO-fJr1.js.map +0 -1
- package/dist/assets/command-run-CzQra_Y7.js +0 -2
- package/dist/assets/display-assistant-CbCRBSYM.js.map +0 -1
- package/dist/assets/fix-pr-ci-Dl1wpKXp.js +0 -2
- package/dist/assets/safety-CawD9GxD.js.map +0 -1
- package/dist/assets/scheduler-tick-Cy26qBld.js.map +0 -1
- package/src/modules/app-state/native-notifications.ts +0 -76
- package/web/dist/assets/index-DqZpo0Jd.js +0 -44
- package/web/dist/assets/index-_jKCE4ks.css +0 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.0.0-beta.7
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#111](https://github.com/pandemicsyn/neondeck/pull/111) [`bf72138`](https://github.com/pandemicsyn/neondeck/commit/bf7213830b1df5f378913b2857a7781fe97c1187) Thanks [@pandemicsyn](https://github.com/pandemicsyn)! - Separate interactive repo authority from autopilot policy, add typed commit and linked-PR push actions, and share objective repo guardrails across both origins. Existing local config must move any `autopilot.limits` values to the top-level `guardrails` block; the legacy location is no longer read.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- [#108](https://github.com/pandemicsyn/neondeck/pull/108) [`37296be`](https://github.com/pandemicsyn/neondeck/commit/37296beb48ed4c811f775caae5492656b0f422f7) Thanks [@pandemicsyn](https://github.com/pandemicsyn)! - Keep dashboard slash-command completion synchronized with the backend command registry and restore `/review-pr` completion for existing runtime homes.
|
|
12
|
+
|
|
13
|
+
- [#109](https://github.com/pandemicsyn/neondeck/pull/109) [`0f7d4b8`](https://github.com/pandemicsyn/neondeck/commit/0f7d4b8770752afb6103939fe11a8d56d788302e) Thanks [@pandemicsyn](https://github.com/pandemicsyn)! - Explain why a pull request watch needs attention, show durable watch activity inline in linked chat sessions, and require fresh deterministic evidence before the agent answers watch-status questions.
|
|
14
|
+
|
|
15
|
+
## 1.0.0-beta.6
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- [#105](https://github.com/pandemicsyn/neondeck/pull/105) [`d82f8f2`](https://github.com/pandemicsyn/neondeck/commit/d82f8f28914509c6b6ac9710c0c2b09783538cd4) Thanks [@pandemicsyn](https://github.com/pandemicsyn)! - Keep fresh display-assistant sessions active across host timezones and briefing profile updates so manual briefings can run immediately.
|
|
20
|
+
|
|
21
|
+
## 1.0.0-beta.5
|
|
22
|
+
|
|
23
|
+
### Minor Changes
|
|
24
|
+
|
|
25
|
+
- [#103](https://github.com/pandemicsyn/neondeck/pull/103) [`5475ffe`](https://github.com/pandemicsyn/neondeck/commit/5475ffe1689b2bfeba29db87bcc4ced21e0463da) Thanks [@pandemicsyn](https://github.com/pandemicsyn)! - Add configurable in-app toast notifications for durable dashboard events.
|
|
26
|
+
|
|
27
|
+
- [#98](https://github.com/pandemicsyn/neondeck/pull/98) [`fc2305b`](https://github.com/pandemicsyn/neondeck/commit/fc2305ba4b08d0a15eab3480f9bcd6b3cf950718) Thanks [@pandemicsyn](https://github.com/pandemicsyn)! - Add durable conversational morning briefings with scheduled Flue dispatch, configurable grounding, persistent conversations, and dashboard controls.
|
|
28
|
+
|
|
3
29
|
## Unreleased
|
|
4
30
|
|
|
5
31
|
## 1.0.0-beta.4 - 2026-07-12
|
package/DEVELOPMENT.md
CHANGED
|
@@ -250,23 +250,19 @@ npm run changeset
|
|
|
250
250
|
```
|
|
251
251
|
|
|
252
252
|
Use `patch` for fixes, `minor` for features, and `major` for breaking changes.
|
|
253
|
-
The private docs workspace is excluded from package versioning.
|
|
254
|
-
|
|
255
|
-
|
|
253
|
+
The private docs workspace is excluded from package versioning. The committed
|
|
254
|
+
Changesets prerelease state keeps versions on the beta channel. After changesets
|
|
255
|
+
reach `main`, `.github/workflows/changesets.yml` creates or updates a version PR
|
|
256
|
+
containing the package version, lockfile, changelog, and consumed Changesets.
|
|
256
257
|
|
|
257
|
-
|
|
258
|
-
npx changeset pre enter beta
|
|
259
|
-
npm run version-packages
|
|
260
|
-
```
|
|
261
|
-
|
|
262
|
-
Commit the generated package versions, lockfile, changelog, and Changesets
|
|
263
|
-
state. Tag the exact package version and push the version commit and annotated
|
|
264
|
-
tag together:
|
|
258
|
+
Merge the version PR, pull `main`, then tag and push the exact package version:
|
|
265
259
|
|
|
266
260
|
```sh
|
|
261
|
+
git switch main
|
|
262
|
+
git pull --ff-only
|
|
267
263
|
version="$(node -p "JSON.parse(require('node:fs').readFileSync('package.json', 'utf8')).version")"
|
|
268
264
|
git tag -a "v${version}" -m "neondeck v${version}"
|
|
269
|
-
git push origin
|
|
265
|
+
git push origin "v${version}"
|
|
270
266
|
```
|
|
271
267
|
|
|
272
268
|
Prerelease tags such as `v1.0.0-beta.1` publish to npm's `next` dist-tag.
|
|
@@ -283,16 +279,14 @@ gh workflow run npm-publish.yml \
|
|
|
283
279
|
The npm release path is separate from the GitHub app archive release:
|
|
284
280
|
|
|
285
281
|
- `.github/workflows/npm-package.yml` validates the packed npm artifact on PRs.
|
|
282
|
+
- `.github/workflows/changesets.yml` maintains the version PR from changesets
|
|
283
|
+
merged to `main`.
|
|
286
284
|
- `.github/workflows/npm-publish.yml` verifies the release tag, runs
|
|
287
285
|
`npm run release:npm:check`, and publishes `neondeck` to npm from `v*` tags.
|
|
288
286
|
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
then push the first release tag. After `neondeck` exists on npm, configure
|
|
293
|
-
trusted publishing for GitHub Actions with workflow filename `npm-publish.yml`,
|
|
294
|
-
environment `npm`, and allowed action `npm publish`. Delete the GitHub secret
|
|
295
|
-
and revoke the temporary npm token after the first trusted publish succeeds.
|
|
287
|
+
npm publishing uses trusted publishing for GitHub Actions with workflow
|
|
288
|
+
`npm-publish.yml`, environment `npm`, and allowed action `npm publish`. Do not
|
|
289
|
+
add a long-lived npm publish token.
|
|
296
290
|
|
|
297
291
|
## Deeper Runtime Docs
|
|
298
292
|
|
package/README.md
CHANGED
|
@@ -27,9 +27,10 @@ Neon watches your PRs, prepares fixes, and keeps the busywork moving.
|
|
|
27
27
|
github.com.
|
|
28
28
|
- **Handoff, both directions.** Delegate work to agents like Kilo or Codex, then
|
|
29
29
|
let the finished PR come back to Neon for checks and deployment follow-through.
|
|
30
|
-
- **
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
- **Conversational briefings and scheduled instructions.** Neon grounds a
|
|
31
|
+
durable Morning Briefing conversation in an inspectable local snapshot, then
|
|
32
|
+
can enrich it with any relevant configured MCP source under normal login and
|
|
33
|
+
approval controls. Follow up in chat, or run your own saved prompt on a timer.
|
|
33
34
|
- **Sandboxed, gated execution.** Keep code-changing work in throwaway
|
|
34
35
|
worktrees, gate shell commands through approval policy, or run work off your
|
|
35
36
|
machine on an `exe.dev` sandbox VM.
|
package/config/dashboard.json
CHANGED
|
@@ -48,6 +48,36 @@
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
},
|
|
51
|
+
"notifications": {
|
|
52
|
+
"type": "object",
|
|
53
|
+
"additionalProperties": true,
|
|
54
|
+
"properties": {
|
|
55
|
+
"toasts": {
|
|
56
|
+
"type": "object",
|
|
57
|
+
"additionalProperties": true,
|
|
58
|
+
"properties": {
|
|
59
|
+
"enabled": {
|
|
60
|
+
"type": "boolean",
|
|
61
|
+
"default": true
|
|
62
|
+
},
|
|
63
|
+
"minimumLevel": {
|
|
64
|
+
"enum": ["info", "ready", "attention", "urgent"],
|
|
65
|
+
"default": "ready"
|
|
66
|
+
},
|
|
67
|
+
"readyDurationMs": {
|
|
68
|
+
"type": "integer",
|
|
69
|
+
"default": 6000,
|
|
70
|
+
"description": "Automatically dismiss ready toasts after this many milliseconds. Values are clamped from 1000 through 60000."
|
|
71
|
+
},
|
|
72
|
+
"maxVisible": {
|
|
73
|
+
"type": "integer",
|
|
74
|
+
"default": 3,
|
|
75
|
+
"description": "Maximum visible toast rows. Values are clamped from 1 through 3."
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
},
|
|
51
81
|
"windows": {
|
|
52
82
|
"type": "object",
|
|
53
83
|
"additionalProperties": {
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { $ as readLearningOperatorState, $
|
|
2
|
-
import { a as
|
|
3
|
-
import { a as
|
|
1
|
+
import { $ as readLearningOperatorState, $n as listExecutionApprovals, $r as resolveMcpApprovalWithPaths, $t as getGitHubPrFiles, A as readReport, Aa as isRegisteredProvider, Ai as switchChatSession, An as listTaskRecords, At as reviewKiloResult, Ba as ConfigValidationError, Bi as listMemories, Bt as readRepoFile, Ca as markNotificationRead, Ci as createChatSession, Cn as resolvePrReference, Cr as localApiAuthHeader, D as fixPrReviewFeedback, Da as nonEmptyStringSchema, Di as pinChatSession, E as commentPrAutofixResult, Ea as subscribeNotificationEvents, Ei as listChatSessionCommandEvents, Er as readLocalApiToken, Ga as asJsonValue, Gi as replayConfigEventsAfter, Gr as readPublicMcpOAuthLogin, Gt as pushPrAutofix, Ha as parseDashboardConfig, Hi as upsertMemory, Ht as searchRepoFiles, I as recordConversationTurnAndMaybeQueueLearning, Ia as ensureRuntimeHome, J as rejectSkillPatchCandidate, Ja as okAction, Jn as verifyPrWorktree, Jr as removeMcpServer, Jt as deleteGitHubPrReviewDraft, K as applySkillPatchCandidate, Ka as failedAction, Ki as subscribeConfigEvents, Kr as startMcpOAuthLogin, L as recordHandledPrFromWorkflowResult, La as ensureRuntimeHomeSync, Li as decideMemoryCandidate, Lt as patchRepoFiles, Ma as readProviderConfigSync, Mi as formatChatSessionServerSentEvent, Mn as removeTask, Mr as listRuntimeSkills, Mt as recordDocsDriftFixTaskBoundary, Na as loadNeondeckEnv, Nn as setTaskEnabled, Nr as loadRuntimeSkill, Oa as parseInput, Oi as renameChatSession, On as createAgentInstructionTask, Ot as listKiloResultStates, Pi as subscribeChatSessionEvents, Pr as reloadRuntimeSkills, Pt as fixPrCiFailure, Qn as runApprovedExecution, Qr as listMcpAudit, Qt as getGitHubPrFileDiff, Ra as readRuntimeJson, Ri as listMemoryCandidates, Rt as readRepoCheckoutStatus, Sa as listNotifications, Si as archiveChatSession, Sn as setPrWatchPolling, Sr as bearerToken, St as searchKiloSessions, T as approvePreparedDiffPushWithPolicy, Ta as formatNotificationServerSentEvent, Ti as linkChatSessionContext, Tr as localApiTokenQueryParam, Ua as runtimePaths, Ui as readNeonSessionState, Ur as completeMcpOAuthCallback, Ut as writeRepoFile, Va as parseAppConfig, Vi as listMemoryEvents, Vr as getMcpRegistry, Vt as replaceRepoFile, Wi as formatConfigServerSentEvent, Wn as settleScheduledTaskWorkflowRun, Wr as logoutMcpOAuthServer, Wt as listRepoEditEvents, Xi as readRepoRegistrySnapshot, Xn as syncExeDevCheckout, Xr as updateMcpServer, Xt as getGitHubPrBranchPermissions, Y as restoreSkillPatchCandidate, Ya as __commonJSMin, Yi as readRepoHealthSnapshot, Yr as setMcpServerEnabled, Yt as deleteGitHubPrReviewDraftComment, Za as __require, Zi as repoFullName, Zr as listMcpApprovals, Zt as getGitHubPrEventState, _a as readApprovalRecord, _i as refreshChatSessionSummary, _n as addRefWatch, _t as readKiloSession, aa as releaseWorktreeLock, an as postGitHubPrComment, ar as readExecutionPolicy, ba as setWorkflowSummaryRunId, bi as readChatSessionMessages, bn as listRefWatches, bt as readKiloSessionMessages, c as abandonPreparedDiffWithRevisionAbort, cn as postGitHubPrThreadReply, cr as readProviderConfig, d as failAutopilotAdmission, dn as refreshPrWatchEventState, dr as updateWorktreePolicy, dt as readKiloTaskDiff, ea as listWorktrees, en as getGitHubPrRequestedChanges, er as requestExecutionApproval, et as readWorkflowObservability, f as recordAutopilotAdmissionRun, fa as readPreparedDiffChangedFiles, fr as updateExecutionPolicy, ft as readKiloTaskEvents, ga as runPreparedDiffVerification, gi as referenceChatSession, gn as addPrWatch, gr as triagePrEvent, h as settleAutopilotAdmissionTriage, ha as requestPreparedDiffRevision, hr as reloadConfig, ht as startKiloTask, i as runAutopilotRecoveryAction, ia as readWorktreeStatus, ii as listGitHubPrQueue, in as patchGitHubPrReviewDraftComment, it as listLearningReviews, j as readReportHtml, ja as providerRuntimeRegistrations, ji as updateChatSessionCommandEvent, jn as readTaskRecord, jr as readRuntimeStatus, jt as verifyKiloResult, k as listReports, ka as installFlueExecutionContextTracker, ki as restoreChatSession, kn as createBriefingTask, kt as promoteKiloResult, l as runPreparedDiffRevision, la as listPreparedDiffs, ln as postGitHubPrThreadResolution, lr as updateProviderConfig, lt as abortKiloTask, m as settleAutopilotAdmissionPrepare, ma as readPreparedDiffSummary, mi as listChatSessionActivity, mr as updateDashboardLayout, mt as readKiloTaskStatus, na as createWorktree, ni as getGitHubPullRequest, nn as getGitHubPrReviewThreads, nr as checkExecutionPolicy, nt as loadAutomationLearningMemoryContext, o as readAutopilotState, oa as syncWorktree, on as postGitHubPrReview, p as recordAutopilotAdmissionTerminalFact, pa as readPreparedDiffFileDiff, pr as applyDashboardPreset, pt as readKiloTaskSessions, q as listSkillPatchCandidates, qa as invalidInputAction, qn as preparePrWorktree, qr as addMcpServer, r as readAutopilotRecoveryOptions, ra as lockWorktree, rn as listPrWatchEventWatermarks, rt as attachLearningReviewRunId, s as autopilotStateSchema, sn as postGitHubPrReviewDraftComment, sr as updateRepoAutopilotPolicy, ta as cleanupWorktrees, tn as getGitHubPrReviewDraft, tr as resolveExecutionApproval, tt as recordFlueObservation, u as beginAutopilotAdmissionPrepare, ua as openPreparedDiffWorktree, un as putGitHubPrReviewDraft, ur as updateAgentModels, ut as listKiloTasks, va as addWorkflowSummary, vi as listChatSessions, vt as readKiloSessionChildren, wa as resolveNotification, wi as createChatSessionCommandEvent, wr as localApiTokenMatches, xa as addNotification, xi as searchChatSessions, xn as removePrWatch, xr as readHostMetrics, xt as readUnavailableSessionAdapter, ya as listWorkflowSummaries, yi as readChatSession, yn as listPrWatches, yt as readKiloSessionDiff, zi as archiveMemory, zt as readRepoDiff } from "./autopilot-CnHJWMaF.js";
|
|
2
|
+
import { a as readBriefingState, c as settleBriefingObservation, i as readBriefingRunDetails, l as updateBriefingProfile, o as rotateBriefingSession, r as linkBriefingWorkflowObservation, s as runBriefingNow } from "./briefings-DpDKxWsT.js";
|
|
3
|
+
import { a as runSchedulerTick, c as rollbackQuietly, d as supportedCommands, n as readSafetyPolicy, o as isSqliteBusy, s as readMetadataValue } from "./safety-EnvDg7cY.js";
|
|
4
|
+
import { a as review_conversation_for_learning_default, r as review_pr_batch_for_learning_default, s as curate_learning_store_default, t as scheduler_tick_default } from "./scheduler-tick-DdiWIWU2.js";
|
|
4
5
|
import { getRun, invoke, listRuns, observe, registerProvider } from "@flue/runtime";
|
|
5
6
|
import { createHash, randomUUID } from "node:crypto";
|
|
7
|
+
import * as v from "valibot";
|
|
6
8
|
import { existsSync } from "node:fs";
|
|
7
9
|
import { readFile } from "node:fs/promises";
|
|
8
10
|
import "node:path";
|
|
9
11
|
import { fileURLToPath } from "node:url";
|
|
10
12
|
import { DatabaseSync } from "node:sqlite";
|
|
11
|
-
import * as v from "valibot";
|
|
12
13
|
import { flue } from "@flue/runtime/routing";
|
|
13
14
|
import { Hono } from "hono";
|
|
14
15
|
//#region node_modules/@hono/node-server/dist/utils/stream.cjs
|
|
@@ -450,6 +451,9 @@ function installFlueObservationHandlers(paths, dependencies = {}) {
|
|
|
450
451
|
attachCommandRunSummaryRunId(event, paths).catch((error) => {
|
|
451
452
|
console.error("[neondeck] failed to attach Flue run id", error);
|
|
452
453
|
});
|
|
454
|
+
linkBriefingWorkflowObservation(event, paths).catch((error) => {
|
|
455
|
+
console.error("[neondeck] failed to link briefing workflow run", error);
|
|
456
|
+
});
|
|
453
457
|
const learningReviewId = learningReviewResultId(event);
|
|
454
458
|
if (learningReviewId) Promise.resolve().then(() => attachLearningReviewRunId({
|
|
455
459
|
reviewId: learningReviewId,
|
|
@@ -482,6 +486,9 @@ function installFlueObservationHandlers(paths, dependencies = {}) {
|
|
|
482
486
|
});
|
|
483
487
|
return;
|
|
484
488
|
}
|
|
489
|
+
if (event.type === "agent_end" || event.type === "operation" || event.type === "submission_settled") settleBriefingObservation(event, paths).catch((error) => {
|
|
490
|
+
console.error("[neondeck] failed to settle briefing submission", error);
|
|
491
|
+
});
|
|
485
492
|
recordFlueObservation(event, paths).catch((error) => {
|
|
486
493
|
console.error("[neondeck] failed to record Flue observation", error);
|
|
487
494
|
});
|
|
@@ -511,7 +518,7 @@ async function startPrepareAfterTriage(event, paths) {
|
|
|
511
518
|
const admission = await beginAutopilotAdmissionPrepare({ triageRunId: event.runId }, paths);
|
|
512
519
|
if (!admission) return;
|
|
513
520
|
try {
|
|
514
|
-
const { runId } = await invoke((await import("./prepare-pr-worktree-
|
|
521
|
+
const { runId } = await invoke((await import("./prepare-pr-worktree-GIZ8cMUj.js")).default, { input: {
|
|
515
522
|
repoId: admission.repoId,
|
|
516
523
|
prNumber: admission.prNumber,
|
|
517
524
|
eventId: admission.eventFingerprint,
|
|
@@ -794,8 +801,8 @@ async function invokeWorkflowForRuntimeHome(paths, dispatch, invokeWorkflow) {
|
|
|
794
801
|
return invokeWorkflow(dispatch.workflow, dispatch.input);
|
|
795
802
|
}
|
|
796
803
|
async function invokeAutopilotWorkflow(workflow, input) {
|
|
797
|
-
if (workflow === "push-pr-autofix") return invokeWorkflow((await import("./push-pr-autofix-
|
|
798
|
-
return invokeWorkflow((await import("./verify-then-push-pr-autofix-
|
|
804
|
+
if (workflow === "push-pr-autofix") return invokeWorkflow((await import("./push-pr-autofix-w85pTU9W.js")).default, { input });
|
|
805
|
+
return invokeWorkflow((await import("./verify-then-push-pr-autofix-CBrpMv6H.js")).default, { input });
|
|
799
806
|
}
|
|
800
807
|
async function recordDispatchFailure(preparedDiff, mode, dispatch, approvalId, error, paths) {
|
|
801
808
|
await addWorkflowSummary({
|
|
@@ -1104,6 +1111,29 @@ async function resolvePreparedDiffRevisionFromRoute(preparedDiffId, input, paths
|
|
|
1104
1111
|
};
|
|
1105
1112
|
}
|
|
1106
1113
|
//#endregion
|
|
1114
|
+
//#region src/server/routes/briefings.ts
|
|
1115
|
+
function createBriefingRoutes(paths) {
|
|
1116
|
+
const routes = new Hono();
|
|
1117
|
+
routes.get("/briefings", async (c) => c.json(await readBriefingState(paths)));
|
|
1118
|
+
routes.get("/briefings/runs/:id", async (c) => {
|
|
1119
|
+
const result = await readBriefingRunDetails(c.req.param("id"), paths);
|
|
1120
|
+
return c.json(result, result.ok ? 200 : 404);
|
|
1121
|
+
});
|
|
1122
|
+
routes.put("/briefings/profile", async (c) => {
|
|
1123
|
+
const result = await updateBriefingProfile(await safeJsonObject(c), paths);
|
|
1124
|
+
return c.json(result, result.ok ? 200 : 400);
|
|
1125
|
+
});
|
|
1126
|
+
routes.post("/briefings/run", async (c) => {
|
|
1127
|
+
const result = await runBriefingNow(await safeJsonObject(c), paths);
|
|
1128
|
+
return c.json(result, result.ok ? 202 : 400);
|
|
1129
|
+
});
|
|
1130
|
+
routes.post("/briefings/session/rotate", async (c) => {
|
|
1131
|
+
const result = await rotateBriefingSession(await safeJsonObject(c), paths);
|
|
1132
|
+
return c.json(result, result.ok ? 200 : 400);
|
|
1133
|
+
});
|
|
1134
|
+
return routes;
|
|
1135
|
+
}
|
|
1136
|
+
//#endregion
|
|
1107
1137
|
//#region src/server/routes/commands.ts
|
|
1108
1138
|
function createCommandRoutes() {
|
|
1109
1139
|
const routes = new Hono();
|
|
@@ -1668,7 +1698,7 @@ async function externalReviewQueueAllowed(paths) {
|
|
|
1668
1698
|
}
|
|
1669
1699
|
async function invokeReviewPrWorkflow(input) {
|
|
1670
1700
|
const { invoke } = await import("@flue/runtime");
|
|
1671
|
-
return invoke((await import("./review-pr-for-human-
|
|
1701
|
+
return invoke((await import("./review-pr-for-human-BQjIMKW2.js")).default, { input });
|
|
1672
1702
|
}
|
|
1673
1703
|
async function addHandoffAudit(summary, paths, options = {}) {
|
|
1674
1704
|
return addWorkflowSummary({
|
|
@@ -3297,6 +3327,14 @@ function createSessionRoutes(paths) {
|
|
|
3297
3327
|
}, paths);
|
|
3298
3328
|
return c.json(result, result.ok ? 200 : 404);
|
|
3299
3329
|
});
|
|
3330
|
+
routes.get("/sessions/:id/activity", async (c) => {
|
|
3331
|
+
const rawLimit = Number(c.req.query("limit"));
|
|
3332
|
+
const result = await listChatSessionActivity({
|
|
3333
|
+
sessionId: c.req.param("id"),
|
|
3334
|
+
limit: Number.isFinite(rawLimit) ? rawLimit : void 0
|
|
3335
|
+
}, paths);
|
|
3336
|
+
return c.json(result, result.ok ? 200 : 404);
|
|
3337
|
+
});
|
|
3300
3338
|
routes.post("/sessions/:id/command-events", async (c) => {
|
|
3301
3339
|
const result = await createChatSessionCommandEvent({
|
|
3302
3340
|
...await safeJsonObject(c),
|
|
@@ -3568,6 +3606,7 @@ async function createApp(options = {}) {
|
|
|
3568
3606
|
app.route("/api", createWorktreeRoutes(paths));
|
|
3569
3607
|
app.route("/api/kilo", createKiloRoutes(paths));
|
|
3570
3608
|
app.route("/api", createAutopilotRoutes(paths));
|
|
3609
|
+
app.route("/api", createBriefingRoutes(paths));
|
|
3571
3610
|
app.route("/api", createHandoffRoutes(paths));
|
|
3572
3611
|
app.route("/api", createWatchRoutes(paths));
|
|
3573
3612
|
app.route("/api", createSchedulerRoutes(paths));
|
|
@@ -3617,4 +3656,4 @@ var app_default = await createApp();
|
|
|
3617
3656
|
//#endregion
|
|
3618
3657
|
export { app_default as default };
|
|
3619
3658
|
|
|
3620
|
-
//# sourceMappingURL=app-
|
|
3659
|
+
//# sourceMappingURL=app-BBIuPG77.js.map
|