tegami 1.0.1 → 1.1.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.
@@ -101,22 +101,31 @@ declare abstract class WorkspacePackage {
101
101
  abstract readonly path: string;
102
102
  abstract readonly manager: string;
103
103
  abstract readonly version: string | undefined;
104
- get id(): string;
105
- private opts;
106
104
  /** note: this will only be available after package graph is resolved */
107
- getPackageOptions(): PackageOptions;
108
- setPackageOptions(options: PackageOptions): void;
105
+ group?: PackageGroup;
106
+ /** note: this will only be available after package graph is resolved */
107
+ options: PackageOptions;
108
+ get id(): string;
109
109
  /** create the initial draft. */
110
110
  initDraft(): PackageDraft;
111
111
  /** configure an initial draft to match script-level configs. */
112
- configureDraft(draft: PackageDraft, group?: PackageGroup): void;
112
+ configureDraft({
113
+ draft
114
+ }: {
115
+ draft: PackageDraft;
116
+ }): void;
113
117
  }
114
118
  interface PackageGroup {
115
119
  name: string;
116
120
  options: GroupOptions;
117
121
  packages: WorkspacePackage[];
118
122
  }
119
- /** Dependency graph for discovered workspace packages. */
123
+ /**
124
+ * Unified graph for discovered workspace packages.
125
+ *
126
+ * This is only used as a storage for all indexed packages.
127
+ * For registry-specific relationships (e.g. virtual workspaces), they are stored in the provider plugin internally.
128
+ */
120
129
  declare class PackageGraph {
121
130
  private readonly packages;
122
131
  private readonly groups;
@@ -144,6 +153,407 @@ interface GitLabToken {
144
153
  type: "private-token" | "job-token";
145
154
  }
146
155
  //#endregion
156
+ //#region src/plugins/cargo/schema.d.ts
157
+ /**
158
+ * @see https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html
159
+ */
160
+ declare const cargoDependencySchema: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
161
+ package: z.ZodOptional<z.ZodString>;
162
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
163
+ optional: z.ZodOptional<z.ZodBoolean>;
164
+ "default-features": z.ZodOptional<z.ZodBoolean>;
165
+ workspace: z.ZodLiteral<true>;
166
+ }, z.core.$strip>, z.ZodObject<{
167
+ package: z.ZodOptional<z.ZodString>;
168
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
169
+ optional: z.ZodOptional<z.ZodBoolean>;
170
+ "default-features": z.ZodOptional<z.ZodBoolean>;
171
+ path: z.ZodString;
172
+ version: z.ZodOptional<z.ZodString>;
173
+ }, z.core.$strip>, z.ZodObject<{
174
+ package: z.ZodOptional<z.ZodString>;
175
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
176
+ optional: z.ZodOptional<z.ZodBoolean>;
177
+ "default-features": z.ZodOptional<z.ZodBoolean>;
178
+ git: z.ZodString;
179
+ branch: z.ZodOptional<z.ZodString>;
180
+ tag: z.ZodOptional<z.ZodString>;
181
+ rev: z.ZodOptional<z.ZodString>;
182
+ version: z.ZodOptional<z.ZodString>;
183
+ }, z.core.$strip>, z.ZodObject<{
184
+ package: z.ZodOptional<z.ZodString>;
185
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
186
+ optional: z.ZodOptional<z.ZodBoolean>;
187
+ "default-features": z.ZodOptional<z.ZodBoolean>;
188
+ version: z.ZodString;
189
+ registry: z.ZodOptional<z.ZodString>;
190
+ }, z.core.$strip>]>;
191
+ declare const cargoManifestSchema: z.ZodObject<{
192
+ package: z.ZodOptional<z.ZodObject<{
193
+ name: z.ZodString;
194
+ version: z.ZodUnion<[z.ZodString, z.ZodObject<{
195
+ workspace: z.ZodLiteral<true>;
196
+ }, z.core.$loose>]>;
197
+ publish: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
198
+ workspace: z.ZodLiteral<true>;
199
+ }, z.core.$loose>]>>;
200
+ }, z.core.$loose>>;
201
+ workspace: z.ZodOptional<z.ZodObject<{
202
+ members: z.ZodOptional<z.ZodArray<z.ZodString>>;
203
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
204
+ package: z.ZodOptional<z.ZodObject<{
205
+ version: z.ZodOptional<z.ZodString>;
206
+ publish: z.ZodOptional<z.ZodBoolean>;
207
+ }, z.core.$loose>>;
208
+ dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
209
+ package: z.ZodOptional<z.ZodString>;
210
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
211
+ optional: z.ZodOptional<z.ZodBoolean>;
212
+ "default-features": z.ZodOptional<z.ZodBoolean>;
213
+ workspace: z.ZodLiteral<true>;
214
+ }, z.core.$strip>, z.ZodObject<{
215
+ package: z.ZodOptional<z.ZodString>;
216
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
217
+ optional: z.ZodOptional<z.ZodBoolean>;
218
+ "default-features": z.ZodOptional<z.ZodBoolean>;
219
+ path: z.ZodString;
220
+ version: z.ZodOptional<z.ZodString>;
221
+ }, z.core.$strip>, z.ZodObject<{
222
+ package: z.ZodOptional<z.ZodString>;
223
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
224
+ optional: z.ZodOptional<z.ZodBoolean>;
225
+ "default-features": z.ZodOptional<z.ZodBoolean>;
226
+ git: z.ZodString;
227
+ branch: z.ZodOptional<z.ZodString>;
228
+ tag: z.ZodOptional<z.ZodString>;
229
+ rev: z.ZodOptional<z.ZodString>;
230
+ version: z.ZodOptional<z.ZodString>;
231
+ }, z.core.$strip>, z.ZodObject<{
232
+ package: z.ZodOptional<z.ZodString>;
233
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
234
+ optional: z.ZodOptional<z.ZodBoolean>;
235
+ "default-features": z.ZodOptional<z.ZodBoolean>;
236
+ version: z.ZodString;
237
+ registry: z.ZodOptional<z.ZodString>;
238
+ }, z.core.$strip>]>>>;
239
+ "dev-dependencies": z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
240
+ package: z.ZodOptional<z.ZodString>;
241
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
242
+ optional: z.ZodOptional<z.ZodBoolean>;
243
+ "default-features": z.ZodOptional<z.ZodBoolean>;
244
+ workspace: z.ZodLiteral<true>;
245
+ }, z.core.$strip>, z.ZodObject<{
246
+ package: z.ZodOptional<z.ZodString>;
247
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
248
+ optional: z.ZodOptional<z.ZodBoolean>;
249
+ "default-features": z.ZodOptional<z.ZodBoolean>;
250
+ path: z.ZodString;
251
+ version: z.ZodOptional<z.ZodString>;
252
+ }, z.core.$strip>, z.ZodObject<{
253
+ package: z.ZodOptional<z.ZodString>;
254
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
255
+ optional: z.ZodOptional<z.ZodBoolean>;
256
+ "default-features": z.ZodOptional<z.ZodBoolean>;
257
+ git: z.ZodString;
258
+ branch: z.ZodOptional<z.ZodString>;
259
+ tag: z.ZodOptional<z.ZodString>;
260
+ rev: z.ZodOptional<z.ZodString>;
261
+ version: z.ZodOptional<z.ZodString>;
262
+ }, z.core.$strip>, z.ZodObject<{
263
+ package: z.ZodOptional<z.ZodString>;
264
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
265
+ optional: z.ZodOptional<z.ZodBoolean>;
266
+ "default-features": z.ZodOptional<z.ZodBoolean>;
267
+ version: z.ZodString;
268
+ registry: z.ZodOptional<z.ZodString>;
269
+ }, z.core.$strip>]>>>;
270
+ "build-dependencies": z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
271
+ package: z.ZodOptional<z.ZodString>;
272
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
273
+ optional: z.ZodOptional<z.ZodBoolean>;
274
+ "default-features": z.ZodOptional<z.ZodBoolean>;
275
+ workspace: z.ZodLiteral<true>;
276
+ }, z.core.$strip>, z.ZodObject<{
277
+ package: z.ZodOptional<z.ZodString>;
278
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
279
+ optional: z.ZodOptional<z.ZodBoolean>;
280
+ "default-features": z.ZodOptional<z.ZodBoolean>;
281
+ path: z.ZodString;
282
+ version: z.ZodOptional<z.ZodString>;
283
+ }, z.core.$strip>, z.ZodObject<{
284
+ package: z.ZodOptional<z.ZodString>;
285
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
286
+ optional: z.ZodOptional<z.ZodBoolean>;
287
+ "default-features": z.ZodOptional<z.ZodBoolean>;
288
+ git: z.ZodString;
289
+ branch: z.ZodOptional<z.ZodString>;
290
+ tag: z.ZodOptional<z.ZodString>;
291
+ rev: z.ZodOptional<z.ZodString>;
292
+ version: z.ZodOptional<z.ZodString>;
293
+ }, z.core.$strip>, z.ZodObject<{
294
+ package: z.ZodOptional<z.ZodString>;
295
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
296
+ optional: z.ZodOptional<z.ZodBoolean>;
297
+ "default-features": z.ZodOptional<z.ZodBoolean>;
298
+ version: z.ZodString;
299
+ registry: z.ZodOptional<z.ZodString>;
300
+ }, z.core.$strip>]>>>;
301
+ }, z.core.$loose>>;
302
+ dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
303
+ package: z.ZodOptional<z.ZodString>;
304
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
305
+ optional: z.ZodOptional<z.ZodBoolean>;
306
+ "default-features": z.ZodOptional<z.ZodBoolean>;
307
+ workspace: z.ZodLiteral<true>;
308
+ }, z.core.$strip>, z.ZodObject<{
309
+ package: z.ZodOptional<z.ZodString>;
310
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
311
+ optional: z.ZodOptional<z.ZodBoolean>;
312
+ "default-features": z.ZodOptional<z.ZodBoolean>;
313
+ path: z.ZodString;
314
+ version: z.ZodOptional<z.ZodString>;
315
+ }, z.core.$strip>, z.ZodObject<{
316
+ package: z.ZodOptional<z.ZodString>;
317
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
318
+ optional: z.ZodOptional<z.ZodBoolean>;
319
+ "default-features": z.ZodOptional<z.ZodBoolean>;
320
+ git: z.ZodString;
321
+ branch: z.ZodOptional<z.ZodString>;
322
+ tag: z.ZodOptional<z.ZodString>;
323
+ rev: z.ZodOptional<z.ZodString>;
324
+ version: z.ZodOptional<z.ZodString>;
325
+ }, z.core.$strip>, z.ZodObject<{
326
+ package: z.ZodOptional<z.ZodString>;
327
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
328
+ optional: z.ZodOptional<z.ZodBoolean>;
329
+ "default-features": z.ZodOptional<z.ZodBoolean>;
330
+ version: z.ZodString;
331
+ registry: z.ZodOptional<z.ZodString>;
332
+ }, z.core.$strip>]>>>;
333
+ "dev-dependencies": z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
334
+ package: z.ZodOptional<z.ZodString>;
335
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
336
+ optional: z.ZodOptional<z.ZodBoolean>;
337
+ "default-features": z.ZodOptional<z.ZodBoolean>;
338
+ workspace: z.ZodLiteral<true>;
339
+ }, z.core.$strip>, z.ZodObject<{
340
+ package: z.ZodOptional<z.ZodString>;
341
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
342
+ optional: z.ZodOptional<z.ZodBoolean>;
343
+ "default-features": z.ZodOptional<z.ZodBoolean>;
344
+ path: z.ZodString;
345
+ version: z.ZodOptional<z.ZodString>;
346
+ }, z.core.$strip>, z.ZodObject<{
347
+ package: z.ZodOptional<z.ZodString>;
348
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
349
+ optional: z.ZodOptional<z.ZodBoolean>;
350
+ "default-features": z.ZodOptional<z.ZodBoolean>;
351
+ git: z.ZodString;
352
+ branch: z.ZodOptional<z.ZodString>;
353
+ tag: z.ZodOptional<z.ZodString>;
354
+ rev: z.ZodOptional<z.ZodString>;
355
+ version: z.ZodOptional<z.ZodString>;
356
+ }, z.core.$strip>, z.ZodObject<{
357
+ package: z.ZodOptional<z.ZodString>;
358
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
359
+ optional: z.ZodOptional<z.ZodBoolean>;
360
+ "default-features": z.ZodOptional<z.ZodBoolean>;
361
+ version: z.ZodString;
362
+ registry: z.ZodOptional<z.ZodString>;
363
+ }, z.core.$strip>]>>>;
364
+ "build-dependencies": z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
365
+ package: z.ZodOptional<z.ZodString>;
366
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
367
+ optional: z.ZodOptional<z.ZodBoolean>;
368
+ "default-features": z.ZodOptional<z.ZodBoolean>;
369
+ workspace: z.ZodLiteral<true>;
370
+ }, z.core.$strip>, z.ZodObject<{
371
+ package: z.ZodOptional<z.ZodString>;
372
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
373
+ optional: z.ZodOptional<z.ZodBoolean>;
374
+ "default-features": z.ZodOptional<z.ZodBoolean>;
375
+ path: z.ZodString;
376
+ version: z.ZodOptional<z.ZodString>;
377
+ }, z.core.$strip>, z.ZodObject<{
378
+ package: z.ZodOptional<z.ZodString>;
379
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
380
+ optional: z.ZodOptional<z.ZodBoolean>;
381
+ "default-features": z.ZodOptional<z.ZodBoolean>;
382
+ git: z.ZodString;
383
+ branch: z.ZodOptional<z.ZodString>;
384
+ tag: z.ZodOptional<z.ZodString>;
385
+ rev: z.ZodOptional<z.ZodString>;
386
+ version: z.ZodOptional<z.ZodString>;
387
+ }, z.core.$strip>, z.ZodObject<{
388
+ package: z.ZodOptional<z.ZodString>;
389
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
390
+ optional: z.ZodOptional<z.ZodBoolean>;
391
+ "default-features": z.ZodOptional<z.ZodBoolean>;
392
+ version: z.ZodString;
393
+ registry: z.ZodOptional<z.ZodString>;
394
+ }, z.core.$strip>]>>>;
395
+ target: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
396
+ dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
397
+ package: z.ZodOptional<z.ZodString>;
398
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
399
+ optional: z.ZodOptional<z.ZodBoolean>;
400
+ "default-features": z.ZodOptional<z.ZodBoolean>;
401
+ workspace: z.ZodLiteral<true>;
402
+ }, z.core.$strip>, z.ZodObject<{
403
+ package: z.ZodOptional<z.ZodString>;
404
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
405
+ optional: z.ZodOptional<z.ZodBoolean>;
406
+ "default-features": z.ZodOptional<z.ZodBoolean>;
407
+ path: z.ZodString;
408
+ version: z.ZodOptional<z.ZodString>;
409
+ }, z.core.$strip>, z.ZodObject<{
410
+ package: z.ZodOptional<z.ZodString>;
411
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
412
+ optional: z.ZodOptional<z.ZodBoolean>;
413
+ "default-features": z.ZodOptional<z.ZodBoolean>;
414
+ git: z.ZodString;
415
+ branch: z.ZodOptional<z.ZodString>;
416
+ tag: z.ZodOptional<z.ZodString>;
417
+ rev: z.ZodOptional<z.ZodString>;
418
+ version: z.ZodOptional<z.ZodString>;
419
+ }, z.core.$strip>, z.ZodObject<{
420
+ package: z.ZodOptional<z.ZodString>;
421
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
422
+ optional: z.ZodOptional<z.ZodBoolean>;
423
+ "default-features": z.ZodOptional<z.ZodBoolean>;
424
+ version: z.ZodString;
425
+ registry: z.ZodOptional<z.ZodString>;
426
+ }, z.core.$strip>]>>>;
427
+ "dev-dependencies": z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
428
+ package: z.ZodOptional<z.ZodString>;
429
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
430
+ optional: z.ZodOptional<z.ZodBoolean>;
431
+ "default-features": z.ZodOptional<z.ZodBoolean>;
432
+ workspace: z.ZodLiteral<true>;
433
+ }, z.core.$strip>, z.ZodObject<{
434
+ package: z.ZodOptional<z.ZodString>;
435
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
436
+ optional: z.ZodOptional<z.ZodBoolean>;
437
+ "default-features": z.ZodOptional<z.ZodBoolean>;
438
+ path: z.ZodString;
439
+ version: z.ZodOptional<z.ZodString>;
440
+ }, z.core.$strip>, z.ZodObject<{
441
+ package: z.ZodOptional<z.ZodString>;
442
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
443
+ optional: z.ZodOptional<z.ZodBoolean>;
444
+ "default-features": z.ZodOptional<z.ZodBoolean>;
445
+ git: z.ZodString;
446
+ branch: z.ZodOptional<z.ZodString>;
447
+ tag: z.ZodOptional<z.ZodString>;
448
+ rev: z.ZodOptional<z.ZodString>;
449
+ version: z.ZodOptional<z.ZodString>;
450
+ }, z.core.$strip>, z.ZodObject<{
451
+ package: z.ZodOptional<z.ZodString>;
452
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
453
+ optional: z.ZodOptional<z.ZodBoolean>;
454
+ "default-features": z.ZodOptional<z.ZodBoolean>;
455
+ version: z.ZodString;
456
+ registry: z.ZodOptional<z.ZodString>;
457
+ }, z.core.$strip>]>>>;
458
+ "build-dependencies": z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
459
+ package: z.ZodOptional<z.ZodString>;
460
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
461
+ optional: z.ZodOptional<z.ZodBoolean>;
462
+ "default-features": z.ZodOptional<z.ZodBoolean>;
463
+ workspace: z.ZodLiteral<true>;
464
+ }, z.core.$strip>, z.ZodObject<{
465
+ package: z.ZodOptional<z.ZodString>;
466
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
467
+ optional: z.ZodOptional<z.ZodBoolean>;
468
+ "default-features": z.ZodOptional<z.ZodBoolean>;
469
+ path: z.ZodString;
470
+ version: z.ZodOptional<z.ZodString>;
471
+ }, z.core.$strip>, z.ZodObject<{
472
+ package: z.ZodOptional<z.ZodString>;
473
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
474
+ optional: z.ZodOptional<z.ZodBoolean>;
475
+ "default-features": z.ZodOptional<z.ZodBoolean>;
476
+ git: z.ZodString;
477
+ branch: z.ZodOptional<z.ZodString>;
478
+ tag: z.ZodOptional<z.ZodString>;
479
+ rev: z.ZodOptional<z.ZodString>;
480
+ version: z.ZodOptional<z.ZodString>;
481
+ }, z.core.$strip>, z.ZodObject<{
482
+ package: z.ZodOptional<z.ZodString>;
483
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
484
+ optional: z.ZodOptional<z.ZodBoolean>;
485
+ "default-features": z.ZodOptional<z.ZodBoolean>;
486
+ version: z.ZodString;
487
+ registry: z.ZodOptional<z.ZodString>;
488
+ }, z.core.$strip>]>>>;
489
+ }, z.core.$loose>>>;
490
+ }, z.core.$loose>;
491
+ type CargoDependency = z.infer<typeof cargoDependencySchema>;
492
+ type CargoManifest = z.infer<typeof cargoManifestSchema>;
493
+ //#endregion
494
+ //#region src/plugins/cargo.d.ts
495
+ declare const DEP_FIELDS$1: readonly ["dependencies", "dev-dependencies", "build-dependencies"];
496
+ type DepKind = (typeof DEP_FIELDS$1)[number];
497
+ declare class CargoToml<Data extends CargoManifest = CargoManifest> {
498
+ path: string;
499
+ content: string;
500
+ data: Data;
501
+ private dependencies;
502
+ workspace?: CargoToml<RequireFields<CargoManifest, "workspace">>;
503
+ constructor(path: string, content: string, data: Data);
504
+ listDependencies(graph: CargoGraph): ResolvedDependency[];
505
+ patch(path: string, value: unknown): void;
506
+ }
507
+ interface ResolvedDependency {
508
+ path: [...string[], kind: DepKind, key: string];
509
+ spec: CargoDependency;
510
+ resolved?: CargoPackage;
511
+ range?: string;
512
+ setRange?: (v: string) => void;
513
+ }
514
+ declare class CargoPackage extends WorkspacePackage {
515
+ readonly path: string;
516
+ /** a crate must have `package` field defined, otherwise it is merely a virutal workspace file, and Tegami should not include it. */
517
+ readonly file: CargoToml<RequireFields<CargoManifest, "package">>;
518
+ readonly manager = "cargo";
519
+ readonly manifest: RequireFields<CargoManifest, "package">;
520
+ constructor(path: string, /** a crate must have `package` field defined, otherwise it is merely a virutal workspace file, and Tegami should not include it. */
521
+
522
+ file: CargoToml<RequireFields<CargoManifest, "package">>);
523
+ get name(): string;
524
+ get version(): string;
525
+ setVersion(version: string): void;
526
+ }
527
+ interface DependentRef$1 {
528
+ dependent: CargoPackage;
529
+ kind: DepKind;
530
+ name: string;
531
+ spec: CargoDependency;
532
+ version?: string;
533
+ }
534
+ interface CargoPluginOptions {
535
+ /**
536
+ * Update lock file after versioning.
537
+ *
538
+ * @default true
539
+ */
540
+ updateLockFile?: boolean;
541
+ /**
542
+ * Decide how to bump the dependents of a bumped package.
543
+ */
544
+ bumpDep?: (opts: DependentRef$1) => BumpType | false;
545
+ }
546
+ declare function cargo({
547
+ updateLockFile,
548
+ bumpDep: getBumpDepType
549
+ }?: CargoPluginOptions): TegamiPlugin;
550
+ interface CargoGraph {
551
+ /** path -> Cargo.toml */
552
+ files: Map<string, CargoToml>;
553
+ /** name -> package */
554
+ packages: Map<string, CargoPackage>;
555
+ }
556
+ //#endregion
147
557
  //#region src/context.d.ts
