@detergent-software/atk 8.0.2 → 8.0.3
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.
- package/CHANGELOG.md +20 -0
- package/build/commands/freeze.js +1 -1
- package/build/commands/freeze.js.map +1 -1
- package/build/commands/info.js +1 -1
- package/build/commands/info.js.map +1 -1
- package/build/commands/list.js +1 -1
- package/build/commands/list.js.map +1 -1
- package/build/commands/login.d.ts +1 -1
- package/build/commands/login.d.ts.map +1 -1
- package/build/commands/login.js +2 -4
- package/build/commands/login.js.map +1 -1
- package/build/commands/outdated.js +1 -1
- package/build/commands/outdated.js.map +1 -1
- package/build/commands/pin.js +1 -1
- package/build/commands/pin.js.map +1 -1
- package/build/commands/promote.js +1 -1
- package/build/commands/promote.js.map +1 -1
- package/build/commands/register.js +1 -1
- package/build/commands/register.js.map +1 -1
- package/build/commands/schema.d.ts +1 -1
- package/build/commands/schema.js +3 -3
- package/build/commands/schema.js.map +1 -1
- package/build/commands/thaw.js +1 -1
- package/build/commands/thaw.js.map +1 -1
- package/build/commands/unpin.js +1 -1
- package/build/commands/unpin.js.map +1 -1
- package/build/commands/unpublish.js +1 -1
- package/build/commands/unpublish.js.map +1 -1
- package/build/commands/whoami.d.ts.map +1 -1
- package/build/commands/whoami.js +2 -4
- package/build/commands/whoami.js.map +1 -1
- package/build/commands/why.js +1 -1
- package/build/commands/why.js.map +1 -1
- package/build/components/AssetDetail.d.ts +1 -1
- package/build/components/AssetDetail.d.ts.map +1 -1
- package/build/components/BrowseExpandedBundle.d.ts +2 -2
- package/build/components/BrowseExpandedBundle.d.ts.map +1 -1
- package/build/components/BrowseExpandedRow.d.ts +1 -1
- package/build/components/BrowseExpandedRow.d.ts.map +1 -1
- package/build/components/BrowseList.d.ts +1 -1
- package/build/components/BrowseList.d.ts.map +1 -1
- package/build/components/BundleDetail.d.ts +1 -1
- package/build/components/BundleDetail.d.ts.map +1 -1
- package/build/components/RegistryChangeSummary.d.ts +2 -2
- package/build/components/RegistryChangeSummary.d.ts.map +1 -1
- package/build/hooks/useBrowseState.d.ts +2 -2
- package/build/hooks/useBrowseState.d.ts.map +1 -1
- package/build/hooks/useListState.d.ts +2 -2
- package/build/hooks/useListState.d.ts.map +1 -1
- package/build/hooks/usePublishState.d.ts.map +1 -1
- package/build/hooks/usePublishState.js +3 -1
- package/build/hooks/usePublishState.js.map +1 -1
- package/build/hooks/useRegistryChangeState.d.ts +4 -4
- package/build/hooks/useRegistryChangeState.d.ts.map +1 -1
- package/build/lib/adapter.d.ts +1 -1
- package/build/lib/adapter.d.ts.map +1 -1
- package/build/lib/api-client.d.ts +38 -47
- package/build/lib/api-client.d.ts.map +1 -1
- package/build/lib/api-client.js +127 -173
- package/build/lib/api-client.js.map +1 -1
- package/build/lib/atk-api/client.d.ts +148 -0
- package/build/lib/atk-api/client.d.ts.map +1 -0
- package/build/lib/atk-api/client.js +336 -0
- package/build/lib/atk-api/client.js.map +1 -0
- package/build/lib/atk-api/domain.d.ts +162 -0
- package/build/lib/atk-api/domain.d.ts.map +1 -0
- package/build/lib/atk-api/domain.js +54 -0
- package/build/lib/atk-api/domain.js.map +1 -0
- package/build/lib/atk-api/errors.d.ts +142 -0
- package/build/lib/atk-api/errors.d.ts.map +1 -0
- package/build/lib/atk-api/errors.js +148 -0
- package/build/lib/atk-api/errors.js.map +1 -0
- package/build/lib/atk-api/generated/client/client.gen.d.ts +3 -0
- package/build/lib/atk-api/generated/client/client.gen.d.ts.map +1 -0
- package/build/lib/{api → atk-api/generated}/client/client.gen.js +4 -3
- package/build/lib/atk-api/generated/client/client.gen.js.map +1 -0
- package/build/lib/atk-api/generated/client/index.d.ts +11 -0
- package/build/lib/atk-api/generated/client/index.d.ts.map +1 -0
- package/build/lib/atk-api/generated/client/index.js +8 -0
- package/build/lib/atk-api/generated/client/index.js.map +1 -0
- package/build/lib/{api → atk-api/generated}/client/types.gen.d.ts +4 -4
- package/build/lib/atk-api/generated/client/types.gen.d.ts.map +1 -0
- package/build/lib/atk-api/generated/client/types.gen.js +4 -0
- package/build/lib/atk-api/generated/client/types.gen.js.map +1 -0
- package/build/lib/{api → atk-api/generated}/client/utils.gen.d.ts +2 -2
- package/build/lib/atk-api/generated/client/utils.gen.d.ts.map +1 -0
- package/build/lib/{api → atk-api/generated}/client/utils.gen.js +5 -4
- package/build/lib/atk-api/generated/client/utils.gen.js.map +1 -0
- package/build/lib/{api → atk-api/generated}/client.gen.d.ts +2 -2
- package/build/lib/atk-api/generated/client.gen.d.ts.map +1 -0
- package/build/lib/atk-api/generated/client.gen.js +5 -0
- package/build/lib/atk-api/generated/client.gen.js.map +1 -0
- package/build/lib/atk-api/generated/core/auth.gen.d.ts.map +1 -0
- package/build/lib/{api → atk-api/generated}/core/auth.gen.js +1 -0
- package/build/lib/atk-api/generated/core/auth.gen.js.map +1 -0
- package/build/lib/{api → atk-api/generated}/core/bodySerializer.gen.d.ts +1 -1
- package/build/lib/atk-api/generated/core/bodySerializer.gen.d.ts.map +1 -0
- package/build/lib/{api → atk-api/generated}/core/bodySerializer.gen.js +1 -0
- package/build/lib/atk-api/generated/core/bodySerializer.gen.js.map +1 -0
- package/build/lib/atk-api/generated/core/params.gen.d.ts.map +1 -0
- package/build/lib/{api → atk-api/generated}/core/params.gen.js +1 -0
- package/build/lib/atk-api/generated/core/params.gen.js.map +1 -0
- package/build/lib/atk-api/generated/core/pathSerializer.gen.d.ts.map +1 -0
- package/build/lib/{api → atk-api/generated}/core/pathSerializer.gen.js +1 -0
- package/build/lib/atk-api/generated/core/pathSerializer.gen.js.map +1 -0
- package/build/lib/atk-api/generated/core/queryKeySerializer.gen.d.ts.map +1 -0
- package/build/lib/{api → atk-api/generated}/core/queryKeySerializer.gen.js +1 -0
- package/build/lib/atk-api/generated/core/queryKeySerializer.gen.js.map +1 -0
- package/build/lib/{api → atk-api/generated}/core/serverSentEvents.gen.d.ts +1 -1
- package/build/lib/atk-api/generated/core/serverSentEvents.gen.d.ts.map +1 -0
- package/build/lib/{api → atk-api/generated}/core/serverSentEvents.gen.js +1 -0
- package/build/lib/atk-api/generated/core/serverSentEvents.gen.js.map +1 -0
- package/build/lib/{api → atk-api/generated}/core/types.gen.d.ts +2 -2
- package/build/lib/atk-api/generated/core/types.gen.d.ts.map +1 -0
- package/build/lib/atk-api/generated/core/types.gen.js +4 -0
- package/build/lib/atk-api/generated/core/types.gen.js.map +1 -0
- package/build/lib/{api → atk-api/generated}/core/utils.gen.d.ts +1 -1
- package/build/lib/atk-api/generated/core/utils.gen.d.ts.map +1 -0
- package/build/lib/{api → atk-api/generated}/core/utils.gen.js +2 -1
- package/build/lib/atk-api/generated/core/utils.gen.js.map +1 -0
- package/build/lib/{api → atk-api/generated}/index.d.ts +2 -2
- package/build/lib/atk-api/generated/index.d.ts.map +1 -0
- package/build/lib/atk-api/generated/index.js +4 -0
- package/build/lib/atk-api/generated/index.js.map +1 -0
- package/build/lib/{api → atk-api/generated}/sdk.gen.d.ts +6 -2
- package/build/lib/atk-api/generated/sdk.gen.d.ts.map +1 -0
- package/build/lib/{api → atk-api/generated}/sdk.gen.js +6 -1
- package/build/lib/atk-api/generated/sdk.gen.js.map +1 -0
- package/build/lib/{api → atk-api/generated}/types.gen.d.ts +27 -0
- package/build/lib/atk-api/generated/types.gen.d.ts.map +1 -0
- package/build/lib/atk-api/generated/types.gen.js +4 -0
- package/build/lib/atk-api/generated/types.gen.js.map +1 -0
- package/build/lib/atk-api/index.d.ts +29 -0
- package/build/lib/atk-api/index.d.ts.map +1 -0
- package/build/lib/atk-api/index.js +27 -0
- package/build/lib/atk-api/index.js.map +1 -0
- package/build/lib/atk-api/limits.d.ts +16 -0
- package/build/lib/atk-api/limits.d.ts.map +1 -0
- package/build/lib/atk-api/limits.js +17 -0
- package/build/lib/atk-api/limits.js.map +1 -0
- package/build/lib/atk-api/schemas/bundle.d.ts.map +1 -0
- package/build/lib/{schemas → atk-api/schemas}/bundle.js +2 -1
- package/build/lib/atk-api/schemas/bundle.js.map +1 -0
- package/build/lib/atk-api/schemas/index.d.ts +14 -0
- package/build/lib/atk-api/schemas/index.d.ts.map +1 -0
- package/build/lib/atk-api/schemas/index.js +15 -0
- package/build/lib/atk-api/schemas/index.js.map +1 -0
- package/build/lib/atk-api/schemas/manifest.d.ts.map +1 -0
- package/build/lib/{schemas → atk-api/schemas}/manifest.js +1 -0
- package/build/lib/atk-api/schemas/manifest.js.map +1 -0
- package/build/lib/atk-api/schemas/registry.d.ts.map +1 -0
- package/build/lib/{schemas → atk-api/schemas}/registry.js +3 -2
- package/build/lib/atk-api/schemas/registry.js.map +1 -0
- package/build/lib/atk-api/testing.d.ts +47 -0
- package/build/lib/atk-api/testing.d.ts.map +1 -0
- package/build/lib/atk-api/testing.js +88 -0
- package/build/lib/atk-api/testing.js.map +1 -0
- package/build/lib/atk-api/transport.d.ts +27 -0
- package/build/lib/atk-api/transport.d.ts.map +1 -0
- package/build/lib/atk-api/transport.js +84 -0
- package/build/lib/atk-api/transport.js.map +1 -0
- package/build/lib/atk-api/web-routes.d.ts +125 -0
- package/build/lib/atk-api/web-routes.d.ts.map +1 -0
- package/build/lib/atk-api/web-routes.js +199 -0
- package/build/lib/atk-api/web-routes.js.map +1 -0
- package/build/lib/auth.d.ts +1 -1
- package/build/lib/auth.d.ts.map +1 -1
- package/build/lib/auth.js +7 -13
- package/build/lib/auth.js.map +1 -1
- package/build/lib/config.d.ts +1 -1
- package/build/lib/config.d.ts.map +1 -1
- package/build/lib/diff-command.d.ts +1 -1
- package/build/lib/diff-command.d.ts.map +1 -1
- package/build/lib/hook-config.d.ts +1 -1
- package/build/lib/hook-config.d.ts.map +1 -1
- package/build/lib/init.d.ts +1 -1
- package/build/lib/init.d.ts.map +1 -1
- package/build/lib/init.js +2 -4
- package/build/lib/init.js.map +1 -1
- package/build/lib/lockfile.d.ts +1 -1
- package/build/lib/lockfile.d.ts.map +1 -1
- package/build/lib/manifest-diff.d.ts +2 -2
- package/build/lib/manifest-diff.d.ts.map +1 -1
- package/build/lib/manifest-diff.js +2 -2
- package/build/lib/manifest-diff.js.map +1 -1
- package/build/lib/publisher.d.ts +13 -14
- package/build/lib/publisher.d.ts.map +1 -1
- package/build/lib/publisher.js +55 -84
- package/build/lib/publisher.js.map +1 -1
- package/build/lib/registrar.d.ts +1 -1
- package/build/lib/registrar.d.ts.map +1 -1
- package/build/lib/registrar.js +1 -1
- package/build/lib/registrar.js.map +1 -1
- package/build/lib/registry-mutate.d.ts +11 -5
- package/build/lib/registry-mutate.d.ts.map +1 -1
- package/build/lib/registry-mutate.js +17 -25
- package/build/lib/registry-mutate.js.map +1 -1
- package/build/lib/registry.d.ts +6 -4
- package/build/lib/registry.d.ts.map +1 -1
- package/build/lib/registry.js +84 -101
- package/build/lib/registry.js.map +1 -1
- package/build/lib/release-notes.d.ts +1 -1
- package/build/lib/release-notes.d.ts.map +1 -1
- package/build/lib/release-notes.js +2 -4
- package/build/lib/release-notes.js.map +1 -1
- package/build/lib/resolver.d.ts +1 -1
- package/build/lib/resolver.d.ts.map +1 -1
- package/build/lib/sanitize.d.ts +1 -1
- package/build/lib/sanitize.d.ts.map +1 -1
- package/build/lib/schemas/adapter.js +1 -1
- package/build/lib/schemas/adapter.js.map +1 -1
- package/build/lib/schemas/config.js +1 -1
- package/build/lib/schemas/config.js.map +1 -1
- package/build/lib/schemas/index.d.ts +1 -3
- package/build/lib/schemas/index.d.ts.map +1 -1
- package/build/lib/schemas/index.js +2 -3
- package/build/lib/schemas/index.js.map +1 -1
- package/build/lib/schemas/lockfile.js +1 -1
- package/build/lib/schemas/lockfile.js.map +1 -1
- package/build/lib/search.d.ts +2 -2
- package/build/lib/search.d.ts.map +1 -1
- package/build/lib/search.js +1 -1
- package/build/lib/search.js.map +1 -1
- package/build/lib/sync.d.ts +1 -1
- package/build/lib/sync.d.ts.map +1 -1
- package/build/lib/updater.d.ts +2 -2
- package/build/lib/updater.d.ts.map +1 -1
- package/package.json +2 -4
- package/build/lib/api/client/client.gen.d.ts +0 -3
- package/build/lib/api/client/client.gen.d.ts.map +0 -1
- package/build/lib/api/client/client.gen.js.map +0 -1
- package/build/lib/api/client/index.d.ts +0 -11
- package/build/lib/api/client/index.d.ts.map +0 -1
- package/build/lib/api/client/index.js +0 -7
- package/build/lib/api/client/index.js.map +0 -1
- package/build/lib/api/client/types.gen.d.ts.map +0 -1
- package/build/lib/api/client/types.gen.js +0 -3
- package/build/lib/api/client/types.gen.js.map +0 -1
- package/build/lib/api/client/utils.gen.d.ts.map +0 -1
- package/build/lib/api/client/utils.gen.js.map +0 -1
- package/build/lib/api/client.gen.d.ts.map +0 -1
- package/build/lib/api/client.gen.js +0 -4
- package/build/lib/api/client.gen.js.map +0 -1
- package/build/lib/api/core/auth.gen.d.ts.map +0 -1
- package/build/lib/api/core/auth.gen.js.map +0 -1
- package/build/lib/api/core/bodySerializer.gen.d.ts.map +0 -1
- package/build/lib/api/core/bodySerializer.gen.js.map +0 -1
- package/build/lib/api/core/params.gen.d.ts.map +0 -1
- package/build/lib/api/core/params.gen.js.map +0 -1
- package/build/lib/api/core/pathSerializer.gen.d.ts.map +0 -1
- package/build/lib/api/core/pathSerializer.gen.js.map +0 -1
- package/build/lib/api/core/queryKeySerializer.gen.d.ts.map +0 -1
- package/build/lib/api/core/queryKeySerializer.gen.js.map +0 -1
- package/build/lib/api/core/serverSentEvents.gen.d.ts.map +0 -1
- package/build/lib/api/core/serverSentEvents.gen.js.map +0 -1
- package/build/lib/api/core/types.gen.d.ts.map +0 -1
- package/build/lib/api/core/types.gen.js +0 -3
- package/build/lib/api/core/types.gen.js.map +0 -1
- package/build/lib/api/core/utils.gen.d.ts.map +0 -1
- package/build/lib/api/core/utils.gen.js.map +0 -1
- package/build/lib/api/index.d.ts.map +0 -1
- package/build/lib/api/index.js +0 -3
- package/build/lib/api/index.js.map +0 -1
- package/build/lib/api/sdk.gen.d.ts.map +0 -1
- package/build/lib/api/sdk.gen.js.map +0 -1
- package/build/lib/api/types.gen.d.ts.map +0 -1
- package/build/lib/api/types.gen.js +0 -3
- package/build/lib/api/types.gen.js.map +0 -1
- package/build/lib/schemas/bundle.d.ts.map +0 -1
- package/build/lib/schemas/bundle.js.map +0 -1
- package/build/lib/schemas/manifest.d.ts.map +0 -1
- package/build/lib/schemas/manifest.js.map +0 -1
- package/build/lib/schemas/registry.d.ts.map +0 -1
- package/build/lib/schemas/registry.js.map +0 -1
- /package/build/lib/{api → atk-api/generated}/core/auth.gen.d.ts +0 -0
- /package/build/lib/{api → atk-api/generated}/core/params.gen.d.ts +0 -0
- /package/build/lib/{api → atk-api/generated}/core/pathSerializer.gen.d.ts +0 -0
- /package/build/lib/{api → atk-api/generated}/core/queryKeySerializer.gen.d.ts +0 -0
- /package/build/lib/{schemas → atk-api/schemas}/bundle.d.ts +0 -0
- /package/build/lib/{schemas → atk-api/schemas}/manifest.d.ts +0 -0
- /package/build/lib/{schemas → atk-api/schemas}/registry.d.ts +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// GENERATED from packages/api-client by `pnpm sync-cli`. Do not edit.
|
|
2
|
+
/**
|
|
3
|
+
* Publish intake limits, mirrored from the API so the web rejects at drop time
|
|
4
|
+
* what the API would reject at plan time.
|
|
5
|
+
*
|
|
6
|
+
* `maxTotalBytes` = PublishOptions.MaxPayloadBytes default (Options/AtkOptions.cs:
|
|
7
|
+
* 10 MiB of DECODED file bytes, enforced in PublishPlanBuilder.cs as
|
|
8
|
+
* `validation_failed` on `/files`). The old web allowed 25 MB total, which the
|
|
9
|
+
* API would have refused; the API is authoritative.
|
|
10
|
+
* `maxFileBytes` / `maxFiles` carry over from the old web's skill-archive.ts.
|
|
11
|
+
*/
|
|
12
|
+
export const PUBLISH_LIMITS = {
|
|
13
|
+
maxFileBytes: 10 * 1024 * 1024,
|
|
14
|
+
maxFiles: 500,
|
|
15
|
+
maxTotalBytes: 10 * 1024 * 1024,
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=limits.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"limits.js","sourceRoot":"","sources":["../../../src/lib/atk-api/limits.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,YAAY,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IAC9B,QAAQ,EAAE,GAAG;IACb,aAAa,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;CACvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../../src/lib/atk-api/schemas/bundle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,cAAc;;;;;;;;;;;;iBAKzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;iBAWvB,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
// GENERATED from packages/api-client by `pnpm sync-cli`. Do not edit.
|
|
1
2
|
import { z } from 'zod';
|
|
2
|
-
import { AssetType } from
|
|
3
|
+
import { AssetType } from "./manifest.js";
|
|
3
4
|
export const BundleAssetRef = z.object({
|
|
4
5
|
name: z.string().describe('Asset name'),
|
|
5
6
|
org: z.string().optional().describe('Organization scope for this asset reference'),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../../src/lib/atk-api/schemas/bundle.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;IACvC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IAClF,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;CAC9E,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8DAA8D,CAAC;IACvG,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACjF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACxD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IAC7D,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAChG,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC5D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;IAC/F,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IAC/F,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAChE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;CACtD,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { type Bundle, BundleAssetRef, BundleSchema } from './bundle.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Wire-facing Zod schemas, moved from apps/cli/src/lib/schemas/
|
|
4
|
+
* {manifest,bundle,registry}.ts. They are the parse boundary for the API's
|
|
5
|
+
* untyped bodies (`GET /registry` and manifests are `{[key]: unknown}` in the
|
|
6
|
+
* OpenAPI), so they belong with the client that parses them.
|
|
7
|
+
*
|
|
8
|
+
* The CLI keeps its adapter, config and lockfile schemas and re-exports these
|
|
9
|
+
* from its schemas barrel, so `scripts/export-schemas.ts` (and through it the
|
|
10
|
+
* API's vendored JSON Schemas) still exports them.
|
|
11
|
+
*/
|
|
12
|
+
export { AssetDependency, AssetType as AssetTypeSchema, HookConfig, HookEventBinding, type Manifest, ManifestSchema, SecurityBlock, } from './manifest.ts';
|
|
13
|
+
export { DeprecatedEntry, type Registry, RegistryAsset, type RegistryAssetVersion, RegistryAssetVersionSchema, type RegistryAssetVersionsMap, RegistryAssetVersionsMapSchema, RegistryBundle, RegistrySchema, } from './registry.ts';
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/atk-api/schemas/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACxE;;;;;;;;;GASG;AACH,OAAO,EACL,eAAe,EACf,SAAS,IAAI,eAAe,EAC5B,UAAU,EACV,gBAAgB,EAChB,KAAK,QAAQ,EACb,cAAc,EACd,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,eAAe,EACf,KAAK,QAAQ,EACb,aAAa,EACb,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,wBAAwB,EAC7B,8BAA8B,EAC9B,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// GENERATED from packages/api-client by `pnpm sync-cli`. Do not edit.
|
|
2
|
+
export { BundleAssetRef, BundleSchema } from "./bundle.js";
|
|
3
|
+
/**
|
|
4
|
+
* Wire-facing Zod schemas, moved from apps/cli/src/lib/schemas/
|
|
5
|
+
* {manifest,bundle,registry}.ts. They are the parse boundary for the API's
|
|
6
|
+
* untyped bodies (`GET /registry` and manifests are `{[key]: unknown}` in the
|
|
7
|
+
* OpenAPI), so they belong with the client that parses them.
|
|
8
|
+
*
|
|
9
|
+
* The CLI keeps its adapter, config and lockfile schemas and re-exports these
|
|
10
|
+
* from its schemas barrel, so `scripts/export-schemas.ts` (and through it the
|
|
11
|
+
* API's vendored JSON Schemas) still exports them.
|
|
12
|
+
*/
|
|
13
|
+
export { AssetDependency, AssetType as AssetTypeSchema, HookConfig, HookEventBinding, ManifestSchema, SecurityBlock, } from "./manifest.js";
|
|
14
|
+
export { DeprecatedEntry, RegistryAsset, RegistryAssetVersionSchema, RegistryAssetVersionsMapSchema, RegistryBundle, RegistrySchema, } from "./registry.js";
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/atk-api/schemas/index.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,OAAO,EAAe,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACxE;;;;;;;;;GASG;AACH,OAAO,EACL,eAAe,EACf,SAAS,IAAI,eAAe,EAC5B,UAAU,EACV,gBAAgB,EAEhB,cAAc,EACd,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,eAAe,EAEf,aAAa,EAEb,0BAA0B,EAE1B,8BAA8B,EAC9B,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../../src/lib/atk-api/schemas/manifest.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,SAAS;;;;;;;EAA8E,CAAC;AACrG,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD,eAAO,MAAM,eAAe;;;;;;;;;;;iBAI1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,eAAO,MAAM,aAAa;;;;iBAIxB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,eAAO,MAAM,gBAAgB;;;iBAG3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE;;;;GAIG;AACH,eAAO,MAAM,UAAU;;;kBAAyC,CAAC;AACjE,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmCd,CAAC;AAEL,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAaX,CAAC;AACjB,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../../src/lib/atk-api/schemas/manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/lib/atk-api/schemas/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyBrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAmD,CAAC;AAC/F,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOxB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;iBASzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;iBAO1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKzB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
// GENERATED from packages/api-client by `pnpm sync-cli`. Do not edit.
|
|
1
2
|
import { z } from 'zod';
|
|
2
|
-
import { BundleAssetRef } from
|
|
3
|
-
import { AssetType, HookConfig } from
|
|
3
|
+
import { BundleAssetRef } from "./bundle.js";
|
|
4
|
+
import { AssetType, HookConfig } from "./manifest.js";
|
|
4
5
|
export const RegistryAssetVersionSchema = z.object({
|
|
5
6
|
author: z.string().describe('Author'),
|
|
6
7
|
checksum: z.string().describe('SHA-256 checksum of the asset directory'),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/lib/atk-api/schemas/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@atk/api-client/testing`: the one hand-written fake both apps test against
|
|
3
|
+
* (repo convention: fakes over mocking libraries). Because AtkClient is an
|
|
4
|
+
* interface of domain types, a page or command test seeds domain values, not
|
|
5
|
+
* HTTP fixtures.
|
|
6
|
+
*
|
|
7
|
+
* const atk = createFakeAtkClient({ registry: fixtureRegistry, manifests: { 'skill//foo@1.0.0': manifest } });
|
|
8
|
+
* atk.fail('publish.plan', { kind: 'conflict', code: 'version_not_bumped', message: '...', items: [] });
|
|
9
|
+
* expect(atk.calls).toContainEqual({ method: 'publish.plan', input: expect.objectContaining({ kind: 'asset' }) });
|
|
10
|
+
*
|
|
11
|
+
* Anything not seeded rejects with `not_found` (a missing README resolves to null,
|
|
12
|
+
* like the real client). The REAL client is tested against a fake `fetch`.
|
|
13
|
+
*/
|
|
14
|
+
import type { AtkClient, RegistryChangePlan, RegistryChangeReceipt } from './client.ts';
|
|
15
|
+
import type { AssetVersionRef, CliRelease, Principal, PublishFileInput, PublishPlan, PublishReceipt } from './domain.ts';
|
|
16
|
+
import type { Bundle, Manifest, Registry } from './schemas/index.ts';
|
|
17
|
+
import { type AtkProblem } from './errors.ts';
|
|
18
|
+
export interface FakeAtkClient extends AtkClient {
|
|
19
|
+
readonly calls: readonly {
|
|
20
|
+
readonly method: string;
|
|
21
|
+
readonly [arg: string]: unknown;
|
|
22
|
+
}[];
|
|
23
|
+
/** Make the next call of `method` (`'assets.manifest'`, `'publish.plan'`, ...) reject with AtkError(problem). */
|
|
24
|
+
fail(method: string, problem: AtkProblem): void;
|
|
25
|
+
}
|
|
26
|
+
export interface FakeAtkSeed {
|
|
27
|
+
/** Keyed like `manifests`; the bytes `assets.file` returns per path. */
|
|
28
|
+
readonly assetFiles?: Readonly<Record<string, Readonly<Record<string, Uint8Array>>>>;
|
|
29
|
+
/** Keyed by the name passed to `assets.checkout`. */
|
|
30
|
+
readonly checkouts?: Readonly<Record<string, {
|
|
31
|
+
readonly files: readonly PublishFileInput[];
|
|
32
|
+
readonly ref: AssetVersionRef;
|
|
33
|
+
}>>;
|
|
34
|
+
readonly cliReleases?: readonly CliRelease[];
|
|
35
|
+
/** Keyed `${type}/${org ?? ''}/${name}@${version}`; bundles use type `bundle`. */
|
|
36
|
+
readonly manifests?: Readonly<Record<string, Bundle | Manifest>>;
|
|
37
|
+
readonly principal?: Principal;
|
|
38
|
+
readonly publishPlan?: PublishPlan;
|
|
39
|
+
readonly publishReceipt?: PublishReceipt;
|
|
40
|
+
/** Keyed like `manifests`. A missing key or `null` means no README. */
|
|
41
|
+
readonly readmes?: Readonly<Record<string, null | string>>;
|
|
42
|
+
readonly registry?: Registry;
|
|
43
|
+
readonly registryChangePlan?: RegistryChangePlan;
|
|
44
|
+
readonly registryChangeReceipt?: RegistryChangeReceipt;
|
|
45
|
+
}
|
|
46
|
+
export declare function createFakeAtkClient(seed?: FakeAtkSeed): FakeAtkClient;
|
|
47
|
+
//# sourceMappingURL=testing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../src/lib/atk-api/testing.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,KAAK,EAEV,eAAe,EAEf,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,cAAc,EAEf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAErE,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,QAAQ,CAAC,KAAK,EAAE,SAAS;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,CAAC;IACxF,iHAAiH;IACjH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;CACjD;AAED,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,qDAAqD;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAC3B,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAA;KAAE,CAAC,CAC/F,CAAC;IACF,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7C,kFAAkF;IAClF,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACnC,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC,uEAAuE;IACvE,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CACxD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,WAAgB,GAAG,aAAa,CAkFzE"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { AtkError } from "./errors.js";
|
|
2
|
+
export function createFakeAtkClient(seed = {}) {
|
|
3
|
+
const calls = [];
|
|
4
|
+
const failures = new Map();
|
|
5
|
+
async function record(method, args, result) {
|
|
6
|
+
calls.push({ method, ...args });
|
|
7
|
+
const problem = failures.get(method);
|
|
8
|
+
if (problem) {
|
|
9
|
+
failures.delete(method);
|
|
10
|
+
throw new AtkError(problem, statusOf(problem));
|
|
11
|
+
}
|
|
12
|
+
return result();
|
|
13
|
+
}
|
|
14
|
+
const key = (ref) => `${ref.kind === 'asset' ? ref.type : 'bundle'}/${ref.org ?? ''}/${ref.name}@${ref.version}`;
|
|
15
|
+
const seeded = (value, what) => {
|
|
16
|
+
if (value === undefined) {
|
|
17
|
+
throw new AtkError({ code: 'not_found', kind: 'not_found', message: `${what} is not seeded.` }, 404);
|
|
18
|
+
}
|
|
19
|
+
return value;
|
|
20
|
+
};
|
|
21
|
+
const filesOf = (ref) => seeded(seed.assetFiles?.[key(ref)], key(ref));
|
|
22
|
+
return {
|
|
23
|
+
assets: {
|
|
24
|
+
checkout: (query) => record('assets.checkout', { query }, () => seeded(seed.checkouts?.[query.name], `checkout ${query.name}`)),
|
|
25
|
+
download: (ref, format) => record('assets.download', { format, ref }, () => ({
|
|
26
|
+
blob: new Blob([]),
|
|
27
|
+
filename: `${ref.name}-${ref.version}.${format}`,
|
|
28
|
+
})),
|
|
29
|
+
file: (ref, path) => record('assets.file', { path, ref }, () => seeded(filesOf(ref)[path], `${key(ref)} ${path}`)),
|
|
30
|
+
files: (ref) => record('assets.files', { ref }, () => Object.entries(filesOf(ref)).map(([path, bytes]) => ({ path, sha: `sha-${path}`, size: bytes.length }))),
|
|
31
|
+
manifest: (ref) => record('assets.manifest', { ref }, () => seeded(seed.manifests?.[key(ref)], key(ref))),
|
|
32
|
+
readme: (ref) => record('assets.readme', { ref }, () => seed.readmes?.[key(ref)] ?? null),
|
|
33
|
+
},
|
|
34
|
+
bundles: {
|
|
35
|
+
download: (ref, format) => record('bundles.download', { format, ref }, () => ({
|
|
36
|
+
blob: new Blob([]),
|
|
37
|
+
filename: `${ref.name}-${ref.version}.zip`,
|
|
38
|
+
})),
|
|
39
|
+
manifest: (ref) => record('bundles.manifest', { ref }, () => seeded(seed.manifests?.[key(ref)], key(ref))),
|
|
40
|
+
readme: (ref) => record('bundles.readme', { ref }, () => seed.readmes?.[key(ref)] ?? null),
|
|
41
|
+
},
|
|
42
|
+
calls,
|
|
43
|
+
cliReleases: () => record('cliReleases', {}, () => seed.cliReleases ?? []),
|
|
44
|
+
fail(method, problem) {
|
|
45
|
+
failures.set(method, problem);
|
|
46
|
+
},
|
|
47
|
+
me: () => record('me', {}, () => seeded(seed.principal, 'principal')),
|
|
48
|
+
publish: {
|
|
49
|
+
plan: (input) => record('publish.plan', { input }, () => seeded(seed.publishPlan, 'publish plan')),
|
|
50
|
+
submit: (input, opts) => record('publish.submit', { input, onBranchExists: opts?.onBranchExists ?? 'fail' }, () => seeded(seed.publishReceipt, 'publish receipt')),
|
|
51
|
+
},
|
|
52
|
+
registry: (opts) => record('registry', { etag: opts?.etag }, () => ({
|
|
53
|
+
registry: seeded(seed.registry, 'registry'),
|
|
54
|
+
status: 'fresh',
|
|
55
|
+
})),
|
|
56
|
+
registryChanges: {
|
|
57
|
+
plan: (change) => record('registryChanges.plan', { change }, () => seeded(seed.registryChangePlan, 'registry change plan')),
|
|
58
|
+
submit: (change, opts) => record('registryChanges.submit', { change, onBranchExists: opts?.onBranchExists ?? 'fail' }, () => seeded(seed.registryChangeReceipt, 'registry change receipt')),
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function statusOf(problem) {
|
|
63
|
+
switch (problem.kind) {
|
|
64
|
+
case 'ambiguous':
|
|
65
|
+
case 'invalid':
|
|
66
|
+
return 400;
|
|
67
|
+
case 'auth_retired':
|
|
68
|
+
case 'unauthenticated':
|
|
69
|
+
return 401;
|
|
70
|
+
case 'conflict':
|
|
71
|
+
return 409;
|
|
72
|
+
case 'forbidden':
|
|
73
|
+
return 403;
|
|
74
|
+
case 'invalid_input':
|
|
75
|
+
case 'network':
|
|
76
|
+
return 0;
|
|
77
|
+
case 'not_found':
|
|
78
|
+
return 404;
|
|
79
|
+
case 'rate_limited':
|
|
80
|
+
return 429;
|
|
81
|
+
case 'server_error':
|
|
82
|
+
case 'unavailable':
|
|
83
|
+
return problem.status;
|
|
84
|
+
case 'unexpected_response':
|
|
85
|
+
return 200;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=testing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../src/lib/atk-api/testing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* INTERNAL. Retry wrapper around the base fetch, ported from
|
|
3
|
+
* apps/cli/src/lib/fetch-retry.ts (same policy: ClientContract §2).
|
|
4
|
+
*
|
|
5
|
+
* Retries network failures (the fetch rejected) and 429/500/502/503/504 with
|
|
6
|
+
* exponential backoff and jitter, honouring `Retry-After` (seconds or an
|
|
7
|
+
* HTTP-date) on a retryable response. Every wait is capped at `maxDelayMs`, so a
|
|
8
|
+
* `503 Retry-After: 300` cannot stall a command for five minutes.
|
|
9
|
+
*
|
|
10
|
+
* POST and PATCH are never retried on a 5xx, which may come after the write
|
|
11
|
+
* happened (a blind retry would hit `branch_exists`). They are retried on 429
|
|
12
|
+
* and on a network error before a response arrived. That retry cannot rule out
|
|
13
|
+
* that the server received the first request; CLI 8.0.2 and earlier retried the
|
|
14
|
+
* same way.
|
|
15
|
+
*/
|
|
16
|
+
export interface RetryOptions {
|
|
17
|
+
/** Base delay before the first retry (default 1000 ms). */
|
|
18
|
+
readonly baseDelayMs?: number;
|
|
19
|
+
/** Randomise each delay between 0.5x and 1.5x (default true). */
|
|
20
|
+
readonly jitter?: boolean;
|
|
21
|
+
/** Cap on every wait, computed backoff and `Retry-After` alike (default 10000 ms). */
|
|
22
|
+
readonly maxDelayMs?: number;
|
|
23
|
+
/** Retries after the first attempt (default 3). */
|
|
24
|
+
readonly maxRetries?: number;
|
|
25
|
+
}
|
|
26
|
+
export declare function withRetry(base: typeof fetch, retryOptions?: RetryOptions): typeof fetch;
|
|
27
|
+
//# sourceMappingURL=transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/lib/atk-api/transport.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,YAAY;IAC3B,2DAA2D;IAC3D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,iEAAiE;IACjE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,sFAAsF;IACtF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,mDAAmD;IACnD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAMD,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,KAAK,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO,KAAK,CA8BvF"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
// GENERATED from packages/api-client by `pnpm sync-cli`. Do not edit.
|
|
2
|
+
/**
|
|
3
|
+
* INTERNAL. Retry wrapper around the base fetch, ported from
|
|
4
|
+
* apps/cli/src/lib/fetch-retry.ts (same policy: ClientContract §2).
|
|
5
|
+
*
|
|
6
|
+
* Retries network failures (the fetch rejected) and 429/500/502/503/504 with
|
|
7
|
+
* exponential backoff and jitter, honouring `Retry-After` (seconds or an
|
|
8
|
+
* HTTP-date) on a retryable response. Every wait is capped at `maxDelayMs`, so a
|
|
9
|
+
* `503 Retry-After: 300` cannot stall a command for five minutes.
|
|
10
|
+
*
|
|
11
|
+
* POST and PATCH are never retried on a 5xx, which may come after the write
|
|
12
|
+
* happened (a blind retry would hit `branch_exists`). They are retried on 429
|
|
13
|
+
* and on a network error before a response arrived. That retry cannot rule out
|
|
14
|
+
* that the server received the first request; CLI 8.0.2 and earlier retried the
|
|
15
|
+
* same way.
|
|
16
|
+
*/
|
|
17
|
+
const DEFAULTS = { baseDelayMs: 1_000, jitter: true, maxDelayMs: 10_000, maxRetries: 3 };
|
|
18
|
+
const RETRYABLE_STATUS = new Set([429, 500, 502, 503, 504]);
|
|
19
|
+
const NON_IDEMPOTENT = new Set(['PATCH', 'POST']);
|
|
20
|
+
export function withRetry(base, retryOptions) {
|
|
21
|
+
const options = { ...DEFAULTS, ...retryOptions };
|
|
22
|
+
return async (input, init) => {
|
|
23
|
+
const isRequest = input instanceof Request;
|
|
24
|
+
const signal = init?.signal ?? (isRequest ? input.signal : null);
|
|
25
|
+
const method = (init?.method ?? (isRequest ? input.method : 'GET')).toUpperCase();
|
|
26
|
+
const retryServerErrors = !NON_IDEMPOTENT.has(method);
|
|
27
|
+
for (let attempt = 0;; attempt++) {
|
|
28
|
+
let response;
|
|
29
|
+
try {
|
|
30
|
+
// A Request body can be read once; clone it so a retry can resend it.
|
|
31
|
+
response = isRequest ? await base(input.clone()) : await base(input, init);
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
if (signal?.aborted || attempt >= options.maxRetries) {
|
|
35
|
+
throw error;
|
|
36
|
+
}
|
|
37
|
+
await sleep(backoff(attempt, options), signal);
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
const retryable = response.status === 429 || (retryServerErrors && RETRYABLE_STATUS.has(response.status));
|
|
41
|
+
if (!retryable || attempt >= options.maxRetries) {
|
|
42
|
+
return response;
|
|
43
|
+
}
|
|
44
|
+
const retryAfter = retryAfterMs(response);
|
|
45
|
+
await sleep(retryAfter === null ? backoff(attempt, options) : Math.min(retryAfter, options.maxDelayMs), signal);
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function backoff(attempt, options) {
|
|
50
|
+
const capped = Math.min(options.baseDelayMs * 2 ** attempt, options.maxDelayMs);
|
|
51
|
+
return options.jitter ? Math.min((0.5 + Math.random()) * capped, options.maxDelayMs) : capped;
|
|
52
|
+
}
|
|
53
|
+
/** `Retry-After` as milliseconds: delta-seconds or an HTTP-date in the future. Null when absent or unusable. */
|
|
54
|
+
function retryAfterMs(response) {
|
|
55
|
+
const value = response.headers.get('Retry-After')?.trim();
|
|
56
|
+
if (!value) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
const seconds = Number(value);
|
|
60
|
+
if (Number.isFinite(seconds)) {
|
|
61
|
+
return seconds > 0 ? seconds * 1_000 : null;
|
|
62
|
+
}
|
|
63
|
+
const until = Date.parse(value) - Date.now();
|
|
64
|
+
return Number.isFinite(until) && until > 0 ? until : null;
|
|
65
|
+
}
|
|
66
|
+
function sleep(ms, signal) {
|
|
67
|
+
return new Promise((resolve, reject) => {
|
|
68
|
+
const aborted = () => signal?.reason ?? new DOMException('The operation was aborted.', 'AbortError');
|
|
69
|
+
if (signal?.aborted) {
|
|
70
|
+
reject(aborted());
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
const onAbort = () => {
|
|
74
|
+
clearTimeout(timer);
|
|
75
|
+
reject(aborted());
|
|
76
|
+
};
|
|
77
|
+
const timer = setTimeout(() => {
|
|
78
|
+
signal?.removeEventListener('abort', onAbort);
|
|
79
|
+
resolve();
|
|
80
|
+
}, ms);
|
|
81
|
+
signal?.addEventListener('abort', onAbort, { once: true });
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/lib/atk-api/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The web app's URL scheme: ONE module that both formats and parses every
|
|
3
|
+
* page URL. The web's links and pages, and the CLI's links, import from here,
|
|
4
|
+
* so the CLI can never print a link the web cannot read.
|
|
5
|
+
*
|
|
6
|
+
* Shape (static-export compatible: every page is one HTML file, entity
|
|
7
|
+
* identity in the query string; `trailingSlash: true` -> `asset/index.html`):
|
|
8
|
+
*
|
|
9
|
+
* / catalog (assets) ?q=&type=&tag=&org=&tool=&sort= (repeatable keys)
|
|
10
|
+
* /asset/?type=skill&name=x[&org=y][&version=1.2.0][&file=path]
|
|
11
|
+
* /bundles/ bundle list ?q=
|
|
12
|
+
* /bundle/?name=x[&org=y][&version=1.0.0]
|
|
13
|
+
* /publish/asset/ asset wizard
|
|
14
|
+
* /publish/bundle/ bundle wizard
|
|
15
|
+
* /auth-redirect/ MSAL redirect bridge (registered redirect URI)
|
|
16
|
+
*
|
|
17
|
+
* The routes are paramour route objects (exported for the web's paramour
|
|
18
|
+
* hooks); `webRoutes` and the `parse*Query` functions are the app-level
|
|
19
|
+
* surface over them.
|
|
20
|
+
*
|
|
21
|
+
* Invariants:
|
|
22
|
+
* - Every href is RELATIVE to the app root and starts with `/` (no origin, no basePath).
|
|
23
|
+
* Absolute URLs are made by the caller: `new URL(href, webRoot)`.
|
|
24
|
+
* - `org` is bare in every href; parsing accepts a leading `@`. `version` omitted means latest.
|
|
25
|
+
* - parse(format(x)) deep-equals x for every valid x (round-trip property test).
|
|
26
|
+
* - Parsers never throw: invalid input -> `{ ok: false }` so pages render a "bad link" state.
|
|
27
|
+
*/
|
|
28
|
+
import { type SearchSource } from 'paramour';
|
|
29
|
+
import { type AssetRef, type AssetType, type BundleRef, type Org } from './domain.ts';
|
|
30
|
+
export interface AssetQuery {
|
|
31
|
+
/** Deep link to one file in the file viewer. */
|
|
32
|
+
readonly file?: string;
|
|
33
|
+
readonly ref: AssetRef;
|
|
34
|
+
/** Exact version, or undefined for latest. */
|
|
35
|
+
readonly version?: string;
|
|
36
|
+
}
|
|
37
|
+
export interface BundleQuery {
|
|
38
|
+
readonly ref: BundleRef;
|
|
39
|
+
readonly version?: string;
|
|
40
|
+
}
|
|
41
|
+
export interface CatalogQuery {
|
|
42
|
+
readonly orgs: readonly string[];
|
|
43
|
+
readonly q: string;
|
|
44
|
+
readonly sort: CatalogSort;
|
|
45
|
+
readonly tags: readonly string[];
|
|
46
|
+
readonly tools: readonly string[];
|
|
47
|
+
readonly types: readonly AssetType[];
|
|
48
|
+
}
|
|
49
|
+
export type CatalogSort = 'name' | 'relevance' | 'updated';
|
|
50
|
+
export type Parsed<T> = {
|
|
51
|
+
readonly ok: false;
|
|
52
|
+
readonly reason: string;
|
|
53
|
+
} | {
|
|
54
|
+
readonly ok: true;
|
|
55
|
+
readonly value: T;
|
|
56
|
+
};
|
|
57
|
+
/** A root-relative href produced only by this module. */
|
|
58
|
+
export type WebHref = string & {
|
|
59
|
+
readonly __brand: 'WebHref';
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* The catalog. Filters are repeated keys (`?type=skill&type=rule`). They decode
|
|
63
|
+
* as plain strings so that one unknown value drops alone instead of failing the
|
|
64
|
+
* whole filter (an enum array's `.catch` would reset every value);
|
|
65
|
+
* {@link parseCatalogQuery} keeps only the known asset types.
|
|
66
|
+
*/
|
|
67
|
+
export declare const catalogRoute: import("paramour").AppRoute<"/", Readonly<Record<never, import("paramour").ParamCodec>>, {
|
|
68
|
+
readonly q: import("paramour").Codec<string, "defaulted", false, "single", true>;
|
|
69
|
+
readonly type: import("paramour").Codec<string[], "required", false, "many", boolean>;
|
|
70
|
+
readonly tag: import("paramour").Codec<string[], "required", false, "many", boolean>;
|
|
71
|
+
readonly org: import("paramour").Codec<string[], "required", false, "many", boolean>;
|
|
72
|
+
readonly tool: import("paramour").Codec<string[], "required", false, "many", boolean>;
|
|
73
|
+
readonly sort: import("paramour").Codec<"name" | "relevance" | "updated", "defaulted", true, "single", true>;
|
|
74
|
+
}>;
|
|
75
|
+
/** One asset. Key order is the href's key order. */
|
|
76
|
+
export declare const assetRoute: import("paramour").AppRoute<"/asset", Readonly<Record<never, import("paramour").ParamCodec>>, {
|
|
77
|
+
readonly type: import("paramour").Codec<"skill" | "agent" | "rule" | "hook" | "memory-template" | "mcp-config", "required", false, "single", boolean>;
|
|
78
|
+
readonly name: import("paramour").Codec<string, "required", false, "single", boolean>;
|
|
79
|
+
readonly org: import("paramour").Codec<string, "optional", false, "single", boolean>;
|
|
80
|
+
readonly version: import("paramour").Codec<string, "optional", false, "single", boolean>;
|
|
81
|
+
readonly file: import("paramour").Codec<string, "optional", false, "single", boolean>;
|
|
82
|
+
}>;
|
|
83
|
+
export declare const bundlesRoute: import("paramour").AppRoute<"/bundles", Readonly<Record<never, import("paramour").ParamCodec>>, {
|
|
84
|
+
readonly q: import("paramour").Codec<string, "optional", false, "single", boolean>;
|
|
85
|
+
}>;
|
|
86
|
+
export declare const bundleRoute: import("paramour").AppRoute<"/bundle", Readonly<Record<never, import("paramour").ParamCodec>>, {
|
|
87
|
+
readonly name: import("paramour").Codec<string, "required", false, "single", boolean>;
|
|
88
|
+
readonly org: import("paramour").Codec<string, "optional", false, "single", boolean>;
|
|
89
|
+
readonly version: import("paramour").Codec<string, "optional", false, "single", boolean>;
|
|
90
|
+
}>;
|
|
91
|
+
export declare const publishAssetRoute: import("paramour").AppRoute<"/publish/asset", Readonly<Record<never, import("paramour").ParamCodec>>, Record<never, never>>;
|
|
92
|
+
export declare const publishBundleRoute: import("paramour").AppRoute<"/publish/bundle", Readonly<Record<never, import("paramour").ParamCodec>>, Record<never, never>>;
|
|
93
|
+
/** The MSAL redirect bridge. Registered (per origin) in `ES ATK Web`. */
|
|
94
|
+
export declare const authRedirectRoute: import("paramour").AppRoute<"/auth-redirect", Readonly<Record<never, import("paramour").ParamCodec>>, Record<never, never>>;
|
|
95
|
+
export declare const webRoutes: {
|
|
96
|
+
readonly asset: (ref: AssetRef, opts?: {
|
|
97
|
+
readonly file?: string;
|
|
98
|
+
readonly version?: string;
|
|
99
|
+
}) => WebHref;
|
|
100
|
+
/** The MSAL redirect bridge. Registered (per origin) in `ES ATK Web`. */
|
|
101
|
+
readonly authRedirect: () => WebHref;
|
|
102
|
+
readonly bundle: (ref: BundleRef, opts?: {
|
|
103
|
+
readonly version?: string;
|
|
104
|
+
}) => WebHref;
|
|
105
|
+
readonly bundles: () => WebHref;
|
|
106
|
+
/** Defaults are omitted, so the canonical catalog URL is just `/`. */
|
|
107
|
+
readonly catalog: (query?: Partial<CatalogQuery>) => WebHref;
|
|
108
|
+
readonly publishAsset: () => WebHref;
|
|
109
|
+
readonly publishBundle: () => WebHref;
|
|
110
|
+
};
|
|
111
|
+
/** The asset page's query. Never throws: a bad link is `{ ok: false, reason }`. */
|
|
112
|
+
export declare function parseAssetQuery(params: SearchSource): Parsed<AssetQuery>;
|
|
113
|
+
/** The bundle page's query. Never throws: a bad link is `{ ok: false, reason }`. */
|
|
114
|
+
export declare function parseBundleQuery(params: SearchSource): Parsed<BundleQuery>;
|
|
115
|
+
/**
|
|
116
|
+
* The catalog's filters. Lenient, never fails: unknown asset types are
|
|
117
|
+
* dropped, an org filter loses a leading `@` like the asset and bundle
|
|
118
|
+
* parsers (an invalid org name is dropped), an unknown sort reads as `relevance`, and a key that cannot decode
|
|
119
|
+
* at all (a repeated `q`) falls back to its default. A bad filter just shows
|
|
120
|
+
* everything.
|
|
121
|
+
*/
|
|
122
|
+
export declare function parseCatalogQuery(params: SearchSource): CatalogQuery;
|
|
123
|
+
/** Org of a parsed ref, for code that needs the raw string (query keys, display). */
|
|
124
|
+
export type { Org };
|
|
125
|
+
//# sourceMappingURL=web-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-routes.d.ts","sourceRoot":"","sources":["../../../src/lib/atk-api/web-routes.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAuE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAElH,OAAO,EACL,KAAK,QAAQ,EAEb,KAAK,SAAS,EACd,KAAK,SAAS,EAGd,KAAK,GAAG,EAET,MAAM,aAAa,CAAC;AAIrB,MAAM,WAAW,UAAU;IACzB,gDAAgD;IAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,8CAA8C;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;CACtC;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;AAE3D,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAEnH,yDAAyD;AACzD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAA;CAAE,CAAC;AAQ/D;;;;;GAKG;AACH,eAAO,MAAM,YAAY;;;;;;;EAUvB,CAAC;AAEH,oDAAoD;AACpD,eAAO,MAAM,UAAU;;;;;;EASrB,CAAC;AAEH,eAAO,MAAM,YAAY;;EAGvB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;EAOtB,CAAC;AAIH,eAAO,MAAM,iBAAiB,6HAA4D,CAAC;AAC3F,eAAO,MAAM,kBAAkB,8HAA6D,CAAC;AAC7F,yEAAyE;AACzE,eAAO,MAAM,iBAAiB,6HAA4D,CAAC;AAE3F,eAAO,MAAM,SAAS;0BACT,QAAQ,SAAS;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAG,OAAO;IAK3F,yEAAyE;iCACzD,OAAO;2BAGX,SAAS,SAAS;QAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAG,OAAO;4BAG1D,OAAO;IAGlB,sEAAsE;+BACtD,OAAO,CAAC,YAAY,CAAC,KAAG,OAAO;iCAY/B,OAAO;kCAGN,OAAO;CAGhB,CAAC;AAEX,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,CAWxE;AAED,oFAAoF;AACpF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,CAU1E;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAapE;AA2CD,qFAAqF;AACrF,YAAY,EAAE,GAAG,EAAE,CAAC"}
|