jamdesk 1.1.151 → 1.1.153

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.
@@ -16,19 +16,63 @@ describe('requestAiFixes', () => {
16
16
  it('makes no network call when there is nothing to resolve', async () => {
17
17
  const out = await requestAiFixes({ projectId: 'p', anchors: [], descriptions: [] });
18
18
  expect(apiCall).not.toHaveBeenCalled();
19
- expect(out).toEqual({ anchors: [], descriptions: [] });
19
+ expect(out).toEqual({ anchors: [], descriptions: [], degradeReason: null });
20
20
  });
21
- it('degrades to empty when apiCall throws (offline)', async () => {
22
- apiCall.mockRejectedValue(new Error('network'));
21
+ it('returns a successful result with no degrade reason', async () => {
22
+ apiCall.mockResolvedValue(resp({ anchors: [{ index: 0, id: 'x' }], descriptions: [] }));
23
+ const out = await requestAiFixes({ projectId: 'p', anchors: oneAnchor, descriptions: [] });
24
+ expect(out.degradeReason).toBeNull();
25
+ });
26
+ it('degrades to empty when apiCall throws (offline) and reports an unreachable reason', async () => {
27
+ apiCall.mockRejectedValue(new Error('API request failed: network'));
23
28
  const out = await requestAiFixes({ projectId: 'p', anchors: oneAnchor, descriptions: [] });
24
29
  expect(apiCall).toHaveBeenCalledTimes(1);
25
- expect(out).toEqual({ anchors: [], descriptions: [] });
30
+ expect(out.anchors).toEqual([]);
31
+ expect(out.descriptions).toEqual([]);
32
+ expect(out.degradeReason).toContain('could not reach the AI service');
33
+ });
34
+ it('surfaces a "Not logged in" throw verbatim (actionable)', async () => {
35
+ apiCall.mockRejectedValue(new Error('Not logged in. Run `jamdesk login` first.'));
36
+ const out = await requestAiFixes({ projectId: 'p', anchors: oneAnchor, descriptions: [] });
37
+ expect(out.degradeReason).toContain('Not logged in');
38
+ expect(out.degradeReason).toContain('jamdesk login');
39
+ });
40
+ it('surfaces a "Session expired" throw verbatim (actionable)', async () => {
41
+ apiCall.mockRejectedValue(new Error('Session expired. Run `jamdesk login` to re-authenticate. (TOKEN_EXPIRED)'));
42
+ const out = await requestAiFixes({ projectId: 'p', anchors: oneAnchor, descriptions: [] });
43
+ expect(out.degradeReason).toContain('Session expired');
26
44
  });
27
- it('degrades to empty on a non-2xx response', async () => {
28
- apiCall.mockResolvedValue(resp({}, false));
45
+ it('degrades to empty on a generic non-2xx and reports the status', async () => {
46
+ apiCall.mockResolvedValue(resp({}, false)); // status 500
29
47
  const out = await requestAiFixes({ projectId: 'p', anchors: oneAnchor, descriptions: [] });
30
48
  expect(apiCall).toHaveBeenCalledTimes(1);
31
- expect(out).toEqual({ anchors: [], descriptions: [] });
49
+ expect(out.anchors).toEqual([]);
50
+ expect(out.degradeReason).toContain('HTTP 500');
51
+ });
52
+ it('reports a sign-in/membership reason on 401/403', async () => {
53
+ apiCall.mockResolvedValue({ ok: false, status: 403, json: async () => ({}) });
54
+ const out = await requestAiFixes({ projectId: 'p', anchors: oneAnchor, descriptions: [] });
55
+ expect(out.degradeReason).toContain('jamdesk login');
56
+ });
57
+ it('reports a rate-limit reason on 429', async () => {
58
+ apiCall.mockResolvedValue({ ok: false, status: 429, json: async () => ({}) });
59
+ const out = await requestAiFixes({ projectId: 'p', anchors: oneAnchor, descriptions: [] });
60
+ expect(out.degradeReason).toContain('rate limit');
61
+ });
62
+ it('keeps successful batch results AND reports the first failure (partial degrade)', async () => {
63
+ // 60 descriptions → 2 batches. Batch 0 succeeds, batch 1 is rate-limited.
64
+ let call = 0;
65
+ apiCall.mockImplementation((_ep, opts) => {
66
+ call += 1;
67
+ if (call === 1)
68
+ return resp({ anchors: [], descriptions: opts.body.descriptions.map((_, i) => ({ index: i, text: 'd' })) });
69
+ return { ok: false, status: 429, json: async () => ({}) };
70
+ });
71
+ const descriptions = Array.from({ length: 60 }, (_, i) => ({ title: `T${i}`, pageText: 'b' }));
72
+ const out = await requestAiFixes({ projectId: 'p', anchors: [], descriptions });
73
+ expect(apiCall).toHaveBeenCalledTimes(2);
74
+ expect(out.descriptions).toHaveLength(50); // batch 0's results survive
75
+ expect(out.degradeReason).toContain('rate limit'); // batch 1's failure is reported
32
76
  });
33
77
  it('chunks >50 into multiple batches and re-bases indices to global', async () => {
34
78
  // Echo each batch's own indices; requestAiFixes must offset them back to global.
@@ -1 +1 @@
1
- {"version":3,"file":"ai-fix-client.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/ai-fix-client.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-fix-client.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/ai-fix-client.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;AACxB,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,wEAAwE;AACxE,MAAM,IAAI,GAAG,CAAC,IAAa,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;AACpG,2EAA2E;AAC3E,MAAM,SAAS,GAAG,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAErE,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,UAAU,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3C,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACxF,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3F,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;QACpF,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACxF,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3F,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mFAAmF,EAAE,KAAK,IAAI,EAAE;QACjG,OAAO,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3F,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,OAAO,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAC;QAClF,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3F,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACrD,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,OAAO,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC,CAAC;QACjH,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3F,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa;QACzD,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3F,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,OAAO,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9E,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3F,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,OAAO,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9E,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3F,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;QAC9F,0EAA0E;QAC1E,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAW,EAAE,IAA2C,EAAE,EAAE;YACtF,IAAI,IAAI,CAAC,CAAC;YACV,IAAI,IAAI,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5H,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5D,CAAC,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAC/F,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;QAChF,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAQ,4BAA4B;QAC9E,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,gCAAgC;IACrF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,iFAAiF;QACjF,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAW,EAAE,IAA+D,EAAE,EAAE,CAC1G,IAAI,CAAC;YACH,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YACjE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;SAC9E,CAAC,CAAC,CAAC;QACN,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAC/F,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;QAChF,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAY,eAAe;QACpE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAU,4BAA4B;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6FAA6F,EAAE,KAAK,IAAI,EAAE;QAC3G,6EAA6E;QAC7E,4EAA4E;QAC5E,gFAAgF;QAChF,mEAAmE;QACnE,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAW,EAAE,IAA+D,EAAE,EAAE,CAC1G,IAAI,CAAC;YACH,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YACjE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;SAC9E,CAAC,CAAC,CAAC;QACN,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACrG,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAC9F,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;QAC5E,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAY,sCAAsC;QAC3F,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB;QAC9G,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAY,2CAA2C;QAChG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,8 @@ import { runFixer, applyEdits, normalizeLinkPath, parseHref, isRealAnchor, NEEDS
12
12
  import { scanMissingDescriptions } from '../lib/missing-description-scan.js';
13
13
  import { setFrontmatterField } from '../lib/frontmatter-write.js';
14
14
  import { requestAiFixes } from '../lib/ai-fix-client.js';
15
+ import { isLoggedIn } from '../lib/auth.js';
16
+ import { loadConfig } from '../lib/config.js';
15
17
  // The engine tags AI-deferrable skips by appending NEEDS_AI_MARKER (imported from
16
18
  // fix-engine) to the skip reason — we match on it as a substring so the engine and the
17
19
  // CLI can never drift on the exact marker text.
@@ -232,6 +234,10 @@ export async function runFix(options) {
232
234
  if (options.types?.length)
233
235
  warnings = warnings.filter((wn) => options.types.includes(wn.type));
234
236
  const plan = planFixes(warnings, { hostAtDocs, locales, headingsOf, pageExists });
237
+ // AI description proposals are collected here but WRITTEN LAST (after the anchor
238
+ // edits are applied) — see the apply-order comment below. A description write
239
+ // inserts frontmatter lines and would shift the line an anchor edit targets.
240
+ let pendingDescriptions = [];
235
241
  // ---- AI fallback tier -------------------------------------------------------
236
242
  if (!options.noAi) {
237
243
  const hasNeedsAiSkips = plan.skipped.some((s) => s.reason.includes(NEEDS_AI_MARKER));
@@ -239,7 +245,7 @@ export async function runFix(options) {
239
245
  if (hasNeedsAiSkips || missing.length > 0) {
240
246
  const projectId = options.project ?? config.projectId ?? '';
241
247
  if (!projectId) {
242
- output.hint('AI fixes need a project — pass --project <id> or set "projectId" in docs.json. Skipping the AI tier.');
248
+ output.warn('AI fixes need a project — pass --project <id> or set "projectId" in docs.json. Skipping the AI tier.');
243
249
  }
244
250
  else {
245
251
  const resolveTarget = (href) => {
@@ -252,92 +258,149 @@ export async function runFix(options) {
252
258
  const { request, anchorMeta } = buildAiRequest({ skipped: plan.skipped, missing, headingsOf, resolveTarget });
253
259
  if (request.anchors.length || request.descriptions.length) {
254
260
  request.projectId = projectId;
255
- const spin2 = spinner('Asking AI to resolve the remaining warnings...');
256
- const resp = await requestAiFixes(request);
257
- spin2.stop();
258
- const aiAnchorEdits = anchorEditsFromResponse(resp, anchorMeta, headingsOf);
259
- if (aiAnchorEdits.length) {
260
- console.log('\nAI-resolved anchors:');
261
- for (const f of aiAnchorEdits)
262
- for (const e of f.edits) {
263
- console.log(` ${f.warning.file}:${f.warning.line} ${e.oldText} → ${e.newText}`);
264
- }
265
- plan.fixed.push(...aiAnchorEdits);
266
- plan.skipped = dropResolvedSkips(plan.skipped, aiAnchorEdits); // no double-count
261
+ // Login pre-check. The AI tier is an authenticated call (CLI → Functions
262
+ // aiFix). Without this, a logged-OUT run spins a misleading "Asking AI..."
263
+ // spinner that instantly fails auth and degrades with no explanation — the
264
+ // exact gap behind "why isn't the AI being called?". Surface the actionable
265
+ // sign-in step instead, and skip the doomed network round-trip. Session
266
+ // expiry mid-run (a token that can't refresh) is still caught downstream
267
+ // via requestAiFixes' degradeReason.
268
+ const cliConfig = await loadConfig();
269
+ if (!isLoggedIn(cliConfig)) {
270
+ const n = request.anchors.length + request.descriptions.length;
271
+ output.warn(`AI tier needs sign-in — run \`jamdesk login\` to resolve ${n} item(s) with AI. Skipping the AI tier.`);
267
272
  }
268
- // Descriptions: ALWAYS interactive, per-item confirm — the decision is the
269
- // pure planDescriptionWrites() (no `yes` param, so --yes cannot bypass it).
270
- // An AI-generated description is a content judgement a human must approve;
271
- // `--yes` governs only the validated link rewrites above.
272
- const { toReview, overflow, skippedNoTty } = planDescriptionWrites({
273
- descriptions: resp.descriptions, missing, cap: DESC_WRITE_CAP,
274
- isTTY: !!process.stdin.isTTY, dryRun: !!options.dryRun,
275
- });
276
- if (overflow > 0)
277
- output.hint(`AI proposed ${overflow} more description(s); reviewing the first ${DESC_WRITE_CAP} this run — re-run jamdesk fix for the rest.`);
278
- if (skippedNoTty) {
279
- output.hint('AI description suggestions need interactive confirmation — re-run jamdesk fix in a terminal to review them. Skipped (descriptions are never written unattended).');
280
- }
281
- for (const d of toReview) {
282
- console.log(`\nProposed description for ${d.file}:\n "${d.text}"`);
283
- if (options.dryRun) {
284
- console.log(' (dry run — not written)');
285
- continue;
286
- }
287
- const abs = path.join(projectDir, d.file);
288
- // Defense in depth: never read/write a target that isn't on disk (an
289
- // unresolved page would otherwise throw ENOENT mid-write).
290
- if (!fs.existsSync(abs)) {
291
- output.hint(`Skipped ${d.file} — file not found on disk.`);
292
- continue;
273
+ else {
274
+ const spin2 = spinner('Asking AI to resolve the remaining warnings...');
275
+ const resp = await requestAiFixes(request);
276
+ spin2.stop();
277
+ // The call was attempted but a batch failed (session expired, rate limit,
278
+ // unreachable, server error) — tell the user why, so an empty/partial AI
279
+ // result is never a silent no-op.
280
+ if (resp.degradeReason)
281
+ output.warn(resp.degradeReason);
282
+ const aiAnchorEdits = anchorEditsFromResponse(resp, anchorMeta, headingsOf);
283
+ if (aiAnchorEdits.length) {
284
+ console.log('\nAI-resolved anchors:');
285
+ for (const f of aiAnchorEdits)
286
+ for (const e of f.edits) {
287
+ console.log(` ${f.warning.file}:${f.warning.line} ${e.oldText} → ${e.newText}`);
288
+ }
289
+ plan.fixed.push(...aiAnchorEdits);
290
+ plan.skipped = dropResolvedSkips(plan.skipped, aiAnchorEdits); // no double-count
293
291
  }
294
- if (await confirm(`Write this description to ${d.file}?`)) {
295
- fs.writeFileSync(abs, setFrontmatterField(fs.readFileSync(abs, 'utf-8'), 'description', d.text), 'utf-8');
296
- output.success(`Wrote description to ${d.file}`);
292
+ // Descriptions: ALWAYS interactive, per-item confirm the decision is the
293
+ // pure planDescriptionWrites() (no `yes` param, so --yes cannot bypass it).
294
+ // An AI-generated description is a content judgement a human must approve;
295
+ // `--yes` governs only the validated link rewrites above.
296
+ const { toReview, overflow, skippedNoTty } = planDescriptionWrites({
297
+ descriptions: resp.descriptions, missing, cap: DESC_WRITE_CAP,
298
+ isTTY: !!process.stdin.isTTY, dryRun: !!options.dryRun,
299
+ });
300
+ if (overflow > 0)
301
+ output.hint(`AI proposed ${overflow} more description(s); reviewing the first ${DESC_WRITE_CAP} this run — re-run jamdesk fix for the rest.`);
302
+ if (skippedNoTty) {
303
+ output.warn('AI description suggestions need interactive confirmation — re-run jamdesk fix in a terminal to review them. Skipped (descriptions are never written unattended).');
297
304
  }
305
+ // Defer the writes — they happen AFTER the anchor edits are applied so a
306
+ // frontmatter insert can't shift an anchor edit's line. See runFix below.
307
+ pendingDescriptions = toReview;
298
308
  }
299
309
  }
300
310
  }
301
311
  }
302
312
  }
303
313
  // ---- end AI fallback tier ---------------------------------------------------
304
- if (plan.fixed.length === 0) {
305
- output.info(`Nothing to auto-fix. (${plan.skipped.length} warning(s) left for manual review.)`);
314
+ const hasAnchorFixes = plan.fixed.length > 0;
315
+ if (!hasAnchorFixes && pendingDescriptions.length === 0) {
316
+ output.info(`Nothing to auto-fix.${manualReviewTail(plan.skipped.length)}`);
306
317
  printSkips(plan);
307
318
  process.exit(0);
308
319
  }
309
- console.log('\nPlanned fixes:\n');
310
- for (const f of plan.fixed) {
311
- console.log(` ${f.warning.file}:${f.warning.line ?? '?'}`);
312
- for (const e of f.edits)
313
- console.log(` ${e.oldText} → ${e.newText}`);
320
+ if (hasAnchorFixes) {
321
+ console.log('\nPlanned fixes:\n');
322
+ for (const f of plan.fixed) {
323
+ console.log(` ${f.warning.file}:${f.warning.line ?? '?'}`);
324
+ for (const e of f.edits)
325
+ console.log(` ${e.oldText} → ${e.newText}`);
326
+ }
327
+ }
328
+ // Apply the anchor edits BEFORE any description write. An anchor edit replaces a
329
+ // link in place (line count unchanged), so its scan-time line number stays valid.
330
+ // A description write inserts frontmatter lines at the TOP of the file, shifting
331
+ // every body line below it — doing that first invalidates an anchor edit's line in
332
+ // the SAME file (the "applyEdits: oldText not found on line N" failure).
333
+ let written = 0;
334
+ let failedFixes = [];
335
+ if (hasAnchorFixes && !options.dryRun) {
336
+ if (options.yes || await confirm(`\nApply ${plural(plan.fixed.length, 'fix')} to local files?`)) {
337
+ const io = {
338
+ readFile: (p) => fs.readFileSync(p, 'utf-8'),
339
+ writeFile: (p, c) => fs.writeFileSync(p, c, 'utf-8'),
340
+ };
341
+ const outcome = applyPlanToFiles(plan, projectDir, io);
342
+ for (const f of outcome.failed)
343
+ output.error(`Could not fix ${f.file}: ${f.error}`);
344
+ written = outcome.written.length;
345
+ failedFixes = outcome.failed;
346
+ }
347
+ else {
348
+ output.info('Aborted — no files changed.');
349
+ process.exit(0);
350
+ }
351
+ }
352
+ // Descriptions LAST — now that the anchor edits are on disk, a frontmatter insert
353
+ // can't shift a line they depend on.
354
+ let wroteDescriptions = 0;
355
+ for (const d of pendingDescriptions) {
356
+ console.log(`\nProposed description for ${d.file}:\n "${d.text}"`);
357
+ if (options.dryRun) {
358
+ console.log(' (dry run — not written)');
359
+ continue;
360
+ }
361
+ const abs = path.join(projectDir, d.file);
362
+ // Defense in depth: never write a target that isn't on disk (an unresolved page
363
+ // would otherwise throw ENOENT mid-write).
364
+ if (!fs.existsSync(abs)) {
365
+ output.hint(`Skipped ${d.file} — file not found on disk.`);
366
+ continue;
367
+ }
368
+ if (await confirm(`Write this description to ${d.file}?`)) {
369
+ fs.writeFileSync(abs, setFrontmatterField(fs.readFileSync(abs, 'utf-8'), 'description', d.text), 'utf-8');
370
+ output.success(`Wrote description to ${d.file}`);
371
+ wroteDescriptions++;
372
+ }
314
373
  }
315
374
  if (options.dryRun) {
316
375
  console.log('\n(dry run — no files written)');
317
376
  printSkips(plan);
318
377
  process.exit(0);
319
378
  }
320
- if (!options.yes && !(await confirm(`\nApply ${plan.fixed.length} fix(es) to local files?`))) {
321
- output.info('Aborted no files changed.');
322
- process.exit(0);
379
+ const tail = manualReviewTail(plan.skipped.length);
380
+ if (failedFixes.length > 0) {
381
+ output.warn(`Fixed ${plural(written, 'file')}, ${failedFixes.length} failed.${tail}`);
323
382
  }
324
- const io = {
325
- readFile: (p) => fs.readFileSync(p, 'utf-8'),
326
- writeFile: (p, c) => fs.writeFileSync(p, c, 'utf-8'),
327
- };
328
- const outcome = applyPlanToFiles(plan, projectDir, io);
329
- for (const f of outcome.failed)
330
- output.error(`Could not fix ${f.file}: ${f.error}`);
331
- if (outcome.failed.length > 0) {
332
- output.warn(`Fixed ${outcome.written.length} file(s), ${outcome.failed.length} failed; ${plan.skipped.length} warning(s) left for manual review.`);
383
+ else if (hasAnchorFixes) {
384
+ output.success(`Fixed ${plural(written, 'file')}.${tail}`);
385
+ }
386
+ else if (wroteDescriptions > 0) {
387
+ output.success(`Wrote ${plural(wroteDescriptions, 'description')}.${tail}`);
333
388
  }
334
389
  else {
335
- output.success(`Fixed ${outcome.written.length} file(s); ${plan.skipped.length} warning(s) left for manual review.`);
390
+ output.info(`No changes applied.${tail}`);
336
391
  }
337
392
  printSkips(plan);
338
- if (outcome.failed.length > 0)
393
+ if (failedFixes.length > 0)
339
394
  process.exit(1);
340
395
  }
396
+ /** "1 file" / "3 files" — proper pluralization, no "file(s)" lazy plural. */
397
+ function plural(n, noun) {
398
+ return `${n} ${noun}${n === 1 ? '' : 's'}`;
399
+ }
400
+ /** Trailing manual-review clause, omitted entirely at 0 (no "0 warnings left"). */
401
+ function manualReviewTail(skipped) {
402
+ return skipped > 0 ? ` ${plural(skipped, 'warning')} left for manual review.` : '';
403
+ }
341
404
  function printSkips(plan) {
342
405
  if (plan.skipped.length === 0)
343
406
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"fix.js","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fix.js","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EACL,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,GAElF,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAA2B,MAAM,oCAAoC,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAyC,MAAM,yBAAyB,CAAC;AAChG,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,kFAAkF;AAClF,uFAAuF;AACvF,gDAAgD;AAEhD,sFAAsF;AACtF,qFAAqF;AACrF,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAM/D,MAAM,UAAU,cAAc,CAAC,KAK9B;IACC,MAAM,UAAU,GAAmB,EAAE,CAAC;IACtC,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC;YAAE,SAAS;QACtF,4EAA4E;QAC5E,gFAAgF;QAChF,kFAAkF;QAClF,gFAAgF;QAChF,kDAAkD;QAClD,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI;YAAE,SAAS;QACrC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;YAAE,SAAS;QACrC,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU;YAAE,SAAS;QAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACjD,OAAO,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACxF,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC1F,OAAO,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,IAAmB,EACnB,UAA0B,EAC1B,UAAiD;IAEjD,MAAM,KAAK,GAAqB,EAAE,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI;YAAE,SAAS;QAC7B,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC;YAAE,SAAS,CAAC,sBAAsB;QAChF,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAc,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAClL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;wFAEwF;AACxF,MAAM,UAAU,iBAAiB,CAC/B,OAA2B,EAC3B,QAA0B;IAE1B,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACjE,CAAC;AAID;;;;;;;;+EAQ+E;AAC/E,MAAM,UAAU,qBAAqB,CAAC,KAMrC;IACC,MAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IACnD,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1E,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;AAC5E,CAAC;AAeD,iEAAiE;AACjE,MAAM,UAAU,SAAS,CAAC,QAAsB,EAAE,IAAc;IAC9D,MAAM,IAAI,GAAY,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,EAAE;YACzB,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC7C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC5B,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;gBACtC,IAAI,CAAC,QAAQ;oBAAE,OAAO,IAAI,CAAC;gBAC3B,MAAM,CAAC,GAAG,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBACvD,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACvC,CAAC;YACD,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO;YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;;YAC/E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAWD;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAa,EAAE,UAAkB,EAAE,EAAU;IAC5E,MAAM,MAAM,GAAG,IAAI,GAAG,EAA8B,CAAC;IACrD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;;YAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,OAAO,GAAiB,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC1D,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,iBAAiB,CAAC,MAA+B;IACxD,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAmE,CAAC;IACxG,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;IAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAC9D,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IACrD,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC5E,CAAC;AAED,SAAS,eAAe,CAAC,UAAkB;IACzC,gFAAgF;IAChF,iFAAiF;IACjF,gEAAgE;IAChE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC/C,OAAO,CAAC,QAAgB,EAAiB,EAAE;QACzC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QACrD,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC;QACrD,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;aAC1D,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YACzD,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACjE,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED,wEAAwE;AACxE,2EAA2E;AAC3E,gFAAgF;AAChF,4CAA4C;AAC5C,SAAS,eAAe,CAAC,UAAkB,EAAE,QAAgB;IAC3D,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,QAAQ,MAAM,CAAC,CAAC;QAAE,OAAO,GAAG,QAAQ,MAAM,CAAC;IACtF,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAAE,OAAO,GAAG,QAAQ,YAAY,CAAC;IAChG,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,QAAgB;IACrC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1F,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AACzC,CAAC;AAUD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAmB;IAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;IAC9C,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,CAAC,CAAS,EAA0B,EAAE;QACvD,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtB,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAEvD,MAAM,IAAI,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,2CAA2C,CAAC,CAAC;IACzF,IAAI,QAAQ,GAAiB,EAAE,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE;YAC3D,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YACnE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE;SACjD,CAAC,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,2EAA2E;QAC3E,+EAA+E;QAC/E,MAAM,CAAC,GAAG,KAA4B,CAAC;QACvC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACb,IAAI,CAAC;gBAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAAC,CAAC;YACxC,MAAM,CAAC;gBAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;IACvD,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,CAAC;IAEZ,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM;QAAE,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,KAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAChG,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;IAElF,iFAAiF;IACjF,8EAA8E;IAC9E,6EAA6E;IAC7E,IAAI,mBAAmB,GAAuB,EAAE,CAAC;IAEjD,gFAAgF;IAChF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;QACrF,MAAM,OAAO,GAAG,uBAAuB,CACrC,eAAe,CAAC,MAAM,CAAC,EACvB,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAClB,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,CACtC,CAAC;QACF,IAAI,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;YAC5D,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,sGAAsG,CAAC,CAAC;YACtH,CAAC;iBAAM,CAAC;gBACN,MAAM,aAAa,GAAG,CAAC,IAAY,EAAiB,EAAE;oBACpD,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;oBAChC,IAAI,CAAC,EAAE;wBAAE,OAAO,IAAI,CAAC;oBACrB,MAAM,IAAI,GAAG,iBAAiB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;oBAC/C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxC,CAAC,CAAC;gBACF,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;gBAC9G,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;oBAC1D,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;oBAC9B,yEAAyE;oBACzE,2EAA2E;oBAC3E,2EAA2E;oBAC3E,4EAA4E;oBAC5E,wEAAwE;oBACxE,yEAAyE;oBACzE,qCAAqC;oBACrC,MAAM,SAAS,GAAG,MAAM,UAAU,EAAE,CAAC;oBACrC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;wBAC/D,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,yCAAyC,CAAC,CAAC;oBACtH,CAAC;yBAAM,CAAC;wBACN,MAAM,KAAK,GAAG,OAAO,CAAC,gDAAgD,CAAC,CAAC;wBACxE,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;wBAC3C,KAAK,CAAC,IAAI,EAAE,CAAC;wBACb,0EAA0E;wBAC1E,yEAAyE;wBACzE,kCAAkC;wBAClC,IAAI,IAAI,CAAC,aAAa;4BAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;wBACxD,MAAM,aAAa,GAAG,uBAAuB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;wBAC5E,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;4BACzB,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;4BACtC,KAAK,MAAM,CAAC,IAAI,aAAa;gCAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;oCACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gCACpF,CAAC;4BACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;4BAClC,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,kBAAkB;wBACnF,CAAC;wBACD,2EAA2E;wBAC3E,4EAA4E;wBAC5E,2EAA2E;wBAC3E,0DAA0D;wBAC1D,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,qBAAqB,CAAC;4BACjE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc;4BAC7D,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM;yBACvD,CAAC,CAAC;wBACH,IAAI,QAAQ,GAAG,CAAC;4BAAE,MAAM,CAAC,IAAI,CAAC,eAAe,QAAQ,6CAA6C,cAAc,8CAA8C,CAAC,CAAC;wBAChK,IAAI,YAAY,EAAE,CAAC;4BACjB,MAAM,CAAC,IAAI,CAAC,kKAAkK,CAAC,CAAC;wBAClL,CAAC;wBACD,yEAAyE;wBACzE,0EAA0E;wBAC1E,mBAAmB,GAAG,QAAQ,CAAC;oBACjC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,gFAAgF;IAEhF,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7C,IAAI,CAAC,cAAc,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,MAAM,CAAC,IAAI,CAAC,uBAAuB,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5E,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;YAC5D,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,iFAAiF;IACjF,kFAAkF;IAClF,iFAAiF;IACjF,mFAAmF;IACnF,yEAAyE;IACzE,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,WAAW,GAA2B,EAAE,CAAC;IAC7C,IAAI,cAAc,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,GAAG,IAAI,MAAM,OAAO,CAAC,WAAW,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAChG,MAAM,EAAE,GAAW;gBACjB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC;gBAC5C,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;aACrD,CAAC;YACF,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;YACvD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM;gBAAE,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACpF,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;YACjC,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,kFAAkF;IAClF,qCAAqC;IACrC,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,KAAK,MAAM,CAAC,IAAI,mBAAmB,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QACpE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1C,gFAAgF;QAChF,2CAA2C;QAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,4BAA4B,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAClG,IAAI,MAAM,OAAO,CAAC,6BAA6B,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC1D,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,mBAAmB,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YAC1G,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACjD,iBAAiB,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IAEzG,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,WAAW,CAAC,MAAM,WAAW,IAAI,EAAE,CAAC,CAAC;IACxF,CAAC;SAAM,IAAI,cAAc,EAAE,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;SAAM,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,OAAO,CAAC,SAAS,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,UAAU,CAAC,IAAI,CAAC,CAAC;IACjB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,6EAA6E;AAC7E,SAAS,MAAM,CAAC,CAAS,EAAE,IAAY;IACrC,OAAO,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAC7C,CAAC;AAED,mFAAmF;AACnF,SAAS,gBAAgB,CAAC,OAAe;IACvC,OAAO,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,CAAC;AACrF,CAAC;AAED,SAAS,UAAU,CAAC,IAAa;IAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACtC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAC1G,CAAC"}
@@ -19,9 +19,19 @@ export interface AiFixResponse {
19
19
  text: string | null;
20
20
  }>;
21
21
  }
22
+ /** What `requestAiFixes` returns: the server result PLUS a human-readable reason
23
+ * the AI tier degraded, when a batch was *attempted* but failed. `degradeReason`
24
+ * is null when every batch succeeded (or there was nothing to send). The CLI
25
+ * surfaces it so an empty AI result is never an unexplained no-op — the gap that
26
+ * made "why isn't the AI being called?" impossible to self-diagnose. */
27
+ export interface AiFixOutcome extends AiFixResponse {
28
+ degradeReason: string | null;
29
+ }
22
30
  /** Chunks into ≤BATCH requests so a description-heavy site (the common case on a
23
31
  * fresh docs repo) never trips the server's 50-cap and silently no-ops. Each
24
32
  * batch's response indices are re-based to global positions. A failed batch is
25
- * skipped (deterministic-only for those items); the run never errors. */
26
- export declare function requestAiFixes(req: AiFixRequest): Promise<AiFixResponse>;
33
+ * skipped (deterministic-only for those items); the run never errors, but the
34
+ * FIRST failure's reason is returned in `degradeReason` so the CLI can tell the
35
+ * user why the AI tier produced fewer (or zero) fixes. */
36
+ export declare function requestAiFixes(req: AiFixRequest): Promise<AiFixOutcome>;
27
37
  //# sourceMappingURL=ai-fix-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-fix-client.d.ts","sourceRoot":"","sources":["../../src/lib/ai-fix-client.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,KAAK,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACvE,YAAY,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1D;AACD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACrD,YAAY,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CAC7D;AASD;;;0EAG0E;AAC1E,wBAAsB,cAAc,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAyB9E"}
1
+ {"version":3,"file":"ai-fix-client.d.ts","sourceRoot":"","sources":["../../src/lib/ai-fix-client.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,KAAK,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACvE,YAAY,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1D;AACD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACrD,YAAY,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CAC7D;AACD;;;;yEAIyE;AACzE,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AA6BD;;;;;2DAK2D;AAC3D,wBAAsB,cAAc,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CA8B7E"}
@@ -7,12 +7,33 @@ function chunk(arr, size) {
7
7
  out.push(arr.slice(i, i + size));
8
8
  return out;
9
9
  }
10
+ /** Turn a non-2xx response into an actionable, user-facing reason. */
11
+ function describeHttpFailure(status) {
12
+ if (status === 401 || status === 403) {
13
+ return 'AI tier skipped — sign-in expired or you are not a member of this project. Run `jamdesk login`.';
14
+ }
15
+ if (status === 429) {
16
+ return 'AI tier skipped — AI rate limit reached (30 requests/min per project). Try again in a minute.';
17
+ }
18
+ return `AI tier skipped — the AI service returned an error (HTTP ${status}). Left for manual review.`;
19
+ }
20
+ /** Turn a thrown error into a user-facing reason. getValidToken throws actionable
21
+ * "Not logged in." / "Session expired." messages BEFORE the fetch — surface those
22
+ * verbatim; everything else is a network/transport failure. */
23
+ function describeThrownFailure(err) {
24
+ const msg = err instanceof Error ? err.message : String(err);
25
+ if (/log\s?in|session expired/i.test(msg))
26
+ return `AI tier skipped — ${msg}`;
27
+ return 'AI tier skipped — could not reach the AI service. Left for manual review.';
28
+ }
10
29
  /** Chunks into ≤BATCH requests so a description-heavy site (the common case on a
11
30
  * fresh docs repo) never trips the server's 50-cap and silently no-ops. Each
12
31
  * batch's response indices are re-based to global positions. A failed batch is
13
- * skipped (deterministic-only for those items); the run never errors. */
32
+ * skipped (deterministic-only for those items); the run never errors, but the
33
+ * FIRST failure's reason is returned in `degradeReason` so the CLI can tell the
34
+ * user why the AI tier produced fewer (or zero) fixes. */
14
35
  export async function requestAiFixes(req) {
15
- const out = { anchors: [], descriptions: [] };
36
+ const out = { anchors: [], descriptions: [], degradeReason: null };
16
37
  // Nothing to resolve → make no network call (the AI tier is cost-gated and
17
38
  // rate-limited; an empty round-trip would burn a token for no work).
18
39
  if (req.anchors.length === 0 && req.descriptions.length === 0)
@@ -20,6 +41,8 @@ export async function requestAiFixes(req) {
20
41
  const anchorBatches = chunk(req.anchors, BATCH);
21
42
  const descBatches = chunk(req.descriptions, BATCH);
22
43
  const batches = Math.max(anchorBatches.length, descBatches.length);
44
+ // `out.degradeReason` starts null, so `??=` records only the FIRST failure and
45
+ // leaves it untouched as later batches keep running (deterministic-only for their items).
23
46
  for (let b = 0; b < batches; b++) {
24
47
  const aChunk = anchorBatches[b] ?? [];
25
48
  const dChunk = descBatches[b] ?? [];
@@ -28,16 +51,18 @@ export async function requestAiFixes(req) {
28
51
  method: 'POST',
29
52
  body: { projectId: req.projectId, anchors: aChunk, descriptions: dChunk },
30
53
  });
31
- if (!resp.ok)
54
+ if (!resp.ok) {
55
+ out.degradeReason ??= describeHttpFailure(resp.status);
32
56
  continue;
57
+ }
33
58
  const json = (await resp.json());
34
59
  for (const a of json.anchors ?? [])
35
60
  out.anchors.push({ index: a.index + b * BATCH, id: a.id });
36
61
  for (const d of json.descriptions ?? [])
37
62
  out.descriptions.push({ index: d.index + b * BATCH, text: d.text });
38
63
  }
39
- catch {
40
- // skip this batch; the rest still run
64
+ catch (err) {
65
+ out.degradeReason ??= describeThrownFailure(err); // skip this batch; the rest still run
41
66
  }
42
67
  }
43
68
  return out;
@@ -1 +1 @@
1
- {"version":3,"file":"ai-fix-client.js","sourceRoot":"","sources":["../../src/lib/ai-fix-client.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,2CAA2C;AAE7D,SAAS,KAAK,CAAI,GAAQ,EAAE,IAAY;IACtC,MAAM,GAAG,GAAU,EAAE,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAC5E,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;0EAG0E;AAC1E,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAiB;IACpD,MAAM,GAAG,GAAkB,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IAC7D,2EAA2E;IAC3E,qEAAqE;IACrE,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAC1E,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE;gBAClC,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAwC;aAChH,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,EAAE;gBAAE,SAAS;YACvB,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAkB,CAAC;YAClD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE;gBAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/F,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE;gBAAE,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/G,CAAC;QAAC,MAAM,CAAC;YACP,sCAAsC;QACxC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"ai-fix-client.js","sourceRoot":"","sources":["../../src/lib/ai-fix-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jamdesk",
3
- "version": "1.1.151",
3
+ "version": "1.1.153",
4
4
  "description": "CLI for Jamdesk — build, preview, and deploy documentation sites from MDX. Dev server with hot reload, 50+ components, OpenAPI support, AI search, and Mintlify migration",
5
5
  "keywords": [
6
6
  "jamdesk",