@x12i/memorix-service 3.7.6 → 3.7.8

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 (59) hide show
  1. package/dist/activity-ring.d.ts +16 -0
  2. package/dist/activity-ring.d.ts.map +1 -1
  3. package/dist/activity-ring.js +15 -0
  4. package/dist/activity-ring.js.map +1 -1
  5. package/dist/activity-routes.d.ts.map +1 -1
  6. package/dist/activity-routes.js +6 -0
  7. package/dist/activity-routes.js.map +1 -1
  8. package/dist/activity-ui.d.ts +1 -1
  9. package/dist/activity-ui.d.ts.map +1 -1
  10. package/dist/activity-ui.js +383 -177
  11. package/dist/activity-ui.js.map +1 -1
  12. package/dist/app.d.ts.map +1 -1
  13. package/dist/app.js +8 -1
  14. package/dist/app.js.map +1 -1
  15. package/dist/catalog-bridge.d.ts.map +1 -1
  16. package/dist/catalog-bridge.js +6 -0
  17. package/dist/catalog-bridge.js.map +1 -1
  18. package/dist/cli.d.ts.map +1 -1
  19. package/dist/cli.js +9 -1
  20. package/dist/cli.js.map +1 -1
  21. package/dist/data-changes-ui.js +1 -1
  22. package/dist/graph-ui.d.ts +3 -0
  23. package/dist/graph-ui.d.ts.map +1 -0
  24. package/dist/graph-ui.js +676 -0
  25. package/dist/graph-ui.js.map +1 -0
  26. package/dist/knowledge-upstream.d.ts +13 -0
  27. package/dist/knowledge-upstream.d.ts.map +1 -0
  28. package/dist/knowledge-upstream.js +38 -0
  29. package/dist/knowledge-upstream.js.map +1 -0
  30. package/dist/live-ops-nav.d.ts +2 -0
  31. package/dist/live-ops-nav.d.ts.map +1 -0
  32. package/dist/live-ops-nav.js +53 -0
  33. package/dist/live-ops-nav.js.map +1 -0
  34. package/dist/live.d.ts.map +1 -1
  35. package/dist/mcp/nexum-tools.d.ts +28 -0
  36. package/dist/mcp/nexum-tools.d.ts.map +1 -0
  37. package/dist/mcp/nexum-tools.js +257 -0
  38. package/dist/mcp/nexum-tools.js.map +1 -0
  39. package/dist/mcp/service-public-url.d.ts +7 -0
  40. package/dist/mcp/service-public-url.d.ts.map +1 -0
  41. package/dist/mcp/service-public-url.js +19 -0
  42. package/dist/mcp/service-public-url.js.map +1 -0
  43. package/dist/openapi/openapi.json +449 -4
  44. package/dist/routes/data.d.ts.map +1 -1
  45. package/dist/routes/data.js +242 -16
  46. package/dist/routes/data.js.map +1 -1
  47. package/dist/routes/knowledge.d.ts.map +1 -1
  48. package/dist/routes/knowledge.js +9 -37
  49. package/dist/routes/knowledge.js.map +1 -1
  50. package/dist/routes/nexum-mcp.d.ts +9 -0
  51. package/dist/routes/nexum-mcp.d.ts.map +1 -0
  52. package/dist/routes/nexum-mcp.js +95 -0
  53. package/dist/routes/nexum-mcp.js.map +1 -0
  54. package/dist/safe-query.d.ts +31 -0
  55. package/dist/safe-query.d.ts.map +1 -0
  56. package/dist/safe-query.js +125 -0
  57. package/dist/safe-query.js.map +1 -0
  58. package/openapi/openapi.json +449 -4
  59. package/package.json +2 -2
@@ -2,7 +2,7 @@
2
2
  "openapi": "3.0.3",
