@agentxm/client-core 0.20.1 → 0.21.1

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 (159) hide show
  1. package/dist/src/unstable/auth/auth-client.d.ts +32 -0
  2. package/dist/src/unstable/auth/auth-client.d.ts.map +1 -1
  3. package/dist/src/unstable/auth/auth-client.js +78 -0
  4. package/dist/src/unstable/auth/auth-client.js.map +1 -1
  5. package/dist/src/unstable/auth/index.d.ts +2 -1
  6. package/dist/src/unstable/auth/index.d.ts.map +1 -1
  7. package/dist/src/unstable/auth/index.js +1 -0
  8. package/dist/src/unstable/auth/index.js.map +1 -1
  9. package/dist/src/unstable/auth/loopback-login.d.ts.map +1 -1
  10. package/dist/src/unstable/auth/loopback-login.js +1 -0
  11. package/dist/src/unstable/auth/loopback-login.js.map +1 -1
  12. package/dist/src/unstable/auth/loopback-server.d.ts +1 -0
  13. package/dist/src/unstable/auth/loopback-server.d.ts.map +1 -1
  14. package/dist/src/unstable/auth/loopback-server.js +20 -5
  15. package/dist/src/unstable/auth/loopback-server.js.map +1 -1
  16. package/dist/src/unstable/auth/publish-authorization.d.ts +18 -0
  17. package/dist/src/unstable/auth/publish-authorization.d.ts.map +1 -0
  18. package/dist/src/unstable/auth/publish-authorization.js +83 -0
  19. package/dist/src/unstable/auth/publish-authorization.js.map +1 -0
  20. package/dist/src/unstable/cli/prompt/autocomplete-multiselect.d.ts +2 -0
  21. package/dist/src/unstable/cli/prompt/autocomplete-multiselect.d.ts.map +1 -1
  22. package/dist/src/unstable/cli/prompt/autocomplete-multiselect.js +8 -14
  23. package/dist/src/unstable/cli/prompt/autocomplete-multiselect.js.map +1 -1
  24. package/dist/src/unstable/cli-renderer/cli-renderer-interactive.d.ts.map +1 -1
  25. package/dist/src/unstable/cli-renderer/cli-renderer-interactive.js +7 -0
  26. package/dist/src/unstable/cli-renderer/cli-renderer-interactive.js.map +1 -1
  27. package/dist/src/unstable/cli-renderer/cli-renderer-machine.d.ts.map +1 -1
  28. package/dist/src/unstable/cli-renderer/cli-renderer-machine.js +2 -0
  29. package/dist/src/unstable/cli-renderer/cli-renderer-machine.js.map +1 -1
  30. package/dist/src/unstable/cli-renderer/cli-renderer-test.d.ts +1 -0
  31. package/dist/src/unstable/cli-renderer/cli-renderer-test.d.ts.map +1 -1
  32. package/dist/src/unstable/cli-renderer/cli-renderer-test.js +11 -0
  33. package/dist/src/unstable/cli-renderer/cli-renderer-test.js.map +1 -1
  34. package/dist/src/unstable/cli-renderer/cli-renderer.d.ts +4 -0
  35. package/dist/src/unstable/cli-renderer/cli-renderer.d.ts.map +1 -1
  36. package/dist/src/unstable/cli-renderer/cli-renderer.js.map +1 -1
  37. package/dist/src/unstable/commands/manager.d.ts.map +1 -1
  38. package/dist/src/unstable/commands/manager.js +1 -0
  39. package/dist/src/unstable/commands/manager.js.map +1 -1
  40. package/dist/src/unstable/extensions/operations.d.ts.map +1 -1
  41. package/dist/src/unstable/extensions/operations.js +9 -2
  42. package/dist/src/unstable/extensions/operations.js.map +1 -1
  43. package/dist/src/unstable/extensions/ref-base.d.ts +4 -0
  44. package/dist/src/unstable/extensions/ref-base.d.ts.map +1 -1
  45. package/dist/src/unstable/files/manager.d.ts.map +1 -1
  46. package/dist/src/unstable/files/manager.js +1 -0
  47. package/dist/src/unstable/files/manager.js.map +1 -1
  48. package/dist/src/unstable/hooks/manager.d.ts.map +1 -1
  49. package/dist/src/unstable/hooks/manager.js +1 -0
  50. package/dist/src/unstable/hooks/manager.js.map +1 -1
  51. package/dist/src/unstable/lockfile/lockfile.d.ts +16 -0
  52. package/dist/src/unstable/lockfile/lockfile.d.ts.map +1 -1
  53. package/dist/src/unstable/lockfile/schema.d.ts +25 -0
  54. package/dist/src/unstable/lockfile/schema.d.ts.map +1 -1
  55. package/dist/src/unstable/lockfile/schema.js +2 -0
  56. package/dist/src/unstable/lockfile/schema.js.map +1 -1
  57. package/dist/src/unstable/mcps/manager.d.ts.map +1 -1
  58. package/dist/src/unstable/mcps/manager.js +1 -0
  59. package/dist/src/unstable/mcps/manager.js.map +1 -1
  60. package/dist/src/unstable/mcps/operations/install.d.ts.map +1 -1
  61. package/dist/src/unstable/mcps/operations/install.js +1 -0
  62. package/dist/src/unstable/mcps/operations/install.js.map +1 -1
  63. package/dist/src/unstable/packs/manager.d.ts.map +1 -1
  64. package/dist/src/unstable/packs/manager.js +3 -0
  65. package/dist/src/unstable/packs/manager.js.map +1 -1
  66. package/dist/src/unstable/packs/operations/install.d.ts +1 -0
  67. package/dist/src/unstable/packs/operations/install.d.ts.map +1 -1
  68. package/dist/src/unstable/packs/operations/install.js +3 -0
  69. package/dist/src/unstable/packs/operations/install.js.map +1 -1
  70. package/dist/src/unstable/registry/__generated__/registry-client.d.ts +1414 -1434
  71. package/dist/src/unstable/registry/__generated__/registry-client.d.ts.map +1 -1
  72. package/dist/src/unstable/registry/__generated__/registry-client.js +487 -291
  73. package/dist/src/unstable/registry/__generated__/registry-client.js.map +1 -1
  74. package/dist/src/unstable/registry/admin-client.d.ts +56 -28
  75. package/dist/src/unstable/registry/admin-client.d.ts.map +1 -1
  76. package/dist/src/unstable/registry/admin-client.js +46 -23
  77. package/dist/src/unstable/registry/admin-client.js.map +1 -1
  78. package/dist/src/unstable/registry/archive-cache.d.ts +51 -0
  79. package/dist/src/unstable/registry/archive-cache.d.ts.map +1 -0
  80. package/dist/src/unstable/registry/archive-cache.js +213 -0
  81. package/dist/src/unstable/registry/archive-cache.js.map +1 -0
  82. package/dist/src/unstable/registry/client.d.ts +15 -3
  83. package/dist/src/unstable/registry/client.d.ts.map +1 -1
  84. package/dist/src/unstable/registry/client.js +3 -1
  85. package/dist/src/unstable/registry/client.js.map +1 -1
  86. package/dist/src/unstable/registry/index.d.ts +5 -3
  87. package/dist/src/unstable/registry/index.d.ts.map +1 -1
  88. package/dist/src/unstable/registry/index.js +3 -2
  89. package/dist/src/unstable/registry/index.js.map +1 -1
  90. package/dist/src/unstable/registry/local-client.d.ts.map +1 -1
  91. package/dist/src/unstable/registry/local-client.js +117 -47
  92. package/dist/src/unstable/registry/local-client.js.map +1 -1
  93. package/dist/src/unstable/registry/remote-client.d.ts +2 -1
  94. package/dist/src/unstable/registry/remote-client.d.ts.map +1 -1
  95. package/dist/src/unstable/registry/remote-client.js +67 -69
  96. package/dist/src/unstable/registry/remote-client.js.map +1 -1
  97. package/dist/src/unstable/registry/schema.d.ts +10 -1
  98. package/dist/src/unstable/registry/schema.d.ts.map +1 -1
  99. package/dist/src/unstable/registry/schema.js +7 -1
  100. package/dist/src/unstable/registry/schema.js.map +1 -1
  101. package/dist/src/unstable/registry/utils.d.ts +2 -1
  102. package/dist/src/unstable/registry/utils.d.ts.map +1 -1
  103. package/dist/src/unstable/registry/utils.js +24 -5
  104. package/dist/src/unstable/registry/utils.js.map +1 -1
  105. package/dist/src/unstable/rules/manager.d.ts.map +1 -1
  106. package/dist/src/unstable/rules/manager.js +1 -0
  107. package/dist/src/unstable/rules/manager.js.map +1 -1
  108. package/dist/src/unstable/source-resolution/providers/registry/host-provider.d.ts.map +1 -1
  109. package/dist/src/unstable/source-resolution/providers/registry/host-provider.js +18 -2
  110. package/dist/src/unstable/source-resolution/providers/registry/host-provider.js.map +1 -1
  111. package/dist/src/unstable/sources/lock-entry-to-ref.d.ts.map +1 -1
  112. package/dist/src/unstable/sources/lock-entry-to-ref.js +3 -0
  113. package/dist/src/unstable/sources/lock-entry-to-ref.js.map +1 -1
  114. package/dist/src/unstable/sources/source-to-lock-entry.d.ts.map +1 -1
  115. package/dist/src/unstable/sources/source-to-lock-entry.js +3 -0
  116. package/dist/src/unstable/sources/source-to-lock-entry.js.map +1 -1
  117. package/dist/src/unstable/subagents/lock-entry-builder.d.ts.map +1 -1
  118. package/dist/src/unstable/subagents/lock-entry-builder.js +3 -0
  119. package/dist/src/unstable/subagents/lock-entry-builder.js.map +1 -1
  120. package/dist/src/unstable/workspace/index.d.ts +1 -0
  121. package/dist/src/unstable/workspace/index.d.ts.map +1 -1
  122. package/dist/src/unstable/workspace/index.js +1 -0
  123. package/dist/src/unstable/workspace/index.js.map +1 -1
  124. package/dist/src/unstable/workspace/initialization-interaction.d.ts.map +1 -1
  125. package/dist/src/unstable/workspace/initialization-interaction.js +16 -9
  126. package/dist/src/unstable/workspace/initialization-interaction.js.map +1 -1
  127. package/dist/src/unstable/workspace/read-model/extensions/ignore-patterns.d.ts +1 -0
  128. package/dist/src/unstable/workspace/read-model/extensions/ignore-patterns.d.ts.map +1 -1
  129. package/dist/src/unstable/workspace/read-model/extensions/ignore-patterns.js +4 -1
  130. package/dist/src/unstable/workspace/read-model/extensions/ignore-patterns.js.map +1 -1
  131. package/dist/src/unstable/workspace/read-model/extensions/index.d.ts +2 -0
  132. package/dist/src/unstable/workspace/read-model/extensions/index.d.ts.map +1 -1
  133. package/dist/src/unstable/workspace/read-model/extensions/index.js +2 -0
  134. package/dist/src/unstable/workspace/read-model/extensions/index.js.map +1 -1
  135. package/dist/src/unstable/workspace/read-model/extensions/inventory.d.ts +94 -0
  136. package/dist/src/unstable/workspace/read-model/extensions/inventory.d.ts.map +1 -0
  137. package/dist/src/unstable/workspace/read-model/extensions/inventory.js +152 -0
  138. package/dist/src/unstable/workspace/read-model/extensions/inventory.js.map +1 -0
  139. package/dist/src/unstable/workspace/read-model/service.d.ts +2 -0
  140. package/dist/src/unstable/workspace/read-model/service.d.ts.map +1 -1
  141. package/dist/src/unstable/workspace/read-model/service.js +1 -0
  142. package/dist/src/unstable/workspace/read-model/service.js.map +1 -1
  143. package/dist/src/unstable/workspace/read-model-record-readers.d.ts +5 -0
  144. package/dist/src/unstable/workspace/read-model-record-readers.d.ts.map +1 -1
  145. package/dist/src/unstable/workspace/read-model-record-readers.js +348 -1
  146. package/dist/src/unstable/workspace/read-model-record-readers.js.map +1 -1
  147. package/dist/src/unstable/workspace/service-interface.d.ts +9 -0
  148. package/dist/src/unstable/workspace/service-interface.d.ts.map +1 -1
  149. package/dist/src/unstable/workspace/service-interface.js.map +1 -1
  150. package/dist/src/unstable/workspace/service.d.ts +20 -0
  151. package/dist/src/unstable/workspace/service.d.ts.map +1 -1
  152. package/dist/src/unstable/workspace/service.js +4 -1
  153. package/dist/src/unstable/workspace/service.js.map +1 -1
  154. package/dist/src/unstable/workspace/test-stubs.d.ts +2 -0
  155. package/dist/src/unstable/workspace/test-stubs.d.ts.map +1 -1
  156. package/dist/src/unstable/workspace/test-stubs.js +10 -0
  157. package/dist/src/unstable/workspace/test-stubs.js.map +1 -1
  158. package/package.json +6 -6
  159. package/site-content/__generated__/schemas/axm-lock.schema.json +45 -0
