genaicode 0.9.0 → 0.9.2

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.
Files changed (83) hide show
  1. package/dist/ai-service/common-types.d.ts +1 -0
  2. package/dist/ai-service/openai.js +1 -1
  3. package/dist/ai-service/service-configurations.js +1 -1
  4. package/dist/cli/cli-params.js +21 -0
  5. package/dist/cli/cli-params.js.map +1 -1
  6. package/dist/cli/validate-cli-params.js +19 -11
  7. package/dist/cli/validate-cli-params.js.map +1 -1
  8. package/dist/files/read-files.js +8 -2
  9. package/dist/files/read-files.js.map +1 -1
  10. package/dist/files/source-code-tree.d.ts +2 -5
  11. package/dist/files/source-code-tree.js +3 -32
  12. package/dist/files/source-code-tree.js.map +1 -1
  13. package/dist/files/source-code-types.d.ts +7 -2
  14. package/dist/files/source-code-utils.d.ts +22 -0
  15. package/dist/files/source-code-utils.js +70 -0
  16. package/dist/files/source-code-utils.js.map +1 -0
  17. package/dist/files/summary-cache.d.ts +1 -1
  18. package/dist/files/summary-cache.js +1 -1
  19. package/dist/main/common/user-actions.d.ts +1 -1
  20. package/dist/main/common/user-actions.js +3 -3
  21. package/dist/main/common/user-actions.js.map +1 -1
  22. package/dist/main/ui/backend/endpoints/generate-content-endpoint.js +6 -5
  23. package/dist/main/ui/backend/endpoints/generate-content-endpoint.js.map +1 -1
  24. package/dist/main/ui/backend/service.js +10 -8
  25. package/dist/main/ui/backend/service.js.map +1 -1
  26. package/dist/main/ui/frontend/assets/{index-DfiFNFf2.js → index-B0R1bgBi.js} +69 -65
  27. package/dist/main/ui/frontend/index.html +1 -1
  28. package/dist/prompt/ai-service-fallback.js +1 -1
  29. package/dist/prompt/ai-service-fallback.js.map +1 -1
  30. package/dist/prompt/function-calling-validate.js +1 -0
  31. package/dist/prompt/function-calling-validate.js.map +1 -1
  32. package/dist/prompt/function-calling.js +2 -0
  33. package/dist/prompt/function-calling.js.map +1 -1
  34. package/dist/prompt/function-defs/ask-question.js +4 -0
  35. package/dist/prompt/function-defs/ask-question.js.map +1 -1
  36. package/dist/prompt/function-defs/context-compression.d.ts +27 -0
  37. package/dist/prompt/function-defs/context-compression.js +34 -0
  38. package/dist/prompt/function-defs/context-compression.js.map +1 -0
  39. package/dist/prompt/function-defs/get-source-code.js +8 -11
  40. package/dist/prompt/function-defs/get-source-code.js.map +1 -1
  41. package/dist/prompt/function-defs/set-summaries.d.ts +1 -1
  42. package/dist/prompt/function-defs/set-summaries.js +10 -6
  43. package/dist/prompt/function-defs/set-summaries.js.map +1 -1
  44. package/dist/prompt/prompt-service.js +3 -3
  45. package/dist/prompt/prompt-service.js.map +1 -1
  46. package/dist/prompt/steps/step-ask-question/handlers/code-generation.js +26 -6
  47. package/dist/prompt/steps/step-ask-question/handlers/code-generation.js.map +1 -1
  48. package/dist/prompt/steps/step-ask-question/handlers/handle-context-compression.d.ts +2 -0
  49. package/dist/prompt/steps/step-ask-question/handlers/handle-context-compression.js +33 -0
  50. package/dist/prompt/steps/step-ask-question/handlers/handle-context-compression.js.map +1 -0
  51. package/dist/prompt/steps/step-ask-question/handlers/handle-end-conversation.d.ts +1 -1
  52. package/dist/prompt/steps/step-ask-question/handlers/handle-end-conversation.js +17 -1
  53. package/dist/prompt/steps/step-ask-question/handlers/handle-end-conversation.js.map +1 -1
  54. package/dist/prompt/steps/step-ask-question/handlers/handle-pull-app-context.js +35 -45
  55. package/dist/prompt/steps/step-ask-question/handlers/handle-pull-app-context.js.map +1 -1
  56. package/dist/prompt/steps/step-ask-question/handlers/handle-push-app-context.js +35 -36
  57. package/dist/prompt/steps/step-ask-question/handlers/handle-push-app-context.js.map +1 -1
  58. package/dist/prompt/steps/step-ask-question/handlers/handle-reasoning-inference.js +24 -14
  59. package/dist/prompt/steps/step-ask-question/handlers/handle-reasoning-inference.js.map +1 -1
  60. package/dist/prompt/steps/step-ask-question/handlers/remove-files-from-context.js +15 -19
  61. package/dist/prompt/steps/step-ask-question/handlers/remove-files-from-context.js.map +1 -1
  62. package/dist/prompt/steps/step-ask-question/handlers/request-files-content.js +36 -23
  63. package/dist/prompt/steps/step-ask-question/handlers/request-files-content.js.map +1 -1
  64. package/dist/prompt/steps/step-ask-question/step-ask-question-types.d.ts +1 -1
  65. package/dist/prompt/steps/step-ask-question/step-ask-question.js +2 -0
  66. package/dist/prompt/steps/step-ask-question/step-ask-question.js.map +1 -1
  67. package/dist/prompt/steps/step-context-compression.d.ts +8 -0
  68. package/dist/prompt/steps/step-context-compression.js +121 -0
  69. package/dist/prompt/steps/step-context-compression.js.map +1 -0
  70. package/dist/prompt/steps/step-context-optimization.js +8 -6
  71. package/dist/prompt/steps/step-context-optimization.js.map +1 -1
  72. package/dist/prompt/steps/step-ensure-context.js +4 -9
  73. package/dist/prompt/steps/step-ensure-context.js.map +1 -1
  74. package/dist/prompt/steps/step-generate-summary.js +1 -0
  75. package/dist/prompt/steps/step-generate-summary.js.map +1 -1
  76. package/dist/prompt/steps/step-process-file-updates.js +1 -0
  77. package/dist/prompt/steps/step-process-file-updates.js.map +1 -1
  78. package/dist/prompt/steps/step-summarization.d.ts +5 -0
  79. package/dist/prompt/steps/step-summarization.js +77 -42
  80. package/dist/prompt/steps/step-summarization.js.map +1 -1
  81. package/dist/prompt/systemprompt.js +1 -0
  82. package/dist/prompt/systemprompt.js.map +1 -1
  83. package/package.json +2 -2