3
3
  "info": {
4
4
  "title": "Memorix Service API",
5
- "version": "3.7.5",
5
+ "version": "3.7.8",
6
6
  "description": "One versioned product API over accepted Memorix packages. Scope: orgId + agentIds[]. Headers x-memorix-org-id and x-memorix-agent-ids (comma-separated). MX-CALLER-01: every /api request requires x-memorix-caller (calling app id). Intelligence never auto-installs. Relationships /links is forbidden. IntegrationsRegistry (Stage −1) and RestrictedStore (FG-A3 dual-mode blob)."
7
7
  },
8
8
  "servers": [
@@ -3027,14 +3027,34 @@
3027
3027
  "in": "query",
3028
3028
  "schema": {
3029
3029
  "type": "string"
3030
- }
3030
+ },
3031
+ "description": "List mode only. Opaque cursor from a prior pageInfo.nextCursor. Repeat the same filter and sort."
3031
3032
  },
3032
3033
  {
3033
3034
  "name": "limit",
3034
3035
  "in": "query",
3035
3036
  "schema": {
3036
- "type": "integer"
3037
- }
3037
+ "type": "integer",
3038
+ "minimum": 1,
3039
+ "maximum": 200
3040
+ },
3041
+ "description": "List mode page size (default 50, max 200)."
3042
+ },
3043
+ {
3044
+ "name": "filter",
3045
+ "in": "query",
3046
+ "schema": {
3047
+ "type": "string"
3048
+ },
3049
+ "description": "List mode. JSON SafeFilter[] or equality map on abstract property names."
3050
+ },
3051
+ {
3052
+ "name": "sort",
3053
+ "in": "query",
3054
+ "schema": {
3055
+ "type": "string"
3056
+ },
3057
+ "description": "List mode. JSON SafeSort[] on abstract property names."
3038
3058
  }
3039
3059
  ],
3040
3060
  "responses": {
@@ -3384,6 +3404,431 @@
3384
3404
  }
3385
3405
  }
3386
3406
  },
