@outlit/tools 2.1.2 → 2.2.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
@@ -113,8 +113,14 @@ var publicToolNames = [
113
113
  "outlit_create_feature",
114
114
  "outlit_archive_feature",
115
115
  "outlit_get_customer_features",
116
+ "outlit_get_customer_credits",
116
117
  "outlit_list_attention_items",
117
- "outlit_get_attention_item"
118
+ "outlit_get_attention_item",
119
+ "outlit_get_customer_identity",
120
+ "outlit_list_identity_merge_suggestions",
121
+ "outlit_reject_identity_merge_suggestion",
122
+ "outlit_merge_customers",
123
+ "outlit_get_customer_merge_status"
118
124
  ];
119
125
  var publicToolContracts = {
120
126
  "outlit_list_customers": {
@@ -911,7 +917,7 @@ var publicToolContracts = {
911
917
  "commandVersion": 1,
912
918
  "ownerDomain": "customers",
913
919
  "title": "Get Customer",
914
- "description": "Get full details for a single customer. Use this when you already know which customer you want to inspect. Optionally include related data (users, revenue, recent activity, engagement metrics, company enrichment).",
920
+ "description": "Get full details for a single customer. Optionally include users, revenue, recent activity, engagement metrics, or company enrichment.",
915
921
  "inputSchema": {
916
922
  "$schema": "https://json-schema.org/draft/2020-12/schema",
917
923
  "type": "object",
@@ -2410,7 +2416,7 @@ var publicToolContracts = {
2410
2416
  }
2411
2417
  },
2412
2418
  "factTypes": {
2413
- "description": "Optional customer-memory fact type filters, such as CHURN_RISK, EXPANSION, SENTIMENT, or BUDGET. Anomaly detector fact types are not supported.",
2419
+ "description": "Optional customer-memory fact type filters; omit to retrieve across types. Choose types relevant to the question. Anomaly detector fact types are not supported.\nCUSTOM: A custom customer fact whose meaning is given by its content and supporting evidence.\nCOMPANY_CHANGE: Changes to the customer company, such as leadership, staffing, structure, or office location.\nFUNDING_REVENUE: The customer company's funding, revenue, financial health, or burn rate.\nTECHNOLOGY: Changes to the customer's technology stack, including migrations, adoption, or deprecation.\nSTRATEGY: The customer company's strategic direction, pivots, markets, or business priorities.\nCOMPETITIVE: The customer's consideration of competing products, including evaluations, switching intent, or RFPs.\nSENTIMENT: The customer's expressed satisfaction, frustration, praise, or complaints about the product.\nEXPANSION: Potential growth in the customer's use or purchase of the product through new use cases, users, or departments.\nCHURN_RISK: The customer reducing or ending use of the organization's product; exclude the customer's own customers churning, generic complaints without reduction intent, unrelated budget changes, and unrelated vendor notices\nTIMELINE: Stated dates or deadlines for customer decisions, launches, renewals, or other milestones.\nBUDGET: The customer's budget, spending approval status, or procurement process.\nDECISION_MAKER: Who influences or approves the customer's purchasing or implementation decisions.\nREQUIREMENTS: Specific product capabilities, features, or integrations the customer requests or requires.\nBLOCKER: An obstacle preventing the customer's launch, renewal, expansion, implementation, integration, or successful product use.\nCOMMITMENT: A promise, obligation, agreed next step, approval, or decision by the customer or vendor.\nSUCCESS_CRITERION: An explicitly customer-stated desired outcome or condition for getting value from the product, including qualitative outcomes without invented metrics or deadlines.\nPRODUCT_USAGE: How the customer uses, adopts, abandons, or works around specific product capabilities.\nCONTACT_INFO: A customer contact's title, professional responsibilities, team membership, or reporting chain.\nCONTACT_PREFERENCE: A customer contact's communication preferences, availability, timezone, or meeting style.\nCONTACT_DEPARTURE: A known customer contact explicitly left or is leaving the customer's company; exclude vacation, parental or medical leave, ordinary out-of-office notices, candidates, and people discussed as part of the customer's own business\nCONTACT_POSITION_CHANGE: A known customer contact changed title, department, team, or professional responsibility; do not use this for an Outlit relationship role change, and use CONTACT_DEPARTURE when the person left the company\nCONTACT_DISENGAGEMENT: A known customer contact explicitly stopped participating, organizing, responding, or owning the initiative; a single unanswered message, scheduling friction, or an out-of-office notice is insufficient\nCHAMPION_RISK: Historical broad relationship-risk fact retained for existing rows and occurrences; new extraction uses specific contact-transition Fact types",
2414
2420
  "type": "array",
2415
2421
  "items": {
2416
2422
  "type": "string",
@@ -2422,19 +2428,22 @@ var publicToolContracts = {
2422
2428
  "STRATEGY",
2423
2429
  "COMPETITIVE",
2424
2430
  "SENTIMENT",
2425
- "CHAMPION_RISK",
2426
2431
  "EXPANSION",
2427
2432
  "CHURN_RISK",
2428
2433
  "TIMELINE",
2429
2434
  "BUDGET",
2430
2435
  "DECISION_MAKER",
2431
2436
  "REQUIREMENTS",
2437
+ "BLOCKER",
2438
+ "COMMITMENT",
2439
+ "SUCCESS_CRITERION",
2432
2440
  "PRODUCT_USAGE",
2433
2441
  "CONTACT_INFO",
2434
2442
  "CONTACT_PREFERENCE",
2435
2443
  "CONTACT_DEPARTURE",
2436
2444
  "CONTACT_POSITION_CHANGE",
2437
- "CONTACT_DISENGAGEMENT"
2445
+ "CONTACT_DISENGAGEMENT",
2446
+ "CHAMPION_RISK"
2438
2447
  ]
2439
2448
  }
2440
2449
  },
@@ -3544,7 +3553,8 @@ var publicToolContracts = {
3544
3553
  "SLACK",
3545
3554
  "PERSON_PROFILE",
3546
3555
  "CRM",
3547
- "CRM_OPPORTUNITY"
3556
+ "CRM_OPPORTUNITY",
3557
+ "EXTRACTED"
3548
3558
  ]
3549
3559
  },
3550
3560
  "sourceId": {
@@ -3553,13 +3563,13 @@ var publicToolContracts = {
3553
3563
  "maxLength": 500
3554
3564
  },
3555
3565
  "limit": {
3556
- "description": "Slack replies per page (default 50, maximum 100). Ignored for other source types.",
3566
+ "description": "Exact content segments per page (default 10, maximum 100).",
3557
3567
  "type": "integer",
3558
3568
  "minimum": 1,
3559
3569
  "maximum": 100
3560
3570
  },
3561
3571
  "cursor": {
3562
- "description": "Opaque Slack reply cursor returned by a previous exact lookup.",
3572
+ "description": "Opaque cursor returned by a previous exact lookup for the same source.",
3563
3573
  "type": "string",
3564
3574
  "minLength": 1,
3565
3575
  "maxLength": 2e3
@@ -3755,6 +3765,135 @@ var publicToolContracts = {
3755
3765
  "type": "string"
3756
3766
  },
3757
3767
  "additionalProperties": {}
3768
+ },
3769
+ "contentPage": {
3770
+ "type": "object",
3771
+ "properties": {
3772
+ "sourceType": {
3773
+ "type": "string",
3774
+ "enum": [
3775
+ "EMAIL",
3776
+ "CALL",
3777
+ "CALENDAR_EVENT",
3778
+ "SUPPORT_TICKET",
3779
+ "OPPORTUNITY",
3780
+ "SLACK",
3781
+ "PERSON_PROFILE"
3782
+ ]
3783
+ },
3784
+ "sourceId": {
3785
+ "type": "string",
3786
+ "minLength": 1,
3787
+ "maxLength": 500
3788
+ },
3789
+ "contentKind": {
3790
+ "type": "string",
3791
+ "enum": [
3792
+ "email_body",
3793
+ "call_transcript",
3794
+ "support_thread",
3795
+ "slack_thread"
3796
+ ]
3797
+ },
3798
+ "segments": {
3799
+ "type": "array",
3800
+ "items": {
3801
+ "type": "object",
3802
+ "properties": {
3803
+ "id": {
3804
+ "type": "string",
3805
+ "minLength": 1,
3806
+ "maxLength": 1e3
3807
+ },
3808
+ "occurredAt": {
3809
+ "type": "string",
3810
+ "format": "date-time",
3811
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
3812
+ },
3813
+ "authorLabel": {
3814
+ "type": "string",
3815
+ "maxLength": 500
3816
+ },
3817
+ "text": {
3818
+ "type": "string"
3819
+ }
3820
+ },
3821
+ "required": [
3822
+ "id",
3823
+ "text"
3824
+ ],
3825
+ "additionalProperties": false
3826
+ }
3827
+ },
3828
+ "page": {
3829
+ "type": "object",
3830
+ "properties": {
3831
+ "returned": {
3832
+ "type": "integer",
3833
+ "minimum": 0,
3834
+ "maximum": 9007199254740991
3835
+ },
3836
+ "hasMore": {
3837
+ "type": "boolean"
3838
+ },
3839
+ "nextCursor": {
3840
+ "anyOf": [
3841
+ {
3842
+ "type": "string",
3843
+ "maxLength": 2e3
3844
+ },
3845
+ {
3846
+ "type": "null"
3847
+ }
3848
+ ]
3849
+ }
3850
+ },
3851
+ "required": [
3852
+ "returned",
3853
+ "hasMore",
3854
+ "nextCursor"
3855
+ ],
3856
+ "additionalProperties": false
3857
+ },
3858
+ "completeness": {
3859
+ "type": "object",
3860
+ "properties": {
3861
+ "status": {
3862
+ "type": "string",
3863
+ "enum": [
3864
+ "complete",
3865
+ "partial",
3866
+ "unavailable"
3867
+ ]
3868
+ },
3869
+ "reason": {
3870
+ "type": "string",
3871
+ "maxLength": 1e3
3872
+ },
3873
+ "omittedFields": {
3874
+ "type": "array",
3875
+ "items": {
3876
+ "type": "string",
3877
+ "maxLength": 500
3878
+ }
3879
+ }
3880
+ },
3881
+ "required": [
3882
+ "status",
3883
+ "omittedFields"
3884
+ ],
3885
+ "additionalProperties": false
3886
+ }
3887
+ },
3888
+ "required": [
3889
+ "sourceType",
3890
+ "sourceId",
3891
+ "contentKind",
3892
+ "segments",
3893
+ "page",
3894
+ "completeness"
3895
+ ],
3896
+ "additionalProperties": false
3758
3897
  }
3759
3898
  },
3760
3899
  "required": [
@@ -4038,6 +4177,135 @@ var publicToolContracts = {
4038
4177
  "type": "string"
4039
4178
  },
4040
4179
  "additionalProperties": {}
4180
+ },
4181
+ "contentPage": {
4182
+ "type": "object",
4183
+ "properties": {
4184
+ "sourceType": {
4185
+ "type": "string",
4186
+ "enum": [
4187
+ "EMAIL",
4188
+ "CALL",
4189
+ "CALENDAR_EVENT",
4190
+ "SUPPORT_TICKET",
4191
+ "OPPORTUNITY",
4192
+ "SLACK",
4193
+ "PERSON_PROFILE"
4194
+ ]
4195
+ },
4196
+ "sourceId": {
4197
+ "type": "string",
4198
+ "minLength": 1,
4199
+ "maxLength": 500
4200
+ },
4201
+ "contentKind": {
4202
+ "type": "string",
4203
+ "enum": [
4204
+ "email_body",
4205
+ "call_transcript",
4206
+ "support_thread",
4207
+ "slack_thread"
4208
+ ]
4209
+ },
4210
+ "segments": {
4211
+ "type": "array",
4212
+ "items": {
4213
+ "type": "object",
4214
+ "properties": {
4215
+ "id": {
4216
+ "type": "string",
4217
+ "minLength": 1,
4218
+ "maxLength": 1e3
4219
+ },
4220
+ "occurredAt": {
4221
+ "type": "string",
4222
+ "format": "date-time",
4223
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
4224
+ },
4225
+ "authorLabel": {
4226
+ "type": "string",
4227
+ "maxLength": 500
4228
+ },
4229
+ "text": {
4230
+ "type": "string"
4231
+ }
4232
+ },
4233
+ "required": [
4234
+ "id",
4235
+ "text"
4236
+ ],
4237
+ "additionalProperties": false
4238
+ }
4239
+ },
4240
+ "page": {
4241
+ "type": "object",
4242
+ "properties": {
4243
+ "returned": {
4244
+ "type": "integer",
4245
+ "minimum": 0,
4246
+ "maximum": 9007199254740991
4247
+ },
4248
+ "hasMore": {
4249
+ "type": "boolean"
4250
+ },
4251
+ "nextCursor": {
4252
+ "anyOf": [
4253
+ {
4254
+ "type": "string",
4255
+ "maxLength": 2e3
4256
+ },
4257
+ {
4258
+ "type": "null"
4259
+ }
4260
+ ]
4261
+ }
4262
+ },
4263
+ "required": [
4264
+ "returned",
4265
+ "hasMore",
4266
+ "nextCursor"
4267
+ ],
4268
+ "additionalProperties": false
4269
+ },
4270
+ "completeness": {
4271
+ "type": "object",
4272
+ "properties": {
4273
+ "status": {
4274
+ "type": "string",
4275
+ "enum": [
4276
+ "complete",
4277
+ "partial",
4278
+ "unavailable"
4279
+ ]
4280
+ },
4281
+ "reason": {
4282
+ "type": "string",
4283
+ "maxLength": 1e3
4284
+ },
4285
+ "omittedFields": {
4286
+ "type": "array",
4287
+ "items": {
4288
+ "type": "string",
4289
+ "maxLength": 500
4290
+ }
4291
+ }
4292
+ },
4293
+ "required": [
4294
+ "status",
4295
+ "omittedFields"
4296
+ ],
4297
+ "additionalProperties": false
4298
+ }
4299
+ },
4300
+ "required": [
4301
+ "sourceType",
4302
+ "sourceId",
4303
+ "contentKind",
4304
+ "segments",
4305
+ "page",
4306
+ "completeness"
4307
+ ],
4308
+ "additionalProperties": false
4041
4309
  }
4042
4310
  },
4043
4311
  "required": [
@@ -7787,12 +8055,14 @@ var publicToolContracts = {
7787
8055
  "granola",
7788
8056
  "gong",
7789
8057
  "fireflies",
8058
+ "ergo",
7790
8059
  "pylon",
7791
8060
  "stripe",
7792
8061
  "mixpanel",
7793
8062
  "posthog",
7794
8063
  "supabase",
7795
- "clerk"
8064
+ "clerk",
8065
+ "autumn"
7796
8066
  ]
7797
8067
  }
7798
8068
  },
@@ -8073,6 +8343,32 @@ var publicToolContracts = {
8073
8343
  ],
8074
8344
  "additionalProperties": false
8075
8345
  },
8346
+ {
8347
+ "type": "object",
8348
+ "properties": {
8349
+ "provider": {
8350
+ "type": "string",
8351
+ "const": "ergo"
8352
+ },
8353
+ "credentials": {
8354
+ "type": "object",
8355
+ "properties": {
8356
+ "apiKey": {
8357
+ "type": "string",
8358
+ "minLength": 1
8359
+ }
8360
+ },
8361
+ "required": [
8362
+ "apiKey"
8363
+ ],
8364
+ "additionalProperties": false
8365
+ }
8366
+ },
8367
+ "required": [
8368
+ "provider"
8369
+ ],
8370
+ "additionalProperties": false
8371
+ },
8076
8372
  {
8077
8373
  "type": "object",
8078
8374
  "properties": {
@@ -8299,6 +8595,32 @@ var publicToolContracts = {
8299
8595
  "provider"
8300
8596
  ],
8301
8597
  "additionalProperties": false
8598
+ },
8599
+ {
8600
+ "type": "object",
8601
+ "properties": {
8602
+ "provider": {
8603
+ "type": "string",
8604
+ "const": "autumn"
8605
+ },
8606
+ "credentials": {
8607
+ "type": "object",
8608
+ "properties": {
8609
+ "apiKey": {
8610
+ "type": "string",
8611
+ "minLength": 1
8612
+ }
8613
+ },
8614
+ "required": [
8615
+ "apiKey"
8616
+ ],
8617
+ "additionalProperties": false
8618
+ }
8619
+ },
8620
+ "required": [
8621
+ "provider"
8622
+ ],
8623
+ "additionalProperties": false
8302
8624
  }
8303
8625
  ]
8304
8626
  },
@@ -8318,12 +8640,14 @@ var publicToolContracts = {
8318
8640
  "granola",
8319
8641
  "gong",
8320
8642
  "fireflies",
8643
+ "ergo",
8321
8644
  "pylon",
8322
8645
  "stripe",
8323
8646
  "mixpanel",
8324
8647
  "posthog",
8325
8648
  "supabase",
8326
- "clerk"
8649
+ "clerk",
8650
+ "autumn"
8327
8651
  ]
8328
8652
  },
8329
8653
  "name": {
@@ -8643,6 +8967,7 @@ var publicToolContracts = {
8643
8967
  "CREDENTIAL_REJECTED",
8644
8968
  "LEGACY_CONNECTION_REQUIRED",
8645
8969
  "HANDOFF_UNAVAILABLE",
8970
+ "SYNC_START_FAILED",
8646
8971
  "TRANSIENT_FAILURE"
8647
8972
  ]
8648
8973
  },