148
558
  interface TegamiContext {
149
559
  /** absolute path */
@@ -171,6 +581,9 @@ interface TegamiContext {
171
581
  npm?: {
172
582
  client: AgentName;
173
583
  };
584
+ cargo?: {
585
+ graph: CargoGraph;
586
+ };
174
587
  }
175
588
  //#endregion
176
589
  //#region src/providers/npm/schema.d.ts
@@ -359,7 +772,11 @@ declare class NpmPackage extends WorkspacePackage {
359
772
  write(): Promise<void>;
360
773
  initDraft(): PackageDraft;
361
774
  getRegistry(): string;
362
- configureDraft(draft: PackageDraft, group?: PackageGroup): void;
775
+ configureDraft({
776
+ draft
777
+ }: {
778
+ draft: PackageDraft;
779
+ }): void;
363
780
  }
364
781
  type DependencySpec = {
365
782
  protocol: "npm";
@@ -516,6 +933,10 @@ interface TegamiPlugin {
516
933
  pkg: WorkspacePackage;
517
934
  plan: PublishPlan;
518
935
  }): Awaitable<PublishPreflight | void | undefined>;
936
+ /** Called when all preflights finished */
937
+ afterPreflight?(this: TegamiContext, opts: {
938
+ plan: PublishPlan;
939
+ }): Awaitable<void>;
519
940
  /** Publish package, return a result object indicating if the package is published, skipped, or failed. Return `undefined` if the package is not handled by this plugin. */
520
941
  publish?(this: TegamiContext, opts: {
521
942
  pkg: WorkspacePackage;
@@ -548,6 +969,7 @@ interface TegamiPlugin {
548
969
  applyCliDraft?(this: TegamiContext, draft: Draft): Awaitable<void>;
549
970
  }
550
971
  type Awaitable<T> = T | Promise<T>;
972
+ type RequireFields<Obj, K extends keyof Obj> = Obj & { [R in K]-?: NonNullable<Obj[R]> };
551
973
  interface PublishPreflight {
552
974
  /**
553
975
  * Whether the package should be published, the state **must not** be changed across different runs.
@@ -563,4 +985,4 @@ interface PublishPreflight {
563
985
  wait?: string[];
564
986
  }
565
987
  //#endregion
566
- export { PackageGroup as C, PackageDraft as D, DraftPolicy as E, BumpType as O, PackageGraph as S, Draft as T, PackagePublishResult as _, PublishPreflight as a, CommitChangelog as b, TegamiPluginOption as c, npm as d, GenerateChangelogOptions as f, PackagePublishPlan as g, PublishLock as h, PackageOptions as i, NpmPackage as l, tegami as m, GroupOptions as n, TegamiOptions as o, Tegami as p, LogGenerator as r, TegamiPlugin as s, Awaitable as t, NpmPluginOptions as u, PublishOptions as v, WorkspacePackage as w, TegamiContext as x, PublishPlan as y };
988
+ export { DraftPolicy as A, CargoPackage as C, PackageGroup as D, PackageGraph as E, BumpType as M, WorkspacePackage as O, CargoGraph as S, cargo as T, PackagePublishResult as _, PublishPreflight as a, CommitChangelog as b, TegamiPluginOption as c, npm as d, GenerateChangelogOptions as f, PackagePublishPlan as g, PublishLock as h, PackageOptions as i, PackageDraft as j, Draft as k, NpmPackage as l, tegami as m, GroupOptions as n, TegamiOptions as o, Tegami as p, LogGenerator as r, TegamiPlugin as s, Awaitable as t, NpmPluginOptions as u, PublishOptions as v, CargoPluginOptions as w, TegamiContext as x, PublishPlan as y };
@@ -3,4 +3,8 @@ import { Result } from "tinyexec";
3
3
  //#region src/utils/error.d.ts
4
4
  declare function execFailure(context: string, result: Awaited<Result>): Error;
5
5
  //#endregion
6
- export { execFailure };
6
+ //#region src/utils/common.d.ts
7
+ declare const isCI: () => boolean;
8
+ declare function joinPath(...paths: string[]): string;
9
+ //#endregion
10
+ export { execFailure, isCI, joinPath };
@@ -1,2 +1,2 @@
1
- import { n as execFailure } from "../error-BhMYq9iW.js";
2
- export { execFailure };
1
+ import { n as execFailure, o as isCI, s as joinPath } from "../error-BhMYq9iW.js";
2
+ export { execFailure, isCI, joinPath };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tegami",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "description": "Utility for package versioning & publish",
5
5
  "license": "MIT",
6
6
  "author": "Fuma Nama",