@@ -8,9 +8,11 @@
8
8
  * @packageDocumentation
9
9
  */
10
10
  import * as Array from "effect/Array";
11
+ import * as Duration from "effect/Duration";
11
12
  import * as Effect from "effect/Effect";
12
13
  import * as Option from "effect/Option";
13
14
  import * as Schema from "effect/Schema";
15
+ import * as Semaphore from "effect/Semaphore";
14
16
  import { errPublishConflict, errRegistryPublishRejected, makeAppError, } from "../app-error/index.js";
15
17
  import { toAuthor } from "../extensions/index.js";
16
18
  import { isExtensionTypePlural, parseExtensionFqnParts, toExtensionTypePlural, } from "../extensions/common.js";
@@ -21,6 +23,9 @@ import { extensionDir, pluralizeType, resolveVersionEntry, selectVersion } from
21
23
  const decodeExtensionIndexFromJsonString = Schema.decodeUnknownEffect(Schema.fromJsonString(ExtensionIndexSchema));
22
24
  const encodeExtensionIndexToJsonString = Schema.encodeSync(Schema.fromJsonString(ExtensionIndexSchema));
23
25
  const encodePackageUrl = Schema.encodeSync(PackageUrlSchema);
26
+ const PUBLISH_LOCK_RETRY_DELAY = Duration.millis(25);
27
+ const PUBLISH_LOCK_STALE_MILLIS = Duration.toMillis(Duration.minutes(5));
28
+ const publishLockSemaphores = new Map();
24
29
  // -----------------------------------------------------------------------------
