@objectstack/platform-objects 5.1.0 → 6.0.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.
@@ -19,10 +19,10 @@ import { TranslationBundle, TranslationData } from '@objectstack/spec/system';
19
19
  * `manifest.register({...})`).
20
20
  *
21
21
  * Menu shape: flat `navigation[]` with `type: 'group'` category nodes,
22
- * matching the convention used by the CRM example app
23
- * (`examples/app-crm/src/apps/crm.app.ts`). The legacy `areas[]` shape
24
- * was abandoned because it rendered poorly compared to the category
25
- * style ObjectUI is built around.
22
+ * matching the convention used by the HotCRM reference app at
23
+ * https://github.com/objectstack-ai/hotcrm (see `src/apps/crm.app.ts`).
24
+ * The legacy `areas[]` shape was abandoned because it rendered poorly
25
+ * compared to the category style ObjectUI is built around.
26
26
  */
27
27
 
28
28
  declare const SETUP_APP: App;
@@ -19,10 +19,10 @@ import { TranslationBundle, TranslationData } from '@objectstack/spec/system';
19
19
  * `manifest.register({...})`).
20
20
  *
21
21
  * Menu shape: flat `navigation[]` with `type: 'group'` category nodes,
22
- * matching the convention used by the CRM example app
23
- * (`examples/app-crm/src/apps/crm.app.ts`). The legacy `areas[]` shape
24
- * was abandoned because it rendered poorly compared to the category
25
- * style ObjectUI is built around.
22
+ * matching the convention used by the HotCRM reference app at
23
+ * https://github.com/objectstack-ai/hotcrm (see `src/apps/crm.app.ts`).
24
+ * The legacy `areas[]` shape was abandoned because it rendered poorly
25
+ * compared to the category style ObjectUI is built around.
26
26
  */
27
27
 
28
28
  declare const SETUP_APP: App;
@@ -105,6 +105,28 @@ var SETUP_APP = {
105
105
  { id: "nav_notifications", type: "object", label: "Notifications", objectName: "sys_notification", icon: "bell", requiresObject: "sys_notification" }
106
106
  ]
107
107
  },
