@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.cjs CHANGED
@@ -907,8 +907,8 @@ var manifest = {
907
907
  icon: "Mail",
908
908
  description: "SMTP and transactional email provider configuration.",
909
909
  scope: "global",
910
- readPermission: "setup.access",
911
- writePermission: "setup.write",
910
+ readPermission: "manage_platform_settings",
911
+ writePermission: "manage_platform_settings",
912
912
  category: "Communication",
913
913
  order: 10,
914
914
  specifiers: [
@@ -1121,8 +1121,8 @@ var manifest2 = {
1121
1121
  icon: "HardDrive",
1122
1122
  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.",
1123
1123
  scope: "global",
1124
- readPermission: "setup.access",
1125
- writePermission: "setup.write",
1124
+ readPermission: "manage_platform_settings",
1125
+ writePermission: "manage_platform_settings",
1126
1126
  category: "Infrastructure",
1127
1127
  order: 20,
1128
1128
  specifiers: [
@@ -1294,8 +1294,8 @@ var manifest3 = {
1294
1294
  icon: "Sparkles",
1295
1295
  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.",
1296
1296
  scope: "global",
1297
- readPermission: "setup.access",
1298
- writePermission: "setup.write",
1297
+ readPermission: "manage_platform_settings",
1298
+ writePermission: "manage_platform_settings",
1299
1299
  category: "Infrastructure",
1300
1300
  order: 30,
1301
1301
  specifiers: [
@@ -1473,6 +1473,39 @@ var manifest3 = {
1473
1473
  max: 6e5,
1474
1474
  visible: "${data.provider !== 'memory'}"
1475
1475
  },
1476
+ // ── Conversation titles ──────────────────────────────────────
1477
+ // After the first assistant turn lands, service-ai fires a one-shot
1478
+ // LLM call that asks the model to produce a ≤16-char title and
1479
+ // PATCHes it onto the conversation. Without this every row in the
1480
+ // sidebar shows "New conversation" + a truncated preview.
1481
+ {
1482
+ type: "group",
1483
+ id: "titles",
1484
+ label: "Conversation titles",
1485
+ required: false,
1486
+ description: "Auto-generate a short summary title for new conversations.",
1487
+ visible: "${data.provider !== 'memory'}"
1488
+ },
1489
+ {
1490
+ type: "toggle",
1491
+ key: "title_generation_enabled",
1492
+ label: "Auto-summarize conversation titles",
1493
+ required: false,
1494
+ default: true,
1495
+ 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.",
1496
+ visible: "${data.provider !== 'memory'}"
1497
+ },
1498
+ {
1499
+ type: "number",
1500
+ key: "title_max_length",
1501
+ label: "Title max length (chars)",
1502
+ required: false,
1503
+ default: 16,
1504
+ min: 8,
1505
+ max: 80,
1506
+ description: "Hard cap on the generated title. Anything longer is truncated server-side.",
1507
+ visible: "${data.provider !== 'memory' && data.title_generation_enabled !== false}"
1508
+ },
1476
1509
  // ── Observability ────────────────────────────────────────────
1477
1510
  { type: "group", id: "observability", label: "Observability", required: false },
1478
1511
  {
@@ -1644,8 +1677,8 @@ var manifest4 = {
1644
1677
  icon: "BookOpen",
1645
1678
  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.",
1646
1679
  scope: "global",
1647
- readPermission: "setup.access",
1648
- writePermission: "setup.write",
1680
+ readPermission: "manage_platform_settings",
1681
+ writePermission: "manage_platform_settings",
1649
1682
  category: "Infrastructure",
1650
1683
  order: 35,
1651
1684
  specifiers: [