25
30
  // Helpers
26
31
  // -----------------------------------------------------------------------------
@@ -36,6 +41,43 @@ const readExtensionIndex = (fs, idxPath) => Effect.gen(function* () {
36
41
  cause: e,
37
42
  })));
38
43
  });
44
+ const removeBestEffort = (fs, filePath) => fs.remove(filePath).pipe(Effect.ignore);
45
+ const inProcessPublishSemaphoreFor = (lockPath) => {
46
+ const existing = publishLockSemaphores.get(lockPath);
47
+ if (existing !== undefined)
48
+ return existing;
49
+ const created = Semaphore.makeUnsafe(1);
50
+ publishLockSemaphores.set(lockPath, created);
51
+ return created;
52
+ };
53
+ const acquirePublishLock = (fs, lockPath) => Effect.gen(function* () {
54
+ const result = yield* fs
55
+ .writeFileString(lockPath, `${new Date().toISOString()}\n`, { flag: "wx" })
56
+ .pipe(Effect.result);
57
+ if (result._tag === "Success")
58
+ return;
59
+ if (result.failure.reason._tag !== "AlreadyExists") {
60
+ return yield* makeAppError({
61
+ code: "internal",
62
+ detail: `Failed to acquire local registry publish lock: ${lockPath}`,
63
+ cause: result.failure,
64
+ });
65
+ }
66
+ const info = yield* fs.stat(lockPath).pipe(Effect.option);
67
+ if (Option.isSome(info) &&
68
+ Option.isSome(info.value.mtime) &&
69
+ Date.now() - info.value.mtime.value.getTime() > PUBLISH_LOCK_STALE_MILLIS) {
70
+ yield* removeBestEffort(fs, lockPath);
71
+ }
72
+ else {
73
+ yield* Effect.sleep(PUBLISH_LOCK_RETRY_DELAY);
74
+ }
75
+ return yield* acquirePublishLock(fs, lockPath);
76
+ });
77
+ const withPublishLock = (fs, lockPath, effect) => inProcessPublishSemaphoreFor(lockPath).withPermits(1)(Effect.scoped(Effect.gen(function* () {
78
+ yield* Effect.acquireRelease(acquirePublishLock(fs, lockPath), () => removeBestEffort(fs, lockPath));
79
+ return yield* effect;
80
+ })));
39
81
  const indexToManifest = (index, versionRange) => {
40
82
  const selectedVersion = resolveVersionEntry(index.versions, versionRange);
41
83
  if (Option.isNone(selectedVersion))
@@ -45,6 +87,9 @@ const indexToManifest = (index, versionRange) => {
45
87
  owner: index.owner,
46
88
  type: index.type,
47
89
  name: index.name,
90
+ ...(index.publisherBindingId === undefined
91
+ ? {}
92
+ : { publisherBindingId: index.publisherBindingId }),
48
93
  description: Option.fromUndefinedOr(index.description),
49
94
  repository: Option.fromUndefinedOr(index.repository),
50
95
  bugs: Option.fromUndefinedOr(index.bugs),
@@ -295,55 +340,80 @@ export const createLocalRegistryClient = (registryRoot, fs, path) => ({
295
340
  })));
