@objectstack/service-settings 6.8.1 → 7.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.
package/dist/index.js CHANGED
@@ -849,8 +849,8 @@ var manifest = {
849
849
  icon: "Mail",
850
850
  description: "SMTP and transactional email provider configuration.",
851
851
  scope: "global",
852
- readPermission: "setup.access",
853
- writePermission: "setup.write",
852
+ readPermission: "manage_platform_settings",
853
+ writePermission: "manage_platform_settings",
854
854
  category: "Communication",
855
855
  order: 10,
856
856
  specifiers: [
@@ -1063,8 +1063,8 @@ var manifest2 = {
1063
1063
  icon: "HardDrive",
1064
1064
  description: "Backend used for attachments, exports, and user uploads. \u26A0 Switching adapter does not migrate existing files \u2014 files uploaded under the previous adapter become unreachable through the new one.",
1065
1065
  scope: "global",
1066
- readPermission: "setup.access",
1067
- writePermission: "setup.write",
1066
+ readPermission: "manage_platform_settings",
1067
+ writePermission: "manage_platform_settings",
1068
1068
  category: "Infrastructure",
1069
1069
  order: 20,
1070
1070
  specifiers: [
@@ -1236,8 +1236,8 @@ var manifest3 = {
1236
1236
  icon: "Sparkles",
1237
1237
  description: "LLM provider, model, credentials, and embedder configuration used by the platform AI and knowledge services. Provider SDK packages (e.g. @ai-sdk/openai for chat, @objectstack/embedder-openai for embeddings) must be installed on the host for the chosen provider to be loadable at runtime.",
1238
1238
  scope: "global",
1239
- readPermission: "setup.access",
1240
- writePermission: "setup.write",
1239
+ readPermission: "manage_platform_settings",
1240
+ writePermission: "manage_platform_settings",
1241
1241
  category: "Infrastructure",
1242
1242
  order: 30,
1243
1243
  specifiers: [
@@ -1415,6 +1415,39 @@ var manifest3 = {
1415
1415
  max: 6e5,
1416
1416
  visible: "${data.provider !== 'memory'}"
1417
1417
  },
1418
+ // ── Conversation titles ──────────────────────────────────────
1419
+ // After the first assistant turn lands, service-ai fires a one-shot
1420
+ // LLM call that asks the model to produce a ≤16-char title and
1421
+ // PATCHes it onto the conversation. Without this every row in the
1422
+ // sidebar shows "New conversation" + a truncated preview.
1423
+ {
1424
+ type: "group",
1425
+ id: "titles",
1426
+ label: "Conversation titles",
1427
+ required: false,
1428
+ description: "Auto-generate a short summary title for new conversations.",
1429
+ visible: "${data.provider !== 'memory'}"
1430
+ },
1431
+ {
1432
+ type: "toggle",
1433
+ key: "title_generation_enabled",
1434
+ label: "Auto-summarize conversation titles",
1435
+ required: false,
1436
+ default: true,
1437
+ description: "When on, the LLM is asked to produce a short title after the first assistant reply. Disable to save tokens, or leave the title blank to let users name conversations manually.",
1438
+ visible: "${data.provider !== 'memory'}"
1439
+ },
1440
+ {
1441
+ type: "number",
1442
+ key: "title_max_length",
1443
+ label: "Title max length (chars)",
1444
+ required: false,
1445
+ default: 16,
1446
+ min: 8,
1447
+ max: 80,
1448
+ description: "Hard cap on the generated title. Anything longer is truncated server-side.",
1449
+ visible: "${data.provider !== 'memory' && data.title_generation_enabled !== false}"
1450
+ },
1418
1451
  // ── Observability ────────────────────────────────────────────
1419
1452
  { type: "group", id: "observability", label: "Observability", required: false },
1420
1453
  {
@@ -1586,8 +1619,8 @@ var manifest4 = {
1586
1619
  icon: "BookOpen",
1587
1620
  description: "Vector-store backend for RAG / knowledge sources. \u26A0 Switching adapter does NOT migrate existing indices \u2014 documents indexed under the previous adapter become unreachable until re-indexed. The embedder is configured separately under AI.",
1588
1621
  scope: "global",
1589
- readPermission: "setup.access",
1590
- writePermission: "setup.write",
1622
+ readPermission: "manage_platform_settings",
1623
+ writePermission: "manage_platform_settings",
1591
1624
  category: "Infrastructure",
1592
1625
  order: 35,
1593
1626
  specifiers: [