@aviaratech/ai-delivery 0.3.22 → 0.3.24

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 (131) hide show
  1. package/CONTRIBUTING.md +9 -0
  2. package/README.md +77 -442
  3. package/dist/agent.d.ts +5 -11
  4. package/dist/agent.js +4 -8
  5. package/dist/agent.js.map +1 -1
  6. package/dist/cli.js +59 -107
  7. package/dist/cli.js.map +1 -1
  8. package/dist/config/deliveryConfig.d.ts +44 -55
  9. package/dist/config/deliveryConfig.js +85 -88
  10. package/dist/config/deliveryConfig.js.map +1 -1
  11. package/dist/config/deliveryConfig.test.js +13 -5
  12. package/dist/config/deliveryConfig.test.js.map +1 -1
  13. package/dist/delivery/common.d.ts +4 -1
  14. package/dist/delivery/common.js +56 -8
  15. package/dist/delivery/common.js.map +1 -1
  16. package/dist/delivery/delivery.test.js +2 -3
  17. package/dist/delivery/delivery.test.js.map +1 -1
  18. package/dist/delivery/index.d.ts +0 -6
  19. package/dist/delivery/index.js +0 -3
  20. package/dist/delivery/index.js.map +1 -1
  21. package/dist/delivery/legacy.d.ts +8 -0
  22. package/dist/delivery/legacy.js +5 -0
  23. package/dist/delivery/legacy.js.map +1 -0
  24. package/dist/delivery/policy.js +2 -13
  25. package/dist/delivery/policy.js.map +1 -1
  26. package/dist/delivery/stage.d.ts +6 -0
  27. package/dist/delivery/stage.js +11 -2
  28. package/dist/delivery/stage.js.map +1 -1
  29. package/dist/directoryIndependent.test.d.ts +1 -0
  30. package/dist/directoryIndependent.test.js +262 -0
  31. package/dist/directoryIndependent.test.js.map +1 -0
  32. package/dist/dispatch.d.ts +29 -3
  33. package/dist/dispatch.js +160 -457
  34. package/dist/dispatch.js.map +1 -1
  35. package/dist/genericCompatibility.test.js +0 -35
  36. package/dist/genericCompatibility.test.js.map +1 -1
  37. package/dist/git.js +10 -3
  38. package/dist/git.js.map +1 -1
  39. package/dist/gitProcess.d.ts +6 -0
  40. package/dist/gitProcess.js +56 -0
  41. package/dist/gitProcess.js.map +1 -0
  42. package/dist/github/discovery.d.ts +1 -0
  43. package/dist/github/discovery.js +1 -1
  44. package/dist/github/discovery.js.map +1 -1
  45. package/dist/github/discovery.test.js +25 -20
  46. package/dist/github/discovery.test.js.map +1 -1
  47. package/dist/github/nativeIssueMetadata.d.ts +2 -2
  48. package/dist/github/nativeIssueMetadata.js.map +1 -1
  49. package/dist/github/projectDelivery.d.ts +1 -1
  50. package/dist/github/projectDelivery.js.map +1 -1
  51. package/dist/github/repo.d.ts +7 -1
  52. package/dist/github/repo.js +58 -2
  53. package/dist/github/repo.js.map +1 -1
  54. package/dist/issue.d.ts +11 -6
  55. package/dist/issue.js +136 -319
  56. package/dist/issue.js.map +1 -1
  57. package/dist/issueJournal.d.ts +1 -1
  58. package/dist/lifecycle.test.js +40 -7371
  59. package/dist/lifecycle.test.js.map +1 -1
  60. package/dist/logger.js +4 -4
  61. package/dist/logger.js.map +1 -1
  62. package/dist/mcp/index.js +2 -1
  63. package/dist/mcp/index.js.map +1 -1
  64. package/dist/mcp/tools.d.ts +27 -42
  65. package/dist/mcp/tools.js +34 -42
  66. package/dist/mcp/tools.js.map +1 -1
  67. package/dist/pluginInstaller.d.ts +51 -0
  68. package/dist/pluginInstaller.js +774 -0
  69. package/dist/pluginInstaller.js.map +1 -0
  70. package/dist/pluginInstaller.test.d.ts +1 -0
  71. package/dist/pluginInstaller.test.js +543 -0
  72. package/dist/pluginInstaller.test.js.map +1 -0
  73. package/dist/pluginPackaging.test.d.ts +1 -0
  74. package/dist/pluginPackaging.test.js +245 -0
  75. package/dist/pluginPackaging.test.js.map +1 -0
  76. package/dist/pr.d.ts +66 -114
  77. package/dist/pr.js +288 -1108
  78. package/dist/pr.js.map +1 -1
  79. package/dist/pr.test.js +295 -237
  80. package/dist/pr.test.js.map +1 -1
  81. package/dist/releaseReconciliation.test.d.ts +1 -0
  82. package/dist/releaseReconciliation.test.js +314 -0
  83. package/dist/releaseReconciliation.test.js.map +1 -0
  84. package/dist/review.d.ts +37 -7
  85. package/dist/review.js +106 -45
  86. package/dist/review.js.map +1 -1
  87. package/dist/review.test.js +30 -71
  88. package/dist/review.test.js.map +1 -1
  89. package/dist/services/agentReadinessService.d.ts +1 -1
  90. package/dist/services/agentReadinessService.js +2 -0
  91. package/dist/services/agentReadinessService.js.map +1 -1
  92. package/dist/services/deliveryAdmission.d.ts +4 -4
  93. package/dist/services/deliveryAdmission.js.map +1 -1
  94. package/dist/setup.d.ts +1 -0
  95. package/dist/setup.js +71 -10
  96. package/dist/setup.js.map +1 -1
  97. package/dist/setup.test.js +594 -204
  98. package/dist/setup.test.js.map +1 -1
  99. package/dist/start.test.d.ts +1 -0
  100. package/dist/start.test.js +72 -0
  101. package/dist/start.test.js.map +1 -0
  102. package/dist/stdoutRegression.test.d.ts +1 -0
  103. package/dist/stdoutRegression.test.js +326 -0
  104. package/dist/stdoutRegression.test.js.map +1 -0
  105. package/dist/verification.d.ts +62 -27
  106. package/dist/verification.js +172 -1337
  107. package/dist/verification.js.map +1 -1
  108. package/dist/worktree.d.ts +1 -31
  109. package/dist/worktree.js +5 -200
  110. package/dist/worktree.js.map +1 -1
  111. package/dist/worktreeTransition.d.ts +1 -1
  112. package/dist/worktreeTransition.js +10 -5
  113. package/dist/worktreeTransition.js.map +1 -1
  114. package/dist/worktreeTransition.test.js +2 -3
  115. package/dist/worktreeTransition.test.js.map +1 -1
  116. package/package.json +4 -4
  117. package/plugins/ai-delivery/.claude-plugin/plugin.json +6 -1
  118. package/plugins/ai-delivery/LICENSE +21 -0
  119. package/plugins/ai-delivery/README.md +4 -2
  120. package/plugins/ai-delivery/dist/mcp-launcher.js +19 -8
  121. package/plugins/ai-delivery/mcp.json +10 -0
  122. package/plugins/ai-delivery/plugin.json +10 -0
  123. package/plugins/ai-delivery/runtime/dist/THIRD-PARTY-NOTICES.md +1010 -0
  124. package/plugins/ai-delivery/runtime/dist/cli.js +276 -0
  125. package/plugins/ai-delivery/runtime/package.json +13 -0
  126. package/plugins/ai-delivery/skills/intake-create/SKILL.md +1 -1
  127. package/plugins/ai-delivery/skills/pr-handoff/SKILL.md +14 -21
  128. package/plugins/ai-delivery/skills/worktree-lifecycle/SKILL.md +12 -23
  129. package/dist/services/deliveryRecordService.d.ts +0 -47
  130. package/dist/services/deliveryRecordService.js +0 -199
  131. package/dist/services/deliveryRecordService.js.map +0 -1
