@kubbisec/ai-win32-x64 0.1.7 → 0.1.9
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/bin/kubbisec.exe +0 -0
- package/bundled/assets/terminal/wordmark-inline.ansi +1 -0
- package/bundled/assets/terminal/wordmark.ansi +4 -0
- package/bundled/assets/terminal/wordmark.png +0 -0
- package/bundled/clarify/clarify-gate-state.d.ts +3 -0
- package/bundled/clarify/clarify-gate-state.d.ts.map +1 -0
- package/bundled/clarify/clarify-gate-state.js +9 -0
- package/bundled/clarify/clarify-gate-state.js.map +1 -0
- package/bundled/clarify/clarify-gate.d.ts +2 -1
- package/bundled/clarify/clarify-gate.d.ts.map +1 -1
- package/bundled/clarify/clarify-gate.js +17 -4
- package/bundled/clarify/clarify-gate.js.map +1 -1
- package/bundled/clarify/clarify-select-panel.d.ts +14 -0
- package/bundled/clarify/clarify-select-panel.d.ts.map +1 -0
- package/bundled/clarify/clarify-select-panel.js +82 -0
- package/bundled/clarify/clarify-select-panel.js.map +1 -0
- package/bundled/clarify/clarify-ui-state.d.ts +10 -1
- package/bundled/clarify/clarify-ui-state.d.ts.map +1 -1
- package/bundled/clarify/clarify-ui-state.js +24 -3
- package/bundled/clarify/clarify-ui-state.js.map +1 -1
- package/bundled/clarify/parse-clarify-answer.d.ts +6 -1
- package/bundled/clarify/parse-clarify-answer.d.ts.map +1 -1
- package/bundled/clarify/parse-clarify-answer.js +35 -2
- package/bundled/clarify/parse-clarify-answer.js.map +1 -1
- package/bundled/clarify/question-format.d.ts +7 -4
- package/bundled/clarify/question-format.d.ts.map +1 -1
- package/bundled/clarify/question-format.js +26 -33
- package/bundled/clarify/question-format.js.map +1 -1
- package/bundled/clarify/questionnaire-tool.d.ts.map +1 -1
- package/bundled/clarify/questionnaire-tool.js +16 -9
- package/bundled/clarify/questionnaire-tool.js.map +1 -1
- package/bundled/clarify/scope-discovery.d.ts +10 -0
- package/bundled/clarify/scope-discovery.d.ts.map +1 -0
- package/bundled/clarify/scope-discovery.js +130 -0
- package/bundled/clarify/scope-discovery.js.map +1 -0
- package/bundled/clarify/session-questionnaire.d.ts +4 -1
- package/bundled/clarify/session-questionnaire.d.ts.map +1 -1
- package/bundled/clarify/session-questionnaire.js +59 -4
- package/bundled/clarify/session-questionnaire.js.map +1 -1
- package/bundled/clarify/session-questionnaire.types.d.ts +2 -0
- package/bundled/clarify/session-questionnaire.types.d.ts.map +1 -1
- package/bundled/clarify/session-questionnaire.types.js.map +1 -1
- package/bundled/config/detect-local-llm-providers.d.ts +33 -0
- package/bundled/config/detect-local-llm-providers.d.ts.map +1 -0
- package/bundled/config/detect-local-llm-providers.js +173 -0
- package/bundled/config/detect-local-llm-providers.js.map +1 -0
- package/bundled/config/ensure-kubbisec-project-settings.d.ts +8 -0
- package/bundled/config/ensure-kubbisec-project-settings.d.ts.map +1 -1
- package/bundled/config/ensure-kubbisec-project-settings.js +31 -0
- package/bundled/config/ensure-kubbisec-project-settings.js.map +1 -1
- package/bundled/config/extended-context.d.ts +12 -0
- package/bundled/config/extended-context.d.ts.map +1 -0
- package/bundled/config/extended-context.js +37 -0
- package/bundled/config/extended-context.js.map +1 -0
- package/bundled/config/format-kubbisec-footer-status.d.ts.map +1 -1
- package/bundled/config/format-kubbisec-footer-status.js +10 -1
- package/bundled/config/format-kubbisec-footer-status.js.map +1 -1
- package/bundled/config/llm-config-mutations.d.ts +38 -0
- package/bundled/config/llm-config-mutations.d.ts.map +1 -0
- package/bundled/config/llm-config-mutations.js +207 -0
- package/bundled/config/llm-config-mutations.js.map +1 -0
- package/bundled/config/llm-config.d.ts +61 -0
- package/bundled/config/llm-config.d.ts.map +1 -0
- package/bundled/config/llm-config.js +225 -0
- package/bundled/config/llm-config.js.map +1 -0
- package/bundled/config/llm-provider-catalog.d.ts +22 -0
- package/bundled/config/llm-provider-catalog.d.ts.map +1 -0
- package/bundled/config/llm-provider-catalog.js +42 -0
- package/bundled/config/llm-provider-catalog.js.map +1 -0
- package/bundled/config/materialize-kubbisec-pi-resources.d.ts +13 -0
- package/bundled/config/materialize-kubbisec-pi-resources.d.ts.map +1 -0
- package/bundled/config/materialize-kubbisec-pi-resources.js +142 -0
- package/bundled/config/materialize-kubbisec-pi-resources.js.map +1 -0
- package/bundled/config/register-custom-llm-providers.d.ts +13 -0
- package/bundled/config/register-custom-llm-providers.d.ts.map +1 -0
- package/bundled/config/register-custom-llm-providers.js +21 -0
- package/bundled/config/register-custom-llm-providers.js.map +1 -0
- package/bundled/config/register-kubbisec-llm-provider.d.ts +12 -0
- package/bundled/config/register-kubbisec-llm-provider.d.ts.map +1 -0
- package/bundled/config/register-kubbisec-llm-provider.js +47 -0
- package/bundled/config/register-kubbisec-llm-provider.js.map +1 -0
- package/bundled/copy/cli-reference-index.d.ts +6 -0
- package/bundled/copy/cli-reference-index.d.ts.map +1 -0
- package/bundled/copy/cli-reference-index.js +42 -0
- package/bundled/copy/cli-reference-index.js.map +1 -0
- package/bundled/copy/kubbisec-shell-copy.d.ts +15 -2
- package/bundled/copy/kubbisec-shell-copy.d.ts.map +1 -1
- package/bundled/copy/kubbisec-shell-copy.js +15 -2
- package/bundled/copy/kubbisec-shell-copy.js.map +1 -1
- package/bundled/extensions/cli-local-shared.d.ts +31 -11
- package/bundled/extensions/cli-local-shared.d.ts.map +1 -1
- package/bundled/extensions/cli-local-shared.js +56 -10
- package/bundled/extensions/cli-local-shared.js.map +1 -1
- package/bundled/extensions/kubbisec-aspm-local.extension.d.ts +1 -0
- package/bundled/extensions/kubbisec-aspm-local.extension.d.ts.map +1 -1
- package/bundled/extensions/kubbisec-aspm-local.extension.js +32 -44
- package/bundled/extensions/kubbisec-aspm-local.extension.js.map +1 -1
- package/bundled/extensions/kubbisec-brand.extension.d.ts.map +1 -1
- package/bundled/extensions/kubbisec-brand.extension.js +7 -59
- package/bundled/extensions/kubbisec-brand.extension.js.map +1 -1
- package/bundled/extensions/kubbisec-byok-provider.extension.d.ts +3 -27
- package/bundled/extensions/kubbisec-byok-provider.extension.d.ts.map +1 -1
- package/bundled/extensions/kubbisec-byok-provider.extension.js +2 -48
- package/bundled/extensions/kubbisec-byok-provider.extension.js.map +1 -1
- package/bundled/extensions/kubbisec-clarify.extension.d.ts +6 -1
- package/bundled/extensions/kubbisec-clarify.extension.d.ts.map +1 -1
- package/bundled/extensions/kubbisec-clarify.extension.js +124 -68
- package/bundled/extensions/kubbisec-clarify.extension.js.map +1 -1
- package/bundled/extensions/kubbisec-exit.extension.d.ts +3 -0
- package/bundled/extensions/kubbisec-exit.extension.d.ts.map +1 -0
- package/bundled/extensions/kubbisec-exit.extension.js +38 -0
- package/bundled/extensions/kubbisec-exit.extension.js.map +1 -0
- package/bundled/extensions/kubbisec-extended-context.extension.d.ts +6 -0
- package/bundled/extensions/kubbisec-extended-context.extension.d.ts.map +1 -0
- package/bundled/extensions/kubbisec-extended-context.extension.js +50 -0
- package/bundled/extensions/kubbisec-extended-context.extension.js.map +1 -0
- package/bundled/extensions/kubbisec-footer.extension.d.ts +21 -0
- package/bundled/extensions/kubbisec-footer.extension.d.ts.map +1 -1
- package/bundled/extensions/kubbisec-footer.extension.js +121 -66
- package/bundled/extensions/kubbisec-footer.extension.js.map +1 -1
- package/bundled/extensions/kubbisec-github-local.extension.d.ts.map +1 -1
- package/bundled/extensions/kubbisec-github-local.extension.js +52 -22
- package/bundled/extensions/kubbisec-github-local.extension.js.map +1 -1
- package/bundled/extensions/kubbisec-llm-config.extension.d.ts +3 -0
- package/bundled/extensions/kubbisec-llm-config.extension.d.ts.map +1 -0
- package/bundled/extensions/kubbisec-llm-config.extension.js +207 -0
- package/bundled/extensions/kubbisec-llm-config.extension.js.map +1 -0
- package/bundled/extensions/kubbisec-naus-local.extension.d.ts +1 -0
- package/bundled/extensions/kubbisec-naus-local.extension.d.ts.map +1 -1
- package/bundled/extensions/kubbisec-naus-local.extension.js +54 -58
- package/bundled/extensions/kubbisec-naus-local.extension.js.map +1 -1
- package/bundled/extensions/kubbisec-platform-tools.extension.d.ts.map +1 -1
- package/bundled/extensions/kubbisec-platform-tools.extension.js +57 -16
- package/bundled/extensions/kubbisec-platform-tools.extension.js.map +1 -1
- package/bundled/extensions/kubbisec-skill-mentions.extension.d.ts +1 -0
- package/bundled/extensions/kubbisec-skill-mentions.extension.d.ts.map +1 -1
- package/bundled/extensions/kubbisec-skill-mentions.extension.js +24 -8
- package/bundled/extensions/kubbisec-skill-mentions.extension.js.map +1 -1
- package/bundled/extensions/kubbisec-theme-lock.extension.d.ts +6 -0
- package/bundled/extensions/kubbisec-theme-lock.extension.d.ts.map +1 -0
- package/bundled/extensions/kubbisec-theme-lock.extension.js +40 -0
- package/bundled/extensions/kubbisec-theme-lock.extension.js.map +1 -0
- package/bundled/extensions/kubbisec-ui.extension.d.ts +1 -1
- package/bundled/extensions/kubbisec-ui.extension.d.ts.map +1 -1
- package/bundled/extensions/kubbisec-ui.extension.js +97 -82
- package/bundled/extensions/kubbisec-ui.extension.js.map +1 -1
- package/bundled/extensions/kubbisec-workflow.extension.d.ts.map +1 -1
- package/bundled/extensions/kubbisec-workflow.extension.js +31 -21
- package/bundled/extensions/kubbisec-workflow.extension.js.map +1 -1
- package/bundled/skills/aspm-platform/SKILL.md +55 -25
- package/bundled/skills/at-path-mentions.d.ts +7 -0
- package/bundled/skills/at-path-mentions.d.ts.map +1 -0
- package/bundled/skills/at-path-mentions.js +186 -0
- package/bundled/skills/at-path-mentions.js.map +1 -0
- package/bundled/skills/at-path-mentions.test.ts +64 -0
- package/bundled/skills/at-path-mentions.ts +211 -0
- package/bundled/skills/chat-mention-render.d.ts.map +1 -1
- package/bundled/skills/chat-mention-render.js +69 -31
- package/bundled/skills/chat-mention-render.js.map +1 -1
- package/bundled/skills/chat-mention-render.test.ts +24 -1
- package/bundled/skills/chat-mention-render.ts +87 -34
- package/bundled/skills/chat-mentions.d.ts +3 -2
- package/bundled/skills/chat-mentions.d.ts.map +1 -1
- package/bundled/skills/chat-mentions.js +9 -3
- package/bundled/skills/chat-mentions.js.map +1 -1
- package/bundled/skills/chat-mentions.test.ts +12 -5
- package/bundled/skills/chat-mentions.ts +12 -3
- package/bundled/skills/naus-pipelines/SKILL.md +111 -16
- package/bundled/skills/sec-clarify/SKILL.md +8 -23
- package/bundled/skills/sec-using-skills/SKILL.md +2 -0
- package/bundled/theme/clear-terminal.d.ts +3 -0
- package/bundled/theme/clear-terminal.d.ts.map +1 -0
- package/bundled/theme/clear-terminal.js +7 -0
- package/bundled/theme/clear-terminal.js.map +1 -0
- package/bundled/theme/kubbisec-theme-name.d.ts +2 -0
- package/bundled/theme/kubbisec-theme-name.d.ts.map +1 -0
- package/bundled/theme/kubbisec-theme-name.js +2 -0
- package/bundled/theme/kubbisec-theme-name.js.map +1 -0
- package/bundled/theme/render-compact-header.d.ts +16 -0
- package/bundled/theme/render-compact-header.d.ts.map +1 -0
- package/bundled/theme/render-compact-header.js +132 -0
- package/bundled/theme/render-compact-header.js.map +1 -0
- package/package.json +1 -1
package/bin/kubbisec.exe
CHANGED
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
]1337;File=height=34px;width=288px;inline=1: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
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
[38;2;40;220;249m ██ ▄█▀ █▄ ██ ▄██████▄ ███████▄ ██ ███████ ███████ ▄▄█████ [0m
|
|
2
|
+
[38;2;40;220;249m ██▄▄██▀ ██ ██ ██▄▄▄▄██ ██▄▄▄▄██ ██ ▀██▄▄▄▄▄ ██▄▄▄▄▄ ██ [0m
|
|
3
|
+
[38;2;40;220;249m ██▀▀██▄ ██ ██ ██▀▀▀▀██ ██▀▀▀▀██ ██ ▀▀▀▀▀██ ██▀▀▀▀▀ ██ [0m
|
|
4
|
+
[38;2;40;220;249m ██ ▀█▄ ▀█████▀ ▀██████▀ ███████▀ ██ ██████▀ ███████ ▀▀█████ [0m
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clarify-gate-state.d.ts","sourceRoot":"","sources":["../../src/clarify/clarify-gate-state.ts"],"names":[],"mappings":"AAGA,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAE1D;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Shared gate flag for skill router and extensions. */
|
|
2
|
+
let gateActive = false;
|
|
3
|
+
export function setClarifyGateActive(active) {
|
|
4
|
+
gateActive = active;
|
|
5
|
+
}
|
|
6
|
+
export function isClarifyGateActive() {
|
|
7
|
+
return gateActive;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=clarify-gate-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clarify-gate-state.js","sourceRoot":"","sources":["../../src/clarify/clarify-gate-state.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,MAAM,UAAU,oBAAoB,CAAC,MAAe;IAClD,UAAU,GAAG,MAAM,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SessionQuestionnaireFields } from "./session-questionnaire.types.js";
|
|
1
|
+
import type { QuestionnaireScenario, SessionQuestionnaireFields } from "./session-questionnaire.types.js";
|
|
2
2
|
export type ClarifySurface = "chat" | "fix" | "watch" | "task-consumer";
|
|
3
3
|
export type ClarifyIntent = "factual" | "execute" | "ambiguous";
|
|
4
4
|
export type ClarifyGateInput = {
|
|
@@ -8,6 +8,7 @@ export type ClarifyGateInput = {
|
|
|
8
8
|
hasVulnerabilityId: boolean;
|
|
9
9
|
hasSeverityFilter: boolean;
|
|
10
10
|
mode?: "plan" | "default";
|
|
11
|
+
scenario?: QuestionnaireScenario | null;
|
|
11
12
|
questionnaireStatus?: "collecting" | "ready";
|
|
12
13
|
fields?: SessionQuestionnaireFields;
|
|
13
14
|
historyCount?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clarify-gate.d.ts","sourceRoot":"","sources":["../../src/clarify/clarify-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"clarify-gate.d.ts","sourceRoot":"","sources":["../../src/clarify/clarify-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,kCAAkC,CAAC;AAM1C,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,eAAe,CAAC;AAExE,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;AAEhE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,cAAc,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACxC,mBAAmB,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC;IAC7C,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,uBAAuB,0DAI1B,CAAC;AAwBX,uDAAuD;AACvD,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CA+BjE;AA8BD,iEAAiE;AACjE,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CA8BrE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAyBzE;AASD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAqD9D"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { hasMinimumScopeForScenario, } from "./session-questionnaire.js";
|
|
2
2
|
export const REQUIRED_FOR_FIX_INTENT = [
|
|
3
3
|
"projectId",
|
|
4
4
|
"severityMin",
|
|
@@ -64,6 +64,9 @@ function fieldsSignalSeverity(fields) {
|
|
|
64
64
|
function fieldsSignalRemediation(fields) {
|
|
65
65
|
return Boolean(fields?.remediationMode);
|
|
66
66
|
}
|
|
67
|
+
function fieldsSignalPlanObjective(fields) {
|
|
68
|
+
return Boolean(fields?.customNotes?.trim());
|
|
69
|
+
}
|
|
67
70
|
/** Confidence that required execute fields are present (0–1). */
|
|
68
71
|
export function computeGateConfidence(input) {
|
|
69
72
|
const msg = input.userMessage;
|
|
@@ -88,8 +91,17 @@ export function computeGateConfidence(input) {
|
|
|
88
91
|
return Math.min(score, 1);
|
|
89
92
|
}
|
|
90
93
|
export function hasRequiredExecuteFields(input) {
|
|
91
|
-
const
|
|
94
|
+
const scenario = input.scenario ?? (input.mode === "plan" ? "plan" : "remediation");
|
|
92
95
|
const fields = input.fields;
|
|
96
|
+
if (!fields)
|
|
97
|
+
return false;
|
|
98
|
+
if (scenario === "plan") {
|
|
99
|
+
return fieldsSignalProject(fields) && fieldsSignalPlanObjective(fields);
|
|
100
|
+
}
|
|
101
|
+
if (scenario === "explore" || scenario === "review") {
|
|
102
|
+
return fieldsSignalProject(fields);
|
|
103
|
+
}
|
|
104
|
+
const msg = input.userMessage;
|
|
93
105
|
const hasProject = input.hasProjectId ||
|
|
94
106
|
messageSignalsProject(msg) ||
|
|
95
107
|
fieldsSignalProject(fields);
|
|
@@ -130,8 +142,9 @@ export function shouldClarify(input) {
|
|
|
130
142
|
if ((input.historyCount ?? 0) >= maxRounds) {
|
|
131
143
|
return false;
|
|
132
144
|
}
|
|
145
|
+
const scenario = input.scenario ?? (input.mode === "plan" ? "plan" : "remediation");
|
|
133
146
|
const fields = input.fields;
|
|
134
|
-
if (fields &&
|
|
147
|
+
if (fields && hasMinimumScopeForScenario(scenario, fields)) {
|
|
135
148
|
return false;
|
|
136
149
|
}
|
|
137
150
|
const confidence = computeGateConfidence(input);
|
|
@@ -144,7 +157,7 @@ export function shouldClarify(input) {
|
|
|
144
157
|
if (intent === "ambiguous") {
|
|
145
158
|
return true;
|
|
146
159
|
}
|
|
147
|
-
if (input.mode === "plan") {
|
|
160
|
+
if (input.mode === "plan" || scenario === "plan") {
|
|
148
161
|
return !hasRequiredExecuteFields(input);
|
|
149
162
|
}
|
|
150
163
|
return confidence < 0.85;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clarify-gate.js","sourceRoot":"","sources":["../../src/clarify/clarify-gate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"clarify-gate.js","sourceRoot":"","sources":["../../src/clarify/clarify-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ClarifyUiSnapshot } from "./clarify-ui-state.js";
|
|
2
|
+
type PanelTheme = {
|
|
3
|
+
fg: (role: string, text: string) => string;
|
|
4
|
+
bold?: (text: string) => string;
|
|
5
|
+
};
|
|
6
|
+
export declare function renderClarifySelectPanel(width: number, snapshot: ClarifyUiSnapshot, theme: PanelTheme): string[];
|
|
7
|
+
export type ClarifyKeyResult = {
|
|
8
|
+
consumed: boolean;
|
|
9
|
+
snapshot: ClarifyUiSnapshot;
|
|
10
|
+
submitText?: string;
|
|
11
|
+
};
|
|
12
|
+
export declare function handleClarifyPanelKey(snapshot: ClarifyUiSnapshot, data: string): ClarifyKeyResult;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=clarify-select-panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clarify-select-panel.d.ts","sourceRoot":"","sources":["../../src/clarify/clarify-select-panel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAM/D,KAAK,UAAU,GAAG;IAChB,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACjC,CAAC;AA2BF,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,EAAE,UAAU,GAChB,MAAM,EAAE,CAyBV;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAeF,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,MAAM,GACX,gBAAgB,CA4BlB"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { truncateToWidth } from "@earendil-works/pi-tui";
|
|
2
|
+
import { formatSelectionSubmit } from "./parse-clarify-answer.js";
|
|
3
|
+
const OPTION_IDS = ["A", "B", "C", "D"];
|
|
4
|
+
function optionLabel(snapshot, index) {
|
|
5
|
+
if (index < 3)
|
|
6
|
+
return snapshot.optionLabels[index] ?? `Opção ${index + 1}`;
|
|
7
|
+
return snapshot.selectionMode === "multi" ? "Outro — escreva abaixo" : "Outro — escreva abaixo";
|
|
8
|
+
}
|
|
9
|
+
function renderOptionLine(snapshot, index, theme, width) {
|
|
10
|
+
const id = OPTION_IDS[index] ?? "D";
|
|
11
|
+
const focused = snapshot.focusedIndex === index;
|
|
12
|
+
const selected = snapshot.selected.includes(id);
|
|
13
|
+
const marker = focused ? "▸" : " ";
|
|
14
|
+
const check = selected ? (snapshot.selectionMode === "multi" ? "[x]" : "●") : "[ ]";
|
|
15
|
+
const line = `${marker} ${check} ${id}) ${optionLabel(snapshot, index)}`;
|
|
16
|
+
const role = focused ? "planAccent" : "warning";
|
|
17
|
+
try {
|
|
18
|
+
return truncateToWidth(theme.fg(role, line), width, "");
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return truncateToWidth(line, width, "");
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export function renderClarifySelectPanel(width, snapshot, theme) {
|
|
25
|
+
if (snapshot.phase !== "asking" || !snapshot.questionText)
|
|
26
|
+
return [];
|
|
27
|
+
const border = theme.fg("warning", "─".repeat(Math.max(0, width)));
|
|
28
|
+
const titleBase = snapshot.progressLabel ?? "Questionário";
|
|
29
|
+
const title = typeof theme.bold === "function"
|
|
30
|
+
? theme.bold(theme.fg("warning", titleBase))
|
|
31
|
+
: theme.fg("warning", titleBase);
|
|
32
|
+
const lines = [truncateToWidth(border, width, ""), truncateToWidth(title, width, "")];
|
|
33
|
+
lines.push(truncateToWidth(theme.fg("text", snapshot.questionText), width, ""));
|
|
34
|
+
const optionCount = Math.min(3, snapshot.optionLabels.length) + 1;
|
|
35
|
+
for (let i = 0; i < optionCount; i += 1) {
|
|
36
|
+
lines.push(renderOptionLine(snapshot, i, theme, width));
|
|
37
|
+
}
|
|
38
|
+
const hint = snapshot.selectionMode === "multi"
|
|
39
|
+
? "↑↓ navegar · Espaço alternar · Enter confirmar · ou escreva abaixo"
|
|
40
|
+
: "↑↓ navegar · Espaço selecionar · Enter confirmar · ou escreva abaixo";
|
|
41
|
+
lines.push(truncateToWidth(theme.fg("dim", hint), width, ""));
|
|
42
|
+
lines.push(truncateToWidth(border, width, ""));
|
|
43
|
+
return lines;
|
|
44
|
+
}
|
|
45
|
+
function toggleSelection(snapshot, optionId) {
|
|
46
|
+
if (snapshot.selectionMode === "single") {
|
|
47
|
+
return { ...snapshot, selected: [optionId] };
|
|
48
|
+
}
|
|
49
|
+
const selected = new Set(snapshot.selected);
|
|
50
|
+
if (selected.has(optionId))
|
|
51
|
+
selected.delete(optionId);
|
|
52
|
+
else
|
|
53
|
+
selected.add(optionId);
|
|
54
|
+
return { ...snapshot, selected: [...selected] };
|
|
55
|
+
}
|
|
56
|
+
export function handleClarifyPanelKey(snapshot, data) {
|
|
57
|
+
if (snapshot.phase !== "asking") {
|
|
58
|
+
return { consumed: false, snapshot };
|
|
59
|
+
}
|
|
60
|
+
const optionCount = Math.min(3, snapshot.optionLabels.length) + 1;
|
|
61
|
+
if (data === "\x1b[A") {
|
|
62
|
+
const focusedIndex = (snapshot.focusedIndex - 1 + optionCount) % optionCount;
|
|
63
|
+
return { consumed: true, snapshot: { ...snapshot, focusedIndex } };
|
|
64
|
+
}
|
|
65
|
+
if (data === "\x1b[B") {
|
|
66
|
+
const focusedIndex = (snapshot.focusedIndex + 1) % optionCount;
|
|
67
|
+
return { consumed: true, snapshot: { ...snapshot, focusedIndex } };
|
|
68
|
+
}
|
|
69
|
+
if (data === " ") {
|
|
70
|
+
const id = OPTION_IDS[snapshot.focusedIndex] ?? "D";
|
|
71
|
+
return { consumed: true, snapshot: toggleSelection(snapshot, id) };
|
|
72
|
+
}
|
|
73
|
+
if (data === "\r" || data === "\n") {
|
|
74
|
+
const submit = formatSelectionSubmit(new Set(snapshot.selected), snapshot.selectionMode);
|
|
75
|
+
if (submit) {
|
|
76
|
+
return { consumed: true, snapshot, submitText: submit };
|
|
77
|
+
}
|
|
78
|
+
return { consumed: false, snapshot };
|
|
79
|
+
}
|
|
80
|
+
return { consumed: false, snapshot };
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=clarify-select-panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clarify-select-panel.js","sourceRoot":"","sources":["../../src/clarify/clarify-select-panel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,21 @@
|
|
|
1
|
+
import type { ClarifyOptionId, ClarifySelectionMode } from "./session-questionnaire.types.js";
|
|
1
2
|
export type ClarifyUiPhase = "idle" | "asking" | "ready";
|
|
2
3
|
export type ClarifyUiSnapshot = {
|
|
3
4
|
phase: ClarifyUiPhase;
|
|
4
5
|
progressLabel: string | null;
|
|
5
6
|
questionMarkdown: string | null;
|
|
7
|
+
questionText: string | null;
|
|
8
|
+
optionLabels: string[];
|
|
9
|
+
selectionMode: ClarifySelectionMode;
|
|
10
|
+
selected: ClarifyOptionId[];
|
|
11
|
+
focusedIndex: number;
|
|
6
12
|
};
|
|
7
13
|
export declare function setClarifyUiChangeListener(listener: (() => void) | undefined): void;
|
|
14
|
+
export declare function setClarifySubmitHandler(handler: ((text: string) => void | Promise<void>) | undefined): void;
|
|
15
|
+
export declare function submitClarifyAnswer(text: string): Promise<void>;
|
|
8
16
|
export declare function getClarifyUiSnapshot(): ClarifyUiSnapshot;
|
|
9
|
-
export declare function setClarifyUiSnapshot(next: ClarifyUiSnapshot): void;
|
|
17
|
+
export declare function setClarifyUiSnapshot(next: Partial<ClarifyUiSnapshot>): void;
|
|
10
18
|
export declare function resetClarifyUiSnapshot(): void;
|
|
11
19
|
export declare function isClarifyAsking(): boolean;
|
|
20
|
+
export declare function resetClarifySelection(): void;
|
|
12
21
|
//# sourceMappingURL=clarify-ui-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clarify-ui-state.d.ts","sourceRoot":"","sources":["../../src/clarify/clarify-ui-state.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEzD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,cAAc,CAAC;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"clarify-ui-state.d.ts","sourceRoot":"","sources":["../../src/clarify/clarify-ui-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAE9F,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEzD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,cAAc,CAAC;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,oBAAoB,CAAC;IACpC,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAkBF,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,CAEnF;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,GAC5D,IAAI,CAEN;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAErE;AAMD,wBAAgB,oBAAoB,IAAI,iBAAiB,CAExD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAG3E;AAED,wBAAgB,sBAAsB,IAAI,IAAI,CAG7C;AAED,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAO5C"}
|
|
@@ -1,12 +1,25 @@
|
|
|
1
|
-
|
|
1
|
+
const EMPTY_SNAPSHOT = {
|
|
2
2
|
phase: "idle",
|
|
3
3
|
progressLabel: null,
|
|
4
4
|
questionMarkdown: null,
|
|
5
|
+
questionText: null,
|
|
6
|
+
optionLabels: [],
|
|
7
|
+
selectionMode: "single",
|
|
8
|
+
selected: [],
|
|
9
|
+
focusedIndex: 0,
|
|
5
10
|
};
|
|
11
|
+
let snapshot = { ...EMPTY_SNAPSHOT };
|
|
6
12
|
let onSnapshotChange;
|
|
13
|
+
let onClarifySubmit;
|
|
7
14
|
export function setClarifyUiChangeListener(listener) {
|
|
8
15
|
onSnapshotChange = listener;
|
|
9
16
|
}
|
|
17
|
+
export function setClarifySubmitHandler(handler) {
|
|
18
|
+
onClarifySubmit = handler;
|
|
19
|
+
}
|
|
20
|
+
export async function submitClarifyAnswer(text) {
|
|
21
|
+
await onClarifySubmit?.(text);
|
|
22
|
+
}
|
|
10
23
|
function notifySnapshotChange() {
|
|
11
24
|
onSnapshotChange?.();
|
|
12
25
|
}
|
|
@@ -14,14 +27,22 @@ export function getClarifyUiSnapshot() {
|
|
|
14
27
|
return snapshot;
|
|
15
28
|
}
|
|
16
29
|
export function setClarifyUiSnapshot(next) {
|
|
17
|
-
snapshot = next;
|
|
30
|
+
snapshot = { ...snapshot, ...next };
|
|
18
31
|
notifySnapshotChange();
|
|
19
32
|
}
|
|
20
33
|
export function resetClarifyUiSnapshot() {
|
|
21
|
-
snapshot = {
|
|
34
|
+
snapshot = { ...EMPTY_SNAPSHOT };
|
|
22
35
|
notifySnapshotChange();
|
|
23
36
|
}
|
|
24
37
|
export function isClarifyAsking() {
|
|
25
38
|
return snapshot.phase === "asking";
|
|
26
39
|
}
|
|
40
|
+
export function resetClarifySelection() {
|
|
41
|
+
snapshot = {
|
|
42
|
+
...snapshot,
|
|
43
|
+
selected: [],
|
|
44
|
+
focusedIndex: 0,
|
|
45
|
+
};
|
|
46
|
+
notifySnapshotChange();
|
|
47
|
+
}
|
|
27
48
|
//# sourceMappingURL=clarify-ui-state.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clarify-ui-state.js","sourceRoot":"","sources":["../../src/clarify/clarify-ui-state.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"clarify-ui-state.js","sourceRoot":"","sources":["../../src/clarify/clarify-ui-state.ts"],"names":[],"mappings":"AAeA,MAAM,cAAc,GAAsB;IACxC,KAAK,EAAE,MAAM;IACb,aAAa,EAAE,IAAI;IACnB,gBAAgB,EAAE,IAAI;IACtB,YAAY,EAAE,IAAI;IAClB,YAAY,EAAE,EAAE;IAChB,aAAa,EAAE,QAAQ;IACvB,QAAQ,EAAE,EAAE;IACZ,YAAY,EAAE,CAAC;CAChB,CAAC;AAEF,IAAI,QAAQ,GAAsB,EAAE,GAAG,cAAc,EAAE,CAAC;AAExD,IAAI,gBAA0C,CAAC;AAC/C,IAAI,eAAqE,CAAC;AAE1E,MAAM,UAAU,0BAA0B,CAAC,QAAkC;IAC3E,gBAAgB,GAAG,QAAQ,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,OAA6D;IAE7D,eAAe,GAAG,OAAO,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAY;IACpD,MAAM,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,oBAAoB;IAC3B,gBAAgB,EAAE,EAAE,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAgC;IACnE,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;IACpC,oBAAoB,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,QAAQ,GAAG,EAAE,GAAG,cAAc,EAAE,CAAC;IACjC,oBAAoB,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,QAAQ,GAAG;QACT,GAAG,QAAQ;QACX,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE,CAAC;KAChB,CAAC;IACF,oBAAoB,EAAE,CAAC;AACzB,CAAC"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import type { ClarifySelectionMode } from "./session-questionnaire.types.js";
|
|
1
2
|
export type ClarifyOptionId = "A" | "B" | "C" | "D" | "E";
|
|
2
3
|
export type ClarifyAnswer = {
|
|
3
4
|
kind: "option";
|
|
4
5
|
optionId: ClarifyOptionId;
|
|
5
6
|
detail?: string;
|
|
7
|
+
} | {
|
|
8
|
+
kind: "multi";
|
|
9
|
+
optionIds: ClarifyOptionId[];
|
|
6
10
|
} | {
|
|
7
11
|
kind: "custom";
|
|
8
12
|
text: string;
|
|
@@ -12,5 +16,6 @@ export type ClarifyAnswer = {
|
|
|
12
16
|
kind: "invalid";
|
|
13
17
|
};
|
|
14
18
|
/** Parse a user reply to a sec-clarify multiple-choice question (CLAR-004). */
|
|
15
|
-
export declare function parseClarifyAnswer(text: string): ClarifyAnswer;
|
|
19
|
+
export declare function parseClarifyAnswer(text: string, selectionMode?: ClarifySelectionMode): ClarifyAnswer;
|
|
20
|
+
export declare function formatSelectionSubmit(selected: Set<ClarifyOptionId>, selectionMode: ClarifySelectionMode): string | null;
|
|
16
21
|
//# sourceMappingURL=parse-clarify-answer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-clarify-answer.d.ts","sourceRoot":"","sources":["../../src/clarify/parse-clarify-answer.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAE1D,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,eAAe,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"parse-clarify-answer.d.ts","sourceRoot":"","sources":["../../src/clarify/parse-clarify-answer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,MAAM,MAAM,eAAe,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAE1D,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,eAAe,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,eAAe,EAAE,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAYxB,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,aAAa,GAAE,oBAA+B,GAC7C,aAAa,CAsCf;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,EAC9B,aAAa,EAAE,oBAAoB,GAClC,MAAM,GAAG,IAAI,CAKf"}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
const READY_PHRASE = /^pode\s+executar\b/i;
|
|
2
|
+
const OPTION_LETTERS = new Set(["A", "B", "C", "D", "E"]);
|
|
3
|
+
function parseMultiLetters(trimmed) {
|
|
4
|
+
const compact = trimmed.replace(/[\s,;|]+/g, "").toUpperCase();
|
|
5
|
+
if (!compact || !/^[A-D]+$/.test(compact))
|
|
6
|
+
return null;
|
|
7
|
+
const ids = [...new Set(compact.split("").filter((c) => OPTION_LETTERS.has(c)))];
|
|
8
|
+
return ids.length > 0 ? ids : null;
|
|
9
|
+
}
|
|
2
10
|
/** Parse a user reply to a sec-clarify multiple-choice question (CLAR-004). */
|
|
3
|
-
export function parseClarifyAnswer(text) {
|
|
11
|
+
export function parseClarifyAnswer(text, selectionMode = "single") {
|
|
4
12
|
const trimmed = text.trim();
|
|
5
13
|
if (!trimmed) {
|
|
6
14
|
return { kind: "invalid" };
|
|
@@ -8,7 +16,16 @@ export function parseClarifyAnswer(text) {
|
|
|
8
16
|
if (READY_PHRASE.test(trimmed)) {
|
|
9
17
|
return { kind: "ready" };
|
|
10
18
|
}
|
|
11
|
-
|
|
19
|
+
if (selectionMode === "multi") {
|
|
20
|
+
const multi = parseMultiLetters(trimmed);
|
|
21
|
+
if (multi && multi.length > 1) {
|
|
22
|
+
return { kind: "multi", optionIds: multi };
|
|
23
|
+
}
|
|
24
|
+
if (multi?.length === 1) {
|
|
25
|
+
return { kind: "option", optionId: multi[0] };
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const match = trimmed.match(/^([A-D])\b([\s\S]*)$/i);
|
|
12
29
|
if (match?.[1]) {
|
|
13
30
|
const optionId = match[1].toUpperCase();
|
|
14
31
|
const remainder = (match[2] ?? "").trim().replace(/^[\s:,\-–—]+/, "");
|
|
@@ -17,6 +34,22 @@ export function parseClarifyAnswer(text) {
|
|
|
17
34
|
}
|
|
18
35
|
return { kind: "option", optionId };
|
|
19
36
|
}
|
|
37
|
+
// Legacy E) other
|
|
38
|
+
const legacyOther = trimmed.match(/^E\b([\s\S]*)$/i);
|
|
39
|
+
if (legacyOther) {
|
|
40
|
+
const detail = (legacyOther[1] ?? "").trim().replace(/^[\s:,\-–—]+/, "");
|
|
41
|
+
if (detail)
|
|
42
|
+
return { kind: "custom", text: detail };
|
|
43
|
+
return { kind: "option", optionId: "D" };
|
|
44
|
+
}
|
|
20
45
|
return { kind: "custom", text: trimmed };
|
|
21
46
|
}
|
|
47
|
+
export function formatSelectionSubmit(selected, selectionMode) {
|
|
48
|
+
const ids = [...selected].filter((id) => id !== "D" && id !== "E").sort();
|
|
49
|
+
if (ids.length === 0)
|
|
50
|
+
return null;
|
|
51
|
+
if (selectionMode === "multi")
|
|
52
|
+
return ids.join(" ");
|
|
53
|
+
return ids[0] ?? null;
|
|
54
|
+
}
|
|
22
55
|
//# sourceMappingURL=parse-clarify-answer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-clarify-answer.js","sourceRoot":"","sources":["../../src/clarify/parse-clarify-answer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-clarify-answer.js","sourceRoot":"","sources":["../../src/clarify/parse-clarify-answer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import type { ClarifyOptionId, QuestionnaireScenario, SessionQuestionnaireFields } from "./session-questionnaire.types.js";
|
|
1
|
+
import type { ClarifyOptionId, ClarifySelectionMode, QuestionnaireScenario, SessionQuestionnaireFields } from "./session-questionnaire.types.js";
|
|
2
2
|
export type ClarifyQuestionOption = {
|
|
3
|
-
id: "A" | "B" | "C"
|
|
3
|
+
id: "A" | "B" | "C";
|
|
4
4
|
label: string;
|
|
5
5
|
};
|
|
6
|
-
/** Build a
|
|
6
|
+
/** Build a compact structured question (max 3 choices + Outro). */
|
|
7
7
|
export declare function formatClarifyQuestionMarkdown(input: {
|
|
8
8
|
question: string;
|
|
9
9
|
options: ClarifyQuestionOption[];
|
|
10
10
|
language?: "pt" | "en";
|
|
11
11
|
}): string;
|
|
12
12
|
export declare function buildOptionsFromLabels(labels: string[]): ClarifyQuestionOption[];
|
|
13
|
+
export declare function selectionModeForField(field: string): ClarifySelectionMode;
|
|
13
14
|
export declare function resolveOptionLabel(optionId: ClarifyOptionId, optionLabels: string[]): string | null;
|
|
14
15
|
export declare function severityFromOptionLabel(label: string): string;
|
|
15
16
|
export type ScenarioFieldHint = {
|
|
@@ -18,7 +19,7 @@ export type ScenarioFieldHint = {
|
|
|
18
19
|
exampleQuestion: string;
|
|
19
20
|
exampleOptions: string[];
|
|
20
21
|
};
|
|
21
|
-
/** Scenario-aware hints — suggestions only; agent
|
|
22
|
+
/** Scenario-aware hints — suggestions only; agent or auto-ask uses these. */
|
|
22
23
|
export declare function suggestScenarioFields(scenario: QuestionnaireScenario, fields: SessionQuestionnaireFields): {
|
|
23
24
|
scenario: QuestionnaireScenario;
|
|
24
25
|
missingFields: string[];
|
|
@@ -29,8 +30,10 @@ export declare function formatQuestionFromInput(input: {
|
|
|
29
30
|
question: string;
|
|
30
31
|
options: string[];
|
|
31
32
|
language?: "pt" | "en";
|
|
33
|
+
field?: string;
|
|
32
34
|
}): {
|
|
33
35
|
markdown: string;
|
|
34
36
|
optionLabels: string[];
|
|
37
|
+
selectionMode: ClarifySelectionMode;
|
|
35
38
|
};
|
|
36
39
|
//# sourceMappingURL=question-format.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"question-format.d.ts","sourceRoot":"","sources":["../../src/clarify/question-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,kCAAkC,CAAC;AAE1C,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"question-format.d.ts","sourceRoot":"","sources":["../../src/clarify/question-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,kCAAkC,CAAC;AAE1C,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAQF,mEAAmE;AACnE,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB,GAAG,MAAM,CAWT;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,qBAAqB,EAAE,CAKhF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAEzE;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,EACzB,YAAY,EAAE,MAAM,EAAE,GACrB,MAAM,GAAG,IAAI,CAKf;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAW7D;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AA0EF,6EAA6E;AAC7E,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,qBAAqB,EAC/B,MAAM,EAAE,0BAA0B,GACjC;IACD,QAAQ,EAAE,qBAAqB,CAAC;IAChC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACpC,CAKA;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,CAK/E;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,oBAAoB,CAAC;CACrC,CASA"}
|