296
341
  const indexPath = path.join(dir, "index.json");
297
342
  const archivePath = path.join(dir, `${args.version}.zip`);
298
- // Check for existing index
299
- const indexExists = yield* fs.exists(indexPath).pipe(Effect.orElseSucceed(() => false));
300
- if (indexExists) {
301
- // Read existing index
302
- const content = yield* fs.readFileString(indexPath).pipe(Effect.mapError((e) => errRegistryPublishRejected({
303
- message: `Registry index could not be read: ${indexPath}`,
304
- cause: e,
305
- })));
306
- const existingIndex = yield* decodeExtensionIndexFromJsonString(content).pipe(Effect.mapError((e) => errRegistryPublishRejected({
307
- message: "Registry index schema is invalid",
308
- cause: e,
343
+ const lockPath = path.join(dir, ".publish.lock");
344
+ return yield* withPublishLock(fs, lockPath, Effect.gen(function* () {
345
+ const indexExists = yield* fs.exists(indexPath).pipe(Effect.orElseSucceed(() => false));
346
+ const nextIndex = indexExists
347
+ ? yield* Effect.gen(function* () {
348
+ const content = yield* fs.readFileString(indexPath).pipe(Effect.mapError((cause) => errRegistryPublishRejected({
349
+ message: `Registry index could not be read: ${indexPath}`,
350
+ cause,
351
+ })));
352
+ const existingIndex = yield* decodeExtensionIndexFromJsonString(content).pipe(Effect.mapError((cause) => errRegistryPublishRejected({
353
+ message: "Registry index schema is invalid",
354
+ cause,
355
+ })));
356
+ if (existingIndex.versions.some((version) => version.version === args.version)) {
357
+ return yield* errPublishConflict({ version: args.version });
358
+ }
359
+ return {
360
+ ...existingIndex,
361
+ versions: [args.metadata, ...existingIndex.versions],
362
+ };
363
+ })
364
+ : {
365
+ name: args.name,
366
+ owner,
367
+ type: args.type,
368
+ versions: [args.metadata],
369
+ };
370
+ const archiveTempPath = yield* fs
371
+ .makeTempFile({
372
+ directory: dir,
373
+ prefix: `.${args.version}.archive-`,
374
+ suffix: ".tmp",
375
+ })
376
+ .pipe(Effect.mapError((cause) => errRegistryPublishRejected({
377
+ message: "Registry archive temp file could not be created",
378
+ cause,
309
379
  })));
310
- const existingVersion = existingIndex.versions.find((v) => v.version === args.version);
311
- if (existingVersion) {
312
- return yield* errPublishConflict({ version: args.version });
313
- }
314
- // Prepend new version entry
315
- const updatedIndex = {
316
- ...existingIndex,
317
- versions: [args.metadata, ...existingIndex.versions],
318
- };
319
- yield* fs
320
- .writeFileString(indexPath, `${encodeExtensionIndexToJsonString(updatedIndex)}\n`)
321
- .pipe(Effect.mapError((e) => errRegistryPublishRejected({
322
- message: `Registry index could not be written: ${indexPath}`,
323
- cause: e,
380
+ const archiveTempDir = path.dirname(archiveTempPath);
381
+ yield* Effect.ensuring(Effect.gen(function* () {
382
+ yield* fs.writeFile(archiveTempPath, args.archive).pipe(Effect.mapError((cause) => errRegistryPublishRejected({
383
+ message: `Registry archive temp file could not be written: ${archiveTempPath}`,
384
+ cause,
385
+ })));
386
+ yield* removeBestEffort(fs, archivePath);
387
+ yield* fs.rename(archiveTempPath, archivePath).pipe(Effect.mapError((cause) => errRegistryPublishRejected({
388
+ message: `Registry archive could not be committed: ${archivePath}`,
389
+ cause,
390
+ })));
391
+ }), fs.remove(archiveTempDir, { recursive: true }).pipe(Effect.ignore));
392
+ const indexTempPath = yield* fs
393
+ .makeTempFile({
394
+ directory: dir,
395
+ prefix: ".index-",
396
+ suffix: ".tmp",
397
+ })
398
+ .pipe(Effect.mapError((cause) => errRegistryPublishRejected({
399
+ message: "Registry index temp file could not be created",
400
+ cause,
324
401
  })));
325
- }
326
- else {
327
- // Create new index
328
- const newIndex = {
329
- name: args.name,
330
- owner,
331
- type: args.type,
332
- versions: [args.metadata],
333
- };
334
- yield* fs
335
- .writeFileString(indexPath, `${encodeExtensionIndexToJsonString(newIndex)}\n`)
336
- .pipe(Effect.mapError((e) => errRegistryPublishRejected({
337
- message: `Registry index could not be written: ${indexPath}`,
338
- cause: e,
339
- })));
340
- }
341
- // Write archive
342
- yield* fs.writeFile(archivePath, args.archive).pipe(Effect.mapError((e) => errRegistryPublishRejected({
343
- message: `Registry archive could not be written: ${archivePath}`,
344
- cause: e,
345
- })));
346
- return { published: true };
402
+ const indexTempDir = path.dirname(indexTempPath);
403
+ yield* Effect.ensuring(Effect.gen(function* () {
404
+ yield* fs
405
+ .writeFileString(indexTempPath, `${encodeExtensionIndexToJsonString(nextIndex)}\n`)
406
+ .pipe(Effect.mapError((cause) => errRegistryPublishRejected({
407
+ message: `Registry index temp file could not be written: ${indexTempPath}`,
408
+ cause,
409
+ })));
410
+ yield* fs.rename(indexTempPath, indexPath).pipe(Effect.mapError((cause) => errRegistryPublishRejected({
411
+ message: `Registry index could not be committed: ${indexPath}`,
412
+ cause,
413
+ })));
414
+ }), fs.remove(indexTempDir, { recursive: true }).pipe(Effect.ignore));
415
+ return { published: true };
416
+ }));
347
417
  }),
348
418
  updateExtensionVisibility: (args) => Effect.gen(function* () {
349
419
  const dir = extensionDir(registryRoot, args.owner, args.type, args.name, path.join);
@@ -1 +1 @@
1
- {"version":3,"file":"local-client.js","sourceRoot":"","sources":["../../../../src/unstable/registry/local-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-client.js","sourceRoot":"","sources":["../../../../src/unstable/registry/local-client.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@
9
9
  */
10
10
  import * as HttpClient from "effect/unstable/http/HttpClient";
11
11
  import type { RegistryClient } from "./client.js";
12
+ import type { ArchiveCache } from "./archive-cache.js";
12
13
  /**
13
14
  * Creates a remote HTTPS registry client.
14
15
  *
@@ -20,5 +21,5 @@ import type { RegistryClient } from "./client.js";
20
21
  *
21
22
  * @experimental This API is unstable and may change without notice.
22
23
  */
23
- export declare const createRemoteRegistryClient: (baseUrl: string, httpClient: HttpClient.HttpClient) => RegistryClient;
24
+ export declare const createRemoteRegistryClient: (baseUrl: string, httpClient: HttpClient.HttpClient, archiveCache?: ArchiveCache) => RegistryClient;
24
25
  //# sourceMappingURL=remote-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"remote-client.d.ts","sourceRoot":"","sources":["../../../../src/unstable/registry/remote-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,UAAU,MAAM,iCAAiC,CAAC;AAsB9D,OAAO,KAAK,EAaV,cAAc,EAKf,MAAM,aAAa,CAAC;AA8LrB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,0BAA0B,GACrC,SAAS,MAAM,EACf,YAAY,UAAU,CAAC,UAAU,KAChC,cA6kBF,CAAC"}
1
+ {"version":3,"file":"remote-client.d.ts","sourceRoot":"","sources":["../../../../src/unstable/registry/remote-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,UAAU,MAAM,iCAAiC,CAAC;AAuB9D,OAAO,KAAK,EAaV,cAAc,EAIf,MAAM,aAAa,CAAC;AAqBrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAoJvD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,0BAA0B,GACrC,SAAS,MAAM,EACf,YAAY,UAAU,CAAC,UAAU,EACjC,eAAe,YAAY,KAC1B,cAomBF,CAAC"}
@@ -18,9 +18,10 @@ import { parseExtensionFqnParts, toExtensionTypePlural } from "../extensions/com
18
18
  import { decodeExtensionNameSync, toAuthor, ExtensionTypeSchema, } from "../extensions/index.js";
19
19
  import { decodeHandleSync } from "../extensions/handle.js";
20
20
  import { PackageUrlSchema } from "../packaging/package-url.js";
21
+ import { decodeVersionSync } from "../version-constraints/version-constraints.js";
21
22
  import { packagesToPackageUrlParts, ExtensionIndexSchema } from "./schema.js";
22
23
  import { DiscoverPackagesResponseSchema } from "./discover-schema.js";
23
- import { pluralizeType, resolveVersionEntry } from "./utils.js";
24
+ import { extensionLifecycleWarnings, pluralizeType, resolveVersionEntry } from "./utils.js";
24
25
  import { isRegistryClientError, isHttpClientError, isSchemaError, isAnyRegistryClientError, hasTagSuffix, getTag, mapNetworkError, mapResponseSchemaError, mapUnexpectedStatusError, buildNetworkSuggestions, buildNetworkDiagnosis, } from "./error-mapping.js";
25
26
  import { registryClientErrorToAppError } from "./translate.js";
26
27
  import * as GeneratedRegistryClient from "./__generated__/registry-client.js";
@@ -43,6 +44,7 @@ const mapToExtensionIndex = (response) => decodeExtensionIndex({
43
44
  name: response.name,
44
45
  owner: response.owner,
45
46
  type: narrowExtensionType(response.type),
47
+ publisherBindingId: response.publisher_binding_id,
46
48
  description: response.description ?? undefined,
47
49
  repository: response.repository ?? undefined,
48
50
  license: response.license ?? undefined,
@@ -53,61 +55,38 @@ const mapToExtensionIndex = (response) => decodeExtensionIndex({
53
55
  email: a.email ?? undefined,
54
56
  url: a.url ?? undefined,
55
57
  })),
58
+ visibility: response.visibility ?? undefined,
59
+ deprecatedAt: response.deprecated_at ?? undefined,
60
+ deprecationNotice: response.deprecation_notice ?? undefined,
56
61
  versions: response.versions.map((v) => ({
57
62
  version: v.version,
58
63
  published: v.published,
59
64
  integrity: v.integrity,
60
65
  dependencies: v.dependencies === null ? undefined : v.dependencies,
61
66
  packages: v.packages === null || v.packages === undefined ? undefined : v.packages,
67
+ yankedAt: v.yanked_at ?? undefined,
68
+ yankCategory: v.yank_category ?? undefined,
69
+ yankNotice: v.yank_notice ?? undefined,
62
70
  })),
63
71
  });
64
- const mapLibraryMaintainer = (maintainer) => {
65
- switch (maintainer.kind) {
66
- case "user":
67
- return {
68
- kind: "user",
69
- userId: maintainer.userId,
70
- assignedAt: maintainer.assignedAt,
71
- assignedBy: maintainer.assignedBy,
72
- };
73
- case "team":
74
- return {
75
- kind: "team",
76
- teamId: maintainer.teamId,
77
- assignedAt: maintainer.assignedAt,
78
- assignedBy: maintainer.assignedBy,
79
- };
80
- case "none":
81
- return {
82
- kind: "none",
83
- assignedAt: maintainer.assignedAt,
84
- assignedBy: maintainer.assignedBy,
85
- };
86
- }
87
- };
88
- const normalizeHiddenMemberCount = (value) => typeof value === "number" && Number.isFinite(value) ? value : 0;
89
72
  const mapToLibraryDetail = (response) => ({
90
- library: {
91
- id: response.library.id,
92
- owner: decodeHandleSync(response.library.owner),
93
- name: decodeExtensionNameSync(response.library.name),
94
- title: response.library.title,
95
- description: response.library.description,
96
- visibility: response.library.visibility,
97
- maintainer: mapLibraryMaintainer(response.library.maintainer),
98
- createdAt: response.library.createdAt,
99
- updatedAt: response.library.updatedAt,
100
- },
73
+ libraryId: response.libraryId,
74
+ reference: response.reference,
75
+ name: decodeExtensionNameSync(response.name),
76
+ updatedAt: response.updatedAt,
77
+ membershipDigest: response.membershipDigest,
78
+ viewerRelative: response.viewerRelative,
101
79
  members: response.members.map((member) => ({
102
- id: member.id,
103
- libraryId: member.libraryId,
80
+ id: member.memberId,
81
+ libraryId: response.libraryId,
104
82
  extensionId: member.extensionId,
105
- extensionOwner: decodeHandleSync(member.extensionOwner),
106
- extensionType: narrowExtensionType(member.extensionType),
107
- extensionName: decodeExtensionNameSync(member.extensionName),
83
+ extensionOwner: decodeHandleSync(member.owner),
84
+ extensionType: narrowExtensionType(member.type),
85
+ extensionName: decodeExtensionNameSync(member.name),
86
+ resolvedVersion: decodeVersionSync(member.version),
108
87
  addedAt: member.addedAt,
88
+ publishedAt: member.publishedAt,
109
89
  })),
110
- hiddenMemberCount: normalizeHiddenMemberCount(response.hiddenMemberCount),
111
90
  });
112
91
  /**
113
92
  * Convert an ExtensionIndex + version constraint to a RegistryExtensionManifest.
@@ -117,10 +96,14 @@ const toRegistryManifest = (index, versionRange) => {
117
96
  if (Option.isNone(selected))
118
97
  return Option.none();
119
98
  const latest = selected.value;
99
+ const lifecycleWarnings = extensionLifecycleWarnings(index, latest);
120
100
  return Option.some({
121
101
  owner: index.owner,
122
102
  type: index.type,
123
103
  name: index.name,
104
+ ...(index.publisherBindingId === undefined
105
+ ? {}
106
+ : { publisherBindingId: index.publisherBindingId }),
124
107
  description: Option.fromUndefinedOr(index.description),
125
108
  repository: Option.fromUndefinedOr(index.repository),
126
109
  bugs: Option.fromUndefinedOr(index.bugs),
@@ -130,6 +113,7 @@ const toRegistryManifest = (index, versionRange) => {
130
113
  version: latest.version,
131
114
  integrity: latest.integrity,
132
115
  packages: packagesToPackageUrlParts(latest.packages),
116
+ ...(lifecycleWarnings.length === 0 ? {} : { lifecycleWarnings }),
133
117
  });
134
118
  };
135
119
  // -----------------------------------------------------------------------------
@@ -177,7 +161,7 @@ const registryRequestMetadata = (method, url) => ({
177
161
  *
178
162
  * @experimental This API is unstable and may change without notice.
179
163
  */
180
- export const createRemoteRegistryClient = (baseUrl, httpClient) => {
164
+ export const createRemoteRegistryClient = (baseUrl, httpClient, archiveCache) => {
181
165
  const remoteHttpClient = httpClient.pipe(HttpClient.mapRequest(HttpClientRequest.prependUrl(baseUrl)));
182
166
  const client = GeneratedRegistryClient.make(remoteHttpClient);
183
167
  // ---------------------------------------------------------------------------
@@ -187,7 +171,7 @@ export const createRemoteRegistryClient = (baseUrl, httpClient) => {
187
171
  // ---------------------------------------------------------------------------
188
172
  // getLibrary
189
173
  // ---------------------------------------------------------------------------
190
- const getLibrary = (args) => client.LibrariesGetLibrary(args.owner, args.name, undefined).pipe(Effect.map((response) => Option.some(mapToLibraryDetail(response))), Effect.catch((e) => mapLibraryErrorWithNotFound(e)));
174
+ const getLibrary = (args) => client.LibrariesGetLibraryResolution(args.owner, args.name, undefined).pipe(Effect.map((response) => Option.some(mapToLibraryDetail(response))), Effect.catch((e) => mapLibraryErrorWithNotFound(e)));
191
175
  /**
192
176
  * Map discovery errors, treating 404 as Option.none().
193
177
  */
@@ -199,7 +183,7 @@ export const createRemoteRegistryClient = (baseUrl, httpClient) => {
199
183
  return Effect.fail(mapDiscoveryError(e, prefix));
200
184
  };
201
185
  const mapLibraryErrorWithNotFound = (e) => {
202
- if (isRegistryClientError("LibrariesGetLibrary404")(e)) {
186
+ if (isRegistryClientError("LibrariesGetLibraryResolution404")(e)) {
203
187
  return Effect.succeed(Option.none());
204
188
  }
205
189
  return Effect.fail(mapDiscoveryError(e, "REGISTRY_REMOTE_DISCOVERY"));
@@ -345,23 +329,35 @@ export const createRemoteRegistryClient = (baseUrl, httpClient) => {
345
329
  .pipe(Effect.mapError((e) => mapPackageFetchError(e)));
346
330
  const index = mapToExtensionIndex(indexResult);
347
331
  // Step 2: Resolve version
348
- const resolvedVersion = Option.match(args.version, {
349
- onNone: () => Option.fromUndefinedOr(index.versions[0]?.version),
350
- onSome: (requested) => index.versions.some((entry) => entry.version === requested)
351
- ? Option.some(requested)
352
- : Option.none(),
353
- });
354
- if (Option.isNone(resolvedVersion)) {
332
+ const resolvedEntry = resolveVersionEntry(index.versions, args.version);
333
+ if (Option.isNone(resolvedEntry)) {
355
334
  return yield* makeAppError({
356
335
  code: "not_found",
357
336
  detail: "Requested package version is not available in remote index",
358
337
  });
359
338
  }
339
+ if (archiveCache !== undefined) {
340
+ const cached = yield* archiveCache.read(resolvedEntry.value.integrity);
341
+ if (Option.isSome(cached)) {
342
+ const warnings = extensionLifecycleWarnings(index, resolvedEntry.value);
343
+ return {
344
+ archive: cached.value,
345
+ ...(warnings.length === 0 ? {} : { warnings }),
346
+ };
347
+ }
348
+ }
360
349
  // Step 3: Download archive
361
350
  const archive = yield* client
362
- .ExtensionsDownloadArchive(args.owner, pluralizeType(args.type), args.name, resolvedVersion.value, undefined)
351
+ .ExtensionsDownloadArchive(args.owner, pluralizeType(args.type), args.name, resolvedEntry.value.version, undefined)
363
352
  .pipe(Effect.mapError((e) => mapArchiveFetchError(e)));
364
- return { archive };
353
+ if (archiveCache !== undefined) {
354
+ yield* archiveCache.write(resolvedEntry.value.integrity, archive);
355
+ }
356
+ const warnings = extensionLifecycleWarnings(index, resolvedEntry.value);
357
+ return {
358
+ archive,
359
+ ...(warnings.length === 0 ? {} : { warnings }),
360
+ };
365
361
  });
366
362
  /**
367
363
  * Map errors from the index fetch step of getExtensionPackage.
@@ -445,20 +441,22 @@ export const createRemoteRegistryClient = (baseUrl, httpClient) => {
445
441
  const networkSuggestions = buildNetworkSuggestions(baseUrl);
446
442
  const networkDiagnosisDetails = buildNetworkDiagnosis(baseUrl);
447
443
  const publishRequest = registryRequestMetadata("PUT", new URL(`/v1/extensions/${args.owner}/${pluralizeType(args.type)}/${args.name}/${args.version}`, baseUrl).href);
448
- // Build FormData for multipart upload
449
- const formData = new FormData();
450
- formData.append("archive", new Blob([args.archive], { type: "application/zip" }), "archive.zip");
451
- formData.append("integrity", args.metadata.integrity);
452
- // Assertion needed: FormData is the correct runtime type but the generated client
453
- // types the payload as the schema type; bodyFormData casts to any internally
454
- /* eslint-disable @typescript-eslint/consistent-type-assertions */
455
- const payload = formData;
456
- /* eslint-enable @typescript-eslint/consistent-type-assertions */
457
- return client
458
- .ExtensionsPublishVersion(args.owner, pluralizeType(args.type), args.name, args.version, {
459
- payload,
460
- config: undefined,
461
- })
444
+ const contentDigest = args.metadata.integrity.startsWith("sha512-")
445
+ ? `sha-512=:${args.metadata.integrity.slice("sha512-".length)}:`
446
+ : args.metadata.integrity;
447
+ const publishClient = GeneratedRegistryClient.make(remoteHttpClient, {
448
+ transformClient: (baseClient) => Effect.succeed(baseClient.pipe(HttpClient.mapRequest((request) => {
449
+ const archiveRequest = request.pipe(HttpClientRequest.bodyUint8Array(args.archive, "application/zip"), HttpClientRequest.setHeaders({
450
+ "content-digest": contentDigest,
451
+ "content-length": String(args.archive.byteLength),
452
+ }));
453
+ return args.accessToken === undefined
454
+ ? archiveRequest
455
+ : HttpClientRequest.bearerToken(archiveRequest, args.accessToken);
456
+ }))),
457
+ });
458
+ return publishClient
459
+ .ExtensionsPublishVersion(args.owner, pluralizeType(args.type), args.name, args.version, undefined)
462
460
  .pipe(Effect.map((response) => ({ published: true, links: response.links })),
463
461
  // Single mapError handler for all error types to avoid error channel narrowing issues
464
462
  Effect.mapError((e) => mapPublishError(e, networkSuggestions, networkDiagnosisDetails, publishRequest)));