108
+ {
109
+ id: "group_integrations",
110
+ type: "group",
111
+ label: "Integrations",
112
+ icon: "plug",
113
+ children: [
114
+ // Outbound HTTP integrations. `sys_webhook` always ships with
115
+ // platform-objects, so the Webhooks entry is always visible.
116
+ // `sys_webhook_delivery` is the durable outbox row from
117
+ // `@objectstack/plugin-webhooks/schema` — gated on `requiresObject`
118
+ // so the Deliveries entry only renders when the plugin has been
119
+ // wired into `defineStack({ objects: [SysWebhookDelivery, ...] })`.
120
+ //
121
+ // This is the canonical demonstration of "everything is an object":
122
+ // managing webhooks (configuration) and inspecting deliveries
123
+ // (operational telemetry) reuses the same generic ObjectView /
124
+ // ObjectListView UI as any business object — no bespoke webhook
125
+ // admin page.
126
+ { id: "nav_webhooks", type: "object", label: "Webhooks", objectName: "sys_webhook", icon: "webhook", requiresObject: "sys_webhook" },
127
+ { id: "nav_webhook_deliveries", type: "object", label: "Webhook Deliveries", objectName: "sys_webhook_delivery", icon: "send", requiresObject: "sys_webhook_delivery" }
128
+ ]
129
+ },
108
130
  {
109
131
  id: "group_advanced",
110
132
  type: "group",
@@ -128,7 +150,7 @@ var SETUP_APP = {
128
150
  // - The marketplace-only `sys_app` / `sys_package` /
129
151
  // `sys_package_installation` menus have been removed entirely;
130
152
  // they are contributed by `@objectstack/service-tenant`
131
- // (control-plane) and are not present in single-project runtimes.
153
+ // (control-plane) and are not present in single-environment runtimes.
132
154
  { id: "nav_oauth_apps", type: "object", label: "OAuth Applications", objectName: "sys_oauth_application", icon: "app-window" },
133
155
  { id: "nav_jwks", type: "object", label: "Signing Keys (JWKS)", objectName: "sys_jwks", icon: "key-round" },
134
156
  { id: "nav_verifications", type: "object", label: "Verifications", objectName: "sys_verification", icon: "mail-check" },
@@ -207,7 +229,7 @@ var SystemOverviewDashboard = ui.Dashboard.create({
207
229
  type: "metric",
208
230
  object: "sys_package_installation",
209
231
  // Cloud-only object — only registered when service-tenant is loaded.
210
- // Hide this widget gracefully in single-project runtimes.
232
+ // Hide this widget gracefully in single-environment runtimes.
211
233
  requiresObject: "sys_package_installation",
212
234
  layout: {
213
235
  x: 9,
@@ -2059,9 +2081,9 @@ var enObjects = {
2059
2081
  label: "URL",
2060
2082
  help: "Optional deep-link to the activity target"
2061
2083
  },
2062
- project_id: {
2084
+ environment_id: {
2063
2085
  label: "Project",
2064
- help: "Project context (multi-project deployments)"
2086
+ help: "Environment context (multi-environment deployments)"
2065
2087
  },
2066
2088
  metadata: {
2067
2089
  label: "Metadata",
@@ -3054,7 +3076,7 @@ var enObjects = {
3054
3076
  label: "Organization",
3055
3077
  help: "Organization for multi-tenant isolation."
3056
3078
  },
3057
- project_id: {
3079
+ environment_id: {
3058
3080
  label: "Project (deprecated)",
3059
3081
  help: "DEPRECATED. Use organization_id for tenant isolation."
3060
3082
  },
@@ -3136,7 +3158,7 @@ var enObjects = {
3136
3158
  label: "Organization",
3137
3159
  help: "Organization for multi-tenant isolation."
3138
3160
  },
3139
- project_id: {
3161
+ environment_id: {
3140
3162
  label: "Environment ID",
3141
3163
  help: "Scopes this history entry to a specific environment."
3142
3164
  },
@@ -5094,7 +5116,7 @@ var zhCNObjects = {
5094
5116
  label: "URL",
5095
5117
  help: "\u6307\u5411\u6D3B\u52A8\u76EE\u6807\u7684\u53EF\u9009\u6DF1\u5EA6\u94FE\u63A5"
5096
5118
  },
5097
- project_id: {
5119
+ environment_id: {
5098
5120
  label: "\u9879\u76EE",
5099
5121
  help: "\u9879\u76EE\u4E0A\u4E0B\u6587\uFF08\u591A\u9879\u76EE\u90E8\u7F72\uFF09"
5100
5122
  },
@@ -6093,7 +6115,7 @@ var zhCNObjects = {
6093
6115
  label: "\u7EC4\u7EC7",
6094
6116
  help: "\u7528\u4E8E\u591A\u79DF\u6237\u9694\u79BB\u7684\u7EC4\u7EC7\u3002"
6095
6117
  },
6096
- project_id: {
6118
+ environment_id: {
6097
6119
  label: "\u9879\u76EE\uFF08\u5DF2\u5E9F\u5F03\uFF09",
6098
6120
  help: "\u5DF2\u5E9F\u5F03\u3002\u8BF7\u4F7F\u7528 organization_id \u8FDB\u884C\u79DF\u6237\u9694\u79BB\u3002"
6099
6121
  },
@@ -6175,7 +6197,7 @@ var zhCNObjects = {
6175
6197
  label: "\u7EC4\u7EC7",
6176
6198
  help: "\u7528\u4E8E\u591A\u79DF\u6237\u9694\u79BB\u7684\u7EC4\u7EC7\u3002"
6177
6199
  },
6178
- project_id: {
6200
+ environment_id: {
6179
6201
  label: "\u73AF\u5883 ID",
6180
6202
  help: "\u5C06\u8BE5\u5386\u53F2\u8BB0\u5F55\u9650\u5B9A\u5230\u7279\u5B9A\u73AF\u5883\u3002"
6181
6203
  },
@@ -8083,7 +8105,7 @@ var jaJPObjects = {
8083
8105
  label: "URL",
8084
8106
  help: "\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\u30BF\u30FC\u30B2\u30C3\u30C8\u3078\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u30C7\u30A3\u30FC\u30D7\u30EA\u30F3\u30AF"
8085
8107
  },
8086
- project_id: {
8108
+ environment_id: {
8087
8109
  label: "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8",
8088
8110
  help: "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\uFF08\u30DE\u30EB\u30C1\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C7\u30D7\u30ED\u30A4\u30E1\u30F3\u30C8\uFF09"
8089
8111
  },
@@ -9078,7 +9100,7 @@ var jaJPObjects = {
9078
9100
  label: "\u7D44\u7E54",
9079
9101
  help: "\u30DE\u30EB\u30C1\u30C6\u30CA\u30F3\u30C8\u5206\u96E2\u306E\u305F\u3081\u306E\u7D44\u7E54\u3002"
9080
9102
  },
9081
- project_id: {
9103
+ environment_id: {
9082
9104
  label: "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\uFF08\u975E\u63A8\u5968\uFF09",
9083
9105
  help: "\u975E\u63A8\u5968\u3002\u30C6\u30CA\u30F3\u30C8\u5206\u96E2\u306B\u306F organization_id \u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002"
9084
9106
  },
@@ -9160,7 +9182,7 @@ var jaJPObjects = {
9160
9182
  label: "\u7D44\u7E54",
9161
9183
  help: "\u30DE\u30EB\u30C1\u30C6\u30CA\u30F3\u30C8\u5206\u96E2\u306E\u305F\u3081\u306E\u7D44\u7E54\u3002"
9162
9184
  },
9163
- project_id: {
9185
+ environment_id: {
9164
9186
  label: "\u74B0\u5883 ID",
9165
9187
  help: "\u3053\u306E\u5C65\u6B74\u30A8\u30F3\u30C8\u30EA\u3092\u7279\u5B9A\u306E\u74B0\u5883\u306B\u30B9\u30B3\u30FC\u30D7\u3057\u307E\u3059\u3002"
9166
9188
  },
@@ -11068,7 +11090,7 @@ var esESObjects = {
11068
11090
  label: "URL",
11069
11091
  help: "Enlace profundo opcional al destino de la actividad."
11070
11092
  },
11071
- project_id: {
11093
+ environment_id: {
11072
11094
  label: "Proyecto",
11073
11095
  help: "Contexto del proyecto (implementaciones multiproyecto)."
11074
11096
  },
@@ -12063,7 +12085,7 @@ var esESObjects = {
12063
12085
  label: "Organizaci\xF3n",
12064
12086
  help: "Organizaci\xF3n para el aislamiento multi-tenant."
12065
12087
  },
12066
- project_id: {
12088
+ environment_id: {
12067
12089
  label: "Proyecto (obsoleto)",
12068
12090
  help: "OBSOLETO. Use organization_id para el aislamiento del tenant."
12069
12091
  },
@@ -12145,7 +12167,7 @@ var esESObjects = {
12145
12167
  label: "Organizaci\xF3n",
12146
12168
  help: "Organizaci\xF3n para el aislamiento multi-tenant."
12147
12169
  },
12148
- project_id: {
12170
+ environment_id: {
12149
12171
  label: "ID del entorno",
12150
12172
  help: "Limita esta entrada de historial a un entorno espec\xEDfico."
12151
12173
  },