import * as collections from './collections.ts'
import * as config from './config.ts'
import * as customers from './customers.ts'
import * as draftOrders from './draft-orders.ts'
import * as fulfillments from './fulfillments.ts'
import * as graphql from './graphql.ts'
import * as inventory from './inventory.ts'
import * as metafields from './metafields.ts'
import * as orders from './orders.ts'
import * as products from './products.ts'
import * as request from './request.ts'
import * as shop from './shop.ts'
import * as smokeTest from './smoke-test.ts'
import * as webhooks from './webhooks.ts'
export {
collections,
config,
customers,
draftOrders,
fulfillments,
graphql,
inventory,
metafields,
orders,
products,
request,
shop,
smokeTest,
webhooks,
}
/** Describe the @kody/shopify helpers, auth lanes, and export surface. */
export default async function describeShopifyPackage() {
return {
packageId: 'shopify',
name: '@kody/shopify',
version: '1.0.0',
docs: [
'https://shopify.dev/docs/api/admin-graphql',
'https://shopify.dev/docs/api/admin-rest',
'https://shopify.dev/docs/apps/build/dev-dashboard/get-api-access-tokens',
],
intent:
'Secret-backed Shopify Admin API helpers. No Kody OAuth integration — fork, add shop credentials, and call GraphQL-first domain modules.',
auth: {
requiredOneOf: [
['shopifyAdminAccessToken'],
['shopifyClientId', 'shopifyClientSecret'],
],
shop: 'Pass shop: "your-store" on each call, or set a fork-local default via ./config.',
hosts: '{shop}.myshopify.com',
note: 'This package does not use a saved Kody Shopify integration.',
},
defaults: {
apiVersion: '2026-07',
mutations: 'dry-run unless dryRun: false',
},
domains: {
'.': 'Package overview (this export)',
'./graphql': 'Admin GraphQL escape hatch',
'./request': 'Admin REST escape hatch',
'./shop': 'getShop',
'./products': 'listProducts, getProduct, createProduct, updateProduct',
'./orders': 'listOrders, getOrder',
'./customers': 'listCustomers, getCustomer, createCustomer',
'./inventory':
'listLocations, listInventoryLevels, adjustInventory',
'./collections': 'listCollections, getCollection',
'./fulfillments': 'listFulfillmentOrders, createFulfillment',
'./draft-orders':
'listDraftOrders, getDraftOrder, createDraftOrder',
'./webhooks': 'listWebhooks, createWebhook, deleteWebhook',
'./metafields': 'listMetafields, setMetafield',
'./config': 'getConfig, setDefaultShop, setDefaultApiVersion, clearConfig',
'./smoke-test': 'Local self-check plus optional live shop read',
'./types': 'Shared TypeScript types',
},
}
}