package/dist/setup.js CHANGED
@@ -1,4 +1,4 @@
1
- import { closeSync, existsSync, fsyncSync, lstatSync, mkdirSync, openSync, readFileSync, rmSync } from 'node:fs';
1
+ import { closeSync, existsSync, fsyncSync, lstatSync, mkdirSync, openSync, readFileSync, readdirSync, rmSync, } from 'node:fs';
2
2
  import { dirname, isAbsolute, join, resolve, sep } from 'node:path';
3
3
  import { z } from 'zod';
4
4
  import { assertPrivateFile, writeCreateOnly } from './delivery/common.js';
@@ -33,6 +33,7 @@ const IntentSchema = z.strictObject({
33
33
  repository: z.string().min(1),
34
34
  reviewRouteDigest: Digest,
35
35
  runtimeDirectory: z.string().min(1),
36
+ nativePluginRoot: z.string().min(1).optional(),
36
37
  sourceCommit: z.string().regex(/^[a-f0-9]{40}$/u),
37
38
  resourceBounds: StageBounds.optional(),
38
39
  });
@@ -58,11 +59,11 @@ const StageSchema = z
58
59
  value.admission.configDigest !== value.intent.configDigest ||
59
60
  value.admission.repository !== value.intent.repository ||
60
61
  value.admission.cliPath !==
