@siglume/api-sdk 0.10.3 → 0.10.5

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.
@@ -134,6 +134,16 @@ declare const AppCategory: {
134
134
  readonly OTHER: "other";
135
135
  };
136
136
  type AppCategory = (typeof AppCategory)[keyof typeof AppCategory];
137
+ declare const StoreVertical: {
138
+ readonly API: "api";
139
+ readonly GAME: "game";
140
+ };
141
+ type StoreVertical = (typeof StoreVertical)[keyof typeof StoreVertical];
142
+ declare const ListingCurrency: {
143
+ readonly USD: "USD";
144
+ readonly JPY: "JPY";
145
+ };
146
+ type ListingCurrency = (typeof ListingCurrency)[keyof typeof ListingCurrency];
137
147
  interface AppManifest {
138
148
  capability_key: string;
139
149
  version?: string;
@@ -147,7 +157,7 @@ interface AppManifest {
147
157
  permission_scopes?: string[];
148
158
  price_model?: PriceModel;
149
159
  price_value_minor?: number;
150
- currency?: "USD";
160
+ currency: ListingCurrency;
151
161
  jurisdiction: string;
152
162
  applicable_regulations?: string[];
153
163
  data_residency?: string;
@@ -157,6 +167,7 @@ interface AppManifest {
157
167
  support_contact?: string;
158
168
  seller_homepage_url?: string;
159
169
  seller_social_url?: string;
170
+ store_vertical: StoreVertical;
160
171
  compatibility_tags?: string[];
161
172
  example_prompts?: string[];
162
173
  latency_tier?: string;
@@ -134,6 +134,16 @@ declare const AppCategory: {
134
134
  readonly OTHER: "other";
135
135
  };
136
136
  type AppCategory = (typeof AppCategory)[keyof typeof AppCategory];
137
+ declare const StoreVertical: {
138
+ readonly API: "api";
139
+ readonly GAME: "game";
140
+ };
141
+ type StoreVertical = (typeof StoreVertical)[keyof typeof StoreVertical];
142
+ declare const ListingCurrency: {
143
+ readonly USD: "USD";
144
+ readonly JPY: "JPY";
145
+ };
146
+ type ListingCurrency = (typeof ListingCurrency)[keyof typeof ListingCurrency];
137
147
  interface AppManifest {
138
148
  capability_key: string;
139
149
  version?: string;
@@ -147,7 +157,7 @@ interface AppManifest {
147
157
  permission_scopes?: string[];
148
158
  price_model?: PriceModel;
149
159
  price_value_minor?: number;
150
- currency?: "USD";
160
+ currency: ListingCurrency;
151
161
  jurisdiction: string;
152
162
  applicable_regulations?: string[];
153
163
  data_residency?: string;
@@ -157,6 +167,7 @@ interface AppManifest {
157
167
  support_contact?: string;
158
168
  seller_homepage_url?: string;
159
169
  seller_social_url?: string;
170
+ store_vertical: StoreVertical;
160
171
  compatibility_tags?: string[];
161
172
  example_prompts?: string[];
162
173
  latency_tier?: string;
package/dist/cli/index.js CHANGED
@@ -2507,9 +2507,11 @@ var init_client = __esm({
2507
2507
  "support_contact",
2508
2508
  "seller_homepage_url",
2509
2509
  "seller_social_url",
2510
+ "store_vertical",
2510
2511
  "jurisdiction",
2511
2512
  "price_model",
2512
2513
  "price_value_minor",
2514
+ "currency",
2513
2515
  "permission_class",
2514
2516
  "approval_mode",
2515
2517
  "dry_run_supported",
@@ -2522,6 +2524,21 @@ var init_client = __esm({
2522
2524
  payload[fieldName] = value;
2523
2525
  }
2524
2526
  }
2527
+ if (payload.store_vertical === void 0 || payload.store_vertical === null) {
2528
+ throw new SiglumeClientError(
2529
+ "AppManifest.store_vertical is required. Choose 'api' for normal API Store listings or 'game' for API games."
2530
+ );
2531
+ }
2532
+ const currency = String(payload.currency ?? "").trim().toUpperCase();
2533
+ if (!currency) {
2534
+ throw new SiglumeClientError(
2535
+ "AppManifest.currency is required. Choose 'USD' for USDC settlement or 'JPY' for JPYC settlement."
2536
+ );
2537
+ }
2538
+ if (currency !== "USD" && currency !== "JPY") {
2539
+ throw new SiglumeClientError(`AppManifest.currency must be 'USD' or 'JPY'. Got ${String(payload.currency)}.`);
2540
+ }
2541
+ payload.currency = currency;
2525
2542
  if (payload.manifest && typeof payload.manifest === "object") {
2526
2543
  delete payload.manifest.version;
2527
2544
  }
@@ -7645,11 +7662,13 @@ function buildOperationManifest(operation, capability_key_override) {
7645
7662
  name: operationDisplayName(operation),
7646
7663
  job_to_be_done: `Wrap the Siglume first-party operation \`${operation.operation_key}\` for owned agents.`,
7647
7664
  category: AppCategory.OTHER,
7665
+ store_vertical: "api",
7648
7666
  permission_class: permissionClassFromOperation(operation),
7649
7667
  approval_mode: approvalModeFromOperation(operation),
7650
7668
  dry_run_supported: true,
7651
7669
  required_connected_accounts: [],
7652
7670
  price_model: PriceModel.FREE,
7671
+ currency: "USD",
7653
7672
  jurisdiction: "US",
7654
7673
  short_description: operation.summary,
7655
7674
  docs_url: "https://example.com/docs",
@@ -7721,11 +7740,13 @@ function operationAdapterSource(operation, manifest) {
7721
7740
  ` name: ${JSON.stringify(manifest.name)},`,
7722
7741
  ` job_to_be_done: ${JSON.stringify(manifest.job_to_be_done)},`,
7723
7742
  " category: AppCategory.OTHER,",
7743
+ " store_vertical: 'api' as const,",
7724
7744
  ` permission_class: PermissionClass.${permissionEnumName},`,
7725
7745
  ` approval_mode: ApprovalMode.${approvalEnumName},`,
7726
7746
  " dry_run_supported: true,",
7727
7747
  " required_connected_accounts: [],",
7728
7748
  " price_model: PriceModel.FREE,",
7749
+ " currency: 'USD' as const,",
7729
7750
  ` jurisdiction: ${JSON.stringify(manifest.jurisdiction)},`,
7730
7751
  ` short_description: ${JSON.stringify(manifest.short_description ?? "")},`,
7731
7752
  ` support_contact: ${JSON.stringify(manifest.support_contact ?? "")},`,
@@ -8399,11 +8420,13 @@ function fallbackTemplateSource(template) {
8399
8420
  ` name: "${className}",`,
8400
8421
  ' job_to_be_done: "Describe what this starter API should do.",',
8401
8422
  " category: AppCategory.OTHER,",
8423
+ " store_vertical: 'api' as const,",
8402
8424
  ` permission_class: ${permissionClass},`,
8403
8425
  ` approval_mode: ${approvalMode},`,
8404
8426
  " dry_run_supported: true,",
8405
8427
  " required_connected_accounts: [],",
8406
8428
  " price_model: PriceModel.FREE,",
8429
+ " currency: 'USD' as const,",
8407
8430
  ' jurisdiction: "US",',
8408
8431
  ' short_description: "Starter template generated by siglume init.",',
8409
8432
  ' support_contact: "support@example.com",',
@@ -8451,11 +8474,13 @@ function starterManifest(template) {
8451
8474
  name: className,
8452
8475
  job_to_be_done: "Describe what this starter API should do.",
8453
8476
  category: "other",
8477
+ store_vertical: "api",
8454
8478
  permission_class,
8455
8479
  approval_mode: approval_mode[template],
8456
8480
  dry_run_supported: true,
8457
8481
  required_connected_accounts: [],
8458
8482
  price_model: "free",
8483
+ currency: "USD",
8459
8484
  jurisdiction: "US",
8460
8485
  short_description: "Starter template generated by siglume init.",
8461
8486
  support_contact: "support@example.com",