@salesforce/b2c-tooling-sdk 2.3.0 → 2.5.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.
Files changed (203) hide show
  1. package/data/guides/enrichment.json +291 -0
  2. package/data/guides/index.json +426 -37
  3. package/data/schemas/dw.schema.json +590 -0
  4. package/data/tooling/index.json +18 -9
  5. package/dist/esm/cli/base-command.d.ts +20 -1
  6. package/dist/esm/cli/base-command.js +61 -11
  7. package/dist/esm/cli/base-command.js.map +1 -1
  8. package/dist/esm/cli/cartridge-command.js +2 -1
  9. package/dist/esm/cli/cartridge-command.js.map +1 -1
  10. package/dist/esm/cli/command-search.d.ts +85 -0
  11. package/dist/esm/cli/command-search.js +147 -0
  12. package/dist/esm/cli/command-search.js.map +1 -0
  13. package/dist/esm/cli/config.d.ts +10 -1
  14. package/dist/esm/cli/config.js +18 -9
  15. package/dist/esm/cli/config.js.map +1 -1
  16. package/dist/esm/cli/hooks.d.ts +13 -0
  17. package/dist/esm/cli/hooks.js +11 -0
  18. package/dist/esm/cli/hooks.js.map +1 -1
  19. package/dist/esm/cli/index.d.ts +2 -0
  20. package/dist/esm/cli/index.js +2 -0
  21. package/dist/esm/cli/index.js.map +1 -1
  22. package/dist/esm/cli/instance-command.d.ts +1 -0
  23. package/dist/esm/cli/instance-command.js +2 -1
  24. package/dist/esm/cli/instance-command.js.map +1 -1
  25. package/dist/esm/cli/mrt-command.d.ts +3 -2
  26. package/dist/esm/cli/mrt-command.js +4 -4
  27. package/dist/esm/cli/mrt-command.js.map +1 -1
  28. package/dist/esm/cli/oauth-command.d.ts +1 -0
  29. package/dist/esm/cli/ods-command.d.ts +1 -0
  30. package/dist/esm/cli/webdav-command.d.ts +1 -0
  31. package/dist/esm/clients/custom-apis.d.ts +36 -2
  32. package/dist/esm/clients/custom-apis.js +57 -4
  33. package/dist/esm/clients/custom-apis.js.map +1 -1
  34. package/dist/esm/clients/index.d.ts +1 -1
  35. package/dist/esm/clients/index.js +1 -1
  36. package/dist/esm/clients/index.js.map +1 -1
  37. package/dist/esm/clients/scapi-backend-utils.d.ts +15 -0
  38. package/dist/esm/clients/scapi-backend-utils.js +28 -1
  39. package/dist/esm/clients/scapi-backend-utils.js.map +1 -1
  40. package/dist/esm/clients/scapi-fallback-backend.js +2 -2
  41. package/dist/esm/clients/scapi-fallback-backend.js.map +1 -1
  42. package/dist/esm/clients/scapi-schemas.generated.d.ts +2 -2
  43. package/dist/esm/compat/dispatcher.js +2 -2
  44. package/dist/esm/compat/dispatcher.js.map +1 -1
  45. package/dist/esm/config/config-origins.d.ts +19 -0
  46. package/dist/esm/config/config-origins.js +11 -0
  47. package/dist/esm/config/config-origins.js.map +1 -0
  48. package/dist/esm/config/config-write.d.ts +86 -0
  49. package/dist/esm/config/config-write.js +296 -0
  50. package/dist/esm/config/config-write.js.map +1 -0
  51. package/dist/esm/config/dw-json-schema.d.ts +14 -0
  52. package/dist/esm/config/dw-json-schema.js +269 -0
  53. package/dist/esm/config/dw-json-schema.js.map +1 -0
  54. package/dist/esm/config/dw-json.d.ts +2 -0
  55. package/dist/esm/config/dw-json.js +10 -6
  56. package/dist/esm/config/dw-json.js.map +1 -1
  57. package/dist/esm/config/index.d.ts +13 -4
  58. package/dist/esm/config/index.js +8 -3
  59. package/dist/esm/config/index.js.map +1 -1
  60. package/dist/esm/config/instance-manager.d.ts +64 -28
  61. package/dist/esm/config/instance-manager.js +145 -63
  62. package/dist/esm/config/instance-manager.js.map +1 -1
  63. package/dist/esm/config/mapping.d.ts +5 -0
  64. package/dist/esm/config/mapping.js +20 -1
  65. package/dist/esm/config/mapping.js.map +1 -1
  66. package/dist/esm/config/project-environment.d.ts +62 -0
  67. package/dist/esm/config/project-environment.js +113 -0
  68. package/dist/esm/config/project-environment.js.map +1 -1
  69. package/dist/esm/config/resolver.d.ts +22 -0
  70. package/dist/esm/config/resolver.js +106 -37
  71. package/dist/esm/config/resolver.js.map +1 -1
  72. package/dist/esm/config/sources/dw-json-source.d.ts +9 -1
  73. package/dist/esm/config/sources/dw-json-source.js +59 -23
  74. package/dist/esm/config/sources/dw-json-source.js.map +1 -1
  75. package/dist/esm/config/sources/env-source.d.ts +70 -9
  76. package/dist/esm/config/sources/env-source.js +205 -47
  77. package/dist/esm/config/sources/env-source.js.map +1 -1
  78. package/dist/esm/config/sources/index.d.ts +1 -1
  79. package/dist/esm/config/sources/index.js +1 -1
  80. package/dist/esm/config/sources/index.js.map +1 -1
  81. package/dist/esm/config/types.d.ts +53 -3
  82. package/dist/esm/docs/search.js +3 -1
  83. package/dist/esm/docs/search.js.map +1 -1
  84. package/dist/esm/docs/types.d.ts +3 -1
  85. package/dist/esm/guidance/bundle.d.ts +33 -0
  86. package/dist/esm/guidance/bundle.js +268 -0
  87. package/dist/esm/guidance/bundle.js.map +1 -0
  88. package/dist/esm/guidance/catalog.d.ts +8 -1
  89. package/dist/esm/guidance/catalog.js +48 -6
  90. package/dist/esm/guidance/catalog.js.map +1 -1
  91. package/dist/esm/guidance/index.d.ts +1 -0
  92. package/dist/esm/guidance/index.js +1 -0
  93. package/dist/esm/guidance/index.js.map +1 -1
  94. package/dist/esm/guidance/types.d.ts +17 -1
  95. package/dist/esm/guidance/types.js.map +1 -1
  96. package/dist/esm/index.d.ts +1 -1
  97. package/dist/esm/index.js +1 -1
  98. package/dist/esm/index.js.map +1 -1
  99. package/dist/esm/operations/jobs/run-system-job.js +2 -2
  100. package/dist/esm/operations/jobs/run-system-job.js.map +1 -1
  101. package/dist/esm/plugins/discovery.js +2 -1
  102. package/dist/esm/plugins/discovery.js.map +1 -1
  103. package/dist/esm/scapi/catalog.d.ts +5 -2
  104. package/dist/esm/scapi/catalog.js.map +1 -1
  105. package/dist/esm/scapi/index.d.ts +6 -2
  106. package/dist/esm/scapi/index.js +4 -2
  107. package/dist/esm/scapi/index.js.map +1 -1
  108. package/dist/esm/scapi/live.d.ts +14 -3
  109. package/dist/esm/scapi/live.js +33 -5
  110. package/dist/esm/scapi/live.js.map +1 -1
  111. package/dist/esm/scapi/local.d.ts +26 -0
  112. package/dist/esm/scapi/local.js +143 -0
  113. package/dist/esm/scapi/local.js.map +1 -0
  114. package/dist/esm/scapi/request.d.ts +2 -2
  115. package/dist/esm/scapi/request.js +4 -2
  116. package/dist/esm/scapi/request.js.map +1 -1
  117. package/dist/esm/scapi/runtime.d.ts +5 -0
  118. package/dist/esm/scapi/runtime.js.map +1 -1
  119. package/dist/esm/scapi/schema-source.d.ts +90 -0
  120. package/dist/esm/scapi/schema-source.js +146 -0
  121. package/dist/esm/scapi/schema-source.js.map +1 -0
  122. package/dist/esm/scapi/worker-source.js +31 -7
  123. package/dist/esm/scapi/worker-source.js.map +1 -1
  124. package/dist/esm/telemetry/telemetry.d.ts +1 -0
  125. package/dist/esm/telemetry/telemetry.js +18 -1
  126. package/dist/esm/telemetry/telemetry.js.map +1 -1
  127. package/dist/esm/telemetry/types.d.ts +9 -0
  128. package/dist/esm/test-utils/config-isolation.js +21 -15
  129. package/dist/esm/test-utils/config-isolation.js.map +1 -1
  130. package/dist/esm/ux/agent-context.d.ts +69 -0
  131. package/dist/esm/ux/agent-context.js +133 -0
  132. package/dist/esm/ux/agent-context.js.map +1 -0
  133. package/dist/esm/ux/confirm.d.ts +27 -0
  134. package/dist/esm/ux/confirm.js +32 -0
  135. package/dist/esm/ux/confirm.js.map +1 -1
  136. package/dist/esm/ux/index.d.ts +2 -1
  137. package/dist/esm/ux/index.js +2 -1
  138. package/dist/esm/ux/index.js.map +1 -1
  139. package/node_modules/@salesforce/b2c-api-schemas/manifest.json +83 -42
  140. package/node_modules/@salesforce/b2c-api-schemas/package.json +1 -1
  141. package/node_modules/@salesforce/b2c-api-schemas/scapi/cdn/zones/v1.json +6798 -238
  142. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/orders/v1.json +2296 -205
  143. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-baskets/v1.json +5571 -666
  144. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-baskets/v2.json +6062 -371
  145. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-orders/v1.json +3426 -360
  146. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-payments/v1.json +351 -99
  147. package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/cors/v1.json +172 -12
  148. package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/preferences/v1.json +1497 -111
  149. package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/shopper-configurations/v1.json +202 -36
  150. package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/timeouts/v1.json +79 -10
  151. package/node_modules/@salesforce/b2c-api-schemas/scapi/custom-object/custom-objects/v1.json +785 -49
  152. package/node_modules/@salesforce/b2c-api-schemas/scapi/custom-object/shopper-custom-objects/v1.json +191 -40
  153. package/node_modules/@salesforce/b2c-api-schemas/scapi/customer/customers/v1.json +1483 -107
  154. package/node_modules/@salesforce/b2c-api-schemas/scapi/customer/shopper-customers/v1.json +4854 -787
  155. package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/custom-apis/v1.json +119 -15
  156. package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/object-definitions/v1.json +1699 -80
  157. package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/scapi-schemas/v1.json +252 -18
  158. package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/scripts/v1.json +329 -23
  159. package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/experiences/v1.json +4208 -234
  160. package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/shopper-experience/v1.json +1591 -247
  161. package/node_modules/@salesforce/b2c-api-schemas/scapi/intelligence/analytics/v1.json +396 -8
  162. package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/availability/v1.json +1242 -69
  163. package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/impex/v1.json +2354 -248
  164. package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/reservation/v1.json +1550 -45
  165. package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/segmentation/v1.json +6615 -0
  166. package/node_modules/@salesforce/b2c-api-schemas/scapi/merchant/roles/v1.json +1520 -59
  167. package/node_modules/@salesforce/b2c-api-schemas/scapi/merchant/users/v1.json +397 -17
  168. package/node_modules/@salesforce/b2c-api-schemas/scapi/observability/metrics/v1.json +1241 -27
  169. package/node_modules/@salesforce/b2c-api-schemas/scapi/operation/jobs/v1.json +1069 -68
  170. package/node_modules/@salesforce/b2c-api-schemas/scapi/operation/replications/v1.json +410 -23
  171. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/assignments/v1.json +502 -102
  172. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/campaigns/v1.json +1112 -94
  173. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/coupons/v1.json +820 -93
  174. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/gift-certificates/v1.json +845 -92
  175. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/promotions/v1.json +2716 -674
  176. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/shopper-gift-certificates/v1.json +130 -47
  177. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/shopper-promotions/v1.json +233 -63
  178. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/source-code-groups/v1.json +630 -70
  179. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/catalogs/v1.json +2886 -348
  180. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/inventory-lists/v1.json +520 -19
  181. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/price-books/v1.json +3115 -293
  182. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/products/v1.json +3313 -138
  183. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-availability/v1.json +266 -52
  184. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-delivery-estimates/v1.json +256 -48
  185. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-products/v1.json +1744 -306
  186. package/node_modules/@salesforce/b2c-api-schemas/scapi/search/shopper-search/v1.json +1661 -120
  187. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/auth/v1.json +2174 -118
  188. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/auth-admin/v1.json +1373 -24
  189. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/consents/v1.json +531 -20
  190. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-agents/v1.json +154 -6
  191. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-consents/v1.json +596 -79
  192. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-context/v1.json +456 -42
  193. package/node_modules/@salesforce/b2c-api-schemas/scapi/site/seo/v1.json +101 -23
  194. package/node_modules/@salesforce/b2c-api-schemas/scapi/site/shopper-seo/v1.json +184 -41
  195. package/node_modules/@salesforce/b2c-api-schemas/scapi/site/sites/v1.json +995 -47
  196. package/node_modules/@salesforce/b2c-api-schemas/scapi/store/shopper-stores/v1.json +370 -67
  197. package/node_modules/@salesforce/b2c-api-schemas/scapi/store/store-redirect-mappings/v1.json +319 -11
  198. package/node_modules/@salesforce/b2c-api-schemas/scapi/store/stores/v1.json +1109 -64
  199. package/node_modules/@salesforce/b2c-api-schemas/scapi/storefront/deployments/v1.json +1442 -0
  200. package/node_modules/@salesforce/b2c-api-schemas/scapi/storefront/environments/v1.json +4293 -0
  201. package/node_modules/@salesforce/b2c-api-schemas/scapi/storefront/storefronts/v1.json +1371 -0
  202. package/package.json +5 -2
  203. package/specs/scapi-schemas-v1.yaml +4 -1