61
- join(value.intent.runtimeDirectory, 'node_modules/@aviaratech/ai-delivery/dist/cli.js') ||
62
+ runtimePaths(value.intent.runtimeDirectory, value.intent.nativePluginRoot).cliPath ||
62
63
  value.admission.mcpLauncherPath !==
63
- join(value.intent.runtimeDirectory, 'node_modules/@aviaratech/ai-delivery/plugins/ai-delivery/dist/mcp-launcher.js') ||
64
+ runtimePaths(value.intent.runtimeDirectory, value.intent.nativePluginRoot).mcpLauncherPath ||
64
65
  value.admission.pluginManifestPath !==
65
- join(value.intent.runtimeDirectory, 'node_modules/@aviaratech/ai-delivery/plugins/ai-delivery/.claude-plugin/plugin.json'))))
66
+ runtimePaths(value.intent.runtimeDirectory, value.intent.nativePluginRoot).pluginManifestPath)))
66
67
  context.addIssue({ code: 'custom', message: 'Runtime stage identity or completion is corrupt.' });
67
68
  });
68
69
  /** Paths are explicit canonical locations; setup never traverses host aliases or current links. */
@@ -84,6 +85,60 @@ function canonicalPath(path) {
84
85
  }
85
86
  return path;
86
87
  }
88
+ function runtimePaths(directory, nativePluginRoot) {
89
+ const packageRoot = join(directory, 'node_modules', '@aviaratech', 'ai-delivery');
90
+ const pluginRoot = nativePluginRoot ?? join(packageRoot, 'plugins', 'ai-delivery');
91
+ return {
92
+ cliPath: nativePluginRoot ? join(pluginRoot, 'runtime', 'dist', 'cli.js') : join(packageRoot, 'dist', 'cli.js'),
93
+ mcpLauncherPath: join(pluginRoot, 'dist', 'mcp-launcher.js'),
94
+ pluginManifestPath: join(pluginRoot, '.claude-plugin', 'plugin.json'),
95
+ };
96
+ }
97
+ function assertNativeLocation(directory, nativePluginRoot) {
98
+ if (nativePluginRoot === undefined)
99
+ return;
100
+ canonicalPath(nativePluginRoot);
101
+ if (nativePluginRoot === directory ||
102
+ nativePluginRoot.startsWith(`${directory}${sep}`) ||
103
+ directory.startsWith(`${nativePluginRoot}${sep}`))
104
+ throw new DeliveryError('Native plugin cache and owned runtime stage paths must not overlap.');
105
+ }
106
+ /** A cache is read-only: every built file must match the reviewed archive's installed plugin. */
107
+ function assertNativePlugin(intent) {
108
+ if (intent.nativePluginRoot === undefined)
109
+ return;
110
+ assertNativeLocation(intent.runtimeDirectory, intent.nativePluginRoot);
111
+ const source = canonicalPath(join(intent.runtimeDirectory, 'node_modules/@aviaratech/ai-delivery/plugins/ai-delivery'));
112
+ let entries = 0;
113
+ const compare = (reviewed, selected, depth) => {
114
+ if (depth > 16 || ++entries > 4096)
115
+ throw new DeliveryError('Native plugin inventory exceeds the reviewed layout bound.');
116
+ const expected = lstatSync(reviewed);
117
+ const actual = lstatSync(selected);
118
+ if (expected.isDirectory() && actual.isDirectory()) {
119
+ const names = readdirSync(reviewed).sort();
120
+ if (JSON.stringify(names) !== JSON.stringify(readdirSync(selected).sort()))
121
+ throw new DeliveryError('Selected native plugin inventory disagrees with reviewed archive bytes.');
122
+ for (const name of names)
123
+ compare(join(reviewed, name), join(selected, name), depth + 1);
124
+ }
125
+ else if (!expected.isFile() ||
126
+ !actual.isFile() ||
127
+ expected.nlink !== 1 ||
128
+ actual.nlink !== 1 ||
129
+ expected.size !== actual.size ||
130
+ !readFileSync(reviewed).equals(readFileSync(selected)))
131
+ throw new DeliveryError('Selected native plugin files disagree with reviewed archive bytes.');
132
+ };
133
+ try {
134
+ compare(source, intent.nativePluginRoot, 0);
135
+ }
136
+ catch (error) {
137
+ if (error instanceof DeliveryError)
138
+ throw error;
139
+ throw new DeliveryError('Selected native plugin cannot be matched to reviewed archive bytes.');
140
+ }
141
+ }
87
142
  function assertArchive(path, expected) {
88
143
  canonicalPath(path);
89
144
  Digest.parse(expected);
@@ -154,8 +209,10 @@ function readStage(directory) {
154
209
  metadata.dev !== record.directory.device ||
155
210
  metadata.ino !== record.directory.inode)
156
211
  throw new DeliveryError('Runtime stage directory ownership changed.');
157
- if (record.status === 'complete')
212
+ if (record.status === 'complete') {
158
213
  assertArchiveSnapshot(record.intent);
214
+ assertNativePlugin(record.intent);
215
+ }
159
216
  return record;
160
217
  }
