@tolinax/ayoune-interfaces 2026.61.0 → 2026.62.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.
package/data/modelsAndRights.js
CHANGED
|
@@ -7933,56 +7933,21 @@ const modelsAndRights = [
|
|
|
7933
7933
|
updateBy: "_id",
|
|
7934
7934
|
availableInSDK: false,
|
|
7935
7935
|
},
|
|
7936
|
-
// ─── Desktop Client —
|
|
7937
|
-
//
|
|
7938
|
-
//
|
|
7939
|
-
//
|
|
7940
|
-
// .
|
|
7941
|
-
//
|
|
7942
|
-
//
|
|
7936
|
+
// ─── Desktop Client module — states + rights per view ──────────────
|
|
7937
|
+
// desktopclient is a module in its own right (module: "desktopclient").
|
|
7938
|
+
// Each nav entry in the desktop client IS a state — registered via
|
|
7939
|
+
// registerModuleStates at config-api boot, same pattern as every other
|
|
7940
|
+
// module. The right string mirrors the state title, e.g. `desktopclient.sync`
|
|
7941
|
+
// — ayounestates has the main state at that title, ayounepackages.modules
|
|
7942
|
+
// carries it as a grantable right, and ayouneroles auto-sync via
|
|
7943
|
+
// registerModuleRights('desktopclient', ..., additionalRights).
|
|
7943
7944
|
//
|
|
7944
|
-
//
|
|
7945
|
-
//
|
|
7946
|
-
//
|
|
7947
|
-
//
|
|
7948
|
-
//
|
|
7949
|
-
|
|
7950
|
-
plural: "DesktopClient",
|
|
7951
|
-
singular: "DesktopClient",
|
|
7952
|
-
module: "desktopclient",
|
|
7953
|
-
right: "desktopclient",
|
|
7954
|
-
readOnly: true,
|
|
7955
|
-
importable: false,
|
|
7956
|
-
allowDuplicate: false,
|
|
7957
|
-
updateBy: "_id",
|
|
7958
|
-
availableInSDK: false,
|
|
7959
|
-
labelKey: "desktopclient.label",
|
|
7960
|
-
descriptionKey: "desktopclient.description",
|
|
7961
|
-
childRights: [
|
|
7962
|
-
// Shell
|
|
7963
|
-
"desktopclient.view", // base — required to launch the app at all
|
|
7964
|
-
"desktopclient.home", // dashboard tiles
|
|
7965
|
-
"desktopclient.settings", // settings page
|
|
7966
|
-
"desktopclient.machine-mode", // headless agent mode (unattended VM)
|
|
7967
|
-
// Feature modules (each gates a top-level nav entry)
|
|
7968
|
-
"desktopclient.sync", // paired: sync-api.* rights
|
|
7969
|
-
"desktopclient.machines", // paired: config.computingentities
|
|
7970
|
-
"desktopclient.nfc", // paired: config.nfcactions, config.nfcprofiles
|
|
7971
|
-
"desktopclient.barcode", // renderer-only, no API right
|
|
7972
|
-
"desktopclient.iot", // paired: config.iotdevices
|
|
7973
|
-
"desktopclient.communication", // paired: chat.*, communication.*
|
|
7974
|
-
"desktopclient.printers", // paired: config.printers
|
|
7975
|
-
"desktopclient.process-agent", // paired: config.computingentities
|
|
7976
|
-
"desktopclient.devops", // paired: devops.*
|
|
7977
|
-
"desktopclient.terminal", // CLI runner — paired: whatever `ay` hits
|
|
7978
|
-
// Cross-app integrations
|
|
7979
|
-
"desktopclient.copilot", // AI copilot sidebar panel
|
|
7980
|
-
"desktopclient.notifications", // native toast / notification-bell
|
|
7981
|
-
"desktopclient.quick-actions", // tray quick-action shortcuts
|
|
7982
|
-
"desktopclient.yubikey", // YubiKey approval dialog
|
|
7983
|
-
"desktopclient.clipboard-sync", // cross-device clipboard
|
|
7984
|
-
],
|
|
7985
|
-
},
|
|
7945
|
+
// No pseudo-entities — desktopclient has no DB-backed entities. The
|
|
7946
|
+
// state catalogue lives in
|
|
7947
|
+
// domains/config/api/src/lib/registerDesktopClientStates.ts
|
|
7948
|
+
// and the right catalogue is the `desktopClientRights` export there
|
|
7949
|
+
// (single source of truth, passed to registerModuleRights as
|
|
7950
|
+
// additionalRights).
|
|
7986
7951
|
];
|
|
7987
7952
|
exports.modelsAndRights = modelsAndRights;
|
|
7988
7953
|
exports.default = modelsAndRights;
|
|
@@ -38,6 +38,10 @@ interface INotificationAttachmentBase {
|
|
|
38
38
|
* cover, customer branding. Absolute URL (served from media CDN or
|
|
39
39
|
* customer-meta). */
|
|
40
40
|
image?: string;
|
|
41
|
+
/** Per-attachment action buttons. Worker fills from
|
|
42
|
+
* `defaultActionsByAttachmentType` when producer didn't set any — see
|
|
43
|
+
* INotificationAction for the discriminated-union shape. */
|
|
44
|
+
actions?: import("./INotificationAction").INotificationAction[];
|
|
41
45
|
}
|
|
42
46
|
export interface ICalendarEntryPreview extends INotificationAttachmentBase {
|
|
43
47
|
summary?: string;
|
|
@@ -1,4 +1,21 @@
|
|
|
1
1
|
import { IDefaultFields } from "./IDefaultFields";
|
|
2
|
+
/**
|
|
3
|
+
* Per-policy control for the core's `autoEnrichAttachments()` helper.
|
|
4
|
+
* Defaults to `{ consumer: true, self: true }` — opt-out rather than opt-in
|
|
5
|
+
* so every policy that's ever rendered gets rich notifications by default.
|
|
6
|
+
* Set `consumer: false` for policies where the consumer card would leak
|
|
7
|
+
* privacy-sensitive data to recipients who shouldn't see it. Set `self: false`
|
|
8
|
+
* for event types where the entity itself is context, not the main card
|
|
9
|
+
* (e.g. MailLogs, FormSubmissions, Leads — already excluded by SELF_ATTACH_TYPES
|
|
10
|
+
* in core, but an extra per-policy kill-switch for edge cases).
|
|
11
|
+
*/
|
|
12
|
+
export interface INotificationAutoEnrichConfig {
|
|
13
|
+
/** Auto-attach consumer card when entity/data has _consumerID. Default true. */
|
|
14
|
+
consumer?: boolean;
|
|
15
|
+
/** Auto-attach entity itself as main card for SELF_ATTACH_TYPES (Task,
|
|
16
|
+
* Invoice, Offer, Contract, SupplierOrder, CalendarEntry). Default true. */
|
|
17
|
+
self?: boolean;
|
|
18
|
+
}
|
|
2
19
|
export interface INotificationPolicy extends IDefaultFields {
|
|
3
20
|
_customerID: ObjectId;
|
|
4
21
|
name: string;
|
|
@@ -14,4 +31,7 @@ export interface INotificationPolicy extends IDefaultFields {
|
|
|
14
31
|
};
|
|
15
32
|
active?: boolean;
|
|
16
33
|
order?: number;
|
|
34
|
+
/** Opt-out toggles for auto-attach-on-enqueue. See
|
|
35
|
+
* INotificationAutoEnrichConfig. Omit to accept defaults (both true). */
|
|
36
|
+
autoEnrich?: INotificationAutoEnrichConfig;
|
|
17
37
|
}
|