@@ -0,0 +1,143 @@
1
+ /*
2
+ * Copyright (c) 2025, Salesforce, Inc.
3
+ * SPDX-License-Identifier: Apache-2
4
+ * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import { readdirSync, readFileSync, statSync } from 'node:fs';
7
+ import { join, resolve } from 'node:path';
8
+ const IDENTITY = /^[a-z0-9-]+$/i;
9
+ /** List `*.json` files under a directory, recursively, in a stable order. */
10
+ function jsonFiles(directory) {
11
+ return readdirSync(directory, { withFileTypes: true })
12
+ .sort((a, b) => a.name.localeCompare(b.name, 'en'))
13
+ .flatMap((entry) => {
14
+ const path = join(directory, entry.name);
15
+ if (entry.isDirectory())
16
+ return jsonFiles(path);
17
+ return entry.isFile() && entry.name.endsWith('.json') ? [path] : [];
18
+ });
19
+ }
20
+ const REMOTE = /^https?:\/\//i;
21
+ const REMOTE_TIMEOUT_MS = 30_000;
22
+ /** Whether a `scapiSchemas` entry is an http(s) URL rather than a file or directory. */
23
+ export function isRemoteScapiSchema(entry) {
24
+ return REMOTE.test(entry);
25
+ }
26
+ /** Describe one local OpenAPI file; its identity comes from the `/<family>/<name>/<version>` server path. */
27
+ function localDocument(file, text = readFileSync(file, 'utf8')) {
28
+ let document;
29
+ try {
30
+ document = JSON.parse(text);
31
+ }
32
+ catch (error) {
33
+ throw new Error(`SCAPI_LOCAL_SCHEMA_INVALID: ${file}: ${error.message}`);
34
+ }
35
+ if (!document ||
36
+ typeof document !== 'object' ||
37
+ !/^3\./.test(document.openapi) ||
38
+ !document.paths ||
39
+ typeof document.paths !== 'object' ||
40
+ Array.isArray(document.paths))
41
+ throw new Error(`SCAPI_LOCAL_SCHEMA_INVALID: ${file}: expected an OpenAPI 3 contract with paths.`);
42
+ const server = document.servers?.[0]?.url;
43
+ let parts = [];
44
+ try {
45
+ parts = new URL(typeof server === 'string' ? server.replaceAll(/[{}]/g, '') : '').pathname
46
+ .split('/')
47
+ .filter(Boolean);
48
+ }
49
+ catch {
50
+ // Reported below.
51
+ }
52
+ if (parts.length !== 3 || !parts.every((part) => IDENTITY.test(part)))
53
+ throw new Error(`SCAPI_LOCAL_SCHEMA_INVALID: ${file}: servers[0].url must end in /<family>/<name>/<version> to identify the API.`);
54
+ const [apiFamily, apiName, apiVersion] = parts;
55
+ return {
56
+ entry: {
57
+ id: `${apiFamily}/${apiName}/${apiVersion}`,
58
+ apiFamily,
59
+ apiName,
60
+ apiVersion,
61
+ schemaVersion: document.info?.version ?? apiVersion,
62
+ status: 'local',
63
+ file,
64
+ source: file,
65
+ origin: 'local',
66
+ },
67
+ schema: document,
68
+ };
69
+ }
70
+ /** Expand files and directories into their contract files, in order. */
71
+ function localFiles(path) {
72
+ try {
73
+ return statSync(path).isDirectory() ? jsonFiles(path) : [path];
74
+ }
75
+ catch (error) {
76
+ throw new Error(`SCAPI_LOCAL_SCHEMA_INVALID: ${path}: ${error.message}`);
77
+ }
78
+ }
79
+ /** Key contracts by API id, rejecting two sources for the same API. */
80
+ function byApiId(documents) {
81
+ const byId = new Map();
82
+ for (const document of documents) {
83
+ const previous = byId.get(document.entry.id);
84
+ if (previous)
85
+ throw new Error(`SCAPI_LOCAL_SCHEMA_INVALID: ${document.entry.id} is defined by both ${previous.entry.file} and ${document.entry.file}.`);
86
+ byId.set(document.entry.id, document);
87
+ }
88
+ return [...byId.values()].sort((a, b) => a.entry.id.localeCompare(b.entry.id, 'en'));
89
+ }
90
+ /**
91
+ * Load developer-supplied SCAPI contracts from OpenAPI 3 JSON files or directories of them.
92
+ * Each contract replaces the bundled or live contract with the same `family/name/version`,
93
+ * or adds a new API. Intended for beta and pre-release APIs.
94
+ *
95
+ * @throws When a file is not an identifiable OpenAPI 3 contract, or two files share an API id.
96
+ */
97
+ export function loadLocalScapiSchemas(paths) {
98
+ return byApiId(paths.flatMap((path) => localFiles(resolve(path))).map((file) => localDocument(file)));
99
+ }
100
+ async function remoteDocument(url, options) {
101
+ const signal = options.signal
102
+ ? AbortSignal.any([options.signal, AbortSignal.timeout(REMOTE_TIMEOUT_MS)])
103
+ : AbortSignal.timeout(REMOTE_TIMEOUT_MS);
104
+ let text;
105
+ try {
106
+ const response = await (options.fetch ?? fetch)(url, { headers: { accept: 'application/json' }, signal });
107
+ if (!response.ok)
108
+ throw new Error(`HTTP ${response.status} ${response.statusText}`.trim());
109
+ text = await response.text();
110
+ }
111
+ catch (error) {
112
+ throw new Error(`SCAPI_LOCAL_SCHEMA_INVALID: ${url}: ${error.message}`);
113
+ }
114
+ return localDocument(url, text);
115
+ }
116
+ /**
117
+ * Load developer-supplied SCAPI contracts like {@link loadLocalScapiSchemas}, where each entry may
118
+ * also be an http(s) URL of a single OpenAPI 3 JSON contract. Paths are resolved from the
119
+ * current directory; resolve relative paths first when they belong to another base.
120
+ *
121
+ * @throws When an entry cannot be read or fetched, is not an identifiable OpenAPI 3 contract,
122
+ * or two entries share an API id.
123
+ */
124
+ export async function loadScapiSchemaOverrides(entries, options = {}) {
125
+ const documents = await Promise.all(entries.map(async (entry) => {
126
+ if (!isRemoteScapiSchema(entry))
127
+ return localFiles(resolve(entry)).map((file) => localDocument(file));
128
+ const cached = options.cache?.get(entry);
129
+ if (cached)
130
+ return [await cached];
131
+ const pending = remoteDocument(entry, options);
132
+ options.cache?.set(entry, pending);
133
+ try {
134
+ return [await pending];
135
+ }
136
+ catch (error) {
137
+ options.cache?.delete(entry);
138
+ throw error;
139
+ }
140
+ }));
141
+ return byApiId(documents.flat());
142
+ }
143
+ //# sourceMappingURL=local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local.js","sourceRoot":"","sources":["../../../src/scapi/local.ts"],"names":[],"mappings":"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"}
@@ -27,8 +27,8 @@ export interface ScapiRequestOptions {
27
27
  confirm?: (request: ScapiConfirmation, signal: AbortSignal) => Promise<void>;
28
28
  /** Called immediately before network dispatch, for tracking potentially applied writes. */
29
29
  onDispatch?: () => void;
30
- /** Called with each contract fetched from the Schemas API; `customProperties` reports expand=custom_properties. */
31
- onSchema?: (document: ScapiSchemaDocument, customProperties: boolean) => void;
30
+ /** Called with each contract fetched from the Schemas API; `full` reports tenant custom properties and operation prose (expand=all). */
31
+ onSchema?: (document: ScapiSchemaDocument, full: boolean) => void;
32
32
  }
