@objectstack/platform-objects 4.0.5 → 4.1.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/dist/apps/index.d.mts +16 -48
- package/dist/apps/index.d.ts +16 -48
- package/dist/apps/index.js +139 -217
- package/dist/apps/index.js.map +1 -1
- package/dist/apps/index.mjs +140 -212
- package/dist/apps/index.mjs.map +1 -1
- package/dist/audit/index.d.mts +38990 -51
- package/dist/audit/index.d.ts +38990 -51
- package/dist/audit/index.js +1428 -0
- package/dist/audit/index.js.map +1 -1
- package/dist/audit/index.mjs +1417 -1
- package/dist/audit/index.mjs.map +1 -1
- package/dist/identity/index.d.mts +14869 -2802
- package/dist/identity/index.d.ts +14869 -2802
- package/dist/identity/index.js +1090 -6
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/index.mjs +1089 -7
- package/dist/identity/index.mjs.map +1 -1
- package/dist/index.d.mts +8 -7
- package/dist/index.d.ts +8 -7
- package/dist/index.js +3652 -1482
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3633 -1465
- package/dist/index.mjs.map +1 -1
- package/dist/integration/index.d.mts +2905 -0
- package/dist/integration/index.d.ts +2905 -0
- package/dist/integration/index.js +140 -0
- package/dist/integration/index.js.map +1 -0
- package/dist/integration/index.mjs +138 -0
- package/dist/integration/index.mjs.map +1 -0
- package/dist/metadata/index.d.mts +577 -21181
- package/dist/metadata/index.d.ts +577 -21181
- package/dist/metadata/index.js +29 -619
- package/dist/metadata/index.js.map +1 -1
- package/dist/metadata/index.mjs +30 -615
- package/dist/metadata/index.mjs.map +1 -1
- package/dist/security/index.d.mts +7278 -46
- package/dist/security/index.d.ts +7278 -46
- package/dist/security/index.js +540 -0
- package/dist/security/index.js.map +1 -1
- package/dist/security/index.mjs +539 -1
- package/dist/security/index.mjs.map +1 -1
- package/dist/system/index.d.mts +8409 -0
- package/dist/system/index.d.ts +8409 -0
- package/dist/system/index.js +395 -0
- package/dist/system/index.js.map +1 -0
- package/dist/system/index.mjs +391 -0
- package/dist/system/index.mjs.map +1 -0
- package/package.json +13 -8
- package/dist/tenant/index.d.mts +0 -18464
- package/dist/tenant/index.d.ts +0 -18464
- package/dist/tenant/index.js +0 -741
- package/dist/tenant/index.js.map +0 -1
- package/dist/tenant/index.mjs +0 -733
- package/dist/tenant/index.mjs.map +0 -1
- /package/dist/{state-machine.zod-BFg-VE0M.d-Ek3_yo9P.d.mts → state-machine.zod-BNanU03M.d-Ek3_yo9P.d.mts} +0 -0
- /package/dist/{state-machine.zod-BFg-VE0M.d-Ek3_yo9P.d.ts → state-machine.zod-BNanU03M.d-Ek3_yo9P.d.ts} +0 -0
package/dist/apps/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/apps/setup.app.ts","../../src/apps/views/users.view.ts","../../src/apps/views/organizations.view.ts","../../src/apps/views/roles.view.ts","../../src/apps/views/sessions.view.ts","../../src/apps/views/audit_logs.view.ts","../../src/apps/views/package_installations.view.ts","../../src/apps/dashboards/system_overview.dashboard.ts","../../src/apps/dashboards/security_overview.dashboard.ts"],"names":["Dashboard"],"mappings":";;;;;AA2BO,IAAM,SAAA,GAAiB;AAAA,EAC5B,IAAA,EAAM,OAAA;AAAA,EACN,KAAA,EAAO,OAAA;AAAA,EACP,WAAA,EAAa,sCAAA;AAAA,EACb,IAAA,EAAM,UAAA;AAAA,EACN,MAAA,EAAQ,IAAA;AAAA,EACR,SAAA,EAAW,KAAA;AAAA,EACX,QAAA,EAAU;AAAA,IACR,YAAA,EAAc;AAAA;AAAA,GAChB;AAAA,EACA,mBAAA,EAAqB,CAAC,cAAc,CAAA;AAAA,EACpC,UAAA,EAAY;AAAA,IACV;AAAA,MACE,EAAA,EAAI,gBAAA;AAAA,MACJ,IAAA,EAAM,OAAA;AAAA,MACN,KAAA,EAAO,UAAA;AAAA,MACP,IAAA,EAAM,kBAAA;AAAA,MACN,QAAA,EAAU;AAAA,QACR,EAAE,EAAA,EAAI,qBAAA,EAAuB,IAAA,EAAM,WAAA,EAAa,OAAO,iBAAA,EAAmB,aAAA,EAAe,iBAAA,EAAmB,IAAA,EAAM,UAAA,EAAW;AAAA,QAC7H,EAAE,EAAA,EAAI,uBAAA,EAAyB,IAAA,EAAM,WAAA,EAAa,OAAO,mBAAA,EAAqB,aAAA,EAAe,mBAAA,EAAqB,IAAA,EAAM,QAAA;AAAS;AACnI,KACF;AAAA,IACA;AAAA,MACE,EAAA,EAAI,sBAAA;AAAA,MACJ,IAAA,EAAM,OAAA;AAAA,MACN,KAAA,EAAO,gBAAA;AAAA,MACP,IAAA,EAAM,QAAA;AAAA,MACN,QAAA,EAAU;AAAA,QACR,EAAE,EAAA,EAAI,WAAA,EAAa,IAAA,EAAM,QAAA,EAAU,OAAO,OAAA,EAAS,UAAA,EAAY,UAAA,EAAY,IAAA,EAAM,OAAA,EAAQ;AAAA,QACzF,EAAE,EAAA,EAAI,mBAAA,EAAqB,IAAA,EAAM,QAAA,EAAU,OAAO,eAAA,EAAiB,UAAA,EAAY,kBAAA,EAAoB,IAAA,EAAM,YAAA,EAAa;AAAA,QACtH,EAAE,EAAA,EAAI,WAAA,EAAa,IAAA,EAAM,QAAA,EAAU,OAAO,OAAA,EAAS,UAAA,EAAY,UAAA,EAAY,IAAA,EAAM,aAAA,EAAc;AAAA,QAC/F,EAAE,EAAA,EAAI,cAAA,EAAgB,IAAA,EAAM,QAAA,EAAU,OAAO,UAAA,EAAY,UAAA,EAAY,aAAA,EAAe,IAAA,EAAM,KAAA,EAAM;AAAA,QAChG,EAAE,EAAA,EAAI,WAAA,EAAa,IAAA,EAAM,QAAA,EAAU,OAAO,OAAA,EAAS,UAAA,EAAY,UAAA,EAAY,IAAA,EAAM,cAAA,EAAe;AAAA,QAChG,EAAE,EAAA,EAAI,qBAAA,EAAuB,IAAA,EAAM,QAAA,EAAU,OAAO,iBAAA,EAAmB,UAAA,EAAY,oBAAA,EAAsB,IAAA,EAAM,MAAA,EAAO;AAAA,QACtH,EAAE,EAAA,EAAI,0BAAA,EAA4B,IAAA,EAAM,QAAA,EAAU,OAAO,sBAAA,EAAwB,UAAA,EAAY,yBAAA,EAA2B,IAAA,EAAM,YAAA,EAAa;AAAA,QAC3I,EAAE,EAAA,EAAI,0BAAA,EAA4B,IAAA,EAAM,QAAA,EAAU,OAAO,sBAAA,EAAwB,UAAA,EAAY,yBAAA,EAA2B,IAAA,EAAM,aAAA,EAAc;AAAA,QAC5I,EAAE,EAAA,EAAI,gBAAA,EAAkB,IAAA,EAAM,QAAA,EAAU,OAAO,YAAA,EAAc,UAAA,EAAY,uBAAA,EAAyB,IAAA,EAAM,YAAA,EAAa;AAAA,QACrH,EAAE,EAAA,EAAI,UAAA,EAAY,IAAA,EAAM,QAAA,EAAU,OAAO,cAAA,EAAgB,UAAA,EAAY,UAAA,EAAY,IAAA,EAAM,WAAA;AAAY;AACrG,KACF;AAAA,IACA;AAAA,MACE,EAAA,EAAI,gBAAA;AAAA,MACJ,IAAA,EAAM,OAAA;AAAA,MACN,KAAA,EAAO,UAAA;AAAA,MACP,IAAA,EAAM,QAAA;AAAA,MACN,QAAA,EAAU;AAAA,QACR,EAAE,EAAA,EAAI,aAAA,EAAe,IAAA,EAAM,QAAA,EAAU,OAAO,SAAA,EAAW,UAAA,EAAY,YAAA,EAAc,IAAA,EAAM,UAAA,EAAW;AAAA,QAClG,EAAE,EAAA,EAAI,WAAA,EAAa,IAAA,EAAM,QAAA,EAAU,OAAO,OAAA,EAAS,UAAA,EAAY,UAAA,EAAY,IAAA,EAAM,OAAA,EAAQ;AAAA,QACzF,EAAE,EAAA,EAAI,WAAA,EAAa,IAAA,EAAM,QAAA,EAAU,OAAO,OAAA,EAAS,UAAA,EAAY,UAAA,EAAY,IAAA,EAAM,UAAA,EAAW;AAAA,QAC5F,EAAE,EAAA,EAAI,YAAA,EAAc,IAAA,EAAM,QAAA,EAAU,OAAO,WAAA,EAAa,UAAA,EAAY,WAAA,EAAa,IAAA,EAAM,KAAA,EAAM;AAAA,QAC7F,EAAE,EAAA,EAAI,WAAA,EAAa,IAAA,EAAM,QAAA,EAAU,OAAO,UAAA,EAAY,UAAA,EAAY,UAAA,EAAY,IAAA,EAAM,QAAA,EAAS;AAAA,QAC7F,EAAE,EAAA,EAAI,UAAA,EAAY,IAAA,EAAM,QAAA,EAAU,OAAO,MAAA,EAAQ,UAAA,EAAY,SAAA,EAAW,IAAA,EAAM,aAAA,EAAc;AAAA,QAC5F,EAAE,EAAA,EAAI,cAAA,EAAgB,IAAA,EAAM,QAAA,EAAU,OAAO,UAAA,EAAY,UAAA,EAAY,aAAA,EAAe,IAAA,EAAM,SAAA,EAAU;AAAA,QACpG,EAAE,EAAA,EAAI,2BAAA,EAA6B,IAAA,EAAM,QAAA,EAAU,OAAO,eAAA,EAAiB,UAAA,EAAY,0BAAA,EAA4B,IAAA,EAAM,eAAA,EAAgB;AAAA,QACzI,EAAE,EAAA,EAAI,cAAA,EAAgB,IAAA,EAAM,QAAA,EAAU,OAAO,cAAA,EAAgB,UAAA,EAAY,cAAA,EAAgB,IAAA,EAAM,UAAA;AAAW;AAC5G,KACF;AAAA,IACA;AAAA,MACE,EAAA,EAAI,cAAA;AAAA,MACJ,IAAA,EAAM,OAAA;AAAA,MACN,KAAA,EAAO,QAAA;AAAA,MACP,IAAA,EAAM,UAAA;AAAA,MACN,QAAA,EAAU;AAAA,QACR,EAAE,EAAA,EAAI,cAAA,EAAgB,IAAA,EAAM,QAAA,EAAU,OAAO,UAAA,EAAY,UAAA,EAAY,aAAA,EAAe,IAAA,EAAM,SAAA,EAAU;AAAA,QACpG,EAAE,EAAA,EAAI,gBAAA,EAAkB,IAAA,EAAM,QAAA,EAAU,OAAO,YAAA,EAAc,UAAA,EAAY,eAAA,EAAiB,IAAA,EAAM,aAAA,EAAc;AAAA,QAC9G,EAAE,EAAA,EAAI,cAAA,EAAgB,IAAA,EAAM,QAAA,EAAU,OAAO,UAAA,EAAY,UAAA,EAAY,cAAA,EAAgB,IAAA,EAAM,UAAA,EAAW;AAAA,QACtG,EAAE,EAAA,EAAI,cAAA,EAAgB,IAAA,EAAM,QAAA,EAAU,OAAO,UAAA,EAAY,UAAA,EAAY,aAAA,EAAe,IAAA,EAAM,gBAAA;AAAiB;AAC7G;AACF;AAEJ;;;ACzFO,IAAM,SAAA,GAAsB;AAAA,EACjC,IAAA,EAAM,OAAA;AAAA,EACN,KAAA,EAAO,OAAA;AAAA,EACP,IAAA,EAAM,MAAA;AAAA,EACN,IAAA,EAAM;AAAA,IACJ,QAAA,EAAU,QAAA;AAAA,IACV,MAAA,EAAQ;AAAA,GACV;AAAA,EACA,OAAA,EAAS;AAAA,IACP,EAAE,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,MAAA,EAAQ,UAAU,IAAA,EAAK;AAAA,IAC/C,EAAE,KAAA,EAAO,OAAA,EAAS,KAAA,EAAO,OAAA,EAAS,UAAU,IAAA,EAAK;AAAA,IACjD,EAAE,KAAA,EAAO,OAAA,EAAS,KAAA,EAAO,OAAA,EAAQ;AAAA,IACjC,EAAE,KAAA,EAAO,QAAA,EAAU,KAAA,EAAO,QAAA,EAAU,UAAU,IAAA,EAAK;AAAA,IACnD,EAAE,KAAA,EAAO,QAAA,EAAU,KAAA,EAAO,QAAA,EAAU,UAAU,IAAA,EAAK;AAAA,IACnD,EAAE,KAAA,EAAO,YAAA,EAAc,KAAA,EAAO,SAAA,EAAW,UAAU,IAAA;AAAK,GAC1D;AAAA,EACA,MAAM,CAAC,EAAE,OAAO,YAAA,EAAc,KAAA,EAAO,QAAQ,CAAA;AAAA,EAC7C,QAAQ,EAAC;AAAA,EACT,gBAAA,EAAkB,CAAC,MAAA,EAAQ,OAAO,CAAA;AAAA,EAClC,UAAA,EAAY;AAAA,IACV,QAAA,EAAU;AAAA;AAEd;;;ACtBO,IAAM,iBAAA,GAA8B;AAAA,EACzC,IAAA,EAAM,eAAA;AAAA,EACN,KAAA,EAAO,eAAA;AAAA,EACP,IAAA,EAAM,MAAA;AAAA,EACN,IAAA,EAAM;AAAA,IACJ,QAAA,EAAU,QAAA;AAAA,IACV,MAAA,EAAQ;AAAA,GACV;AAAA,EACA,OAAA,EAAS;AAAA,IACP,EAAE,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,MAAA,EAAQ,UAAU,IAAA,EAAK;AAAA,IAC/C,EAAE,KAAA,EAAO,QAAA,EAAU,KAAA,EAAO,QAAA,EAAU,UAAU,IAAA,EAAK;AAAA,IACnD,EAAE,KAAA,EAAO,WAAA,EAAa,KAAA,EAAO,WAAA,EAAY;AAAA,IACzC,EAAE,KAAA,EAAO,cAAA,EAAgB,KAAA,EAAO,SAAA,EAAU;AAAA,IAC1C,EAAE,KAAA,EAAO,YAAA,EAAc,KAAA,EAAO,SAAA,EAAW,UAAU,IAAA;AAAK,GAC1D;AAAA,EACA,MAAM,CAAC,EAAE,OAAO,YAAA,EAAc,KAAA,EAAO,QAAQ,CAAA;AAAA,EAC7C,QAAQ,EAAC;AAAA,EACT,gBAAA,EAAkB,CAAC,MAAM,CAAA;AAAA,EACzB,UAAA,EAAY;AAAA,IACV,QAAA,EAAU;AAAA;AAEd;;;ACrBO,IAAM,SAAA,GAAsB;AAAA,EACjC,IAAA,EAAM,OAAA;AAAA,EACN,KAAA,EAAO,OAAA;AAAA,EACP,IAAA,EAAM,MAAA;AAAA,EACN,IAAA,EAAM;AAAA,IACJ,QAAA,EAAU,QAAA;AAAA,IACV,MAAA,EAAQ;AAAA,GACV;AAAA,EACA,OAAA,EAAS;AAAA,IACP,EAAE,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,MAAA,EAAQ,UAAU,IAAA,EAAK;AAAA,IAC/C,EAAE,KAAA,EAAO,aAAA,EAAe,KAAA,EAAO,aAAA,EAAc;AAAA,IAC7C,EAAE,KAAA,EAAO,WAAA,EAAa,KAAA,EAAO,aAAA,EAAc;AAAA,IAC3C,EAAE,KAAA,EAAO,YAAA,EAAc,KAAA,EAAO,SAAA,EAAW,UAAU,IAAA;AAAK,GAC1D;AAAA,EACA,MAAM,CAAC,EAAE,OAAO,YAAA,EAAc,KAAA,EAAO,QAAQ,CAAA;AAAA,EAC7C,QAAQ,EAAC;AAAA,EACT,gBAAA,EAAkB,CAAC,MAAA,EAAQ,aAAa,CAAA;AAAA,EACxC,UAAA,EAAY;AAAA,IACV,QAAA,EAAU;AAAA;AAEd;;;ACpBO,IAAM,YAAA,GAAyB;AAAA,EACpC,IAAA,EAAM,UAAA;AAAA,EACN,KAAA,EAAO,UAAA;AAAA,EACP,IAAA,EAAM,MAAA;AAAA,EACN,IAAA,EAAM;AAAA,IACJ,QAAA,EAAU,QAAA;AAAA,IACV,MAAA,EAAQ;AAAA,GACV;AAAA,EACA,OAAA,EAAS;AAAA,IACP,EAAE,KAAA,EAAO,SAAA,EAAW,KAAA,EAAO,MAAA,EAAQ,UAAU,IAAA,EAAK;AAAA,IAClD,EAAE,KAAA,EAAO,YAAA,EAAc,KAAA,EAAO,YAAA,EAAa;AAAA,IAC3C,EAAE,KAAA,EAAO,YAAA,EAAc,KAAA,EAAO,SAAA,EAAW,UAAU,IAAA,EAAK;AAAA,IACxD,EAAE,KAAA,EAAO,YAAA,EAAc,KAAA,EAAO,SAAA,EAAW,UAAU,IAAA;AAAK,GAC1D;AAAA,EACA,MAAM,CAAC,EAAE,OAAO,YAAA,EAAc,KAAA,EAAO,QAAQ,CAAA;AAAA,EAC7C,QAAQ,EAAC;AAAA,EACT,gBAAA,EAAkB,CAAC,SAAS,CAAA;AAAA,EAC5B,UAAA,EAAY;AAAA,IACV,QAAA,EAAU;AAAA;AAEd;;;ACpBO,IAAM,aAAA,GAA0B;AAAA,EACrC,IAAA,EAAM,YAAA;AAAA,EACN,KAAA,EAAO,YAAA;AAAA,EACP,IAAA,EAAM,MAAA;AAAA,EACN,IAAA,EAAM;AAAA,IACJ,QAAA,EAAU,QAAA;AAAA,IACV,MAAA,EAAQ;AAAA,GACV;AAAA,EACA,OAAA,EAAS;AAAA,IACP,EAAE,KAAA,EAAO,YAAA,EAAc,KAAA,EAAO,WAAA,EAAa,UAAU,IAAA,EAAK;AAAA,IAC1D,EAAE,KAAA,EAAO,QAAA,EAAU,KAAA,EAAO,QAAA,EAAU,UAAU,IAAA,EAAK;AAAA,IACnD,EAAE,KAAA,EAAO,SAAA,EAAW,KAAA,EAAO,OAAA,EAAQ;AAAA,IACnC,EAAE,KAAA,EAAO,aAAA,EAAe,KAAA,EAAO,QAAA,EAAS;AAAA,IACxC,EAAE,KAAA,EAAO,WAAA,EAAa,KAAA,EAAO,WAAA;AAAY,GAC3C;AAAA,EACA,MAAM,CAAC,EAAE,OAAO,YAAA,EAAc,KAAA,EAAO,QAAQ,CAAA;AAAA,EAC7C,QAAQ,EAAC;AAAA,EACT,gBAAA,EAAkB,CAAC,QAAA,EAAU,aAAA,EAAe,WAAW,CAAA;AAAA,EACvD,UAAA,EAAY;AAAA,IACV,QAAA,EAAU;AAAA;AAEd;;;ACrBO,IAAM,wBAAA,GAAqC;AAAA,EAChD,IAAA,EAAM,uBAAA;AAAA,EACN,KAAA,EAAO,uBAAA;AAAA,EACP,IAAA,EAAM,MAAA;AAAA,EACN,IAAA,EAAM;AAAA,IACJ,QAAA,EAAU,QAAA;AAAA,IACV,MAAA,EAAQ;AAAA,GACV;AAAA,EACA,OAAA,EAAS;AAAA,IACP,EAAE,KAAA,EAAO,YAAA,EAAc,KAAA,EAAO,SAAA,EAAW,UAAU,IAAA,EAAK;AAAA,IACxD,EAAE,KAAA,EAAO,YAAA,EAAc,KAAA,EAAO,SAAA,EAAW,UAAU,IAAA,EAAK;AAAA,IACxD,EAAE,KAAA,EAAO,oBAAA,EAAsB,KAAA,EAAO,SAAA,EAAU;AAAA,IAChD,EAAE,KAAA,EAAO,QAAA,EAAU,KAAA,EAAO,QAAA,EAAU,UAAU,IAAA,EAAK;AAAA,IACnD,EAAE,KAAA,EAAO,cAAA,EAAgB,KAAA,EAAO,WAAA,EAAa,UAAU,IAAA;AAAK,GAC9D;AAAA,EACA,MAAM,CAAC,EAAE,OAAO,cAAA,EAAgB,KAAA,EAAO,QAAQ,CAAA;AAAA,EAC/C,QAAQ,EAAC;AAAA,EACT,gBAAA,EAAkB,CAAC,YAAA,EAAc,YAAY,CAAA;AAAA,EAC7C,UAAA,EAAY;AAAA,IACV,QAAA,EAAU;AAAA;AAEd;AChBO,IAAM,uBAAA,GAA0BA,aAAU,MAAA,CAAO;AAAA,EACtD,IAAA,EAAM,iBAAA;AAAA,EACN,KAAA,EAAO,iBAAA;AAAA,EACP,WAAA,EAAa,+CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMb,OAAA,EAAS,EAAA;AAAA,EACT,GAAA,EAAK,CAAA;AAAA,EAEL,OAAA,EAAS;AAAA;AAAA,IAEP;AAAA,MACE,EAAA,EAAI,wBAAA;AAAA,MACJ,KAAA,EAAO,iBAAA;AAAA,MACP,IAAA,EAAM,QAAA;AAAA,MACN,MAAA,EAAQ,aAAA;AAAA,MACR,MAAA,EAAQ;AAAA,QACN,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG;AAAA,OACL;AAAA,MACA,SAAA,EAAW,OAAA;AAAA,MACX,YAAA,EAAc,MAAA;AAAA,MACd,WAAA,EAAa;AAAA,KACf;AAAA;AAAA,IAGA;AAAA,MACE,EAAA,EAAI,oBAAA;AAAA,MACJ,KAAA,EAAO,aAAA;AAAA,MACP,IAAA,EAAM,QAAA;AAAA,MACN,MAAA,EAAQ,UAAA;AAAA,MACR,MAAA,EAAQ;AAAA,QACN,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG;AAAA,OACL;AAAA,MACA,SAAA,EAAW,OAAA;AAAA,MACX,YAAA,EAAc,MAAA;AAAA,MACd,WAAA,EAAa;AAAA,KACf;AAAA;AAAA,IAGA;AAAA,MACE,EAAA,EAAI,sBAAA;AAAA,MACJ,KAAA,EAAO,eAAA;AAAA,MACP,IAAA,EAAM,QAAA;AAAA,MACN,MAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAQ;AAAA,QACN,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG;AAAA,OACL;AAAA,MACA,SAAA,EAAW,OAAA;AAAA,MACX,YAAA,EAAc,QAAA;AAAA,MACd,WAAA,EAAa;AAAA,KACf;AAAA;AAAA,IAGA;AAAA,MACE,EAAA,EAAI,2BAAA;AAAA,MACJ,KAAA,EAAO,oBAAA;AAAA,MACP,IAAA,EAAM,QAAA;AAAA,MACN,MAAA,EAAQ,0BAAA;AAAA,MACR,MAAA,EAAQ;AAAA,QACN,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG;AAAA,OACL;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,KAAA,EAAO,QAAA;AAAA,QACP,QAAA,EAAU,QAAA;AAAA,QACV,KAAA,EAAO;AAAA,OACT;AAAA,MACA,SAAA,EAAW,OAAA;AAAA,MACX,YAAA,EAAc,SAAA;AAAA,MACd,WAAA,EAAa;AAAA,KACf;AAAA;AAAA,IAGA;AAAA,MACE,EAAA,EAAI,sBAAA;AAAA,MACJ,KAAA,EAAO,oBAAA;AAAA,MACP,WAAA,EAAa,6CAAA;AAAA,MACb,IAAA,EAAM,KAAA;AAAA,MACN,MAAA,EAAQ,eAAA;AAAA,MACR,MAAA,EAAQ;AAAA,QACN,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG;AAAA,OACL;AAAA,MACA,aAAA,EAAe,QAAA;AAAA,MACf,SAAA,EAAW,OAAA;AAAA,MACX,MAAA,EAAQ;AAAA,QACN,KAAA,EAAO,YAAA;AAAA,QACP,QAAA,EAAU,KAAA;AAAA,QACV,KAAA,EAAO;AAAA;AACT,KACF;AAAA;AAAA,IAGA;AAAA,MACE,EAAA,EAAI,oBAAA;AAAA,MACJ,KAAA,EAAO,0BAAA;AAAA,MACP,WAAA,EAAa,yCAAA;AAAA,MACb,IAAA,EAAM,KAAA;AAAA,MACN,MAAA,EAAQ,aAAA;AAAA,MACR,MAAA,EAAQ;AAAA,QACN,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG;AAAA,OACL;AAAA,MACA,aAAA,EAAe,wBAAA;AAAA,MACf,SAAA,EAAW;AAAA,KACb;AAAA;AAAA,IAGA;AAAA,MACE,EAAA,EAAI,sBAAA;AAAA,MACJ,KAAA,EAAO,qBAAA;AAAA,MACP,WAAA,EAAa,wBAAA;AAAA,MACb,IAAA,EAAM,QAAA;AAAA,MACN,MAAA,EAAQ,eAAA;AAAA,MACR,MAAA,EAAQ;AAAA,QACN,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,EAAA;AAAA,QACH,CAAA,EAAG;AAAA,OACL;AAAA,MACA,SAAA,EAAW,OAAA;AAAA,MACX,YAAA,EAAc;AAAA;AAChB,GACF;AAAA,EACA,aAAA,EAAe;AAAA,IACb;AAAA,MACE,KAAA,EAAO,YAAA;AAAA,MACP,IAAA,EAAM,MAAA;AAAA,MACN,KAAA,EAAO,YAAA;AAAA,MACP,KAAA,EAAO,WAAA;AAAA,MACP,YAAA,EAAc;AAAA;AAChB;AAEJ,CAAC;ACvJM,IAAM,yBAAA,GAA4BA,aAAU,MAAA,CAAO;AAAA,EACxD,IAAA,EAAM,mBAAA;AAAA,EACN,KAAA,EAAO,mBAAA;AAAA,EACP,WAAA,EAAa,mDAAA;AAAA;AAAA,EAGb,OAAA,EAAS,EAAA;AAAA,EACT,GAAA,EAAK,CAAA;AAAA,EAEL,OAAA,EAAS;AAAA;AAAA,IAEP;AAAA,MACE,EAAA,EAAI,sBAAA;AAAA,MACJ,KAAA,EAAO,uBAAA;AAAA,MACP,IAAA,EAAM,QAAA;AAAA,MACN,MAAA,EAAQ,eAAA;AAAA,MACR,MAAA,EAAQ;AAAA,QACN,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG;AAAA,OACL;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,KAAA,EAAO,QAAA;AAAA,QACP,QAAA,EAAU,QAAA;AAAA,QACV,KAAA,EAAO;AAAA,OACT;AAAA,MACA,SAAA,EAAW,OAAA;AAAA,MACX,YAAA,EAAc,QAAA;AAAA,MACd,WAAA,EAAa;AAAA,KACf;AAAA;AAAA,IAGA;AAAA,MACE,EAAA,EAAI,2BAAA;AAAA,MACJ,KAAA,EAAO,oBAAA;AAAA,MACP,IAAA,EAAM,QAAA;AAAA,MACN,MAAA,EAAQ,eAAA;AAAA,MACR,MAAA,EAAQ;AAAA,QACN,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG;AAAA,OACL;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,KAAA,EAAO,QAAA;AAAA,QACP,QAAA,EAAU,QAAA;AAAA,QACV,KAAA,EAAO;AAAA,OACT;AAAA,MACA,SAAA,EAAW,OAAA;AAAA,MACX,YAAA,EAAc,SAAA;AAAA,MACd,WAAA,EAAa;AAAA,KACf;AAAA;AAAA,IAGA;AAAA,MACE,EAAA,EAAI,uBAAA;AAAA,MACJ,KAAA,EAAO,gBAAA;AAAA,MACP,IAAA,EAAM,QAAA;AAAA,MACN,MAAA,EAAQ,eAAA;AAAA,MACR,MAAA,EAAQ;AAAA,QACN,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG;AAAA,OACL;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,KAAA,EAAO,QAAA;AAAA,QACP,QAAA,EAAU,QAAA;AAAA,QACV,KAAA,EAAO;AAAA,OACT;AAAA,MACA,SAAA,EAAW,OAAA;AAAA,MACX,YAAA,EAAc,MAAA;AAAA,MACd,WAAA,EAAa;AAAA,KACf;AAAA;AAAA,IAGA;AAAA,MACE,EAAA,EAAI,wBAAA;AAAA,MACJ,KAAA,EAAO,iBAAA;AAAA,MACP,IAAA,EAAM,QAAA;AAAA,MACN,MAAA,EAAQ,aAAA;AAAA,MACR,MAAA,EAAQ;AAAA,QACN,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG;AAAA,OACL;AAAA,MACA,SAAA,EAAW,OAAA;AAAA,MACX,YAAA,EAAc,SAAA;AAAA,MACd,WAAA,EAAa;AAAA,KACf;AAAA;AAAA,IAGA;AAAA,MACE,EAAA,EAAI,uBAAA;AAAA,MACJ,KAAA,EAAO,sBAAA;AAAA,MACP,WAAA,EAAa,2CAAA;AAAA,MACb,IAAA,EAAM,KAAA;AAAA,MACN,MAAA,EAAQ,eAAA;AAAA,MACR,MAAA,EAAQ;AAAA,QACN,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG;AAAA,OACL;AAAA,MACA,aAAA,EAAe,QAAA;AAAA,MACf,SAAA,EAAW;AAAA,KACb;AAAA;AAAA,IAGA;AAAA,MACE,EAAA,EAAI,uBAAA;AAAA,MACJ,KAAA,EAAO,gBAAA;AAAA,MACP,WAAA,EAAa,oCAAA;AAAA,MACb,IAAA,EAAM,KAAA;AAAA,MACN,MAAA,EAAQ,eAAA;AAAA,MACR,MAAA,EAAQ;AAAA,QACN,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG;AAAA,OACL;AAAA,MACA,aAAA,EAAe,SAAA;AAAA,MACf,SAAA,EAAW;AAAA,KACb;AAAA;AAAA,IAGA;AAAA,MACE,EAAA,EAAI,+BAAA;AAAA,MACJ,KAAA,EAAO,wBAAA;AAAA,MACP,WAAA,EAAa,sCAAA;AAAA,MACb,IAAA,EAAM,QAAA;AAAA,MACN,MAAA,EAAQ,eAAA;AAAA,MACR,MAAA,EAAQ;AAAA,QACN,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG,EAAA;AAAA,QACH,CAAA,EAAG;AAAA,OACL;AAAA,MACA,SAAA,EAAW,OAAA;AAAA,MACX,YAAA,EAAc;AAAA;AAChB,GACF;AAAA,EACA,aAAA,EAAe;AAAA,IACb;AAAA,MACE,KAAA,EAAO,YAAA;AAAA,MACP,IAAA,EAAM,MAAA;AAAA,MACN,KAAA,EAAO,YAAA;AAAA,MACP,KAAA,EAAO,WAAA;AAAA,MACP,YAAA,EAAc;AAAA;AAChB;AAEJ,CAAC","file":"index.js","sourcesContent":["// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\n/**\n * Platform Setup App — static definition.\n *\n * Lists every `sys_*` administrative object as a left-hand navigation\n * entry in ObjectUI's \"Setup\" area. Lives here (alongside the object\n * schemas it references) instead of being assembled at runtime by\n * `@objectstack/plugin-setup` — that plugin existed only because the\n * referenced objects used to live in three different runtime plugins\n * (auth/security/audit). Now that all `sys_*` objects are centralized\n * in `@objectstack/platform-objects`, the Setup App is a fixed metadata\n * artifact too and can be exported as plain data.\n *\n * The runtime registration happens in `plugin-auth` (which is always\n * loaded alongside security + audit and already calls\n * `manifest.register({...})`).\n *\n * Menu shape: flat `navigation[]` with `type: 'group'` category nodes,\n * matching the convention used by the CRM example app\n * (`examples/app-crm/src/apps/crm.app.ts`). The legacy `areas[]` shape\n * was abandoned because it rendered poorly compared to the category\n * style ObjectUI is built around.\n */\n\nimport type { App } from '@objectstack/spec/ui';\n\nexport const SETUP_APP: App = {\n name: 'setup',\n label: 'Setup',\n description: 'Platform settings and administration',\n icon: 'settings',\n active: true,\n isDefault: false,\n branding: {\n primaryColor: '#475569', // Slate-600 — neutral admin palette\n },\n requiredPermissions: ['setup.access'],\n navigation: [\n {\n id: 'group_overview',\n type: 'group',\n label: 'Overview',\n icon: 'layout-dashboard',\n children: [\n { id: 'nav_system_overview', type: 'dashboard', label: 'System Overview', dashboardName: 'system_overview', icon: 'activity' },\n { id: 'nav_security_overview', type: 'dashboard', label: 'Security Overview', dashboardName: 'security_overview', icon: 'shield' },\n ],\n },\n {\n id: 'group_administration',\n type: 'group',\n label: 'Administration',\n icon: 'shield',\n children: [\n { id: 'nav_users', type: 'object', label: 'Users', objectName: 'sys_user', icon: 'users' },\n { id: 'nav_organizations', type: 'object', label: 'Organizations', objectName: 'sys_organization', icon: 'building-2' },\n { id: 'nav_teams', type: 'object', label: 'Teams', objectName: 'sys_team', icon: 'users-round' },\n { id: 'nav_api_keys', type: 'object', label: 'API Keys', objectName: 'sys_api_key', icon: 'key' },\n { id: 'nav_roles', type: 'object', label: 'Roles', objectName: 'sys_role', icon: 'shield-check' },\n { id: 'nav_permission_sets', type: 'object', label: 'Permission Sets', objectName: 'sys_permission_set', icon: 'lock' },\n { id: 'nav_user_permission_sets', type: 'object', label: 'User Permission Sets', objectName: 'sys_user_permission_set', icon: 'user-check' },\n { id: 'nav_role_permission_sets', type: 'object', label: 'Role Permission Sets', objectName: 'sys_role_permission_set', icon: 'shield-plus' },\n { id: 'nav_oauth_apps', type: 'object', label: 'OAuth Apps', objectName: 'sys_oauth_application', icon: 'app-window' },\n { id: 'nav_jwks', type: 'object', label: 'Signing Keys', objectName: 'sys_jwks', icon: 'key-round' },\n ],\n },\n {\n id: 'group_platform',\n type: 'group',\n label: 'Platform',\n icon: 'layers',\n children: [\n { id: 'nav_objects', type: 'object', label: 'Objects', objectName: 'sys_object', icon: 'database' },\n { id: 'nav_views', type: 'object', label: 'Views', objectName: 'sys_view', icon: 'table' },\n { id: 'nav_flows', type: 'object', label: 'Flows', objectName: 'sys_flow', icon: 'workflow' },\n { id: 'nav_agents', type: 'object', label: 'AI Agents', objectName: 'sys_agent', icon: 'bot' },\n { id: 'nav_tools', type: 'object', label: 'AI Tools', objectName: 'sys_tool', icon: 'wrench' },\n { id: 'nav_apps', type: 'object', label: 'Apps', objectName: 'sys_app', icon: 'layout-grid' },\n { id: 'nav_packages', type: 'object', label: 'Packages', objectName: 'sys_package', icon: 'package' },\n { id: 'nav_package_installations', type: 'object', label: 'Installations', objectName: 'sys_package_installation', icon: 'package-check' },\n { id: 'nav_metadata', type: 'object', label: 'All Metadata', objectName: 'sys_metadata', icon: 'file-cog' },\n ],\n },\n {\n id: 'group_system',\n type: 'group',\n label: 'System',\n icon: 'settings',\n children: [\n { id: 'nav_sessions', type: 'object', label: 'Sessions', objectName: 'sys_session', icon: 'monitor' },\n { id: 'nav_audit_logs', type: 'object', label: 'Audit Logs', objectName: 'sys_audit_log', icon: 'scroll-text' },\n { id: 'nav_activity', type: 'object', label: 'Activity', objectName: 'sys_activity', icon: 'activity' },\n { id: 'nav_comments', type: 'object', label: 'Comments', objectName: 'sys_comment', icon: 'message-square' },\n ],\n },\n ],\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport type { ListView } from '@objectstack/spec/ui';\n\n/**\n * Default list view for sys_user administration.\n * Displays all users with key identity fields.\n */\nexport const UsersView: ListView = {\n name: 'users',\n label: 'Users',\n type: 'grid',\n data: {\n provider: 'object',\n object: 'sys_user',\n },\n columns: [\n { field: 'name', label: 'Name', sortable: true },\n { field: 'email', label: 'Email', sortable: true },\n { field: 'phone', label: 'Phone' },\n { field: 'status', label: 'Status', sortable: true },\n { field: 'active', label: 'Active', sortable: true },\n { field: 'created_at', label: 'Created', sortable: true },\n ],\n sort: [{ field: 'created_at', order: 'desc' }],\n filter: [],\n searchableFields: ['name', 'email'],\n pagination: {\n pageSize: 20,\n },\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport type { ListView } from '@objectstack/spec/ui';\n\n/**\n * Default list view for sys_organization administration.\n * Displays all organizations with key metadata.\n */\nexport const OrganizationsView: ListView = {\n name: 'organizations',\n label: 'Organizations',\n type: 'grid',\n data: {\n provider: 'object',\n object: 'sys_organization',\n },\n columns: [\n { field: 'name', label: 'Name', sortable: true },\n { field: 'status', label: 'Status', sortable: true },\n { field: 'plan_tier', label: 'Plan Tier' },\n { field: 'member_count', label: 'Members' },\n { field: 'created_at', label: 'Created', sortable: true },\n ],\n sort: [{ field: 'created_at', order: 'desc' }],\n filter: [],\n searchableFields: ['name'],\n pagination: {\n pageSize: 20,\n },\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport type { ListView } from '@objectstack/spec/ui';\n\n/**\n * Default list view for sys_role administration.\n * Displays all platform roles with permission summary.\n */\nexport const RolesView: ListView = {\n name: 'roles',\n label: 'Roles',\n type: 'grid',\n data: {\n provider: 'object',\n object: 'sys_role',\n },\n columns: [\n { field: 'name', label: 'Name', sortable: true },\n { field: 'description', label: 'Description' },\n { field: 'is_system', label: 'System Role' },\n { field: 'created_at', label: 'Created', sortable: true },\n ],\n sort: [{ field: 'created_at', order: 'desc' }],\n filter: [],\n searchableFields: ['name', 'description'],\n pagination: {\n pageSize: 20,\n },\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport type { ListView } from '@objectstack/spec/ui';\n\n/**\n * Default list view for sys_session administration.\n * Displays all active user sessions with metadata.\n */\nexport const SessionsView: ListView = {\n name: 'sessions',\n label: 'Sessions',\n type: 'grid',\n data: {\n provider: 'object',\n object: 'sys_session',\n },\n columns: [\n { field: 'user_id', label: 'User', sortable: true },\n { field: 'ip_address', label: 'IP Address' },\n { field: 'created_at', label: 'Created', sortable: true },\n { field: 'expires_at', label: 'Expires', sortable: true },\n ],\n sort: [{ field: 'created_at', order: 'desc' }],\n filter: [],\n searchableFields: ['user_id'],\n pagination: {\n pageSize: 20,\n },\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport type { ListView } from '@objectstack/spec/ui';\n\n/**\n * Default list view for sys_audit_log administration.\n * Displays platform audit trail with action and target information.\n */\nexport const AuditLogsView: ListView = {\n name: 'audit_logs',\n label: 'Audit Logs',\n type: 'grid',\n data: {\n provider: 'object',\n object: 'sys_audit_log',\n },\n columns: [\n { field: 'created_at', label: 'Timestamp', sortable: true },\n { field: 'action', label: 'Action', sortable: true },\n { field: 'user_id', label: 'Actor' },\n { field: 'object_name', label: 'Object' },\n { field: 'record_id', label: 'Record ID' },\n ],\n sort: [{ field: 'created_at', order: 'desc' }],\n filter: [],\n searchableFields: ['action', 'object_name', 'record_id'],\n pagination: {\n pageSize: 20,\n },\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport type { ListView } from '@objectstack/spec/ui';\n\n/**\n * Default list view for sys_package_installation administration.\n * Displays package installations with version and status information.\n */\nexport const PackageInstallationsView: ListView = {\n name: 'package_installations',\n label: 'Package Installations',\n type: 'grid',\n data: {\n provider: 'object',\n object: 'sys_package_installation',\n },\n columns: [\n { field: 'package_id', label: 'Package', sortable: true },\n { field: 'project_id', label: 'Project', sortable: true },\n { field: 'package_version_id', label: 'Version' },\n { field: 'status', label: 'Status', sortable: true },\n { field: 'installed_at', label: 'Installed', sortable: true },\n ],\n sort: [{ field: 'installed_at', order: 'desc' }],\n filter: [],\n searchableFields: ['package_id', 'project_id'],\n pagination: {\n pageSize: 20,\n },\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { Dashboard } from '@objectstack/spec/ui';\n\n/**\n * System Overview Dashboard\n * \n * Provides at-a-glance monitoring of platform health and key metrics:\n * - Active user sessions\n * - Audit activity (recent events)\n * - Package installation status\n * - Platform configuration\n */\nexport const SystemOverviewDashboard = Dashboard.create({\n name: 'system_overview',\n label: 'System Overview',\n description: 'Platform health, sessions, and audit activity',\n\n // 12-column grid matches the widget `w` values below (3, 6, 12). Without\n // this, the renderer falls back to a 4-column grid and `w: 3` becomes 75%\n // width per metric — so KPI cards stack vertically instead of forming a\n // 4-up row.\n columns: 12,\n gap: 4,\n\n widgets: [\n // ── Active Sessions Widget ──────────────────────────────────────\n {\n id: 'widget_active_sessions',\n title: 'Active Sessions',\n type: 'metric',\n object: 'sys_session',\n layout: {\n x: 0,\n y: 0,\n w: 3,\n h: 2,\n },\n aggregate: 'count',\n colorVariant: 'blue',\n description: 'Number of currently active user sessions',\n },\n\n // ── Total Users Widget ──────────────────────────────────────────\n {\n id: 'widget_total_users',\n title: 'Total Users',\n type: 'metric',\n object: 'sys_user',\n layout: {\n x: 3,\n y: 0,\n w: 3,\n h: 2,\n },\n aggregate: 'count',\n colorVariant: 'teal',\n description: 'Total registered users in the system',\n },\n\n // ── Organizations Widget ────────────────────────────────────────\n {\n id: 'widget_organizations',\n title: 'Organizations',\n type: 'metric',\n object: 'sys_organization',\n layout: {\n x: 6,\n y: 0,\n w: 3,\n h: 2,\n },\n aggregate: 'count',\n colorVariant: 'orange',\n description: 'Total organizations on the platform',\n },\n\n // ── Packages Installed Widget ───────────────────────────────────\n {\n id: 'widget_packages_installed',\n title: 'Packages Installed',\n type: 'metric',\n object: 'sys_package_installation',\n layout: {\n x: 9,\n y: 0,\n w: 3,\n h: 2,\n },\n filter: {\n field: 'status',\n operator: 'equals',\n value: 'installed',\n },\n aggregate: 'count',\n colorVariant: 'success',\n description: 'Active package installations across projects',\n },\n\n // ── Audit Actions by Type (last 7 days) ─────────────────────────\n {\n id: 'widget_audit_actions',\n title: 'Audit Actions (7d)',\n description: 'Distribution of audit events by action type',\n type: 'pie',\n object: 'sys_audit_log',\n layout: {\n x: 0,\n y: 2,\n w: 6,\n h: 4,\n },\n categoryField: 'action',\n aggregate: 'count',\n filter: {\n field: 'created_at',\n operator: 'gte',\n value: 'NOW() - INTERVAL 7 DAY',\n },\n },\n\n // ── Session Status Overview ─────────────────────────────────────\n {\n id: 'widget_active_orgs',\n title: 'Sessions by Organization',\n description: 'Active sessions grouped by organization',\n type: 'bar',\n object: 'sys_session',\n layout: {\n x: 6,\n y: 2,\n w: 6,\n h: 4,\n },\n categoryField: 'active_organization_id',\n aggregate: 'count',\n },\n\n // ── Recent Audit Log (Table) ────────────────────────────────────\n {\n id: 'widget_recent_events',\n title: 'Recent Audit Events',\n description: 'Latest platform events',\n type: 'metric',\n object: 'sys_audit_log',\n layout: {\n x: 0,\n y: 6,\n w: 12,\n h: 3,\n },\n aggregate: 'count',\n colorVariant: 'default',\n },\n ],\n globalFilters: [\n {\n field: 'created_at',\n type: 'date',\n label: 'Date Range',\n scope: 'dashboard',\n defaultValue: 'last_7_days',\n },\n ],\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { Dashboard } from '@objectstack/spec/ui';\n\n/**\n * Security Overview Dashboard\n * \n * Provides security and compliance monitoring:\n * - User authentication events\n * - Permission changes\n * - System configuration audits\n * - Active user sessions\n */\nexport const SecurityOverviewDashboard = Dashboard.create({\n name: 'security_overview',\n label: 'Security Overview',\n description: 'Security events, authentication, and audit trails',\n\n // 12-column grid matches the widget `w` values below.\n columns: 12,\n gap: 4,\n\n widgets: [\n // ── Failed Login Attempts Widget ────────────────────────────────\n {\n id: 'widget_failed_logins',\n title: 'Failed Login Attempts',\n type: 'metric',\n object: 'sys_audit_log',\n layout: {\n x: 0,\n y: 0,\n w: 3,\n h: 2,\n },\n filter: {\n field: 'action',\n operator: 'equals',\n value: 'login',\n },\n aggregate: 'count',\n colorVariant: 'danger',\n description: 'Failed authentication attempts (24h)',\n },\n\n // ── Permission Changes Widget ───────────────────────────────────\n {\n id: 'widget_permission_changes',\n title: 'Permission Changes',\n type: 'metric',\n object: 'sys_audit_log',\n layout: {\n x: 3,\n y: 0,\n w: 3,\n h: 2,\n },\n filter: {\n field: 'action',\n operator: 'equals',\n value: 'permission_change',\n },\n aggregate: 'count',\n colorVariant: 'warning',\n description: 'Recent permission and role modifications',\n },\n\n // ── System Config Changes Widget ────────────────────────────────\n {\n id: 'widget_config_changes',\n title: 'Config Changes',\n type: 'metric',\n object: 'sys_audit_log',\n layout: {\n x: 6,\n y: 0,\n w: 3,\n h: 2,\n },\n filter: {\n field: 'action',\n operator: 'equals',\n value: 'config_change',\n },\n aggregate: 'count',\n colorVariant: 'blue',\n description: 'System configuration modifications',\n },\n\n // ── Active Sessions Widget ──────────────────────────────────────\n {\n id: 'widget_active_sessions',\n title: 'Active Sessions',\n type: 'metric',\n object: 'sys_session',\n layout: {\n x: 9,\n y: 0,\n w: 3,\n h: 2,\n },\n aggregate: 'count',\n colorVariant: 'success',\n description: 'Currently active user sessions',\n },\n\n // ── Audit Events by Type ────────────────────────────────────────\n {\n id: 'widget_events_by_type',\n title: 'Audit Events by Type',\n description: 'Distribution of security and audit events',\n type: 'pie',\n object: 'sys_audit_log',\n layout: {\n x: 0,\n y: 2,\n w: 6,\n h: 4,\n },\n categoryField: 'action',\n aggregate: 'count',\n },\n\n // ── Audit Events by User ────────────────────────────────────────\n {\n id: 'widget_events_by_user',\n title: 'Events by User',\n description: 'Activity distribution across users',\n type: 'bar',\n object: 'sys_audit_log',\n layout: {\n x: 6,\n y: 2,\n w: 6,\n h: 4,\n },\n categoryField: 'user_id',\n aggregate: 'count',\n },\n\n // ── Recent Security Events (Table) ──────────────────────────────\n {\n id: 'widget_recent_security_events',\n title: 'Recent Security Events',\n description: 'Latest permission and config changes',\n type: 'metric',\n object: 'sys_audit_log',\n layout: {\n x: 0,\n y: 6,\n w: 12,\n h: 3,\n },\n aggregate: 'count',\n colorVariant: 'default',\n },\n ],\n globalFilters: [\n {\n field: 'created_at',\n type: 'date',\n label: 'Date Range',\n scope: 'dashboard',\n defaultValue: 'last_7_days',\n },\n ],\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/apps/setup.app.ts","../../src/apps/dashboards/system_overview.dashboard.ts","../../src/apps/dashboards/security_overview.dashboard.ts"],"names":["Dashboard"],"mappings":"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","file":"index.js","sourcesContent":["// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\n/**\n * Platform Setup App — static definition.\n *\n * Lists every `sys_*` administrative object as a left-hand navigation\n * entry in ObjectUI's \"Setup\" area. Lives here (alongside the object\n * schemas it references) instead of being assembled at runtime by\n * `@objectstack/plugin-setup` — that plugin existed only because the\n * referenced objects used to live in three different runtime plugins\n * (auth/security/audit). Now that all `sys_*` objects are centralized\n * in `@objectstack/platform-objects`, the Setup App is a fixed metadata\n * artifact too and can be exported as plain data.\n *\n * The runtime registration happens in `plugin-auth` (which is always\n * loaded alongside security + audit and already calls\n * `manifest.register({...})`).\n *\n * Menu shape: flat `navigation[]` with `type: 'group'` category nodes,\n * matching the convention used by the CRM example app\n * (`examples/app-crm/src/apps/crm.app.ts`). The legacy `areas[]` shape\n * was abandoned because it rendered poorly compared to the category\n * style ObjectUI is built around.\n */\n\nimport type { App } from '@objectstack/spec/ui';\n\nexport const SETUP_APP: App = {\n name: 'setup',\n label: 'Setup',\n description: 'Platform settings and administration',\n icon: 'settings',\n active: true,\n isDefault: false,\n branding: {\n primaryColor: '#475569', // Slate-600 — neutral admin palette\n },\n requiredPermissions: ['setup.access'],\n navigation: [\n {\n id: 'group_overview',\n type: 'group',\n label: 'Overview',\n icon: 'layout-dashboard',\n children: [\n { id: 'nav_system_overview', type: 'dashboard', label: 'System Overview', dashboardName: 'system_overview', icon: 'activity' },\n { id: 'nav_security_overview', type: 'dashboard', label: 'Security Overview', dashboardName: 'security_overview', icon: 'shield' },\n ],\n },\n {\n id: 'group_people_org',\n type: 'group',\n label: 'People & Organization',\n icon: 'users',\n children: [\n // HR-shaped grouping: who exists, where they sit in the org chart,\n // and which tenants/teams they belong to. `sys_department` is the\n // platform-owned org skeleton (M10.17.1); `sys_team` is better-auth's\n // flat collaboration grouping.\n //\n // M10.30b: removed top-level Department Members / Team Members /\n // Org Members entries — they are M:N join tables and the natural\n // entry point is the parent record's detail page.\n { id: 'nav_users', type: 'object', label: 'Users', objectName: 'sys_user', icon: 'user' },\n { id: 'nav_departments', type: 'object', label: 'Departments', objectName: 'sys_department', icon: 'building', requiresObject: 'sys_department' },\n { id: 'nav_teams', type: 'object', label: 'Teams', objectName: 'sys_team', icon: 'users-round' },\n { id: 'nav_organizations', type: 'object', label: 'Organizations', objectName: 'sys_organization', icon: 'building-2' },\n { id: 'nav_invitations', type: 'object', label: 'Invitations', objectName: 'sys_invitation', icon: 'mail' },\n ],\n },\n {\n id: 'group_access_control',\n type: 'group',\n label: 'Access Control',\n icon: 'shield',\n children: [\n // M10.30b: removed top-level User Permission Sets / Role Permission\n // Sets entries — same M:N → parent-detail-tab argument as the\n // People & Org cleanup.\n { id: 'nav_roles', type: 'object', label: 'Roles', objectName: 'sys_role', icon: 'shield-check' },\n { id: 'nav_permission_sets', type: 'object', label: 'Permission Sets', objectName: 'sys_permission_set', icon: 'lock' },\n { id: 'nav_sharing_rules', type: 'object', label: 'Sharing Rules', objectName: 'sys_sharing_rule', icon: 'share-2', requiresObject: 'sys_sharing_rule' },\n { id: 'nav_record_shares', type: 'object', label: 'Record Shares', objectName: 'sys_record_share', icon: 'link', requiresObject: 'sys_record_share' },\n { id: 'nav_api_keys', type: 'object', label: 'API Keys', objectName: 'sys_api_key', icon: 'key' },\n ],\n },\n {\n id: 'group_approvals',\n type: 'group',\n label: 'Approvals',\n icon: 'check-circle',\n children: [\n { id: 'nav_approval_processes', type: 'object', label: 'Processes', objectName: 'sys_approval_process', icon: 'workflow', requiresObject: 'sys_approval_process' },\n { id: 'nav_approval_requests', type: 'object', label: 'Requests', objectName: 'sys_approval_request', icon: 'inbox', requiresObject: 'sys_approval_request' },\n { id: 'nav_approval_actions', type: 'object', label: 'Action History', objectName: 'sys_approval_action', icon: 'history', requiresObject: 'sys_approval_action' },\n ],\n },\n {\n id: 'group_configuration',\n type: 'group',\n label: 'Configuration',\n icon: 'sliders-horizontal',\n children: [\n // Metadata-driven settings hub. Each entry maps to a SettingsManifest\n // namespace exposed by @objectstack/service-settings. URL navigation\n // is used (not `object`) because settings are stored in a generic\n // K/V table (`sys_setting`) rather than per-namespace objects, and\n // the renderer is a dedicated <SettingsView> page in objectui.\n { id: 'nav_settings_hub', type: 'url', label: 'All Settings', url: '/apps/setup/system/settings', icon: 'settings-2' },\n { id: 'nav_settings_mail', type: 'url', label: 'Email', url: '/apps/setup/system/settings/mail', icon: 'mail' },\n { id: 'nav_settings_branding', type: 'url', label: 'Branding', url: '/apps/setup/system/settings/branding', icon: 'palette' },\n { id: 'nav_settings_feature_flags', type: 'url', label: 'Feature Flags', url: '/apps/setup/system/settings/feature_flags', icon: 'flag' },\n ],\n },\n {\n id: 'group_diagnostics',\n type: 'group',\n label: 'Diagnostics',\n icon: 'stethoscope',\n children: [\n // Day-to-day observability surfaces. M10.30b removed `sys_activity`\n // and `sys_comment` — both are CRM operational data authored from\n // record pages, not platform admin surfaces.\n { id: 'nav_sessions', type: 'object', label: 'Sessions', objectName: 'sys_session', icon: 'monitor' },\n { id: 'nav_audit_logs', type: 'object', label: 'Audit Logs', objectName: 'sys_audit_log', icon: 'scroll-text' },\n { id: 'nav_notifications', type: 'object', label: 'Notifications', objectName: 'sys_notification', icon: 'bell', requiresObject: 'sys_notification' },\n ],\n },\n {\n id: 'group_advanced',\n type: 'group',\n label: 'Advanced',\n icon: 'wrench',\n expanded: false,\n children: [\n // Better-auth internals — rarely useful for humans, but exposed\n // so support engineers can inspect token state without dropping\n // to SQL. The objectui sidebar collapses this group by default;\n // edits should hit the read-only banner since these are all\n // `managedBy: 'better-auth'`.\n //\n // M10.30b changes:\n // - Removed the 3 OAuth satellite menus (access tokens / refresh\n // tokens / consents). They live under their parent OAuth App.\n // - Renamed \"Linked Accounts\" → \"Identity Links\" to distinguish\n // from sys_user / org members.\n // - Demoted \"All Metadata\" from the (now-deleted) Platform group\n // to this Advanced/debug bucket.\n // - The marketplace-only `sys_app` / `sys_package` /\n // `sys_package_installation` menus have been removed entirely;\n // they are contributed by `@objectstack/service-tenant`\n // (control-plane) and are not present in single-project runtimes.\n { id: 'nav_oauth_apps', type: 'object', label: 'OAuth Applications', objectName: 'sys_oauth_application', icon: 'app-window' },\n { id: 'nav_jwks', type: 'object', label: 'Signing Keys (JWKS)', objectName: 'sys_jwks', icon: 'key-round' },\n { id: 'nav_verifications', type: 'object', label: 'Verifications', objectName: 'sys_verification', icon: 'mail-check' },\n { id: 'nav_two_factor', type: 'object', label: 'Two-Factor', objectName: 'sys_two_factor', icon: 'smartphone' },\n { id: 'nav_device_codes', type: 'object', label: 'Device Codes', objectName: 'sys_device_code', icon: 'qr-code' },\n { id: 'nav_accounts', type: 'object', label: 'Identity Links', objectName: 'sys_account', icon: 'link-2' },\n { id: 'nav_user_preferences', type: 'object', label: 'User Preferences', objectName: 'sys_user_preference', icon: 'sliders' },\n { id: 'nav_metadata', type: 'object', label: 'All Metadata', objectName: 'sys_metadata', icon: 'file-cog' },\n ],\n },\n ],\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { Dashboard } from '@objectstack/spec/ui';\n\n/**\n * System Overview Dashboard\n * \n * Provides at-a-glance monitoring of platform health and key metrics:\n * - Active user sessions\n * - Audit activity (recent events)\n * - Package installation status\n * - Platform configuration\n */\nexport const SystemOverviewDashboard = Dashboard.create({\n name: 'system_overview',\n label: 'System Overview',\n description: 'Platform health, sessions, and audit activity',\n\n // 12-column grid matches the widget `w` values below (3, 6, 12). Without\n // this, the renderer falls back to a 4-column grid and `w: 3` becomes 75%\n // width per metric — so KPI cards stack vertically instead of forming a\n // 4-up row.\n columns: 12,\n gap: 4,\n\n widgets: [\n // ── Active Sessions Widget ──────────────────────────────────────\n {\n id: 'widget_active_sessions',\n title: 'Active Sessions',\n type: 'metric',\n object: 'sys_session',\n layout: {\n x: 0,\n y: 0,\n w: 3,\n h: 2,\n },\n aggregate: 'count',\n colorVariant: 'blue',\n description: 'Number of currently active user sessions',\n },\n\n // ── Total Users Widget ──────────────────────────────────────────\n {\n id: 'widget_total_users',\n title: 'Total Users',\n type: 'metric',\n object: 'sys_user',\n layout: {\n x: 3,\n y: 0,\n w: 3,\n h: 2,\n },\n aggregate: 'count',\n colorVariant: 'teal',\n description: 'Total registered users in the system',\n },\n\n // ── Organizations Widget ────────────────────────────────────────\n {\n id: 'widget_organizations',\n title: 'Organizations',\n type: 'metric',\n object: 'sys_organization',\n layout: {\n x: 6,\n y: 0,\n w: 3,\n h: 2,\n },\n aggregate: 'count',\n colorVariant: 'orange',\n description: 'Total organizations on the platform',\n },\n\n // ── Packages Installed Widget ───────────────────────────────────\n {\n id: 'widget_packages_installed',\n title: 'Packages Installed',\n type: 'metric',\n object: 'sys_package_installation',\n // Cloud-only object — only registered when service-tenant is loaded.\n // Hide this widget gracefully in single-project runtimes.\n requiresObject: 'sys_package_installation',\n layout: {\n x: 9,\n y: 0,\n w: 3,\n h: 2,\n },\n filter: { status: 'installed' },\n aggregate: 'count',\n colorVariant: 'success',\n description: 'Active package installations across projects',\n },\n\n // ── Audit Actions by Type ───────────────────────────────────────\n // Note: relative date filters like `NOW() - INTERVAL 7 DAY` are not\n // currently substituted by the analytics layer (see\n // service-analytics/strategies/filter-normalizer.ts). The dashboard's\n // `globalFilters` date-range bar at the bottom is the supported way\n // to scope this widget.\n {\n id: 'widget_audit_actions',\n title: 'Audit Actions',\n description: 'Distribution of audit events by action type',\n type: 'pie',\n object: 'sys_audit_log',\n layout: {\n x: 0,\n y: 2,\n w: 6,\n h: 4,\n },\n categoryField: 'action',\n aggregate: 'count',\n },\n\n // ── Session Status Overview ─────────────────────────────────────\n {\n id: 'widget_active_orgs',\n title: 'Sessions by Organization',\n description: 'Active sessions grouped by organization',\n type: 'bar',\n object: 'sys_session',\n layout: {\n x: 6,\n y: 2,\n w: 6,\n h: 4,\n },\n categoryField: 'active_organization_id',\n aggregate: 'count',\n },\n\n // ── Recent Audit Log (Table) ────────────────────────────────────\n // `type: 'table'` renders the underlying rows directly, so this\n // panel actually shows the latest events instead of just repeating\n // the total-count metric. `valueField`/`aggregate` are intentionally\n // omitted — table widgets pull raw records.\n {\n id: 'widget_recent_events',\n title: 'Recent Audit Events',\n description: 'Latest platform events',\n type: 'table',\n object: 'sys_audit_log',\n layout: {\n x: 0,\n y: 6,\n w: 12,\n h: 4,\n },\n options: {\n columns: ['created_at', 'user_id', 'action', 'object_name', 'record_id'],\n sort: [{ field: 'created_at', order: 'desc' }],\n pageSize: 20,\n },\n },\n ],\n globalFilters: [\n {\n field: 'created_at',\n type: 'date',\n label: 'Date Range',\n scope: 'dashboard',\n defaultValue: 'last_7_days',\n },\n ],\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { Dashboard } from '@objectstack/spec/ui';\n\n/**\n * Security Overview Dashboard\n * \n * Provides security and compliance monitoring:\n * - User authentication events\n * - Permission changes\n * - System configuration audits\n * - Active user sessions\n */\nexport const SecurityOverviewDashboard = Dashboard.create({\n name: 'security_overview',\n label: 'Security Overview',\n description: 'Security events, authentication, and audit trails',\n\n // 12-column grid matches the widget `w` values below.\n columns: 12,\n gap: 4,\n\n widgets: [\n // ── Login Events Widget ─────────────────────────────────────────\n // The `sys_audit_log.action` enum doesn't distinguish failed vs\n // successful logins (both fold into `action='login'`). Surfacing a\n // total Login Events count is honest; a \"Failed Logins\" widget will\n // need a richer enum or a separate detail field first.\n {\n id: 'widget_login_events',\n title: 'Login Events',\n type: 'metric',\n object: 'sys_audit_log',\n layout: {\n x: 0,\n y: 0,\n w: 3,\n h: 2,\n },\n filter: { action: 'login' },\n aggregate: 'count',\n colorVariant: 'blue',\n description: 'Authentication events recorded by the audit log',\n },\n\n // ── Permission Changes Widget ───────────────────────────────────\n {\n id: 'widget_permission_changes',\n title: 'Permission Changes',\n type: 'metric',\n object: 'sys_audit_log',\n layout: {\n x: 3,\n y: 0,\n w: 3,\n h: 2,\n },\n filter: { action: 'permission_change' },\n aggregate: 'count',\n colorVariant: 'warning',\n description: 'Recent permission and role modifications',\n },\n\n // ── System Config Changes Widget ────────────────────────────────\n {\n id: 'widget_config_changes',\n title: 'Config Changes',\n type: 'metric',\n object: 'sys_audit_log',\n layout: {\n x: 6,\n y: 0,\n w: 3,\n h: 2,\n },\n filter: { action: 'config_change' },\n aggregate: 'count',\n colorVariant: 'blue',\n description: 'System configuration modifications',\n },\n\n // ── Active Sessions Widget ──────────────────────────────────────\n {\n id: 'widget_active_sessions',\n title: 'Active Sessions',\n type: 'metric',\n object: 'sys_session',\n layout: {\n x: 9,\n y: 0,\n w: 3,\n h: 2,\n },\n aggregate: 'count',\n colorVariant: 'success',\n description: 'Currently active user sessions',\n },\n\n // ── Audit Events by Type ────────────────────────────────────────\n {\n id: 'widget_events_by_type',\n title: 'Audit Events by Type',\n description: 'Distribution of security and audit events',\n type: 'pie',\n object: 'sys_audit_log',\n layout: {\n x: 0,\n y: 2,\n w: 6,\n h: 4,\n },\n categoryField: 'action',\n aggregate: 'count',\n },\n\n // ── Audit Events by User ────────────────────────────────────────\n {\n id: 'widget_events_by_user',\n title: 'Events by User',\n description: 'Activity distribution across users',\n type: 'bar',\n object: 'sys_audit_log',\n layout: {\n x: 6,\n y: 2,\n w: 6,\n h: 4,\n },\n categoryField: 'user_id',\n aggregate: 'count',\n },\n\n // ── Recent Security Events (Table) ──────────────────────────────\n // Real table widget — pulls the latest permission/config rows.\n {\n id: 'widget_recent_security_events',\n title: 'Recent Security Events',\n description: 'Latest permission and config changes',\n type: 'table',\n object: 'sys_audit_log',\n layout: {\n x: 0,\n y: 6,\n w: 12,\n h: 4,\n },\n filter: {\n action: { $in: ['login', 'logout', 'permission_change', 'config_change'] },\n },\n options: {\n columns: ['created_at', 'user_id', 'action', 'object_name', 'record_id'],\n sort: [{ field: 'created_at', order: 'desc' }],\n pageSize: 20,\n },\n },\n ],\n globalFilters: [\n {\n field: 'created_at',\n type: 'date',\n label: 'Date Range',\n scope: 'dashboard',\n defaultValue: 'last_7_days',\n },\n ],\n});\n"]}
|