sensorium-mcp 3.1.2 → 3.1.3-board.1
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/Install-Sensorium.ps1 +61 -0
- package/dist/board/api/api.js +61 -0
- package/dist/board/api/client.js +96 -0
- package/dist/board/components/BottomNav.js +32 -0
- package/dist/board/components/Card.js +44 -0
- package/dist/board/components/CommentComposer.js +26 -0
- package/dist/board/components/CommentList.js +39 -0
- package/dist/board/components/Dropdown.js +66 -0
- package/dist/board/components/Lane.js +40 -0
- package/dist/board/components/PriorityChip.js +17 -0
- package/dist/board/components/ProfileSummary.js +39 -0
- package/dist/board/components/StateBanner.js +22 -0
- package/dist/board/components/StatusChip.js +21 -0
- package/dist/board/components/TokenEntry.js +42 -0
- package/dist/board/config.js +56 -0
- package/dist/board/index.html +18 -0
- package/dist/board/main.js +37 -0
- package/dist/board/mock/api.mock.js +193 -0
- package/dist/board/mock/fixtures.js +164 -0
- package/dist/board/schema/policy.js +192 -0
- package/dist/board/state/auth.js +55 -0
- package/dist/board/state/useBoard.js +149 -0
- package/dist/board/state/useBuilder.js +98 -0
- package/dist/board/state/useCard.js +67 -0
- package/dist/board/styles/board.css +1760 -0
- package/dist/board/styles/tokens.css +71 -0
- package/dist/board/vendor/vue.esm-browser.js +9 -0
- package/dist/board/views/App.js +65 -0
- package/dist/board/views/BoardView.js +84 -0
- package/dist/board/views/BuilderView.js +303 -0
- package/dist/board/views/CardView.js +245 -0
- package/dist/board/views/SettingsView.js +145 -0
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +12 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/misc-settings.d.ts +14 -0
- package/dist/config/misc-settings.d.ts.map +1 -1
- package/dist/config/misc-settings.js +53 -0
- package/dist/config/misc-settings.js.map +1 -1
- package/dist/dashboard/board-static.d.ts +23 -0
- package/dist/dashboard/board-static.d.ts.map +1 -0
- package/dist/dashboard/board-static.js +131 -0
- package/dist/dashboard/board-static.js.map +1 -0
- package/dist/dashboard/routes/board.d.ts +73 -0
- package/dist/dashboard/routes/board.d.ts.map +1 -0
- package/dist/dashboard/routes/board.js +623 -0
- package/dist/dashboard/routes/board.js.map +1 -0
- package/dist/dashboard/routes/settings.d.ts +2 -0
- package/dist/dashboard/routes/settings.d.ts.map +1 -1
- package/dist/dashboard/routes/settings.js +24 -1
- package/dist/dashboard/routes/settings.js.map +1 -1
- package/dist/dashboard/routes/threads-read.d.ts +7 -3
- package/dist/dashboard/routes/threads-read.d.ts.map +1 -1
- package/dist/dashboard/routes/threads-read.js +19 -4
- package/dist/dashboard/routes/threads-read.js.map +1 -1
- package/dist/dashboard/routes/types.d.ts +6 -0
- package/dist/dashboard/routes/types.d.ts.map +1 -1
- package/dist/dashboard/routes/types.js.map +1 -1
- package/dist/dashboard/routes.d.ts.map +1 -1
- package/dist/dashboard/routes.js +42 -1
- package/dist/dashboard/routes.js.map +1 -1
- package/dist/dashboard/spa.html +12 -12
- package/dist/data/board/board-schema.d.ts +22 -0
- package/dist/data/board/board-schema.d.ts.map +1 -0
- package/dist/data/board/board-schema.js +103 -0
- package/dist/data/board/board-schema.js.map +1 -0
- package/dist/data/board/board-types.d.ts +117 -0
- package/dist/data/board/board-types.d.ts.map +1 -0
- package/dist/data/board/board-types.js +9 -0
- package/dist/data/board/board-types.js.map +1 -0
- package/dist/data/board/card.repository.d.ts +64 -0
- package/dist/data/board/card.repository.d.ts.map +1 -0
- package/dist/data/board/card.repository.js +272 -0
- package/dist/data/board/card.repository.js.map +1 -0
- package/dist/data/board/comment.repository.d.ts +12 -0
- package/dist/data/board/comment.repository.d.ts.map +1 -0
- package/dist/data/board/comment.repository.js +31 -0
- package/dist/data/board/comment.repository.js.map +1 -0
- package/dist/data/board/lane.repository.d.ts +18 -0
- package/dist/data/board/lane.repository.d.ts.map +1 -0
- package/dist/data/board/lane.repository.js +44 -0
- package/dist/data/board/lane.repository.js.map +1 -0
- package/dist/data/board/profile-defaults.d.ts +19 -0
- package/dist/data/board/profile-defaults.d.ts.map +1 -0
- package/dist/data/board/profile-defaults.js +118 -0
- package/dist/data/board/profile-defaults.js.map +1 -0
- package/dist/data/memory/migration-runner.d.ts.map +1 -1
- package/dist/data/memory/migration-runner.js +4 -0
- package/dist/data/memory/migration-runner.js.map +1 -1
- package/dist/data/memory/narrative-store.d.ts +14 -0
- package/dist/data/memory/narrative-store.d.ts.map +1 -1
- package/dist/data/memory/narrative-store.js +36 -0
- package/dist/data/memory/narrative-store.js.map +1 -1
- package/dist/data/memory/narrative.d.ts.map +1 -1
- package/dist/data/memory/narrative.js +13 -1
- package/dist/data/memory/narrative.js.map +1 -1
- package/dist/data/memory/schema.d.ts.map +1 -1
- package/dist/data/memory/schema.js +4 -0
- package/dist/data/memory/schema.js.map +1 -1
- package/dist/index.js +84 -2
- package/dist/index.js.map +1 -1
- package/dist/integrations/openai/speech.d.ts.map +1 -1
- package/dist/integrations/openai/speech.js +52 -19
- package/dist/integrations/openai/speech.js.map +1 -1
- package/dist/lib/http-retry.d.ts +91 -0
- package/dist/lib/http-retry.d.ts.map +1 -0
- package/dist/lib/http-retry.js +177 -0
- package/dist/lib/http-retry.js.map +1 -0
- package/dist/lib/usage-metering/pricing.js +1 -1
- package/dist/lib/usage-metering/pricing.js.map +1 -1
- package/dist/lib/utils.d.ts +10 -0
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +22 -0
- package/dist/lib/utils.js.map +1 -1
- package/dist/server/http-server.d.ts +3 -1
- package/dist/server/http-server.d.ts.map +1 -1
- package/dist/server/http-server.js +6 -2
- package/dist/server/http-server.js.map +1 -1
- package/dist/services/board/board-signals.d.ts +25 -0
- package/dist/services/board/board-signals.d.ts.map +1 -0
- package/dist/services/board/board-signals.js +83 -0
- package/dist/services/board/board-signals.js.map +1 -0
- package/dist/services/board/card-briefing.d.ts +17 -0
- package/dist/services/board/card-briefing.d.ts.map +1 -0
- package/dist/services/board/card-briefing.js +86 -0
- package/dist/services/board/card-briefing.js.map +1 -0
- package/dist/services/board/orchestrator.service.d.ts +55 -0
- package/dist/services/board/orchestrator.service.d.ts.map +1 -0
- package/dist/services/board/orchestrator.service.js +198 -0
- package/dist/services/board/orchestrator.service.js.map +1 -0
- package/dist/services/board/release-worker.d.ts +32 -0
- package/dist/services/board/release-worker.d.ts.map +1 -0
- package/dist/services/board/release-worker.js +49 -0
- package/dist/services/board/release-worker.js.map +1 -0
- package/dist/services/board/report-capture.d.ts +48 -0
- package/dist/services/board/report-capture.d.ts.map +1 -0
- package/dist/services/board/report-capture.js +172 -0
- package/dist/services/board/report-capture.js.map +1 -0
- package/dist/services/board/worker-spawn.d.ts +30 -0
- package/dist/services/board/worker-spawn.d.ts.map +1 -0
- package/dist/services/board/worker-spawn.js +90 -0
- package/dist/services/board/worker-spawn.js.map +1 -0
- package/dist/services/broker-client.d.ts +30 -0
- package/dist/services/broker-client.d.ts.map +1 -1
- package/dist/services/broker-client.js +23 -0
- package/dist/services/broker-client.js.map +1 -1
- package/dist/services/http-retry.d.ts +1 -90
- package/dist/services/http-retry.d.ts.map +1 -1
- package/dist/services/http-retry.js +1 -176
- package/dist/services/http-retry.js.map +1 -1
- package/dist/services/passive-notice.service.d.ts +39 -0
- package/dist/services/passive-notice.service.d.ts.map +1 -0
- package/dist/services/passive-notice.service.js +274 -0
- package/dist/services/passive-notice.service.js.map +1 -0
- package/dist/services/spawn-common.d.ts.map +1 -1
- package/dist/services/spawn-common.js +14 -1
- package/dist/services/spawn-common.js.map +1 -1
- package/dist/services/telegram.d.ts +7 -5
- package/dist/services/telegram.d.ts.map +1 -1
- package/dist/services/telegram.js +18 -13
- package/dist/services/telegram.js.map +1 -1
- package/dist/services/usage/usage-inbox-notifier.d.ts +50 -0
- package/dist/services/usage/usage-inbox-notifier.d.ts.map +1 -0
- package/dist/services/usage/usage-inbox-notifier.js +118 -0
- package/dist/services/usage/usage-inbox-notifier.js.map +1 -0
- package/dist/services/usage/usage-poller.service.d.ts +41 -0
- package/dist/services/usage/usage-poller.service.d.ts.map +1 -0
- package/dist/services/usage/usage-poller.service.js +66 -0
- package/dist/services/usage/usage-poller.service.js.map +1 -0
- package/dist/services/usage/usage-snapshot-provider.d.ts +29 -0
- package/dist/services/usage/usage-snapshot-provider.d.ts.map +1 -0
- package/dist/services/usage/usage-snapshot-provider.js +59 -0
- package/dist/services/usage/usage-snapshot-provider.js.map +1 -0
- package/dist/services/usage/usage-types.d.ts +23 -0
- package/dist/services/usage/usage-types.d.ts.map +1 -0
- package/dist/services/usage/usage-types.js +14 -0
- package/dist/services/usage/usage-types.js.map +1 -0
- package/dist/services/worker-cleanup.service.d.ts +6 -1
- package/dist/services/worker-cleanup.service.d.ts.map +1 -1
- package/dist/services/worker-cleanup.service.js +123 -10
- package/dist/services/worker-cleanup.service.js.map +1 -1
- package/dist/tools/delegate-tool.d.ts.map +1 -1
- package/dist/tools/delegate-tool.js +32 -0
- package/dist/tools/delegate-tool.js.map +1 -1
- package/dist/tools/utility-tools.d.ts.map +1 -1
- package/dist/tools/utility-tools.js +7 -3
- package/dist/tools/utility-tools.js.map +1 -1
- package/dist/tools/wait/consolidation-strategy.d.ts +42 -0
- package/dist/tools/wait/consolidation-strategy.d.ts.map +1 -0
- package/dist/tools/wait/consolidation-strategy.js +50 -0
- package/dist/tools/wait/consolidation-strategy.js.map +1 -0
- package/dist/tools/wait/drive-handler.d.ts +5 -7
- package/dist/tools/wait/drive-handler.d.ts.map +1 -1
- package/dist/tools/wait/drive-handler.js +30 -48
- package/dist/tools/wait/drive-handler.js.map +1 -1
- package/dist/tools/wait/message-delivery.d.ts.map +1 -1
- package/dist/tools/wait/message-delivery.js +13 -0
- package/dist/tools/wait/message-delivery.js.map +1 -1
- package/package.json +2 -2
- package/templates/atomic-build-spec.default.md +57 -0
- package/templates/buildless-vue-preview.default.md +47 -0
- package/templates/phased-build.default.md +59 -0
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Settings screen — ✅ EDITABLE.
|
|
3
|
+
*
|
|
4
|
+
* Token entry (production auth), the live MODE, and the connected lanes. In
|
|
5
|
+
* preview the token field is shown for design purposes but marked as ignored.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { onMounted, ref } from "../vendor/vue.esm-browser.js";
|
|
9
|
+
import { useAuth } from "../state/auth.js";
|
|
10
|
+
import { useBoard } from "../state/useBoard.js";
|
|
11
|
+
|
|
12
|
+
export default {
|
|
13
|
+
name: "SettingsView",
|
|
14
|
+
setup() {
|
|
15
|
+
const auth = useAuth();
|
|
16
|
+
const board = useBoard();
|
|
17
|
+
const draftToken = ref(auth.token.value);
|
|
18
|
+
const saved = ref(false);
|
|
19
|
+
const newLane = ref("");
|
|
20
|
+
const editingId = ref(null);
|
|
21
|
+
const editName = ref("");
|
|
22
|
+
const laneErr = ref(null);
|
|
23
|
+
|
|
24
|
+
onMounted(() => {
|
|
25
|
+
if (!board.lanes.value.length) board.actions.refresh();
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
function save() {
|
|
29
|
+
auth.setToken(draftToken.value.trim());
|
|
30
|
+
saved.value = true;
|
|
31
|
+
setTimeout(() => (saved.value = false), 1500);
|
|
32
|
+
}
|
|
33
|
+
function clear() {
|
|
34
|
+
auth.clearToken();
|
|
35
|
+
draftToken.value = "";
|
|
36
|
+
}
|
|
37
|
+
function laneCount(threadId) {
|
|
38
|
+
return board.cards.value.filter((c) => c.laneThreadId === threadId).length;
|
|
39
|
+
}
|
|
40
|
+
async function addLane() {
|
|
41
|
+
const n = newLane.value.trim();
|
|
42
|
+
if (!n) return;
|
|
43
|
+
laneErr.value = null;
|
|
44
|
+
try {
|
|
45
|
+
await board.actions.addLane(n);
|
|
46
|
+
newLane.value = "";
|
|
47
|
+
} catch (e) {
|
|
48
|
+
laneErr.value = (e && e.message) || String(e);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
function startEdit(l) {
|
|
52
|
+
laneErr.value = null;
|
|
53
|
+
editingId.value = l.threadId;
|
|
54
|
+
editName.value = l.name;
|
|
55
|
+
}
|
|
56
|
+
async function saveEdit() {
|
|
57
|
+
const n = editName.value.trim();
|
|
58
|
+
if (!n) return;
|
|
59
|
+
try {
|
|
60
|
+
await board.actions.renameLane(editingId.value, n);
|
|
61
|
+
editingId.value = null;
|
|
62
|
+
} catch (e) {
|
|
63
|
+
laneErr.value = (e && e.message) || String(e);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
async function removeLane(l) {
|
|
67
|
+
laneErr.value = null;
|
|
68
|
+
try {
|
|
69
|
+
await board.actions.removeLane(l.threadId);
|
|
70
|
+
} catch (e) {
|
|
71
|
+
laneErr.value = (e && e.message) || String(e);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return {
|
|
76
|
+
auth, board, draftToken, saved, save, clear,
|
|
77
|
+
newLane, editingId, editName, laneErr,
|
|
78
|
+
laneCount, addLane, startEdit, saveEdit, removeLane,
|
|
79
|
+
};
|
|
80
|
+
},
|
|
81
|
+
template: `
|
|
82
|
+
<section class="settings">
|
|
83
|
+
<header class="settings__head">
|
|
84
|
+
<h1 class="settings__title">Settings</h1>
|
|
85
|
+
<p class="settings__note mono-label">TOKEN · MODE · LANES</p>
|
|
86
|
+
</header>
|
|
87
|
+
|
|
88
|
+
<section class="section">
|
|
89
|
+
<h2 class="section__label">API token</h2>
|
|
90
|
+
<p class="settings__note" v-if="auth.isPreview">
|
|
91
|
+
Preview mode — the token is ignored (mock data). Shown here so the entry screen is designable.
|
|
92
|
+
</p>
|
|
93
|
+
<label class="field">
|
|
94
|
+
<input class="input" type="password" v-model="draftToken" placeholder="Paste the board token" autocomplete="off" />
|
|
95
|
+
</label>
|
|
96
|
+
<div class="actions">
|
|
97
|
+
<button class="btn btn--primary" type="button" @click="save">Save</button>
|
|
98
|
+
<button class="btn btn--ghost" type="button" @click="clear">Clear</button>
|
|
99
|
+
<span v-if="saved" class="settings__saved">Saved ✓</span>
|
|
100
|
+
</div>
|
|
101
|
+
</section>
|
|
102
|
+
|
|
103
|
+
<section class="section">
|
|
104
|
+
<h2 class="section__label">Mode</h2>
|
|
105
|
+
<p class="prose"><span class="badge" :class="'badge--mode-' + auth.mode">{{ auth.mode }}</span></p>
|
|
106
|
+
</section>
|
|
107
|
+
|
|
108
|
+
<section class="section section--plain">
|
|
109
|
+
<h2 class="section__label">Lanes</h2>
|
|
110
|
+
<div v-if="laneErr" class="notice notice--error">{{ laneErr }}</div>
|
|
111
|
+
<ul class="list">
|
|
112
|
+
<li v-for="l in board.lanes.value" :key="l.threadId" class="list__row">
|
|
113
|
+
<template v-if="editingId === l.threadId">
|
|
114
|
+
<input class="input input--sm" v-model="editName" @keydown.enter.prevent="saveEdit" />
|
|
115
|
+
<button class="btn btn--sm btn--primary" type="button" @click="saveEdit">Save</button>
|
|
116
|
+
<button class="btn btn--sm btn--ghost" type="button" @click="editingId = null">Cancel</button>
|
|
117
|
+
</template>
|
|
118
|
+
<template v-else>
|
|
119
|
+
<span class="list__main">{{ l.name }}</span>
|
|
120
|
+
<span class="chip" :class="l.connected ? 'chip--live' : 'chip--muted'">
|
|
121
|
+
<span v-if="l.connected" class="dot dot--pulse"></span>
|
|
122
|
+
{{ l.connected ? 'connected' : 'disconnected' }}
|
|
123
|
+
</span>
|
|
124
|
+
<span class="chip chip--muted">{{ laneCount(l.threadId) }} cards</span>
|
|
125
|
+
<button class="iconbtn" type="button" aria-label="Rename lane" @click="startEdit(l)">
|
|
126
|
+
<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M11.3 2.1l2.6 2.6L5.6 13H3v-2.6l8.3-8.3z"></path></svg>
|
|
127
|
+
</button>
|
|
128
|
+
<button class="iconbtn iconbtn--danger" type="button" aria-label="Delete lane"
|
|
129
|
+
:disabled="laneCount(l.threadId) > 0"
|
|
130
|
+
:title="laneCount(l.threadId) > 0 ? 'Move or delete its cards first' : 'Delete lane'"
|
|
131
|
+
@click="removeLane(l)">
|
|
132
|
+
<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><path d="M4 4l8 8M12 4l-8 8"></path></svg>
|
|
133
|
+
</button>
|
|
134
|
+
</template>
|
|
135
|
+
</li>
|
|
136
|
+
<li v-if="!board.lanes.value.length" class="list__row list__row--empty">No lanes connected yet.</li>
|
|
137
|
+
</ul>
|
|
138
|
+
<div class="lane-add">
|
|
139
|
+
<input class="input" v-model="newLane" placeholder="New lane name…" @keydown.enter.prevent="addLane" />
|
|
140
|
+
<button class="btn phases__addbtn" type="button" @click="addLane">Add</button>
|
|
141
|
+
</div>
|
|
142
|
+
</section>
|
|
143
|
+
</section>
|
|
144
|
+
`,
|
|
145
|
+
};
|
package/dist/config/index.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export * from "./keep-alive-settings.js";
|
|
|
12
12
|
export * from "./misc-settings.js";
|
|
13
13
|
export * from "./detail-grant.js";
|
|
14
14
|
export declare const TELEGRAM_API_BASE_URL: string;
|
|
15
|
+
export declare const TELEGRAM_SEND_TIMEOUT_MS: number;
|
|
15
16
|
export declare const AUTONOMOUS_MODE: boolean;
|
|
16
17
|
export declare const TEMPLATES_DIR: string;
|
|
17
18
|
export declare const config: AppConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AASlC,eAAO,MAAM,qBAAqB,QAC+B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AASlC,eAAO,MAAM,qBAAqB,QAC+B,CAAC;AAWlE,eAAO,MAAM,wBAAwB,QAGzB,CAAC;AAGb,eAAO,MAAM,eAAe,SAAyC,CAAC;AAiCtE,eAAO,MAAM,aAAa,QAAwB,CAAC;AAKnD,eAAO,MAAM,MAAM,EAAE,SAWpB,CAAC"}
|
package/dist/config/index.js
CHANGED
|
@@ -21,6 +21,18 @@ const { version: PKG_VERSION } = esmRequire("../../package.json");
|
|
|
21
21
|
const TELEGRAM_TOKEN = process.env.TELEGRAM_TOKEN ?? "";
|
|
22
22
|
const TELEGRAM_CHAT_ID = process.env.TELEGRAM_CHAT_ID ?? "";
|
|
23
23
|
export const TELEGRAM_API_BASE_URL = process.env.TELEGRAM_API_BASE_URL ?? "https://api.telegram.org";
|
|
24
|
+
/**
|
|
25
|
+
* Total time budget (ms) bounding a Telegram *send* — the WHOLE retry sequence
|
|
26
|
+
* (all attempts plus their backoff), not each attempt. Defaults to 30s to match
|
|
27
|
+
* the TelegramClient class-method budget and to survive a scale-to-zero proxy
|
|
28
|
+
* cold-start (e.g. an Azure Container Apps gateway behind TELEGRAM_API_BASE_URL),
|
|
29
|
+
* which can take several seconds to warm up. Configurable via
|
|
30
|
+
* TELEGRAM_SEND_TIMEOUT_MS; invalid/non-positive values fall back to 30000.
|
|
31
|
+
*/
|
|
32
|
+
const rawTelegramSendTimeoutMs = Number(process.env.TELEGRAM_SEND_TIMEOUT_MS ?? "");
|
|
33
|
+
export const TELEGRAM_SEND_TIMEOUT_MS = Number.isFinite(rawTelegramSendTimeoutMs) && rawTelegramSendTimeoutMs > 0
|
|
34
|
+
? rawTelegramSendTimeoutMs
|
|
35
|
+
: 30_000;
|
|
24
36
|
const OPENAI_API_KEY = process.env.OPENAI_API_KEY ?? "";
|
|
25
37
|
const VOICE_ANALYSIS_URL = process.env.VOICE_ANALYSIS_URL ?? "";
|
|
26
38
|
export const AUTONOMOUS_MODE = process.env.AUTONOMOUS_MODE === "true";
|
package/dist/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAElC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,oBAAoB,CAAwB,CAAC;AAEzF,+EAA+E;AAE/E,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;AACxD,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;AAC5D,MAAM,CAAC,MAAM,qBAAqB,GAChC,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,20 @@ export declare function setPredefinedPrompts(list: PredefinedPrompt[]): void;
|
|
|
39
39
|
/** Whether guardrail (Active Decisions) notes are injected into memory briefings. */
|
|
40
40
|
export declare function getGuardrailsEnabled(): boolean;
|
|
41
41
|
export declare function setGuardrailsEnabled(enabled: boolean): void;
|
|
42
|
+
/**
|
|
43
|
+
* Whether the usage inbox-notifier is allowed to fan out high-utilization
|
|
44
|
+
* alerts to keep-alive threads. Operator-first alerting invariant: default OFF.
|
|
45
|
+
*/
|
|
46
|
+
export declare function getUsageNotifyEnabled(): boolean;
|
|
47
|
+
export declare function setUsageNotifyEnabled(enabled: boolean): void;
|
|
48
|
+
/** Whether an alert has already fired for this dedup key in the current window. */
|
|
49
|
+
export declare function hasUsageNotifiedWindow(key: string): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Record that an alert fired for `key`, expiring at `expiresAtMs` (the window's
|
|
52
|
+
* reset instant). Prunes any entries whose window has already passed on write,
|
|
53
|
+
* so the map stays bounded to live windows.
|
|
54
|
+
*/
|
|
55
|
+
export declare function markUsageNotifiedWindow(key: string, expiresAtMs: number): void;
|
|
42
56
|
/**
|
|
43
57
|
* Read the MEMORY_SOURCE_THREAD_ID env var set by the parent process
|
|
44
58
|
* when spawning a child thread (worker/branch). Returns the parent
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"misc-settings.d.ts","sourceRoot":"","sources":["../../src/config/misc-settings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,eAAO,MAAM,WAAW,6CAA8C,CAAC;AACvE,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,SAAS,CAE3D;AAED,qEAAqE;AACrE,wBAAgB,iBAAiB,IAAI,aAAa,EAAE,CASnD;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAM3D;AAED,4CAA4C;AAC5C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAItD;AAID,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,OAAO,CAAC;AAEnD,2EAA2E;AAC3E,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAO5E;AAED,+CAA+C;AAC/C,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAMxF;AAOD,sFAAsF;AACtF,wBAAgB,wBAAwB,IAAI,MAAM,CAIjD;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAM5D;AAYD,wBAAgB,gBAAgB,IAAI,MAAM,CAIzC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAMpD;AAQD,wBAAgB,qBAAqB,IAAI,MAAM,CAI9C;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAM3D;AAQD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAKD,yEAAyE;AACzE,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,EAAE,CAY3E;AAED,wBAAgB,oBAAoB,IAAI,gBAAgB,EAAE,CAEzD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAInE;AAID,qFAAqF;AACrF,wBAAgB,oBAAoB,IAAI,OAAO,CAI9C;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAI3D;AAID;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,SAAS,CAK5D"}
|
|
1
|
+
{"version":3,"file":"misc-settings.d.ts","sourceRoot":"","sources":["../../src/config/misc-settings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,eAAO,MAAM,WAAW,6CAA8C,CAAC;AACvE,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,SAAS,CAE3D;AAED,qEAAqE;AACrE,wBAAgB,iBAAiB,IAAI,aAAa,EAAE,CASnD;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAM3D;AAED,4CAA4C;AAC5C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAItD;AAID,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,OAAO,CAAC;AAEnD,2EAA2E;AAC3E,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAO5E;AAED,+CAA+C;AAC/C,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAMxF;AAOD,sFAAsF;AACtF,wBAAgB,wBAAwB,IAAI,MAAM,CAIjD;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAM5D;AAYD,wBAAgB,gBAAgB,IAAI,MAAM,CAIzC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAMpD;AAQD,wBAAgB,qBAAqB,IAAI,MAAM,CAI9C;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAM3D;AAQD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAKD,yEAAyE;AACzE,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,EAAE,CAY3E;AAED,wBAAgB,oBAAoB,IAAI,gBAAgB,EAAE,CAEzD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAInE;AAID,qFAAqF;AACrF,wBAAgB,oBAAoB,IAAI,OAAO,CAI9C;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAI3D;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAI/C;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAI5D;AAgBD,mFAAmF;AACnF,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAK3D;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAY9E;AAID;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,SAAS,CAK5D"}
|
|
@@ -152,6 +152,59 @@ export function setGuardrailsEnabled(enabled) {
|
|
|
152
152
|
s.guardrailsEnabled = enabled;
|
|
153
153
|
});
|
|
154
154
|
}
|
|
155
|
+
// ─── Usage-notify setting ───────────────────────────────────────────────────
|
|
156
|
+
/**
|
|
157
|
+
* Whether the usage inbox-notifier is allowed to fan out high-utilization
|
|
158
|
+
* alerts to keep-alive threads. Operator-first alerting invariant: default OFF.
|
|
159
|
+
*/
|
|
160
|
+
export function getUsageNotifyEnabled() {
|
|
161
|
+
const v = readSettings().usageNotifyEnabled;
|
|
162
|
+
if (typeof v === "boolean")
|
|
163
|
+
return v;
|
|
164
|
+
return false; // default: disabled
|
|
165
|
+
}
|
|
166
|
+
export function setUsageNotifyEnabled(enabled) {
|
|
167
|
+
updateSettings((s) => {
|
|
168
|
+
s.usageNotifyEnabled = enabled;
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
// ─── Usage-notify dedup windows ─────────────────────────────────────────────
|
|
172
|
+
// Persisted so an MCP restart inside a 5h-reset window cannot re-spam a
|
|
173
|
+
// high-utilization alert. Keyed `${agentType}:${reset5hAt}`; the value is the
|
|
174
|
+
// window's expiry epoch-ms (the reset instant) so stale entries self-prune.
|
|
175
|
+
function sanitizeUsageWindows(raw) {
|
|
176
|
+
if (!raw || typeof raw !== "object")
|
|
177
|
+
return {};
|
|
178
|
+
const out = {};
|
|
179
|
+
for (const [k, v] of Object.entries(raw)) {
|
|
180
|
+
if (typeof v === "number" && Number.isFinite(v))
|
|
181
|
+
out[k] = v;
|
|
182
|
+
}
|
|
183
|
+
return out;
|
|
184
|
+
}
|
|
185
|
+
/** Whether an alert has already fired for this dedup key in the current window. */
|
|
186
|
+
export function hasUsageNotifiedWindow(key) {
|
|
187
|
+
return Object.prototype.hasOwnProperty.call(sanitizeUsageWindows(readSettings().usageNotifiedWindows), key);
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Record that an alert fired for `key`, expiring at `expiresAtMs` (the window's
|
|
191
|
+
* reset instant). Prunes any entries whose window has already passed on write,
|
|
192
|
+
* so the map stays bounded to live windows.
|
|
193
|
+
*/
|
|
194
|
+
export function markUsageNotifiedWindow(key, expiresAtMs) {
|
|
195
|
+
updateSettings((s) => {
|
|
196
|
+
// Prune from the settings object the transaction was handed — re-reading the
|
|
197
|
+
// file here would step outside updateSettings' read-modify-write cycle.
|
|
198
|
+
const now = Date.now();
|
|
199
|
+
const next = {};
|
|
200
|
+
for (const [k, v] of Object.entries(sanitizeUsageWindows(s.usageNotifiedWindows))) {
|
|
201
|
+
if (v > now)
|
|
202
|
+
next[k] = v;
|
|
203
|
+
}
|
|
204
|
+
next[key] = expiresAtMs;
|
|
205
|
+
s.usageNotifiedWindows = next;
|
|
206
|
+
});
|
|
207
|
+
}
|
|
155
208
|
// ─── Child thread memory source ───────────────────────────────────────────
|
|
156
209
|
/**
|
|
157
210
|
* Read the MEMORY_SOURCE_THREAD_ID env var set by the parent process
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"misc-settings.js","sourceRoot":"","sources":["../../src/config/misc-settings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"misc-settings.js","sourceRoot":"","sources":["../../src/config/misc-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Board-front static serving — GET /board and /board/*.
|
|
3
|
+
*
|
|
4
|
+
* The board is a separate, BUILDLESS app (§4.2 of the v2 plan): the server serves
|
|
5
|
+
* src/board-front/ as static files, no bundling. Resolution mirrors the dashboard
|
|
6
|
+
* SPA's getDashboardHTML() candidate pattern — try the packaged copy first
|
|
7
|
+
* (dist/board/), fall back to the dev source (src/board-front/) so edits are live
|
|
8
|
+
* on refresh under tsx with no rebuild.
|
|
9
|
+
*
|
|
10
|
+
* Served WITHOUT auth exactly like /dashboard (the SPA handles token entry in the
|
|
11
|
+
* browser; every /api/* call it makes is Bearer-authed). A path-traversal guard
|
|
12
|
+
* keeps requests inside the board root.
|
|
13
|
+
*/
|
|
14
|
+
import type { ServerResponse } from "node:http";
|
|
15
|
+
/** True for the board app's own routes. */
|
|
16
|
+
export declare function isBoardPath(pathname: string): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Serve a board-front file. Returns true once the response is handled.
|
|
19
|
+
* `/board` (no trailing slash) 301s to `/board/` so the app's relative asset
|
|
20
|
+
* URLs (`./main.js`, `./vendor/…`) resolve under /board/.
|
|
21
|
+
*/
|
|
22
|
+
export declare function handleBoardStatic(pathname: string, res: ServerResponse): boolean;
|
|
23
|
+
//# sourceMappingURL=board-static.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"board-static.d.ts","sourceRoot":"","sources":["../../src/dashboard/board-static.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAKhD,2CAA2C;AAC3C,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAErD;AAuDD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CA2DhF"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Board-front static serving — GET /board and /board/*.
|
|
3
|
+
*
|
|
4
|
+
* The board is a separate, BUILDLESS app (§4.2 of the v2 plan): the server serves
|
|
5
|
+
* src/board-front/ as static files, no bundling. Resolution mirrors the dashboard
|
|
6
|
+
* SPA's getDashboardHTML() candidate pattern — try the packaged copy first
|
|
7
|
+
* (dist/board/), fall back to the dev source (src/board-front/) so edits are live
|
|
8
|
+
* on refresh under tsx with no rebuild.
|
|
9
|
+
*
|
|
10
|
+
* Served WITHOUT auth exactly like /dashboard (the SPA handles token entry in the
|
|
11
|
+
* browser; every /api/* call it makes is Bearer-authed). A path-traversal guard
|
|
12
|
+
* keeps requests inside the board root.
|
|
13
|
+
*/
|
|
14
|
+
import { existsSync, readFileSync, realpathSync, statSync } from "node:fs";
|
|
15
|
+
import { dirname, extname, join, normalize, sep } from "node:path";
|
|
16
|
+
import { fileURLToPath } from "node:url";
|
|
17
|
+
/** True for the board app's own routes. */
|
|
18
|
+
export function isBoardPath(pathname) {
|
|
19
|
+
return pathname === "/board" || pathname.startsWith("/board/");
|
|
20
|
+
}
|
|
21
|
+
const MIME = {
|
|
22
|
+
".html": "text/html; charset=utf-8",
|
|
23
|
+
".js": "text/javascript; charset=utf-8",
|
|
24
|
+
".mjs": "text/javascript; charset=utf-8",
|
|
25
|
+
".css": "text/css; charset=utf-8",
|
|
26
|
+
".json": "application/json; charset=utf-8",
|
|
27
|
+
".map": "application/json; charset=utf-8",
|
|
28
|
+
".svg": "image/svg+xml",
|
|
29
|
+
".ico": "image/x-icon",
|
|
30
|
+
".png": "image/png",
|
|
31
|
+
".webmanifest": "application/manifest+json",
|
|
32
|
+
};
|
|
33
|
+
/** Candidate board roots, packaged first then dev source. */
|
|
34
|
+
function boardRootCandidates() {
|
|
35
|
+
const __dir = dirname(fileURLToPath(import.meta.url)); // src/dashboard or dist/dashboard
|
|
36
|
+
return [
|
|
37
|
+
join(__dir, "..", "..", "dist", "board"), // packaged install
|
|
38
|
+
join(__dir, "..", "..", "src", "board-front"), // dev via tsx (live on refresh)
|
|
39
|
+
];
|
|
40
|
+
}
|
|
41
|
+
let _cachedRoot;
|
|
42
|
+
/** First candidate root that actually contains index.html (cached). */
|
|
43
|
+
function boardRoot() {
|
|
44
|
+
if (_cachedRoot !== undefined)
|
|
45
|
+
return _cachedRoot;
|
|
46
|
+
_cachedRoot = boardRootCandidates().find((r) => existsSync(join(r, "index.html"))) ?? null;
|
|
47
|
+
return _cachedRoot;
|
|
48
|
+
}
|
|
49
|
+
let _cachedRealRoot;
|
|
50
|
+
/** The board root resolved through symlinks (cached) — the containment anchor
|
|
51
|
+
* for the symlink guard. Falls back to the lexical root if realpath fails. */
|
|
52
|
+
function boardRealRoot() {
|
|
53
|
+
if (_cachedRealRoot !== undefined)
|
|
54
|
+
return _cachedRealRoot;
|
|
55
|
+
const r = boardRoot();
|
|
56
|
+
try {
|
|
57
|
+
_cachedRealRoot = r ? realpathSync(r) : null;
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
_cachedRealRoot = r;
|
|
61
|
+
}
|
|
62
|
+
return _cachedRealRoot;
|
|
63
|
+
}
|
|
64
|
+
function sendFile(res, file) {
|
|
65
|
+
const body = readFileSync(file);
|
|
66
|
+
const type = MIME[extname(file).toLowerCase()] ?? "application/octet-stream";
|
|
67
|
+
res.writeHead(200, { "Content-Type": type, "Cache-Control": "no-cache" });
|
|
68
|
+
res.end(body);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Serve a board-front file. Returns true once the response is handled.
|
|
72
|
+
* `/board` (no trailing slash) 301s to `/board/` so the app's relative asset
|
|
73
|
+
* URLs (`./main.js`, `./vendor/…`) resolve under /board/.
|
|
74
|
+
*/
|
|
75
|
+
export function handleBoardStatic(pathname, res) {
|
|
76
|
+
if (pathname === "/board") {
|
|
77
|
+
res.writeHead(301, { Location: "/board/" });
|
|
78
|
+
res.end();
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
const root = boardRoot();
|
|
82
|
+
if (!root) {
|
|
83
|
+
res.writeHead(500, { "Content-Type": "text/plain" });
|
|
84
|
+
res.end("board-front not found");
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
let rel = pathname.slice("/board/".length);
|
|
88
|
+
if (rel === "")
|
|
89
|
+
rel = "index.html";
|
|
90
|
+
let decoded;
|
|
91
|
+
try {
|
|
92
|
+
decoded = decodeURIComponent(rel);
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
res.writeHead(400, { "Content-Type": "text/plain" });
|
|
96
|
+
res.end("Bad request");
|
|
97
|
+
return true;
|
|
98
|
+
}
|
|
99
|
+
const full = normalize(join(root, decoded));
|
|
100
|
+
// Lexical traversal guard: the joined path must stay under the root.
|
|
101
|
+
if (full !== root && !full.startsWith(root + sep)) {
|
|
102
|
+
res.writeHead(403, { "Content-Type": "text/plain" });
|
|
103
|
+
res.end("Forbidden");
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
// Symlink guard: resolve the REAL path and re-check containment, so a symlink
|
|
107
|
+
// placed inside the root cannot read a file outside it. A missing file / broken
|
|
108
|
+
// link (realpathSync throws) is an unknown client path → hash-router fallback.
|
|
109
|
+
let real;
|
|
110
|
+
try {
|
|
111
|
+
real = realpathSync(full);
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
sendFile(res, join(root, "index.html"));
|
|
115
|
+
return true;
|
|
116
|
+
}
|
|
117
|
+
const realRoot = boardRealRoot();
|
|
118
|
+
if (realRoot && real !== realRoot && !real.startsWith(realRoot + sep)) {
|
|
119
|
+
res.writeHead(403, { "Content-Type": "text/plain" });
|
|
120
|
+
res.end("Forbidden");
|
|
121
|
+
return true;
|
|
122
|
+
}
|
|
123
|
+
// A directory (e.g. `/board/`) resolves to the app entry.
|
|
124
|
+
if (statSync(real).isDirectory()) {
|
|
125
|
+
sendFile(res, join(root, "index.html"));
|
|
126
|
+
return true;
|
|
127
|
+
}
|
|
128
|
+
sendFile(res, real);
|
|
129
|
+
return true;
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=board-static.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"board-static.js","sourceRoot":"","sources":["../../src/dashboard/board-static.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dashboard API — Agent Task Board routes.
|
|
3
|
+
*
|
|
4
|
+
* The ONLY write surface for the board (single-writer invariant): the operator
|
|
5
|
+
* acts here; agents never see these endpoints. The orchestrator service is the
|
|
6
|
+
* other writer (worker reports → comments, status moves) but that is server
|
|
7
|
+
* code, not an exposed surface.
|
|
8
|
+
*
|
|
9
|
+
* Routes (all Bearer-auth like every /api/*):
|
|
10
|
+
* GET /api/board/cards?includeArchived=1&lane=<threadId>
|
|
11
|
+
* POST /api/board/cards
|
|
12
|
+
* GET /api/board/cards/:id (card + comments)
|
|
13
|
+
* PATCH /api/board/cards/:id
|
|
14
|
+
* DELETE /api/board/cards/:id
|
|
15
|
+
* POST /api/board/cards/:id/comments
|
|
16
|
+
* GET /api/board/lanes
|
|
17
|
+
* POST /api/board/lanes
|
|
18
|
+
* DELETE /api/board/lanes/:threadId
|
|
19
|
+
* GET /api/board/profiles
|
|
20
|
+
* PUT /api/board/profiles
|
|
21
|
+
*/
|
|
22
|
+
import { type RouteArgs, type RouteHandler } from "./types.js";
|
|
23
|
+
/** GET /api/board/cards → { cards } (comments not included; fetch per card). */
|
|
24
|
+
export declare const handleGetBoardCards: RouteHandler;
|
|
25
|
+
/** POST /api/board/cards — create; type seeds the profile, explicit fields win. */
|
|
26
|
+
export declare const handlePostBoardCard: RouteHandler;
|
|
27
|
+
/** GET /api/board/cards/:id → { card, comments } */
|
|
28
|
+
export declare function handleGetBoardCard(args: RouteArgs, cardId: number): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* PATCH /api/board/cards/:id — operator edits, drag-drop status moves, resume.
|
|
31
|
+
*
|
|
32
|
+
* Live-card policy (design D2/D4): a card that is in_progress is TASK-IMMUTABLE.
|
|
33
|
+
* The bound worker owns what it is DOING; the only way to change that is an
|
|
34
|
+
* explicit Stop (POST .../stop) that decommissions it. So while in_progress:
|
|
35
|
+
* • re-laning, archiving, and profile/type edits are REFUSED (409) — "Stop
|
|
36
|
+
* first" — because they would silently diverge from what the worker runs.
|
|
37
|
+
* • moving to backlog (re-run) or done ALLOWS the move but first releases
|
|
38
|
+
* (kills + tears down) the bound worker, so no orphaned/duplicate worker
|
|
39
|
+
* survives to double-push or leak its report (R1 closes B1/B2).
|
|
40
|
+
* Leaving in_progress/blocked clears the worker binding + blocked reason so a
|
|
41
|
+
* later dispatch spawns a FRESH stateless worker (design §3.5).
|
|
42
|
+
*/
|
|
43
|
+
export declare function handlePatchBoardCard(args: RouteArgs, cardId: number): Promise<boolean>;
|
|
44
|
+
/**
|
|
45
|
+
* POST /api/board/cards/:id/stop — explicit operator Stop (design D3).
|
|
46
|
+
* Decommission the bound worker (kill + teardown) and park the card in blocked
|
|
47
|
+
* with a clear reason. Blocked is never auto-dispatched, so the card sits safely
|
|
48
|
+
* until the operator resumes it (→ backlog re-dispatches a fresh worker).
|
|
49
|
+
*/
|
|
50
|
+
export declare function handleStopBoardCard(args: RouteArgs, cardId: number): Promise<boolean>;
|
|
51
|
+
/** DELETE /api/board/cards/:id — remove the card. A live card's bound worker
|
|
52
|
+
* is decommissioned first (R1/B8) so deleting it never orphans a running
|
|
53
|
+
* worker that would push/report against a card that no longer exists. */
|
|
54
|
+
export declare function handleDeleteBoardCard(args: RouteArgs, cardId: number): Promise<boolean>;
|
|
55
|
+
/** POST /api/board/cards/:id/comments — operator comment. */
|
|
56
|
+
export declare function handlePostBoardComment(args: RouteArgs, cardId: number): Promise<boolean>;
|
|
57
|
+
/** GET /api/board/lanes → lanes decorated with thread names for the UI. */
|
|
58
|
+
export declare const handleGetBoardLanes: RouteHandler;
|
|
59
|
+
/** POST /api/board/lanes — connect/disconnect a thread, set max_concurrent. */
|
|
60
|
+
export declare const handlePostBoardLane: RouteHandler;
|
|
61
|
+
/** DELETE /api/board/lanes/:threadId */
|
|
62
|
+
export declare function handleDeleteBoardLane(args: RouteArgs, threadId: number): boolean;
|
|
63
|
+
/** GET /api/board/profiles → effective per-type templates (builtin ⊕ overrides). */
|
|
64
|
+
export declare const handleGetBoardProfiles: RouteHandler;
|
|
65
|
+
/** PUT /api/board/profiles — persist operator overrides wholesale. */
|
|
66
|
+
export declare const handlePutBoardProfiles: RouteHandler;
|
|
67
|
+
/**
|
|
68
|
+
* GET /api/board/usage → current usage snapshot(s) from the shared provider.
|
|
69
|
+
* Agent-type-blind consumer of the port (OCP): returns whatever the poller has
|
|
70
|
+
* stored, `{ sources: [] }` when the monitor is inert.
|
|
71
|
+
*/
|
|
72
|
+
export declare function handleGetBoardUsage({ json }: RouteArgs): boolean;
|
|
73
|
+
//# sourceMappingURL=board.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../../../src/dashboard/routes/board.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAY,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAuJzE,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,EAAE,YAuBjC,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,mBAAmB,EAAE,YA4DjC,CAAC;AAEF,oDAAoD;AACpD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAa3E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAiJ5F;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAwB3F;AAED;;0EAE0E;AAC1E,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAoB7F;AAED,6DAA6D;AAC7D,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAkB9F;AAID,2EAA2E;AAC3E,eAAO,MAAM,mBAAmB,EAAE,YAWjC,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,EAAE,YAkCjC,CAAC;AAEF,wCAAwC;AACxC,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAuBhF;AAID,oFAAoF;AACpF,eAAO,MAAM,sBAAsB,EAAE,YAOpC,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,sBAAsB,EAAE,YAgCpC,CAAC;AAIF;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,GAAG,OAAO,CAGhE"}
|