@gitkraken/compose-tools 0.8.1 → 0.10.0

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 (46) hide show
  1. package/CHANGELOG.md +15 -3
  2. package/README.md +15 -8
  3. package/dist/ai/types.d.ts +25 -9
  4. package/dist/context.d.ts +66 -0
  5. package/dist/context.js +1 -0
  6. package/dist/git/apply-target.js +1 -1
  7. package/dist/git/index.js +1 -1
  8. package/dist/index.d.ts +3 -1
  9. package/dist/index.js +1 -1
  10. package/dist/tasks/ai-loop.d.ts +29 -3
  11. package/dist/tasks/ai-loop.js +1 -1
  12. package/dist/tasks/analyze/analyze.js +1 -1
  13. package/dist/tasks/analyze/prompt.d.ts +6 -2
  14. package/dist/tasks/analyze/prompt.js +5 -5
  15. package/dist/tasks/analyze/types.d.ts +11 -0
  16. package/dist/tasks/compose-group/compose-group.js +1 -1
  17. package/dist/tasks/compose-group/prompt.d.ts +6 -1
  18. package/dist/tasks/compose-group/prompt.js +31 -31
  19. package/dist/tasks/compose-group/types.d.ts +16 -0
  20. package/dist/tasks/group/group.js +1 -1
  21. package/dist/tasks/group/prompt.d.ts +7 -1
  22. package/dist/tasks/group/prompt.js +21 -21
  23. package/dist/tasks/group/repair.d.ts +39 -0
  24. package/dist/tasks/group/repair.js +16 -0
  25. package/dist/tasks/group/types.d.ts +17 -1
  26. package/dist/tasks/group/validator.d.ts +6 -0
  27. package/dist/tasks/group/validator.js +6 -6
  28. package/dist/tasks/quick-compose/prompt.d.ts +3 -1
  29. package/dist/tasks/quick-compose/prompt.js +11 -11
  30. package/dist/tasks/quick-compose/quick-compose.js +1 -1
  31. package/dist/tasks/quick-compose/types.d.ts +7 -0
  32. package/dist/tasks/utils/analysis-prompt.d.ts +14 -0
  33. package/dist/tasks/utils/analysis-prompt.js +5 -0
  34. package/dist/tasks/utils/authoring-context.d.ts +47 -0
  35. package/dist/tasks/utils/authoring-context.js +9 -0
  36. package/dist/tasks/utils/budget.d.ts +9 -1
  37. package/dist/tasks/utils/budget.js +1 -1
  38. package/dist/tasks/utils/hunk-summaries.d.ts +19 -0
  39. package/dist/tasks/utils/hunk-summaries.js +5 -0
  40. package/dist/workflows/author.d.ts +101 -0
  41. package/dist/workflows/author.js +16 -0
  42. package/dist/workflows/compose.d.ts +93 -3
  43. package/dist/workflows/compose.js +3 -3
  44. package/dist/workflows/split.js +2 -2
  45. package/dist/workflows/types.d.ts +16 -2
  46. package/package.json +2 -2
@@ -1,3 +1,5 @@
1
+ import { AuthoringContext } from "../context.js";
2
+
1
3
  //#region src/workflows/types.d.ts
2
4
  /**
3
5
  * Where compose pulls changes from.
@@ -99,9 +101,21 @@ type ComposeTarget = {
99
101
  rangeTo: string; /** Commits before `rangeFrom` always stay; this flag is reserved for future semantics. Default true. */
100
102
  preservePrefix?: boolean;
101
103
  };
102
- /** Optional context passed through to AI prompts (issue/PR URLs surface in commit messages). */
103
- interface ComposeContext {
104
+ /**
105
+ * Optional context passed through to AI prompts.
106
+ *
107
+ * Extends {@link AuthoringContext} — the shared shape for what a change's author knows that the diff
108
+ * cannot show. Supplying `issue.title`/`issue.body`, `intent`, `edits`, or `dependencies` gives the
109
+ * model the reasoning behind the change rather than leaving it to infer intent from the hunks alone.
110
+ *
111
+ * URL fields are emitted as plain context lines, forced to a single line and length-capped; every
112
+ * other string reaches a prompt as escaped, tagged data. None of it is interpreted as instructions —
113
+ * for guidance the model *should* act on, use `instructions` instead.
114
+ */
115
+ interface ComposeContext extends AuthoringContext {
116
+ /** @deprecated Set `issue.url` instead. Still honored, and wins only when `issue.url` is unset. */
104
117
  issueUrl?: string;
118
+ /** @deprecated Set `pullRequest.url` instead. Still honored, and wins only when `pullRequest.url` is unset. */
105
119
  pullRequestUrl?: string;
106
120
  }
107
121
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitkraken/compose-tools",
3
- "version": "0.8.1",
3
+ "version": "0.10.0",
4
4
  "description": "AI-powered organization of git changes into clean, atomic commits and branches.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "author": "Axosoft, LLC dba GitKraken",
@@ -20,7 +20,7 @@
20
20
  "CHANGELOG.md"
21
21
  ],
22
22
  "dependencies": {
23
- "@gitkraken/shared-tools": "^0.2.0"
23
+ "@gitkraken/shared-tools": "^0.3.0"
24
24
  },
25
25
  "devDependencies": {
26
26
  "@types/node": "^22.0.0",