upstream-radar 0.38.0 → 0.40.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.
@@ -1 +1 @@
1
- {"version":3,"file":"upstream-observer.d.ts","sourceRoot":"","sources":["../../src/upstream-observer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upstream-observer.d.ts","sourceRoot":"","sources":["../../src/upstream-observer.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ const OBSERVER_RETRY_DELAY_MS = 150;
30
30
  const EXACT_NPM_PACKAGE_NAME = /^(?:@[^/\s]+\/[^/\s]+|[^/@\s]+)$/;
31
31
  const EXACT_DSH_VERSION = /^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/;
32
32
  const SAFE_TARGET_ID = /^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/;
33
+ const SAFE_NPM_DIST_TAG = /^[a-z][a-z0-9._-]{0,127}$/;
33
34
  function asRecord(value) {
34
35
  if (typeof value !== 'object' || value === null || Array.isArray(value))
35
36
  return undefined;
@@ -178,6 +179,10 @@ function yamlMapping(line) {
178
179
  function normalizeTargetKey(key) {
179
180
  if (key === 'package')
180
181
  return 'packageName';
182
+ if (key === 'npm')
183
+ return 'observeNpm';
184
+ if (key === 'package-tag')
185
+ return 'packageTag';
181
186
  if (key === 'package-path')
182
187
  return 'packagePath';
183
188
  if (key === 'lockfile-type')
@@ -302,6 +307,17 @@ function target(value, index) {
302
307
  if (packageName !== undefined && !EXACT_NPM_PACKAGE_NAME.test(packageName)) {
303
308
  throw new Error(`targets[${index}].package must be an npm package name`);
304
309
  }
310
+ const observeNpm = source.observeNpm === undefined ? true : source.observeNpm;
311
+ if (typeof observeNpm !== 'boolean')
312
+ throw new Error(`targets[${index}].npm must be true or false`);
313
+ const packageTag = optionalBoundedString(source.packageTag, `targets[${index}].packageTag`, 128);
314
+ if (packageTag !== undefined && !SAFE_NPM_DIST_TAG.test(packageTag)) {
315
+ throw new Error(`targets[${index}].packageTag must be a lowercase npm dist-tag`);
316
+ }
317
+ if (!observeNpm && packageName !== undefined)
318
+ throw new Error(`targets[${index}].package cannot be set when npm is false`);
319
+ if (!observeNpm && packageTag !== undefined)
320
+ throw new Error(`targets[${index}].packageTag cannot be set when npm is false`);
305
321
  const lockfile = source.lockfile === undefined ? undefined : validateRelativePath(source.lockfile, `targets[${index}].lockfile`);
306
322
  const rawLockfileType = optionalBoundedString(source.lockfileType, `targets[${index}].lockfileType`, 16);
307
323
  const lockfileType = rawLockfileType === undefined
@@ -328,6 +344,8 @@ function target(value, index) {
328
344
  repository: validateRepository(source.repository, `targets[${index}].repository`),
329
345
  ref,
330
346
  ...(packageName === undefined ? {} : { packageName }),
347
+ ...(observeNpm ? {} : { observeNpm: false }),
348
+ ...(packageTag === undefined ? {} : { packageTag }),
331
349
  ...(packagePath === undefined ? {} : { packagePath }),
332
350
  ...(lockfile === undefined ? {} : { lockfile }),
333
351
  ...(lockfileType === undefined ? {} : { lockfileType }),
@@ -382,9 +400,13 @@ function parsePackageObservation(value, label) {
382
400
  throw new Error(`${label} must be an object`);
383
401
  const name = boundedString(source.name, `${label}.name`, 512);
384
402
  const version = boundedString(source.version, `${label}.version`, 512);
403
+ const distTag = optionalBoundedString(source.distTag, `${label}.distTag`, 128);
404
+ if (distTag !== undefined && !SAFE_NPM_DIST_TAG.test(distTag))
405
+ throw new Error(`${label}.distTag is invalid`);
385
406
  return {
386
407
  name,
387
408
  version,
409
+ ...(distTag === undefined ? {} : { distTag }),
388
410
  ...(optionalBoundedString(source.integrity, `${label}.integrity`, 512) === undefined ? {} : { integrity: source.integrity }),
389
411
  ...(optionalBoundedString(source.tarball, `${label}.tarball`, 4_096) === undefined ? {} : { tarball: source.tarball }),
390
412
  ...(optionalBoundedString(source.repository, `${label}.repository`, 4_096) === undefined ? {} : { repository: source.repository }),
@@ -810,7 +832,7 @@ export class UpstreamObserverClient {
810
832
  }
811
833
  return undefined;
812
834
  }
813
- async fetchNpmObservation(name) {
835
+ async fetchNpmObservation(name, distTag = 'latest') {
814
836
  const url = new URL(encodeURIComponent(name), this.registry);
815
837
  const response = await this.fetchWithRetry(url, {
816
838
  headers: { accept: 'application/vnd.npm.install-v1+json, application/json', 'user-agent': 'upstream-radar/upstream-observer' },
@@ -822,22 +844,23 @@ export class UpstreamObserverClient {
822
844
  const tags = asRecord(root?.['dist-tags']);
823
845
  const versions = asRecord(root?.versions);
824
846
  const times = asRecord(root?.time);
825
- const latest = typeof tags?.latest === 'string' ? tags.latest : undefined;
826
- const rawManifest = latest === undefined ? undefined : versions?.[latest];
847
+ const selectedVersion = typeof tags?.[distTag] === 'string' ? tags[distTag] : undefined;
848
+ const rawManifest = selectedVersion === undefined ? undefined : versions?.[selectedVersion];
827
849
  const manifest = asRecord(rawManifest);
828
- if (latest === undefined || manifest === undefined)
829
- throw new Error(`npm registry has no latest manifest for ${name}`);
850
+ if (selectedVersion === undefined || manifest === undefined)
851
+ throw new Error(`npm registry has no ${distTag} manifest for ${name}`);
830
852
  const dist = asRecord(manifest.dist);
831
853
  const repository = typeof manifest.repository === 'string'
832
854
  ? manifest.repository
833
855
  : typeof asRecord(manifest.repository)?.url === 'string' ? asRecord(manifest.repository)?.url : undefined;
834
856
  return {
835
857
  name,
836
- version: latest,
858
+ version: selectedVersion,
859
+ distTag,
837
860
  ...(typeof dist?.integrity === 'string' ? { integrity: dist.integrity } : {}),
838
861
  ...(typeof dist?.tarball === 'string' ? { tarball: dist.tarball } : {}),
839
862
  ...(repository === undefined ? {} : { repository: repository.slice(0, 4_096) }),
840
- ...(typeof times?.[latest] === 'string' ? { publishedAt: times[latest] } : {}),
863
+ ...(typeof times?.[selectedVersion] === 'string' ? { publishedAt: times[selectedVersion] } : {}),
841
864
  };
842
865
  }
843
866
  async observe(targetValue, now) {
@@ -862,9 +885,12 @@ export class UpstreamObserverClient {
862
885
  if (targetValue.packageName !== undefined && targetValue.packageName !== manifest.name) {
863
886
  warnings.push(`target package ${targetValue.packageName} does not match source manifest ${manifest.name}`);
864
887
  }
865
- const packageObservation = await this.fetchNpmObservation(packageName);
866
- if (packageObservation === undefined)
888
+ const packageObservation = targetValue.observeNpm === false
889
+ ? undefined
890
+ : await this.fetchNpmObservation(packageName, targetValue.packageTag);
891
+ if (targetValue.observeNpm !== false && packageObservation === undefined) {
867
892
  warnings.push(`${packageName} was not found on the configured npm registry`);
893
+ }
868
894
  let graph;
869
895
  let graphError;
870
896
  let lockfileUrl;
@@ -934,6 +960,7 @@ export class UpstreamObserverClient {
934
960
  packagePath,
935
961
  },
936
962
  manifest,
963
+ npmExpected: targetValue.observeNpm !== false,
937
964
  ...(packageObservation === undefined ? {} : {
938
965
  package: {
939
966
  name: packageObservation.name,
@@ -1054,6 +1081,10 @@ function summary(snapshot) {
1054
1081
  ...(snapshot.alignment === undefined ? {} : { alignment: structuredClone(snapshot.alignment) }),
1055
1082
  };
1056
1083
  }
1084
+ function snapshotEvidenceSignature(snapshot) {
1085
+ const { observedAt: _observedAt, ...evidence } = snapshot;
1086
+ return JSON.stringify(evidence);
1087
+ }
1057
1088
  function alignmentSignature(value) {
1058
1089
  if (value === undefined)
1059
1090
  return '';
@@ -1150,6 +1181,11 @@ function packageChanged(before, after) {
1150
1181
  return true;
1151
1182
  return before.package?.integrity !== after.package?.integrity;
1152
1183
  }
1184
+ function sourcePublishedVersionDrift(snapshot) {
1185
+ if (snapshot.package === undefined || snapshot.manifest.version === snapshot.package.version)
1186
+ return undefined;
1187
+ return `${snapshot.manifest.name}@${snapshot.manifest.version}|${snapshot.package.name}@${snapshot.package.version}`;
1188
+ }
1153
1189
  function graphChanged(before, after) {
1154
1190
  if (before.graphError !== after.graphError)
1155
1191
  return true;
@@ -1175,7 +1211,9 @@ function meaningfulChange(sourceChange, before, after) {
1175
1211
  if (before.manifest.name !== after.manifest.name || before.manifest.version !== after.manifest.version) {
1176
1212
  reasons.push(`source manifest identity changed: ${before.manifest.name}@${before.manifest.version} → ${after.manifest.name}@${after.manifest.version}`);
1177
1213
  }
1178
- if (after.package !== undefined && after.manifest.version !== after.package.version) {
1214
+ const beforeDrift = sourcePublishedVersionDrift(before);
1215
+ const afterDrift = sourcePublishedVersionDrift(after);
1216
+ if (afterDrift !== undefined && beforeDrift !== afterDrift && after.package !== undefined) {
1179
1217
  reasons.push(`source/published version drift: source ${after.manifest.name}@${after.manifest.version}, npm ${after.package.name}@${after.package.version}`);
1180
1218
  }
1181
1219
  // Legacy observation files predate the IR. Populate the new field on the
@@ -1409,6 +1447,16 @@ function llmCompletionEndpoints(baseUrl) {
1409
1447
  }
1410
1448
  return [...new Set(bases)].map(base => `${base}/chat/completions`);
1411
1449
  }
1450
+ function isDeepSeekJsonModel(baseUrl, model) {
1451
+ if (model === 'deepseek-v4-flash' || model === 'deepseek-v4-pro' || model === 'deepseek-chat' || model === 'deepseek-reasoner')
1452
+ return true;
1453
+ try {
1454
+ return new URL(baseUrl).hostname === 'api.deepseek.com';
1455
+ }
1456
+ catch {
1457
+ return false;
1458
+ }
1459
+ }
1412
1460
  /**
1413
1461
  * Call an explicit OpenAI-compatible model without requiring users to write a
1414
1462
  * DSH wrapper. The env file is read for this invocation only; the key and
@@ -1453,14 +1501,17 @@ export async function runOpenAiCompatibleAgent(task, prompt, options) {
1453
1501
  body: JSON.stringify({
1454
1502
  model,
1455
1503
  messages: [
1456
- { role: 'system', content: '只返回严格 JSON,不要输出 Markdown。' },
1504
+ { role: 'system', content: '只返回一个严格 JSON 对象。不要输出 Markdown、解释、前缀或后缀;输出必须以 { 开始并以 } 结束。' },
1457
1505
  { role: 'user', content: prompt },
1458
1506
  ],
1459
1507
  temperature: 0,
1508
+ // DeepSeek V4 enables thinking by default. For this machine-readable
1509
+ // contract, disable it so the output budget is reserved for the JSON
1510
+ // conclusion instead of an optional reasoning stream.
1511
+ ...(isDeepSeekJsonModel(baseUrl, model) ? { thinking: { type: 'disabled' } } : {}),
1460
1512
  response_format: { type: 'json_object' },
1461
- // GLM-5.1 reports its reasoning tokens against the completion budget;
1462
- // without an explicit budget it can spend the whole response on
1463
- // reasoning and return an empty `content` field.
1513
+ // Keep an explicit output budget so the JSON conclusion is not
1514
+ // truncated by a provider default.
1464
1515
  max_tokens: DEFAULT_LLM_MAX_TOKENS,
1465
1516
  }),
1466
1517
  signal: AbortSignal.timeout(timeoutMs),
@@ -1573,13 +1624,19 @@ export async function runObserver(config, previousState, options = {}) {
1573
1624
  try {
1574
1625
  const current = await source.observe(configuredTarget, checkedAt);
1575
1626
  const before = previousState.targets[configuredTarget.id];
1576
- nextTargets[configuredTarget.id] = current;
1577
1627
  if (before === undefined) {
1628
+ nextTargets[configuredTarget.id] = current;
1578
1629
  baselineTargets.push(configuredTarget.id);
1579
1630
  if (current.alignment !== undefined)
1580
1631
  alignmentFindings.push({ targetId: configuredTarget.id, alignment: structuredClone(current.alignment) });
1581
1632
  continue;
1582
1633
  }
1634
+ // checkedAt belongs in the run report. Keep the durable observation point
1635
+ // byte-stable when its evidence did not change, so a no-op cron run does
1636
+ // not manufacture a commit from a fresh timestamp alone.
1637
+ nextTargets[configuredTarget.id] = snapshotEvidenceSignature(before) === snapshotEvidenceSignature(current)
1638
+ ? before
1639
+ : current;
1583
1640
  if (before.alignment === undefined && current.alignment !== undefined) {
1584
1641
  // Upgrade legacy state into the IR and show its first finding once.
1585
1642
  // This is evidence for the author, not a fake upstream change and not
@@ -1704,7 +1761,9 @@ export function observerExitCode(report) {
1704
1761
  return report.errors.length > 0 ? 1 : 0;
1705
1762
  }
1706
1763
  function displayPackage(value) {
1707
- return value === undefined ? 'not observed' : `${value.name}@${value.version}`;
1764
+ return value === undefined
1765
+ ? 'not observed'
1766
+ : `${value.name}@${value.version}${value.distTag === undefined ? '' : ` via npm tag ${value.distTag}`}`;
1708
1767
  }
1709
1768
  function displayGraph(value) {
1710
1769
  return value === undefined ? 'not observed' : `${value.nodes} nodes, ${value.edges} edges${value.unresolved === 0 ? '' : `, ${value.unresolved} unresolved`}`;