@pancake-pos/app-cli 2026.1.3 → 2026.1.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.
package/dist/cli.js CHANGED
@@ -68,7 +68,13 @@ function pageUrl(value) {
68
68
  function targets(apiVersion) {
69
69
  if (!API_VERSIONS.includes(apiVersion)) return [];
70
70
  const locations = [...ACTION_LOCATIONS, "details.block", "before_submit", "after_save"];
71
- return ["nav.item", "app.page", ...RESOURCES.flatMap((r) => locations.map((l) => `${r}.${l}`))];
71
+ return [
72
+ "nav.item",
73
+ "app.page",
74
+ ...RESOURCES.flatMap((r) => [...locations, "index.column"].map((l) => `${r}.${l}`)),
75
+ ...PRINT_RESOURCES.map((r) => `${r}.print-action`),
76
+ ...CUSTOMER_LOCATIONS.map((l) => `customer.${l}`)
77
+ ];
72
78
  }
73
79
  function validateManifest(manifest, files) {
74
80
  const errors = [];
@@ -168,11 +174,26 @@ function validateManifest(manifest, files) {
168
174
  if (e.url !== void 0) add("invalid_field", `${path}.url`, "url ch\u1EC9 d\xF9ng v\u1EDBi render iframe");
169
175
  file("module", true);
170
176
  } else add("missing_field", `${path}.render`, "render ph\u1EA3i l\xE0 iframe ho\u1EB7c worker");
177
+ } else if (target === "customer.details.block") {
178
+ file("module", true);
179
+ file("should_render", false);
180
+ if (e.conditions !== void 0 && e.conditions !== null) add("invalid_condition", `${path}.conditions`, `\u0110i\u1EC1u ki\u1EC7n kh\xF4ng \xE1p d\u1EE5ng cho ${target}`);
181
+ } else if (target.endsWith(".print-action") && PRINT_RESOURCES.includes(target.slice(0, -".print-action".length))) {
182
+ requiredString(e, "label", 40, path);
183
+ file("module", true);
184
+ } else if (target.endsWith(".index.column") && [...RESOURCES, "customer"].includes(target.slice(0, -".index.column".length))) {
185
+ requiredString(e, "title", 30, path);
186
+ file("module", true);
187
+ if (e.format !== void 0 && !COLUMN_FORMATS.includes(e.format)) add("invalid_field", `${path}.format`, `format ph\u1EA3i l\xE0 ${COLUMN_FORMATS.join(", ")}`);
188
+ if (e.align !== void 0 && !COLUMN_ALIGNS.includes(e.align)) add("invalid_field", `${path}.align`, `align ph\u1EA3i l\xE0 ${COLUMN_ALIGNS.join(", ")}`);
189
+ const width = e.width;
190
+ if (width !== void 0 && !(Number.isInteger(width) && width >= 60 && width <= 400)) add("invalid_field", `${path}.width`, "width t\u1EEB 60 \u0111\u1EBFn 400");
171
191
  } else {
172
192
  const dot = target.indexOf(".");
173
193
  const resource = target.slice(0, dot);
174
194
  const location = target.slice(dot + 1);
175
- if (!RESOURCES.includes(resource)) return add("unknown_target", `${path}.target`, `Target ${target} kh\xF4ng t\u1ED3n t\u1EA1i`);
195
+ const customer = resource === "customer" && CUSTOMER_LOCATIONS.includes(location);
196
+ if (!RESOURCES.includes(resource) && !customer) return add("unknown_target", `${path}.target`, `Target ${target} kh\xF4ng t\u1ED3n t\u1EA1i`);
176
197
  if (ACTION_LOCATIONS.includes(location)) {
177
198
  requiredString(e, "label", 40, path);
178
199
  optionalString(e, "title", 60, path);
@@ -209,7 +230,7 @@ function validOrigin(origin) {
209
230
  return false;
210
231
  }
211
232
  }
212
- var API_VERSIONS, RESERVED_DOMAINS, RESOURCES, ACTION_LOCATIONS, DETAIL_LOCATIONS, PRESENTATIONS, METHODS, ACCESS_FIELDS, CONDITION_RESOURCES, UUID, isString, isObject;
233
+ var API_VERSIONS, RESERVED_DOMAINS, RESOURCES, ACTION_LOCATIONS, DETAIL_LOCATIONS, PRESENTATIONS, METHODS, ACCESS_FIELDS, CONDITION_RESOURCES, UUID, CUSTOMER_LOCATIONS, PRINT_RESOURCES, COLUMN_FORMATS, COLUMN_ALIGNS, isString, isObject;
213
234
  var init_manifest = __esm({
214
235
  "src/manifest.ts"() {
215
236
  "use strict";
@@ -232,6 +253,10 @@ var init_manifest = __esm({
232
253
  has_customer: ["order"]
233
254
  };
234
255
  UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
256
+ CUSTOMER_LOCATIONS = ["details.block", ...ACTION_LOCATIONS, "index.column"];
257
+ PRINT_RESOURCES = ["order", "purchase", "export", "warehouse_transfer"];
258
+ COLUMN_FORMATS = ["text", "number", "money", "date", "datetime"];
259
+ COLUMN_ALIGNS = ["left", "center", "right"];
235
260
  isString = (value) => typeof value === "string";
236
261
  isObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
237
262
  }
@@ -620,7 +645,7 @@ function createSiteHandler(options) {
620
645
  if (req.method !== "GET" && req.method !== "HEAD") return send(req, res, 405, { ...textHeaders, Allow: "GET, HEAD" }, "Method not allowed");
621
646
  const url = new URL(req.url ?? "/", "http://sandbox");
622
647
  const path = url.pathname;
623
- if (path === "/_pos/health") return send(req, res, 200, textHeaders, "ok");
648
+ if (path === "/_pos/health") return send(req, res, 200, options.runtime.version ? { ...textHeaders, "X-Pos-Runtime": options.runtime.version } : textHeaders, "ok");
624
649
  if (options.rejectTopLevel && req.headers["sec-fetch-dest"] === "document") {
625
650
  return send(req, res, 403, textHeaders, "This app only runs inside Pancake POS");
626
651
  }
@@ -1122,7 +1147,7 @@ var CLI_VERSION;
1122
1147
  var init_version = __esm({
1123
1148
  "src/version.ts"() {
1124
1149
  "use strict";
1125
- CLI_VERSION = true ? "2026.1.3" : JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8")).version;
1150
+ CLI_VERSION = true ? "2026.1.5" : JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8")).version;
1126
1151
  }
1127
1152
  });
1128
1153
 
@@ -1223,6 +1248,8 @@ function isSaved(resource, record) {
1223
1248
  }
1224
1249
  function recordRef(resource, record) {
1225
1250
  switch (resource) {
1251
+ case "customer":
1252
+ return customerRef(record);
1226
1253
  case "order": {
1227
1254
  const systemId = orderSystemId(record) ?? 0;
1228
1255
  return { id: str(record.custom_id) ?? systemId, system_id: systemId, status: num(record.status), updated_at: str(record.updated_at) };
@@ -1328,17 +1355,35 @@ function selectionData(resource, records) {
1328
1355
  function afterSaveInput(resource, record, mode) {
1329
1356
  return { resource, mode, record: recordRef(resource, record) };
1330
1357
  }
1358
+ function customerRef(record) {
1359
+ const shop = record.shop_customer && typeof record.shop_customer === "object" ? record.shop_customer : {};
1360
+ const id = record.shop_customer ? record.id : record.customer_id ?? record.id;
1361
+ const phones = [shop.phone_numbers, record.phone_numbers].find((list2) => Array.isArray(list2) && list2.length) ?? [];
1362
+ return {
1363
+ id: String(id ?? ""),
1364
+ name: String(record.name ?? shop.name ?? ""),
1365
+ phone_numbers: phones.map(String).slice(0, 20),
1366
+ tags: ids(shop.tags ?? record.tags),
1367
+ level_id: str(shop.level_id ?? record.level_id),
1368
+ assigned_user_id: str(shop.assigned_user_id ?? record.assigned_user_id),
1369
+ updated_at: str(shop.updated_at ?? record.updated_at)
1370
+ };
1371
+ }
1372
+ function customerData(record) {
1373
+ return { resource: "customer", record: customerRef(record) };
1374
+ }
1331
1375
  function hideOrderFields(data, hidden) {
1332
1376
  if (data.resource !== "order" || !data.draft || !hidden?.length) return data;
1333
1377
  const draft = { ...data.draft };
1334
1378
  for (const field of hidden) delete draft[field];
1335
1379
  return { ...data, draft };
1336
1380
  }
1337
- var RESOURCES2, MAX_SELECTION, num, str, idOf, ids, list, orderPrice, orderSystemId;
1381
+ var RESOURCES2, LIST_RESOURCES, MAX_SELECTION, num, str, idOf, ids, list, orderPrice, orderSystemId;
1338
1382
  var init_records = __esm({
1339
1383
  "../app-host/src/records.ts"() {
1340
1384
  "use strict";
1341
1385
  RESOURCES2 = ["order", "product", "purchase", "export", "warehouse_transfer"];
1386
+ LIST_RESOURCES = [...RESOURCES2, "customer"];
1342
1387
  MAX_SELECTION = 500;
1343
1388
  num = (value, fallback = 0) => typeof value === "number" && Number.isFinite(value) ? value : Number(value) || fallback;
1344
1389
  str = (value) => value === void 0 || value === null || value === "" ? null : String(value);
@@ -1425,6 +1470,36 @@ function example(target, location, resource) {
1425
1470
  const id = target.replace(/[^a-z0-9]+/g, "-").replace(/-+$/, "").slice(0, 40);
1426
1471
  if (target === "nav.item") return '```json\n{ "target": "nav.item", "id": "nav", "label": "Reconciliation", "page": "home" }\n```';
1427
1472
  if (target === "app.page") return '```json\n{ "target": "app.page", "id": "home", "title": "Reconciliation", "render": "iframe", "entry": "page/index.html" }\n```';
1473
+ const key = resource === "order" ? "system_id" : "id";
1474
+ if (location === "print-action") {
1475
+ return `\`\`\`json
1476
+ { "target": "${target}", "id": "erp-slip", "label": "ERP slip", "module": "extensions/erp-slip.ts" }
1477
+ \`\`\`
1478
+
1479
+ \`\`\`ts
1480
+ import { defineExtension } from '@pancake-pos/ui-extensions';
1481
+
1482
+ export default defineExtension('${target}', async ({ records }) => {
1483
+ const pages = records.map((record) => \`<section style="break-after: page"><h2>\${record.id}</h2></section>\`);
1484
+ return { html: \`<style>h2 { font: 600 16px sans-serif }</style>\${pages.join('')}\`, title: 'ERP slips' };
1485
+ });
1486
+ \`\`\``;
1487
+ }
1488
+ if (location === "index.column") {
1489
+ return `\`\`\`json
1490
+ { "target": "${target}", "id": "erp-code", "title": "ERP code", "module": "extensions/erp-code.ts" }
1491
+ \`\`\`
1492
+
1493
+ \`\`\`ts
1494
+ import { defineExtension } from '@pancake-pos/ui-extensions';
1495
+
1496
+ export default defineExtension('${target}', async ({ records }) => {
1497
+ const values: Record<string, string> = {};
1498
+ for (const record of records) values[record.${key}] = \`ERP-\${record.${key}}\`;
1499
+ return { values };
1500
+ });
1501
+ \`\`\``;
1502
+ }
1428
1503
  const manifest = location.endsWith("action") ? `{ "target": "${target}", "id": "${id}", "label": "Do something", "presentation": "headless", "module": "extensions/${id}.ts" }` : `{ "target": "${target}", "id": "${id}", "module": "extensions/${id}.${location === "details.block" ? "tsx" : "ts"}" }`;
1429
1504
  const body = location === "before_submit" ? " if (!data.draft) return { ok: true };\n return { ok: true };" : location === "after_save" ? " await pos.api.get(`/shops/${pos.shop.id}/...`);" : location === "details.block" ? ' render(<pos-section heading="\u2026"><pos-text>\u2026</pos-text></pos-section>, document.body);' : " return { message: 'Done' };";
1430
1505
  return `\`\`\`json
@@ -1443,16 +1518,19 @@ function describeTarget(target, all = sections()) {
1443
1518
  if (!targets(API_VERSION).includes(target)) return null;
1444
1519
  const [resource, ...rest] = target.split(".");
1445
1520
  const location = target === "nav.item" || target === "app.page" ? target : rest.join(".");
1446
- const docHeading = target === "nav.item" || target === "app.page" ? target : `\`*.${location}\``;
1447
- const docs = all.filter((section) => section.page === "targets" && (section.heading === docHeading || section.heading.startsWith(`${docHeading} `)));
1448
- const data = DATA[location] ? `${DATA[location]}<'${resource}'>` : target === "app.page" ? "PageData ({ path, query })" : "none (no code)";
1449
- const result = location === "before_submit" ? "BeforeSubmitResult: `{ ok: true }` or `{ ok: false, message }`" : location.endsWith("action") ? "headless: `{ message?, refresh? }` or nothing; modal/fullscreen: render, call pos.close()" : "nothing (blocks and pages render themselves)";
1450
- const types = DATA[location] ? [typeBlock(`${pascal(resource)}Ref`, all), location === "index.action" || location.endsWith("selection-action") || location === "after_save" ? null : typeBlock(`${pascal(resource)}Draft`, all)].filter(Boolean) : [];
1521
+ const plain = target === "nav.item" || target === "app.page";
1522
+ const customer = resource === "customer";
1523
+ const headings = plain ? [target] : customer ? ["`customer.*`", ...location === "details.block" ? [] : [`\`*.${location}\``]] : [`\`*.${location}\``];
1524
+ const docs = all.filter((section) => section.page === "targets" && headings.some((heading) => section.heading === heading || section.heading.startsWith(`${heading} `)));
1525
+ const listData = location === "print-action" || location === "index.column";
1526
+ const data = customer && location.startsWith("details.") ? "CustomerData ({ resource: 'customer', record: CustomerRef })" : DATA[location] ? `${DATA[location]}<'${resource}'>` : target === "app.page" ? "PageData ({ path, query })" : "none (no code)";
1527
+ const result = location === "before_submit" ? "BeforeSubmitResult: `{ ok: true, changes?: { note?, add_tags? } }` or `{ ok: false, message }`" : location === "print-action" ? "PrintResult: `{ html, title? }` (POS strips scripts, then prints)" : location === "index.column" ? `ColumnResult: \`{ values: { [${resource === "order" ? "system_id" : "id"}]: string | number | null } }\`` : location.endsWith("action") ? "headless: `{ message?, refresh? }` or nothing; modal/fullscreen: render, call pos.close()" : "nothing (blocks and pages render themselves)";
1528
+ const types = customer ? [typeBlock("CustomerRef", all)].filter(Boolean) : DATA[location] ? [typeBlock(`${pascal(resource)}Ref`, all), location === "index.action" || location.endsWith("selection-action") || location === "after_save" || listData ? null : typeBlock(`${pascal(resource)}Draft`, all)].filter(Boolean) : [];
1451
1529
  return [
1452
1530
  `# ${target}`,
1453
1531
  `- Context data (\`pos.data\` and the module argument): \`${data}\``,
1454
1532
  `- Returns: ${result}`,
1455
- `- Manifest fields: ${MANIFEST[location] ?? ""}`,
1533
+ `- Manifest fields: ${target === "customer.details.block" ? "`module` (required), `should_render`. No `conditions`." : `${MANIFEST[location] ?? ""}${customer ? " No `conditions` for customer targets." : ""}`}`,
1456
1534
  ...types.length ? ["", "```ts", ...types, "```"] : [],
1457
1535
  "",
1458
1536
  "## Example",
@@ -1476,7 +1554,9 @@ var init_docs = __esm({
1476
1554
  before_submit: "DetailsData",
1477
1555
  "index.action": "IndexData",
1478
1556
  "index.selection-action": "SelectionData",
1479
- after_save: "AfterSaveInput"
1557
+ after_save: "AfterSaveInput",
1558
+ "print-action": "PrintData",
1559
+ "index.column": "ColumnData"
1480
1560
  };
1481
1561
  MANIFEST = {
1482
1562
  "nav.item": "`label` (required, \u2264 30 chars), `page` (required, id of an app.page extension). No module.",
@@ -1486,7 +1566,9 @@ var init_docs = __esm({
1486
1566
  "index.selection-action": "Same fields as `*.details.action`.",
1487
1567
  "details.block": "`module` (required), `conditions`, `should_render`.",
1488
1568
  before_submit: "`module` (required), `timeout_ms` (\u2264 5000), `on_error` (`allow` or `block`).",
1489
- after_save: "`module` (required)."
1569
+ after_save: "`module` (required).",
1570
+ "print-action": "`label` (required, \u2264 40), `module` (required). For order, purchase, export, warehouse_transfer.",
1571
+ "index.column": "`title` (required, \u2264 30), `module` (required), `format` (`text`, `number`, `money`, `date`, `datetime`), `align` (`left`, `center`, `right`), `width` (60\u2013400)."
1490
1572
  };
1491
1573
  pascal = (resource) => resource.split("_").map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join("");
1492
1574
  }
@@ -1601,7 +1683,7 @@ ${hit.text.slice(0, 4e3)}`).join("\n\n---\n\n") };
1601
1683
  description: "A realistic pos.data for a target, built from a real record of the shop (the latest one, or record_id), filtered by the app's access.hidden_order_fields and the signed-in user's permissions. Read-only.",
1602
1684
  inputSchema: {
1603
1685
  type: "object",
1604
- properties: { target: { type: "string", enum: targets(API_VERSION2).filter((t) => t !== "nav.item") }, record_id: { type: "string", description: "Order system_id as used by the Open API (/orders/{system_id}) or record UUID; defaults to the latest record" } },
1686
+ properties: { target: { type: "string", enum: targets(API_VERSION2).filter((t) => t !== "nav.item") }, record_id: { type: "string", description: "Order system_id as used by the Open API (/orders/{system_id}), record UUID or customer id; defaults to the latest record" } },
1605
1687
  required: ["target"]
1606
1688
  },
1607
1689
  annotations: { readOnlyHint: true, openWorldHint: true },
@@ -1610,11 +1692,10 @@ ${hit.text.slice(0, 4e3)}`).join("\n\n---\n\n") };
1610
1692
  if (target === "app.page") return ok({ target, data: { path: "/", query: {} } });
1611
1693
  const [resource, ...rest] = target.split(".");
1612
1694
  const location = rest.join(".");
1613
- if (!RESOURCES2.includes(resource) || !targets(API_VERSION2).includes(target)) return fail(`Unknown target ${target}`);
1695
+ if (!LIST_RESOURCES.includes(resource) || !targets(API_VERSION2).includes(target)) return fail(`Unknown target ${target}`);
1614
1696
  const record = await sampleRecord(resource, args.record_id === void 0 ? void 0 : String(args.record_id));
1615
1697
  if (!record) return fail(`The shop has no ${resource} records the signed-in user can read`);
1616
- const r = resource;
1617
- const data = location === "index.action" ? indexData(r, record) : location === "index.selection-action" ? selectionData(r, [record]) : location === "after_save" ? afterSaveInput(r, record, "edit") : detailsData(r, record);
1698
+ const data = location === "index.action" ? indexData(resource, record) : location === "index.selection-action" || location === "print-action" || location === "index.column" ? selectionData(resource, [record]) : resource === "customer" ? customerData(record) : location === "after_save" ? afterSaveInput(resource, record, "edit") : detailsData(resource, record);
1618
1699
  const hidden = readManifest(ctx.root).access?.hidden_order_fields;
1619
1700
  return ok({ target, data: "draft" in data ? hideOrderFields(data, hidden) : data });
1620
1701
  }
@@ -1800,7 +1881,8 @@ var init_tools = __esm({
1800
1881
  product: "products",
1801
1882
  purchase: "purchases",
1802
1883
  export: "export",
1803
- warehouse_transfer: "transfers"
1884
+ warehouse_transfer: "transfers",
1885
+ customer: "customers"
1804
1886
  };
1805
1887
  META_PATHS = {
1806
1888
  order: { warehouses: "warehouses", tags: "orders/tags", order_sources: "order_source" },
@@ -152,7 +152,9 @@ Details: [Data access](/developers/apps/en/data-access).
152
152
  | Worker UI updates | 60 per second; an extension that exceeds this for 3 seconds in a row is stopped |
153
153
  | `should_render` timeout | 300 ms |
154
154
  | `before_submit` hook timeout | 2 seconds by default (`timeout_ms`), 5 seconds max |
155
- | `after_save` hook and `headless` action run time | 30 seconds |
155
+ | `after_save` hook, `headless` action and `*.print-action` run time | 30 seconds |
156
+ | `*.index.column` timeout | 5 seconds |
157
+ | `*.print-action` HTML | 2 MB |
156
158
  | Open API request rate | Under 30 reads (`GET`) and under 100 writes per second, per app + user + shop + endpoint |
157
159
  | App token lifetime | 15 minutes, never beyond the user's login session (renewed by the SDK) |
158
160
  | Error log per app | The latest 500 errors, kept for 7 days |
@@ -169,7 +171,7 @@ Details: [Data access](/developers/apps/en/data-access).
169
171
  |---|---|
170
172
  | PoC | Sandbox, app tokens, order detail block, order action menu item, iframe page, a sample app written by AI |
171
173
  | Phase 1 | Upload, versions, rollback, visibility permissions, audit, rate limits, component catalog v1, SDK, CLI |
172
- | Phase 2 | `before_submit` hook, Worker UI pages (`render: "worker"`), custom print templates, custom columns, customer blocks, per-app webhooks and service keys |
174
+ | Phase 2 | Available: `before_submit` hook (block saves, set the note and tags), Worker UI pages (`render: "worker"`), app print templates (orders, purchases, exports, transfers), list columns, customer boxes, actions and columns. Not yet: per-app webhooks and service keys, app storage |
173
175
  | Phase 3 | Consider the mobile app, install one app across shops of the same owner |
174
176
 
175
177
  ---
@@ -1144,13 +1146,30 @@ Apply to `*.details.block`.
1144
1146
  | Target | Field | Description |
1145
1147
  |---|---|---|
1146
1148
  | `app.page` | `title` (required) | Page title. |
1147
- | `app.page` | `render` (required) | `iframe` or `worker` (Worker UI pages are planned for phase 2). |
1149
+ | `app.page` | `render` (required) | `iframe` or `worker` (Worker UI page, see [app.page](/developers/apps/en/targets#app-page)). |
1148
1150
  | `app.page` | `entry` | The page's HTML file in the bundle, with `render: "iframe"`. Declare `entry` **or** `url`. |
1149
1151
  | `app.page` | `url` | Self-hosted page: an `https` address on your own server that POS embeds instead of a file in the bundle. No credentials, query or `#`; no Pancake domains, `localhost` or IP addresses. Changing `url` requires a new version. See [Self-hosted pages](/developers/apps/en/runtime-api#self-hosted-pages). |
1150
1152
  | `app.page` | `module` | Required when `render: "worker"`. |
1151
1153
  | `nav.item` | `label` (required) | Label in the POS menu, up to 30 characters. |
1152
1154
  | `nav.item` | `page` (required) | `id` of the `app.page` extension. |
1153
1155
 
1156
+ ### Customer block, print template and list column fields
1157
+
1158
+ | Target | Field | Description |
1159
+ |---|---|---|
1160
+ | `customer.details.block` | `module` (required), `should_render` | As for blocks; no `conditions`. |
1161
+ | `customer.details.action`, `customer.index.action`, `customer.index.selection-action` | As for actions | No `conditions`. |
1162
+ | `customer.index.column` | As for `<resource>.index.column` | `values` is keyed by the customer's `id`. |
1163
+ | `<resource>.print-action` | `label` (required) | Template name in the "Print template" picker, up to 40 characters. |
1164
+ | `<resource>.print-action` | `module` (required) | Module returning `{ html, title? }`. |
1165
+ | `<resource>.index.column` | `title` (required) | Column title, up to 30 characters. |
1166
+ | `<resource>.index.column` | `module` (required) | Module returning `{ values }` keyed by record id (`system_id` for orders, `id` otherwise). |
1167
+ | `<resource>.index.column` | `format` | `text` (default), `number`, `money`, `date`, `datetime`. |
1168
+ | `<resource>.index.column` | `align` | `left`, `center`, `right`. |
1169
+ | `<resource>.index.column` | `width` | Column width in px, 60–400, default 140. |
1170
+
1171
+ See [Extension points](/developers/apps/en/targets#customer) for the context data and return values.
1172
+
1154
1173
  ### Hook fields
1155
1174
 
1156
1175
  Apply to `*.before_submit` and `*.after_save`.
@@ -1242,10 +1261,11 @@ Targets attached to a POS record are named `<resource>.<location>`, for example
1242
1261
  | `<resource>.details.block` | A box inside the detail form | Worker UI |
1243
1262
  | `<resource>.before_submit` | Before a record is created/updated on the detail form | hook, headless |
1244
1263
  | `<resource>.after_save` | After a record is created/updated on the detail form | hook, headless |
1264
+ | `<resource>.index.column` | A column in the list | hook, headless |
1265
+ | `<resource>.print-action` | A print template in the "Print template" picker (except `product`) | headless, returns HTML |
1266
+ | `customer.<location>` | Customer profile and list: `details.block`, `details.action`, `index.action`, `index.selection-action`, `index.column` | See [`customer.*`](#customer) |
1245
1267
 
1246
- `<resource>` is one of `order`, `product`, `purchase`, `export`, `warehouse_transfer`.
1247
-
1248
- Planned: `order.print-action` (custom print templates), `order.index.column` (custom columns in the order list), `customer.details.block`.
1268
+ `<resource>` is one of `order`, `product`, `purchase`, `export`, `warehouse_transfer`. Products have no `print-action` because they only print barcodes.
1249
1269
 
1250
1270
  ## Module convention
1251
1271
 
@@ -1327,6 +1347,7 @@ Example `pos.data` in `purchase.details.action`:
1327
1347
  | `purchase` | `record.id` | `purchase_id`, `purchase_ids` |
1328
1348
  | `export` | `record.id` | `export_id`, `export_ids` |
1329
1349
  | `warehouse_transfer` | `record.id` | `warehouse_transfer_id`, `warehouse_transfer_ids` |
1350
+ | `customer` | `record.id` | `customer_id`, `customer_ids` |
1330
1351
 
1331
1352
  ### Types per resource
1332
1353
 
@@ -1484,6 +1505,29 @@ type PageData = {
1484
1505
 
1485
1506
  - **Iframe pages:** the URL is synced both ways; when the app changes its internal route the POS URL follows, so reloads, the back button and shared links all work. The page connects to POS through the SDK, see [Runtime API › Iframe pages](/developers/apps/en/runtime-api#iframe-pages).
1486
1507
  - **Worker UI pages:** the worker has no history. Change the path with `pos.navigate({ page, path, query })`; POS updates the URL and emits `data-change` with the new `path` and `query` without recreating the worker. The browser back button also emits `data-change`.
1508
+ - Build Worker UI pages with `pos-page`, `pos-tabs`, `pos-filter-bar`, `pos-chart` and the other elements (see [Components](/developers/apps/en/components#worker-ui-pages)). Set the title and primary button on the POS title bar with `pos.page`, as on iframe pages (see [Runtime API › Worker UI pages](/developers/apps/en/runtime-api#worker-ui-pages)).
1509
+
1510
+ ```tsx
1511
+ import { render } from 'preact';
1512
+ import { useEffect, useState } from 'preact/hooks';
1513
+
1514
+ function Report() {
1515
+ const [tab, setTab] = useState(pos.data.query.tab || 'day');
1516
+ useEffect(() => pos.on('data-change', (data) => setTab(data.query.tab || 'day')), []);
1517
+ return (
1518
+ <pos-page heading="Revenue" width="full">
1519
+ <pos-tabs tabs={[{ id: 'day', label: 'By day' }, { id: 'source', label: 'By source' }]} selected={tab} onChange={(e) => pos.navigate({ page: 'report', query: { tab: e.detail } })}>
1520
+ <pos-chart type={tab == 'day' ? 'line' : 'pie'} xKey="label" data={[{ label: '01/10', revenue: 12500000 }]} series={[{ key: 'revenue', label: 'Revenue', format: 'money' }]} />
1521
+ </pos-tabs>
1522
+ </pos-page>
1523
+ );
1524
+ }
1525
+
1526
+ export default function () {
1527
+ pos.page?.setTitle('Revenue report');
1528
+ render(<Report />, document.body);
1529
+ }
1530
+ ```
1487
1531
 
1488
1532
  ## `*.details.action`
1489
1533
 
@@ -1586,19 +1630,148 @@ Runs before a record is created or updated **on its detail form in POS web**.
1586
1630
  type BeforeSubmitInput<R extends Resource> = DetailsData<R>;
1587
1631
 
1588
1632
  type BeforeSubmitResult =
1589
- | { ok: true }
1633
+ | { ok: true; changes?: BeforeSubmitChanges }
1590
1634
  | { ok: false; message: string }; // message up to 200 characters, shown to the user
1635
+
1636
+ type BeforeSubmitChanges = {
1637
+ note?: string; // replaces the note, up to 2,000 characters
1638
+ add_tags?: (number | string)[]; // adds tags by the shop's tag ids, up to 20
1639
+ };
1591
1640
  ```
1592
1641
 
1593
1642
  - Hooks from several apps run in parallel. If any hook returns `ok: false`, the record is not saved; POS shows every `message`.
1594
1643
  - When `timeout_ms` is exceeded or the module fails, `on_error` decides (`allow` saves, `block` stops the save).
1595
- - This version can only **block**; it cannot modify the record.
1644
+ - `changes` can only set the note and add tags. POS applies them to the form before saving and tells the user which app changed the record.
1645
+
1646
+ | Resource | `note` | `add_tags` |
1647
+ |---|---|---|
1648
+ | `order` | Order note | Order tags, following the shop's tag groups as when picked by hand |
1649
+ | `purchase`, `export` | Note | Tags |
1650
+ | `warehouse_transfer` | Note | Not available |
1651
+ | `product` | Not available | Product tags |
1652
+
1653
+ - Fields the resource does not have are ignored. Tag ids the shop does not have, or that are already set, are ignored. Get tag ids from the Open API or the MCP `list_shop_meta` tool.
1654
+ - If two apps return different `note` values, POS stops the save and reports the conflict. Tags from several apps are combined.
1655
+ - An invalid `changes` value is handled like a failing module (by `on_error`).
1656
+
1657
+ ```ts
1658
+ export default defineExtension('order.before_submit', async (data) => {
1659
+ if (data.draft.total_price < 20_000_000) return { ok: true };
1660
+ return { ok: true, changes: { add_tags: [12], note: `${data.draft.note ?? ''}\nLarge order: check before shipping`.trim() } };
1661
+ });
1662
+ ```
1596
1663
 
1597
1664
 
1598
1665
  ### When hooks run
1599
1666
 
1600
1667
  `*.before_submit` and `*.after_save` only run when the user saves on the detail form in POS web. They do **not** run for changes made elsewhere: the status menu on list rows, bulk updates, Excel import, the Open API, the mobile app or marketplace sync. Rules that must always hold belong on the server.
1601
1668
 
1669
+ ## `customer.*`
1670
+
1671
+ Customers have boxes, actions and columns like the other resources, but **no** `before_submit`, `after_save` (the profile saves each field as soon as it changes; there is no shared Save button) and no print templates.
1672
+
1673
+ | Target | Location | Context data |
1674
+ |---|---|---|
1675
+ | `customer.details.block` | A box in the customer profile, right column below Notes and Addresses | `CustomerData` |
1676
+ | `customer.details.action` | An "Apps" button at the top of the customer profile, shown only when an app adds an action here | `CustomerData` |
1677
+ | `customer.index.action` | The "⋯" menu at the end of each customer list row, shown only when an app adds an action here | `IndexData<'customer'>` |
1678
+ | `customer.index.selection-action` | An "Apps" button on the action bar when several customers are selected | `SelectionData<'customer'>` |
1679
+ | `customer.index.column` | A column in the customer list; `values` is keyed by the customer's `id` | `ColumnData<'customer'>` |
1680
+
1681
+ The profile has the box and the actions wherever it opens: the Customers page, the order form and other screens. When the customer list is filtered to deleted customers, app actions and columns are hidden.
1682
+
1683
+ ```ts
1684
+ type CustomerRef = {
1685
+ id: string; // use with the Open API: /shops/{shop_id}/customers/{id}
1686
+ name: string;
1687
+ phone_numbers: string[];
1688
+ tags: (number | string)[];
1689
+ level_id: string | null;
1690
+ assigned_user_id: string | null;
1691
+ updated_at: string | null;
1692
+ };
1693
+
1694
+ type CustomerData = { resource: 'customer'; record: CustomerRef }; // same shape as IndexData<'customer'>
1695
+ ```
1696
+
1697
+ - Manifest: the same fields as the target at the same location for other resources (`*.details.action`, `*.details.block`, `*.index.column`…). Customer targets have **no** `conditions`; use `should_render` to hide by data.
1698
+ - `refresh` of a headless action and `pos.refresh()` reload the customer list page being viewed; a profile opened from the list gets the new data. A profile opened from the order form or other screens does not reload yet.
1699
+ - `navigate` adds `customer_id` or `customer_ids` to the query.
1700
+ - When the customer is edited in the profile, the box receives `data-change` with the new data.
1701
+ - As with `*.details.block`, the box's worker starts when the box scrolls into view; POS shows a placeholder meanwhile.
1702
+
1703
+ ## `*.print-action`
1704
+
1705
+ The app's print template in the "Print template" picker; users pick it like any other template. The module returns HTML, POS cleans it and opens the browser's print dialog.
1706
+
1707
+ | Resource | "Print template" picker |
1708
+ |---|---|
1709
+ | `order` | Action menu of the order form (print on save, Print F4) and the print dialog of the bulk action bar |
1710
+ | `purchase`, `export`, `warehouse_transfer` | The Print button on the bulk action bar |
1711
+
1712
+ Products only print barcodes, so they have no such target.
1713
+
1714
+ ```ts
1715
+ type PrintResource = 'order' | 'purchase' | 'export' | 'warehouse_transfer';
1716
+ type PrintData<R extends PrintResource> = { resource: R; records: RefOf<R>[] }; // 1–500 records
1717
+ type PrintResult = { html: string; title?: string }; // html up to 2 MB
1718
+ ```
1719
+
1720
+ | Manifest | Description |
1721
+ |---|---|
1722
+ | `label` | Template name, up to 40 characters |
1723
+ | `module` | Module returning `PrintResult` |
1724
+
1725
+ - Runs like a headless action: up to 30 seconds, may use `pos.api` and `pos.toast`. On errors or an invalid result POS reports that printing failed and writes the app's error log.
1726
+ - Records outside the app's `access` limits are not sent to the module. Printing with an app template does not increase the order's print count.
1727
+ - The context data only has ids and summary fields (`RefOf<R>`); fetch lines, customers or amounts from the Open API by record id.
1728
+ - **The HTML is cleaned before printing:** `script`, event attributes (`onclick`…), `iframe`, `form`, `link` and `meta` are removed, and the print runs in an iframe without scripts. Use `<style>` or `style="…"` for layout, `@page` for the paper size and `break-after: page` for page breaks.
1729
+ - **Images** follow the `pos-image` rules: `data:image/…;base64,…`, `public/<file name>` in the bundle, or an `https://` URL in `network.allowed_origins`. Other images, fonts and external CSS are blocked. Draw barcodes and QR codes as SVG or `data:` images.
1730
+
1731
+ ```ts
1732
+ export default defineExtension('purchase.print-action', async ({ records }) => {
1733
+ const details = await Promise.all(records.map((purchase) => pos.api.get(`/shops/${pos.shop.id}/purchases/${purchase.id}`)));
1734
+ const pages = details.map(({ data }) => `<section class="slip"><h1>Purchase ${data.display_id}</h1><p>${data.items.length} lines</p></section>`);
1735
+ return {
1736
+ title: 'ERP purchase slips',
1737
+ html: `<style>@page { size: A5; margin: 8mm } .slip { break-after: page }</style>${pages.join('')}`,
1738
+ };
1739
+ });
1740
+ ```
1741
+
1742
+ ## `*.index.column`
1743
+
1744
+ The app's column in a list, placed before the fixed right column (Status) or at the end of the table. Available for all 5 resources. POS calls the module **once for the records shown** on the page, not once per row.
1745
+
1746
+ ```ts
1747
+ type ColumnData<R extends Resource> = { resource: R; records: RefOf<R>[] }; // records on the page, up to 500
1748
+ type ColumnResult = { values: Record<string, string | number | null> }; // keyed by record id
1749
+ ```
1750
+
1751
+ `values` is keyed by the id used with the Open API (see [Record id](#record-id)): `system_id` for orders, `id` for the other resources.
1752
+
1753
+ | Manifest | Description |
1754
+ |---|---|
1755
+ | `title` | Column title, up to 30 characters |
1756
+ | `module` | Module returning `ColumnResult` |
1757
+ | `format` | `text` (default), `number`, `money`, `date`, `datetime` |
1758
+ | `align` | `left`, `center`, `right` |
1759
+ | `width` | Width in px, 60–400, default 140 |
1760
+
1761
+ - Runs like a hook: 5-second timeout, only `pos.api` is available. Batch Open API calls with `Promise.all` or use list endpoints.
1762
+ - Results are remembered per record and update time: when the list reloads (page change, socket updates) the module only runs for new or changed records.
1763
+ - Records missing from `values`, records outside the `access` limits and failed runs leave the cell empty. Strings longer than 200 characters are cut.
1764
+ - App columns are always shown; they are not part of the list's column settings yet.
1765
+
1766
+ ```ts
1767
+ export default defineExtension('order.index.column', async ({ records }) => {
1768
+ const ids = records.map((order) => order.system_id).join(',');
1769
+ const response = await fetch(`https://erp.example.com/pos-orders?ids=${ids}`);
1770
+ const erp: Record<string, string> = await response.json();
1771
+ return { values: erp };
1772
+ });
1773
+ ```
1774
+
1602
1775
  ---
1603
1776
 
1604
1777
  Source: https://pos.pages.fm/developers/apps/components.md
@@ -1901,9 +2074,69 @@ Slot `footer` for the dialog buttons. The `onClose` event fires when the user cl
1901
2074
 
1902
2075
  Actions with `presentation: "modal"` already get a POS modal; do not wrap them in `pos-modal`.
1903
2076
 
1904
- ## Planned additions
2077
+ ## Worker UI pages
2078
+
2079
+ The four elements below build `render: "worker"` pages (see [Extension points › app.page](/developers/apps/en/targets#app-page)); they also work in blocks and modals.
2080
+
2081
+ ### pos-page
2082
+
2083
+ Page frame: heading, description, action buttons and content stacked vertically. The title bar at the top still belongs to POS (set it with `pos.page.setTitle`).
2084
+
2085
+ | Property | Type | Default | Description |
2086
+ |---|---|---|---|
2087
+ | `heading` | `string` | | Heading inside the page |
2088
+ | `description` | `string` | | Text below the heading |
2089
+ | `width` | `'narrow' \| 'default' \| 'full'` | `'default'` | Content width: 720 px, 1,200 px or the full screen |
2090
+
2091
+ Slot `actions` for `pos-button` and `pos-link` at the right of the heading.
2092
+
2093
+ ### pos-tabs
1905
2094
 
1906
- `pos-page`, `pos-tabs`, `pos-filter-bar`, `pos-chart` (POS draws the chart, the app only passes data), for full-screen Worker UI pages.
2095
+ A tab bar. The app keeps the selected tab and renders that tab's content as children.
2096
+
2097
+ | Property | Type | Description |
2098
+ |---|---|---|
2099
+ | `tabs` | `{ id: string; label: string; badge?: number; disabled?: boolean }[]` | Up to 20 tabs; `badge` is a count next to the label |
2100
+ | `selected` | `string` | `id` of the selected tab |
2101
+
2102
+ The `onChange` event: `event.detail` is the selected tab's `id`. POS switches the tab as soon as it is clicked, without waiting for the app.
2103
+
2104
+ ### pos-filter-bar
2105
+
2106
+ A row of filters above a table or chart. Children: `pos-text-field`, `pos-number-field`, `pos-select`, `pos-checkbox`, `pos-date-picker`, `pos-button`. Inputs are drawn compactly on one row, `label` becomes the hint when there is no `placeholder`, and the row wraps when space runs out.
2107
+
2108
+ ```tsx
2109
+ <pos-filter-bar>
2110
+ <pos-text-field label="Order code" value={search} onChange={(e) => setSearch(e.detail)} />
2111
+ <pos-select label="Order source" options={sources} value={source} onChange={(e) => setSource(e.detail)} />
2112
+ <pos-date-picker label="From" value={from} onChange={(e) => setFrom(e.detail)} />
2113
+ <pos-button onClick={reset}>Reset</pos-button>
2114
+ </pos-filter-bar>
2115
+ ```
2116
+
2117
+ ### pos-chart
2118
+
2119
+ A chart drawn by POS; the app only passes data. Colors follow the POS palette.
2120
+
2121
+ | Property | Type | Default | Description |
2122
+ |---|---|---|---|
2123
+ | `type` | `'line' \| 'bar' \| 'area' \| 'pie'` | `'line'` | Chart type |
2124
+ | `data` | `object[]` | `[]` | One object per point, string or number values; up to 500 points and 21 fields |
2125
+ | `xKey` | `string` | | Field for the horizontal axis (slice names for `pie`) |
2126
+ | `series` | `{ key: string; label: string; format?: 'number' \| 'money' }[]` | `[]` | Up to 10 series; `pie` uses the first one |
2127
+ | `stacked` | `boolean` | `false` | Stack bars/areas |
2128
+ | `height` | `number` | `300` | 120–600 px |
2129
+ | `loading` | `boolean` | `false` | |
2130
+ | `emptyText` | `string` | | Text when there is no data |
2131
+
2132
+ ```tsx
2133
+ <pos-chart
2134
+ type="bar"
2135
+ xKey="day"
2136
+ data={[{ day: '01/10', revenue: 12500000, cost: 8000000 }, { day: '02/10', revenue: 9800000, cost: 7100000 }]}
2137
+ series={[{ key: 'revenue', label: 'Revenue', format: 'money' }, { key: 'cost', label: 'Cost', format: 'money' }]}
2138
+ />
2139
+ ```
1907
2140
 
1908
2141
  ---
1909
2142
 
@@ -1956,7 +2189,7 @@ interface Pos {
1956
2189
  | `refresh` | ✓ | ✓ | ✓ | | |
1957
2190
  | `close` | | | ✓ | | |
1958
2191
  | `on('data-change')` | ✓ | | ✓ | | ✓ |
1959
- | `page.*` | | | | | ✓ (iframe) |
2192
+ | `page.*`, `on('primary-action')` | | | | | ✓ |
1960
2193
 
1961
2194
  Calling an API outside its availability throws `PosRuntimeError` with `code: 'unavailable'`.
1962
2195
 
@@ -2097,7 +2330,19 @@ off(); // unsubscribe
2097
2330
  | Event | Fires when | Payload |
2098
2331
  |---|---|---|
2099
2332
  | `data-change` | Context data changes, for example the user edits a detail form (batched over 300 ms) or a page's path changes | the new `pos.data` |
2100
- | `primary-action` | The user clicks the iframe page's primary button | none |
2333
+ | `primary-action` | The user clicks the page's primary button (iframe or Worker UI) | none |
2334
+
2335
+ ## Worker UI pages
2336
+
2337
+ A `render: "worker"` page runs in a worker like a block: it uses the global `pos` and `pos-*` elements (see [Components › Worker UI pages](/developers/apps/en/components#worker-ui-pages)). `pos.page` is available on Worker UI pages as on iframe pages:
2338
+
2339
+ ```ts
2340
+ pos.page.setTitle('Reconciliation 12/05');
2341
+ pos.page.setPrimaryAction({ label: 'Export Excel', loading: false });
2342
+ pos.on('primary-action', exportExcel);
2343
+ ```
2344
+
2345
+ In TypeScript `pos.page` is optional because only pages have it; in a page module use `pos.page!` or `(pos as PosPage).page`.
2101
2346
 
2102
2347
  ## Iframe pages
2103
2348
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pancake-pos/app-cli",
3
- "version": "2026.1.3",
3
+ "version": "2026.1.5",
4
4
  "description": "pos-app command for Pancake POS apps: login, dev, check, build, deploy, versions and an MCP server for AI tools",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
@@ -24,6 +24,6 @@
24
24
  "esbuild": "^0.28.2",
25
25
  "eslint": "^10.12.0",
26
26
  "fflate": "^0.8.3",
27
- "@pancake-pos/eslint-plugin": "2026.1.3"
27
+ "@pancake-pos/eslint-plugin": "2026.1.5"
28
28
  }
29
29
  }
package/runtime/frame.js CHANGED
@@ -37,5 +37,5 @@ window.addEventListener("message", (event) => {
37
37
  else if (data?.t === "kill") kill(data.instance);
38
38
  };
39
39
  });
40
- window.parent.postMessage({ t: "frame-ready", protocol: PROTOCOL_VERSION, runtime: "2026.1.3" }, "*");
40
+ window.parent.postMessage({ t: "frame-ready", protocol: PROTOCOL_VERSION, runtime: "2026.1.5" }, "*");
41
41
  //# sourceMappingURL=frame.js.map
package/runtime/worker.js CHANGED
@@ -1,6 +1,9 @@
1
1
  // ../packages/app-protocol/src/protocol.ts
2
2
  var PROTOCOL_VERSION = 1;
3
3
  var ROOT_NODE_ID = 0;
4
+ function hostEvents(context) {
5
+ return context === "page" ? ["primary-action"] : [];
6
+ }
4
7
  function extensionContext(kind, target) {
5
8
  if (kind === "hook") return "hook";
6
9
  if (kind === "headless") return "action-headless";
@@ -117,6 +120,23 @@ var pos_button_default = defineElement("pos-button", {
117
120
  methods: ["focus", "scrollIntoView"]
118
121
  });
119
122
 
123
+ // ../schema/2026-01/pos-chart.ts
124
+ var KEY = t.string({ max: 100 });
125
+ var POINT = t.record(t.union(t.string({ max: 200 }), t.number(), t.null()), { maxKeys: 21 });
126
+ var pos_chart_default = defineElement("pos-chart", {
127
+ props: {
128
+ type: t.enum("line", "bar", "area", "pie"),
129
+ data: t.array(POINT, { max: 500 }),
130
+ xKey: KEY,
131
+ series: t.array(t.object({ key: KEY, label: t.string({ max: 100 }), format: t.enum("number", "money") }, ["key", "label"]), { max: 10 }),
132
+ stacked: t.boolean(),
133
+ height: t.int({ min: 120, max: 600 }),
134
+ loading: t.boolean(),
135
+ emptyText: t.string({ max: 200 })
136
+ },
137
+ defaults: { type: "line", height: 300, stacked: false, loading: false }
138
+ });
139
+
120
140
  // ../schema/2026-01/pos-checkbox.ts
121
141
  var pos_checkbox_default = defineElement("pos-checkbox", {
122
142
  props: { ...FIELD_PROPS, checked: t.boolean() },
@@ -137,6 +157,11 @@ var pos_date_picker_default = defineElement("pos-date-picker", {
137
157
  // ../schema/2026-01/pos-divider.ts
138
158
  var pos_divider_default = defineElement("pos-divider");
139
159
 
160
+ // ../schema/2026-01/pos-filter-bar.ts
161
+ var pos_filter_bar_default = defineElement("pos-filter-bar", {
162
+ children: { elements: ["pos-text-field", "pos-number-field", "pos-select", "pos-checkbox", "pos-date-picker", "pos-button"] }
163
+ });
164
+
140
165
  // ../schema/2026-01/pos-grid.ts
141
166
  var pos_grid_default = defineElement("pos-grid", {
142
167
  props: { columns: t.int({ min: 1, max: 6 }), gap: GAP },
@@ -202,6 +227,18 @@ var pos_number_field_default = defineElement("pos-number-field", {
202
227
  methods: FIELD_METHODS
203
228
  });
204
229
 
230
+ // ../schema/2026-01/pos-page.ts
231
+ var pos_page_default = defineElement("pos-page", {
232
+ props: {
233
+ heading: t.string({ max: 200 }),
234
+ description: t.string({ max: 500 }),
235
+ width: t.enum("narrow", "default", "full")
236
+ },
237
+ defaults: { width: "default" },
238
+ children: { elements: "any" },
239
+ slots: { actions: ["pos-button", "pos-link"] }
240
+ });
241
+
205
242
  // ../schema/2026-01/pos-section.ts
206
243
  var pos_section_default = defineElement("pos-section", {
207
244
  props: { heading: t.string({ max: 200 }), description: t.string({ max: 500 }) },
@@ -274,6 +311,18 @@ var pos_table_default = defineElement("pos-table", {
274
311
  events: { pagechange: t.object({ page: t.int(), pageSize: t.int() }, ["page", "pageSize"]), rowclick: ROW }
275
312
  });
276
313
 
314
+ // ../schema/2026-01/pos-tabs.ts
315
+ var ID = t.string({ max: 100 });
316
+ var pos_tabs_default = defineElement("pos-tabs", {
317
+ props: {
318
+ tabs: t.array(t.object({ id: ID, label: t.string({ max: 60 }), badge: t.int({ min: 0 }), disabled: t.boolean() }, ["id", "label"]), { max: 20 }),
319
+ selected: ID
320
+ },
321
+ events: { change: ID },
322
+ input: { valueProp: "selected", event: "change", text: false },
323
+ children: { elements: "any" }
324
+ });
325
+
277
326
  // ../schema/2026-01/pos-text.ts
278
327
  var pos_text_default = defineElement("pos-text", {
279
328
  props: { tone: TEXT_TONE, size: t.enum("small", "medium", "large"), weight: t.enum("regular", "semibold", "bold") },
@@ -316,7 +365,12 @@ var __default = defineCatalog([
316
365
  pos_spinner_default,
317
366
  pos_button_default,
318
367
  pos_table_default,
319
- pos_modal_default
368
+ pos_modal_default,
369
+ // Trang Worker UI (giai đoạn 2).
370
+ pos_page_default,
371
+ pos_tabs_default,
372
+ pos_filter_bar_default,
373
+ pos_chart_default
320
374
  ]);
321
375
 
322
376
  // ../schema/index.ts
@@ -1024,6 +1078,9 @@ var PosApiError = class extends Error {
1024
1078
  this.name = "PosApiError";
1025
1079
  }
1026
1080
  };
1081
+ function withData(value) {
1082
+ return Object.defineProperties({}, Object.getOwnPropertyDescriptors(value));
1083
+ }
1027
1084
  function buildQuery(query) {
1028
1085
  if (!query) return "";
1029
1086
  const params = new URLSearchParams();
@@ -1039,6 +1096,7 @@ function createPos(deps) {
1039
1096
  const { init } = deps;
1040
1097
  const now = deps.now ?? Date.now;
1041
1098
  const context = extensionContext(init.kind, init.target);
1099
+ const events = hostEvents(context);
1042
1100
  const listeners = /* @__PURE__ */ new Map();
1043
1101
  let data = init.data;
1044
1102
  let token = { ...init.token };
@@ -1158,18 +1216,28 @@ function createPos(deps) {
1158
1216
  },
1159
1217
  on(event, handler) {
1160
1218
  if (event === "data-change") require2("data-change", "pos.on('data-change')");
1161
- else if (!deps.events?.includes(event)) throw new PosRuntimeError("unavailable", `event ${event} is not available in ${init.target}`);
1219
+ else if (!events.includes(event)) throw new PosRuntimeError("unavailable", `event ${event} is not available in ${init.target}`);
1162
1220
  let set = listeners.get(event);
1163
1221
  if (!set) listeners.set(event, set = /* @__PURE__ */ new Set());
1164
1222
  set.add(handler);
1165
1223
  return () => set.delete(handler);
1166
1224
  }
1167
1225
  };
1226
+ const page = Object.freeze({
1227
+ setTitle(title) {
1228
+ void callHost("page.setTitle", [String(title).slice(0, 200)], "pos.page.setTitle");
1229
+ },
1230
+ setPrimaryAction(action) {
1231
+ const value = action ? { label: String(action.label).slice(0, 50), disabled: !!action.disabled, loading: !!action.loading } : null;
1232
+ void callHost("page.setPrimaryAction", [value], "pos.page.setPrimaryAction");
1233
+ }
1234
+ });
1168
1235
  const emit = (event, payload) => {
1236
+ if (event !== "data-change" && !events.includes(event)) return;
1169
1237
  for (const handler of [...listeners.get(event) ?? []]) handler(payload);
1170
1238
  };
1171
1239
  return {
1172
- pos: Object.freeze(pos),
1240
+ pos: Object.freeze(context === "page" ? Object.defineProperty(withData(pos), "page", { value: page, enumerable: true }) : pos),
1173
1241
  setData(next) {
1174
1242
  data = next;
1175
1243
  emit("data-change", next);
@@ -1355,6 +1423,13 @@ function bootWorker(options) {
1355
1423
  case "ping":
1356
1424
  port.postMessage({ t: "pong", n: message.n });
1357
1425
  return;
1426
+ case "host-event":
1427
+ try {
1428
+ runtime?.emit(message.name);
1429
+ } catch (error) {
1430
+ reportUncaught(error);
1431
+ }
1432
+ return;
1358
1433
  }
1359
1434
  };
1360
1435
  port.start?.();
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../packages/app-protocol/src/protocol.ts", "../../../schema/define.ts", "../../../schema/2026-01/common.ts", "../../../schema/2026-01/pos-badge.ts", "../../../schema/2026-01/pos-banner.ts", "../../../schema/2026-01/pos-button.ts", "../../../schema/2026-01/pos-checkbox.ts", "../../../schema/2026-01/pos-date-picker.ts", "../../../schema/2026-01/pos-divider.ts", "../../../schema/2026-01/pos-grid.ts", "../../../schema/2026-01/pos-heading.ts", "../../../schema/2026-01/pos-image.ts", "../../../schema/2026-01/pos-link.ts", "../../../schema/2026-01/pos-modal.ts", "../../../schema/2026-01/pos-money.ts", "../../../schema/2026-01/pos-number-field.ts", "../../../schema/2026-01/pos-section.ts", "../../../schema/2026-01/pos-select.ts", "../../../schema/2026-01/pos-spinner.ts", "../../../schema/2026-01/pos-stack.ts", "../../../schema/2026-01/pos-table.ts", "../../../schema/2026-01/pos-text.ts", "../../../schema/2026-01/pos-text-field.ts", "../../../schema/2026-01/index.ts", "../../../schema/index.ts", "../../../runtime/worker/events.ts", "../../../runtime/worker/dom.ts", "../../../runtime/worker/pos.ts", "../../../runtime/worker/recorder.ts", "../../../runtime/worker/ui.ts", "../../../runtime/worker/boot.ts", "../../../runtime/worker/main.ts"],
4
- "mappings": "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",
3
+ "sources": ["../../../packages/app-protocol/src/protocol.ts", "../../../schema/define.ts", "../../../schema/2026-01/common.ts", "../../../schema/2026-01/pos-badge.ts", "../../../schema/2026-01/pos-banner.ts", "../../../schema/2026-01/pos-button.ts", "../../../schema/2026-01/pos-chart.ts", "../../../schema/2026-01/pos-checkbox.ts", "../../../schema/2026-01/pos-date-picker.ts", "../../../schema/2026-01/pos-divider.ts", "../../../schema/2026-01/pos-filter-bar.ts", "../../../schema/2026-01/pos-grid.ts", "../../../schema/2026-01/pos-heading.ts", "../../../schema/2026-01/pos-image.ts", "../../../schema/2026-01/pos-link.ts", "../../../schema/2026-01/pos-modal.ts", "../../../schema/2026-01/pos-money.ts", "../../../schema/2026-01/pos-number-field.ts", "../../../schema/2026-01/pos-page.ts", "../../../schema/2026-01/pos-section.ts", "../../../schema/2026-01/pos-select.ts", "../../../schema/2026-01/pos-spinner.ts", "../../../schema/2026-01/pos-stack.ts", "../../../schema/2026-01/pos-table.ts", "../../../schema/2026-01/pos-tabs.ts", "../../../schema/2026-01/pos-text.ts", "../../../schema/2026-01/pos-text-field.ts", "../../../schema/2026-01/index.ts", "../../../schema/index.ts", "../../../runtime/worker/events.ts", "../../../runtime/worker/dom.ts", "../../../runtime/worker/pos.ts", "../../../runtime/worker/recorder.ts", "../../../runtime/worker/ui.ts", "../../../runtime/worker/boot.ts", "../../../runtime/worker/main.ts"],
4
+ "mappings": "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",
5
5
  "names": ["require"]
6
6
  }