3407
+ "/api/data/compose/data": {
3408
+ "post": {
3409
+ "operationId": "dataComposeData",
3410
+ "summary": "Compose subject content-type data only (AI / agent projection)",
3411
+ "description": "Same-subject composition as dataCompose, but each content type returns an array of record `.data` payloads only — no envelope, revision, or concept. Prefer this for AI layers that need sibling CT payloads without Memorix record chrome.",
3412
+ "tags": [
3413
+ "Data"
3414
+ ],
3415
+ "parameters": [
3416
+ {
3417
+ "$ref": "#/components/parameters/XMemorixCaller"
3418
+ },
3419
+ {
3420
+ "$ref": "#/components/parameters/XMemorixOrgId"
3421
+ },
3422
+ {
3423
+ "$ref": "#/components/parameters/XMemorixAgentIds"
3424
+ }
3425
+ ],
3426
+ "responses": {
3427
+ "200": {
3428
+ "description": "Data-only composition",
3429
+ "content": {
3430
+ "application/json": {
3431
+ "schema": {
3432
+ "type": "object",
3433
+ "required": [
3434
+ "scope",
3435
+ "recordId",
3436
+ "contents"
3437
+ ],
3438
+ "properties": {
3439
+ "scope": {
3440
+ "$ref": "#/components/schemas/MemorixScope"
3441
+ },
3442
+ "recordId": {
3443
+ "type": "string"
3444
+ },
3445
+ "objectType": {
3446
+ "type": "string"
3447
+ },
3448
+ "dataCategory": {
3449
+ "type": "string"
3450
+ },
3451
+ "contents": {
3452
+ "type": "object",
3453
+ "description": "Map of contentType → array of `.data` payloads (one entry per instance)",
3454
+ "additionalProperties": {
3455
+ "type": "array",
3456
+ "items": {
3457
+ "type": "object",
3458
+ "additionalProperties": true
3459
+ }
3460
+ }
3461
+ },
3462
+ "warnings": {
3463
+ "type": "array",
3464
+ "items": {
3465
+ "type": "object",
3466
+ "additionalProperties": true
3467
+ }
3468
+ }
3469
+ }
3470
+ }
3471
+ }
3472
+ }
3473
+ },
3474
+ "400": {
3475
+ "description": "Bad request / validation",
3476
+ "content": {
3477
+ "application/json": {
3478
+ "schema": {
3479
+ "$ref": "#/components/schemas/ErrorEnvelope"
3480
+ }
3481
+ }
3482
+ }
3483
+ },
3484
+ "403": {
3485
+ "description": "Forbidden",
3486
+ "content": {
3487
+ "application/json": {
3488
+ "schema": {
3489
+ "$ref": "#/components/schemas/ErrorEnvelope"
3490
+ }
3491
+ }
3492
+ }
3493
+ },
3494
+ "503": {
3495
+ "description": "Service unavailable",
3496
+ "content": {
3497
+ "application/json": {
3498
+ "schema": {
3499
+ "$ref": "#/components/schemas/ErrorEnvelope"
3500
+ }
3501
+ }
3502
+ }
3503
+ }
3504
+ },
3505
+ "requestBody": {
3506
+ "required": true,
3507
+ "content": {
3508
+ "application/json": {
3509
+ "schema": {
3510
+ "type": "object",
3511
+ "required": [
3512
+ "recordId",
3513
+ "explicit"
3514
+ ],
3515
+ "properties": {
3516
+ "recordId": {
3517
+ "type": "string"
3518
+ },
3519
+ "explicit": {
3520
+ "type": "boolean",
3521
+ "enum": [
3522
+ true
3523
+ ]
3524
+ },
3525
+ "contentTypes": {
3526
+ "type": "array",
3527
+ "items": {
3528
+ "type": "string"
3529
+ },
3530
+ "description": "Optional CT filter; omit to include all directory content types for the subject"
3531
+ }
3532
+ }
3533
+ },
3534
+ "example": {
3535
+ "recordId": "wi-100",
3536
+ "explicit": true,
3537
+ "contentTypes": [
3538
+ "snapshots",
3539
+ "analysis"
3540
+ ]
3541
+ }
3542
+ }
3543
+ }
3544
+ }
3545
+ }
3546
+ },
3547
+ "/api/data/compose/data/list": {
3548
+ "post": {
3549
+ "operationId": "dataComposeDataList",
3550
+ "summary": "Paginated multi-CT data projection (leading CT drives page)",
3551
+ "description": "Lists subjects by a leading content type (filter/sort/cursor/limit apply only to that CT), then attaches sibling CT `.data` arrays per row. Prefer for AI layers that need a filtered page of subjects with multiple content payloads and no record envelopes.",
3552
+ "tags": [
3553
+ "Data"
3554
+ ],
3555
+ "parameters": [
3556
+ {
3557
+ "$ref": "#/components/parameters/XMemorixCaller"
3558
+ },
3559
+ {
3560
+ "$ref": "#/components/parameters/XMemorixOrgId"
3561
+ },
3562
+ {
3563
+ "$ref": "#/components/parameters/XMemorixAgentIds"
3564
+ }
3565
+ ],
3566
+ "responses": {
3567
+ "200": {
3568
+ "description": "Paginated data-only compositions",
3569
+ "content": {
3570
+ "application/json": {
3571
+ "schema": {
3572
+ "type": "object",
3573
+ "required": [
3574
+ "scope",
3575
+ "objectType",
3576
+ "leadingContentType",
3577
+ "items",
3578
+ "pageInfo"
3579
+ ],
3580
+ "properties": {
3581
+ "scope": {
3582
+ "$ref": "#/components/schemas/MemorixScope"
3583
+ },
3584
+ "objectType": {
3585
+ "type": "string"
3586
+ },
3587
+ "leadingContentType": {
3588
+ "type": "string"
3589
+ },
3590
+ "items": {
3591
+ "type": "array",
3592
+ "items": {
3593
+ "type": "object",
3594
+ "required": [
3595
+ "recordId",
3596
+ "contents"
3597
+ ],
3598
+ "properties": {
3599
+ "recordId": {
3600
+ "type": "string"
3601
+ },
3602
+ "contents": {
3603
+ "type": "object",
3604
+ "additionalProperties": {
3605
+ "type": "array",
3606
+ "items": {
3607
+ "type": "object",
3608
+ "additionalProperties": true
3609
+ }
3610
+ }
3611
+ }
3612
+ }
3613
+ }
3614
+ },
3615
+ "pageInfo": {
3616
+ "type": "object",
3617
+ "properties": {
3618
+ "nextCursor": {
3619
+ "type": [
3620
+ "string",
3621
+ "null"
3622
+ ]
3623
+ },
3624
+ "limit": {
3625
+ "type": "integer"
3626
+ }
3627
+ }
3628
+ }
3629
+ }
3630
+ }
3631
+ }
3632
+ }
3633
+ },
3634
+ "400": {
3635
+ "description": "Bad request / validation",
3636
+ "content": {
3637
+ "application/json": {
3638
+ "schema": {
3639
+ "$ref": "#/components/schemas/ErrorEnvelope"
3640
+ }
3641
+ }
3642
+ }
3643
+ },
3644
+ "403": {
3645
+ "description": "Forbidden",
3646
+ "content": {
3647
+ "application/json": {
3648
+ "schema": {
3649
+ "$ref": "#/components/schemas/ErrorEnvelope"
3650
+ }
3651
+ }
3652
+ }
3653
+ },
3654
+ "503": {
3655
+ "description": "Service unavailable",
3656
+ "content": {
3657
+ "application/json": {
3658
+ "schema": {
3659
+ "$ref": "#/components/schemas/ErrorEnvelope"
3660
+ }
3661
+ }
3662
+ }
3663
+ }
3664
+ },
3665
+ "requestBody": {
3666
+ "required": true,
3667
+ "content": {
3668
+ "application/json": {
3669
+ "schema": {
3670
+ "type": "object",
3671
+ "required": [
3672
+ "objectType",
3673
+ "leadingContentType"
3674
+ ],
3675
+ "properties": {
3676
+ "objectType": {
3677
+ "type": "string"
3678
+ },
3679
+ "leadingContentType": {
3680
+ "type": "string",
3681
+ "description": "CT that drives pagination, filter, and sort"
3682
+ },
3683
+ "contentTypes": {
3684
+ "type": "array",
3685
+ "items": {
3686
+ "type": "string"
3687
+ },
3688
+ "description": "Sibling CTs to attach (leading is always included)"
3689
+ },
3690
+ "filter": {
3691
+ "description": "SafeFilter[] / SafeFilter / equality map — applied to leading CT only",
3692
+ "oneOf": [
3693
+ {
3694
+ "type": "array",
3695
+ "items": {
3696
+ "type": "object",
3697
+ "additionalProperties": true
3698
+ }
3699
+ },
3700
+ {
3701
+ "type": "object",
3702
+ "additionalProperties": true
3703
+ }
3704
+ ]
3705
+ },
3706
+ "sort": {
3707
+ "description": "SafeSort[] / SafeSort — applied to leading CT only",
3708
+ "oneOf": [
3709
+ {
3710
+ "type": "array",
3711
+ "items": {
3712
+ "type": "object",
3713
+ "additionalProperties": true
3714
+ }
3715
+ },
3716
+ {
3717
+ "type": "object",
3718
+ "additionalProperties": true
3719
+ }
3720
+ ]
3721
+ },
3722
+ "limit": {
3723
+ "type": "integer",
3724
+ "minimum": 1,
3725
+ "maximum": 200
3726
+ },
3727
+ "cursor": {
3728
+ "type": "string"
3729
+ }
3730
+ }
3731
+ },
3732
+ "example": {
3733
+ "objectType": "work-items",
3734
+ "leadingContentType": "snapshots",
3735
+ "contentTypes": [
3736
+ "snapshots",
3737
+ "workflow",
3738
+ "analysis"
3739
+ ],
3740
+ "filter": {
3741
+ "data.status": "open"
3742
+ },
3743
+ "sort": [
3744
+ {
3745
+ "field": "recordId",
3746
+ "direction": "asc"
3747
+ }
3748
+ ],
3749
+ "limit": 50
3750
+ }
3751
+ }
3752
+ }
3753
+ }
3754
+ }
3755
+ },
3756
+ "/api/data/lists": {
3757
+ "post": {
3758
+ "operationId": "dataRunList",
3759
+ "summary": "Run a declared list view or an ad-hoc abstract property page",
3760
+ "description": "Paginated abstract property page. Pass limit (1–200, default 50) and the previous pageInfo.nextCursor. Repeat the same listId or abstractType, filter, and sort on every page. recordId is an exact get and is not paginated. Concrete multi-CT pages stay on /api/data/compose/data/list (same cursor contract).",
3761
+ "tags": ["Data"],
3762
+ "parameters": [
3763
+ { "$ref": "#/components/parameters/XMemorixCaller" },
3764
+ { "$ref": "#/components/parameters/XMemorixOrgId" },
3765
+ { "$ref": "#/components/parameters/XMemorixAgentIds" }
3766
+ ],
3767
+ "requestBody": {
3768
+ "required": true,
3769
+ "content": {
3770
+ "application/json": {
3771
+ "schema": {
3772
+ "type": "object",
3773
+ "properties": {
3774
+ "listId": { "type": "string" },
3775
+ "abstractType": { "type": "string" },
3776
+ "recordId": { "type": "string" },
3777
+ "properties": { "type": "array", "items": { "type": "string" } },
3778
+ "filter": { "type": "object", "additionalProperties": true },
3779
+ "sort": { "type": "array", "items": { "type": "object", "additionalProperties": true } },
3780
+ "limit": { "type": "integer" },
3781
+ "cursor": { "type": "string" }
3782
+ }
3783
+ },
3784
+ "example": { "listId": "opx-work-items-list", "limit": 50 }
3785
+ }
3786
+ }
3787
+ },
3788
+ "responses": {
3789
+ "200": { "description": "Abstract property page" },
3790
+ "400": { "description": "Validation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } } },
3791
+ "404": { "description": "Unknown list", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } } }
3792
+ }
3793
+ }
3794
+ },
3795
+ "/api/data/items": {
3796
+ "post": {
3797
+ "operationId": "dataGetItem",
3798
+ "summary": "Single subject by item view or ad-hoc abstract / content types",
3799
+ "description": "recordId is required. itemId loads a metadata view of kind item (abstract properties plus section content-type .data). Or pass abstractType and/or contentTypes without a view. Not paginated.",
3800
+ "tags": ["Data"],
3801
+ "parameters": [
3802
+ { "$ref": "#/components/parameters/XMemorixCaller" },
3803
+ { "$ref": "#/components/parameters/XMemorixOrgId" },
3804
+ { "$ref": "#/components/parameters/XMemorixAgentIds" }
3805
+ ],
3806
+ "requestBody": {
3807
+ "required": true,
3808
+ "content": {
3809
+ "application/json": {
3810
+ "schema": {
3811
+ "type": "object",
3812
+ "required": ["recordId"],
3813
+ "properties": {
3814
+ "recordId": { "type": "string" },
3815
+ "itemId": { "type": "string" },
3816
+ "abstractType": { "type": "string" },
3817
+ "contentTypes": { "type": "array", "items": { "type": "string" } },
3818
+ "properties": { "type": "array", "items": { "type": "string" } }
3819
+ }
3820
+ },
3821
+ "example": { "itemId": "opx-work-items-item", "recordId": "wi-100" }
3822
+ }
3823
+ }
3824
+ },
3825
+ "responses": {
3826
+ "200": { "description": "Single item properties and CT data" },
3827
+ "400": { "description": "Validation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } } },
3828
+ "404": { "description": "Unknown item or subject", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } } }
3829
+ }
3830
+ }
3831
+ },
3387
3832
  "/api/relationships/definitions": {
3388
3833
  "get": {
3389
3834
  "operationId": "relationshipsListDefinitions",
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/routes/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAgBtD,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,eAAe,GACxB,OAAO,CAAC,IAAI,CAAC,CAwXf"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/routes/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAiBtD,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,eAAe,GACxB,OAAO,CAAC,IAAI,CAAC,CAulBf"}