ado-sync 0.1.61 → 0.1.63

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.
@@ -40,8 +40,10 @@ var __importStar = (this && this.__importStar) || (function () {
40
40
  };
41
41
  })();
42
42
  Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.loadGenerateContextContent = loadGenerateContextContent;
43
44
  exports.generateSpecs = generateSpecs;
44
45
  const fs = __importStar(require("fs"));
46
+ const glob_1 = require("glob");
45
47
  const path = __importStar(require("path"));
46
48
  const generate_spec_1 = require("../ai/generate-spec");
47
49
  const client_1 = require("../azure/client");
@@ -166,6 +168,84 @@ function buildContent(story, format) {
166
168
  ? buildGherkinContent(story)
167
169
  : buildMarkdownContent(story);
168
170
  }
171
+ function hasGlobMagic(value) {
172
+ return /[*?[\]{}]/.test(value);
173
+ }
174
+ function loadGenerateContextContent(contextInputs, configDir, warningPrefix = '[ai-generate]') {
175
+ if (!contextInputs?.length)
176
+ return undefined;
177
+ const maxFiles = 12;
178
+ const maxChars = 48_000;
179
+ const matchedFiles = new Set();
180
+ const ignoredGlobs = ['**/node_modules/**', '**/.git/**', '**/dist/**', '**/build/**', '**/coverage/**'];
181
+ for (const input of contextInputs) {
182
+ const resolvedInput = path.isAbsolute(input) ? input : path.resolve(configDir, input);
183
+ const candidate = hasGlobMagic(input)
184
+ ? (0, glob_1.globSync)(input, { cwd: configDir, absolute: true, nodir: true, ignore: ignoredGlobs })
185
+ : fs.existsSync(resolvedInput) && fs.statSync(resolvedInput).isDirectory()
186
+ ? (0, glob_1.globSync)('**/*', { cwd: resolvedInput, absolute: true, nodir: true, ignore: ignoredGlobs })
187
+ : [resolvedInput];
188
+ for (const filePath of candidate) {
189
+ if (matchedFiles.size >= maxFiles)
190
+ break;
191
+ if (!fs.existsSync(filePath))
192
+ continue;
193
+ const stat = fs.statSync(filePath);
194
+ if (!stat.isFile())
195
+ continue;
196
+ matchedFiles.add(filePath);
197
+ }
198
+ }
199
+ if (!matchedFiles.size)
200
+ return undefined;
201
+ const sections = [];
202
+ let totalChars = 0;
203
+ for (const filePath of [...matchedFiles].sort()) {
204
+ if (totalChars >= maxChars)
205
+ break;
206
+ try {
207
+ const content = fs.readFileSync(filePath, 'utf8').replace(/\0/g, '').trim();
208
+ if (!content)
209
+ continue;
210
+ const relPath = path.relative(configDir, filePath) || path.basename(filePath);
211
+ const remaining = maxChars - totalChars;
212
+ const body = content.length > remaining ? `${content.slice(0, Math.max(0, remaining - 32))}\n[truncated]` : content;
213
+ const section = `--- file: ${relPath} ---\n${body}`;
214
+ sections.push(section);
215
+ totalChars += section.length + 2;
216
+ }
217
+ catch (err) {
218
+ const msg = err instanceof Error ? err.message : String(err);
219
+ process.stderr.write(` ${warningPrefix} Warning: could not read context source "${filePath}": ${msg}\n`);
220
+ }
221
+ }
222
+ if ([...matchedFiles].length >= maxFiles) {
223
+ process.stderr.write(` ${warningPrefix} Warning: context input matched more than ${maxFiles} files; only the first ${maxFiles} were used\n`);
224
+ }
225
+ if (totalChars >= maxChars) {
226
+ process.stderr.write(` ${warningPrefix} Warning: context content was truncated to ${maxChars} characters\n`);
227
+ }
228
+ return sections.length ? sections.join('\n\n') : undefined;
229
+ }
230
+ function loadConfiguredContextFile(configDir, contextFile) {
231
+ if (!contextFile)
232
+ return undefined;
233
+ const absPath = path.isAbsolute(contextFile)
234
+ ? contextFile
235
+ : path.resolve(configDir, contextFile);
236
+ if (!fs.existsSync(absPath)) {
237
+ process.stderr.write(` [ai-generate] Warning: could not read contextFile "${absPath}": ENOENT\n`);
238
+ return undefined;
239
+ }
240
+ try {
241
+ return loadGenerateContextContent([absPath], configDir, '[ai-generate]');
242
+ }
243
+ catch (err) {
244
+ const msg = err instanceof Error ? err.message : String(err);
245
+ process.stderr.write(` [ai-generate] Warning: could not read contextFile "${absPath}": ${msg}\n`);
246
+ return undefined;
247
+ }
248
+ }
169
249
  // ─── Main function ────────────────────────────────────────────────────────────
