@productbrain/cli 0.1.0-beta.10332 → 0.1.0-beta.10343
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/dist/__tests__/route-latency-budget.test.js +3 -4
- package/dist/__tests__/route-latency-budget.test.js.map +1 -1
- package/dist/generated/routeLatencyBudget.generated.d.ts +0 -1
- package/dist/generated/routeLatencyBudget.generated.d.ts.map +1 -1
- package/dist/generated/routeLatencyBudget.generated.js +0 -5
- package/dist/generated/routeLatencyBudget.generated.js.map +1 -1
- package/dist/lib/client.d.ts.map +1 -1
- package/dist/lib/client.js +0 -1
- package/dist/lib/client.js.map +1 -1
- package/package.json +1 -1
- package/dist/__tests__/onboarding-path-b.test.d.ts +0 -2
- package/dist/__tests__/onboarding-path-b.test.d.ts.map +0 -1
- package/dist/__tests__/onboarding-path-b.test.js +0 -46
- package/dist/__tests__/onboarding-path-b.test.js.map +0 -1
- package/dist/__tests__/onboarding.test.d.ts +0 -6
- package/dist/__tests__/onboarding.test.d.ts.map +0 -1
- package/dist/__tests__/onboarding.test.js +0 -371
- package/dist/__tests__/onboarding.test.js.map +0 -1
- package/dist/__tests__/onboardingFallback.test.d.ts +0 -2
- package/dist/__tests__/onboardingFallback.test.d.ts.map +0 -1
- package/dist/__tests__/onboardingFallback.test.js +0 -74
- package/dist/__tests__/onboardingFallback.test.js.map +0 -1
- package/dist/lib/conversation-engine.d.ts +0 -45
- package/dist/lib/conversation-engine.d.ts.map +0 -1
- package/dist/lib/conversation-engine.js +0 -112
- package/dist/lib/conversation-engine.js.map +0 -1
- package/dist/lib/conversation-phases.d.ts +0 -59
- package/dist/lib/conversation-phases.d.ts.map +0 -1
- package/dist/lib/conversation-phases.js +0 -11
- package/dist/lib/conversation-phases.js.map +0 -1
- package/dist/lib/conversation-signals.d.ts +0 -30
- package/dist/lib/conversation-signals.d.ts.map +0 -1
- package/dist/lib/conversation-signals.js +0 -64
- package/dist/lib/conversation-signals.js.map +0 -1
- package/dist/lib/onboarding-path-b.d.ts +0 -10
- package/dist/lib/onboarding-path-b.d.ts.map +0 -1
- package/dist/lib/onboarding-path-b.js +0 -238
- package/dist/lib/onboarding-path-b.js.map +0 -1
- package/dist/lib/onboarding-shared.d.ts +0 -103
- package/dist/lib/onboarding-shared.d.ts.map +0 -1
- package/dist/lib/onboarding-shared.js +0 -208
- package/dist/lib/onboarding-shared.js.map +0 -1
- package/dist/lib/onboarding-shared.test.d.ts +0 -2
- package/dist/lib/onboarding-shared.test.d.ts.map +0 -1
- package/dist/lib/onboarding-shared.test.js +0 -131
- package/dist/lib/onboarding-shared.test.js.map +0 -1
- package/dist/lib/onboarding-topics.d.ts +0 -27
- package/dist/lib/onboarding-topics.d.ts.map +0 -1
- package/dist/lib/onboarding-topics.js +0 -57
- package/dist/lib/onboarding-topics.js.map +0 -1
- package/dist/lib/onboarding.d.ts +0 -21
- package/dist/lib/onboarding.d.ts.map +0 -1
- package/dist/lib/onboarding.js +0 -387
- package/dist/lib/onboarding.js.map +0 -1
|
@@ -75,11 +75,10 @@ describe('route latency budget — derivation from route type (WP-575)', () => {
|
|
|
75
75
|
expect(() => AbortSignal.timeout(latencyBudgetMsForRoute(name))).not.toThrow();
|
|
76
76
|
}
|
|
77
77
|
});
|
|
78
|
-
it('gives the
|
|
79
|
-
// PR #533 review, Codex P1 — the flat action budget was tighter than
|
|
80
|
-
// own server-side
|
|
78
|
+
it('gives the long-deadline action its declared per-route budget', () => {
|
|
79
|
+
// PR #533 review, Codex P1 — the flat action budget was tighter than this route's
|
|
80
|
+
// own server-side deadline, so the connector would abort a call the server was still
|
|
81
81
|
// legitimately working on. See the SSOT for the citation behind each number.
|
|
82
|
-
expect(latencyBudgetMsForRoute('onboarding.chat')).toBeGreaterThan(45_000);
|
|
83
82
|
expect(latencyBudgetMsForRoute('quality.spineCheck')).toBeGreaterThan(5 * 60_000);
|
|
84
83
|
});
|
|
85
84
|
it('carries the whole route registry, not a sampled subset', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-latency-budget.test.js","sourceRoot":"","sources":["../../src/__tests__/route-latency-budget.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"route-latency-budget.test.js","sourceRoot":"","sources":["../../src/__tests__/route-latency-budget.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,iEAAiE;AACjE,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,MAAM,uDAAuD,CAAC;AACvG,OAAO,EACN,uBAAuB,EACvB,gCAAgC,EAChC,kBAAkB,EAClB,8BAA8B,EAC9B,uBAAuB,EACvB,2BAA2B,GAC3B,MAAM,8CAA8C,CAAC;AAEtD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE1D,QAAQ,CAAC,oDAAoD,EAAE,GAAG,EAAE;IACnE,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QAC1D,MAAM,QAAQ,GAAG,uBAAuB,CAAC,SAAS,CAAW,CAAC;QAC9D,MAAM,SAAS,GAAG,YAAY,CAC7B,IAAI,CAAC,SAAS,EAAE,4DAA4D,CAAC,EAC7E,MAAM,CACN,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,GAAG,EAAE;QACxF,MAAM,QAAQ,GAAI,KAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1F,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,4DAA4D,EAAE,GAAG,EAAE;IAC3E,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC9D,mFAAmF;QACnF,6EAA6E;QAC7E,8DAA8D;QAC9D,MAAM,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACrF,MAAM,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;QAC3F,kFAAkF;QAClF,sFAAsF;QACtF,kEAAkE;QAClE,MAAM,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/D,MAAM,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClE,MAAM,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wFAAwF,EAAE,GAAG,EAAE;QACjG,mFAAmF;QACnF,0EAA0E;QAC1E,MAAM,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QACzF,MAAM,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAC1C,IAAI,CAAC,GAAG,CACP,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,EACzC,GAAG,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAClD,CACD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;QAC1F,sFAAsF;QACtF,wFAAwF;QACxF,qFAAqF;QACrF,oFAAoF;QACpF,yEAAyE;QACzE,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAAE,CAAC;YAC1F,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC3E,gEAAgE;YAChE,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAChF,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACvE,kFAAkF;QAClF,qFAAqF;QACrF,6EAA6E;QAC7E,MAAM,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QACjE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9C,8EAA8E;QAC9E,4FAA4F;QAC5F,2FAA2F;QAC3F,iGAAiG;QACjG,sEAAsE;QACtE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAC1C,qFAAqF;QACrF,gDAAgD;QAChD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACtD,MAAM,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACpD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACpD,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -14,7 +14,6 @@ export declare const ROUTE_LATENCY_BUDGET_MS: {
|
|
|
14
14
|
* declares — see the SSOT for the citation behind every number.
|
|
15
15
|
*/
|
|
16
16
|
export declare const ROUTE_LATENCY_BUDGET_OVERRIDE_MS: {
|
|
17
|
-
readonly 'onboarding.chat': 60000;
|
|
18
17
|
readonly 'quality.spineCheck': 330000;
|
|
19
18
|
readonly 'chain.runDigest': 270000;
|
|
20
19
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routeLatencyBudget.generated.d.ts","sourceRoot":"","sources":["../../src/generated/routeLatencyBudget.generated.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE/D,qEAAqE;AACrE,eAAO,MAAM,uBAAuB;;;;CAI1B,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC
|
|
1
|
+
{"version":3,"file":"routeLatencyBudget.generated.d.ts","sourceRoot":"","sources":["../../src/generated/routeLatencyBudget.generated.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE/D,qEAAqE;AACrE,eAAO,MAAM,uBAAuB;;;;CAI1B,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC;;;CAgBnC,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,EAAE,MAG5C,CAAC;AA8KF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAGzE,CAAC;AAEF,oFAAoF;AACpF,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAE1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CASjE"}
|
|
@@ -32,10 +32,6 @@ export const ROUTE_LATENCY_BUDGET_MS = {
|
|
|
32
32
|
* declares — see the SSOT for the citation behind every number.
|
|
33
33
|
*/
|
|
34
34
|
export const ROUTE_LATENCY_BUDGET_OVERRIDE_MS = {
|
|
35
|
-
// convex/intelligence/onboardingChat.ts:333 declares `timeoutMs: 45_000` for the extraction
|
|
36
|
-
// LLM call — 15s BEYOND the flat action budget. 60s clears it with room for the surrounding
|
|
37
|
-
// request/response work the 45s covers none of.
|
|
38
|
-
'onboarding.chat': 60_000,
|
|
39
35
|
// convex/intelligence/spineCheck.ts:210 sets SPINE_CHECK_WALL_CLOCK_BUDGET_MS = 4 * 60_000
|
|
40
36
|
// for its SEQUENTIAL strategy probes (:225-239, deliberately not Promise.all), and :215
|
|
41
37
|
// reserves a tail of one 25s probe + an optional 25s story pass + 10s. The server's own
|
|
@@ -209,7 +205,6 @@ const ROUTE_TYPE_ENTRIES = {
|
|
|
209
205
|
"quality.scheduleSpineCheck": "mutation",
|
|
210
206
|
"quality.getLatestSpineVerdict": "query",
|
|
211
207
|
"quality.checks": "query",
|
|
212
|
-
"onboarding.chat": "action",
|
|
213
208
|
"workspace.health": "query",
|
|
214
209
|
"workspace.healthAll": "query",
|
|
215
210
|
"performance.getVitalsSummary": "query",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routeLatencyBudget.generated.js","sourceRoot":"","sources":["../../src/generated/routeLatencyBudget.generated.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAC/G,gEAAgE;AAChE,iEAAiE;AACjE,EAAE;AACF,wFAAwF;AACxF,uFAAuF;AACvF,wFAAwF;AACxF,uEAAuE;AACvE,EAAE;AACF,sFAAsF;AACtF,wFAAwF;AACxF,qFAAqF;AACrF,kFAAkF;AAClF,EAAE;AACF,oFAAoF;AACpF,wFAAwF;AACxF,uFAAuF;AACvF,gFAAgF;AAChF,4CAA4C;AAI5C,qEAAqE;AACrE,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACtC,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,MAAM;CACL,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC/C,
|
|
1
|
+
{"version":3,"file":"routeLatencyBudget.generated.js","sourceRoot":"","sources":["../../src/generated/routeLatencyBudget.generated.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/lib/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAWH,OAAO,KAAK,EAAkB,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAMjF,OAAO,EAAE,QAAQ,EAAa,MAAM,aAAa,CAAC;AAGlD,OAAO,EAAkC,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAoBzF,wBAAgB,8BAA8B,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAErE;AAkCD,kGAAkG;AAClG,qBAAa,QAAS,SAAQ,QAAQ;IACpC,OAAO,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAClC,sFAAsF;IACtF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;gBAEjD,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,EAAE,EAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,qBAAqB,CAAC,EAAE,MAAM,EAAE;CAc5I;AAGD,OAAO,EAAE,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAK7E,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAoDjF,gFAAgF;AAChF,MAAM,MAAM,iBAAiB,GACzB;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpC;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,SAAS,SAA8C,GACtD,OAAO,CAAC,iBAAiB,CAAC,CAqC5B;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/lib/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAWH,OAAO,KAAK,EAAkB,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAMjF,OAAO,EAAE,QAAQ,EAAa,MAAM,aAAa,CAAC;AAGlD,OAAO,EAAkC,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAoBzF,wBAAgB,8BAA8B,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAErE;AAkCD,kGAAkG;AAClG,qBAAa,QAAS,SAAQ,QAAQ;IACpC,OAAO,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAClC,sFAAsF;IACtF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;gBAEjD,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,EAAE,EAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,qBAAqB,CAAC,EAAE,MAAM,EAAE;CAc5I;AAGD,OAAO,EAAE,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAK7E,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAoDjF,gFAAgF;AAChF,MAAM,MAAM,iBAAiB,GACzB;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpC;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,SAAS,SAA8C,GACtD,OAAO,CAAC,iBAAiB,CAAC,CAqC5B;AA4BD,mEAAmE;AACnE,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,OAAO,CAAC,CAoClB;AAqFD,wBAAsB,UAAU,CAAC,CAAC,GAAG,OAAO,EAC1C,EAAE,EAAE,MAAM,EACV,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAClC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,CAAC,CAAC,CAIZ;AAgCD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,qBAAqB,CAAC,CAAC,GAAG,OAAO,EACrD,EAAE,EAAE,MAAM,EACV,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAClC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,CAAC,CAAC,CA8BZ"}
|
package/dist/lib/client.js
CHANGED
|
@@ -217,7 +217,6 @@ const SPINNER_LABELS = {
|
|
|
217
217
|
'agent.closeSession': 'Closing session',
|
|
218
218
|
'agent.touchSession': 'Refreshing session',
|
|
219
219
|
resolveWorkspace: 'Resolving workspace',
|
|
220
|
-
'onboarding.chat': 'Thinking',
|
|
221
220
|
context: 'Loading context',
|
|
222
221
|
'entries.relate': 'Creating relation',
|
|
223
222
|
'entries.unrelate': 'Removing relation',
|
package/dist/lib/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/lib/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/lib/client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding-path-b.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/onboarding-path-b.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { mergeExtractions, dedupe } from '../lib/onboarding-path-b.js';
|
|
3
|
-
describe('Path B onboarding', () => {
|
|
4
|
-
describe('mergeExtractions', () => {
|
|
5
|
-
it('second extraction vision wins over first', () => {
|
|
6
|
-
const merged = mergeExtractions({ vision: 'first vision' }, { vision: 'second vision' });
|
|
7
|
-
expect(merged.vision).toBe('second vision');
|
|
8
|
-
});
|
|
9
|
-
it('falls back to first vision if second is empty', () => {
|
|
10
|
-
const merged = mergeExtractions({ vision: 'first vision' }, { vision: '' });
|
|
11
|
-
expect(merged.vision).toBe('first vision');
|
|
12
|
-
});
|
|
13
|
-
it('concatenates and deduplicates arrays', () => {
|
|
14
|
-
const merged = mergeExtractions({ vision: 'v', keyTerms: ['API', 'SDK'] }, { vision: 'v', keyTerms: ['SDK', 'REST'] });
|
|
15
|
-
expect(merged.keyTerms).toHaveLength(3);
|
|
16
|
-
expect(merged.keyTerms).toContain('API');
|
|
17
|
-
expect(merged.keyTerms).toContain('REST');
|
|
18
|
-
});
|
|
19
|
-
it('handles null first extraction', () => {
|
|
20
|
-
const merged = mergeExtractions(null, { vision: 'only vision' });
|
|
21
|
-
expect(merged.vision).toBe('only vision');
|
|
22
|
-
});
|
|
23
|
-
it('merges multiple array fields independently', () => {
|
|
24
|
-
const merged = mergeExtractions({ vision: 'v', keyTerms: ['API'], tensions: ['scaling'] }, { vision: 'v', keyTerms: ['SDK'], keyDecisions: ['use REST'] });
|
|
25
|
-
expect(merged.keyTerms).toEqual(['API', 'SDK']);
|
|
26
|
-
expect(merged.tensions).toEqual(['scaling']);
|
|
27
|
-
expect(merged.keyDecisions).toEqual(['use REST']);
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
describe('dedupe', () => {
|
|
31
|
-
it('removes case-insensitive duplicates', () => {
|
|
32
|
-
expect(dedupe(['React', 'react', 'Vue'])).toHaveLength(2);
|
|
33
|
-
});
|
|
34
|
-
it('preserves original casing of first occurrence', () => {
|
|
35
|
-
const result = dedupe(['TypeScript', 'typescript']);
|
|
36
|
-
expect(result[0]).toBe('TypeScript');
|
|
37
|
-
});
|
|
38
|
-
it('returns empty array for empty input', () => {
|
|
39
|
-
expect(dedupe([])).toEqual([]);
|
|
40
|
-
});
|
|
41
|
-
it('handles single-element arrays', () => {
|
|
42
|
-
expect(dedupe(['React'])).toEqual(['React']);
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
//# sourceMappingURL=onboarding-path-b.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding-path-b.test.js","sourceRoot":"","sources":["../../src/__tests__/onboarding-path-b.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/onboarding.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -1,371 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Unit tests for onboarding conversation pure functions.
|
|
3
|
-
* WP-304: extractionToEntries, signal detection, phase engine, post-processing.
|
|
4
|
-
*/
|
|
5
|
-
import { describe, it, expect } from 'vitest';
|
|
6
|
-
import { truncate, firstNWords, countWords, validateExtractedEntries, findSkippedForMissingWhy, } from '../lib/onboarding-shared.js';
|
|
7
|
-
import { detectSignals } from '../lib/conversation-signals.js';
|
|
8
|
-
import { buildTopicDirective, evaluateTopic, shouldSkipTopic } from '../lib/conversation-engine.js';
|
|
9
|
-
import { ONBOARDING_TOPICS } from '../lib/onboarding-topics.js';
|
|
10
|
-
// Signal detection patterns (from conversation-signals.ts)
|
|
11
|
-
const PRODUCT_PATTERNS = [
|
|
12
|
-
/\b(?:building|making|creating|working on|developing)\b/i,
|
|
13
|
-
/\b(?:app|platform|tool|product|service|saas|api|system|software)\b/i,
|
|
14
|
-
];
|
|
15
|
-
const CHALLENGE_PATTERNS = [
|
|
16
|
-
/\b(?:hard|hardest|difficult|challeng|struggling?|pain|problem|frustrat|broken|mess)\b/i,
|
|
17
|
-
/\b(?:don'?t know|can'?t figure|losing track|forget|lost context|outdated|rot)\b/i,
|
|
18
|
-
/\b(?:hate|annoying|waste|slow|manual|tedious)\b/i,
|
|
19
|
-
];
|
|
20
|
-
const WHY_PB_PATTERNS = [
|
|
21
|
-
/\b(?:product brain|brain)\b/i,
|
|
22
|
-
/\b(?:context|memory|decisions?|knowledge|source of truth|ssot)\b/i,
|
|
23
|
-
/\b(?:ai|llm|claude|cursor|copilot|agent)\b.*\b(?:context|remember|forget|know)\b/i,
|
|
24
|
-
/\b(?:remember|forget|consistent|prompt)\b.*\b(?:ai|llm|agent|tool)\b/i,
|
|
25
|
-
// Broader: user describes the problem PB solves without naming PB
|
|
26
|
-
/\b(?:re-?explain|repeat myself|start from (?:zero|scratch)|re-?tell)\b/i,
|
|
27
|
-
/\b(?:docs?|documentation|md files?)\b.*\b(?:outdated|stale|rot|drift|wrong|maintain)\b/i,
|
|
28
|
-
/\b(?:cost|waste|spend)\b.*\b(?:tokens?|context|time)\b.*\b(?:re-?explain|repeat|maintain)\b/i,
|
|
29
|
-
];
|
|
30
|
-
function detectSignal(patterns, text) {
|
|
31
|
-
return patterns.some((p) => p.test(text));
|
|
32
|
-
}
|
|
33
|
-
// Post-processing (from conversation-engine.ts)
|
|
34
|
-
const BANNED_PATTERNS = [
|
|
35
|
-
/\bsounds like\b/gi,
|
|
36
|
-
/\bit sounds like\b/gi,
|
|
37
|
-
/\bsounds\s+(?:ambitious|exciting|fascinating|impressive|intriguing|interesting|amazing|complex|like)\b/gi,
|
|
38
|
-
/\bintriguing\b/gi,
|
|
39
|
-
];
|
|
40
|
-
function sanitizeResponse(text) {
|
|
41
|
-
let cleaned = text;
|
|
42
|
-
for (const pattern of BANNED_PATTERNS) {
|
|
43
|
-
cleaned = cleaned.replace(pattern, '');
|
|
44
|
-
}
|
|
45
|
-
return cleaned.replace(/\s{2,}/g, ' ').replace(/^\s*[.,]\s*/, '').trim();
|
|
46
|
-
}
|
|
47
|
-
// ── Tests ───────────────────────────────────────────────────────────────────
|
|
48
|
-
describe('truncate', () => {
|
|
49
|
-
it('returns string unchanged when within limit', () => {
|
|
50
|
-
expect(truncate('hello', 10)).toBe('hello');
|
|
51
|
-
});
|
|
52
|
-
it('truncates at maxLen', () => {
|
|
53
|
-
expect(truncate('hello world', 5)).toBe('hello');
|
|
54
|
-
});
|
|
55
|
-
it('handles empty string', () => {
|
|
56
|
-
expect(truncate('', 10)).toBe('');
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
describe('firstNWords', () => {
|
|
60
|
-
it('returns first N words', () => {
|
|
61
|
-
expect(firstNWords('one two three four five', 3)).toBe('one two three');
|
|
62
|
-
});
|
|
63
|
-
it('returns all words when fewer than N', () => {
|
|
64
|
-
expect(firstNWords('just two', 6)).toBe('just two');
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
describe('countWords', () => {
|
|
68
|
-
it('counts words', () => {
|
|
69
|
-
expect(countWords('hello world foo')).toBe(3);
|
|
70
|
-
});
|
|
71
|
-
it('returns 0 for empty', () => {
|
|
72
|
-
expect(countWords('')).toBe(0);
|
|
73
|
-
expect(countWords(' ')).toBe(0);
|
|
74
|
-
});
|
|
75
|
-
});
|
|
76
|
-
describe('signal detection (pattern matching)', () => {
|
|
77
|
-
it('detects product mentions', () => {
|
|
78
|
-
expect(detectSignal(PRODUCT_PATTERNS, 'I am building an app for accounting')).toBe(true);
|
|
79
|
-
expect(detectSignal(PRODUCT_PATTERNS, 'something big')).toBe(false);
|
|
80
|
-
});
|
|
81
|
-
it('detects challenge mentions', () => {
|
|
82
|
-
expect(detectSignal(CHALLENGE_PATTERNS, 'the hardest part is keeping context')).toBe(true);
|
|
83
|
-
expect(detectSignal(CHALLENGE_PATTERNS, 'decision rot is a real problem')).toBe(true);
|
|
84
|
-
expect(detectSignal(CHALLENGE_PATTERNS, 'we build great features')).toBe(false);
|
|
85
|
-
});
|
|
86
|
-
it('detects why-PB mentions', () => {
|
|
87
|
-
expect(detectSignal(WHY_PB_PATTERNS, 'AI agents forget what we decided')).toBe(true);
|
|
88
|
-
expect(detectSignal(WHY_PB_PATTERNS, 'we need a source of truth for decisions')).toBe(true);
|
|
89
|
-
expect(detectSignal(WHY_PB_PATTERNS, 'I just saw an ad')).toBe(false);
|
|
90
|
-
});
|
|
91
|
-
it('detects why-PB from reexplaining pattern', () => {
|
|
92
|
-
expect(detectSignal(WHY_PB_PATTERNS, 'i have to reexplain everything to my ai tools')).toBe(true);
|
|
93
|
-
});
|
|
94
|
-
it('detects why-PB from outdated docs pattern', () => {
|
|
95
|
-
expect(detectSignal(WHY_PB_PATTERNS, 'my md docs get outdated quickly')).toBe(true);
|
|
96
|
-
});
|
|
97
|
-
});
|
|
98
|
-
describe('detectSignals (integrated thresholds)', () => {
|
|
99
|
-
it('requires >= 10 words for mentionedProduct — short pattern match is not enough', () => {
|
|
100
|
-
const shortMsg = [{ role: 'user', content: 'I am building an app' }]; // 5 words, pattern matches
|
|
101
|
-
expect(detectSignals(shortMsg).mentionedProduct).toBe(false);
|
|
102
|
-
const longMsg = [{ role: 'user', content: 'I am building an app that connects to Revolut for bank transactions' }]; // 12 words
|
|
103
|
-
expect(detectSignals(longMsg).mentionedProduct).toBe(true);
|
|
104
|
-
});
|
|
105
|
-
it('requires >= 15 words for hasSubstantiveAnswer', () => {
|
|
106
|
-
const shortMsg = [{ role: 'user', content: 'it connects to revolut and gets my bank transactions automatically' }]; // 10 words
|
|
107
|
-
expect(detectSignals(shortMsg).hasSubstantiveAnswer).toBe(false);
|
|
108
|
-
const longMsg = [{ role: 'user', content: 'it connects to revolut and gets my bank transactions then matches them to invoices from gmail automatically' }]; // 17 words
|
|
109
|
-
expect(detectSignals(longMsg).hasSubstantiveAnswer).toBe(true);
|
|
110
|
-
});
|
|
111
|
-
it('counts substantive messages as >= 8 words', () => {
|
|
112
|
-
const msgs = [
|
|
113
|
-
{ role: 'user', content: 'a cool app' }, // 3 words — not substantive
|
|
114
|
-
{ role: 'user', content: 'me and my team use it daily for tracking' }, // 9 words — substantive
|
|
115
|
-
{ role: 'user', content: 'yes' }, // 1 word — not substantive
|
|
116
|
-
];
|
|
117
|
-
expect(detectSignals(msgs).substantiveMessageCount).toBe(1);
|
|
118
|
-
});
|
|
119
|
-
it('does not flag mentionedProduct without a pattern match even with many words', () => {
|
|
120
|
-
const noPattern = [{ role: 'user', content: 'I just want to try this out and see how it goes for my daily workflow' }]; // 16 words, no product pattern
|
|
121
|
-
expect(detectSignals(noPattern).mentionedProduct).toBe(false);
|
|
122
|
-
});
|
|
123
|
-
});
|
|
124
|
-
describe('sanitizeResponse', () => {
|
|
125
|
-
it('strips "sounds like"', () => {
|
|
126
|
-
expect(sanitizeResponse('Automated accounting sounds like a big project')).toBe('Automated accounting a big project');
|
|
127
|
-
});
|
|
128
|
-
it('strips "intriguing"', () => {
|
|
129
|
-
expect(sanitizeResponse('Something big, huh? Intriguing!')).toBe("Something big, huh? !");
|
|
130
|
-
});
|
|
131
|
-
it('strips "sounds ambitious"', () => {
|
|
132
|
-
expect(sanitizeResponse('Automating accounting sounds ambitious')).toBe('Automating accounting');
|
|
133
|
-
});
|
|
134
|
-
it('leaves clean text unchanged', () => {
|
|
135
|
-
expect(sanitizeResponse('What problem are you trying to solve?')).toBe('What problem are you trying to solve?');
|
|
136
|
-
});
|
|
137
|
-
});
|
|
138
|
-
describe('validateExtractedEntries', () => {
|
|
139
|
-
it('returns empty array for non-array input', () => {
|
|
140
|
-
expect(validateExtractedEntries(null)).toEqual([]);
|
|
141
|
-
expect(validateExtractedEntries(undefined)).toEqual([]);
|
|
142
|
-
});
|
|
143
|
-
it('returns empty array for empty entries', () => {
|
|
144
|
-
expect(validateExtractedEntries([])).toEqual([]);
|
|
145
|
-
});
|
|
146
|
-
it('validates and passes through well-formed entries', () => {
|
|
147
|
-
const result = validateExtractedEntries([
|
|
148
|
-
{ collection: 'strategy', name: 'Product Vision', description: 'Automate bank transactions', typeLabel: "What you're building", why: 'Manual reconciliation is the top support ticket driver' },
|
|
149
|
-
]);
|
|
150
|
-
expect(result).toHaveLength(1);
|
|
151
|
-
expect(result[0].name).toBe('Product Vision');
|
|
152
|
-
expect(result[0].description).toBe('Automate bank transactions');
|
|
153
|
-
expect(result[0].typeLabel).toBe("What you're building");
|
|
154
|
-
});
|
|
155
|
-
it('rejects entries with invalid collection', () => {
|
|
156
|
-
const result = validateExtractedEntries([
|
|
157
|
-
{ collection: 'invalid', name: 'Something Good', description: 'desc', typeLabel: 'label' },
|
|
158
|
-
]);
|
|
159
|
-
expect(result).toEqual([]);
|
|
160
|
-
});
|
|
161
|
-
it('rejects entries with empty name or description', () => {
|
|
162
|
-
const result = validateExtractedEntries([
|
|
163
|
-
{ collection: 'strategy', name: '', description: 'desc', typeLabel: 'label' },
|
|
164
|
-
{ collection: 'strategy', name: 'Some Name', description: '', typeLabel: 'label' },
|
|
165
|
-
]);
|
|
166
|
-
expect(result).toEqual([]);
|
|
167
|
-
});
|
|
168
|
-
it('deduplicates by name (case-insensitive)', () => {
|
|
169
|
-
const result = validateExtractedEntries([
|
|
170
|
-
{ collection: 'glossary', name: 'Supabase', description: 'Database option', typeLabel: 'Term' },
|
|
171
|
-
{ collection: 'glossary', name: 'supabase', description: 'Another desc', typeLabel: 'Term' },
|
|
172
|
-
]);
|
|
173
|
-
expect(result).toHaveLength(1);
|
|
174
|
-
});
|
|
175
|
-
it('caps at 7 entries', () => {
|
|
176
|
-
const entries = Array.from({ length: 10 }, (_, i) => ({
|
|
177
|
-
collection: 'tensions',
|
|
178
|
-
name: `Challenge number ${i + 1}`,
|
|
179
|
-
description: `Description ${i + 1}`,
|
|
180
|
-
typeLabel: 'A challenge',
|
|
181
|
-
}));
|
|
182
|
-
expect(validateExtractedEntries(entries)).toHaveLength(7);
|
|
183
|
-
});
|
|
184
|
-
it('truncates long names to 120 chars', () => {
|
|
185
|
-
const longName = 'A '.repeat(100);
|
|
186
|
-
const result = validateExtractedEntries([
|
|
187
|
-
{ collection: 'decisions', name: longName, description: 'desc', typeLabel: 'label', why: 'reason' },
|
|
188
|
-
]);
|
|
189
|
-
expect(result[0].name.length).toBeLessThanOrEqual(120);
|
|
190
|
-
});
|
|
191
|
-
it('skips single-word names except for glossary', () => {
|
|
192
|
-
const result = validateExtractedEntries([
|
|
193
|
-
{ collection: 'strategy', name: 'Vision', description: 'desc', typeLabel: 'label' },
|
|
194
|
-
{ collection: 'glossary', name: 'Supabase', description: 'A database', typeLabel: 'Term' },
|
|
195
|
-
]);
|
|
196
|
-
expect(result).toHaveLength(1);
|
|
197
|
-
expect(result[0].collection).toBe('glossary');
|
|
198
|
-
});
|
|
199
|
-
it('falls back to collection name when typeLabel is empty', () => {
|
|
200
|
-
const result = validateExtractedEntries([
|
|
201
|
-
{ collection: 'strategy', name: 'Product Vision', description: 'desc', typeLabel: '', why: 'reason' },
|
|
202
|
-
]);
|
|
203
|
-
expect(result[0].typeLabel).toBe('strategy');
|
|
204
|
-
});
|
|
205
|
-
it('passes descriptions through without template wrapping', () => {
|
|
206
|
-
// PR #1126 review round 2 (Codex, PRRT_kwDORS4ils6l5QN4): was 'architecture' — retired,
|
|
207
|
-
// no repoint; swapped to 'decisions' (still valid) to keep exercising the same
|
|
208
|
-
// description-pass-through contract, unrelated to which collection is used.
|
|
209
|
-
const result = validateExtractedEntries([
|
|
210
|
-
{ collection: 'decisions', name: 'Evaluating supabase vs liteSQL', description: 'Need to decide between liteSQL and supabase for production', typeLabel: 'A decision you have made', why: 'liteSQL has lower ops overhead for our team size' },
|
|
211
|
-
]);
|
|
212
|
-
expect(result[0].description).toBe('Need to decide between liteSQL and supabase for production');
|
|
213
|
-
expect(result[0].description).not.toContain('Technology choices:');
|
|
214
|
-
expect(result[0].description).not.toContain('part of the tech stack');
|
|
215
|
-
});
|
|
216
|
-
// WP-770 why-producers ruling (TASK-360, TEN-3918): onboarding never invents a why.
|
|
217
|
-
it('does not capture a why-required entry (strategy/decisions) with no `why` — never fills it with description', () => {
|
|
218
|
-
const result = validateExtractedEntries([
|
|
219
|
-
{ collection: 'strategy', name: 'Product Vision', description: 'Automate bank transactions' },
|
|
220
|
-
{ collection: 'decisions', name: 'Adopt X over Y', description: 'We chose X' },
|
|
221
|
-
]);
|
|
222
|
-
expect(result).toEqual([]);
|
|
223
|
-
});
|
|
224
|
-
it('reports a skipped why-required entry via findSkippedForMissingWhy', () => {
|
|
225
|
-
const skipped = findSkippedForMissingWhy([
|
|
226
|
-
{ collection: 'strategy', name: 'Product Vision', description: 'Automate bank transactions' },
|
|
227
|
-
]);
|
|
228
|
-
expect(skipped).toEqual([{ name: 'Product Vision', collection: 'strategy' }]);
|
|
229
|
-
});
|
|
230
|
-
it('does not report a non-why-required entry (tensions/glossary) as skipped, even with no `why`', () => {
|
|
231
|
-
const skipped = findSkippedForMissingWhy([
|
|
232
|
-
{ collection: 'tensions', name: 'Two teams diverge', description: 'disagree' },
|
|
233
|
-
{ collection: 'glossary', name: 'Supabase', description: 'A database' },
|
|
234
|
-
]);
|
|
235
|
-
expect(skipped).toEqual([]);
|
|
236
|
-
});
|
|
237
|
-
});
|
|
238
|
-
// ── Coach pattern: topic engine ─────────────────────────────────────────────
|
|
239
|
-
function makeState(overrides = {}) {
|
|
240
|
-
return {
|
|
241
|
-
messages: [],
|
|
242
|
-
userMessageCount: 0,
|
|
243
|
-
totalUserWords: 0,
|
|
244
|
-
topicExchanges: {},
|
|
245
|
-
phaseExchanges: {},
|
|
246
|
-
completedTopics: new Set(),
|
|
247
|
-
completedPhases: new Set(),
|
|
248
|
-
currentTopicId: 'why_here',
|
|
249
|
-
currentPhaseId: 'why_here',
|
|
250
|
-
completedQA: [],
|
|
251
|
-
signals: {
|
|
252
|
-
mentionedProduct: false,
|
|
253
|
-
mentionedChallenge: false,
|
|
254
|
-
mentionedWhyPB: false,
|
|
255
|
-
hasSubstantiveAnswer: false,
|
|
256
|
-
substantiveMessageCount: 0,
|
|
257
|
-
},
|
|
258
|
-
refusalStreak: 0,
|
|
259
|
-
...overrides,
|
|
260
|
-
};
|
|
261
|
-
}
|
|
262
|
-
describe('shouldSkipTopic', () => {
|
|
263
|
-
it('returns false when skipIfSignal is null (always runs)', () => {
|
|
264
|
-
const topic = ONBOARDING_TOPICS[0]; // why_here — skipIfSignal: null
|
|
265
|
-
expect(shouldSkipTopic(topic, makeState().signals, 50)).toBe(false);
|
|
266
|
-
});
|
|
267
|
-
it('returns true when skipIfSignal is present and enough words', () => {
|
|
268
|
-
const topic = ONBOARDING_TOPICS[1]; // what_they_build — skipIfSignal: mentionedProduct
|
|
269
|
-
const signals = { ...makeState().signals, mentionedProduct: true };
|
|
270
|
-
expect(shouldSkipTopic(topic, signals, 25)).toBe(true);
|
|
271
|
-
});
|
|
272
|
-
it('returns false when skipIfSignal is not present', () => {
|
|
273
|
-
const topic = ONBOARDING_TOPICS[1]; // what_they_build — skipIfSignal: mentionedProduct
|
|
274
|
-
expect(shouldSkipTopic(topic, makeState().signals, 50)).toBe(false);
|
|
275
|
-
});
|
|
276
|
-
it('returns false when content is too thin even if signal is present', () => {
|
|
277
|
-
const topic = ONBOARDING_TOPICS[1]; // what_they_build — skipIfSignal: mentionedProduct
|
|
278
|
-
const signals = { ...makeState().signals, mentionedProduct: true };
|
|
279
|
-
expect(shouldSkipTopic(topic, signals, 10)).toBe(false); // < 20 words
|
|
280
|
-
});
|
|
281
|
-
});
|
|
282
|
-
describe('evaluateTopic', () => {
|
|
283
|
-
const topic = ONBOARDING_TOPICS[1]; // what_they_build — maxExchanges: 2, heuristic: mentionedProduct
|
|
284
|
-
it('skips when skipIfSignal is present and enough words', () => {
|
|
285
|
-
const state = makeState({ totalUserWords: 25, signals: { ...makeState().signals, mentionedProduct: true } });
|
|
286
|
-
const result = evaluateTopic(topic, state, false);
|
|
287
|
-
expect(result).toEqual({ complete: true, forced: false, skip: true });
|
|
288
|
-
});
|
|
289
|
-
it('completes when LLM says complete and at least 1 exchange', () => {
|
|
290
|
-
const state = makeState({ topicExchanges: { what_they_build: 1 } });
|
|
291
|
-
const result = evaluateTopic(topic, state, true);
|
|
292
|
-
expect(result).toEqual({ complete: true, forced: false, skip: false });
|
|
293
|
-
});
|
|
294
|
-
it('does NOT complete when LLM says complete but 0 exchanges', () => {
|
|
295
|
-
const state = makeState();
|
|
296
|
-
const result = evaluateTopic(topic, state, true);
|
|
297
|
-
expect(result).toEqual({ complete: false, forced: false, skip: false });
|
|
298
|
-
});
|
|
299
|
-
it('completes via heuristic backup when signal present but low words (no skip)', () => {
|
|
300
|
-
const state = makeState({
|
|
301
|
-
topicExchanges: { what_they_build: 1 },
|
|
302
|
-
signals: { ...makeState().signals, mentionedProduct: true },
|
|
303
|
-
});
|
|
304
|
-
// totalUserWords=0 < 20, so skip is blocked, but heuristic still completes the topic
|
|
305
|
-
const result = evaluateTopic(topic, state, false);
|
|
306
|
-
expect(result).toEqual({ complete: true, forced: false, skip: false });
|
|
307
|
-
});
|
|
308
|
-
it('forces completion at maxExchanges', () => {
|
|
309
|
-
const state = makeState({ topicExchanges: { what_they_build: 2 } });
|
|
310
|
-
const result = evaluateTopic(topic, state, false);
|
|
311
|
-
expect(result).toEqual({ complete: true, forced: true, skip: false });
|
|
312
|
-
});
|
|
313
|
-
it('continues when nothing is met', () => {
|
|
314
|
-
const state = makeState({ topicExchanges: { what_they_build: 1 } });
|
|
315
|
-
const result = evaluateTopic(topic, state, false);
|
|
316
|
-
expect(result).toEqual({ complete: false, forced: false, skip: false });
|
|
317
|
-
});
|
|
318
|
-
});
|
|
319
|
-
describe('evaluateTopic — why_here (no skip)', () => {
|
|
320
|
-
const topic = ONBOARDING_TOPICS[0]; // why_here — heuristic: hasSubstantiveAnswer
|
|
321
|
-
it('completes via heuristic when hasSubstantiveAnswer', () => {
|
|
322
|
-
const state = makeState({
|
|
323
|
-
topicExchanges: { why_here: 1 },
|
|
324
|
-
signals: { ...makeState().signals, hasSubstantiveAnswer: true },
|
|
325
|
-
});
|
|
326
|
-
const result = evaluateTopic(topic, state, false);
|
|
327
|
-
expect(result).toEqual({ complete: true, forced: false, skip: false });
|
|
328
|
-
});
|
|
329
|
-
it('never skips (skipIfSignal is null)', () => {
|
|
330
|
-
const state = makeState({
|
|
331
|
-
signals: { ...makeState().signals, hasSubstantiveAnswer: true, mentionedProduct: true, mentionedChallenge: true },
|
|
332
|
-
});
|
|
333
|
-
const result = evaluateTopic(topic, state, false);
|
|
334
|
-
// Even with all signals true, why_here doesn't skip — it always runs
|
|
335
|
-
// But it completes via heuristic if exchanges >= 1
|
|
336
|
-
expect(result.skip).toBe(false);
|
|
337
|
-
});
|
|
338
|
-
});
|
|
339
|
-
describe('buildTopicDirective', () => {
|
|
340
|
-
it('renders XML with goal, behaviour, criteria', () => {
|
|
341
|
-
const topic = ONBOARDING_TOPICS[0];
|
|
342
|
-
const result = buildTopicDirective(topic, 0, 3, [], 'TestWorkspace');
|
|
343
|
-
expect(result).toContain('<topic id="why_here" index="1" of="3">');
|
|
344
|
-
expect(result).toContain('<goal>');
|
|
345
|
-
expect(result).toContain('<behaviour>');
|
|
346
|
-
expect(result).toContain('<criteria>');
|
|
347
|
-
expect(result).toContain('</topic>');
|
|
348
|
-
});
|
|
349
|
-
it('includes topic behaviour text', () => {
|
|
350
|
-
const topic = ONBOARDING_TOPICS[0];
|
|
351
|
-
const result = buildTopicDirective(topic, 0, 3, [], 'Acme Corp');
|
|
352
|
-
expect(result).toContain('Hey, what brings you to Product Brain?');
|
|
353
|
-
});
|
|
354
|
-
it('includes accumulated_context when completedQA is non-empty', () => {
|
|
355
|
-
const qa = [
|
|
356
|
-
{ topicId: 'why_here', question: 'What brings you here?', answer: 'Building a finance tool' },
|
|
357
|
-
];
|
|
358
|
-
const topic = ONBOARDING_TOPICS[1];
|
|
359
|
-
const result = buildTopicDirective(topic, 1, 3, qa, 'TestWS');
|
|
360
|
-
expect(result).toContain('<accumulated_context>');
|
|
361
|
-
expect(result).toContain('<topic_qa id="why_here">');
|
|
362
|
-
expect(result).toContain('Building a finance tool');
|
|
363
|
-
expect(result).toContain('</accumulated_context>');
|
|
364
|
-
});
|
|
365
|
-
it('omits accumulated_context when completedQA is empty', () => {
|
|
366
|
-
const topic = ONBOARDING_TOPICS[0];
|
|
367
|
-
const result = buildTopicDirective(topic, 0, 3, [], 'TestWS');
|
|
368
|
-
expect(result).not.toContain('<accumulated_context>');
|
|
369
|
-
});
|
|
370
|
-
});
|
|
371
|
-
//# sourceMappingURL=onboarding.test.js.map
|