33
33
  /** Build one execution's SCAPI request helper. Auth, policy, and responses stay in the host. */
34
34
  export declare function createScapiRequest(options: ScapiRequestOptions): (input: unknown, signal: AbortSignal) => Promise<unknown>;
@@ -12,6 +12,7 @@ import { SafetyGuard, extractJobIdFromPath } from '../safety/index.js';
12
12
  import { getLogger } from '../logging/logger.js';
13
13
  import { findScapiOperation, resolveScapiReference } from './catalog.js';
14
14
  import { createLiveScapiDocument } from './live.js';
15
+ import { isFullScapiExpand } from './schema-source.js';
15
16
  import { scapiAuthError, scapiAuthResponse, scapiShopperAuthError, selectScapiAuth, shopperTokenScopes, unsupportedScapiAuth, unsupportedScapiTransfer, isScapiTextMediaType, } from './authentication.js';
16
17
  /** Build one execution's SCAPI request helper. Auth, policy, and responses stay in the host. */
17
18
  export function createScapiRequest(options) {
@@ -284,9 +285,10 @@ export function createScapiRequest(options) {
284
285
  const previous = documents.findIndex((item) => item.entry.id === document.entry.id);
285
286
  if (previous < 0)
286
287
  documents.push(document);
287
- else
288
+ // Developer-supplied local contracts take precedence over the tenant's.
289
+ else if (documents[previous].entry.origin !== 'local')
288
290
  documents[previous] = document;
289
- options.onSchema?.(document, String(queryValues.expand ?? '').includes('custom_properties'));
291
+ options.onSchema?.(document, isFullScapiExpand(String(queryValues.expand ?? '')));
290
292
  }
291
293
  }
