pi-forge 1.2.3 → 1.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/client/assets/{CodeMirrorEditor-1gu-DS9k.js → CodeMirrorEditor-DXmxwE2Z.js} +2 -2
- package/dist/client/assets/{CodeMirrorEditor-1gu-DS9k.js.map → CodeMirrorEditor-DXmxwE2Z.js.map} +1 -1
- package/dist/client/assets/index-CMSjnWtF.js +365 -0
- package/dist/client/assets/index-CMSjnWtF.js.map +1 -0
- package/dist/client/assets/index-Cp8qEy7Q.css +1 -0
- package/dist/client/index.html +2 -2
- package/dist/client/sw.js +1 -1
- package/dist/client/sw.js.map +1 -1
- package/dist/server/agent-extensions/compaction-continuation.js +65 -0
- package/dist/server/agent-extensions/compaction-continuation.js.map +1 -0
- package/dist/server/agent-resource-loader.js +10 -0
- package/dist/server/agent-resource-loader.js.map +1 -1
- package/dist/server/ask-user-question/envelope.js +56 -0
- package/dist/server/ask-user-question/envelope.js.map +1 -0
- package/dist/server/ask-user-question/prompt-strings.js +44 -0
- package/dist/server/ask-user-question/prompt-strings.js.map +1 -0
- package/dist/server/ask-user-question/registry.js +157 -0
- package/dist/server/ask-user-question/registry.js.map +1 -0
- package/dist/server/ask-user-question/tool.js +115 -0
- package/dist/server/ask-user-question/tool.js.map +1 -0
- package/dist/server/ask-user-question/types.js +27 -0
- package/dist/server/ask-user-question/types.js.map +1 -0
- package/dist/server/ask-user-question/validate.js +135 -0
- package/dist/server/ask-user-question/validate.js.map +1 -0
- package/dist/server/config.js +10 -0
- package/dist/server/config.js.map +1 -1
- package/dist/server/index.js +16 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/mcp/tool-bridge.js +14 -8
- package/dist/server/mcp/tool-bridge.js.map +1 -1
- package/dist/server/processes/envelope.js +60 -0
- package/dist/server/processes/envelope.js.map +1 -0
- package/dist/server/processes/log-store.js +132 -0
- package/dist/server/processes/log-store.js.map +1 -0
- package/dist/server/processes/manager.js +348 -0
- package/dist/server/processes/manager.js.map +1 -0
- package/dist/server/processes/prompt-strings.js +43 -0
- package/dist/server/processes/prompt-strings.js.map +1 -0
- package/dist/server/processes/tool.js +273 -0
- package/dist/server/processes/tool.js.map +1 -0
- package/dist/server/processes/types.js +21 -0
- package/dist/server/processes/types.js.map +1 -0
- package/dist/server/processes/watches.js +59 -0
- package/dist/server/processes/watches.js.map +1 -0
- package/dist/server/quick-actions.js +141 -0
- package/dist/server/quick-actions.js.map +1 -0
- package/dist/server/routes/ask-user-question.js +129 -0
- package/dist/server/routes/ask-user-question.js.map +1 -0
- package/dist/server/routes/config.js +12 -0
- package/dist/server/routes/config.js.map +1 -1
- package/dist/server/routes/processes.js +228 -0
- package/dist/server/routes/processes.js.map +1 -0
- package/dist/server/routes/quick-actions.js +384 -0
- package/dist/server/routes/quick-actions.js.map +1 -0
- package/dist/server/routes/todos.js +67 -0
- package/dist/server/routes/todos.js.map +1 -0
- package/dist/server/session-registry.js +72 -4
- package/dist/server/session-registry.js.map +1 -1
- package/dist/server/sse-bridge.js +225 -4
- package/dist/server/sse-bridge.js.map +1 -1
- package/dist/server/todo/envelope.js +87 -0
- package/dist/server/todo/envelope.js.map +1 -0
- package/dist/server/todo/invariants.js +21 -0
- package/dist/server/todo/invariants.js.map +1 -0
- package/dist/server/todo/prompt-strings.js +29 -0
- package/dist/server/todo/prompt-strings.js.map +1 -0
- package/dist/server/todo/reducer.js +189 -0
- package/dist/server/todo/reducer.js.map +1 -0
- package/dist/server/todo/replay.js +45 -0
- package/dist/server/todo/replay.js.map +1 -0
- package/dist/server/todo/store.js +92 -0
- package/dist/server/todo/store.js.map +1 -0
- package/dist/server/todo/task-graph.js +60 -0
- package/dist/server/todo/task-graph.js.map +1 -0
- package/dist/server/todo/tool.js +95 -0
- package/dist/server/todo/tool.js.map +1 -0
- package/dist/server/todo/types.js +23 -0
- package/dist/server/todo/types.js.map +1 -0
- package/package.json +1 -1
- package/dist/client/assets/index-BxZV6ddv.js +0 -359
- package/dist/client/assets/index-BxZV6ddv.js.map +0 -1
- package/dist/client/assets/index-KUhxvBxw.css +0 -1
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
const byRequestId = new Map();
|
|
3
|
+
const bySessionId = new Map();
|
|
4
|
+
const listeners = new Set();
|
|
5
|
+
export function subscribe(fn) {
|
|
6
|
+
listeners.add(fn);
|
|
7
|
+
return () => {
|
|
8
|
+
listeners.delete(fn);
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
function notify(event) {
|
|
12
|
+
for (const fn of listeners) {
|
|
13
|
+
try {
|
|
14
|
+
fn(event);
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
// listener errors must not break the registry — best-effort fanout
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Register a pending request. The returned promise resolves when
|
|
23
|
+
* the browser answers, or when the caller's `signal` aborts (in
|
|
24
|
+
* which case the tool result will be a cancelled envelope built by
|
|
25
|
+
* the caller).
|
|
26
|
+
*
|
|
27
|
+
* `signal` is honored: if the agent is aborted (e.g. user hit Stop)
|
|
28
|
+
* the entry is dropped and the promise rejects with an
|
|
29
|
+
* `AbortError`. The caller catches that and returns the cancelled
|
|
30
|
+
* envelope so the agent sees a clean tool result.
|
|
31
|
+
*/
|
|
32
|
+
export function registerPending(args) {
|
|
33
|
+
const requestId = randomUUID();
|
|
34
|
+
let resolveFn;
|
|
35
|
+
let rejectFn;
|
|
36
|
+
const result = new Promise((resolve, reject) => {
|
|
37
|
+
resolveFn = resolve;
|
|
38
|
+
rejectFn = reject;
|
|
39
|
+
});
|
|
40
|
+
const entry = {
|
|
41
|
+
requestId,
|
|
42
|
+
sessionId: args.sessionId,
|
|
43
|
+
questions: args.questions,
|
|
44
|
+
createdAt: new Date(),
|
|
45
|
+
resolve: resolveFn,
|
|
46
|
+
};
|
|
47
|
+
byRequestId.set(requestId, entry);
|
|
48
|
+
const set = bySessionId.get(args.sessionId) ?? new Set();
|
|
49
|
+
set.add(requestId);
|
|
50
|
+
bySessionId.set(args.sessionId, set);
|
|
51
|
+
if (args.signal !== undefined) {
|
|
52
|
+
const onAbort = () => {
|
|
53
|
+
// Drop the entry and tell SSE clients to close the modal.
|
|
54
|
+
// The tool's execute() catches the rejection and returns a
|
|
55
|
+
// cancelled envelope to the agent.
|
|
56
|
+
if (byRequestId.has(requestId)) {
|
|
57
|
+
removeEntry(requestId);
|
|
58
|
+
notify({
|
|
59
|
+
type: "ask_user_question_cancelled",
|
|
60
|
+
sessionId: args.sessionId,
|
|
61
|
+
requestId,
|
|
62
|
+
reason: "aborted",
|
|
63
|
+
});
|
|
64
|
+
rejectFn(new Error("aborted"));
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
if (args.signal.aborted)
|
|
68
|
+
onAbort();
|
|
69
|
+
else
|
|
70
|
+
args.signal.addEventListener("abort", onAbort, { once: true });
|
|
71
|
+
}
|
|
72
|
+
notify({
|
|
73
|
+
type: "ask_user_question",
|
|
74
|
+
sessionId: args.sessionId,
|
|
75
|
+
requestId,
|
|
76
|
+
questions: args.questions,
|
|
77
|
+
});
|
|
78
|
+
return { requestId, result };
|
|
79
|
+
}
|
|
80
|
+
function removeEntry(requestId) {
|
|
81
|
+
const e = byRequestId.get(requestId);
|
|
82
|
+
if (e === undefined)
|
|
83
|
+
return;
|
|
84
|
+
byRequestId.delete(requestId);
|
|
85
|
+
const set = bySessionId.get(e.sessionId);
|
|
86
|
+
if (set !== undefined) {
|
|
87
|
+
set.delete(requestId);
|
|
88
|
+
if (set.size === 0)
|
|
89
|
+
bySessionId.delete(e.sessionId);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Resolve the pending entry with the user's answers. Idempotent —
|
|
94
|
+
* if the entry was already resolved (e.g. concurrent answer +
|
|
95
|
+
* abort race), this returns `false` rather than throwing so the
|
|
96
|
+
* route layer can decide whether to 200 or 404.
|
|
97
|
+
*/
|
|
98
|
+
export function answerPending(requestId, expectedSessionId, result) {
|
|
99
|
+
const e = byRequestId.get(requestId);
|
|
100
|
+
if (e === undefined)
|
|
101
|
+
return false;
|
|
102
|
+
if (e.sessionId !== expectedSessionId)
|
|
103
|
+
return false;
|
|
104
|
+
removeEntry(requestId);
|
|
105
|
+
// SSE clients listen for "the modal should now close" — emit a
|
|
106
|
+
// cancelled event with reason "answered" so the modal tears down
|
|
107
|
+
// on every other browser tab watching the same session.
|
|
108
|
+
notify({
|
|
109
|
+
type: "ask_user_question_cancelled",
|
|
110
|
+
sessionId: e.sessionId,
|
|
111
|
+
requestId,
|
|
112
|
+
reason: "answered",
|
|
113
|
+
});
|
|
114
|
+
e.resolve(result);
|
|
115
|
+
return true;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Explicit cancel from the client side (user clicked "Chat about
|
|
119
|
+
* this" or closed the modal). Same shape as answer, but the
|
|
120
|
+
* caller-supplied envelope carries `cancelled: true` and an
|
|
121
|
+
* empty `answers` array — or partial answers if the user filled
|
|
122
|
+
* some tabs before bailing.
|
|
123
|
+
*/
|
|
124
|
+
export function cancelPending(requestId, expectedSessionId, result) {
|
|
125
|
+
// Same path as answerPending — the distinction is in the envelope
|
|
126
|
+
// shape, not the registry mechanics.
|
|
127
|
+
return answerPending(requestId, expectedSessionId, result);
|
|
128
|
+
}
|
|
129
|
+
export function getPendingForSession(sessionId) {
|
|
130
|
+
const ids = bySessionId.get(sessionId);
|
|
131
|
+
if (ids === undefined)
|
|
132
|
+
return [];
|
|
133
|
+
const out = [];
|
|
134
|
+
for (const id of ids) {
|
|
135
|
+
const e = byRequestId.get(id);
|
|
136
|
+
if (e !== undefined) {
|
|
137
|
+
out.push({
|
|
138
|
+
requestId: e.requestId,
|
|
139
|
+
sessionId: e.sessionId,
|
|
140
|
+
questions: e.questions,
|
|
141
|
+
createdAt: e.createdAt,
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return out;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Test-only reset. Clears all pending state without notifying
|
|
149
|
+
* listeners — call between integration test cases to avoid
|
|
150
|
+
* cross-contamination.
|
|
151
|
+
*/
|
|
152
|
+
export function _resetForTests() {
|
|
153
|
+
byRequestId.clear();
|
|
154
|
+
bySessionId.clear();
|
|
155
|
+
listeners.clear();
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/ask-user-question/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { Type } from "typebox";
|
|
2
|
+
import { registerPending } from "./registry.js";
|
|
3
|
+
import { validateQuestionnaire } from "./validate.js";
|
|
4
|
+
import { buildResult } from "./envelope.js";
|
|
5
|
+
import { PROMPT_GUIDELINES, PROMPT_SNIPPET, TOOL_DESCRIPTION } from "./prompt-strings.js";
|
|
6
|
+
import { MAX_HEADER_LENGTH, MAX_LABEL_LENGTH, MAX_OPTIONS, MAX_QUESTIONS, MIN_OPTIONS, } from "./types.js";
|
|
7
|
+
export const ASK_USER_QUESTION_TOOL_NAME = "ask_user_question";
|
|
8
|
+
/**
|
|
9
|
+
* JSON Schema for the tool's params. We hand-write the schema
|
|
10
|
+
* (rather than reaching for TypeBox) so the shape matches what the
|
|
11
|
+
* upstream plugin advertises field-for-field. The structural caps
|
|
12
|
+
* (1..MAX_QUESTIONS, MIN..MAX_OPTIONS, maxLength) act as a fast
|
|
13
|
+
* pre-filter; `validateQuestionnaire` runs after for semantic
|
|
14
|
+
* checks the schema can't express (reserved labels, dupes).
|
|
15
|
+
*
|
|
16
|
+
* Type.Unsafe wraps the raw JSON Schema as a TypeBox schema so it
|
|
17
|
+
* satisfies the ToolDefinition.parameters type without dragging
|
|
18
|
+
* the rest of the TypeBox DSL into our code.
|
|
19
|
+
*/
|
|
20
|
+
const inputSchema = {
|
|
21
|
+
type: "object",
|
|
22
|
+
required: ["questions"],
|
|
23
|
+
properties: {
|
|
24
|
+
questions: {
|
|
25
|
+
type: "array",
|
|
26
|
+
minItems: 1,
|
|
27
|
+
maxItems: MAX_QUESTIONS,
|
|
28
|
+
items: {
|
|
29
|
+
type: "object",
|
|
30
|
+
required: ["question", "header", "options"],
|
|
31
|
+
properties: {
|
|
32
|
+
question: { type: "string", minLength: 1 },
|
|
33
|
+
header: { type: "string", minLength: 1, maxLength: MAX_HEADER_LENGTH },
|
|
34
|
+
multiSelect: { type: "boolean" },
|
|
35
|
+
options: {
|
|
36
|
+
type: "array",
|
|
37
|
+
minItems: MIN_OPTIONS,
|
|
38
|
+
maxItems: MAX_OPTIONS,
|
|
39
|
+
items: {
|
|
40
|
+
type: "object",
|
|
41
|
+
required: ["label", "description"],
|
|
42
|
+
properties: {
|
|
43
|
+
label: { type: "string", minLength: 1, maxLength: MAX_LABEL_LENGTH },
|
|
44
|
+
description: { type: "string", minLength: 1 },
|
|
45
|
+
preview: { type: "string" },
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Build the per-session `ask_user_question` tool. Bound to one
|
|
56
|
+
* session so `execute()` knows which browser to push the
|
|
57
|
+
* questions to.
|
|
58
|
+
*
|
|
59
|
+
* The tool is contract-compatible with
|
|
60
|
+
* `@juicesharp/rpiv-ask-user-question` — agents prompted to use
|
|
61
|
+
* `ask_user_question` get the same input schema, the same
|
|
62
|
+
* response envelope (`{content:[{type:"text",text}], details:{
|
|
63
|
+
* answers, cancelled, error?}}`), and the same answer-kind
|
|
64
|
+
* vocabulary (`option | custom | chat | multi`). Implementation
|
|
65
|
+
* is independent; the contract is reproduced via the published
|
|
66
|
+
* schema descriptions.
|
|
67
|
+
*/
|
|
68
|
+
export function createAskUserQuestionTool(sessionId) {
|
|
69
|
+
return {
|
|
70
|
+
name: ASK_USER_QUESTION_TOOL_NAME,
|
|
71
|
+
label: "Ask User Question",
|
|
72
|
+
description: TOOL_DESCRIPTION,
|
|
73
|
+
promptSnippet: PROMPT_SNIPPET,
|
|
74
|
+
promptGuidelines: PROMPT_GUIDELINES,
|
|
75
|
+
parameters: Type.Unsafe(inputSchema),
|
|
76
|
+
async execute(_toolCallId, params, signal) {
|
|
77
|
+
const validation = validateQuestionnaire(params);
|
|
78
|
+
if (!validation.ok) {
|
|
79
|
+
// Validation failure is communicated to the agent in the
|
|
80
|
+
// same shape the plugin uses — `details.error` carries the
|
|
81
|
+
// discriminated code, `details.cancelled` is true, and the
|
|
82
|
+
// text block summarises so the model has something to read.
|
|
83
|
+
return buildResult([], {
|
|
84
|
+
cancelled: true,
|
|
85
|
+
error: validation.error,
|
|
86
|
+
questionCount: 0,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
const { params: q } = validation;
|
|
90
|
+
try {
|
|
91
|
+
const args = {
|
|
92
|
+
sessionId,
|
|
93
|
+
questions: q.questions,
|
|
94
|
+
};
|
|
95
|
+
if (signal !== undefined)
|
|
96
|
+
args.signal = signal;
|
|
97
|
+
const { result } = registerPending(args);
|
|
98
|
+
return await result;
|
|
99
|
+
}
|
|
100
|
+
catch (err) {
|
|
101
|
+
// Abort path — `registerPending` rejects with Error("aborted")
|
|
102
|
+
// when the agent's signal fires. Return a clean cancelled
|
|
103
|
+
// envelope so the agent sees a tool result rather than an
|
|
104
|
+
// unhandled exception in its loop.
|
|
105
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
106
|
+
return buildResult([], {
|
|
107
|
+
cancelled: true,
|
|
108
|
+
error: message,
|
|
109
|
+
questionCount: q.questions.length,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/ask-user-question/tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shape definitions for the `ask_user_question` tool. The wire schema
|
|
3
|
+
* (questions[1..4] with options[2..4]; header ≤16 chars; label ≤60
|
|
4
|
+
* chars; reserved sentinel labels) is contract-compatible with
|
|
5
|
+
* `@juicesharp/rpiv-ask-user-question` — an agent prompt written
|
|
6
|
+
* against the plugin works against this implementation unchanged.
|
|
7
|
+
*
|
|
8
|
+
* Implementation is independent; constants and validation rules were
|
|
9
|
+
* derived from the plugin's published schema descriptions and test
|
|
10
|
+
* fixtures rather than copied. See `docs/ask-user-question.md` for the
|
|
11
|
+
* cross-reference.
|
|
12
|
+
*/
|
|
13
|
+
export const MAX_QUESTIONS = 4;
|
|
14
|
+
export const MIN_OPTIONS = 2;
|
|
15
|
+
export const MAX_OPTIONS = 4;
|
|
16
|
+
export const MAX_HEADER_LENGTH = 16;
|
|
17
|
+
export const MAX_LABEL_LENGTH = 60;
|
|
18
|
+
/**
|
|
19
|
+
* Labels the validator rejects at submit time. The four runtime
|
|
20
|
+
* sentinels ("Type something.", "Chat about this", "Next") are
|
|
21
|
+
* appended by the UI so authoring them would collide; "Other" is
|
|
22
|
+
* reserved for CC-style parity (the model often reaches for "Other"
|
|
23
|
+
* when given the chance — we want the runtime sentinel to be the
|
|
24
|
+
* single source of truth).
|
|
25
|
+
*/
|
|
26
|
+
export const RESERVED_LABELS = ["Other", "Type something.", "Chat about this", "Next"];
|
|
27
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ask-user-question/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAC/B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAC7B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAC7B,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAEnC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,CAAU,CAAC"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { MAX_HEADER_LENGTH, MAX_LABEL_LENGTH, MAX_OPTIONS, MAX_QUESTIONS, MIN_OPTIONS, RESERVED_LABELS, } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Runtime validation for the agent-supplied questionnaire. Mirrors
|
|
4
|
+
* the upstream plugin's rules without porting code. Each failure
|
|
5
|
+
* returns the same error-code vocabulary the plugin uses so a
|
|
6
|
+
* downstream parser doesn't care which implementation answered.
|
|
7
|
+
*
|
|
8
|
+
* The schema layer (Fastify body validation) catches type/shape
|
|
9
|
+
* errors first; this validator enforces the semantic ones: reserved
|
|
10
|
+
* sentinel labels, duplicate labels, the question / option count
|
|
11
|
+
* caps, and the byte-cap on header and label fields. Byte caps live
|
|
12
|
+
* here too (not just in the schema) so a caller that bypassed the
|
|
13
|
+
* schema — e.g. a future programmatic invocation path — still gets
|
|
14
|
+
* the same enforcement.
|
|
15
|
+
*/
|
|
16
|
+
export function validateQuestionnaire(input) {
|
|
17
|
+
if (typeof input !== "object" || input === null) {
|
|
18
|
+
return { ok: false, error: "no_questions", message: "params must be an object" };
|
|
19
|
+
}
|
|
20
|
+
const params = input;
|
|
21
|
+
const questions = params.questions;
|
|
22
|
+
if (!Array.isArray(questions) || questions.length === 0) {
|
|
23
|
+
return {
|
|
24
|
+
ok: false,
|
|
25
|
+
error: "no_questions",
|
|
26
|
+
message: "questions[] must have at least one entry",
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
if (questions.length > MAX_QUESTIONS) {
|
|
30
|
+
return {
|
|
31
|
+
ok: false,
|
|
32
|
+
error: "too_many_questions",
|
|
33
|
+
message: `at most ${MAX_QUESTIONS} questions per invocation`,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
const reserved = new Set(RESERVED_LABELS);
|
|
37
|
+
for (let qi = 0; qi < questions.length; qi += 1) {
|
|
38
|
+
const q = questions[qi];
|
|
39
|
+
if (typeof q !== "object" || q === null) {
|
|
40
|
+
return {
|
|
41
|
+
ok: false,
|
|
42
|
+
error: "missing_question_text",
|
|
43
|
+
message: `question[${qi}] is not an object`,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
const question = q.question;
|
|
47
|
+
if (typeof question !== "string" || question.trim().length === 0) {
|
|
48
|
+
return {
|
|
49
|
+
ok: false,
|
|
50
|
+
error: "missing_question_text",
|
|
51
|
+
message: `question[${qi}].question is required`,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
const header = q.header;
|
|
55
|
+
if (typeof header !== "string" || header.length === 0) {
|
|
56
|
+
return { ok: false, error: "missing_header", message: `question[${qi}].header is required` };
|
|
57
|
+
}
|
|
58
|
+
if (header.length > MAX_HEADER_LENGTH) {
|
|
59
|
+
return {
|
|
60
|
+
ok: false,
|
|
61
|
+
error: "header_too_long",
|
|
62
|
+
message: `question[${qi}].header exceeds ${MAX_HEADER_LENGTH} chars`,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
const options = q.options;
|
|
66
|
+
if (!Array.isArray(options) || options.length < MIN_OPTIONS) {
|
|
67
|
+
return {
|
|
68
|
+
ok: false,
|
|
69
|
+
error: "too_few_options",
|
|
70
|
+
message: `question[${qi}] requires at least ${MIN_OPTIONS} options`,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
if (options.length > MAX_OPTIONS) {
|
|
74
|
+
return {
|
|
75
|
+
ok: false,
|
|
76
|
+
error: "too_many_options",
|
|
77
|
+
message: `question[${qi}] allows at most ${MAX_OPTIONS} options`,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
const seenLabels = new Set();
|
|
81
|
+
for (let oi = 0; oi < options.length; oi += 1) {
|
|
82
|
+
const opt = options[oi];
|
|
83
|
+
if (typeof opt !== "object" || opt === null) {
|
|
84
|
+
return {
|
|
85
|
+
ok: false,
|
|
86
|
+
error: "missing_label",
|
|
87
|
+
message: `question[${qi}].options[${oi}] is not an object`,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
const label = opt.label;
|
|
91
|
+
if (typeof label !== "string" || label.length === 0) {
|
|
92
|
+
return {
|
|
93
|
+
ok: false,
|
|
94
|
+
error: "missing_label",
|
|
95
|
+
message: `question[${qi}].options[${oi}].label is required`,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
if (label.length > MAX_LABEL_LENGTH) {
|
|
99
|
+
return {
|
|
100
|
+
ok: false,
|
|
101
|
+
error: "label_too_long",
|
|
102
|
+
message: `question[${qi}].options[${oi}].label exceeds ${MAX_LABEL_LENGTH} chars`,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
// Reserved-label check applies to every kind (multiSelect too)
|
|
106
|
+
// so the runtime sentinels stay the single source of truth even
|
|
107
|
+
// when the UI suppresses them.
|
|
108
|
+
if (reserved.has(label)) {
|
|
109
|
+
return {
|
|
110
|
+
ok: false,
|
|
111
|
+
error: "reserved_label",
|
|
112
|
+
message: `question[${qi}].options[${oi}].label "${label}" is reserved — pick a different label`,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
if (seenLabels.has(label)) {
|
|
116
|
+
return {
|
|
117
|
+
ok: false,
|
|
118
|
+
error: "duplicate_label",
|
|
119
|
+
message: `question[${qi}].options[${oi}].label "${label}" duplicates an earlier option`,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
seenLabels.add(label);
|
|
123
|
+
const description = opt.description;
|
|
124
|
+
if (typeof description !== "string" || description.length === 0) {
|
|
125
|
+
return {
|
|
126
|
+
ok: false,
|
|
127
|
+
error: "missing_description",
|
|
128
|
+
message: `question[${qi}].options[${oi}].description is required`,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return { ok: true, params: params };
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=validate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/ask-user-question/validate.ts"],"names":[],"mappings":"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"}
|
package/dist/server/config.js
CHANGED
|
@@ -231,6 +231,16 @@ export const config = Object.freeze({
|
|
|
231
231
|
* placement rationale as the other override files.
|
|
232
232
|
*/
|
|
233
233
|
systemPromptOverridesFile: join(FORGE_DATA_DIR, "system-prompt-overrides.json"),
|
|
234
|
+
/**
|
|
235
|
+
* Path to the forge-private quick-actions registry. One flat JSON
|
|
236
|
+
* array of "chips" the user can click from the chat-view toolbar to
|
|
237
|
+
* fire either a shell command (run in the current project's cwd) or
|
|
238
|
+
* a templated prompt (sent to / inserted into the active session).
|
|
239
|
+
* Global (not per-project) by design — chips are the operator's
|
|
240
|
+
* personal toolbox, same install-private rationale as the other
|
|
241
|
+
* forge-owned files.
|
|
242
|
+
*/
|
|
243
|
+
quickActionsFile: join(FORGE_DATA_DIR, "quick-actions.json"),
|
|
234
244
|
/**
|
|
235
245
|
* Whether `/api/docs` (Swagger UI + OpenAPI JSON spec) is reachable.
|
|
236
246
|
* Defaults to true so Docker / production deploys keep working without
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/server/index.js
CHANGED
|
@@ -25,9 +25,14 @@ import { gitRoutes } from "./routes/git.js";
|
|
|
25
25
|
import { execRoutes } from "./routes/exec.js";
|
|
26
26
|
import { exportRoutes } from "./routes/export.js";
|
|
27
27
|
import { mcpRoutes } from "./routes/mcp.js";
|
|
28
|
+
import { quickActionRoutes } from "./routes/quick-actions.js";
|
|
29
|
+
import { askUserQuestionRoutes } from "./routes/ask-user-question.js";
|
|
30
|
+
import { todoRoutes } from "./routes/todos.js";
|
|
31
|
+
import { processesRoutes } from "./routes/processes.js";
|
|
28
32
|
import { searchRoutes } from "./routes/search.js";
|
|
29
33
|
import { terminalRoutes } from "./routes/terminal.js";
|
|
30
34
|
import { disposeAll as disposeAllMcp, loadGlobal as loadGlobalMcp } from "./mcp/manager.js";
|
|
35
|
+
import { initAskUserQuestionFanout, initProcessesFanout, initTodoFanout } from "./sse-bridge.js";
|
|
31
36
|
import { disposeAllSessions } from "./session-registry.js";
|
|
32
37
|
import { disposeAllPtys, installPtyExitHandler } from "./pty-manager.js";
|
|
33
38
|
import { logSecretHygieneState } from "./agent-resource-loader.js";
|
|
@@ -353,6 +358,10 @@ export async function buildServer() {
|
|
|
353
358
|
await api.register(execRoutes);
|
|
354
359
|
await api.register(exportRoutes);
|
|
355
360
|
await api.register(mcpRoutes);
|
|
361
|
+
await api.register(quickActionRoutes);
|
|
362
|
+
await api.register(askUserQuestionRoutes);
|
|
363
|
+
await api.register(todoRoutes);
|
|
364
|
+
await api.register(processesRoutes);
|
|
356
365
|
await api.register(searchRoutes);
|
|
357
366
|
await api.register(terminalRoutes);
|
|
358
367
|
}, { prefix: "/api/v1" });
|
|
@@ -428,6 +437,13 @@ export async function buildServer() {
|
|
|
428
437
|
loadGlobalMcp().catch((err) => {
|
|
429
438
|
fastify.log.error({ err }, "mcp: initial load failed");
|
|
430
439
|
});
|
|
440
|
+
// Wire the ask-user-question registry into SSE so per-session
|
|
441
|
+
// events ("agent invoked the tool" / "request was answered or
|
|
442
|
+
// cancelled") fan out to every live browser client of that
|
|
443
|
+
// session. One subscription for the lifetime of the process.
|
|
444
|
+
initAskUserQuestionFanout();
|
|
445
|
+
initTodoFanout();
|
|
446
|
+
initProcessesFanout();
|
|
431
447
|
return fastify;
|
|
432
448
|
}
|
|
433
449
|
export async function start() {
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -105,13 +105,19 @@ export function mcpResultToAgentResult(res) {
|
|
|
105
105
|
}
|
|
106
106
|
/**
|
|
107
107
|
* Default cap on the total *text* size (across all text blocks) of an
|
|
108
|
-
* MCP tool result, in characters.
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
*
|
|
108
|
+
* MCP tool result, in characters. 30k chars ≈ 10k tokens at the
|
|
109
|
+
* code/JSON chars/3 ratio (the older 4:1 estimate was tuned for
|
|
110
|
+
* prose and systematically under-counted real tool output by
|
|
111
|
+
* 20–40%). The earlier 100k-char (≈ 33k-token) cap let one chatty
|
|
112
|
+
* `list_everything` call dump 30k+ real tokens into context, eating
|
|
113
|
+
* most of a session's usable budget in a single round trip and
|
|
114
|
+
* triggering compaction far earlier than the operator expects. 10k
|
|
115
|
+
* tokens is the practical upper bound for a *single* tool round
|
|
116
|
+
* trip — anything bigger should be paginated, filtered, or written
|
|
117
|
+
* to disk for the agent to `read` incrementally. Image blocks are
|
|
118
|
+
* passed through untouched (truncating base64 mid-byte breaks the
|
|
119
|
+
* image; image tokens are provider-specific anyway and not measured
|
|
120
|
+
* here).
|
|
115
121
|
*
|
|
116
122
|
* Split: 60% head + 40% tail. Head usually carries summary / total /
|
|
117
123
|
* schema context that the agent needs to interpret the rest; tail
|
|
@@ -126,7 +132,7 @@ export function mcpResultToAgentResult(res) {
|
|
|
126
132
|
* No per-tool override yet — add when a real workload needs a higher
|
|
127
133
|
* or lower cap. Hardcoded constant is the deliberate first cut.
|
|
128
134
|
*/
|
|
129
|
-
export const MCP_TEXT_CAP_CHARS =
|
|
135
|
+
export const MCP_TEXT_CAP_CHARS = 30_000;
|
|
130
136
|
export const MCP_TEXT_HEAD_RATIO = 0.6;
|
|
131
137
|
export function capTextContent(blocks) {
|
|
132
138
|
let totalText = 0;
|