@@ -29,61 +29,51 @@ export async function handlePullAppContext({ generateContentFn, prompt, options,
29
29
  ? `Retrieved context value for key "${key}": ${JSON.stringify(contextValue, null, 2)}`
30
30
  : `No context value found for key "${key}"`;
31
31
  const reasonInfo = reason ? `\nReason for retrieval: ${reason}` : '';
32
- // Return the action result with context information
33
- return {
34
- breakLoop: false,
35
- items: [
32
+ putSystemMessage('Context retrieved successfully', {
33
+ contextKey: key,
34
+ contextValue: contextValue,
35
+ reason,
36
+ operation: 'get',
37
+ });
38
+ prompt.push({
39
+ type: 'assistant',
40
+ text: `${contextInfo}${reasonInfo}`,
41
+ functionCalls: [pullAppContextCall],
42
+ }, {
43
+ type: 'user',
44
+ functionResponses: [
36
45
  {
37
- assistant: {
38
- type: 'assistant',
39
- text: `${contextInfo}${reasonInfo}`,
40
- functionCalls: [pullAppContextCall],
41
- },
42
- user: {
43
- type: 'user',
44
- text: 'Context retrieved successfully.',
45
- functionResponses: [
46
- {
47
- name: 'pullAppContext',
48
- call_id: pullAppContextCall.id,
49
- content: JSON.stringify({ contextKey: key, contextValue, reason, operation: 'get' }),
50
- },
51
- ],
52
- data: {
53
- contextKey: key,
54
- contextValue: contextValue,
55
- reason,
56
- operation: 'get',
57
- },
58
- },
46
+ name: 'pullAppContext',
47
+ call_id: pullAppContextCall.id,
48
+ content: JSON.stringify({ contextKey: key, contextValue, reason, operation: 'get' }),
59
49
  },
60
50
  ],
51
+ });
52
+ // Return the action result with context information
53
+ return {
54
+ breakLoop: false,
55
+ items: [],
61
56
  };
62
57
  }
63
58
  catch (error) {
64
59
  // Handle any errors that occur during context retrieval
65
60
  const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
66
- putSystemMessage(`Error retrieving context: ${errorMessage}`);
61
+ putSystemMessage(`Error retrieving context`, {
62
+ contextKey: key,
63
+ error: errorMessage,
64
+ reason,
65
+ operation: 'get',
66
+ });
67
+ prompt.push({
68
+ type: 'assistant',
69
+ text: `Failed to retrieve context for key "${key}": ${errorMessage}`,
70
+ }, {
71
+ type: 'user',
72
+ text: 'Context retrieval failed.',
73
+ });
67
74
  return {
68
75
  breakLoop: false,
69
- items: [
70
- {
71
- assistant: {
72
- type: 'assistant',
73
- text: `Failed to retrieve context for key "${key}": ${errorMessage}`,
74
- },
75
- user: {
76
- type: 'user',
77
- text: 'Context retrieval failed.',
78
- data: {
79
- contextKey: key,
80
- error: errorMessage,
81
- reason,
82
- operation: 'get',
83
- },
84
- },
85
- },
86
- ],
76
+ items: [],
87
77
  };
88
78
  }
89
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handle-pull-app-context.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/handle-pull-app-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handle-pull-app-context.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/handle-pull-app-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG/D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EACzC,iBAAiB,EACjB,MAAM,EACN,OAAO,GACY;IACnB,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;IAC1C,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,iBAAiB,CACnD,MAAM,EACN,eAAe,EAAE,EACjB,gBAAgB,EAChB,GAAG,EACH,SAAS,CAAC,KAAK,EACf,OAAO,CACR,CAAmD,CAAC;IAErD,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;QAC9B,gBAAgB,CAAC,4CAA4C,CAAC,CAAC;QAC/D,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC;IAEhD,IAAI,CAAC;QACH,iBAAiB;QACjB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,qCAAqC;QACrC,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;QAEhD,uCAAuC;QACvC,MAAM,WAAW,GAAG,YAAY;YAC9B,CAAC,CAAC,oCAAoC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;YACtF,CAAC,CAAC,mCAAmC,GAAG,GAAG,CAAC;QAE9C,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAErE,gBAAgB,CAAC,gCAAgC,EAAE;YACjD,UAAU,EAAE,GAAG;YACf,YAAY,EAAE,YAAY;YAC1B,MAAM;YACN,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CACT;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,GAAG,WAAW,GAAG,UAAU,EAAE;YACnC,aAAa,EAAE,CAAC,kBAAkB,CAAC;SACpC,EACD;YACE,IAAI,EAAE,MAAM;YACZ,iBAAiB,EAAE;gBACjB;oBACE,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,kBAAkB,CAAC,EAAE;oBAC9B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;iBACrF;aACF;SACF,CACF,CAAC;QAEF,oDAAoD;QACpD,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,wDAAwD;QACxD,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;QACvF,gBAAgB,CAAC,0BAA0B,EAAE;YAC3C,UAAU,EAAE,GAAG;YACf,KAAK,EAAE,YAAY;YACnB,MAAM;YACN,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CACT;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,uCAAuC,GAAG,MAAM,YAAY,EAAE;SACrE,EACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,2BAA2B;SAClC,CACF,CAAC;QAEF,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -36,55 +36,54 @@ export async function handlePushAppContext({ generateContentFn, prompt, options,
36
36
  // Note: setContextValue includes value validation internally
37
37
  await setContextValue(key, value);
38
38
  // Format success message
39
- const updateInfo = `Successfully updated context key "${key}" with value: ${JSON.stringify(value, null, 2)}`;
39
+ const updateInfo = `Successfully updated context key "${key}"`;
40
40
  const reasonInfo = reason ? `\nReason for update: ${reason}` : '';
41
+ putSystemMessage('Context updated successfully.', {
42
+ contextKey: key,
43
+ contextValue: value,
44
+ reason,
45
+ operation: 'set',
46
+ });
47
+ prompt.push({
48
+ type: 'assistant',
49
+ text: `${updateInfo}${reasonInfo}`,
50
+ functionCalls: [pushAppContextCall],
51
+ }, {
52
+ type: 'user',
53
+ functionResponses: [{ name: 'pushAppContext', call_id: pushAppContextCall.id, content: '' }],
54
+ });
41
55
  // Return the action result with update confirmation
42
56
  return {
43
57
  breakLoop: false,
44
- items: [
45
- {
46
- assistant: {
47
- type: 'assistant',
48
- text: `${updateInfo}${reasonInfo}`,
49
- },
50
- user: {
51
- type: 'user',
52
- text: 'Context updated successfully.',
53
- data: {
54
- contextKey: key,
55
- contextValue: value,
56
- reason,
57
- operation: 'set',
58
- },
59
- },
60
- },
61
- ],
58
+ items: [],
62
59
  };
63
60
  }
64
61
  catch (error) {
65
62
  // Handle any errors that occur during context update
66
63
  const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
67
64
  putSystemMessage(`Error updating context: ${errorMessage}`);
68
- return {
69
- breakLoop: false,
70
- items: [
65
+ prompt.push({
66
+ type: 'assistant',
67
+ functionCalls: [pushAppContextCall],
68
+ }, {
69
+ type: 'user',
70
+ text: 'Context update failed.',
71
+ functionResponses: [
71
72
  {
72
- assistant: {
73
- type: 'assistant',
74
- text: `Failed to update context for key "${key}": ${errorMessage}`,
75
- },
76
- user: {
77
- type: 'user',
78
- text: 'Context update failed.',
79
- data: {
80
- contextKey: key,
81
- error: errorMessage,
82
- reason,
83
- operation: 'set',
84
- },
85
- },
73
+ name: 'pushAppContext',
74
+ call_id: pushAppContextCall.id,
75
+ content: JSON.stringify({
76
+ contextKey: key,
77
+ error: errorMessage,
78
+ reason,
79
+ operation: 'set',
80
+ }),
86
81
  },
87
82
  ],
83
+ });
84
+ return {
85
+ breakLoop: false,
86
+ items: [],
88
87
  };
89
88
  }
90
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handle-push-app-context.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/handle-push-app-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG/D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EACzC,iBAAiB,EACjB,MAAM,EACN,OAAO,GACY;IACnB,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;IAExC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,iBAAiB,CACnD,MAAM,EACN,eAAe,EAAE,EACjB,gBAAgB,EAChB,GAAG,EACH,SAAS,CAAC,KAAK,EACf,OAAO,CACR,CAAuC,CAAC;IAEzC,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;QAC9B,gBAAgB,CAAC,4CAA4C,CAAC,CAAC;QAC/D,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC;IAChD,IAAI,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC;IAExC,IAAI,CAAC;QACH,iBAAiB;QACjB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;QAED,sCAAsC;QACtC,6DAA6D;QAC7D,MAAM,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAElC,yBAAyB;QACzB,MAAM,UAAU,GAAG,qCAAqC,GAAG,iBAAiB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAC7G,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,wBAAwB,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAElE,oDAAoD;QACpD,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE;gBACL;oBACE,SAAS,EAAE;wBACT,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,GAAG,UAAU,GAAG,UAAU,EAAE;qBACnC;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,+BAA+B;wBACrC,IAAI,EAAE;4BACJ,UAAU,EAAE,GAAG;4BACf,YAAY,EAAE,KAAK;4BACnB,MAAM;4BACN,SAAS,EAAE,KAAK;yBACjB;qBACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,qDAAqD;QACrD,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;QACvF,gBAAgB,CAAC,2BAA2B,YAAY,EAAE,CAAC,CAAC;QAE5D,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE;gBACL;oBACE,SAAS,EAAE;wBACT,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,qCAAqC,GAAG,MAAM,YAAY,EAAE;qBACnE;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,wBAAwB;wBAC9B,IAAI,EAAE;4BACJ,UAAU,EAAE,GAAG;4BACf,KAAK,EAAE,YAAY;4BACnB,MAAM;4BACN,SAAS,EAAE,KAAK;yBACjB;qBACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"handle-push-app-context.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/handle-push-app-context.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { ModelType } from '../../../../ai-service/common-types.js';
2
- import { getSourceCode } from '../../../../files/read-files.js';
3
2
  import { putSystemMessage } from '../../../../main/common/content-bus.js';
4
3
  import { getFunctionDefs } from '../../../function-calling.js';
4
+ import { validateAndRecoverSingleResult } from '../../step-validate-recover.js';
5
+ import { getContextSourceCode } from '../../../../files/source-code-utils.js';
5
6
  /**
6
7
  * Handler for the reasoningInference action.
7
8
  * This handler is designed to work with models that don't support function calling
@@ -10,13 +11,22 @@ import { getFunctionDefs } from '../../../function-calling.js';
10
11
  export async function handleReasoningInference({ askQuestionCall, prompt, generateContentFn, options, }) {
11
12
  try {
12
13
  putSystemMessage('Reasoning inference: generating prompt');
13
- const [reasoningInferenceCall] = (await generateContentFn([
14
- ...prompt,
15
- {
16
- type: 'assistant',
17
- text: askQuestionCall.args.message,
18
- },
19
- ], getFunctionDefs(), 'reasoningInference', 0.7, ModelType.CHEAP, options));
14
+ const request = [
15
+ [
16
+ ...prompt,
17
+ {
18
+ type: 'assistant',
19
+ text: askQuestionCall.args.message,
20
+ },
21
+ ],
22
+ getFunctionDefs(),
23
+ 'reasoningInference',
24
+ 0.7,
25
+ ModelType.CHEAP,
26
+ options,
27
+ ];
28
+ const result = await generateContentFn(...request);
29
+ const [reasoningInferenceCall] = (await validateAndRecoverSingleResult(request, result, generateContentFn));
20
30
  if (!reasoningInferenceCall?.args?.prompt) {
21
31
  putSystemMessage('Failed to get valid reasoningInference request');
22
32
  prompt.push({
@@ -29,18 +39,17 @@ export async function handleReasoningInference({ askQuestionCall, prompt, genera
29
39
  return { breakLoop: false, items: [] };
30
40
  }
31
41
  putSystemMessage('Reasoning inference: calling reasoning model', reasoningInferenceCall.args);
42
+ // Get expanded context using getContextSourceCode
43
+ const contextPaths = reasoningInferenceCall.args.contextPaths || [];
44
+ const expandedContextSourceCodeMap = getContextSourceCode(contextPaths, options);
32
45
  // Call the reasoning model with appropriate settings
33
46
  const [reasoningInferenceResponseCall] = (await generateContentFn([
34
47
  {
35
48
  type: 'user',
36
49
  text: reasoningInferenceCall.args.prompt +
37
- (reasoningInferenceCall.args.contextPaths?.length > 0
50
+ (Object.keys(expandedContextSourceCodeMap).length > 0
38
51
  ? '\n\nContents of relevant files:\n' +
39
- Object.entries(getSourceCode({
40
- filterPaths: reasoningInferenceCall.args.contextPaths,
41
- forceAll: true,
42
- ignoreImportantFiles: true,
43
- }, options))
52
+ Object.entries(expandedContextSourceCodeMap)
44
53
  .map(([path, file]) => 'content' in file && file.content ? `File: ${path}\n\`\`\`${file.content}\`\`\`` : '')
45
54
  .filter(Boolean)
46
55
  .join('\n\n')
@@ -79,6 +88,7 @@ export async function handleReasoningInference({ askQuestionCall, prompt, genera
79
88
  text: `Error during reasoning inference.`,
80
89
  });
81
90
  return {
91
+ // TODO: rather do a retry here?
82
92
  breakLoop: true,
83
93
  items: [],
84
94
  };
@@ -1 +1 @@
1
- {"version":3,"file":"handle-reasoning-inference.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/handle-reasoning-inference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handle-reasoning-inference.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/handle-reasoning-inference.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { ModelType } from '../../../../ai-service/common-types.js';
2
- import { getSourceCodeTree, parseSourceCodeTree } from '../../../../files/source-code-tree.js';
3
2
  import { putSystemMessage } from '../../../../main/common/content-bus.js';
4
3
  import { getFunctionDefs } from '../../../function-calling.js';
5
4
  export async function handleRemoveFilesFromContext({ askQuestionCall, generateContentFn, prompt, options, }) {
@@ -28,26 +27,23 @@ export async function handleRemoveFilesFromContext({ askQuestionCall, generateCo
28
27
  userText = 'Context reduction applied';
29
28
  }
30
29
  else {
30
+ putSystemMessage('No specific files were provided for context reduction. The context remains unchanged.');
31
31
  userText = 'No specific files were provided for context reduction. The context remains unchanged.';
32
32
  }
33
+ prompt.push({
34
+ type: 'assistant',
35
+ text: askQuestionCall.args?.message ?? '',
36
+ functionCalls: [removeFilesFromContextCall],
37
+ }, {
38
+ type: 'user',
39
+ text: userText,
40
+ functionResponses: [
41
+ { name: 'removeFilesFromContext', call_id: removeFilesFromContextCall.id, content: undefined },
42
+ ],
43
+ });
33
44
  return {
34
45
  breakLoop: false,
35
- items: [
36
- {
37
- assistant: {
38
- type: 'assistant',
39
- text: askQuestionCall.args?.message ?? '',
40
- functionCalls: [removeFilesFromContextCall],
41
- },
42
- user: {
43
- type: 'user',
44
- text: userText,
45
- functionResponses: [
46
- { name: 'removeFilesFromContext', call_id: removeFilesFromContextCall.id, content: undefined },
47
- ],
48
- },
49
- },
50
- ],
46
+ items: [],
51
47
  };
52
48
  }
53
49
  function removeFileContentsFromPrompt(prompt, filesToRemove) {
@@ -64,7 +60,7 @@ function removeFileContentsFromPrompt(prompt, filesToRemove) {
64
60
  return;
65
61
  }
66
62
  try {
67
- const contentObj = parseSourceCodeTree(JSON.parse(sourceCodeResponse.content));
63
+ const contentObj = JSON.parse(sourceCodeResponse.content);
68
64
  let modifiedFiles = 0;
69
65
  filesToRemove.forEach((file) => {
70
66
  if (contentObj[file] && 'content' in contentObj[file]) {
@@ -74,7 +70,7 @@ function removeFileContentsFromPrompt(prompt, filesToRemove) {
74
70
  });
75
71
  // Only update if files were actually modified
76
72
  if (modifiedFiles > 0) {
77
- sourceCodeResponse.content = JSON.stringify(getSourceCodeTree(contentObj));
73
+ sourceCodeResponse.content = JSON.stringify(contentObj);
78
74
  console.log(`Removed content from ${modifiedFiles} files in source code response`);
79
75
  }
80
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"remove-files-from-context.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/remove-files-from-context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG/D,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,EACjD,eAAe,EACf,iBAAiB,EACjB,MAAM,EACN,OAAO,GACY;IACnB,MAAM,CAAC,0BAA0B,CAAC,GAAG,CAAC,MAAM,iBAAiB,CAC3D;QACE,GAAG,MAAM;QACT;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE;SAC1C;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,yDAAyD;SAChE;KACF,EACD,eAAe,EAAE,EACjB,wBAAwB,EACxB,GAAG,EACH,SAAS,CAAC,KAAK,EACf,OAAO,CACR,CAA2D,CAAC;IAE7D,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAChC,OAAO;YACL,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,0BAA0B,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC;IACvE,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,4BAA4B,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACpD,gBAAgB,CAAC,2BAA2B,EAAE,aAAa,CAAC,CAAC;QAC7D,QAAQ,GAAG,2BAA2B,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,uFAAuF,CAAC;IACrG,CAAC;IAED,OAAO;QACL,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE;YACL;gBACE,SAAS,EAAE;oBACT,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE;oBACzC,aAAa,EAAE,CAAC,0BAA0B,CAAC;iBAC5C;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ;oBACd,iBAAiB,EAAE;wBACjB,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,0BAA0B,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;qBAC/F;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,MAAoB,EAAE,aAAuB;IACjF,uDAAuD;IACvD,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CACvC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,eAAe,CAAC,CACpG,CAAC;IAEF,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IAED,mBAAmB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QACvC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;QAEjG,IAAI,CAAC,kBAAkB,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;YAE/E,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7B,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtD,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;oBAChC,aAAa,EAAE,CAAC;gBAClB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,8CAA8C;YAC9C,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBACtB,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC3E,OAAO,CAAC,GAAG,CAAC,wBAAwB,aAAa,gCAAgC,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"remove-files-from-context.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/remove-files-from-context.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { ModelType } from '../../../../ai-service/common-types.js';
2
2
  import { getSourceFiles, refreshFiles } from '../../../../files/find-files.js';
3
3
  import { getSourceCode } from '../../../../files/read-files.js';
4
- import { getSourceCodeTree } from '../../../../files/source-code-tree.js';
4
+ import { getExpandedContextPaths } from '../../../../files/source-code-utils.js';
5
5
  import { putSystemMessage } from '../../../../main/common/content-bus.js';
6
6
  import { getFunctionDefs } from '../../../function-calling.js';
7
+ import { validateAndRecoverSingleResult } from '../../step-validate-recover.js';
7
8
  export async function handleRequestFilesContent({ askQuestionCall, options, prompt, generateContentFn, }) {
8
9
  let requestFilesContentCall = await generateRequestFilesContentCall(generateContentFn, prompt, askQuestionCall, options, ModelType.CHEAP);
9
10
  if (!requestFilesContentCall) {
@@ -12,8 +13,11 @@ export async function handleRequestFilesContent({ askQuestionCall, options, prom
12
13
  items: [],
13
14
  };
14
15
  }
15
- let requestedFiles = requestFilesContentCall.args?.filePaths ?? [];
16
- putSystemMessage('Requesting files content', requestFilesContentCall.args);
16
+ let requestedFiles = getExpandedContextPaths(requestFilesContentCall.args?.filePaths ?? [], options);
17
+ putSystemMessage('Requesting files content', {
18
+ requestedFiles,
19
+ expandedRequestedFiles: requestedFiles.filter((file) => !requestFilesContentCall?.args?.filePaths?.includes(file)),
20
+ });
17
21
  // Check which files are already provided in the conversation history
18
22
  const alreadyProvidedFiles = requestedFiles.filter((file) => isFileContentAlreadyProvided(file, prompt));
19
23
  if (alreadyProvidedFiles.length === requestedFiles.length) {
@@ -65,11 +69,12 @@ export async function handleRequestFilesContent({ askQuestionCall, options, prom
65
69
  { name: 'getSourceCode', id: sourceCallId, args: { filePaths: legitimateFiles } },
66
70
  ],
67
71
  };
68
- const sourceCode = getSourceCodeTree(getSourceCode({ filterPaths: legitimateFiles, forceAll: true, ignoreImportantFiles: true }, options));
72
+ const sourceCode = getSourceCode({ filterPaths: legitimateFiles, forceAll: true, ignoreImportantFiles: true }, options);
69
73
  const user = {
70
74
  type: 'user',
71
75
  text: (alreadyProvidedFiles.length > 0
72
- ? `Some files were already provided in the conversation history:
76
+ ? // TODO: Maybe reference to some specific getSourceCode call id
77
+ `Some files were already provided in the conversation history:
73
78
  ${alreadyProvidedFiles.map((path) => `- ${path}`).join('\n')}
74
79
 
75
80
  Providing content for the remaining files:
@@ -99,17 +104,26 @@ ${illegitimateFiles.map((path) => `- ${path}`).join('\n')}`
99
104
  return { breakLoop: false, items: [] };
100
105
  }
101
106
  export async function generateRequestFilesContentCall(generateContentFn, prompt, askQuestionCall, options, modelType) {
102
- const [requestFilesContentCall] = (await generateContentFn([
103
- ...prompt,
104
- {
105
- type: 'assistant',
106
- text: askQuestionCall.args?.message ?? '',
107
- },
108
- {
109
- type: 'user',
110
- text: 'Yes, you can request the files contents.',
111
- },
112
- ], getFunctionDefs(), 'requestFilesContent', 0.7, modelType, options));
107
+ const req = [
108
+ [
109
+ ...prompt,
110
+ {
111
+ type: 'assistant',
112
+ text: askQuestionCall.args?.message ?? '',
113
+ },
114
+ {
115
+ type: 'user',
116
+ text: 'Yes, you can request the files contents.',
117
+ },
118
+ ],
119
+ getFunctionDefs(),
120
+ 'requestFilesContent',
121
+ 0.7,
122
+ modelType,
123
+ options,
124
+ ];
125
+ const result = await generateContentFn(...req);
126
+ const [requestFilesContentCall] = (await validateAndRecoverSingleResult(req, result, generateContentFn));
113
127
  return requestFilesContentCall;
114
128
  }
115
129
  /**
@@ -128,13 +142,11 @@ function isFileContentAlreadyProvided(filePath, prompt) {
128
142
  return false;
129
143
  }
130
144
  try {
131
- const sourceCodeTree = JSON.parse(response.content);
132
- const dirPath = filePath.substring(0, filePath.lastIndexOf('/'));
133
- const fileName = filePath.substring(filePath.lastIndexOf('/') + 1);
134
- return (sourceCodeTree[dirPath] &&
135
- sourceCodeTree[dirPath][fileName] &&
136
- 'content' in sourceCodeTree[dirPath][fileName] &&
137
- sourceCodeTree[dirPath][fileName].content !== null);
145
+ const sourceCodeMap = JSON.parse(response.content);
146
+ return (sourceCodeMap[filePath] &&
147
+ sourceCodeMap[filePath] &&
148
+ 'content' in sourceCodeMap[filePath] &&
149
+ sourceCodeMap[filePath].content !== null);
138
150
  }
139
151
  catch (error) {
140
152
  console.warn('Error parsing getSourceCode response:', error);
@@ -146,6 +158,7 @@ function isFileContentAlreadyProvided(filePath, prompt) {
146
158
  function categorizeLegitimateFiles(requestedFiles) {
147
159
  const legitimateFiles = [];
148
160
  const illegitimateFiles = [];
161
+ // TODO: allow some small mistakes in the path, fix them to correct paths
149
162
  requestedFiles.forEach((filePath) => {
150
163
  if (isFilePathLegitimate(filePath)) {
151
164
  legitimateFiles.push(filePath);
@@ -1 +1 @@
1
- {"version":3,"file":"request-files-content.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/request-files-content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request-files-content.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/request-files-content.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { PromptItemImage } from '../../../ai-service/common-types.js';
5
5
  import { FunctionCall } from '../../../ai-service/common-types.js';
6
6
  import { CodegenOptions } from '../../../main/codegen-types.js';
7
7
  import { PluginActionType } from '../../../ai-service/service-configurations-types.js';
8
- export type ActionType = 'codeGeneration' | 'sendMessage' | 'generateImage' | 'requestPermissions' | 'requestFilesContent' | 'removeFilesFromContext' | 'confirmCodeGeneration' | 'endConversation' | 'contextOptimization' | 'searchCode' | 'lint' | 'updateFile' | 'performAnalysis' | 'createFile' | 'pullAppContext' | 'genaicodeHelp' | 'pushAppContext' | 'reasoningInference' | PluginActionType;
8
+ export type ActionType = 'codeGeneration' | 'sendMessage' | 'generateImage' | 'requestPermissions' | 'requestFilesContent' | 'removeFilesFromContext' | 'confirmCodeGeneration' | 'endConversation' | 'contextOptimization' | 'contextCompression' | 'searchCode' | 'lint' | 'updateFile' | 'performAnalysis' | 'createFile' | 'pullAppContext' | 'genaicodeHelp' | 'pushAppContext' | 'reasoningInference' | PluginActionType;
9
9
  type AskQuestionArgs = {
10
10
  actionType: ActionType;
11
11
  message: string;
@@ -21,6 +21,7 @@ import { handlePullAppContext } from './handlers/handle-pull-app-context.js';
21
21
  import { handlePushAppContext } from './handlers/handle-push-app-context.js';
22
22
  import { handleReasoningInference } from './handlers/handle-reasoning-inference.js';
23
23
  import { handleGenaicodeHelp } from './handlers/handle-genaicode-help.js';
24
+ import { handleContextCompression } from './handlers/handle-context-compression.js';
24
25
  export async function executeStepAskQuestion(generateContentFn, generateImageFn, prompt, functionDefs, waitIfPaused, temperature, options) {
25
26
  putSystemMessage('Allowing the assistant to ask a question...');
26
27
  while (!abortController?.signal.aborted) {
@@ -120,6 +121,7 @@ function getActionHandler(actionType) {
120
121
  genaicodeHelp: handleGenaicodeHelp,
121
122
  reasoningInference: handleReasoningInference,
122
123
  pushAppContext: handlePushAppContext,
124
+ contextCompression: handleContextCompression,
123
125
  };
124
126
  return handlers[actionType] || handleSendMessage;
125
127
  }
@@ -1 +1 @@
1
- {"version":3,"file":"step-ask-question.js","sourceRoot":"","sources":["../../../../src/prompt/steps/step-ask-question/step-ask-question.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC5G,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAE7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,iBAA0C,EAC1C,eAAsC,EACtC,MAAoB,EACpB,YAA2B,EAC3B,YAAiC,EACjC,WAAmB,EACnB,OAAuB;IAEvB,gBAAgB,CAAC,6CAA6C,CAAC,CAAC;IAEhE,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YAEhH,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,MAAM;YACR,CAAC;YAED,IAAI,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;gBAClC,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;YAC1E,CAAC;YAED,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC;YACpD,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,aAAa,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;gBACnD,IAAI,MAAM,GAAG,MAAM,aAAa,CAAC;oBAC/B,eAAe;oBACf,MAAM;oBACN,OAAO;oBACP,iBAAiB;oBACjB,eAAe;oBACf,YAAY;iBACb,CAAC,CAAC;gBAEH,yFAAyF;gBACzF,IAAI,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAI,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;oBACzB,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC9F,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAEpF,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;oBAC1B,MAAM,GAAG,MAAM,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;wBAChD,eAAe;wBACf,MAAM;wBACN,OAAO;wBACP,iBAAiB;wBACjB,eAAe;wBACf,YAAY;qBACb,CAAC,CAAC;oBAEH,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrC,IAAI,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;wBACzB,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACrF,CAAC;oBAED,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtF,CAAC;gBAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBACrB,OAAO,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;gBACjC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,gBAAgB,CAAC,8BAA8B,CAAC,CAAC;gBACjD,MAAM;YACR,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gBAAgB,CAAC,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjG,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,sEAAsE,CAAC,CAAC;IACzF,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,iBAA0C,EAC1C,MAAoB,EACpB,YAA2B,EAC3B,WAAmB,EACnB,OAAuB;IAEvB,MAAM,kBAAkB,GAAwB;QAC9C,MAAM;QACN,YAAY;QACZ,aAAa;QACb,WAAW;QACX,SAAS,CAAC,KAAK;QACf,OAAO;KACR,CAAC;IACF,IAAI,iBAAiB,GAAG,MAAM,iBAAiB,CAAC,GAAG,kBAAkB,CAAC,CAAC;IACvE,iBAAiB,GAAG,MAAM,8BAA8B,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IAEnH,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAgC,CAAC;AACtG,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAsB;IAC9C,yEAAyE;IACzE,MAAM,aAAa,GAAG,2BAA2B,EAAE,CAAC,GAAG,CAAC,UAAgC,CAAC,CAAC;IAC1F,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,2DAA2D;IAC3D,MAAM,QAAQ,GAAsC;QAClD,cAAc,EAAE,oBAAoB;QACpC,eAAe,EAAE,qBAAqB;QACtC,qBAAqB,EAAE,2BAA2B;QAClD,mBAAmB,EAAE,yBAAyB;QAC9C,kBAAkB,EAAE,wBAAwB;QAC5C,sBAAsB,EAAE,4BAA4B;QACpD,WAAW,EAAE,iBAAiB;QAC9B,aAAa,EAAE,mBAAmB;QAClC,UAAU,EAAE,gBAAgB;QAC5B,IAAI,EAAE,UAAU;QAChB,mBAAmB,EAAE,yBAAyB;QAC9C,UAAU,EAAE,gBAAgB;QAC5B,UAAU,EAAE,gBAAgB;QAC5B,eAAe,EAAE,qBAAqB;QACtC,cAAc,EAAE,oBAAoB;QACpC,aAAa,EAAE,mBAAmB;QAClC,kBAAkB,EAAE,wBAAwB;QAC5C,cAAc,EAAE,oBAAoB;KACrC,CAAC;IAEF,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,iBAAiB,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"step-ask-question.js","sourceRoot":"","sources":["../../../../src/prompt/steps/step-ask-question/step-ask-question.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { GenerateContentFunction, PromptItem } from '../../ai-service/common-types.js';
2
+ import { CodegenOptions } from '../../main/codegen-types.js';
3
+ import { StepResult } from './steps-types.js';
4
+ export declare const CONTEXT_COMPRESSION_PROMPT = "Analyze the conversation history and source code dependencies to create a comprehensive context summary that preserves essential information while maintaining reasonable token efficiency.\n\nKey Principles:\n1. Preserve Rich Context: Maintain detailed information about the conversation, especially for expensive operations like reasoning inference, code analysis, or complex decision-making.\n2. Token Efficiency: Aim for a meaningful compression (e.g., 5k tokens for a 100k token conversation) without being overly aggressive.\n3. File Handling: Do not include file contents in the summary - use filePaths array for this purpose.\n4. Temporal Context: Preserve chronological progression of important decisions and changes.\n\nRequired Information to Preserve:\n1. Conversation Flow:\n - Initial problem statement or task\n - Key questions asked and answers received\n - Important decisions made and their rationale\n - Results of expensive operations (reasoning inference, analysis)\n - Critical user preferences or constraints\n - Any errors or issues encountered\n\n2. Technical Details:\n - Code changes proposed or implemented\n - Architecture decisions\n - Performance considerations\n - Security implications\n - Dependencies identified\n - Testing requirements\n\n3. Implementation Status:\n - Current stage of development\n - Completed steps\n - Pending tasks\n - Known issues or challenges\n - Validation results\n\nFormat your response as a structured JSON object with:\n- conversationSummary: Detailed summary preserving rich context of the conversation's progression and key decisions\n- codegenIntent: Comprehensive description of the primary goal, constraints, and special requirements\n- filePaths: Array of file paths that are critical for the task (no file contents, just paths)\n\nExample of good summary structure:\n{\n \"conversationSummary\": \"Started: User requested CONTEXT_COMPRESSION_PROMPT improvement. Analysis: Current compression too aggressive (100k->100 tokens). Key Decision: Allow larger summaries (5k tokens ok). Reasoning inference revealed importance of preserving expensive operation results. Implementation: Updating compression logic in step-context-compression.ts. Requirements: 1) Less aggressive compression, 2) Rich conversation preservation, 3) No file contents in summary.\",\n \"codegenIntent\": \"Enhance context compression to preserve more information (up to 5k tokens) while maintaining efficiency. Focus on rich conversation details, especially expensive operations like reasoning inference. Exclude file contents from summary/intent, using filePaths instead. Goal: Better balance between compression and information preservation.\",\n \"filePaths\": [\"/path/to/relevant/files\"]\n}\n\nFocus on creating a summary that:\n1. Is comprehensive enough for the AI to understand the full context\n2. Preserves expensive computation results\n3. Maintains chronological flow of decisions\n4. Captures technical details and requirements\n5. Excludes file contents but includes critical file paths";
5
+ /**
6
+ * Executes the context compression step
7
+ */
8
+ export declare function executeStepContextCompression(generateContentFn: GenerateContentFunction, prompt: PromptItem[], options: CodegenOptions): Promise<StepResult>;