292
294
  return { status: result.response.status, ok: result.response.ok, data, ...(diagnostic ? { diagnostic } : {}) };
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/scapi/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/scapi/request.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,11 @@ export interface ScapiCodeOptions {
20
20
  signal?: AbortSignal;
21
21
  timeoutMs?: number;
22
22
  maxOutputBytes?: number;
23
+ /**
24
+ * How much prose `spec` operations carry. `outline` keeps each operation's own summary, description and tags but
25
+ * drops nested descriptions and examples, keeping discovery results within the output cap. Defaults to `full`.
26
+ */
27
+ detail?: 'outline' | 'full';
23
28
  /** The host owns cancellation and cleanup while paused; approval may wait indefinitely. Never exposed to the child. */
24
29
  onControl?: (control: ScapiRuntimeControl) => void;
25
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/scapi/runtime.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAC,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAC,oBAAoB,EAAqB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAC,0BAA0B,EAAE,wBAAwB,EAAoB,MAAM,eAAe,CAAC;AA0BtG,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAyB;IAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,EAAE,MAAM,CAAC,CAAC;IAChE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM;QAClE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC1E,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClF,MAAM,cAAc,GAAG,0BAA0B,CAAC,OAAO,CAAC,QAAQ,IAAI,wBAAwB,EAAE,CAAC,CAAC;IAClG,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM;QACvC,MAAM,IAAI,KAAK,CACb,MAAM,OAAO,CAAC,QAAQ,0FAA0F,CACjH,CAAC;IACJ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,KAAK,CACjB,OAAO,CAAC,QAAQ,EAChB,CAAC,cAAc,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,QAAQ,EAAE,mBAAmB,CAAC,EACpG;YACE,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,0FAA0F;YAC1F,GAAG,EAAE,EAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC;YACzF,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;YACxC,WAAW,EAAE,IAAI;SAClB,CACF,CAAC;QACF,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,OAAqD,CAAC;QAC1D,MAAM,MAAM,GAAG,CAAC,KAAe,EAAE,KAAa,EAAE,EAAE;YAChD,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,GAAG,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC;YACzB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACrD,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,GAAG,EAAE,CAClB,MAAM,CAAC,SAAS,EAAE,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC,CAAC;QACxG,IAAI,WAAW,GAAG,SAAS,CAAC;QAC5B,IAAI,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,GAAG,EAAE,CACpB,MAAM,CAAC,SAAS,EAAE,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC,CAAC;QACtG,IAAI,KAAK,GAA8C,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACzF,MAAM,OAAO,GAAwB;YACnC,YAAY;gBACV,IAAI,OAAO,IAAI,CAAC,KAAK;oBAAE,OAAO;gBAC9B,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;gBACzE,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,KAAK,GAAG,SAAS,CAAC;YACpB,CAAC;YACD,aAAa;gBACX,IAAI,OAAO,IAAI,KAAK;oBAAE,OAAO;gBAC7B,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBAC9B,KAAK,GAAG,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC5C,CAAC;SACF,CAAC;QACF,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE;YAC9B,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;YAC5B,IAAI,WAAW,GAAG,MAAM;gBAAE,MAAM,CAAC,SAAS,EAAE,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC,CAAC;QACpH,CAAC,CAAC;QACF,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,EAAC,SAAS,EAAE,KAAK,CAAC,GAAG,EAAC,EAAE,2BAA2B,CAAC,CAAC,CAAC;QAChG,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QACvD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACrD,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,IAAI,OAAO,EAAE,KAAK;gBAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;iBACrC,IAAI,OAAO;gBAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;;gBACpC,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,IAAI,iCAAiC,CAAC,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,GAAY,EAAE,EAAE;YACzC,IAAI,OAAO,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,OAAO;YACvD,MAAM,OAAO,GAAG,GASf,CAAC;YACF,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5D,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;gBAAE,OAAO,MAAM,CAAC,SAAS,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YACjF,MAAM,KAAK,GAAG,CAAC,KAAe,EAAE,KAAc,EAAE,EAAE;gBAChD,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,SAAS;oBAAE,KAAK,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAC,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACvG,CAAC,CAAC;YACF,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACH,IAAI,EAAE,YAAY,GAAG,GAAG;wBACtB,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;oBACxF,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO;wBAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;oBAC3G,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;gBACpF,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,KAAK,CAAC,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC3E,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO;YAClE,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO;gBAC5D,OAAO,KAAK,CAAC,SAAS,EAAE,gFAAgF,CAAC,CAAC;YAC5G,IAAI,EAAE,KAAK,GAAG,EAAE;gBAAE,OAAO,KAAK,CAAC,SAAS,EAAE,sDAAsD,CAAC,CAAC;YAClG,IAAI,MAAM,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC,SAAS,EAAE,4DAA4D,CAAC,CAAC;YACvG,MAAM,EAAE,CAAC;YACT,IAAI,CAAC;gBACH,KAAK,CACH,OAAO,CAAC,IAAI,KAAK,MAAM;oBACrB,CAAC,CAAC,MAAM,OAAO,CAAC,IAAK,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC;oBAClF,CAAC,CAAC,MAAM,OAAO,CAAC,OAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,CAC/D,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,KAAK,CAAC,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3E,CAAC;oBAAS,CAAC;gBACT,MAAM,EAAE,CAAC;YACX,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7E,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YAC5B,MAAM,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QACD,KAAK,CAAC,IAAI,CACR;YACE,IAAI,EAAE,KAAK;YACX,GAAG,OAAO;YACV,SAAS;YACT,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,SAAS;YACpB,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,MAAM,EAAE,MAAM,CAAC;SACnE,EACD,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,KAAK;gBAAE,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/scapi/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ import type { SchemaListItem } from '../clients/scapi-schemas.js';
2
+ import { type ApiDocument, type ScapiSchemaDocument } from './catalog.js';
3
+ /**
4
+ * Sections the Schemas API can add to a contract through its `expand` query parameter.
5
+ *
6
+ * Without `expand` a contract has no operation summaries or descriptions, no examples, and no tenant custom
7
+ * properties. `all` is a superset of every other value.
8
+ */
9
+ export declare const SCAPI_SCHEMA_EXPANSIONS: readonly ["all", "custom_properties", "descriptions", "examples", "external_docs", "summaries", "tags", "titles"];
10
+ export type ScapiSchemaExpansion = (typeof SCAPI_SCHEMA_EXPANSIONS)[number];
11
+ /**
12
+ * Validate expansion names and join them the way the Schemas API expects: one `expand` value, separated by
13
+ * commas (semicolons are accepted when parsing). The API rejects a repeated `expand` parameter.
14
+ *
15
+ * @returns The canonical value, or undefined when nothing is requested.
16
+ * @throws When a name is not a known expansion.
17
+ */
18
+ export declare function normalizeScapiSchemaExpand(input: string | readonly string[] | undefined): string | undefined;
19
+ /**
20
+ * Every section except tenant custom properties. The distributable bundled corpus is built with this, so it
21
+ * carries the full prose and examples but nothing specific to one tenant.
22
+ */
23
+ export declare const SCAPI_STANDARD_SCHEMA_EXPAND = "descriptions,examples,external_docs,summaries,tags,titles";
24
+ /** Whether an `expand` value requests a section; `all` includes every section. */
25
+ export declare function scapiExpandIncludes(expand: string | undefined, section: ScapiSchemaExpansion): boolean;
26
+ /** Whether the contract carries tenant custom properties and operation prose, so it can serve code mode. */
27
+ export declare function isFullScapiExpand(expand: string | undefined): boolean;
28
+ /** What a caller will do with a contract; used to ask the server for only that much. */
29
+ export interface ScapiSchemaNeeds {
30
+ /** The whole contract: every section (`all`). Overrides the other needs. */
31
+ full?: boolean;
32
+ /** Operation, parameter and schema prose (`summaries`, `descriptions`, `titles`). */
33
+ prose?: boolean;
34
+ /** Request and response examples. */
35
+ examples?: boolean;
36
+ /** Tenant custom properties (`c_*` attributes). */
37
+ customProperties?: boolean;
38
+ }
39
+ /**
40
+ * Smallest `expand` value that satisfies what the caller will use, so outline-only reads stay small.
41
+ *
42
+ * @returns The `expand` value, or undefined when no section is needed.
43
+ */
44
+ export declare function scapiSchemaExpandFor(needs: ScapiSchemaNeeds): string | undefined;
45
+ export interface ScapiSchemaIdentity {
46
+ apiFamily: string;
47
+ apiName: string;
48
+ apiVersion: string;
49
+ }
50
+ /** Find a standard contract in the bundled corpus. */
51
+ export declare function findBundledScapiSchema(identity: ScapiSchemaIdentity): ScapiSchemaDocument | undefined;
52
+ export interface ScapiSchemaFilter {
53
+ apiFamily?: string;
54
+ apiName?: string;
55
+ apiVersion?: string;
56
+ status?: string;
57
+ }
58
+ /** List the bundled corpus in the Schemas API listing shape, applying the same filters. */
59
+ export declare function listBundledScapiSchemas(filter?: ScapiSchemaFilter): SchemaListItem[];
60
+ /** Where a contract or listing came from. */
61
+ export type ScapiSchemaSource = 'live' | 'bundled';
62
+ export interface ScapiSchemaFetchResult {
63
+ schema: ApiDocument;
64
+ source: ScapiSchemaSource;
65
+ /** Set when `source` is `bundled` because the live fetch failed. */
66
+ warning?: string;
67
+ }
68
+ export interface ScapiSchemaListFetchResult {
69
+ schemas: SchemaListItem[];
70
+ total: number;
71
+ source: ScapiSchemaSource;
72
+ warning?: string;
73
+ }
74
+ /**
75
+ * Fetch one contract live, falling back to the bundled corpus when the live fetch fails (missing
76
+ * configuration or credentials, no access, network or server errors).
77
+ *
78
+ * The bundled contract always carries the full prose and examples, regardless of the requested expansion.
79
+ * Custom APIs exist only on the tenant, so their failure is rethrown. Abort errors are never swallowed.
80
+ *
81
+ * @param identity - API family, name and version
82
+ * @param fetchLive - Fetches the contract, building the client lazily so configuration errors fall back too
83
+ * @param signal - Abort signal; an aborted request throws instead of falling back
84
+ */
85
+ export declare function fetchScapiSchemaWithFallback(identity: ScapiSchemaIdentity, fetchLive: () => Promise<ApiDocument>, signal?: AbortSignal): Promise<ScapiSchemaFetchResult>;
86
+ /** List schemas live, falling back to the bundled corpus (with the same filters) when the live listing fails. */
87
+ export declare function listScapiSchemasWithFallback(filter: ScapiSchemaFilter, fetchLive: () => Promise<{
88
+ schemas: SchemaListItem[];
89
+ total: number;
90
+ }>, signal?: AbortSignal): Promise<ScapiSchemaListFetchResult>;
@@ -0,0 +1,146 @@
1
+ /*
2
+ * Copyright (c) 2025, Salesforce, Inc.
3
+ * SPDX-License-Identifier: Apache-2
4
+ * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import { loadScapiSchemas } from './catalog.js';
7
+ /**
8
+ * Sections the Schemas API can add to a contract through its `expand` query parameter.
9
+ *
10
+ * Without `expand` a contract has no operation summaries or descriptions, no examples, and no tenant custom
11
+ * properties. `all` is a superset of every other value.
12
+ */
13
+ export const SCAPI_SCHEMA_EXPANSIONS = [
14
+ 'all',
15
+ 'custom_properties',
16
+ 'descriptions',
17
+ 'examples',
18
+ 'external_docs',
19
+ 'summaries',
20
+ 'tags',
21
+ 'titles',
22
+ ];
23
+ /**
24
+ * Validate expansion names and join them the way the Schemas API expects: one `expand` value, separated by
25
+ * commas (semicolons are accepted when parsing). The API rejects a repeated `expand` parameter.
26
+ *
27
+ * @returns The canonical value, or undefined when nothing is requested.
28
+ * @throws When a name is not a known expansion.
29
+ */
30
+ export function normalizeScapiSchemaExpand(input) {
31
+ const names = (Array.isArray(input) ? input : [input ?? ''])
32
+ .flatMap((value) => String(value).split(/[,;]/))
33
+ .map((value) => value.trim())
34
+ .filter(Boolean);
35
+ const unknown = names.filter((name) => !SCAPI_SCHEMA_EXPANSIONS.includes(name));
36
+ if (unknown.length > 0)
37
+ throw new Error(`Unknown schema expansion ${unknown.map((name) => `"${name}"`).join(', ')}. Valid values: ${SCAPI_SCHEMA_EXPANSIONS.join(', ')}.`);
38
+ if (names.includes('all'))
39
+ return 'all';
40
+ const unique = SCAPI_SCHEMA_EXPANSIONS.filter((name) => names.includes(name));
41
+ return unique.length > 0 ? unique.join(',') : undefined;
42
+ }
43
+ /**
44
+ * Every section except tenant custom properties. The distributable bundled corpus is built with this, so it
45
+ * carries the full prose and examples but nothing specific to one tenant.
46
+ */
47
+ export const SCAPI_STANDARD_SCHEMA_EXPAND = 'descriptions,examples,external_docs,summaries,tags,titles';
48
+ /** Whether an `expand` value requests a section; `all` includes every section. */
49
+ export function scapiExpandIncludes(expand, section) {
50
+ const names = (expand ?? '').split(/[,;]/).map((value) => value.trim());
51
+ return names.includes('all') || names.includes(section);
52
+ }
53
+ /** Whether the contract carries tenant custom properties and operation prose, so it can serve code mode. */
54
+ export function isFullScapiExpand(expand) {
55
+ return (scapiExpandIncludes(expand, 'custom_properties') &&
56
+ scapiExpandIncludes(expand, 'summaries') &&
57
+ scapiExpandIncludes(expand, 'descriptions'));
58
+ }
59
+ /**
60
+ * Smallest `expand` value that satisfies what the caller will use, so outline-only reads stay small.
61
+ *
62
+ * @returns The `expand` value, or undefined when no section is needed.
63
+ */
64
+ export function scapiSchemaExpandFor(needs) {
65
+ if (needs.full)
66
+ return 'all';
67
+ const names = [];
68
+ if (needs.customProperties)
69
+ names.push('custom_properties');
70
+ if (needs.prose)
71
+ names.push('summaries', 'descriptions', 'titles');
72
+ if (needs.examples)
73
+ names.push('examples');
74
+ return normalizeScapiSchemaExpand(names);
75
+ }
76
+ /** Find a standard contract in the bundled corpus. */
77
+ export function findBundledScapiSchema(identity) {
78
+ const id = `${identity.apiFamily}/${identity.apiName}/${identity.apiVersion}`;
79
+ return loadScapiSchemas().find((document) => document.entry.id === id);
80
+ }
81
+ /** List the bundled corpus in the Schemas API listing shape, applying the same filters. */
82
+ export function listBundledScapiSchemas(filter = {}) {
83
+ return loadScapiSchemas()
84
+ .filter(({ entry }) => (!filter.apiFamily || entry.apiFamily === filter.apiFamily) &&
85
+ (!filter.apiName || entry.apiName === filter.apiName) &&
86
+ (!filter.apiVersion || entry.apiVersion === filter.apiVersion) &&
87
+ (!filter.status || entry.status === filter.status))
88
+ .map(({ entry }) => ({
89
+ schemaVersion: entry.schemaVersion,
90
+ apiFamily: entry.apiFamily,
91
+ apiName: entry.apiName,
92
+ apiVersion: entry.apiVersion,
93
+ status: entry.status,
94
+ }));
95
+ }
96
+ function reason(error) {
97
+ return (error instanceof Error ? error.message : String(error)).replaceAll(/\s+/g, ' ').trim().slice(0, 300);
98
+ }
99
+ const BUNDLED_LIMITS = 'The bundled corpus has the standard SCAPI contracts only: no tenant custom properties or custom APIs, and it may be older than your tenant.';
100
+ /**
101
+ * Fetch one contract live, falling back to the bundled corpus when the live fetch fails (missing
102
+ * configuration or credentials, no access, network or server errors).
103
+ *
104
+ * The bundled contract always carries the full prose and examples, regardless of the requested expansion.
105
+ * Custom APIs exist only on the tenant, so their failure is rethrown. Abort errors are never swallowed.
106
+ *
107
+ * @param identity - API family, name and version
108
+ * @param fetchLive - Fetches the contract, building the client lazily so configuration errors fall back too
109
+ * @param signal - Abort signal; an aborted request throws instead of falling back
110
+ */
111
+ export async function fetchScapiSchemaWithFallback(identity, fetchLive, signal) {
112
+ try {
113
+ return { schema: await fetchLive(), source: 'live' };
114
+ }
115
+ catch (error) {
116
+ if (signal?.aborted)
117
+ throw error;
118
+ const bundled = findBundledScapiSchema(identity);
119
+ if (!bundled)
120
+ throw error;
121
+ return {
122
+ schema: bundled.schema,
123
+ source: 'bundled',
124
+ warning: `Live schema unavailable (${reason(error)}). Showing the bundled ${bundled.entry.id} contract ` +
125
+ `(schema ${bundled.entry.schemaVersion}). ${BUNDLED_LIMITS}`,
126
+ };
127
+ }
128
+ }
129
+ /** List schemas live, falling back to the bundled corpus (with the same filters) when the live listing fails. */
130
+ export async function listScapiSchemasWithFallback(filter, fetchLive, signal) {
131
+ try {
132
+ return { ...(await fetchLive()), source: 'live' };
133
+ }
134
+ catch (error) {
135
+ if (signal?.aborted)
136
+ throw error;
137
+ const schemas = listBundledScapiSchemas(filter);
138
+ return {
139
+ schemas,
140
+ total: schemas.length,
141
+ source: 'bundled',
142
+ warning: `Live schema listing unavailable (${reason(error)}). Listing the bundled corpus. ${BUNDLED_LIMITS}`,
143
+ };
144
+ }
145
+ }
146
+ //# sourceMappingURL=schema-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-source.js","sourceRoot":"","sources":["../../../src/scapi/schema-source.ts"],"names":[],"mappings":"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"}
@@ -41,16 +41,40 @@ process.on('message', async message => {
41
41
  }
42
42
  return Object.fromEntries(Object.entries(value).map(([key, v]) => [key, resolve(v, api, seen, depth + 1)]));
43
43
  }
44
- const spec = {apis: documents.map(d => d.entry), paths: {}, resolve};
44
+ // Keys of these objects are names chosen by the API, not schema keywords, so a property called description survives.
45
+ const NAME_MAPS = new Set(['properties', 'patternProperties', 'headers', 'content', 'responses', 'schemas', 'scopes', 'links', 'callbacks', 'securitySchemes']);
46
+ const VALUE_KEYS = new Set(['default', 'enum', 'const']);
47
+ function outline(value, nameMap = false) {
48
+ if (!value || typeof value !== 'object') return value;
49
+ if (Array.isArray(value)) return value.map(v => outline(v));
50
+ const out = {};
51
+ for (const [key, v] of Object.entries(value)) {
52
+ if (!nameMap && (key === 'description' || key === 'example' || key === 'examples')) continue;
53
+ out[key] = !nameMap && VALUE_KEYS.has(key) ? v : outline(v, !nameMap && NAME_MAPS.has(key));
54
+ }
55
+ return out;
56
+ }
57
+ const outlined = message.detail === 'outline';
58
+ const resolveDetail = (value, api) => outlined ? outline(resolve(value, api)) : resolve(value, api);
59
+ const specData = {apis: documents.map(d => d.entry), paths: {}, resolve: resolveDetail};
60
+ const spec = new Proxy(specData, {get(target, key, receiver) {
61
+ if (typeof key === 'symbol' || key in target || key === 'then' || key === 'toJSON') return Reflect.get(target, key, receiver);
62
+ throw new Error('SCAPI_SPEC_UNKNOWN_MEMBER: spec.' + key + ' does not exist. spec has only apis (array of API entries), paths ({[fullPath]: {[method]: operation}}) and resolve(value, apiId). List operations with Object.entries(spec.paths).');
63
+ }});
45
64
  for (const {entry, schema} of documents) {
46
65
  for (const [path, item] of Object.entries(schema.paths || {})) {
47
66
  const methods = {};
48
67
  for (const method of ['get','head','post','put','patch','delete','options']) {
49
- if (item[method]) methods[method] = resolve({...item[method], api: entry.id,
50
- parameters: [...(item.parameters || []), ...(item[method].parameters || [])],
51
- security: item[method].security ?? schema.security ?? []}, entry.id);
68
+ if (item[method]) {
69
+ const operation = {...item[method], api: entry.id,
70
+ parameters: [...(item.parameters || []), ...(item[method].parameters || [])],
71
+ security: item[method].security ?? schema.security ?? []};
72
+ // Keep the operation's own prose; only what it references is trimmed.
73
+ const {summary, description, ...rest} = operation;
74
+ methods[method] = {...(summary === undefined ? {} : {summary}), ...(description === undefined ? {} : {description}), ...resolveDetail(rest, entry.id)};
75
+ }
52
76
  }
53
- spec.paths['/' + entry.id + (entry.apiFamily === 'custom' ? '/organizations/{organizationId}' : '') + path] = methods;
77
+ specData.paths['/' + entry.id + (entry.apiFamily === 'custom' ? '/organizations/{organizationId}' : '') + path] = methods;
54
78
  }
55
79
  }
56
80
  const scapi = {request: options => new Promise((resolve, reject) => {
@@ -71,7 +95,7 @@ process.on('message', async message => {
71
95
  });
72
96
  let runningSnippets = 0;
73
97
  const evaluate = (code, input) => new Function('spec', 'scapi', 'codemode', 'auth', 'organizationId', 'siteId', 'input',
74
- 'return (' + code + ')(input);')(spec, scapi, codemode, auth, message.organizationId, message.siteId, input);
98
+ 'return (' + code.trim().replace(/;+$/, '') + '\n)(input);')(spec, scapi, codemode, auth, message.organizationId, message.siteId, input);
75
99
  const codemode = {
76
100
  search: (query = '') => snippetCall('search', String(query)),
77
101
  describe: name => snippetCall('describe', String(name)),
@@ -88,7 +112,7 @@ process.on('message', async message => {
88
112
  const value = await evaluate(message.code, message.input);
89
113
  if (pending.size || runningSnippets) throw new Error('Await every scapi.request, auth, and codemode call before returning. Requests may already have taken effect.');
90
114
  const json = JSON.stringify(value === undefined ? null : value);
91
- if (Buffer.byteLength(json) > message.maxOutputBytes) throw new Error('SCAPI_RESULT_TOO_LARGE: return fewer fields or a smaller page.');
115
+ if (Buffer.byteLength(json) > message.maxOutputBytes) throw new Error('SCAPI_RESULT_TOO_LARGE: return fewer fields or a smaller page. Whole operations include every parameter and schema description; return operationId, method, path and summary to list candidates, and only the parts you need (parameters, requestBody) for one.');
92
116
  send({type:'result', value: JSON.parse(json)});
93
117
  } catch (error) {
94
118
  const message = error.code === 'ERR_ACCESS_DENIED'
@@ -1 +1 @@
1
- {"version":3,"file":"worker-source.js","sourceRoot":"","sources":["../../../src/scapi/worker-source.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,qGAAqG;AACrG,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6F5C,CAAC"}
1
+ {"version":3,"file":"worker-source.js","sourceRoot":"","sources":["../../../src/scapi/worker-source.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,qGAAqG;AACrG,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqH5C,CAAC"}
@@ -29,6 +29,7 @@ export declare class Telemetry {
29
29
  private flushIntervalMs;
30
30
  private flushTimer;
31
31
  private isCI;
32
+ private agentAttributes;
32
33
  /**
33
34
  * Check if telemetry is disabled via environment variables.
34
35
  * Supports both SF_DISABLE_TELEMETRY (sf CLI standard) and SFCC_DISABLE_TELEMETRY.