170
250
  async function generateSpecs(config, configDir, opts = {}) {
171
251
  // Resolve AI opts: explicit opts take precedence, fall back to config.sync.ai
@@ -178,6 +258,13 @@ async function generateSpecs(config, configDir, opts = {}) {
178
258
  apiKey: cfgAi.apiKey,
179
259
  baseUrl: cfgAi.baseUrl,
180
260
  region: cfgAi.region,
261
+ contextContent: loadConfiguredContextFile(configDir, cfgAi.contextFile),
262
+ };
263
+ }
264
+ else if (aiOpts && !aiOpts.contextContent) {
265
+ aiOpts = {
266
+ ...aiOpts,
267
+ contextContent: loadConfiguredContextFile(configDir, cfgAi?.contextFile),
181
268
  };
182
269
  }
183
270
  const client = await client_1.AzureClient.create(config);
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/sync/generate.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8LH,sCA+GC;AA3SD,uCAAyB;AACzB,2CAA6B;AAE7B,uDAA4E;AAC5E,4CAA8C;AAC9C,oDAAuI;AAqCvI,iFAAiF;AAEjF,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,GAAG;SACP,WAAW,EAAE;SACb,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;SAC5B,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,YAAY,CAAC,KAAe,EAAE,MAAsB;IAC3D,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE,EAAE,CAAC;IAC7D,MAAM,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;IACtD,OAAO,GAAG,KAAK,CAAC,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;AACrC,CAAC;AAED,iFAAiF;AAEjF;;;;;GAKG;AACH,SAAS,YAAY,CACnB,OAAe,EACf,MAAsB,EACtB,KAAe;IAEf,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC;IAElC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,6CAA6C;QAC7C,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;QAEzD,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,+DAA+D;QAC/D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,qCAAqC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;YACzF,IAAI,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC3B,OAAO,GAAG,MAAM,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,MAAM,GAAG,OAAO,EAAE,CAAC;YACjE,CAAC;YACD,OAAO,GAAG,MAAM,GAAG,OAAO,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,kDAAkD;QAClD,oDAAoD;QACpD,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;QAE1D,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,2CAA2C,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;YAC7F,IAAI,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC3B,OAAO,GAAG,OAAO,QAAQ,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC;YACrD,CAAC;YACD,OAAO,GAAG,OAAO,GAAG,IAAI,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF,SAAS,mBAAmB,CAAC,KAAe;IAC1C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC5B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,oEAAoE;IACpE,MAAM,WAAW,GAAG,KAAK,CAAC,kBAAkB;QAC1C,EAAE,KAAK,CAAC,IAAI,CAAC;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;SAC7C,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7B,MAAM,aAAa,GAAG,WAAW,IAAI,GAAG,KAAK,CAAC,KAAK,kBAAkB,CAAC;IAEtE,KAAK,CAAC,IAAI,CAAC,eAAe,aAAa,EAAE,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAe;IAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,YAAY;YAAE,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;QACrE,IAAI,KAAK,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,sCAAsC;IACtC,MAAM,WAAW,GAAG,KAAK,CAAC,kBAAkB;QAC1C,EAAE,KAAK,CAAC,IAAI,CAAC;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;SAC7C,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7B,MAAM,SAAS,GAAG,WAAW,IAAI,GAAG,KAAK,CAAC,KAAK,kBAAkB,CAAC;IAElE,KAAK,CAAC,IAAI,CAAC,aAAa,SAAS,EAAE,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,YAAY,CAAC,KAAe,EAAE,MAAsB;IAC3D,OAAO,MAAM,KAAK,SAAS;QACzB,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC;QAC5B,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,iFAAiF;AAE1E,KAAK,UAAU,aAAa,CACjC,MAAkB,EAClB,SAAiB,EACjB,OAAqB,EAAE;IAEvB,8EAA8E;IAC9E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;IAC9B,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IACzB,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC9F,MAAM,GAAG;YACP,QAAQ,EAAE,KAAK,CAAC,QAAsC;YACtD,KAAK,EAAK,KAAK,CAAC,KAAK;YACrB,MAAM,EAAI,KAAK,CAAC,MAAM;YACtB,OAAO,EAAG,KAAK,CAAC,OAAO;YACvB,MAAM,EAAI,KAAK,CAAC,MAAM;SACvB,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,oBAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEhD,gEAAgE;IAChE,MAAM,cAAc,GAAmB,IAAI,CAAC,MAAM;WAC7C,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAEpF,wBAAwB;IACxB,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY;WACjC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY;YACjC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;YACxD,CAAC,CAAC,SAAS,CAAC,CAAC;IAEjB,gBAAgB;IAChB,IAAI,OAAO,GAAe,EAAE,CAAC;IAE7B,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC1B,OAAO,GAAG,MAAM,IAAA,8BAAiB,EAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3E,CAAC;SAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,GAAG,MAAM,IAAA,gCAAmB,EAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;SAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzB,OAAO,GAAG,MAAM,IAAA,mCAAsB,EAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChF,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,oDAAoD;IACpD,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC;IACnD,IAAI,WAAW,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC9C,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,IAAA,mCAAsB,EAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/E,CAAC;QAAC,MAAM,CAAC;YACP,+CAA+C;QACjD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAE/C,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACrF,IAAI,EAAE,CAAC;YACP,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC/C,SAAS;QACX,CAAC;QAED,oCAAoC;QACpC,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,GAAG,MAAM,IAAA,qCAAqB,EAAC,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAChD,CAAC;QAED,iDAAiD;QACjD,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QACpD,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,OAA2B,CAAC;QAChC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,+DAA+D;YAC/D,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9F,IAAI,EAAE,CAAC;QACP,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/sync/generate.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -412,7 +412,7 @@ export interface SyncConfig {
412
412
  /**
413
413
  * Path to a markdown file containing additional domain context or instructions
414
414
  * for the AI (e.g. glossary, naming conventions, step style guidelines).
415
- * The file content is injected into the prompt before the test code.
415
+ * The file content is injected into AI prompts for summary/generate flows.
416
416
  * Relative paths are resolved from the config file directory.
417
417
  */
418
418
  contextFile?: string;
package/docs/cli.md CHANGED
@@ -246,6 +246,8 @@ ado-sync generate --story-ids 1234 --ai-provider azureai --ai-url https:/
246
246
  ado-sync generate --story-ids 1234 --ai-provider github --ai-model gpt-4o
247
247
  ado-sync generate --story-ids 1234 --ai-provider azureinference --ai-url https://myendpoint.inference.azure.com --ai-model gpt-4o --ai-key $AZURE_AI_KEY
248
248
  ado-sync generate --story-ids 1234 --ai-provider local --ai-model ~/.cache/models/qwen2.5-coder-1.5b.gguf
249
+ ado-sync generate --story-ids 1234 --ai-provider openai --ai-key $OPENAI_API_KEY \
250
+ --ai-context src/orders/** --ai-context tests/orders/**
249
251
  ```
250
252
 
251
253
  ### AI generate flags
@@ -257,6 +259,21 @@ ado-sync generate --story-ids 1234 --ai-provider local --ai-model ~/.ca
257
259
  | `--ai-key` | API key (or `$ENV_VAR` reference) |
258
260
  | `--ai-url` | Base URL override (Ollama, Azure OpenAI full endpoint, OpenAI-compatible) |
259
261
  | `--ai-region` | AWS region for `bedrock` (default: `AWS_REGION` env or `us-east-1`) |
262
+ | `--ai-context` | Additional context source for AI generation. Accepts a file, folder, or glob. Repeatable. |
263
+
264
+ ### AI generation context
265
+
266
+ `generate` does not scan the entire workspace by default. For better AI-generated specs, pass a small set of relevant files or folders explicitly:
267
+
268
+ ```bash
269
+ ado-sync generate --story-ids 1234 \
270
+ --ai-provider openai --ai-key $OPENAI_API_KEY \
271
+ --ai-context src/billing/** \
272
+ --ai-context tests/billing/** \
273
+ --ai-context docs/billing.md
274
+ ```
275
+
276
+ Best results come from targeted context: relevant app code, existing automation, and feature docs. The CLI caps the number of files and total context size so prompts stay bounded and predictable.
260
277
 
261
278
  Without `--ai-provider`, `generate` uses the template scaffold (no AI required). With it, the AI reads the story's title, description, and acceptance criteria and produces realistic Given/When/Then steps.
262
279
 
@@ -227,7 +227,7 @@ Use `testPlans` instead of `testPlan` to sync one repo against multiple Test Pla
227
227
  | `attachments` | *(none)* | File attachment sync — see [Attachments](advanced.md#attachments). |
228
228
  | `pull` | *(none)* | Pull-specific options — see [Pull configuration](advanced.md#pull-configuration). |
229
229
  | `suiteConditions` | *(none)* | Per-tag additive suite routing rules. |
230
- | `ai` | *(none)* | AI provider config for auto-summarization and failure analysis — see [AI auto-summary](advanced.md#ai-auto-summary-for-code-tests). Fields: `provider`, `model`, `baseUrl`, `apiKey`, `contextFile`, `analyzeFailures`, `writebackDocComment`. |
230
+ | `ai` | *(none)* | AI provider config for auto-summarization, generate context, and failure analysis — see [AI auto-summary](advanced.md#ai-auto-summary-for-code-tests). Fields: `provider`, `model`, `baseUrl`, `apiKey`, `contextFile`, `analyzeFailures`, `writebackDocComment`. |
231
231
 
232
232
  ---
233
233
 
@@ -194,12 +194,15 @@ All tools accept these optional base parameters:
194
194
  "force": false,
195
195
  "aiProvider": "anthropic",
196
196
  "aiModel": "claude-sonnet-4-6",
197
- "aiKey": "$ANTHROPIC_API_KEY"
197
+ "aiKey": "$ANTHROPIC_API_KEY",
198
+ "aiContext": ["src/orders/**", "tests/orders/**", "docs/orders.md"]
198
199
  }
199
200
  ```
200
201
 
201
202
  AI provider options: `local`, `ollama`, `openai`, `anthropic`, `huggingface`, `bedrock`, `azureai`. Falls back to `sync.ai` config when not supplied. When `dryRun: true` and an AI provider is set, the first 20 lines of generated content are included in the tool response as a preview.
202
203
 
204
+ `aiContext` is optional and accepts files, folders, or globs. Prefer a small feature-specific slice of the repo: relevant app code, existing automation, and one or two docs files. Avoid the whole workspace.
205
+
203
206
  ### `publish_test_results`
204
207
 
205
208
  ```json
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ado-sync",
3
- "version": "0.1.61",
3
+ "version": "0.1.63",
4
4
  "description": "Bidirectional sync between local test specs (Cucumber/Markdown) and Azure DevOps Test Cases",
5
5
  "bin": {
6
6
  "ado-sync": "./dist/cli.js",
@@ -42,7 +42,7 @@
42
42
  "chalk": "^5.6.2",
43
43
  "commander": "^14.0.3",
44
44
  "dotenv": "^17.4.2",
45
- "fast-xml-parser": "^5.7.1",
45
+ "fast-xml-parser": "^5.7.2",
46
46
  "glob": "^13.0.6",
47
47
  "js-yaml": "^4.1.1",
48
48
  "jszip": "^3.10.1",
@@ -61,8 +61,8 @@
61
61
  "typescript": "^6.0.3"
62
62
  },
63
63
  "optionalDependencies": {
64
- "@anthropic-ai/sdk": "^0.90.0",
65
- "@aws-sdk/client-bedrock-runtime": "^3.1033.0",
64
+ "@anthropic-ai/sdk": "^0.91.1",
65
+ "@aws-sdk/client-bedrock-runtime": "^3.1037.0",
66
66
  "@azure-rest/ai-inference": "^1.0.0-beta.6",
67
67
  "@azure/core-auth": "^1.10.1",
68
68
  "ollama": "^0.6.3",