161
218
  function writeStage(directory, content) {
@@ -223,6 +280,7 @@ export async function stageRuntime(input) {
223
280
  ...input.resourceBounds,
224
281
  });
225
282
  canonicalPath(input.runtimeDirectory);
283
+ assertNativeLocation(input.runtimeDirectory, input.nativePluginRoot);
226
284
  return withRuntimeSetupWriter(input.repoRoot, async (runner) => {
227
285
  const current = await controller(input, 'runtime:stage', runner.checkResources, runner.signal);
228
286
  assertArchive(input.archivePath, input.expectedArchiveSha256);
@@ -237,8 +295,10 @@ export async function stageRuntime(input) {
237
295
  reviewRouteDigest: digestValue(current.reviewRoute),
238
296
  runtimeDirectory: input.runtimeDirectory,
239
297
  resourceBounds: bounds,
298
+ ...(input.nativePluginRoot === undefined ? {} : { nativePluginRoot: input.nativePluginRoot }),
240
299
  });
241
300
  const stageId = digestValue(intent);
301
+ runner.bindCapturedOutput(stageId);
242
302
  if (existsSync(input.runtimeDirectory)) {
243
303
  const prior = readStage(input.runtimeDirectory);
244
304
  if (prior.stageId !== stageId)
@@ -306,6 +366,9 @@ export async function stageRuntime(input) {
306
366
  cache,
307
367
  '--logs-dir',
308
368
  logs,
369
+ // Command capture owns the entire retained-log allowance.
370
+ '--logs-max',
371
+ '0',
309
372
  '--userconfig',
310
373
  userconfig,
311
374
  '--globalconfig',
@@ -320,17 +383,15 @@ export async function stageRuntime(input) {
320
383
  assertStageController({ ...content, recordId: digestValue(content) }, reread, input);
321
384
  assertArchive(input.archivePath, input.expectedArchiveSha256);
322
385
  assertArchiveSnapshot(intent);
323
- const packageRoot = join(input.runtimeDirectory, 'node_modules', '@aviaratech', 'ai-delivery');
324
- const plugin = join(packageRoot, 'plugins', 'ai-delivery');
386
+ assertNativePlugin(intent);
325
387
  const admission = buildRuntimeAdmission({
326
- cliPath: join(packageRoot, 'dist', 'cli.js'),
327
- mcpLauncherPath: join(plugin, 'dist', 'mcp-launcher.js'),
328
- pluginManifestPath: join(plugin, '.claude-plugin', 'plugin.json'),
388
+ ...runtimePaths(input.runtimeDirectory, input.nativePluginRoot),
329
389
  packageVersion: input.packageVersion,
330
390
  sourceArchiveSha256: input.expectedArchiveSha256,
331
391
  sourceCommit: input.expectedSourceCommit,
332
392
  configuration: reread.configuration,
333
393
  });
394
+ assertNativePlugin(intent);
334
395
  if (input.signal?.aborted)
335
396
  throw new DeliveryError('Runtime stage cancelled.');
336
397
  runner.assertQuiescent();
package/dist/setup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}