@aglyn/aglyn 1.0.0-beta.192 → 1.0.0-beta.193

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aglyn/aglyn",
3
- "version": "1.0.0-beta.192",
3
+ "version": "1.0.0-beta.193",
4
4
  "license": "Apache-2.0",
5
5
  "homepage": "https://aglyn.com",
6
6
  "repository": {
@@ -33,16 +33,16 @@
33
33
  "./package.json": "./package.json"
34
34
  },
35
35
  "dependencies": {
36
- "@aglyn/shared-data-enums": "1.0.0-beta.192",
37
- "@aglyn/shared-data-mdi": "1.0.0-beta.192",
38
- "@aglyn/shared-data-types": "1.0.0-beta.192",
39
- "@aglyn/shared-util-email": "1.0.0-beta.192",
40
- "@aglyn/shared-util-first-touch": "1.0.0-beta.192",
41
- "@aglyn/shared-util-http": "1.0.0-beta.192",
42
- "@aglyn/shared-util-logger": "1.0.0-beta.192",
43
- "@aglyn/shared-util-timestamp": "1.0.0-beta.192",
44
- "@aglyn/shared-util-tools": "1.0.0-beta.192",
45
- "@aglyn/shared-util-vendor": "1.0.0-beta.192",
36
+ "@aglyn/shared-data-enums": "1.0.0-beta.193",
37
+ "@aglyn/shared-data-mdi": "1.0.0-beta.193",
38
+ "@aglyn/shared-data-types": "1.0.0-beta.193",
39
+ "@aglyn/shared-util-email": "1.0.0-beta.193",
40
+ "@aglyn/shared-util-first-touch": "1.0.0-beta.193",
41
+ "@aglyn/shared-util-http": "1.0.0-beta.193",
42
+ "@aglyn/shared-util-logger": "1.0.0-beta.193",
43
+ "@aglyn/shared-util-timestamp": "1.0.0-beta.193",
44
+ "@aglyn/shared-util-tools": "1.0.0-beta.193",
45
+ "@aglyn/shared-util-vendor": "1.0.0-beta.193",
46
46
  "@data-driven-forms/react-form-renderer": "^4.2.0",
47
47
  "@msgpack/msgpack": "^3.1.3",
48
48
  "@types/unist": "^3.0.3",
@@ -1500,7 +1500,7 @@ export const ASSIST_DOCS_INDEX = [
1500
1500
  title: 'Reusable components',
1501
1501
  heading: 'Manage',
1502
1502
  anchor: '#manage',
1503
- text: 'From the site\'s Components page you can rename, edit the description, open the besigner, or delete a reusable component. The component\'s ID is persisted inside every screen that places it and never changes.\nYou can also give a component its own icon, from the same picker the besigner uses for icon elements — either in the Edit component dialog on the Components page, or on the component\'s detail page. Every instance is then marked with it: in the hierarchy, on the canvas badge, and in the element drawer under Your components. A page assembled from promoted sections becomes readable at a glance. Components without an icon keep the generic package glyph.'
1503
+ text: 'From the site\'s Components page you can rename, edit the description, open the besigner, or delete a reusable component. The component\'s ID is persisted inside every screen that places it and never changes.\nYou can also give a component its own icon, from the same picker the besigner uses for icon elements — either in the Edit component dialog on the Components page, or on the component\'s detail page. Every instance is then marked with it: in the hierarchy, on the canvas badge, and in the element drawer under Your components. A page assembled from promoted sections becomes readable at a glance. Components without an icon keep the generic package glyph.\nFilters in the Components table\'s toolbar narrows the list by name, Used in (page or email), ID, description, or date, and Search matches any word of the name, ID, or description. Each filter in force shows as a chip above the table. The list pages as you go, so a filter looks through the components read so far and reads further as you page on.'
1504
1504
  },
1505
1505
  {
1506
1506
  path: '/building-sites/besigner/reusable-components',
@@ -2258,6 +2258,13 @@ export const ASSIST_DOCS_INDEX = [
2258
2258
  anchor: '#what-a-layout-is',
2259
2259
  text: 'A layout holds the furniture many screens have in common — header, navigation, footer, a cookie banner, a site-wide search box. Bind a screen to a layout in the Besigner and the layout chrome wraps the screen both in the editor and on the published site.\nBecause the chrome lives in one document, changing it changes every screen bound to it at once. That is the point, and it is also the thing to keep in mind before you publish: see Versions & scheduled publishing.'
2260
2260
  },
2261
+ {
2262
+ path: '/building-sites/screens-and-layouts/layouts',
2263
+ title: 'Layouts',
2264
+ heading: 'Find a layout',
2265
+ anchor: '#find-a-layout',
2266
+ text: 'The site\'s Layouts page lists every layout. Filters in the table\'s toolbar narrows it by display name, ID, description, or the date it was created or last updated, and Search matches any word of the name, ID, or description. Each filter in force shows as a chip above the table; remove a chip to drop it. The list pages as you go, so a filter looks through the layouts read so far and reads further as you page on; the table says so while more remain.'
2267
+ },
2261
2268
  {
2262
2269
  path: '/building-sites/screens-and-layouts/layouts',
2263
2270
  title: 'Layouts',
@@ -2767,7 +2774,7 @@ export const ASSIST_DOCS_INDEX = [
2767
2774
  title: 'Build a blog',
2768
2775
  heading: '2. Write entries',
2769
2776
  anchor: '#2-write-entries',
2770
- text: 'Add rich blog entries with images, a live preview, and scheduling so posts publish at the right time.\nNew entry, or clicking any row in the entries table, opens that entry on its own page. The page has its own address, so you can bookmark an entry you\'re mid-way through or paste the link to a colleague and they land on the same one. Back to entries — or your browser\'s Back button — returns to the list; if the entry has edits you haven\'t saved, you\'re asked before they\'re dropped.\nThe table opens with the most recently Published entries first. Click the Title, Status, Updated or Published header to sort by that column, and again to reverse it. Entries with nothing in the sorted column, such as a draft with no published date, follow the rest in either direction rather than dropping out. Filters in the table\'s toolbar narrows the list to one Status or one Category across the whole collection, not only the page you\'re on.\nEach entry carries, besides the title, excerpt, cover image, and markdown body:\n- Category — a single bucket (e.g. Guides) used for filtering and related posts, picked from the collection\'s category list (see below), never typed free-form.\n- Tags — comma-separated labels (e.g. nextjs, seo).\n- Author — the entry\'s byline: an author record from the Authors tab or a one-off custom byline. An entry needs one to be published or scheduled; a draft can be saved without it. See Authors.\n- SEO title / SEO description — search & social overrides; they fall back to the title and excerpt when blank.\n- Featured video — a film for the entry\'s page: one from your media library, a video link, or a Wistia link. It plays where the cover image would sit. See Build a video collection.\nScheduling\nThe same three publication controls live in two places, so you can decide when a '
2777
+ text: 'Add rich blog entries with images, a live preview, and scheduling so posts publish at the right time.\nNew entry, or clicking any row in the entries table, opens that entry on its own page. The page has its own address, so you can bookmark an entry you\'re mid-way through or paste the link to a colleague and they land on the same one. Back to entries — or your browser\'s Back button — returns to the list; if the entry has edits you haven\'t saved, you\'re asked before they\'re dropped.\nThe table opens with the most recently Published entries first. Click the Title, Status, Updated or Published header to sort by that column, and again to reverse it. Entries with nothing in the sorted column, such as a draft with no published date, follow the rest in either direction rather than dropping out. Filters in the table\'s toolbar narrows the list to one Status or one Category across the whole collection, not only the page you\'re on, and the filter in force shows as a chip above the table.\nEach entry carries, besides the title, excerpt, cover image, and markdown body:\n- Category — a single bucket (e.g. Guides) used for filtering and related posts, picked from the collection\'s category list (see below), never typed free-form.\n- Tags — comma-separated labels (e.g. nextjs, seo).\n- Author — the entry\'s byline: an author record from the Authors tab or a one-off custom byline. An entry needs one to be published or scheduled; a draft can be saved without it. See Authors.\n- SEO title / SEO description — search & social overrides; they fall back to the title and excerpt when blank.\n- Featured video — a film for the entry\'s page: one from your media library, a video link, or a Wistia link. It plays where the cover image would sit. See Build a video collection.\nScheduling\nThe same three publicati'
2771
2778
  },
2772
2779
  {
2773
2780
  path: '/building-sites/site-templates/build-a-blog',
@@ -2879,7 +2886,7 @@ export const ASSIST_DOCS_INDEX = [
2879
2886
  title: 'Your templates library',
2880
2887
  heading: '',
2881
2888
  anchor: '',
2882
- text: 'Your templates library\nTemplates are saved starting points. A template is inert: nothing in your library is on your live site until you deliberately use it. That is the whole point of the library — it means installing something from the marketplace can never publish pages to a site you are running.\nFind it at Templates in a site\'s navigation, alongside Screens, Layouts and Components — the three things a template can produce.\nA template is a copy, not a live link: once you use one, the result is yours outright and editing the template never changes what you already made. If you want one edit to update every place a thing appears, you want a reusable component. If you want one frame around many pages, you want a layout.'
2889
+ text: 'Your templates library\nTemplates are saved starting points. A template is inert: nothing in your library is on your live site until you deliberately use it. That is the whole point of the library — it means installing something from the marketplace can never publish pages to a site you are running.\nFind it at Templates in a site\'s navigation, alongside Screens, Layouts and Components — the three things a template can produce.\nA template is a copy, not a live link: once you use one, the result is yours outright and editing the template never changes what you already made. If you want one edit to update every place a thing appears, you want a reusable component. If you want one frame around many pages, you want a layout.\nFilters in the library\'s toolbar narrows it by Kind (page, component, or layout), Source (marketplace, starter, or saved here), name, description, or date, and Search matches any word of the name or description. Filters look at every template the library read, and each one in force shows as a chip above the table.'
2883
2890
  },
2884
2891
  {
2885
2892
  path: '/building-sites/site-templates/templates-library',
@@ -6918,7 +6925,7 @@ export const ASSIST_DOCS_INDEX = [
6918
6925
  title: 'Member accounts',
6919
6926
  heading: '5. Manage members from the console',
6920
6927
  anchor: '#5-manage-members-from-the-console',
6921
- text: 'The site\'s Users page has two cards: Site users (your members — this guide) and Users (console collaborators). The Site users card is searchable and paged, newest first, with Email, Name, Joined, and Status columns. For members who may open the CRM, each row\'s ⋮ menu holds Open in CRM — the member\'s contact, found by the address they signed up with.\nClick a member to open the member drawer:\n- Profile — email, display name, and join date, with a Suspended chip when applicable.\n- Lifetime purchases — charged order totals minus refunds (pending and canceled orders excluded).\n- Orders — the member\'s payment history, newest first: order number, status, total, date, any refunded amount, and the Stripe payment reference. Needs the editor or admin role on the site.\n- Subscriptions — each with its renewal date and status chip.\n- Addresses — the member\'s saved addresses.\nSuspend & reactivate\nThe drawer\'s action button flips between Suspend member and Reactivate member, each behind a confirmation:\n- Suspend — the member can no longer sign in on the published site (they see an "account suspended" message), and their account page signs out on its next load. Orders, subscriptions, and history are all kept.\n- Reactivate — restores access with the member\'s existing password.\nBoth actions are recorded in the site\'s activity log.\nPassword help\nThe drawer\'s Password section gets a member back into their account. This is their sign-in for this site only — it has nothing to do with any Aglyn console account the same person might also have.\n- Send password reset email — emails the member a link to the site\'s /recover page. The link works once and expires after an hour, and their current password keeps working until they use it. This is the option to reach for. Capped at a few sends per hour '
6928
+ text: 'The site\'s Users page has two cards: Site users (your members — this guide) and Users (console collaborators). The Site users card is searchable and paged, newest first, with Email, Name, Joined, and Status columns. Filters in the table\'s toolbar narrows it by email, name, or join date, one filter at a time, across every member rather than the page on screen; the filter in force shows as a chip above the table. Status is not a filter, because an active member carries no status to match. For members who may open the CRM, each row\'s ⋮ menu holds Open in CRM — the member\'s contact, found by the address they signed up with.\nClick a member to open the member drawer:\n- Profile — email, display name, and join date, with a Suspended chip when applicable.\n- Lifetime purchases — charged order totals minus refunds (pending and canceled orders excluded).\n- Orders — the member\'s payment history, newest first: order number, status, total, date, any refunded amount, and the Stripe payment reference. Needs the editor or admin role on the site.\n- Subscriptions — each with its renewal date and status chip.\n- Addresses — the member\'s saved addresses.\nSuspend & reactivate\nThe drawer\'s action button flips between Suspend member and Reactivate member, each behind a confirmation:\n- Suspend — the member can no longer sign in on the published site (they see an "account suspended" message), and their account page signs out on its next load. Orders, subscriptions, and history are all kept.\n- Reactivate — restores access with the member\'s existing password.\nBoth actions are recorded in the site\'s activity log.\nPassword help\nThe drawer\'s Password section gets a member back into their account. This is their sign-in for this site only — it has nothing to do with any Aglyn console account the same per'
6922
6929
  },
6923
6930
  {
6924
6931
  path: '/guides/member-accounts',
@@ -8346,7 +8353,7 @@ export const ASSIST_DOCS_INDEX = [
8346
8353
  title: 'Invite teammates',
8347
8354
  heading: 'Activity log',
8348
8355
  anchor: '#activity-log',
8349
- text: 'The organization\'s Team page shows a Recent Activity feed — renames, workspace URL changes, ownership transfers, members added/removed or re-roled, and invites sent, revoked, or accepted — each with who did it and when.\nVisible to members whose role carries the Activity & audit log permission. Owners and admins have it by default; viewers do not, and neither does a custom role until you grant it. Revoking it does not merely hide the card — the feed is served by an API that checks the permission, so a member without it cannot read the log by any route.\nEntries name the thing that changed and link straight to it, so "Saved the screen — Home" takes you to that screen. Entries recorded before this shipped show a plain description instead of a link.\nAI actions in the log {#ai-actions}\nEverything the AI does in your workspace is recorded in the same feed, attributed to the member who asked for it — or to nobody, when nothing a person did caused it (a generation that paused because the included band ran out, or the add-on leaving at the end of a billing period). The feed shows an AI chip whenever the page holds one of these rows; press it to see only them.\n| Entry | What it records |\n| Started an AI generation | A generation was briefed: what it builds, how long the brief was, and the site. |\n| AI generated | One thing a generation produced — a screen, a layout, a component — linked like any other change. A site\'s own activity carries a copy. |\n| Canceled an AI generation | A generation was stopped before it finished. |\n| AI generation paused for input | A generation stopped and asked for a person, and why: the included band, the overage ceiling, the monthly message cap, or the job\'s own budget. |\n| Applied AI edits | Edits from a proposal landed on a screen version, with a co'
8356
+ text: 'The organization\'s Team page shows a Recent Activity feed — renames, workspace URL changes, ownership transfers, members added/removed or re-roled, and invites sent, revoked, or accepted — each with who did it and when.\nVisible to members whose role carries the Activity & audit log permission. Owners and admins have it by default; viewers do not, and neither does a custom role until you grant it. Revoking it does not merely hide the card — the feed is served by an API that checks the permission, so a member without it cannot read the log by any route.\nEntries name the thing that changed and link straight to it, so "Saved the screen — Home" takes you to that screen. Entries recorded before this shipped show a plain description instead of a link.\nA site\'s own activity log, on its Setup page, filters through its table\'s toolbar: Filters narrows it to one Action (or several, with is any of) or to entries before or after a date, across the whole log rather than the page on screen. It has no search box, because nothing can search the whole log by word.\nAI actions in the log {#ai-actions}\nEverything the AI does in your workspace is recorded in the same feed, attributed to the member who asked for it — or to nobody, when nothing a person did caused it (a generation that paused because the included band ran out, or the add-on leaving at the end of a billing period). The feed shows an AI chip whenever the page holds one of these rows; press it to see only them.\n| Entry | What it records |\n| Started an AI generation | A generation was briefed: what it builds, how long the brief was, and the site. |\n| AI generated | One thing a generation produced — a screen, a layout, a component — linked like any other change. A site\'s own activity carries a copy. |\n| Canceled an AI generation | '
8350
8357
  },
8351
8358
  {
8352
8359
  path: '/workspace-and-billing/teams-and-roles/invite-teammates',
@@ -8423,7 +8430,7 @@ export const ASSIST_DOCS_INDEX = [
8423
8430
  title: 'Teams, Roles & Membership',
8424
8431
  heading: '',
8425
8432
  anchor: '',
8426
- text: 'Teams, Roles & Membership\nAglyn has two kinds of people: your team (who build and manage the site) and site members (visitors who sign up to your site). Both are permission-aware.\nPlan availability Paid. Seats are metered per tier; see Billing & plans.'
8433
+ text: 'Teams, Roles & Membership\nAglyn has two kinds of people: your team (who build and manage the site) and site members (visitors who sign up to your site). Both are permission-aware.\nPlan availability Paid. Seats are metered per tier; see Billing & plans.\nThe Team page\'s roster filters through its table\'s toolbar: Filters narrows it by Role or by Access (team manager or site collaborator), and Search matches any word of a member\'s name, email, or title. Each filter in force shows as a chip above the table. The role pickers and Permissions in each row work as before.'
8427
8434
  },
8428
8435
  {
8429
8436
  path: '/workspace-and-billing/teams-and-roles/overview',