@@ -9993,7 +10318,7 @@ var publicToolContracts = {
9993
10318
  "commandVersion": 1,
9994
10319
  "ownerDomain": "value_features",
9995
10320
  "title": "Get Customer Features",
9996
- "description": "Read exact historical feature-usage evidence for one authorized customer.",
10321
+ "description": "Read Outlit event evidence and stored non-credit Autumn feature quantities, frequency, recency, weekly coverage, and explicit links for one authorized customer. Provider totals and linked event counts remain separate.",
9997
10322
  "inputSchema": {
9998
10323
  "$schema": "https://json-schema.org/draft/2020-12/schema",
9999
10324
  "type": "object",
@@ -10043,280 +10368,198 @@ var publicToolContracts = {
10043
10368
  ],
10044
10369
  "additionalProperties": false
10045
10370
  },
10371
+ "events": {
10372
+ "type": "string",
10373
+ "enum": [
10374
+ "available",
10375
+ "unavailable"
10376
+ ],
10377
+ "description": "Whether configured event features could be enumerated and their evidence reads attempted. Individual event coverage may still be unavailable. If unavailable, event features are omitted and stored provider features remain independently readable."
10378
+ },
10046
10379
  "features": {
10047
- "maxItems": 100,
10380
+ "maxItems": 4100,
10048
10381
  "type": "array",
10049
10382
  "items": {
10050
- "type": "object",
10051
- "properties": {
10052
- "id": {
10053
- "type": "string",
10054
- "pattern": "^value_feature_v1_[a-f0-9]{32}$"
10055
- },
10056
- "revision": {
10057
- "type": "string",
10058
- "pattern": "^value_feature_revision_v1_[a-f0-9]{32}$"
10059
- },
10060
- "sourceKey": {
10061
- "type": "string",
10062
- "pattern": "^metric_source_v1_[a-f0-9]{32}$"
10063
- },
10064
- "featureKey": {
10065
- "type": "string",
10066
- "maxLength": 64,
10067
- "pattern": "^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$"
10068
- },
10069
- "name": {
10070
- "type": "string",
10071
- "minLength": 1,
10072
- "maxLength": 255
10073
- },
10074
- "rule": {
10383
+ "oneOf": [
10384
+ {
10075
10385
  "type": "object",
10076
10386
  "properties": {
10077
- "eventName": {
10387
+ "id": {
10078
10388
  "type": "string",
10079
- "minLength": 1,
10080
- "maxLength": 191
10389
+ "pattern": "^value_feature_v1_[a-f0-9]{32}$"
10081
10390
  },
10082
- "propertyFilters": {
10083
- "maxItems": 5,
10084
- "type": "array",
10085
- "items": {
10086
- "oneOf": [
10087
- {
10088
- "type": "object",
10089
- "properties": {
10090
- "property": {
10091
- "type": "string",
10092
- "minLength": 1,
10093
- "maxLength": 191
10094
- },
10095
- "operator": {
10096
- "type": "string",
10097
- "const": "equals"
10098
- },
10099
- "value": {
10100
- "oneOf": [
10101
- {
10102
- "type": "object",
10103
- "properties": {
10104
- "type": {
10105
- "type": "string",
10106
- "const": "string"
10107
- },
10108
- "value": {
10109
- "type": "string",
10110
- "maxLength": 191
10111
- }
10112
- },
10113
- "required": [
10114
- "type",
10115
- "value"
10116
- ],
10117
- "additionalProperties": false
10118
- },
10119
- {
10120
- "type": "object",
10121
- "properties": {
10122
- "type": {
10123
- "type": "string",
10124
- "const": "number"
10125
- },
10126
- "value": {
10127
- "type": "number",
10128
- "minimum": -9007199254740991,
10129
- "maximum": 9007199254740991
10130
- }
10131
- },
10132
- "required": [
10133
- "type",
10134
- "value"
10135
- ],
10136
- "additionalProperties": false
10137
- },
10138
- {
10139
- "type": "object",
10140
- "properties": {
10141
- "type": {
10142
- "type": "string",
10143
- "const": "boolean"
10144
- },
10145
- "value": {
10146
- "type": "boolean"
10147
- }
10148
- },
10149
- "required": [
10150
- "type",
10151
- "value"
10152
- ],
10153
- "additionalProperties": false
10154
- }
10155
- ]
10156
- }
10157
- },
10158
- "required": [
10159
- "property",
10160
- "operator",
10161
- "value"
10162
- ],
10163
- "additionalProperties": false
10164
- },
10165
- {
10166
- "type": "object",
10167
- "properties": {
10168
- "property": {
10169
- "type": "string",
10170
- "minLength": 1,
10171
- "maxLength": 191
10172
- },
10173
- "operator": {
10174
- "type": "string",
10175
- "const": "exists"
10176
- }
10177
- },
10178
- "required": [
10179
- "property",
10180
- "operator"
10181
- ],
10182
- "additionalProperties": false
10183
- }
10184
- ]
10185
- }
10186
- }
10187
- },
10188
- "required": [
10189
- "eventName",
10190
- "propertyFilters"
10191
- ],
10192
- "additionalProperties": false
10193
- },
10194
- "evidence": {
10195
- "oneOf": [
10196
- {
10391
+ "revision": {
10392
+ "type": "string",
10393
+ "pattern": "^value_feature_revision_v1_[a-f0-9]{32}$"
10394
+ },
10395
+ "kind": {
10396
+ "type": "string",
10397
+ "const": "event"
10398
+ },
10399
+ "sourceKey": {
10400
+ "type": "string",
10401
+ "pattern": "^metric_source_v1_[a-f0-9]{32}$"
10402
+ },
10403
+ "source": {
10197
10404
  "type": "object",
10198
10405
  "properties": {
10199
- "window": {
10200
- "type": "object",
10201
- "properties": {
10202
- "startAt": {
10203
- "type": "string",
10204
- "format": "date-time",
10205
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
10206
- },
10207
- "endAt": {
10208
- "type": "string",
10209
- "format": "date-time",
10210
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
10211
- }
10212
- },
10213
- "required": [
10214
- "startAt",
10215
- "endAt"
10216
- ],
10217
- "additionalProperties": false
10218
- },
10219
- "coverage": {
10406
+ "provider": {
10220
10407
  "type": "string",
10221
10408
  "enum": [
10222
- "complete",
10223
- "partial"
10409
+ "outlit_sdk",
10410
+ "posthog",
10411
+ "mixpanel"
10224
10412
  ]
10225
10413
  },
10226
- "eventCount": {
10227
- "type": "integer",
10228
- "minimum": 0,
10229
- "maximum": 9007199254740991
10230
- },
10231
- "activeDays": {
10232
- "type": "integer",
10233
- "minimum": 0,
10234
- "maximum": 9007199254740991
10235
- },
10236
- "activeWeeks": {
10237
- "type": "integer",
10238
- "minimum": 0,
10239
- "maximum": 53
10240
- },
10241
- "firstObservedAt": {
10414
+ "connection": {
10242
10415
  "anyOf": [
10243
10416
  {
10244
- "type": "string",
10245
- "format": "date-time",
10246
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
10417
+ "type": "string"
10247
10418
  },
10248
10419
  {
10249
10420
  "type": "null"
10250
10421
  }
10251
10422
  ]
10252
10423
  },
10253
- "lastObservedAt": {
10424
+ "scope": {
10425
+ "type": "string"
10426
+ },
10427
+ "label": {
10254
10428
  "anyOf": [
10255
10429
  {
10256
- "type": "string",
10257
- "format": "date-time",
10258
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
10430
+ "type": "string"
10259
10431
  },
10260
10432
  {
10261
10433
  "type": "null"
10262
10434
  }
10263
10435
  ]
10436
+ }
10437
+ },
10438
+ "required": [
10439
+ "provider",
10440
+ "connection",
10441
+ "scope",
10442
+ "label"
10443
+ ],
10444
+ "additionalProperties": false
10445
+ },
10446
+ "featureKey": {
10447
+ "type": "string",
10448
+ "maxLength": 64,
10449
+ "pattern": "^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$"
10450
+ },
10451
+ "name": {
10452
+ "type": "string",
10453
+ "minLength": 1,
10454
+ "maxLength": 255
10455
+ },
10456
+ "rule": {
10457
+ "type": "object",
10458
+ "properties": {
10459
+ "eventName": {
10460
+ "type": "string",
10461
+ "minLength": 1,
10462
+ "maxLength": 191
10264
10463
  },
10265
- "weeklyUsage": {
10266
- "maxItems": 53,
10464
+ "propertyFilters": {
10465
+ "maxItems": 5,
10267
10466
  "type": "array",
10268
10467
  "items": {
10269
10468
  "oneOf": [
10270
10469
  {
10271
10470
  "type": "object",
10272
10471
  "properties": {
10273
- "weekStartAt": {
10472
+ "property": {
10274
10473
  "type": "string",
10275
- "format": "date-time",
10276
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
10474
+ "minLength": 1,
10475
+ "maxLength": 191
10277
10476
  },
10278
- "coverage": {
10477
+ "operator": {
10279
10478
  "type": "string",
10280
- "enum": [
10281
- "complete",
10282
- "partial"
10283
- ]
10284
- },
10285
- "eventCount": {
10286
- "type": "integer",
10287
- "minimum": 0,
10288
- "maximum": 9007199254740991
10479
+ "const": "equals"
10289
10480
  },
10290
- "activeDays": {
10291
- "type": "integer",
10292
- "minimum": 0,
10293
- "maximum": 7
10481
+ "value": {
10482
+ "oneOf": [
10483
+ {
10484
+ "type": "object",
10485
+ "properties": {
10486
+ "type": {
10487
+ "type": "string",
10488
+ "const": "string"
10489
+ },
10490
+ "value": {
10491
+ "type": "string",
10492
+ "maxLength": 191
10493
+ }
10494
+ },
10495
+ "required": [
10496
+ "type",
10497
+ "value"
10498
+ ],
10499
+ "additionalProperties": false
10500
+ },
10501
+ {
10502
+ "type": "object",
10503
+ "properties": {
10504
+ "type": {
10505
+ "type": "string",
10506
+ "const": "number"
10507
+ },
10508
+ "value": {
10509
+ "type": "number",
10510
+ "minimum": -9007199254740991,
10511
+ "maximum": 9007199254740991
10512
+ }
10513
+ },
10514
+ "required": [
10515
+ "type",
10516
+ "value"
10517
+ ],
10518
+ "additionalProperties": false
10519
+ },
10520
+ {
10521
+ "type": "object",
10522
+ "properties": {
10523
+ "type": {
10524
+ "type": "string",
10525
+ "const": "boolean"
10526
+ },
10527
+ "value": {
10528
+ "type": "boolean"
10529
+ }
10530
+ },
10531
+ "required": [
10532
+ "type",
10533
+ "value"
10534
+ ],
10535
+ "additionalProperties": false
10536
+ }
10537
+ ]
10294
10538
  }
10295
10539
  },
10296
10540
  "required": [
10297
- "weekStartAt",
10298
- "coverage",
10299
- "eventCount",
10300
- "activeDays"
10541
+ "property",
10542
+ "operator",
10543
+ "value"
10301
10544
  ],
10302
10545
  "additionalProperties": false
10303
10546
  },
10304
10547
  {
10305
10548
  "type": "object",
10306
10549
  "properties": {
10307
- "weekStartAt": {
10550
+ "property": {
10308
10551
  "type": "string",
10309
- "format": "date-time",
10310
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
10552
+ "minLength": 1,
10553
+ "maxLength": 191
10311
10554
  },
10312
- "coverage": {
10555
+ "operator": {
10313
10556
  "type": "string",
10314
- "const": "unavailable"
10557
+ "const": "exists"
10315
10558
  }
10316
10559
  },
10317
10560
  "required": [
10318
- "weekStartAt",
10319
- "coverage"
10561
+ "property",
10562
+ "operator"
10320
10563
  ],
10321
10564
  "additionalProperties": false
10322
10565
  }
@@ -10325,120 +10568,2320 @@ var publicToolContracts = {
10325
10568
  }
10326
10569
  },
10327
10570
  "required": [
10328
- "window",
10329
- "coverage",
10330
- "eventCount",
10331
- "activeDays",
10332
- "activeWeeks",
10333
- "firstObservedAt",
10334
- "lastObservedAt"
10571
+ "eventName",
10572
+ "propertyFilters"
10335
10573
  ],
10336
10574
  "additionalProperties": false
10337
10575
  },
10576
+ "evidence": {
10577
+ "oneOf": [
10578
+ {
10579
+ "type": "object",
10580
+ "properties": {
10581
+ "window": {
10582
+ "type": "object",
10583
+ "properties": {
10584
+ "startAt": {
10585
+ "type": "string",
10586
+ "format": "date-time",
10587
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
10588
+ },
10589
+ "endAt": {
10590
+ "type": "string",
10591
+ "format": "date-time",
10592
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
10593
+ }
10594
+ },
10595
+ "required": [
10596
+ "startAt",
10597
+ "endAt"
10598
+ ],
10599
+ "additionalProperties": false
10600
+ },
10601
+ "coverage": {
10602
+ "type": "string",
10603
+ "enum": [
10604
+ "complete",
10605
+ "partial"
10606
+ ]
10607
+ },
10608
+ "eventCount": {
10609
+ "type": "integer",
10610
+ "minimum": 0,
10611
+ "maximum": 9007199254740991
10612
+ },
10613
+ "activeDays": {
10614
+ "type": "integer",
10615
+ "minimum": 0,
10616
+ "maximum": 9007199254740991
10617
+ },
10618
+ "activeWeeks": {
10619
+ "type": "integer",
10620
+ "minimum": 0,
10621
+ "maximum": 53
10622
+ },
10623
+ "firstObservedAt": {
10624
+ "anyOf": [
10625
+ {
10626
+ "type": "string",
10627
+ "format": "date-time",
10628
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
10629
+ },
10630
+ {
10631
+ "type": "null"
10632
+ }
10633
+ ]
10634
+ },
10635
+ "lastObservedAt": {
10636
+ "anyOf": [
10637
+ {
10638
+ "type": "string",
10639
+ "format": "date-time",
10640
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
10641
+ },
10642
+ {
10643
+ "type": "null"
10644
+ }
10645
+ ]
10646
+ },
10647
+ "weeklyUsage": {
10648
+ "maxItems": 53,
10649
+ "type": "array",
10650
+ "items": {
10651
+ "oneOf": [
10652
+ {
10653
+ "type": "object",
10654
+ "properties": {
10655
+ "weekStartAt": {
10656
+ "type": "string",
10657
+ "format": "date-time",
10658
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
10659
+ },
10660
+ "coverage": {
10661
+ "type": "string",
10662
+ "enum": [
10663
+ "complete",
10664
+ "partial"
10665
+ ]
10666
+ },
10667
+ "eventCount": {
10668
+ "type": "integer",
10669
+ "minimum": 0,
10670
+ "maximum": 9007199254740991
10671
+ },
10672
+ "activeDays": {
10673
+ "type": "integer",
10674
+ "minimum": 0,
10675
+ "maximum": 7
10676
+ }
10677
+ },
10678
+ "required": [
10679
+ "weekStartAt",
10680
+ "coverage",
10681
+ "eventCount",
10682
+ "activeDays"
10683
+ ],
10684
+ "additionalProperties": false
10685
+ },
10686
+ {
10687
+ "type": "object",
10688
+ "properties": {
10689
+ "weekStartAt": {
10690
+ "type": "string",
10691
+ "format": "date-time",
10692
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
10693
+ },
10694
+ "coverage": {
10695
+ "type": "string",
10696
+ "const": "unavailable"
10697
+ }
10698
+ },
10699
+ "required": [
10700
+ "weekStartAt",
10701
+ "coverage"
10702
+ ],
10703
+ "additionalProperties": false
10704
+ }
10705
+ ]
10706
+ }
10707
+ }
10708
+ },
10709
+ "required": [
10710
+ "window",
10711
+ "coverage",
10712
+ "eventCount",
10713
+ "activeDays",
10714
+ "activeWeeks",
10715
+ "firstObservedAt",
10716
+ "lastObservedAt"
10717
+ ],
10718
+ "additionalProperties": false
10719
+ },
10720
+ {
10721
+ "type": "object",
10722
+ "properties": {
10723
+ "window": {
10724
+ "type": "object",
10725
+ "properties": {
10726
+ "startAt": {
10727
+ "type": "string",
10728
+ "format": "date-time",
10729
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
10730
+ },
10731
+ "endAt": {
10732
+ "type": "string",
10733
+ "format": "date-time",
10734
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
10735
+ }
10736
+ },
10737
+ "required": [
10738
+ "startAt",
10739
+ "endAt"
10740
+ ],
10741
+ "additionalProperties": false
10742
+ },
10743
+ "coverage": {
10744
+ "type": "string",
10745
+ "const": "unavailable"
10746
+ },
10747
+ "reason": {
10748
+ "type": "string",
10749
+ "enum": [
10750
+ "SOURCE_BLOCKED",
10751
+ "SOURCE_NOT_READY",
10752
+ "QUERY_FAILED"
10753
+ ]
10754
+ }
10755
+ },
10756
+ "required": [
10757
+ "window",
10758
+ "coverage",
10759
+ "reason"
10760
+ ],
10761
+ "additionalProperties": false
10762
+ }
10763
+ ]
10764
+ }
10765
+ },
10766
+ "required": [
10767
+ "id",
10768
+ "revision",
10769
+ "kind",
10770
+ "sourceKey",
10771
+ "source",
10772
+ "featureKey",
10773
+ "name",
10774
+ "rule",
10775
+ "evidence"
10776
+ ],
10777
+ "additionalProperties": false
10778
+ },
10779
+ {
10780
+ "type": "object",
10781
+ "properties": {
10782
+ "kind": {
10783
+ "type": "string",
10784
+ "const": "metered"
10785
+ },
10786
+ "id": {
10787
+ "type": "string",
10788
+ "minLength": 1,
10789
+ "maxLength": 2048
10790
+ },
10791
+ "name": {
10792
+ "type": "string",
10793
+ "minLength": 1,
10794
+ "maxLength": 2048
10795
+ },
10796
+ "source": {
10797
+ "type": "object",
10798
+ "properties": {
10799
+ "provider": {
10800
+ "type": "string",
10801
+ "const": "autumn"
10802
+ },
10803
+ "connection": {
10804
+ "anyOf": [
10805
+ {
10806
+ "type": "string"
10807
+ },
10808
+ {
10809
+ "type": "null"
10810
+ }
10811
+ ]
10812
+ },
10813
+ "account": {
10814
+ "type": "string"
10815
+ },
10816
+ "environment": {
10817
+ "type": "string",
10818
+ "enum": [
10819
+ "sandbox",
10820
+ "live"
10821
+ ]
10822
+ },
10823
+ "observed": {
10824
+ "type": "string",
10825
+ "format": "date-time",
10826
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
10827
+ },
10828
+ "stale": {
10829
+ "type": "boolean"
10830
+ }
10831
+ },
10832
+ "required": [
10833
+ "provider",
10834
+ "connection",
10835
+ "account",
10836
+ "environment",
10837
+ "observed",
10838
+ "stale"
10839
+ ],
10840
+ "additionalProperties": false
10841
+ },
10842
+ "unit": {
10843
+ "type": "string",
10844
+ "const": "provider_defined",
10845
+ "description": "This feature's own units; never sum across features or with linked event counts."
10846
+ },
10847
+ "reported": {
10848
+ "anyOf": [
10849
+ {
10850
+ "type": "number"
10851
+ },
10852
+ {
10853
+ "type": "null"
10854
+ }
10855
+ ],
10856
+ "description": "Provider-reported balance usage, independent of the requested history window."
10857
+ },
10858
+ "links": {
10859
+ "type": "array",
10860
+ "items": {
10861
+ "type": "object",
10862
+ "properties": {
10863
+ "id": {
10864
+ "type": "string",
10865
+ "pattern": "^value_feature_v1_[a-f0-9]{32}$"
10866
+ },
10867
+ "source": {
10868
+ "type": "string",
10869
+ "pattern": "^metric_source_v1_[a-f0-9]{32}$"
10870
+ },
10871
+ "feature": {
10872
+ "anyOf": [
10873
+ {
10874
+ "type": "object",
10875
+ "properties": {
10876
+ "id": {
10877
+ "type": "string",
10878
+ "pattern": "^value_feature_v1_[a-f0-9]{32}$"
10879
+ },
10880
+ "revision": {
10881
+ "type": "string",
10882
+ "pattern": "^value_feature_revision_v1_[a-f0-9]{32}$"
10883
+ },
10884
+ "kind": {
10885
+ "type": "string",
10886
+ "const": "event"
10887
+ },
10888
+ "sourceKey": {
10889
+ "type": "string",
10890
+ "pattern": "^metric_source_v1_[a-f0-9]{32}$"
10891
+ },
10892
+ "source": {
10893
+ "type": "object",
10894
+ "properties": {
10895
+ "provider": {
10896
+ "type": "string",
10897
+ "enum": [
10898
+ "outlit_sdk",
10899
+ "posthog",
10900
+ "mixpanel"
10901
+ ]
10902
+ },
10903
+ "connection": {
10904
+ "anyOf": [
10905
+ {
10906
+ "type": "string"
10907
+ },
10908
+ {
10909
+ "type": "null"
10910
+ }
10911
+ ]
10912
+ },
10913
+ "scope": {
10914
+ "type": "string"
10915
+ },
10916
+ "label": {
10917
+ "anyOf": [
10918
+ {
10919
+ "type": "string"
10920
+ },
10921
+ {
10922
+ "type": "null"
10923
+ }
10924
+ ]
10925
+ }
10926
+ },
10927
+ "required": [
10928
+ "provider",
10929
+ "connection",
10930
+ "scope",
10931
+ "label"
10932
+ ],
10933
+ "additionalProperties": false
10934
+ },
10935
+ "featureKey": {
10936
+ "type": "string",
10937
+ "maxLength": 64,
10938
+ "pattern": "^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$"
10939
+ },
10940
+ "name": {
10941
+ "type": "string",
10942
+ "minLength": 1,
10943
+ "maxLength": 255
10944
+ },
10945
+ "rule": {
10946
+ "type": "object",
10947
+ "properties": {
10948
+ "eventName": {
10949
+ "type": "string",
10950
+ "minLength": 1,
10951
+ "maxLength": 191
10952
+ },
10953
+ "propertyFilters": {
10954
+ "maxItems": 5,
10955
+ "type": "array",
10956
+ "items": {
10957
+ "oneOf": [
10958
+ {
10959
+ "type": "object",
10960
+ "properties": {
10961
+ "property": {
10962
+ "type": "string",
10963
+ "minLength": 1,
10964
+ "maxLength": 191
10965
+ },
10966
+ "operator": {
10967
+ "type": "string",
10968
+ "const": "equals"
10969
+ },
10970
+ "value": {
10971
+ "oneOf": [
10972
+ {
10973
+ "type": "object",
10974
+ "properties": {
10975
+ "type": {
10976
+ "type": "string",
10977
+ "const": "string"
10978
+ },
10979
+ "value": {
10980
+ "type": "string",
10981
+ "maxLength": 191
10982
+ }
10983
+ },
10984
+ "required": [
10985
+ "type",
10986
+ "value"
10987
+ ],
10988
+ "additionalProperties": false
10989
+ },
10990
+ {
10991
+ "type": "object",
10992
+ "properties": {
10993
+ "type": {
10994
+ "type": "string",
10995
+ "const": "number"
10996
+ },
10997
+ "value": {
10998
+ "type": "number",
10999
+ "minimum": -9007199254740991,
11000
+ "maximum": 9007199254740991
11001
+ }
11002
+ },
11003
+ "required": [
11004
+ "type",
11005
+ "value"
11006
+ ],
11007
+ "additionalProperties": false
11008
+ },
11009
+ {
11010
+ "type": "object",
11011
+ "properties": {
11012
+ "type": {
11013
+ "type": "string",
11014
+ "const": "boolean"
11015
+ },
11016
+ "value": {
11017
+ "type": "boolean"
11018
+ }
11019
+ },
11020
+ "required": [
11021
+ "type",
11022
+ "value"
11023
+ ],
11024
+ "additionalProperties": false
11025
+ }
11026
+ ]
11027
+ }
11028
+ },
11029
+ "required": [
11030
+ "property",
11031
+ "operator",
11032
+ "value"
11033
+ ],
11034
+ "additionalProperties": false
11035
+ },
11036
+ {
11037
+ "type": "object",
11038
+ "properties": {
11039
+ "property": {
11040
+ "type": "string",
11041
+ "minLength": 1,
11042
+ "maxLength": 191
11043
+ },
11044
+ "operator": {
11045
+ "type": "string",
11046
+ "const": "exists"
11047
+ }
11048
+ },
11049
+ "required": [
11050
+ "property",
11051
+ "operator"
11052
+ ],
11053
+ "additionalProperties": false
11054
+ }
11055
+ ]
11056
+ }
11057
+ }
11058
+ },
11059
+ "required": [
11060
+ "eventName",
11061
+ "propertyFilters"
11062
+ ],
11063
+ "additionalProperties": false
11064
+ },
11065
+ "evidence": {
11066
+ "oneOf": [
11067
+ {
11068
+ "type": "object",
11069
+ "properties": {
11070
+ "window": {
11071
+ "type": "object",
11072
+ "properties": {
11073
+ "startAt": {
11074
+ "type": "string",
11075
+ "format": "date-time",
11076
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
11077
+ },
11078
+ "endAt": {
11079
+ "type": "string",
11080
+ "format": "date-time",
11081
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
11082
+ }
11083
+ },
11084
+ "required": [
11085
+ "startAt",
11086
+ "endAt"
11087
+ ],
11088
+ "additionalProperties": false
11089
+ },
11090
+ "coverage": {
11091
+ "type": "string",
11092
+ "enum": [
11093
+ "complete",
11094
+ "partial"
11095
+ ]
11096
+ },
11097
+ "eventCount": {
11098
+ "type": "integer",
11099
+ "minimum": 0,
11100
+ "maximum": 9007199254740991
11101
+ },
11102
+ "activeDays": {
11103
+ "type": "integer",
11104
+ "minimum": 0,
11105
+ "maximum": 9007199254740991
11106
+ },
11107
+ "activeWeeks": {
11108
+ "type": "integer",
11109
+ "minimum": 0,
11110
+ "maximum": 53
11111
+ },
11112
+ "firstObservedAt": {
11113
+ "anyOf": [
11114
+ {
11115
+ "type": "string",
11116
+ "format": "date-time",
11117
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
11118
+ },
11119
+ {
11120
+ "type": "null"
11121
+ }
11122
+ ]
11123
+ },
11124
+ "lastObservedAt": {
11125
+ "anyOf": [
11126
+ {
11127
+ "type": "string",
11128
+ "format": "date-time",
11129
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
11130
+ },
11131
+ {
11132
+ "type": "null"
11133
+ }
11134
+ ]
11135
+ },
11136
+ "weeklyUsage": {
11137
+ "maxItems": 53,
11138
+ "type": "array",
11139
+ "items": {
11140
+ "oneOf": [
11141
+ {
11142
+ "type": "object",
11143
+ "properties": {
11144
+ "weekStartAt": {
11145
+ "type": "string",
11146
+ "format": "date-time",
11147
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
11148
+ },
11149
+ "coverage": {
11150
+ "type": "string",
11151
+ "enum": [
11152
+ "complete",
11153
+ "partial"
11154
+ ]
11155
+ },
11156
+ "eventCount": {
11157
+ "type": "integer",
11158
+ "minimum": 0,
11159
+ "maximum": 9007199254740991
11160
+ },
11161
+ "activeDays": {
11162
+ "type": "integer",
11163
+ "minimum": 0,
11164
+ "maximum": 7
11165
+ }
11166
+ },
11167
+ "required": [
11168
+ "weekStartAt",
11169
+ "coverage",
11170
+ "eventCount",
11171
+ "activeDays"
11172
+ ],
11173
+ "additionalProperties": false
11174
+ },
11175
+ {
11176
+ "type": "object",
11177
+ "properties": {
11178
+ "weekStartAt": {
11179
+ "type": "string",
11180
+ "format": "date-time",
11181
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
11182
+ },
11183
+ "coverage": {
11184
+ "type": "string",
11185
+ "const": "unavailable"
11186
+ }
11187
+ },
11188
+ "required": [
11189
+ "weekStartAt",
11190
+ "coverage"
11191
+ ],
11192
+ "additionalProperties": false
11193
+ }
11194
+ ]
11195
+ }
11196
+ }
11197
+ },
11198
+ "required": [
11199
+ "window",
11200
+ "coverage",
11201
+ "eventCount",
11202
+ "activeDays",
11203
+ "activeWeeks",
11204
+ "firstObservedAt",
11205
+ "lastObservedAt"
11206
+ ],
11207
+ "additionalProperties": false
11208
+ },
11209
+ {
11210
+ "type": "object",
11211
+ "properties": {
11212
+ "window": {
11213
+ "type": "object",
11214
+ "properties": {
11215
+ "startAt": {
11216
+ "type": "string",
11217
+ "format": "date-time",
11218
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
11219
+ },
11220
+ "endAt": {
11221
+ "type": "string",
11222
+ "format": "date-time",
11223
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
11224
+ }
11225
+ },
11226
+ "required": [
11227
+ "startAt",
11228
+ "endAt"
11229
+ ],
11230
+ "additionalProperties": false
11231
+ },
11232
+ "coverage": {
11233
+ "type": "string",
11234
+ "const": "unavailable"
11235
+ },
11236
+ "reason": {
11237
+ "type": "string",
11238
+ "enum": [
11239
+ "SOURCE_BLOCKED",
11240
+ "SOURCE_NOT_READY",
11241
+ "QUERY_FAILED"
11242
+ ]
11243
+ }
11244
+ },
11245
+ "required": [
11246
+ "window",
11247
+ "coverage",
11248
+ "reason"
11249
+ ],
11250
+ "additionalProperties": false
11251
+ }
11252
+ ]
11253
+ }
11254
+ },
11255
+ "required": [
11256
+ "id",
11257
+ "revision",
11258
+ "kind",
11259
+ "sourceKey",
11260
+ "source",
11261
+ "featureKey",
11262
+ "name",
11263
+ "rule",
11264
+ "evidence"
11265
+ ],
11266
+ "additionalProperties": false
11267
+ },
11268
+ {
11269
+ "type": "null"
11270
+ }
11271
+ ],
11272
+ "description": "Linked Outlit definition and event evidence, or null when unavailable. Never added to provider quantities."
11273
+ }
11274
+ },
11275
+ "required": [
11276
+ "id",
11277
+ "source",
11278
+ "feature"
11279
+ ],
11280
+ "additionalProperties": false
11281
+ }
11282
+ },
11283
+ "evidence": {
11284
+ "type": "object",
11285
+ "properties": {
11286
+ "window": {
11287
+ "type": "object",
11288
+ "properties": {
11289
+ "startAt": {
11290
+ "type": "string",
11291
+ "format": "date-time",
11292
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
11293
+ },
11294
+ "endAt": {
11295
+ "type": "string",
11296
+ "format": "date-time",
11297
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
11298
+ }
11299
+ },
11300
+ "required": [
11301
+ "startAt",
11302
+ "endAt"
11303
+ ],
11304
+ "additionalProperties": false
11305
+ },
11306
+ "coverage": {
11307
+ "type": "string",
11308
+ "enum": [
11309
+ "complete",
11310
+ "partial",
11311
+ "unavailable"
11312
+ ]
11313
+ },
11314
+ "quantity": {
11315
+ "anyOf": [
11316
+ {
11317
+ "type": "number",
11318
+ "minimum": 0
11319
+ },
11320
+ {
11321
+ "type": "null"
11322
+ }
11323
+ ]
11324
+ },
11325
+ "days": {
11326
+ "anyOf": [
11327
+ {
11328
+ "type": "integer",
11329
+ "minimum": 0,
11330
+ "maximum": 9007199254740991
11331
+ },
11332
+ {
11333
+ "type": "null"
11334
+ }
11335
+ ]
11336
+ },
11337
+ "weeks": {
11338
+ "anyOf": [
11339
+ {
11340
+ "type": "integer",
11341
+ "minimum": 0,
11342
+ "maximum": 9007199254740991
11343
+ },
11344
+ {
11345
+ "type": "null"
11346
+ }
11347
+ ]
11348
+ },
11349
+ "first": {
11350
+ "anyOf": [
11351
+ {
11352
+ "type": "string",
11353
+ "format": "date-time",
11354
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
11355
+ },
11356
+ {
11357
+ "type": "null"
11358
+ }
11359
+ ],
11360
+ "description": "First positive daily observation in the requested window, at UTC day precision."
11361
+ },
11362
+ "last": {
11363
+ "anyOf": [
11364
+ {
11365
+ "type": "string",
11366
+ "format": "date-time",
11367
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
11368
+ },
11369
+ {
11370
+ "type": "null"
11371
+ }
11372
+ ],
11373
+ "description": "Latest positive daily observation in the requested window, at UTC day precision."
11374
+ },
11375
+ "weekly": {
11376
+ "maxItems": 53,
11377
+ "type": "array",
11378
+ "items": {
11379
+ "oneOf": [
11380
+ {
11381
+ "type": "object",
11382
+ "properties": {
11383
+ "start": {
11384
+ "type": "string",
11385
+ "format": "date-time",
11386
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
11387
+ },
11388
+ "coverage": {
11389
+ "type": "string",
11390
+ "enum": [
11391
+ "complete",
11392
+ "partial"
11393
+ ]
11394
+ },
11395
+ "quantity": {
11396
+ "type": "number",
11397
+ "minimum": 0
11398
+ },
11399
+ "days": {
11400
+ "type": "integer",
11401
+ "minimum": 0,
11402
+ "maximum": 7
11403
+ }
11404
+ },
11405
+ "required": [
11406
+ "start",
11407
+ "coverage",
11408
+ "quantity",
11409
+ "days"
11410
+ ],
11411
+ "additionalProperties": false
11412
+ },
11413
+ {
11414
+ "type": "object",
11415
+ "properties": {
11416
+ "start": {
11417
+ "type": "string",
11418
+ "format": "date-time",
11419
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
11420
+ },
11421
+ "coverage": {
11422
+ "type": "string",
11423
+ "const": "unavailable"
11424
+ }
11425
+ },
11426
+ "required": [
11427
+ "start",
11428
+ "coverage"
11429
+ ],
11430
+ "additionalProperties": false
11431
+ }
11432
+ ]
11433
+ }
11434
+ }
11435
+ },
11436
+ "required": [
11437
+ "window",
11438
+ "coverage",
11439
+ "quantity",
11440
+ "days",
11441
+ "weeks",
11442
+ "first",
11443
+ "last"
11444
+ ],
11445
+ "additionalProperties": false
11446
+ }
11447
+ },
11448
+ "required": [
11449
+ "kind",
11450
+ "id",
11451
+ "name",
11452
+ "source",
11453
+ "unit",
11454
+ "reported",
11455
+ "links",
11456
+ "evidence"
11457
+ ],
11458
+ "additionalProperties": false
11459
+ }
11460
+ ]
11461
+ }
11462
+ },
11463
+ "sources": {
11464
+ "type": "array",
11465
+ "items": {
11466
+ "type": "object",
11467
+ "properties": {
11468
+ "provider": {
11469
+ "type": "string",
11470
+ "const": "autumn"
11471
+ },
11472
+ "status": {
11473
+ "type": "string",
11474
+ "enum": [
11475
+ "not_connected",
11476
+ "unavailable",
11477
+ "no_match",
11478
+ "available"
11479
+ ]
11480
+ },
11481
+ "truncated": {
11482
+ "type": "boolean"
11483
+ }
11484
+ },
11485
+ "required": [
11486
+ "provider",
11487
+ "status",
11488
+ "truncated"
11489
+ ],
11490
+ "additionalProperties": false
11491
+ }
11492
+ }
11493
+ },
11494
+ "required": [
11495
+ "customer",
11496
+ "events",
11497
+ "features",
11498
+ "sources"
11499
+ ],
11500
+ "additionalProperties": false
11501
+ }
11502
+ },
11503
+ "outlit_get_customer_credits": {
11504
+ "toolName": "outlit_get_customer_credits",
11505
+ "commandId": "customer.credits.get",
11506
+ "commandVersion": 1,
11507
+ "ownerDomain": "customers",
11508
+ "title": "Get Customer Credits",
11509
+ "description": "Read a customer's credit pools, remaining credits, provider reset dates, and deterministic daily burn rate, rate change, runway, and trend from stored data. Missing or stale evidence is explicit; no live provider calls. For individual product feature usage use outlit_get_customer_features.",
11510
+ "inputSchema": {
11511
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
11512
+ "type": "object",
11513
+ "properties": {
11514
+ "customer": {
11515
+ "type": "string",
11516
+ "minLength": 1,
11517
+ "maxLength": 500,
11518
+ "description": "Customer ID, domain, or exact name"
11519
+ }
11520
+ },
11521
+ "required": [
11522
+ "customer"
11523
+ ],
11524
+ "additionalProperties": false
11525
+ },
11526
+ "outputSchema": {
11527
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
11528
+ "type": "object",
11529
+ "properties": {
11530
+ "customer": {
11531
+ "type": "object",
11532
+ "properties": {
11533
+ "id": {
11534
+ "type": "string",
11535
+ "minLength": 1
11536
+ },
11537
+ "name": {
11538
+ "type": "string",
11539
+ "minLength": 1
11540
+ }
11541
+ },
11542
+ "required": [
11543
+ "id",
11544
+ "name"
11545
+ ],
11546
+ "additionalProperties": false
11547
+ },
11548
+ "status": {
11549
+ "type": "string",
11550
+ "enum": [
11551
+ "not_connected",
11552
+ "unavailable",
11553
+ "no_match",
11554
+ "available"
11555
+ ]
11556
+ },
11557
+ "credits": {
11558
+ "maxItems": 4e3,
11559
+ "type": "array",
11560
+ "items": {
11561
+ "type": "object",
11562
+ "properties": {
11563
+ "id": {
11564
+ "type": "string",
11565
+ "minLength": 1
11566
+ },
11567
+ "name": {
11568
+ "anyOf": [
11569
+ {
11570
+ "type": "string"
11571
+ },
11572
+ {
11573
+ "type": "null"
11574
+ }
11575
+ ]
11576
+ },
11577
+ "source": {
11578
+ "type": "object",
11579
+ "properties": {
11580
+ "provider": {
11581
+ "type": "string",
11582
+ "const": "autumn"
11583
+ },
11584
+ "connection": {
11585
+ "type": "string",
11586
+ "minLength": 1
11587
+ },
11588
+ "account": {
11589
+ "type": "string",
11590
+ "minLength": 1
11591
+ },
11592
+ "environment": {
11593
+ "type": "string",
11594
+ "enum": [
11595
+ "sandbox",
11596
+ "live"
11597
+ ]
11598
+ }
11599
+ },
11600
+ "required": [
11601
+ "provider",
11602
+ "connection",
11603
+ "account",
11604
+ "environment"
11605
+ ],
11606
+ "additionalProperties": false
11607
+ },
11608
+ "observed": {
11609
+ "type": "string",
11610
+ "format": "date-time",
11611
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
11612
+ },
11613
+ "stale": {
11614
+ "type": "boolean"
11615
+ },
11616
+ "scope": {
11617
+ "type": "string",
11618
+ "const": "customer",
11619
+ "description": "Customer-level pool; excludes entity balances."
11620
+ },
11621
+ "granted": {
11622
+ "anyOf": [
11623
+ {
11624
+ "type": "number"
11625
+ },
11626
+ {
11627
+ "type": "null"
11628
+ }
11629
+ ]
11630
+ },
11631
+ "remaining": {
11632
+ "anyOf": [
11633
+ {
11634
+ "type": "number"
11635
+ },
11636
+ {
11637
+ "type": "null"
11638
+ }
11639
+ ]
11640
+ },
11641
+ "unlimited": {
11642
+ "type": "boolean"
11643
+ },
11644
+ "overage": {
11645
+ "type": "boolean"
11646
+ },
11647
+ "reset": {
11648
+ "anyOf": [
11649
+ {
11650
+ "type": "string",
11651
+ "format": "date-time",
11652
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
11653
+ },
11654
+ {
11655
+ "type": "null"
11656
+ }
11657
+ ]
11658
+ },
11659
+ "burn": {
11660
+ "type": "object",
11661
+ "properties": {
11662
+ "rate": {
11663
+ "anyOf": [
11664
+ {
11665
+ "type": "number",
11666
+ "minimum": 0
11667
+ },
11668
+ {
11669
+ "type": "null"
11670
+ }
11671
+ ],
11672
+ "description": "Average daily usage over the last seven complete UTC days. See scope before interpreting this as pool deductions."
11673
+ },
11674
+ "scope": {
11675
+ "type": "string",
11676
+ "enum": [
11677
+ "customer_balance",
11678
+ "account"
11679
+ ]
11680
+ },
11681
+ "change": {
11682
+ "anyOf": [
11683
+ {
11684
+ "type": "number"
11685
+ },
11686
+ {
11687
+ "type": "null"
11688
+ }
11689
+ ],
11690
+ "description": "Percentage change in customer-balance burn rate versus the preceding seven complete days. Null when either window is incomplete or the prior rate is zero."
11691
+ },
11692
+ "days": {
11693
+ "anyOf": [
11694
+ {
11695
+ "type": "number",
11696
+ "minimum": 0
11697
+ },
11698
+ {
11699
+ "type": "null"
11700
+ }
11701
+ ],
11702
+ "description": "Estimated days until exhaustion. Null when an estimate is unavailable or the allowance resets first."
11703
+ },
11704
+ "depletion": {
11705
+ "anyOf": [
11706
+ {
11707
+ "type": "string",
11708
+ "format": "date-time",
11709
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
11710
+ },
11711
+ {
11712
+ "type": "null"
11713
+ }
11714
+ ]
11715
+ },
11716
+ "status": {
11717
+ "type": "string",
11718
+ "enum": [
11719
+ "available",
11720
+ "stale",
11721
+ "incomplete",
11722
+ "unknown_scope",
11723
+ "no_usage",
11724
+ "unlimited",
11725
+ "reset_due",
11726
+ "exhausted",
11727
+ "beyond_range",
11728
+ "through_reset"
11729
+ ]
11730
+ },
11731
+ "window": {
11732
+ "type": "object",
11733
+ "properties": {
11734
+ "start": {
11735
+ "anyOf": [
11736
+ {
11737
+ "type": "string",
11738
+ "format": "date",
11739
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
11740
+ },
11741
+ {
11742
+ "type": "null"
11743
+ }
11744
+ ]
11745
+ },
11746
+ "end": {
11747
+ "anyOf": [
11748
+ {
11749
+ "type": "string",
11750
+ "format": "date",
11751
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
11752
+ },
11753
+ {
11754
+ "type": "null"
11755
+ }
11756
+ ]
11757
+ }
11758
+ },
11759
+ "required": [
11760
+ "start",
11761
+ "end"
11762
+ ],
11763
+ "additionalProperties": false,
11764
+ "description": "UTC dates for the seven-day rate window; end is exclusive."
11765
+ },
11766
+ "trend": {
11767
+ "maxItems": 14,
11768
+ "type": "array",
11769
+ "items": {
11770
+ "type": "object",
11771
+ "properties": {
11772
+ "date": {
11773
+ "type": "string",
11774
+ "format": "date",
11775
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
11776
+ },
11777
+ "usage": {
11778
+ "anyOf": [
11779
+ {
11780
+ "type": "number",
11781
+ "minimum": 0
11782
+ },
11783
+ {
11784
+ "type": "null"
11785
+ }
11786
+ ]
11787
+ },
11788
+ "rate": {
11789
+ "anyOf": [
11790
+ {
11791
+ "type": "number",
11792
+ "minimum": 0
11793
+ },
11794
+ {
11795
+ "type": "null"
11796
+ }
11797
+ ]
11798
+ }
11799
+ },
11800
+ "required": [
11801
+ "date",
11802
+ "usage",
11803
+ "rate"
11804
+ ],
11805
+ "additionalProperties": false
11806
+ },
11807
+ "description": "Daily customer-balance deductions and seven-day rolling rates. Missing observations remain null."
11808
+ }
11809
+ },
11810
+ "required": [
11811
+ "rate",
11812
+ "scope",
11813
+ "change",
11814
+ "days",
11815
+ "depletion",
11816
+ "status",
11817
+ "window",
11818
+ "trend"
11819
+ ],
11820
+ "additionalProperties": false
11821
+ },
11822
+ "signalKind": {
11823
+ "type": "string",
11824
+ "enum": [
11825
+ "expansion_risk",
11826
+ "trial_conversion",
11827
+ "none",
11828
+ "unknown_plan"
11829
+ ],
11830
+ "description": "Plan-aware routing for the credit signal. unknown_plan means the provider snapshot carried no product list, so the plan could not be classified."
11831
+ },
11832
+ "configurationNotes": {
11833
+ "maxItems": 20,
11834
+ "type": "array",
11835
+ "items": {
11836
+ "type": "string",
11837
+ "maxLength": 500
11838
+ }
11839
+ }
11840
+ },
11841
+ "required": [
11842
+ "id",
11843
+ "name",
11844
+ "source",
11845
+ "observed",
11846
+ "stale",
11847
+ "scope",
11848
+ "granted",
11849
+ "remaining",
11850
+ "unlimited",
11851
+ "overage",
11852
+ "reset",
11853
+ "burn"
11854
+ ],
11855
+ "additionalProperties": false
11856
+ }
11857
+ },
11858
+ "truncated": {
11859
+ "type": "boolean"
11860
+ }
11861
+ },
11862
+ "required": [
11863
+ "customer",
11864
+ "status",
11865
+ "credits",
11866
+ "truncated"
11867
+ ],
11868
+ "additionalProperties": false,
11869
+ "description": "Credit pools read from stored provider snapshots. An available empty list means no credit pools were found in the matched snapshots. No provider refresh is triggered."
11870
+ }
11871
+ },
11872
+ "outlit_list_attention_items": {
11873
+ "toolName": "outlit_list_attention_items",
11874
+ "commandId": "attention.list",
11875
+ "commandVersion": 1,
11876
+ "ownerDomain": "attention",
11877
+ "title": "List Attention Items",
11878
+ "description": "List authorized open or resolved Attention items. Returns bounded customer identity, current priority, ARR importance, lifecycle timestamps, and a prepared-action URL without evidence bodies or internal agent state.",
11879
+ "inputSchema": {
11880
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
11881
+ "type": "object",
11882
+ "properties": {
11883
+ "status": {
11884
+ "description": "Attention lifecycle to list (default: open)",
11885
+ "default": "open",
11886
+ "type": "string",
11887
+ "enum": [
11888
+ "open",
11889
+ "resolved"
11890
+ ]
11891
+ },
11892
+ "customerId": {
11893
+ "description": "Filter by exact customer ID",
11894
+ "type": "string",
11895
+ "format": "uuid",
11896
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
11897
+ },
11898
+ "limit": {
11899
+ "description": "Results per page (default: 25, max: 100)",
11900
+ "default": 25,
11901
+ "type": "integer",
11902
+ "minimum": 1,
11903
+ "maximum": 100
11904
+ },
11905
+ "cursor": {
11906
+ "description": "Opaque cursor from a previous response with the same filters",
11907
+ "type": "string",
11908
+ "minLength": 1,
11909
+ "maxLength": 2e3
11910
+ }
11911
+ },
11912
+ "additionalProperties": false
11913
+ },
11914
+ "outputSchema": {
11915
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
11916
+ "type": "object",
11917
+ "properties": {
11918
+ "items": {
11919
+ "maxItems": 100,
11920
+ "type": "array",
11921
+ "items": {
11922
+ "type": "object",
11923
+ "properties": {
11924
+ "id": {
11925
+ "type": "string",
11926
+ "minLength": 1,
11927
+ "maxLength": 500
11928
+ },
11929
+ "customer": {
11930
+ "type": "object",
11931
+ "properties": {
11932
+ "id": {
11933
+ "type": "string",
11934
+ "minLength": 1,
11935
+ "maxLength": 500
11936
+ },
11937
+ "name": {
11938
+ "type": "string",
11939
+ "minLength": 1,
11940
+ "maxLength": 500
11941
+ },
11942
+ "domain": {
11943
+ "type": "string",
11944
+ "maxLength": 253
11945
+ },
11946
+ "ownerName": {
11947
+ "anyOf": [
11948
+ {
11949
+ "type": "string",
11950
+ "minLength": 1,
11951
+ "maxLength": 500
11952
+ },
11953
+ {
11954
+ "type": "null"
11955
+ }
11956
+ ]
11957
+ }
11958
+ },
11959
+ "required": [
11960
+ "id",
11961
+ "name",
11962
+ "domain",
11963
+ "ownerName"
11964
+ ],
11965
+ "additionalProperties": false
11966
+ },
11967
+ "title": {
11968
+ "type": "string",
11969
+ "minLength": 1,
11970
+ "maxLength": 240
11971
+ },
11972
+ "priority": {
11973
+ "type": "string",
11974
+ "enum": [
11975
+ "NORMAL",
11976
+ "HIGH",
11977
+ "URGENT"
11978
+ ]
11979
+ },
11980
+ "evidenceCount": {
11981
+ "type": "integer",
11982
+ "minimum": 0,
11983
+ "maximum": 50
11984
+ },
11985
+ "lifecycle": {
11986
+ "type": "object",
11987
+ "properties": {
11988
+ "status": {
11989
+ "type": "string",
11990
+ "enum": [
11991
+ "open",
11992
+ "resolved"
11993
+ ]
11994
+ },
11995
+ "customerVisibleAt": {
11996
+ "type": "string",
11997
+ "format": "date-time",
11998
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
11999
+ },
12000
+ "resolvedAt": {
12001
+ "anyOf": [
12002
+ {
12003
+ "type": "string",
12004
+ "format": "date-time",
12005
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
12006
+ },
12007
+ {
12008
+ "type": "null"
12009
+ }
12010
+ ]
12011
+ },
12012
+ "reopenedAt": {
12013
+ "anyOf": [
12014
+ {
12015
+ "type": "string",
12016
+ "format": "date-time",
12017
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
12018
+ },
12019
+ {
12020
+ "type": "null"
12021
+ }
12022
+ ]
12023
+ },
12024
+ "createdAt": {
12025
+ "type": "string",
12026
+ "format": "date-time",
12027
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
12028
+ },
12029
+ "updatedAt": {
12030
+ "type": "string",
12031
+ "format": "date-time",
12032
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
12033
+ },
12034
+ "materialUpdateAt": {
12035
+ "anyOf": [
12036
+ {
12037
+ "type": "string",
12038
+ "format": "date-time",
12039
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
12040
+ },
12041
+ {
12042
+ "type": "null"
12043
+ }
12044
+ ]
12045
+ }
12046
+ },
12047
+ "required": [
12048
+ "status",
12049
+ "customerVisibleAt",
12050
+ "resolvedAt",
12051
+ "reopenedAt",
12052
+ "createdAt",
12053
+ "updatedAt",
12054
+ "materialUpdateAt"
12055
+ ],
12056
+ "additionalProperties": false
12057
+ },
12058
+ "accountImportance": {
12059
+ "type": "object",
12060
+ "properties": {
12061
+ "arrCents": {
12062
+ "anyOf": [
12063
+ {
12064
+ "type": "number",
12065
+ "minimum": 0
12066
+ },
12067
+ {
12068
+ "type": "null"
12069
+ }
12070
+ ]
12071
+ },
12072
+ "currency": {
12073
+ "anyOf": [
12074
+ {
12075
+ "type": "string",
12076
+ "pattern": "^[A-Z]{3}$"
12077
+ },
12078
+ {
12079
+ "type": "null"
12080
+ }
12081
+ ]
12082
+ },
12083
+ "arrShareWithinCurrency": {
12084
+ "anyOf": [
12085
+ {
12086
+ "type": "number",
12087
+ "minimum": 0,
12088
+ "maximum": 1
12089
+ },
12090
+ {
12091
+ "type": "null"
12092
+ }
12093
+ ],
12094
+ "description": "Organization ARR share among customers using the same currency"
12095
+ },
12096
+ "arrPercentileWithinCurrency": {
12097
+ "anyOf": [
12098
+ {
12099
+ "type": "number",
12100
+ "minimum": 0,
12101
+ "maximum": 100
12102
+ },
12103
+ {
12104
+ "type": "null"
12105
+ }
12106
+ ],
12107
+ "description": "ARR percentile among customers using the same currency"
12108
+ },
12109
+ "segments": {
12110
+ "maxItems": 50,
12111
+ "type": "array",
12112
+ "items": {
12113
+ "type": "string",
12114
+ "minLength": 1,
12115
+ "maxLength": 240
12116
+ }
12117
+ }
12118
+ },
12119
+ "required": [
12120
+ "arrCents",
12121
+ "currency",
12122
+ "arrShareWithinCurrency",
12123
+ "arrPercentileWithinCurrency",
12124
+ "segments"
12125
+ ],
12126
+ "additionalProperties": false
12127
+ },
12128
+ "preparedActionUrl": {
12129
+ "anyOf": [
12130
+ {
12131
+ "type": "string",
12132
+ "maxLength": 2e3,
12133
+ "format": "uri"
12134
+ },
12135
+ {
12136
+ "type": "null"
12137
+ }
12138
+ ]
12139
+ }
12140
+ },
12141
+ "required": [
12142
+ "id",
12143
+ "customer",
12144
+ "title",
12145
+ "priority",
12146
+ "evidenceCount",
12147
+ "lifecycle",
12148
+ "accountImportance",
12149
+ "preparedActionUrl"
12150
+ ],
12151
+ "additionalProperties": false
12152
+ }
12153
+ },
12154
+ "pagination": {
12155
+ "type": "object",
12156
+ "properties": {
12157
+ "hasMore": {
12158
+ "type": "boolean"
12159
+ },
12160
+ "nextCursor": {
12161
+ "anyOf": [
12162
+ {
12163
+ "type": "string",
12164
+ "minLength": 1,
12165
+ "maxLength": 2e3
12166
+ },
12167
+ {
12168
+ "type": "null"
12169
+ }
12170
+ ]
12171
+ },
12172
+ "total": {
12173
+ "type": "integer",
12174
+ "minimum": 0,
12175
+ "maximum": 9007199254740991
12176
+ }
12177
+ },
12178
+ "required": [
12179
+ "hasMore",
12180
+ "nextCursor",
12181
+ "total"
12182
+ ],
12183
+ "additionalProperties": false
12184
+ }
12185
+ },
12186
+ "required": [
12187
+ "items",
12188
+ "pagination"
12189
+ ],
12190
+ "additionalProperties": false
12191
+ }
12192
+ },
12193
+ "outlit_get_attention_item": {
12194
+ "toolName": "outlit_get_attention_item",
12195
+ "commandId": "attention.get",
12196
+ "commandVersion": 1,
12197
+ "ownerDomain": "attention",
12198
+ "title": "Get Attention Item",
12199
+ "description": "Get one authorized Attention item with its bounded current assessment, timeline, evidence summaries, and prepared-action URL. Does not return evidence IDs, quotes, email drafts, or internal agent state.",
12200
+ "inputSchema": {
12201
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
12202
+ "type": "object",
12203
+ "properties": {
12204
+ "id": {
12205
+ "type": "string",
12206
+ "format": "uuid",
12207
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
12208
+ "description": "Exact Attention item ID"
12209
+ }
12210
+ },
12211
+ "required": [
12212
+ "id"
12213
+ ],
12214
+ "additionalProperties": false
12215
+ },
12216
+ "outputSchema": {
12217
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
12218
+ "type": "object",
12219
+ "properties": {
12220
+ "id": {
12221
+ "type": "string",
12222
+ "minLength": 1,
12223
+ "maxLength": 500
12224
+ },
12225
+ "customer": {
12226
+ "type": "object",
12227
+ "properties": {
12228
+ "id": {
12229
+ "type": "string",
12230
+ "minLength": 1,
12231
+ "maxLength": 500
12232
+ },
12233
+ "name": {
12234
+ "type": "string",
12235
+ "minLength": 1,
12236
+ "maxLength": 500
12237
+ },
12238
+ "domain": {
12239
+ "type": "string",
12240
+ "maxLength": 253
12241
+ },
12242
+ "ownerName": {
12243
+ "anyOf": [
12244
+ {
12245
+ "type": "string",
12246
+ "minLength": 1,
12247
+ "maxLength": 500
12248
+ },
12249
+ {
12250
+ "type": "null"
12251
+ }
12252
+ ]
12253
+ }
12254
+ },
12255
+ "required": [
12256
+ "id",
12257
+ "name",
12258
+ "domain",
12259
+ "ownerName"
12260
+ ],
12261
+ "additionalProperties": false
12262
+ },
12263
+ "title": {
12264
+ "type": "string",
12265
+ "minLength": 1,
12266
+ "maxLength": 240
12267
+ },
12268
+ "priority": {
12269
+ "type": "string",
12270
+ "enum": [
12271
+ "NORMAL",
12272
+ "HIGH",
12273
+ "URGENT"
12274
+ ]
12275
+ },
12276
+ "evidenceCount": {
12277
+ "type": "integer",
12278
+ "minimum": 0,
12279
+ "maximum": 50
12280
+ },
12281
+ "lifecycle": {
12282
+ "type": "object",
12283
+ "properties": {
12284
+ "status": {
12285
+ "type": "string",
12286
+ "enum": [
12287
+ "open",
12288
+ "resolved"
12289
+ ]
12290
+ },
12291
+ "customerVisibleAt": {
12292
+ "type": "string",
12293
+ "format": "date-time",
12294
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
12295
+ },
12296
+ "resolvedAt": {
12297
+ "anyOf": [
12298
+ {
12299
+ "type": "string",
12300
+ "format": "date-time",
12301
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
12302
+ },
12303
+ {
12304
+ "type": "null"
12305
+ }
12306
+ ]
12307
+ },
12308
+ "reopenedAt": {
12309
+ "anyOf": [
12310
+ {
12311
+ "type": "string",
12312
+ "format": "date-time",
12313
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
12314
+ },
12315
+ {
12316
+ "type": "null"
12317
+ }
12318
+ ]
12319
+ },
12320
+ "createdAt": {
12321
+ "type": "string",
12322
+ "format": "date-time",
12323
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
12324
+ },
12325
+ "updatedAt": {
12326
+ "type": "string",
12327
+ "format": "date-time",
12328
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
12329
+ },
12330
+ "materialUpdateAt": {
12331
+ "anyOf": [
12332
+ {
12333
+ "type": "string",
12334
+ "format": "date-time",
12335
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
12336
+ },
12337
+ {
12338
+ "type": "null"
12339
+ }
12340
+ ]
12341
+ }
12342
+ },
12343
+ "required": [
12344
+ "status",
12345
+ "customerVisibleAt",
12346
+ "resolvedAt",
12347
+ "reopenedAt",
12348
+ "createdAt",
12349
+ "updatedAt",
12350
+ "materialUpdateAt"
12351
+ ],
12352
+ "additionalProperties": false
12353
+ },
12354
+ "accountImportance": {
12355
+ "type": "object",
12356
+ "properties": {
12357
+ "arrCents": {
12358
+ "anyOf": [
12359
+ {
12360
+ "type": "number",
12361
+ "minimum": 0
12362
+ },
12363
+ {
12364
+ "type": "null"
12365
+ }
12366
+ ]
12367
+ },
12368
+ "currency": {
12369
+ "anyOf": [
12370
+ {
12371
+ "type": "string",
12372
+ "pattern": "^[A-Z]{3}$"
12373
+ },
12374
+ {
12375
+ "type": "null"
12376
+ }
12377
+ ]
12378
+ },
12379
+ "arrShareWithinCurrency": {
12380
+ "anyOf": [
12381
+ {
12382
+ "type": "number",
12383
+ "minimum": 0,
12384
+ "maximum": 1
12385
+ },
12386
+ {
12387
+ "type": "null"
12388
+ }
12389
+ ],
12390
+ "description": "Organization ARR share among customers using the same currency"
12391
+ },
12392
+ "arrPercentileWithinCurrency": {
12393
+ "anyOf": [
12394
+ {
12395
+ "type": "number",
12396
+ "minimum": 0,
12397
+ "maximum": 100
12398
+ },
12399
+ {
12400
+ "type": "null"
12401
+ }
12402
+ ],
12403
+ "description": "ARR percentile among customers using the same currency"
12404
+ },
12405
+ "segments": {
12406
+ "maxItems": 50,
12407
+ "type": "array",
12408
+ "items": {
12409
+ "type": "string",
12410
+ "minLength": 1,
12411
+ "maxLength": 240
12412
+ }
12413
+ }
12414
+ },
12415
+ "required": [
12416
+ "arrCents",
12417
+ "currency",
12418
+ "arrShareWithinCurrency",
12419
+ "arrPercentileWithinCurrency",
12420
+ "segments"
12421
+ ],
12422
+ "additionalProperties": false
12423
+ },
12424
+ "preparedActionUrl": {
12425
+ "anyOf": [
12426
+ {
12427
+ "type": "string",
12428
+ "maxLength": 2e3,
12429
+ "format": "uri"
12430
+ },
12431
+ {
12432
+ "type": "null"
12433
+ }
12434
+ ]
12435
+ },
12436
+ "whatChanged": {
12437
+ "type": "string",
12438
+ "minLength": 1,
12439
+ "maxLength": 8e3
12440
+ },
12441
+ "whyItMatters": {
12442
+ "type": "string",
12443
+ "minLength": 1,
12444
+ "maxLength": 8e3
12445
+ },
12446
+ "uncertainty": {
12447
+ "anyOf": [
12448
+ {
12449
+ "type": "string",
12450
+ "minLength": 1,
12451
+ "maxLength": 8e3
12452
+ },
12453
+ {
12454
+ "type": "null"
12455
+ }
12456
+ ]
12457
+ },
12458
+ "priorityReason": {
12459
+ "type": "string",
12460
+ "minLength": 1,
12461
+ "maxLength": 8e3
12462
+ },
12463
+ "timeline": {
12464
+ "maxItems": 20,
12465
+ "type": "array",
12466
+ "items": {
12467
+ "type": "object",
12468
+ "properties": {
12469
+ "title": {
12470
+ "type": "string",
12471
+ "minLength": 1,
12472
+ "maxLength": 240
12473
+ },
12474
+ "explanation": {
12475
+ "type": "string",
12476
+ "minLength": 1,
12477
+ "maxLength": 4e3
12478
+ },
12479
+ "observedAt": {
12480
+ "type": "string",
12481
+ "format": "date-time",
12482
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
12483
+ }
12484
+ },
12485
+ "required": [
12486
+ "title",
12487
+ "explanation",
12488
+ "observedAt"
12489
+ ],
12490
+ "additionalProperties": false
12491
+ }
12492
+ },
12493
+ "evidence": {
12494
+ "maxItems": 20,
12495
+ "type": "array",
12496
+ "items": {
12497
+ "type": "object",
12498
+ "properties": {
12499
+ "role": {
12500
+ "type": "string",
12501
+ "enum": [
12502
+ "supporting",
12503
+ "contradictory",
12504
+ "context"
12505
+ ]
12506
+ },
12507
+ "kind": {
12508
+ "type": "string",
12509
+ "enum": [
12510
+ "metric",
12511
+ "communication",
12512
+ "record",
12513
+ "event"
12514
+ ]
12515
+ },
12516
+ "title": {
12517
+ "type": "string",
12518
+ "minLength": 1,
12519
+ "maxLength": 500
12520
+ },
12521
+ "observedAt": {
12522
+ "anyOf": [
12523
+ {
12524
+ "type": "string",
12525
+ "format": "date-time",
12526
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
12527
+ },
12528
+ {
12529
+ "type": "null"
12530
+ }
12531
+ ]
12532
+ },
12533
+ "window": {
12534
+ "anyOf": [
10338
12535
  {
10339
12536
  "type": "object",
10340
12537
  "properties": {
10341
- "window": {
10342
- "type": "object",
10343
- "properties": {
10344
- "startAt": {
10345
- "type": "string",
10346
- "format": "date-time",
10347
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
10348
- },
10349
- "endAt": {
10350
- "type": "string",
10351
- "format": "date-time",
10352
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
10353
- }
10354
- },
10355
- "required": [
10356
- "startAt",
10357
- "endAt"
10358
- ],
10359
- "additionalProperties": false
10360
- },
10361
- "coverage": {
12538
+ "start": {
10362
12539
  "type": "string",
10363
- "const": "unavailable"
12540
+ "format": "date-time",
12541
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
10364
12542
  },
10365
- "reason": {
12543
+ "end": {
10366
12544
  "type": "string",
10367
- "enum": [
10368
- "SOURCE_BLOCKED",
10369
- "SOURCE_NOT_READY",
10370
- "QUERY_FAILED"
10371
- ]
12545
+ "format": "date-time",
12546
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
10372
12547
  }
10373
12548
  },
10374
12549
  "required": [
10375
- "window",
10376
- "coverage",
10377
- "reason"
12550
+ "start",
12551
+ "end"
10378
12552
  ],
10379
12553
  "additionalProperties": false
12554
+ },
12555
+ {
12556
+ "type": "null"
10380
12557
  }
10381
12558
  ]
12559
+ },
12560
+ "sourceLabel": {
12561
+ "type": "string",
12562
+ "minLength": 1,
12563
+ "maxLength": 240
10382
12564
  }
10383
12565
  },
10384
12566
  "required": [
10385
- "id",
10386
- "revision",
10387
- "sourceKey",
10388
- "featureKey",
10389
- "name",
10390
- "rule",
10391
- "evidence"
12567
+ "role",
12568
+ "kind",
12569
+ "title",
12570
+ "observedAt",
12571
+ "window",
12572
+ "sourceLabel"
10392
12573
  ],
10393
12574
  "additionalProperties": false
10394
12575
  }
12576
+ },
12577
+ "latestUpdate": {
12578
+ "anyOf": [
12579
+ {
12580
+ "type": "object",
12581
+ "properties": {
12582
+ "updatedAt": {
12583
+ "type": "string",
12584
+ "format": "date-time",
12585
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
12586
+ },
12587
+ "summary": {
12588
+ "type": "string",
12589
+ "minLength": 1,
12590
+ "maxLength": 8e3
12591
+ }
12592
+ },
12593
+ "required": [
12594
+ "updatedAt",
12595
+ "summary"
12596
+ ],
12597
+ "additionalProperties": false
12598
+ },
12599
+ {
12600
+ "type": "null"
12601
+ }
12602
+ ]
10395
12603
  }
10396
12604
  },
10397
12605
  "required": [
12606
+ "id",
10398
12607
  "customer",
10399
- "features"
12608
+ "title",
12609
+ "priority",
12610
+ "evidenceCount",
12611
+ "lifecycle",
12612
+ "accountImportance",
12613
+ "preparedActionUrl",
12614
+ "whatChanged",
12615
+ "whyItMatters",
12616
+ "uncertainty",
12617
+ "priorityReason",
12618
+ "timeline",
12619
+ "evidence",
12620
+ "latestUpdate"
10400
12621
  ],
10401
12622
  "additionalProperties": false
10402
12623
  }
10403
12624
  },
10404
- "outlit_list_attention_items": {
10405
- "toolName": "outlit_list_attention_items",
10406
- "commandId": "attention.list",
12625
+ "outlit_get_customer_identity": {
12626
+ "toolName": "outlit_get_customer_identity",
12627
+ "commandId": "customer.identity.get",
12628
+ "commandVersion": 1,
12629
+ "ownerDomain": "identity",
12630
+ "title": "Get customer identity",
12631
+ "description": "Read one customer's identity coverage and bounded possible split records in the same workspace. Candidate matches are leads, not proof that companies are the same. Returns supporting anchor evidence and search limitations; an empty or incomplete result does not prove zero usage. Does not merge, create suggestions, or authorize combining customer activity.",
12632
+ "annotations": {
12633
+ "readOnlyHint": true,
12634
+ "destructiveHint": false
12635
+ },
12636
+ "inputSchema": {
12637
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
12638
+ "type": "object",
12639
+ "properties": {
12640
+ "customerId": {
12641
+ "type": "string",
12642
+ "minLength": 1,
12643
+ "maxLength": 191
12644
+ }
12645
+ },
12646
+ "required": [
12647
+ "customerId"
12648
+ ],
12649
+ "additionalProperties": false
12650
+ },
12651
+ "outputSchema": {
12652
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
12653
+ "type": "object",
12654
+ "properties": {
12655
+ "customerId": {
12656
+ "type": "string",
12657
+ "minLength": 1,
12658
+ "maxLength": 191
12659
+ },
12660
+ "checkedAt": {
12661
+ "type": "string",
12662
+ "format": "date-time",
12663
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
12664
+ },
12665
+ "evidenceCutoffAt": {
12666
+ "type": "string",
12667
+ "format": "date-time",
12668
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
12669
+ },
12670
+ "basis": {
12671
+ "type": "string",
12672
+ "const": "unchanged_records_at_cutoff"
12673
+ },
12674
+ "window": {
12675
+ "type": "object",
12676
+ "properties": {
12677
+ "after": {
12678
+ "type": "string",
12679
+ "format": "date-time",
12680
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
12681
+ },
12682
+ "before": {
12683
+ "type": "string",
12684
+ "format": "date-time",
12685
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
12686
+ }
12687
+ },
12688
+ "required": [
12689
+ "after",
12690
+ "before"
12691
+ ],
12692
+ "additionalProperties": false
12693
+ },
12694
+ "coverage": {
12695
+ "type": "object",
12696
+ "properties": {
12697
+ "status": {
12698
+ "type": "string",
12699
+ "enum": [
12700
+ "complete_within_bounds",
12701
+ "incomplete"
12702
+ ]
12703
+ },
12704
+ "reasons": {
12705
+ "maxItems": 20,
12706
+ "type": "array",
12707
+ "items": {
12708
+ "type": "string",
12709
+ "minLength": 1,
12710
+ "maxLength": 500
12711
+ }
12712
+ }
12713
+ },
12714
+ "required": [
12715
+ "status",
12716
+ "reasons"
12717
+ ],
12718
+ "additionalProperties": false
12719
+ },
12720
+ "limits": {
12721
+ "type": "object",
12722
+ "properties": {
12723
+ "calls": {
12724
+ "type": "integer",
12725
+ "minimum": 0,
12726
+ "maximum": 9007199254740991
12727
+ },
12728
+ "domains": {
12729
+ "type": "integer",
12730
+ "minimum": 0,
12731
+ "maximum": 9007199254740991
12732
+ },
12733
+ "candidates": {
12734
+ "type": "integer",
12735
+ "minimum": 0,
12736
+ "maximum": 9007199254740991
12737
+ }
12738
+ },
12739
+ "required": [
12740
+ "calls",
12741
+ "domains",
12742
+ "candidates"
12743
+ ],
12744
+ "additionalProperties": false
12745
+ },
12746
+ "candidates": {
12747
+ "maxItems": 10,
12748
+ "type": "array",
12749
+ "items": {
12750
+ "type": "object",
12751
+ "properties": {
12752
+ "id": {
12753
+ "type": "string",
12754
+ "minLength": 1,
12755
+ "maxLength": 191
12756
+ },
12757
+ "name": {
12758
+ "type": "string",
12759
+ "maxLength": 500
12760
+ },
12761
+ "domain": {
12762
+ "type": "string",
12763
+ "maxLength": 500
12764
+ },
12765
+ "type": {
12766
+ "type": "string",
12767
+ "enum": [
12768
+ "COMPANY",
12769
+ "INDIVIDUAL"
12770
+ ]
12771
+ },
12772
+ "reasons": {
12773
+ "maxItems": 50,
12774
+ "type": "array",
12775
+ "items": {
12776
+ "type": "object",
12777
+ "properties": {
12778
+ "kind": {
12779
+ "type": "string",
12780
+ "const": "participant_domain"
12781
+ },
12782
+ "domain": {
12783
+ "type": "string",
12784
+ "maxLength": 253
12785
+ },
12786
+ "sourceType": {
12787
+ "type": "string",
12788
+ "const": "CALL"
12789
+ },
12790
+ "sourceId": {
12791
+ "type": "string",
12792
+ "minLength": 1,
12793
+ "maxLength": 191
12794
+ },
12795
+ "field": {
12796
+ "type": "string",
12797
+ "const": "participants.email"
12798
+ }
12799
+ },
12800
+ "required": [
12801
+ "kind",
12802
+ "domain",
12803
+ "sourceType",
12804
+ "sourceId",
12805
+ "field"
12806
+ ],
12807
+ "additionalProperties": false
12808
+ }
12809
+ }
12810
+ },
12811
+ "required": [
12812
+ "id",
12813
+ "name",
12814
+ "domain",
12815
+ "type",
12816
+ "reasons"
12817
+ ],
12818
+ "additionalProperties": false
12819
+ }
12820
+ }
12821
+ },
12822
+ "required": [
12823
+ "customerId",
12824
+ "checkedAt",
12825
+ "window",
12826
+ "coverage",
12827
+ "limits",
12828
+ "candidates"
12829
+ ],
12830
+ "additionalProperties": false
12831
+ }
12832
+ },
12833
+ "outlit_list_identity_merge_suggestions": {
12834
+ "toolName": "outlit_list_identity_merge_suggestions",
12835
+ "commandId": "identity.suggestions.list",
10407
12836
  "commandVersion": 1,
10408
- "ownerDomain": "attention",
10409
- "title": "List Attention Items",
10410
- "description": "List authorized open or resolved Attention items. Returns bounded customer identity, current priority, ARR importance, lifecycle timestamps, and a prepared-action URL without evidence bodies or internal agent state.",
12837
+ "ownerDomain": "identity",
12838
+ "title": "List identity merge suggestions",
12839
+ "description": "Browse saved identity merge suggestions and history with complete details, review notes and latest job status. When latestJob.operationId is non-null, pass it to outlit_get_customer_merge_status to track that merge. Filter by exact suggestion or customer ID to inspect a record without scanning pages. Empty saved suggestions do not prove there is no identity split; use customer identity reads for bounded diagnosis. Follow nextCursor for more results.",
12840
+ "annotations": {
12841
+ "readOnlyHint": true,
12842
+ "destructiveHint": false
12843
+ },
10411
12844
  "inputSchema": {
10412
12845
  "$schema": "https://json-schema.org/draft/2020-12/schema",
10413
12846
  "type": "object",
10414
12847
  "properties": {
12848
+ "customerId": {
12849
+ "type": "string",
12850
+ "minLength": 1,
12851
+ "maxLength": 191
12852
+ },
12853
+ "suggestionId": {
12854
+ "type": "string",
12855
+ "minLength": 1,
12856
+ "maxLength": 191
12857
+ },
12858
+ "cursor": {
12859
+ "type": "string",
12860
+ "minLength": 1,
12861
+ "maxLength": 2e3
12862
+ },
10415
12863
  "status": {
10416
- "description": "Attention lifecycle to list (default: open)",
10417
- "default": "open",
10418
12864
  "type": "string",
10419
12865
  "enum": [
10420
- "open",
10421
- "resolved"
12866
+ "suggested",
12867
+ "processing",
12868
+ "merged",
12869
+ "rejected"
10422
12870
  ]
10423
12871
  },
10424
- "customerId": {
10425
- "description": "Filter by exact customer ID",
12872
+ "confidence": {
10426
12873
  "type": "string",
10427
- "format": "uuid",
10428
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
12874
+ "enum": [
12875
+ "HIGH",
12876
+ "MEDIUM",
12877
+ "LOW"
12878
+ ]
10429
12879
  },
10430
12880
  "limit": {
10431
- "description": "Results per page (default: 25, max: 100)",
10432
- "default": 25,
12881
+ "default": 50,
10433
12882
  "type": "integer",
10434
12883
  "minimum": 1,
10435
12884
  "maximum": 100
10436
- },
10437
- "cursor": {
10438
- "description": "Opaque cursor from a previous response with the same filters",
10439
- "type": "string",
10440
- "minLength": 1,
10441
- "maxLength": 2e3
10442
12885
  }
10443
12886
  },
10444
12887
  "additionalProperties": false
@@ -10447,8 +12890,7 @@ var publicToolContracts = {
10447
12890
  "$schema": "https://json-schema.org/draft/2020-12/schema",
10448
12891
  "type": "object",
10449
12892
  "properties": {
10450
- "items": {
10451
- "maxItems": 100,
12893
+ "suggestions": {
10452
12894
  "type": "array",
10453
12895
  "items": {
10454
12896
  "type": "object",
@@ -10456,15 +12898,42 @@ var publicToolContracts = {
10456
12898
  "id": {
10457
12899
  "type": "string",
10458
12900
  "minLength": 1,
10459
- "maxLength": 500
12901
+ "maxLength": 191
10460
12902
  },
10461
- "customer": {
12903
+ "status": {
12904
+ "type": "string",
12905
+ "enum": [
12906
+ "suggested",
12907
+ "processing",
12908
+ "merged",
12909
+ "rejected"
12910
+ ]
12911
+ },
12912
+ "proposalStatus": {
12913
+ "type": "string",
12914
+ "enum": [
12915
+ "PROPOSED",
12916
+ "STAGED",
12917
+ "STALE",
12918
+ "REJECTED",
12919
+ "APPLIED"
12920
+ ]
12921
+ },
12922
+ "confidence": {
12923
+ "type": "string",
12924
+ "enum": [
12925
+ "HIGH",
12926
+ "MEDIUM",
12927
+ "LOW"
12928
+ ]
12929
+ },
12930
+ "survivor": {
10462
12931
  "type": "object",
10463
12932
  "properties": {
10464
12933
  "id": {
10465
12934
  "type": "string",
10466
12935
  "minLength": 1,
10467
- "maxLength": 500
12936
+ "maxLength": 191
10468
12937
  },
10469
12938
  "name": {
10470
12939
  "type": "string",
@@ -10472,10 +12941,76 @@ var publicToolContracts = {
10472
12941
  "maxLength": 500
10473
12942
  },
10474
12943
  "domain": {
12944
+ "anyOf": [
12945
+ {
12946
+ "type": "string",
12947
+ "minLength": 1,
12948
+ "maxLength": 500
12949
+ },
12950
+ {
12951
+ "type": "null"
12952
+ }
12953
+ ]
12954
+ },
12955
+ "type": {
10475
12956
  "type": "string",
10476
- "maxLength": 253
12957
+ "enum": [
12958
+ "COMPANY",
12959
+ "INDIVIDUAL"
12960
+ ]
10477
12961
  },
10478
- "ownerName": {
12962
+ "status": {
12963
+ "anyOf": [
12964
+ {
12965
+ "type": "string",
12966
+ "enum": [
12967
+ "PROVISIONAL",
12968
+ "ACTIVE",
12969
+ "CHURNED",
12970
+ "MERGED"
12971
+ ]
12972
+ },
12973
+ {
12974
+ "type": "null"
12975
+ }
12976
+ ]
12977
+ },
12978
+ "identifierCount": {
12979
+ "type": "integer",
12980
+ "minimum": 0,
12981
+ "maximum": 9007199254740991
12982
+ },
12983
+ "contactCount": {
12984
+ "type": "integer",
12985
+ "minimum": 0,
12986
+ "maximum": 9007199254740991
12987
+ }
12988
+ },
12989
+ "required": [
12990
+ "id",
12991
+ "name",
12992
+ "domain",
12993
+ "type",
12994
+ "status",
12995
+ "identifierCount",
12996
+ "contactCount"
12997
+ ],
12998
+ "additionalProperties": false
12999
+ },
13000
+ "duplicate": {
13001
+ "type": "object",
13002
+ "properties": {
13003
+ "id": {
13004
+ "type": "string",
13005
+ "minLength": 1,
13006
+ "maxLength": 191
13007
+ },
13008
+ "name": {
13009
+ "type": "string",
13010
+ "minLength": 1,
13011
+ "maxLength": 500
13012
+ },
13013
+ "domain": {
10479
13014
  "anyOf": [
10480
13015
  {
10481
13016
  "type": "string",
@@ -10486,670 +13021,678 @@ var publicToolContracts = {
10486
13021
  "type": "null"
10487
13022
  }
10488
13023
  ]
13024
+ },
13025
+ "type": {
13026
+ "type": "string",
13027
+ "enum": [
13028
+ "COMPANY",
13029
+ "INDIVIDUAL"
13030
+ ]
13031
+ },
13032
+ "status": {
13033
+ "anyOf": [
13034
+ {
13035
+ "type": "string",
13036
+ "enum": [
13037
+ "PROVISIONAL",
13038
+ "ACTIVE",
13039
+ "CHURNED",
13040
+ "MERGED"
13041
+ ]
13042
+ },
13043
+ {
13044
+ "type": "null"
13045
+ }
13046
+ ]
13047
+ },
13048
+ "identifierCount": {
13049
+ "type": "integer",
13050
+ "minimum": 0,
13051
+ "maximum": 9007199254740991
13052
+ },
13053
+ "contactCount": {
13054
+ "type": "integer",
13055
+ "minimum": 0,
13056
+ "maximum": 9007199254740991
10489
13057
  }
10490
13058
  },
10491
13059
  "required": [
10492
13060
  "id",
10493
13061
  "name",
10494
13062
  "domain",
10495
- "ownerName"
13063
+ "type",
13064
+ "status",
13065
+ "identifierCount",
13066
+ "contactCount"
10496
13067
  ],
10497
13068
  "additionalProperties": false
10498
13069
  },
10499
- "title": {
10500
- "type": "string",
10501
- "minLength": 1,
10502
- "maxLength": 240
10503
- },
10504
- "priority": {
10505
- "type": "string",
10506
- "enum": [
10507
- "NORMAL",
10508
- "HIGH",
10509
- "URGENT"
13070
+ "reviewNotes": {
13071
+ "anyOf": [
13072
+ {
13073
+ "type": "string",
13074
+ "maxLength": 1e4
13075
+ },
13076
+ {
13077
+ "type": "null"
13078
+ }
10510
13079
  ]
10511
13080
  },
10512
- "evidenceCount": {
10513
- "type": "integer",
10514
- "minimum": 0,
10515
- "maximum": 50
13081
+ "reviewedAt": {
13082
+ "anyOf": [
13083
+ {
13084
+ "type": "string",
13085
+ "format": "date-time",
13086
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
13087
+ },
13088
+ {
13089
+ "type": "null"
13090
+ }
13091
+ ]
10516
13092
  },
10517
- "lifecycle": {
10518
- "type": "object",
10519
- "properties": {
10520
- "status": {
13093
+ "reviewedByName": {
13094
+ "anyOf": [
13095
+ {
10521
13096
  "type": "string",
10522
- "enum": [
10523
- "open",
10524
- "resolved"
10525
- ]
13097
+ "minLength": 1,
13098
+ "maxLength": 500
10526
13099
  },
10527
- "customerVisibleAt": {
13100
+ {
13101
+ "type": "null"
13102
+ }
13103
+ ]
13104
+ },
13105
+ "appliedAt": {
13106
+ "anyOf": [
13107
+ {
10528
13108
  "type": "string",
10529
13109
  "format": "date-time",
10530
13110
  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
10531
13111
  },
10532
- "resolvedAt": {
10533
- "anyOf": [
10534
- {
10535
- "type": "string",
10536
- "format": "date-time",
10537
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
10538
- },
10539
- {
10540
- "type": "null"
10541
- }
10542
- ]
13112
+ {
13113
+ "type": "null"
13114
+ }
13115
+ ]
13116
+ },
13117
+ "appliedByName": {
13118
+ "anyOf": [
13119
+ {
13120
+ "type": "string",
13121
+ "minLength": 1,
13122
+ "maxLength": 500
13123
+ },
13124
+ {
13125
+ "type": "null"
13126
+ }
13127
+ ]
13128
+ },
13129
+ "createdAt": {
13130
+ "type": "string",
13131
+ "format": "date-time",
13132
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
13133
+ },
13134
+ "explanation": {
13135
+ "type": "array",
13136
+ "items": {
13137
+ "type": "string",
13138
+ "minLength": 1,
13139
+ "maxLength": 1e3
13140
+ }
13141
+ },
13142
+ "impact": {
13143
+ "type": "object",
13144
+ "properties": {
13145
+ "identifiers": {
13146
+ "type": "integer",
13147
+ "minimum": 0,
13148
+ "maximum": 9007199254740991
13149
+ },
13150
+ "users": {
13151
+ "type": "integer",
13152
+ "minimum": 0,
13153
+ "maximum": 9007199254740991
13154
+ },
13155
+ "activities": {
13156
+ "type": "integer",
13157
+ "minimum": 0,
13158
+ "maximum": 9007199254740991
13159
+ },
13160
+ "visitors": {
13161
+ "type": "integer",
13162
+ "minimum": 0,
13163
+ "maximum": 9007199254740991
13164
+ },
13165
+ "billingEvents": {
13166
+ "type": "integer",
13167
+ "minimum": 0,
13168
+ "maximum": 9007199254740991
13169
+ },
13170
+ "facts": {
13171
+ "type": "integer",
13172
+ "minimum": 0,
13173
+ "maximum": 9007199254740991
13174
+ },
13175
+ "supportTickets": {
13176
+ "type": "integer",
13177
+ "minimum": 0,
13178
+ "maximum": 9007199254740991
10543
13179
  },
10544
- "reopenedAt": {
10545
- "anyOf": [
10546
- {
10547
- "type": "string",
10548
- "format": "date-time",
10549
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
10550
- },
10551
- {
10552
- "type": "null"
10553
- }
10554
- ]
13180
+ "calls": {
13181
+ "type": "integer",
13182
+ "minimum": 0,
13183
+ "maximum": 9007199254740991
10555
13184
  },
10556
- "createdAt": {
10557
- "type": "string",
10558
- "format": "date-time",
10559
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
13185
+ "accessEntries": {
13186
+ "type": "integer",
13187
+ "minimum": 0,
13188
+ "maximum": 9007199254740991
10560
13189
  },
10561
- "updatedAt": {
10562
- "type": "string",
10563
- "format": "date-time",
10564
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
13190
+ "analyticsEvents": {
13191
+ "type": "integer",
13192
+ "minimum": 0,
13193
+ "maximum": 9007199254740991
10565
13194
  },
10566
- "materialUpdateAt": {
10567
- "anyOf": [
10568
- {
10569
- "type": "string",
10570
- "format": "date-time",
10571
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
10572
- },
10573
- {
10574
- "type": "null"
10575
- }
10576
- ]
13195
+ "analyticsDimensions": {
13196
+ "type": "integer",
13197
+ "minimum": 0,
13198
+ "maximum": 9007199254740991
10577
13199
  }
10578
13200
  },
10579
13201
  "required": [
10580
- "status",
10581
- "customerVisibleAt",
10582
- "resolvedAt",
10583
- "reopenedAt",
10584
- "createdAt",
10585
- "updatedAt",
10586
- "materialUpdateAt"
13202
+ "identifiers",
13203
+ "users",
13204
+ "activities",
13205
+ "visitors",
13206
+ "billingEvents",
13207
+ "facts",
13208
+ "supportTickets",
13209
+ "calls",
13210
+ "accessEntries",
13211
+ "analyticsEvents",
13212
+ "analyticsDimensions"
10587
13213
  ],
10588
13214
  "additionalProperties": false
10589
13215
  },
10590
- "accountImportance": {
10591
- "type": "object",
10592
- "properties": {
10593
- "arrCents": {
10594
- "anyOf": [
10595
- {
10596
- "type": "number",
10597
- "minimum": 0
10598
- },
10599
- {
10600
- "type": "null"
10601
- }
10602
- ]
10603
- },
10604
- "currency": {
10605
- "anyOf": [
10606
- {
13216
+ "latestJob": {
13217
+ "anyOf": [
13218
+ {
13219
+ "type": "object",
13220
+ "properties": {
13221
+ "id": {
10607
13222
  "type": "string",
10608
- "pattern": "^[A-Z]{3}$"
13223
+ "minLength": 1,
13224
+ "maxLength": 191
10609
13225
  },
10610
- {
10611
- "type": "null"
10612
- }
10613
- ]
10614
- },
10615
- "arrShareWithinCurrency": {
10616
- "anyOf": [
10617
- {
10618
- "type": "number",
10619
- "minimum": 0,
10620
- "maximum": 1
13226
+ "operationId": {
13227
+ "anyOf": [
13228
+ {
13229
+ "type": "string",
13230
+ "minLength": 1,
13231
+ "maxLength": 191
13232
+ },
13233
+ {
13234
+ "type": "null"
13235
+ }
13236
+ ],
13237
+ "description": "Pass to outlit_get_customer_merge_status. Null when this job has no matching tracked operation."
10621
13238
  },
10622
- {
10623
- "type": "null"
10624
- }
10625
- ],
10626
- "description": "Organization ARR share among customers using the same currency"
10627
- },
10628
- "arrPercentileWithinCurrency": {
10629
- "anyOf": [
10630
- {
10631
- "type": "number",
10632
- "minimum": 0,
10633
- "maximum": 100
13239
+ "status": {
13240
+ "type": "string",
13241
+ "enum": [
13242
+ "QUEUED",
13243
+ "RUNNING",
13244
+ "COMPLETED",
13245
+ "FAILED"
13246
+ ]
10634
13247
  },
10635
- {
10636
- "type": "null"
13248
+ "createdAt": {
13249
+ "type": "string",
13250
+ "format": "date-time",
13251
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
13252
+ },
13253
+ "updatedAt": {
13254
+ "type": "string",
13255
+ "format": "date-time",
13256
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
10637
13257
  }
13258
+ },
13259
+ "required": [
13260
+ "id",
13261
+ "operationId",
13262
+ "status",
13263
+ "createdAt",
13264
+ "updatedAt"
10638
13265
  ],
10639
- "description": "ARR percentile among customers using the same currency"
10640
- },
10641
- "segments": {
10642
- "maxItems": 50,
10643
- "type": "array",
10644
- "items": {
10645
- "type": "string",
10646
- "minLength": 1,
10647
- "maxLength": 240
10648
- }
10649
- }
10650
- },
10651
- "required": [
10652
- "arrCents",
10653
- "currency",
10654
- "arrShareWithinCurrency",
10655
- "arrPercentileWithinCurrency",
10656
- "segments"
10657
- ],
10658
- "additionalProperties": false
10659
- },
10660
- "preparedActionUrl": {
10661
- "anyOf": [
10662
- {
10663
- "type": "string",
10664
- "maxLength": 2e3,
10665
- "format": "uri"
13266
+ "additionalProperties": false
10666
13267
  },
10667
13268
  {
10668
13269
  "type": "null"
10669
13270
  }
10670
13271
  ]
13272
+ },
13273
+ "canMerge": {
13274
+ "type": "boolean"
13275
+ },
13276
+ "canReject": {
13277
+ "type": "boolean"
10671
13278
  }
10672
13279
  },
10673
13280
  "required": [
10674
13281
  "id",
10675
- "customer",
10676
- "title",
10677
- "priority",
10678
- "evidenceCount",
10679
- "lifecycle",
10680
- "accountImportance",
10681
- "preparedActionUrl"
13282
+ "status",
13283
+ "proposalStatus",
13284
+ "confidence",
13285
+ "survivor",
13286
+ "duplicate",
13287
+ "reviewNotes",
13288
+ "reviewedAt",
13289
+ "reviewedByName",
13290
+ "appliedAt",
13291
+ "appliedByName",
13292
+ "createdAt",
13293
+ "explanation",
13294
+ "impact",
13295
+ "latestJob",
13296
+ "canMerge",
13297
+ "canReject"
10682
13298
  ],
10683
13299
  "additionalProperties": false
10684
13300
  }
10685
13301
  },
10686
- "pagination": {
10687
- "type": "object",
10688
- "properties": {
10689
- "hasMore": {
10690
- "type": "boolean"
10691
- },
10692
- "nextCursor": {
10693
- "anyOf": [
10694
- {
10695
- "type": "string",
10696
- "minLength": 1,
10697
- "maxLength": 2e3
10698
- },
10699
- {
10700
- "type": "null"
10701
- }
10702
- ]
13302
+ "canManageIdentityMerges": {
13303
+ "type": "boolean"
13304
+ },
13305
+ "nextCursor": {
13306
+ "default": null,
13307
+ "anyOf": [
13308
+ {
13309
+ "type": "string",
13310
+ "minLength": 1,
13311
+ "maxLength": 2e3
10703
13312
  },
10704
- "total": {
10705
- "type": "integer",
10706
- "minimum": 0,
10707
- "maximum": 9007199254740991
13313
+ {
13314
+ "type": "null"
10708
13315
  }
10709
- },
10710
- "required": [
10711
- "hasMore",
10712
- "nextCursor",
10713
- "total"
10714
- ],
10715
- "additionalProperties": false
13316
+ ]
10716
13317
  }
10717
13318
  },
10718
13319
  "required": [
10719
- "items",
10720
- "pagination"
13320
+ "suggestions",
13321
+ "canManageIdentityMerges",
13322
+ "nextCursor"
13323
+ ],
13324
+ "additionalProperties": false
13325
+ }
13326
+ },
13327
+ "outlit_reject_identity_merge_suggestion": {
13328
+ "toolName": "outlit_reject_identity_merge_suggestion",
13329
+ "commandId": "identity.suggestions.reject",
13330
+ "commandVersion": 1,
13331
+ "ownerDomain": "identity",
13332
+ "title": "Reject identity merge suggestion",
13333
+ "description": "Reject a saved identity merge suggestion and optionally record why. Requires identity review permission. Keeps the customer profiles separate; does not merge or change customer identities. Outlit-owned agents cannot perform this operation.",
13334
+ "annotations": {
13335
+ "readOnlyHint": false,
13336
+ "destructiveHint": false
13337
+ },
13338
+ "inputSchema": {
13339
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
13340
+ "type": "object",
13341
+ "properties": {
13342
+ "suggestionId": {
13343
+ "type": "string",
13344
+ "minLength": 1,
13345
+ "maxLength": 191
13346
+ },
13347
+ "reviewNotes": {
13348
+ "type": "string",
13349
+ "maxLength": 1e4
13350
+ }
13351
+ },
13352
+ "required": [
13353
+ "suggestionId"
13354
+ ],
13355
+ "additionalProperties": false
13356
+ },
13357
+ "outputSchema": {
13358
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
13359
+ "type": "object",
13360
+ "properties": {
13361
+ "suggestionId": {
13362
+ "type": "string",
13363
+ "minLength": 1,
13364
+ "maxLength": 191
13365
+ },
13366
+ "status": {
13367
+ "type": "string",
13368
+ "const": "REJECTED"
13369
+ }
13370
+ },
13371
+ "required": [
13372
+ "suggestionId",
13373
+ "status"
10721
13374
  ],
10722
13375
  "additionalProperties": false
10723
13376
  }
10724
13377
  },
10725
- "outlit_get_attention_item": {
10726
- "toolName": "outlit_get_attention_item",
10727
- "commandId": "attention.get",
13378
+ "outlit_merge_customers": {
13379
+ "toolName": "outlit_merge_customers",
13380
+ "commandId": "customer.merge",
10728
13381
  "commandVersion": 1,
10729
- "ownerDomain": "attention",
10730
- "title": "Get Attention Item",
10731
- "description": "Get one authorized Attention item with its bounded current assessment, timeline, evidence summaries, and prepared-action URL. Does not return evidence IDs, quotes, email drafts, or internal agent state.",
13382
+ "ownerDomain": "identity",
13383
+ "title": "Merge customers",
13384
+ "description": "DANGEROUS execution with no supported undo. Preview or execute a merge of two exact records into the specified survivor; defaults to preview (dryRun:true). Without suggestionId, both records must be COMPANY. Any pair involving an INDIVIDUAL requires an eligible saved suggestionId for that exact pair. Execute only when authorized and absolutely certain both records represent the same customer; two company records must represent the same company. Similar names, related domains, shared participants, parent/subsidiary relationships or a suggested match are insufficient. If uncertain, do not execute. Execution moves customer data and access relationships and requires the reviewed previewToken, stable requestId and explicit merge permission. A preview grants no execution authority. Reuse identical request inputs for retries. Execution is asynchronous; queued does not mean complete. Outlit-owned agents cannot perform this operation.",
13385
+ "annotations": {
13386
+ "readOnlyHint": false,
13387
+ "destructiveHint": true
13388
+ },
10732
13389
  "inputSchema": {
10733
13390
  "$schema": "https://json-schema.org/draft/2020-12/schema",
10734
13391
  "type": "object",
10735
13392
  "properties": {
10736
- "id": {
13393
+ "survivingCustomerId": {
10737
13394
  "type": "string",
10738
- "format": "uuid",
10739
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
10740
- "description": "Exact Attention item ID"
13395
+ "minLength": 1,
13396
+ "maxLength": 191
13397
+ },
13398
+ "duplicateCustomerId": {
13399
+ "type": "string",
13400
+ "minLength": 1,
13401
+ "maxLength": 191
13402
+ },
13403
+ "suggestionId": {
13404
+ "type": "string",
13405
+ "minLength": 1,
13406
+ "maxLength": 191,
13407
+ "description": "Eligible saved suggestion for this exact pair. Required if either record is INDIVIDUAL; optional for two COMPANY records."
13408
+ },
13409
+ "reviewNotes": {
13410
+ "type": "string",
13411
+ "maxLength": 1e4
13412
+ },
13413
+ "dryRun": {
13414
+ "default": true,
13415
+ "type": "boolean"
13416
+ },
13417
+ "previewToken": {
13418
+ "type": "string",
13419
+ "minLength": 1,
13420
+ "maxLength": 4096
13421
+ },
13422
+ "requestId": {
13423
+ "type": "string",
13424
+ "minLength": 1,
13425
+ "maxLength": 191
10741
13426
  }
10742
13427
  },
10743
13428
  "required": [
10744
- "id"
13429
+ "survivingCustomerId",
13430
+ "duplicateCustomerId"
10745
13431
  ],
10746
13432
  "additionalProperties": false
10747
13433
  },
10748
13434
  "outputSchema": {
10749
13435
  "$schema": "https://json-schema.org/draft/2020-12/schema",
10750
- "type": "object",
10751
- "properties": {
10752
- "id": {
10753
- "type": "string",
10754
- "minLength": 1,
10755
- "maxLength": 500
10756
- },
10757
- "customer": {
13436
+ "oneOf": [
13437
+ {
10758
13438
  "type": "object",
10759
13439
  "properties": {
10760
- "id": {
13440
+ "kind": {
10761
13441
  "type": "string",
10762
- "minLength": 1,
10763
- "maxLength": 500
13442
+ "const": "preview"
10764
13443
  },
10765
- "name": {
13444
+ "survivingCustomerId": {
10766
13445
  "type": "string",
10767
13446
  "minLength": 1,
10768
- "maxLength": 500
13447
+ "maxLength": 191
10769
13448
  },
10770
- "domain": {
13449
+ "duplicateCustomerId": {
10771
13450
  "type": "string",
10772
- "maxLength": 253
13451
+ "minLength": 1,
13452
+ "maxLength": 191
10773
13453
  },
10774
- "ownerName": {
10775
- "anyOf": [
10776
- {
10777
- "type": "string",
10778
- "minLength": 1,
10779
- "maxLength": 500
10780
- },
10781
- {
10782
- "type": "null"
10783
- }
10784
- ]
10785
- }
10786
- },
10787
- "required": [
10788
- "id",
10789
- "name",
10790
- "domain",
10791
- "ownerName"
10792
- ],
10793
- "additionalProperties": false
10794
- },
10795
- "title": {
10796
- "type": "string",
10797
- "minLength": 1,
10798
- "maxLength": 240
10799
- },
10800
- "priority": {
10801
- "type": "string",
10802
- "enum": [
10803
- "NORMAL",
10804
- "HIGH",
10805
- "URGENT"
10806
- ]
10807
- },
10808
- "evidenceCount": {
10809
- "type": "integer",
10810
- "minimum": 0,
10811
- "maximum": 50
10812
- },
10813
- "lifecycle": {
10814
- "type": "object",
10815
- "properties": {
10816
- "status": {
13454
+ "previewToken": {
10817
13455
  "type": "string",
10818
- "enum": [
10819
- "open",
10820
- "resolved"
10821
- ]
13456
+ "minLength": 1,
13457
+ "maxLength": 4096
10822
13458
  },
10823
- "customerVisibleAt": {
13459
+ "evaluatedAt": {
10824
13460
  "type": "string",
10825
13461
  "format": "date-time",
10826
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
13462
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
10827
13463
  },
10828
- "resolvedAt": {
10829
- "anyOf": [
10830
- {
10831
- "type": "string",
10832
- "format": "date-time",
10833
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
13464
+ "impact": {
13465
+ "type": "object",
13466
+ "properties": {
13467
+ "identifiers": {
13468
+ "type": "integer",
13469
+ "minimum": 0,
13470
+ "maximum": 9007199254740991
10834
13471
  },
10835
- {
10836
- "type": "null"
10837
- }
10838
- ]
10839
- },
10840
- "reopenedAt": {
10841
- "anyOf": [
10842
- {
10843
- "type": "string",
10844
- "format": "date-time",
10845
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
13472
+ "contacts": {
13473
+ "type": "integer",
13474
+ "minimum": 0,
13475
+ "maximum": 9007199254740991
10846
13476
  },
10847
- {
10848
- "type": "null"
13477
+ "facts": {
13478
+ "type": "integer",
13479
+ "minimum": 0,
13480
+ "maximum": 9007199254740991
13481
+ },
13482
+ "communications": {
13483
+ "type": "integer",
13484
+ "minimum": 0,
13485
+ "maximum": 9007199254740991
13486
+ },
13487
+ "accessEntries": {
13488
+ "type": "integer",
13489
+ "minimum": 0,
13490
+ "maximum": 9007199254740991
10849
13491
  }
10850
- ]
10851
- },
10852
- "createdAt": {
10853
- "type": "string",
10854
- "format": "date-time",
10855
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
10856
- },
10857
- "updatedAt": {
10858
- "type": "string",
10859
- "format": "date-time",
10860
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
13492
+ },
13493
+ "required": [
13494
+ "identifiers",
13495
+ "contacts",
13496
+ "facts",
13497
+ "communications",
13498
+ "accessEntries"
13499
+ ],
13500
+ "additionalProperties": false
10861
13501
  },
10862
- "materialUpdateAt": {
10863
- "anyOf": [
10864
- {
10865
- "type": "string",
10866
- "format": "date-time",
10867
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
13502
+ "warnings": {
13503
+ "maxItems": 30,
13504
+ "type": "array",
13505
+ "items": {
13506
+ "type": "object",
13507
+ "properties": {
13508
+ "code": {
13509
+ "type": "string",
13510
+ "minLength": 1,
13511
+ "maxLength": 100
13512
+ },
13513
+ "message": {
13514
+ "type": "string",
13515
+ "maxLength": 1e3
13516
+ }
10868
13517
  },
10869
- {
10870
- "type": "null"
10871
- }
10872
- ]
13518
+ "required": [
13519
+ "code",
13520
+ "message"
13521
+ ],
13522
+ "additionalProperties": false
13523
+ }
10873
13524
  }
10874
13525
  },
10875
13526
  "required": [
10876
- "status",
10877
- "customerVisibleAt",
10878
- "resolvedAt",
10879
- "reopenedAt",
10880
- "createdAt",
10881
- "updatedAt",
10882
- "materialUpdateAt"
13527
+ "kind",
13528
+ "survivingCustomerId",
13529
+ "duplicateCustomerId",
13530
+ "previewToken",
13531
+ "evaluatedAt",
13532
+ "impact",
13533
+ "warnings"
10883
13534
  ],
10884
13535
  "additionalProperties": false
10885
13536
  },
10886
- "accountImportance": {
13537
+ {
10887
13538
  "type": "object",
10888
13539
  "properties": {
10889
- "arrCents": {
10890
- "anyOf": [
10891
- {
10892
- "type": "number",
10893
- "minimum": 0
10894
- },
10895
- {
10896
- "type": "null"
10897
- }
10898
- ]
13540
+ "kind": {
13541
+ "type": "string",
13542
+ "const": "operation"
10899
13543
  },
10900
- "currency": {
10901
- "anyOf": [
10902
- {
10903
- "type": "string",
10904
- "pattern": "^[A-Z]{3}$"
10905
- },
10906
- {
10907
- "type": "null"
10908
- }
13544
+ "operationId": {
13545
+ "type": "string",
13546
+ "minLength": 1,
13547
+ "maxLength": 191
13548
+ },
13549
+ "survivingCustomerId": {
13550
+ "type": "string",
13551
+ "minLength": 1,
13552
+ "maxLength": 191
13553
+ },
13554
+ "duplicateCustomerId": {
13555
+ "type": "string",
13556
+ "minLength": 1,
13557
+ "maxLength": 191
13558
+ },
13559
+ "status": {
13560
+ "type": "string",
13561
+ "enum": [
13562
+ "queued",
13563
+ "running",
13564
+ "completed",
13565
+ "failed"
10909
13566
  ]
10910
13567
  },
10911
- "arrShareWithinCurrency": {
10912
- "anyOf": [
10913
- {
10914
- "type": "number",
10915
- "minimum": 0,
10916
- "maximum": 1
10917
- },
10918
- {
10919
- "type": "null"
10920
- }
10921
- ],
10922
- "description": "Organization ARR share among customers using the same currency"
13568
+ "phase": {
13569
+ "type": "string",
13570
+ "minLength": 1,
13571
+ "maxLength": 100
10923
13572
  },
10924
- "arrPercentileWithinCurrency": {
10925
- "anyOf": [
10926
- {
10927
- "type": "number",
10928
- "minimum": 0,
10929
- "maximum": 100
13573
+ "error": {
13574
+ "type": "object",
13575
+ "properties": {
13576
+ "code": {
13577
+ "type": "string",
13578
+ "minLength": 1,
13579
+ "maxLength": 100
10930
13580
  },
10931
- {
10932
- "type": "null"
10933
- }
10934
- ],
10935
- "description": "ARR percentile among customers using the same currency"
10936
- },
10937
- "segments": {
10938
- "maxItems": 50,
10939
- "type": "array",
10940
- "items": {
10941
- "type": "string",
10942
- "minLength": 1,
10943
- "maxLength": 240
10944
- }
13581
+ "message": {
13582
+ "type": "string",
13583
+ "maxLength": 1e3
13584
+ }
13585
+ },
13586
+ "required": [
13587
+ "code",
13588
+ "message"
13589
+ ],
13590
+ "additionalProperties": false
10945
13591
  }
10946
13592
  },
10947
13593
  "required": [
10948
- "arrCents",
10949
- "currency",
10950
- "arrShareWithinCurrency",
10951
- "arrPercentileWithinCurrency",
10952
- "segments"
13594
+ "kind",
13595
+ "operationId",
13596
+ "survivingCustomerId",
13597
+ "duplicateCustomerId",
13598
+ "status",
13599
+ "phase"
10953
13600
  ],
10954
13601
  "additionalProperties": false
13602
+ }
13603
+ ]
13604
+ }
13605
+ },
13606
+ "outlit_get_customer_merge_status": {
13607
+ "toolName": "outlit_get_customer_merge_status",
13608
+ "commandId": "customer.merge.status",
13609
+ "commandVersion": 1,
13610
+ "ownerDomain": "identity",
13611
+ "title": "Get customer merge status",
13612
+ "description": "Read a customer merge operation's current progress, completion or bounded failure information. Requires current read access; possession of an operation ID does not grant access. Queued or running operations are not complete. Does not retry, restart, cancel or undo the merge.",
13613
+ "annotations": {
13614
+ "readOnlyHint": true,
13615
+ "destructiveHint": false
13616
+ },
13617
+ "inputSchema": {
13618
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
13619
+ "type": "object",
13620
+ "properties": {
13621
+ "operationId": {
13622
+ "type": "string",
13623
+ "minLength": 1,
13624
+ "maxLength": 191
13625
+ }
13626
+ },
13627
+ "required": [
13628
+ "operationId"
13629
+ ],
13630
+ "additionalProperties": false
13631
+ },
13632
+ "outputSchema": {
13633
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
13634
+ "type": "object",
13635
+ "properties": {
13636
+ "kind": {
13637
+ "type": "string",
13638
+ "const": "operation"
10955
13639
  },
10956
- "preparedActionUrl": {
10957
- "anyOf": [
10958
- {
10959
- "type": "string",
10960
- "maxLength": 2e3,
10961
- "format": "uri"
10962
- },
10963
- {
10964
- "type": "null"
10965
- }
10966
- ]
13640
+ "operationId": {
13641
+ "type": "string",
13642
+ "minLength": 1,
13643
+ "maxLength": 191
10967
13644
  },
10968
- "whatChanged": {
13645
+ "survivingCustomerId": {
10969
13646
  "type": "string",
10970
13647
  "minLength": 1,
10971
- "maxLength": 8e3
13648
+ "maxLength": 191
10972
13649
  },
10973
- "whyItMatters": {
13650
+ "duplicateCustomerId": {
10974
13651
  "type": "string",
10975
13652
  "minLength": 1,
10976
- "maxLength": 8e3
13653
+ "maxLength": 191
10977
13654
  },
10978
- "uncertainty": {
10979
- "anyOf": [
10980
- {
10981
- "type": "string",
10982
- "minLength": 1,
10983
- "maxLength": 8e3
10984
- },
10985
- {
10986
- "type": "null"
10987
- }
13655
+ "status": {
13656
+ "type": "string",
13657
+ "enum": [
13658
+ "queued",
13659
+ "running",
13660
+ "completed",
13661
+ "failed"
10988
13662
  ]
10989
13663
  },
10990
- "priorityReason": {
13664
+ "phase": {
10991
13665
  "type": "string",
10992
13666
  "minLength": 1,
10993
- "maxLength": 8e3
10994
- },
10995
- "timeline": {
10996
- "maxItems": 20,
10997
- "type": "array",
10998
- "items": {
10999
- "type": "object",
11000
- "properties": {
11001
- "title": {
11002
- "type": "string",
11003
- "minLength": 1,
11004
- "maxLength": 240
11005
- },
11006
- "explanation": {
11007
- "type": "string",
11008
- "minLength": 1,
11009
- "maxLength": 4e3
11010
- },
11011
- "observedAt": {
11012
- "type": "string",
11013
- "format": "date-time",
11014
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
11015
- }
11016
- },
11017
- "required": [
11018
- "title",
11019
- "explanation",
11020
- "observedAt"
11021
- ],
11022
- "additionalProperties": false
11023
- }
11024
- },
11025
- "evidence": {
11026
- "maxItems": 20,
11027
- "type": "array",
11028
- "items": {
11029
- "type": "object",
11030
- "properties": {
11031
- "role": {
11032
- "type": "string",
11033
- "enum": [
11034
- "supporting",
11035
- "contradictory",
11036
- "context"
11037
- ]
11038
- },
11039
- "kind": {
11040
- "type": "string",
11041
- "enum": [
11042
- "metric",
11043
- "communication",
11044
- "record",
11045
- "event"
11046
- ]
11047
- },
11048
- "title": {
11049
- "type": "string",
11050
- "minLength": 1,
11051
- "maxLength": 500
11052
- },
11053
- "observedAt": {
11054
- "anyOf": [
11055
- {
11056
- "type": "string",
11057
- "format": "date-time",
11058
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
11059
- },
11060
- {
11061
- "type": "null"
11062
- }
11063
- ]
11064
- },
11065
- "window": {
11066
- "anyOf": [
11067
- {
11068
- "type": "object",
11069
- "properties": {
11070
- "start": {
11071
- "type": "string",
11072
- "format": "date-time",
11073
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
11074
- },
11075
- "end": {
11076
- "type": "string",
11077
- "format": "date-time",
11078
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
11079
- }
11080
- },
11081
- "required": [
11082
- "start",
11083
- "end"
11084
- ],
11085
- "additionalProperties": false
11086
- },
11087
- {
11088
- "type": "null"
11089
- }
11090
- ]
11091
- },
11092
- "sourceLabel": {
11093
- "type": "string",
11094
- "minLength": 1,
11095
- "maxLength": 240
11096
- }
11097
- },
11098
- "required": [
11099
- "role",
11100
- "kind",
11101
- "title",
11102
- "observedAt",
11103
- "window",
11104
- "sourceLabel"
11105
- ],
11106
- "additionalProperties": false
11107
- }
13667
+ "maxLength": 100
11108
13668
  },
11109
- "latestUpdate": {
11110
- "anyOf": [
11111
- {
11112
- "type": "object",
11113
- "properties": {
11114
- "updatedAt": {
11115
- "type": "string",
11116
- "format": "date-time",
11117
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
11118
- },
11119
- "summary": {
11120
- "type": "string",
11121
- "minLength": 1,
11122
- "maxLength": 8e3
11123
- }
11124
- },
11125
- "required": [
11126
- "updatedAt",
11127
- "summary"
11128
- ],
11129
- "additionalProperties": false
13669
+ "error": {
13670
+ "type": "object",
13671
+ "properties": {
13672
+ "code": {
13673
+ "type": "string",
13674
+ "minLength": 1,
13675
+ "maxLength": 100
11130
13676
  },
11131
- {
11132
- "type": "null"
13677
+ "message": {
13678
+ "type": "string",
13679
+ "maxLength": 1e3
11133
13680
  }
11134
- ]
13681
+ },
13682
+ "required": [
13683
+ "code",
13684
+ "message"
13685
+ ],
13686
+ "additionalProperties": false
11135
13687
  }
11136
13688
  },
11137
13689
  "required": [
11138
- "id",
11139
- "customer",
11140
- "title",
11141
- "priority",
11142
- "evidenceCount",
11143
- "lifecycle",
11144
- "accountImportance",
11145
- "preparedActionUrl",
11146
- "whatChanged",
11147
- "whyItMatters",
11148
- "uncertainty",
11149
- "priorityReason",
11150
- "timeline",
11151
- "evidence",
11152
- "latestUpdate"
13690
+ "kind",
13691
+ "operationId",
13692
+ "survivingCustomerId",
13693
+ "duplicateCustomerId",
13694
+ "status",
13695
+ "phase"
11153
13696
  ],
11154
13697
  "additionalProperties": false
11155
13698
  }
@@ -11236,8 +13779,14 @@ var consumerToolPolicies = {
11236
13779
  "outlit_create_feature",
11237
13780
  "outlit_archive_feature",
11238
13781
  "outlit_get_customer_features",
13782
+ "outlit_get_customer_credits",
11239
13783
  "outlit_list_attention_items",
11240
- "outlit_get_attention_item"
13784
+ "outlit_get_attention_item",
13785
+ "outlit_get_customer_identity",
13786
+ "outlit_list_identity_merge_suggestions",
13787
+ "outlit_reject_identity_merge_suggestion",
13788
+ "outlit_merge_customers",
13789
+ "outlit_get_customer_merge_status"
11241
13790
  ],
11242
13791
  "cli": [
11243
13792
  "outlit_list_customers",
@@ -11278,8 +13827,14 @@ var consumerToolPolicies = {
11278
13827
  "outlit_create_feature",
11279
13828
  "outlit_archive_feature",
11280
13829
  "outlit_get_customer_features",
13830
+ "outlit_get_customer_credits",
11281
13831
  "outlit_list_attention_items",
11282
- "outlit_get_attention_item"
13832
+ "outlit_get_attention_item",
13833
+ "outlit_get_customer_identity",
13834
+ "outlit_list_identity_merge_suggestions",
13835
+ "outlit_reject_identity_merge_suggestion",
13836
+ "outlit_merge_customers",
13837
+ "outlit_get_customer_merge_status"
11283
13838
  ]
11284
13839
  };
11285
13840
  var toolGatewayTransport = {
@@ -11292,6 +13847,7 @@ var toolGatewayTransport = {
11292
13847
  403,
11293
13848
  404,
11294
13849
  409,
13850
+ 413,
11295
13851
  422,
11296
13852
  429,
11297
13853
  500,
@@ -11325,7 +13881,9 @@ var apiKeyGrants = [
11325
13881
  "activation:manage",
11326
13882
  "workspace_settings:read",
11327
13883
  "workspace_settings:manage",
11328
- "customer_access:manage"
13884
+ "customer_access:manage",
13885
+ "customer_identity:review",
13886
+ "customer_identity:merge"
11329
13887
  ];
11330
13888
  var apiKeyValidationSuccessSchema = {
11331
13889
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -11453,7 +14011,9 @@ var apiKeyValidationSuccessSchema = {
11453
14011
  "activation:manage",
11454
14012
  "workspace_settings:read",
11455
14013
  "workspace_settings:manage",
11456
- "customer_access:manage"
14014
+ "customer_access:manage",
14015
+ "customer_identity:review",
14016
+ "customer_identity:merge"
11457
14017
  ]
11458
14018
  }
11459
14019
  },
@@ -11511,7 +14071,9 @@ var apiKeyValidationSuccessSchema = {
11511
14071
  "activation:manage",
11512
14072
  "workspace_settings:read",
11513
14073
  "workspace_settings:manage",
11514
- "customer_access:manage"
14074
+ "customer_access:manage",
14075
+ "customer_identity:review",
14076
+ "customer_identity:merge"
11515
14077
  ]
11516
14078
  }
11517
14079
  }
@@ -11557,6 +14119,7 @@ var toolGatewayErrorCodes = [
11557
14119
  "TOOL_BINDING_MISSING",
11558
14120
  "TOOL_IMPLEMENTATION_ERROR",
11559
14121
  "TOOL_OUTPUT_INVALID",
14122
+ "TOOL_RESULT_TOO_LARGE",
11560
14123
  "TOOL_GATEWAY_ERROR",
11561
14124
  "plan_api_limit_exceeded",
11562
14125
  "plan_billing_action_required"
@@ -11576,6 +14139,7 @@ var toolGatewayErrorSchema = {
11576
14139
  "TOOL_BINDING_MISSING",
11577
14140
  "TOOL_IMPLEMENTATION_ERROR",
11578
14141
  "TOOL_OUTPUT_INVALID",
14142
+ "TOOL_RESULT_TOO_LARGE",
11579
14143
  "TOOL_GATEWAY_ERROR",
11580
14144
  "plan_api_limit_exceeded",
11581
14145
  "plan_billing_action_required"
@@ -11605,6 +14169,39 @@ var toolGatewayErrorSchema = {
11605
14169
  "type": "null"
11606
14170
  }
11607
14171
  ]
14172
+ },
14173
+ "limitBytes": {
14174
+ "type": "integer",
14175
+ "exclusiveMinimum": 0,
14176
+ "maximum": 9007199254740991
14177
+ },
14178
+ "actualBytes": {
14179
+ "type": "integer",
14180
+ "exclusiveMinimum": 0,
14181
+ "maximum": 9007199254740991
14182
+ },
14183
+ "validationIssues": {
14184
+ "maxItems": 10,
14185
+ "type": "array",
14186
+ "items": {
14187
+ "type": "object",
14188
+ "properties": {
14189
+ "code": {
14190
+ "type": "string",
14191
+ "minLength": 1,
14192
+ "maxLength": 100
14193
+ },
14194
+ "path": {
14195
+ "type": "string",
14196
+ "maxLength": 200
14197
+ }
14198
+ },
14199
+ "required": [
14200
+ "code",
14201
+ "path"
14202
+ ],
14203
+ "additionalProperties": false
14204
+ }
11608
14205
  }
11609
14206
  },
11610
14207
  "required": [
@@ -12436,19 +15033,22 @@ var customerFactTypes = [
12436
15033
  "STRATEGY",
12437
15034
  "COMPETITIVE",
12438
15035
  "SENTIMENT",
12439
- "CHAMPION_RISK",
12440
15036
  "EXPANSION",
12441
15037
  "CHURN_RISK",
12442
15038
  "TIMELINE",
12443
15039
  "BUDGET",
12444
15040
  "DECISION_MAKER",
12445
15041
  "REQUIREMENTS",
15042
+ "BLOCKER",
15043
+ "COMMITMENT",
15044
+ "SUCCESS_CRITERION",
12446
15045
  "PRODUCT_USAGE",
12447
15046
  "CONTACT_INFO",
12448
15047
  "CONTACT_PREFERENCE",
12449
15048
  "CONTACT_DEPARTURE",
12450
15049
  "CONTACT_POSITION_CHANGE",
12451
- "CONTACT_DISENGAGEMENT"
15050
+ "CONTACT_DISENGAGEMENT",
15051
+ "CHAMPION_RISK"
12452
15052
  ];
12453
15053
  var unsupportedCustomerFactTypes = [
12454
15054
  "TRACKING_GAP",
@@ -12555,7 +15155,7 @@ var schemaTables = [
12555
15155
  "users",
12556
15156
  "revenue"
12557
15157
  ];
12558
- var sdkConsumerContractHash = "6e94d54edef77e194566831299475f1814ec8a4cf6302aa38f7fd2d596623673";
15158
+ var sdkConsumerContractHash = "b2bc7e86d4e524f2799b4b676f6ee94c2f8184d572771ed51311f79139a261d5";
12559
15159
 
12560
15160
  // src/contracts.ts
12561
15161
  var publicToolNameSet = new Set(publicToolNames);