@almadar/core 10.90.0 → 10.91.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.
Files changed (36) hide show
  1. package/dist/builders.d.ts +3 -3
  2. package/dist/builders.js +2 -1
  3. package/dist/builders.js.map +1 -1
  4. package/dist/{effect-7jQQxiIt.d.ts → effect-Bt8vKHwd.d.ts} +9 -1
  5. package/dist/{entityAccess-CpHfCQA3.d.ts → entityAccess-BdDX85rM.d.ts} +1 -1
  6. package/dist/factory/index.d.ts +4 -4
  7. package/dist/factory/index.js +225 -70
  8. package/dist/factory/index.js.map +1 -1
  9. package/dist/factory-runtime/index.d.ts +3 -3
  10. package/dist/factory-runtime/index.js +2 -1
  11. package/dist/factory-runtime/index.js.map +1 -1
  12. package/dist/i18n/index.js +6 -0
  13. package/dist/i18n/index.js.map +1 -1
  14. package/dist/{index-BresfHJy.d.ts → index-rOBf1Oag.d.ts} +24 -4
  15. package/dist/index.d.ts +10 -10
  16. package/dist/index.js +432 -79
  17. package/dist/index.js.map +1 -1
  18. package/dist/mock/index.d.ts +11 -5
  19. package/dist/mock/index.js +3 -2
  20. package/dist/mock/index.js.map +1 -1
  21. package/dist/patterns/component-mapping.json +1 -1
  22. package/dist/patterns/event-contracts.json +1 -1
  23. package/dist/patterns/index.d.ts +785 -109
  24. package/dist/patterns/index.js +424 -78
  25. package/dist/patterns/index.js.map +1 -1
  26. package/dist/patterns/integrators-registry.json +198 -6
  27. package/dist/patterns/patterns-registry.json +224 -70
  28. package/dist/patterns/registry.json +224 -70
  29. package/dist/patterns/services-registry.json +265 -68
  30. package/dist/{schema-C52juBr8.d.ts → schema-ovDTDQz9.d.ts} +2 -2
  31. package/dist/{trait-CFiL1YUN.d.ts → trait-C3e3btfn.d.ts} +1 -1
  32. package/dist/types/index.d.ts +5 -5
  33. package/dist/types/index.js +2 -1
  34. package/dist/types/index.js.map +1 -1
  35. package/dist/{types-BgC8ETnl.d.ts → types-rh0naR6C.d.ts} +2 -2
  36. package/package.json +1 -1
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "version": "1.0.0",
3
- "exportedAt": "2026-09-10T08:46:50.227Z",
3
+ "exportedAt": "2026-09-12T12:14:53.173Z",
4
4
  "services": {
5
5
  "llm": {
6
6
  "name": "llm",
7
- "description": "LLM service \u2014 text generation, classification, extraction, summarization",
7
+ "description": "LLM service text generation, classification, extraction, summarization",
8
8
  "category": "ai",
9
9
  "package": "@almadar/llm",
10
10
  "backend": "production",
@@ -117,7 +117,7 @@
117
117
  "properties": {
118
118
  "type": "object",
119
119
  "required": false,
120
- "description": "Keyed by field name \u2014 each named field carries its OWN nested schema\n(real JSON-Schema semantics; a single un-keyed nested schema here would\nsay every field of an object shares one shape).",
120
+ "description": "Keyed by field name each named field carries its OWN nested schema\n(real JSON-Schema semantics; a single un-keyed nested schema here would\nsay every field of an object shares one shape).",
121
121
  "mapValue": {
122
122
  "type": "JsonSchemaDefinition",
123
123
  "cyclic": true,
@@ -147,7 +147,7 @@
147
147
  "enum": {
148
148
  "type": "string[]",
149
149
  "required": false,
150
- "description": "Enum values are serialized to strings on the wire \u2014 pass `[\"a\",\"b\"]` even for non-string enums."
150
+ "description": "Enum values are serialized to strings on the wire pass `[\"a\",\"b\"]` even for non-string enums."
151
151
  }
152
152
  }
153
153
  },
@@ -239,7 +239,7 @@
239
239
  },
240
240
  "ml": {
241
241
  "name": "ml",
242
- "description": "ML service \u2014 model inference on a trained or off-the-shelf model",
242
+ "description": "ML service model inference on a trained or off-the-shelf model",
243
243
  "category": "ai",
244
244
  "package": "@almadar/llm",
245
245
  "backend": "production",
@@ -284,7 +284,7 @@
284
284
  },
285
285
  "data": {
286
286
  "name": "data",
287
- "description": "Data service \u2014 CRUD operations on entities",
287
+ "description": "Data service CRUD operations on entities",
288
288
  "category": "infrastructure",
289
289
  "package": "@almadar/server",
290
290
  "backend": "production",
@@ -400,7 +400,7 @@
400
400
  },
401
401
  "eventbus": {
402
402
  "name": "eventbus",
403
- "description": "Event bus \u2014 cross-trait pub/sub messaging",
403
+ "description": "Event bus cross-trait pub/sub messaging",
404
404
  "category": "infrastructure",
405
405
  "package": "@almadar/server",
406
406
  "backend": "production",
@@ -445,7 +445,7 @@
445
445
  },
446
446
  "discovery": {
447
447
  "name": "discovery",
448
- "description": "Service discovery \u2014 register and find services",
448
+ "description": "Service discovery register and find services",
449
449
  "category": "infrastructure",
450
450
  "package": "@almadar/server",
451
451
  "backend": "production",
@@ -577,7 +577,7 @@
577
577
  },
578
578
  "migration": {
579
579
  "name": "migration",
580
- "description": "Migration service \u2014 import external data (notes, docs, references) into the system",
580
+ "description": "Migration service import external data (notes, docs, references) into the system",
581
581
  "category": "infrastructure",
582
582
  "package": "@almadar-io/migration",
583
583
  "backend": "production",
@@ -703,7 +703,7 @@
703
703
  },
704
704
  "skills": {
705
705
  "name": "skills",
706
- "description": "Skills service \u2014 AI-powered schema generation",
706
+ "description": "Skills service AI-powered schema generation",
707
707
  "category": "ai",
708
708
  "package": "@almadar/skills",
709
709
  "backend": "production",
@@ -830,7 +830,7 @@
830
830
  },
831
831
  "github": {
832
832
  "name": "github",
833
- "description": "GitHub integration \u2014 repos, issues, PRs",
833
+ "description": "GitHub integration repos, issues, PRs",
834
834
  "category": "devtools",
835
835
  "package": "@almadar/integrations",
836
836
  "backend": "production",
@@ -1066,7 +1066,7 @@
1066
1066
  },
1067
1067
  {
1068
1068
  "name": "getFile",
1069
- "description": "Read a file's content from a repository at a given ref (declared intent \u2014 dispatch is being wired).",
1069
+ "description": "Read a file's content from a repository at a given ref (declared intent dispatch is being wired).",
1070
1070
  "params": [
1071
1071
  {
1072
1072
  "name": "owner",
@@ -1102,7 +1102,7 @@
1102
1102
  },
1103
1103
  {
1104
1104
  "name": "listCommits",
1105
- "description": "List commits on a repository, optionally filtered by file path (declared intent \u2014 dispatch is being wired).",
1105
+ "description": "List commits on a repository, optionally filtered by file path (declared intent dispatch is being wired).",
1106
1106
  "params": [
1107
1107
  {
1108
1108
  "name": "owner",
@@ -1164,7 +1164,7 @@
1164
1164
  },
1165
1165
  {
1166
1166
  "name": "createIssue",
1167
- "description": "Open a new issue on a repository (declared intent \u2014 dispatch is being wired).",
1167
+ "description": "Open a new issue on a repository (declared intent dispatch is being wired).",
1168
1168
  "params": [
1169
1169
  {
1170
1170
  "name": "owner",
@@ -1225,7 +1225,7 @@
1225
1225
  },
1226
1226
  "stripe": {
1227
1227
  "name": "stripe",
1228
- "description": "Stripe integration \u2014 payments, subscriptions, invoices",
1228
+ "description": "Stripe integration payments, subscriptions, invoices",
1229
1229
  "category": "payment",
1230
1230
  "package": "@almadar/integrations",
1231
1231
  "backend": "production",
@@ -1321,7 +1321,7 @@
1321
1321
  },
1322
1322
  "llm-integration": {
1323
1323
  "name": "llm-integration",
1324
- "description": "LLM integration \u2014 generate, embed, classify via external providers",
1324
+ "description": "LLM integration generate, embed, classify via external providers",
1325
1325
  "category": "ai",
1326
1326
  "package": "@almadar/integrations",
1327
1327
  "backend": "production",
@@ -1512,7 +1512,7 @@
1512
1512
  },
1513
1513
  "youtube": {
1514
1514
  "name": "youtube",
1515
- "description": "YouTube Data API \u2014 search videos, get video/channel details",
1515
+ "description": "YouTube Data API search videos, get video/channel details",
1516
1516
  "category": "media",
1517
1517
  "package": "@almadar/integrations",
1518
1518
  "backend": "production",
@@ -1589,7 +1589,7 @@
1589
1589
  },
1590
1590
  "twilio": {
1591
1591
  "name": "twilio",
1592
- "description": "Twilio \u2014 SMS, voice calls, verification",
1592
+ "description": "Twilio SMS, voice calls, verification",
1593
1593
  "category": "messaging",
1594
1594
  "package": "@almadar/integrations",
1595
1595
  "backend": "production",
@@ -1667,7 +1667,7 @@
1667
1667
  },
1668
1668
  "email": {
1669
1669
  "name": "email",
1670
- "description": "Email service \u2014 send, send with template",
1670
+ "description": "Email service send, send with template",
1671
1671
  "category": "messaging",
1672
1672
  "package": "@almadar/integrations",
1673
1673
  "backend": "production",
@@ -1746,7 +1746,7 @@
1746
1746
  },
1747
1747
  "webhook": {
1748
1748
  "name": "webhook",
1749
- "description": "Outbound webhook \u2014 signed HTTP POST notifications to external endpoints",
1749
+ "description": "Outbound webhook signed HTTP POST notifications to external endpoints",
1750
1750
  "category": "messaging",
1751
1751
  "package": "@almadar/integrations",
1752
1752
  "backend": "production",
@@ -1806,7 +1806,7 @@
1806
1806
  },
1807
1807
  "push": {
1808
1808
  "name": "push",
1809
- "description": "Web Push \u2014 VAPID-signed browser push notifications",
1809
+ "description": "Web Push VAPID-signed browser push notifications",
1810
1810
  "category": "messaging",
1811
1811
  "package": "@almadar/integrations",
1812
1812
  "backend": "production",
@@ -1894,7 +1894,7 @@
1894
1894
  },
1895
1895
  "calendar": {
1896
1896
  "name": "calendar",
1897
- "description": "Google Calendar \u2014 list/create/update/delete events, free-busy, push-channel watch (service account, domain-wide delegation)",
1897
+ "description": "Google Calendar list/create/update/delete events, free-busy, push-channel watch (service account, domain-wide delegation)",
1898
1898
  "category": "infrastructure",
1899
1899
  "package": "@almadar/integrations",
1900
1900
  "backend": "production",
@@ -2223,7 +2223,7 @@
2223
2223
  {
2224
2224
  "envVar": "GOOGLE_CALENDAR_CHANNEL_TOKEN",
2225
2225
  "required": false,
2226
- "description": "Watch-channel verification token \u2014 required to receive inbound calendar hooks (two-way sync)"
2226
+ "description": "Watch-channel verification token required to receive inbound calendar hooks (two-way sync)"
2227
2227
  }
2228
2228
  ],
2229
2229
  "hooks": [
@@ -2237,7 +2237,7 @@
2237
2237
  },
2238
2238
  "drive": {
2239
2239
  "name": "drive",
2240
- "description": "Google Drive \u2014 list/get/upload files, folders, sharing (service account, domain-wide delegation)",
2240
+ "description": "Google Drive list/get/upload files, folders, sharing (service account, domain-wide delegation)",
2241
2241
  "category": "infrastructure",
2242
2242
  "package": "@almadar/integrations",
2243
2243
  "backend": "production",
@@ -2410,7 +2410,7 @@
2410
2410
  {
2411
2411
  "envVar": "GOOGLE_DRIVE_SA_KEY",
2412
2412
  "required": false,
2413
- "description": "Google service-account key JSON (raw or base64) with drive scope \u2014 serves reads; store in Secret Manager, bind as env"
2413
+ "description": "Google service-account key JSON (raw or base64) with drive scope serves reads; store in Secret Manager, bind as env"
2414
2414
  },
2415
2415
  {
2416
2416
  "envVar": "GOOGLE_DRIVE_SUBJECT",
@@ -2420,7 +2420,7 @@
2420
2420
  {
2421
2421
  "envVar": "GOOGLE_DRIVE_REFRESH_TOKEN",
2422
2422
  "required": false,
2423
- "description": "User OAuth refresh token (drive-consent.mjs) \u2014 serves writes; SA uploads are impossible on personal accounts (no SA storage quota)"
2423
+ "description": "User OAuth refresh token (drive-consent.mjs) serves writes; SA uploads are impossible on personal accounts (no SA storage quota)"
2424
2424
  },
2425
2425
  {
2426
2426
  "envVar": "GOOGLE_DRIVE_FOLDER_ID",
@@ -2432,7 +2432,7 @@
2432
2432
  },
2433
2433
  "metaAds": {
2434
2434
  "name": "metaAds",
2435
- "description": "Meta Ads \u2014 read-only Marketing Insights (spend, campaigns) for profitability reporting",
2435
+ "description": "Meta Ads read-only Marketing Insights (spend, campaigns) for profitability reporting",
2436
2436
  "category": "marketing",
2437
2437
  "package": "@almadar/integrations",
2438
2438
  "backend": "production",
@@ -2521,21 +2521,21 @@
2521
2521
  {
2522
2522
  "envVar": "META_AD_ACCOUNT_ID",
2523
2523
  "required": false,
2524
- "description": "Default ad account id (act_\u2026); per-call accountId overrides"
2524
+ "description": "Default ad account id (act_); per-call accountId overrides"
2525
2525
  }
2526
2526
  ],
2527
2527
  "hooks": []
2528
2528
  },
2529
2529
  "accounting": {
2530
2530
  "name": "accounting",
2531
- "description": "Accounting export \u2014 invoice/journal rows to import-ready CSV (provider-pluggable)",
2531
+ "description": "Accounting export invoice/journal rows to import-ready CSV (provider-pluggable)",
2532
2532
  "category": "finance",
2533
2533
  "package": "@almadar/integrations",
2534
2534
  "backend": "production",
2535
2535
  "actions": [
2536
2536
  {
2537
2537
  "name": "exportInvoices",
2538
- "description": "Shape invoice rows into an import-ready CSV export (no accounting-vendor connection \u2014 generic column set).",
2538
+ "description": "Shape invoice rows into an import-ready CSV export (no accounting-vendor connection generic column set).",
2539
2539
  "params": [
2540
2540
  {
2541
2541
  "name": "invoices",
@@ -2659,7 +2659,7 @@
2659
2659
  },
2660
2660
  "banking": {
2661
2661
  "name": "banking",
2662
- "description": "Banking \u2014 GoCardless Bank Account Data (requisitions, accounts, transactions) for reconciliation",
2662
+ "description": "Banking GoCardless Bank Account Data (requisitions, accounts, transactions) for reconciliation",
2663
2663
  "category": "finance",
2664
2664
  "package": "@almadar/integrations",
2665
2665
  "backend": "production",
@@ -2782,7 +2782,7 @@
2782
2782
  },
2783
2783
  "esign": {
2784
2784
  "name": "esign",
2785
- "description": "E-signature \u2014 send/track/download envelopes (DocuSign first, provider-pluggable)",
2785
+ "description": "E-signature send/track/download envelopes (DocuSign first, provider-pluggable)",
2786
2786
  "category": "infrastructure",
2787
2787
  "package": "@almadar/integrations",
2788
2788
  "backend": "production",
@@ -2876,14 +2876,14 @@
2876
2876
  },
2877
2877
  "docker": {
2878
2878
  "name": "docker",
2879
- "description": "Docker \u2014 container and image management",
2879
+ "description": "Docker container and image management",
2880
2880
  "category": "devtools",
2881
2881
  "package": "@almadar/integrations",
2882
2882
  "backend": "simulated",
2883
2883
  "actions": [
2884
2884
  {
2885
2885
  "name": "build",
2886
- "description": "Simulate building a container image (in-memory backend \u2014 no real Docker daemon/SDK; a real build is not yet implemented).",
2886
+ "description": "Simulate building a container image (in-memory backend no real Docker daemon/SDK; a real build is not yet implemented).",
2887
2887
  "params": [
2888
2888
  {
2889
2889
  "name": "tag",
@@ -3211,7 +3211,7 @@
3211
3211
  },
3212
3212
  "database": {
3213
3213
  "name": "database",
3214
- "description": "Database integration \u2014 read-only SQL queries over external connections",
3214
+ "description": "Database integration read-only SQL queries over external connections",
3215
3215
  "category": "infrastructure",
3216
3216
  "package": "@almadar/integrations",
3217
3217
  "backend": "production",
@@ -3224,7 +3224,7 @@
3224
3224
  "name": "connectionRef",
3225
3225
  "type": "string",
3226
3226
  "required": true,
3227
- "description": "Env-var NAME whose value is the Postgres connection string \u2014 never the secret itself; resolved from the credential store/environment at run time."
3227
+ "description": "Env-var NAME whose value is the Postgres connection string never the secret itself; resolved from the credential store/environment at run time."
3228
3228
  },
3229
3229
  {
3230
3230
  "name": "sql",
@@ -3253,14 +3253,14 @@
3253
3253
  },
3254
3254
  "storage": {
3255
3255
  "name": "storage",
3256
- "description": "Object storage \u2014 upload, download, delete, list files",
3256
+ "description": "Object storage upload, download, delete, list files",
3257
3257
  "category": "infrastructure",
3258
3258
  "package": "@almadar/integrations",
3259
3259
  "backend": "production",
3260
3260
  "actions": [
3261
3261
  {
3262
3262
  "name": "upload",
3263
- "description": "Upload an object to an S3-compatible bucket (real S3/R2/MinIO backend when storage credentials are configured, in-memory dev fallback otherwise \u2014 refused in production). Admits either the canonical `key`+`content` pair or the file-form `file` payload (UploadDropZone's `{ name, size, type, content }` shape); when `file` is present its `key`/`content` are derived from it.",
3263
+ "description": "Upload an object to an S3-compatible bucket (real S3/R2/MinIO backend when storage credentials are configured, in-memory dev fallback otherwise refused in production). Admits either the canonical `key`+`content` pair or the file-form `file` payload (UploadDropZone's `{ name, size, type, content }` shape); when `file` is present its `key`/`content` are derived from it.",
3264
3264
  "params": [
3265
3265
  {
3266
3266
  "name": "bucket",
@@ -3314,7 +3314,7 @@
3314
3314
  "name": "acl",
3315
3315
  "type": "'public' | 'private'",
3316
3316
  "required": false,
3317
- "description": "Object ACL \u2014 'public' produces a public URL, otherwise the URL is signed/private."
3317
+ "description": "Object ACL 'public' produces a public URL, otherwise the URL is signed/private."
3318
3318
  },
3319
3319
  {
3320
3320
  "name": "maxSize",
@@ -3326,7 +3326,7 @@
3326
3326
  "name": "metadata",
3327
3327
  "type": "object",
3328
3328
  "required": false,
3329
- "description": "Object metadata stored alongside the content (S3-compatible object stores carry metadata as string headers \u2014 never structured values).",
3329
+ "description": "Object metadata stored alongside the content (S3-compatible object stores carry metadata as string headers never structured values).",
3330
3330
  "mapValue": {
3331
3331
  "type": "string"
3332
3332
  }
@@ -3344,7 +3344,7 @@
3344
3344
  },
3345
3345
  {
3346
3346
  "name": "uploadMany",
3347
- "description": "Upload a whole UploadDropZone batch in one call, one item per file \u2014 the FSM-friendly shape for bulk-persisting uploaded-file rows.",
3347
+ "description": "Upload a whole UploadDropZone batch in one call, one item per file the FSM-friendly shape for bulk-persisting uploaded-file rows.",
3348
3348
  "params": [
3349
3349
  {
3350
3350
  "name": "bucket",
@@ -3591,7 +3591,7 @@
3591
3591
  {
3592
3592
  "envVar": "STORAGE_ENDPOINT",
3593
3593
  "required": false,
3594
- "description": "Custom S3-compatible endpoint (R2/MinIO/\u2026); empty = AWS S3"
3594
+ "description": "Custom S3-compatible endpoint (R2/MinIO/…); empty = AWS S3"
3595
3595
  },
3596
3596
  {
3597
3597
  "envVar": "STORAGE_PUBLIC_URL_BASE",
@@ -3603,7 +3603,7 @@
3603
3603
  },
3604
3604
  "queue": {
3605
3605
  "name": "queue",
3606
- "description": "Message queue \u2014 publish, subscribe, acknowledge messages",
3606
+ "description": "Message queue publish, subscribe, acknowledge messages",
3607
3607
  "category": "infrastructure",
3608
3608
  "package": "@almadar/integrations",
3609
3609
  "backend": "simulated",
@@ -3622,7 +3622,7 @@
3622
3622
  "name": "payload",
3623
3623
  "type": "ServiceParams",
3624
3624
  "required": true,
3625
- "description": "Job payload \u2014 the caller declares its own shape.",
3625
+ "description": "Job payload the caller declares its own shape.",
3626
3626
  "shapedBy": "payload"
3627
3627
  },
3628
3628
  {
@@ -3635,7 +3635,7 @@
3635
3635
  "name": "priority",
3636
3636
  "type": "number",
3637
3637
  "required": false,
3638
- "description": "Priority \u2014 higher values are dequeued before lower ones."
3638
+ "description": "Priority higher values are dequeued before lower ones."
3639
3639
  }
3640
3640
  ],
3641
3641
  "responseShape": {
@@ -3665,7 +3665,7 @@
3665
3665
  "payload": {
3666
3666
  "type": "ServiceParams",
3667
3667
  "required": true,
3668
- "description": "Whatever `enqueue` was given \u2014 the caller declares its own shape.",
3668
+ "description": "Whatever `enqueue` was given the caller declares its own shape.",
3669
3669
  "shapedBy": "payload"
3670
3670
  },
3671
3671
  "enqueuedAt": {
@@ -3703,7 +3703,7 @@
3703
3703
  "payload": {
3704
3704
  "type": "ServiceParams",
3705
3705
  "required": true,
3706
- "description": "Whatever `enqueue` was given \u2014 the caller declares its own shape.",
3706
+ "description": "Whatever `enqueue` was given the caller declares its own shape.",
3707
3707
  "shapedBy": "payload"
3708
3708
  },
3709
3709
  "enqueuedAt": {
@@ -3732,7 +3732,7 @@
3732
3732
  "name": "result",
3733
3733
  "type": "ServiceParams",
3734
3734
  "required": false,
3735
- "description": "Result payload to attach to the job \u2014 the caller declares its own shape (not necessarily the same shape as the job's `payload`).",
3735
+ "description": "Result payload to attach to the job the caller declares its own shape (not necessarily the same shape as the job's `payload`).",
3736
3736
  "shapedBy": "result"
3737
3737
  }
3738
3738
  ],
@@ -3805,7 +3805,7 @@
3805
3805
  },
3806
3806
  "redis": {
3807
3807
  "name": "redis",
3808
- "description": "Redis \u2014 cache get/set/delete, pub/sub",
3808
+ "description": "Redis cache get/set/delete, pub/sub",
3809
3809
  "category": "infrastructure",
3810
3810
  "package": "@almadar/integrations",
3811
3811
  "backend": "simulated",
@@ -3842,7 +3842,7 @@
3842
3842
  "name": "value",
3843
3843
  "type": "ServiceParams",
3844
3844
  "required": true,
3845
- "description": "Value to store \u2014 the caller declares its own shape.",
3845
+ "description": "Value to store the caller declares its own shape.",
3846
3846
  "shapedBy": "value"
3847
3847
  },
3848
3848
  {
@@ -3970,7 +3970,7 @@
3970
3970
  "name": "message",
3971
3971
  "type": "ServiceParams",
3972
3972
  "required": true,
3973
- "description": "Message payload \u2014 the caller declares its own shape.",
3973
+ "description": "Message payload the caller declares its own shape.",
3974
3974
  "shapedBy": "message"
3975
3975
  }
3976
3976
  ],
@@ -4005,7 +4005,7 @@
4005
4005
  },
4006
4006
  "oauth": {
4007
4007
  "name": "oauth",
4008
- "description": "OAuth/OIDC \u2014 authorization-code + PKCE flow, token management, userinfo",
4008
+ "description": "OAuth/OIDC authorization-code + PKCE flow, token management, userinfo",
4009
4009
  "category": "auth",
4010
4010
  "package": "@almadar/integrations",
4011
4011
  "backend": "production",
@@ -4138,7 +4138,7 @@
4138
4138
  },
4139
4139
  "credentials": {
4140
4140
  "name": "credentials",
4141
- "description": "Tenant credential store \u2014 masked list, set/remove, test connection, master-key rotation (settings-page backend)",
4141
+ "description": "Tenant credential store masked list, set/remove, test connection, master-key rotation (settings-page backend)",
4142
4142
  "category": "auth",
4143
4143
  "package": "@almadar/integrations",
4144
4144
  "backend": "production",
@@ -4280,26 +4280,26 @@
4280
4280
  {
4281
4281
  "envVar": "ALMADAR_CREDENTIAL_MASTER_KEY",
4282
4282
  "required": false,
4283
- "description": "AES-256 master key (64-char hex) enabling the hosted credential store \u2014 hold it alone in the platform secret store"
4283
+ "description": "AES-256 master key (64-char hex) enabling the hosted credential store hold it alone in the platform secret store"
4284
4284
  },
4285
4285
  {
4286
4286
  "envVar": "ALMADAR_CREDENTIAL_MASTER_KEY_PREVIOUS",
4287
4287
  "required": false,
4288
- "description": "Previous master key, present only during a rotation window \u2014 decrypts old rows until `credentials.rotate` re-encrypts them"
4288
+ "description": "Previous master key, present only during a rotation window decrypts old rows until `credentials.rotate` re-encrypts them"
4289
4289
  }
4290
4290
  ],
4291
4291
  "hooks": []
4292
4292
  },
4293
4293
  "otel": {
4294
4294
  "name": "otel",
4295
- "description": "OpenTelemetry \u2014 spans, metrics, logs",
4295
+ "description": "OpenTelemetry spans, metrics, logs",
4296
4296
  "category": "infrastructure",
4297
4297
  "package": "@almadar/integrations",
4298
4298
  "backend": "simulated",
4299
4299
  "actions": [
4300
4300
  {
4301
4301
  "name": "startSpan",
4302
- "description": "Start a trace span (in-memory backend \u2014 no OpenTelemetry SDK/exporter).",
4302
+ "description": "Start a trace span (in-memory backend no OpenTelemetry SDK/exporter).",
4303
4303
  "params": [
4304
4304
  {
4305
4305
  "name": "name",
@@ -4451,7 +4451,7 @@
4451
4451
  },
4452
4452
  "cli": {
4453
4453
  "name": "cli",
4454
- "description": "CLI tool execution \u2014 run commands, get output",
4454
+ "description": "CLI tool execution run commands, get output",
4455
4455
  "category": "devtools",
4456
4456
  "package": "@almadar/integrations",
4457
4457
  "backend": "production",
@@ -4480,7 +4480,7 @@
4480
4480
  },
4481
4481
  "deepagent": {
4482
4482
  "name": "deepagent",
4483
- "description": "DeepAgent \u2014 AI agent orchestration",
4483
+ "description": "DeepAgent AI agent orchestration",
4484
4484
  "category": "ai",
4485
4485
  "package": "@almadar/integrations",
4486
4486
  "backend": "production",
@@ -4511,7 +4511,7 @@
4511
4511
  "name": "context",
4512
4512
  "type": "IntegrationParams",
4513
4513
  "required": false,
4514
- "description": "Extra context passed through to the agent \u2014 the caller declares its own shape.",
4514
+ "description": "Extra context passed through to the agent the caller declares its own shape.",
4515
4515
  "shapedBy": "context"
4516
4516
  }
4517
4517
  ],
@@ -4624,7 +4624,7 @@
4624
4624
  },
4625
4625
  "wikimedia": {
4626
4626
  "name": "wikimedia",
4627
- "description": "Wikipedia API \u2014 redirect-resolved page lookup (description, portrait, lead extract)",
4627
+ "description": "Wikipedia API redirect-resolved page lookup (description, portrait, lead extract)",
4628
4628
  "category": "reference",
4629
4629
  "package": "@almadar/integrations",
4630
4630
  "backend": "production",
@@ -4664,7 +4664,7 @@
4664
4664
  },
4665
4665
  "iconify": {
4666
4666
  "name": "iconify",
4667
- "description": "Iconify API \u2014 brand-logo / icon resolution, search, and body fetch",
4667
+ "description": "Iconify API brand-logo / icon resolution, search, and body fetch",
4668
4668
  "category": "reference",
4669
4669
  "package": "@almadar/integrations",
4670
4670
  "backend": "production",
@@ -4737,7 +4737,7 @@
4737
4737
  },
4738
4738
  "arxiv": {
4739
4739
  "name": "arxiv",
4740
- "description": "arXiv API \u2014 frontier academic preprint search (emerging-axis research backend)",
4740
+ "description": "arXiv API frontier academic preprint search (emerging-axis research backend)",
4741
4741
  "category": "reference",
4742
4742
  "package": "@almadar/integrations",
4743
4743
  "backend": "production",
@@ -4806,7 +4806,7 @@
4806
4806
  },
4807
4807
  "rigger": {
4808
4808
  "name": "rigger",
4809
- "description": "Local rigger service (FastAPI) \u2014 mesh rigging build + render",
4809
+ "description": "Local rigger service (FastAPI) mesh rigging build + render",
4810
4810
  "category": "media",
4811
4811
  "package": "@almadar/integrations",
4812
4812
  "backend": "production",
@@ -4833,7 +4833,7 @@
4833
4833
  "name": "rig",
4834
4834
  "type": "object",
4835
4835
  "required": true,
4836
- "description": "Rig to build: { parts: [{ id, name, x0, y0, x1, y1, pivotX, pivotY, z, parent }] } (the captured rig rows)."
4836
+ "description": "The rig definition (parts, boxes, pivots, …) as JSON."
4837
4837
  }
4838
4838
  ],
4839
4839
  "responseShape": {
@@ -4858,7 +4858,7 @@
4858
4858
  "name": "rig",
4859
4859
  "type": "object",
4860
4860
  "required": true,
4861
- "description": "Rig to build: { parts: [{ id, name, x0, y0, x1, y1, pivotX, pivotY, z, parent }] } (the captured rig rows)."
4861
+ "description": "The rig definition (parts, boxes, pivots, …) as JSON."
4862
4862
  },
4863
4863
  {
4864
4864
  "name": "preset",
@@ -4871,9 +4871,201 @@
4871
4871
  "type": "string",
4872
4872
  "required": true,
4873
4873
  "description": "Output directory for rendered files."
4874
+ },
4875
+ {
4876
+ "name": "mode",
4877
+ "type": "string",
4878
+ "required": false,
4879
+ "description": "Render path: 'mesh' (skinned, deforming) or 'cutout' (rigid per-part layers). Defaults to 'mesh'."
4880
+ },
4881
+ {
4882
+ "name": "supersample",
4883
+ "type": "number",
4884
+ "required": false,
4885
+ "description": "Supersampling factor for the cutout path. Defaults to 1."
4874
4886
  }
4875
4887
  ],
4876
- "responseShape": {}
4888
+ "responseShape": {
4889
+ "outdir": "string",
4890
+ "frames": "number",
4891
+ "framePaths": "string[]",
4892
+ "sheet": "string",
4893
+ "gif": "string",
4894
+ "atlas": "string"
4895
+ }
4896
+ },
4897
+ {
4898
+ "name": "listPresets",
4899
+ "description": "List the available animation presets (name, fps, frame count, bone roles) from the local rigger service.",
4900
+ "params": [],
4901
+ "responseShape": {
4902
+ "presets": {
4903
+ "type": "array",
4904
+ "items": {
4905
+ "type": "object",
4906
+ "properties": {
4907
+ "name": {
4908
+ "type": "string",
4909
+ "required": true
4910
+ },
4911
+ "path": {
4912
+ "type": "string",
4913
+ "required": true
4914
+ },
4915
+ "fps": {
4916
+ "type": "number",
4917
+ "required": true
4918
+ },
4919
+ "frames": {
4920
+ "type": "number",
4921
+ "required": true
4922
+ },
4923
+ "bones": {
4924
+ "type": "object[]",
4925
+ "required": true
4926
+ }
4927
+ }
4928
+ }
4929
+ }
4930
+ }
4931
+ },
4932
+ {
4933
+ "name": "loadRig",
4934
+ "description": "Load a rig file, resolving `cloneOf` parts to concrete box/pivot geometry.",
4935
+ "params": [
4936
+ {
4937
+ "name": "rigPath",
4938
+ "type": "string",
4939
+ "required": true,
4940
+ "description": "Path to the rig JSON file."
4941
+ }
4942
+ ],
4943
+ "responseShape": {
4944
+ "rig": "object",
4945
+ "resolved": "object"
4946
+ }
4947
+ },
4948
+ {
4949
+ "name": "saveRig",
4950
+ "description": "Save a rig file; the server validates it and rejects a malformed part.",
4951
+ "params": [
4952
+ {
4953
+ "name": "rigPath",
4954
+ "type": "string",
4955
+ "required": true,
4956
+ "description": "Path to write the rig JSON file."
4957
+ },
4958
+ {
4959
+ "name": "rig",
4960
+ "type": "object",
4961
+ "required": true,
4962
+ "description": "The rig definition (parts, boxes, pivots, …) as JSON."
4963
+ }
4964
+ ],
4965
+ "responseShape": {
4966
+ "rigPath": "string",
4967
+ "parts": "number"
4968
+ }
4969
+ },
4970
+ {
4971
+ "name": "ownership",
4972
+ "description": "Render the per-part pixel ownership map for a rig over a source image.",
4973
+ "params": [
4974
+ {
4975
+ "name": "imagePath",
4976
+ "type": "string",
4977
+ "required": true,
4978
+ "description": "Path to the source image."
4979
+ },
4980
+ {
4981
+ "name": "rig",
4982
+ "type": "object",
4983
+ "required": true,
4984
+ "description": "The rig definition (parts, boxes, pivots, …) as JSON."
4985
+ },
4986
+ {
4987
+ "name": "outPath",
4988
+ "type": "string",
4989
+ "required": true,
4990
+ "description": "Path to write the ownership-map PNG."
4991
+ }
4992
+ ],
4993
+ "responseShape": {
4994
+ "outPath": "string",
4995
+ "legend": {
4996
+ "type": "array",
4997
+ "items": {
4998
+ "type": "object",
4999
+ "properties": {
5000
+ "name": {
5001
+ "type": "string",
5002
+ "required": true
5003
+ },
5004
+ "color": {
5005
+ "type": "string",
5006
+ "required": true
5007
+ }
5008
+ }
5009
+ }
5010
+ }
5011
+ }
5012
+ },
5013
+ {
5014
+ "name": "generate",
5015
+ "description": "Generate one image on the local image server (text-to-image, or a Kontext edit conditioned on `sourcePath`).",
5016
+ "params": [
5017
+ {
5018
+ "name": "model",
5019
+ "type": "'z-image-turbo' | 'kontext'",
5020
+ "required": true,
5021
+ "description": "Generation model: 'z-image-turbo' (text-to-image) or 'kontext' (edit; requires sourcePath)."
5022
+ },
5023
+ {
5024
+ "name": "prompt",
5025
+ "type": "string",
5026
+ "required": true,
5027
+ "description": "The generation/edit prompt."
5028
+ },
5029
+ {
5030
+ "name": "seed",
5031
+ "type": "number",
5032
+ "required": false,
5033
+ "description": "Random seed; omit for a fresh one each call."
5034
+ },
5035
+ {
5036
+ "name": "size",
5037
+ "type": "string",
5038
+ "required": false,
5039
+ "description": "Output image size, e.g. '1024x1024'. Defaults to '1024x1024'."
5040
+ },
5041
+ {
5042
+ "name": "steps",
5043
+ "type": "number",
5044
+ "required": false,
5045
+ "description": "Diffusion step count."
5046
+ },
5047
+ {
5048
+ "name": "sourcePath",
5049
+ "type": "string",
5050
+ "required": false,
5051
+ "description": "Path to the source image to edit; REQUIRED for 'kontext'."
5052
+ },
5053
+ {
5054
+ "name": "outDir",
5055
+ "type": "string",
5056
+ "required": true,
5057
+ "description": "Output directory the generated PNG is written under."
5058
+ }
5059
+ ],
5060
+ "responseShape": {
5061
+ "outPath": "string",
5062
+ "model": "string",
5063
+ "prompt": "string",
5064
+ "seed": "number | null",
5065
+ "size": "string",
5066
+ "sourcePath": "string | null",
5067
+ "elapsedMs": "number"
5068
+ }
4877
5069
  }
4878
5070
  ],
4879
5071
  "credentials": [
@@ -4886,6 +5078,11 @@
4886
5078
  "envVar": "RIGGER_TIMEOUT_MS",
4887
5079
  "required": false,
4888
5080
  "description": "Per-request timeout (ms)"
5081
+ },
5082
+ {
5083
+ "envVar": "RIGGER_GENERATE_TIMEOUT_MS",
5084
+ "required": false,
5085
+ "description": "Timeout (ms) for the 'generate' action; a local z-image-turbo run takes ~60-90 s and a kontext edit at 1024px several minutes (default 600000)"
4889
5086
  }
4890
5087
  ],
4891
5088
  "hooks": []
@@ -5023,4 +5220,4 @@
5023
5220
  "payment",
5024
5221
  "reference"
5025
5222
  ]
5026
- }
5223
+ }