@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.js CHANGED
@@ -39,8 +39,14 @@ var publicToolNames = [
39
39
  "outlit_create_feature",
40
40
  "outlit_archive_feature",
41
41
  "outlit_get_customer_features",
42
+ "outlit_get_customer_credits",
42
43
  "outlit_list_attention_items",
43
- "outlit_get_attention_item"
44
+ "outlit_get_attention_item",
45
+ "outlit_get_customer_identity",
46
+ "outlit_list_identity_merge_suggestions",
47
+ "outlit_reject_identity_merge_suggestion",
48
+ "outlit_merge_customers",
49
+ "outlit_get_customer_merge_status"
44
50
  ];
45
51
  var publicToolContracts = {
46
52
  "outlit_list_customers": {
@@ -837,7 +843,7 @@ var publicToolContracts = {
837
843
  "commandVersion": 1,
838
844
  "ownerDomain": "customers",
839
845
  "title": "Get Customer",
840
- "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).",
846
+ "description": "Get full details for a single customer. Optionally include users, revenue, recent activity, engagement metrics, or company enrichment.",
841
847
  "inputSchema": {
842
848
  "$schema": "https://json-schema.org/draft/2020-12/schema",
843
849
  "type": "object",
@@ -2336,7 +2342,7 @@ var publicToolContracts = {
2336
2342
  }
2337
2343
  },
2338
2344
  "factTypes": {
2339
- "description": "Optional customer-memory fact type filters, such as CHURN_RISK, EXPANSION, SENTIMENT, or BUDGET. Anomaly detector fact types are not supported.",
2345
+ "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",
2340
2346
  "type": "array",
2341
2347
  "items": {
2342
2348
  "type": "string",
@@ -2348,19 +2354,22 @@ var publicToolContracts = {
2348
2354
  "STRATEGY",
2349
2355
  "COMPETITIVE",
2350
2356
  "SENTIMENT",
2351
- "CHAMPION_RISK",
2352
2357
  "EXPANSION",
2353
2358
  "CHURN_RISK",
2354
2359
  "TIMELINE",
2355
2360
  "BUDGET",
2356
2361
  "DECISION_MAKER",
2357
2362
  "REQUIREMENTS",
2363
+ "BLOCKER",
2364
+ "COMMITMENT",
2365
+ "SUCCESS_CRITERION",
2358
2366
  "PRODUCT_USAGE",
2359
2367
  "CONTACT_INFO",
2360
2368
  "CONTACT_PREFERENCE",
2361
2369
  "CONTACT_DEPARTURE",
2362
2370
  "CONTACT_POSITION_CHANGE",
2363
- "CONTACT_DISENGAGEMENT"
2371
+ "CONTACT_DISENGAGEMENT",
2372
+ "CHAMPION_RISK"
2364
2373
  ]
2365
2374
  }
2366
2375
  },
@@ -3470,7 +3479,8 @@ var publicToolContracts = {
3470
3479
  "SLACK",
3471
3480
  "PERSON_PROFILE",
3472
3481
  "CRM",
3473
- "CRM_OPPORTUNITY"
3482
+ "CRM_OPPORTUNITY",
3483
+ "EXTRACTED"
3474
3484
  ]
3475
3485
  },
3476
3486
  "sourceId": {
@@ -3479,13 +3489,13 @@ var publicToolContracts = {
3479
3489
  "maxLength": 500
3480
3490
  },
3481
3491
  "limit": {
3482
- "description": "Slack replies per page (default 50, maximum 100). Ignored for other source types.",
3492
+ "description": "Exact content segments per page (default 10, maximum 100).",
3483
3493
  "type": "integer",
3484
3494
  "minimum": 1,
3485
3495
  "maximum": 100
3486
3496
  },
3487
3497
  "cursor": {
3488
- "description": "Opaque Slack reply cursor returned by a previous exact lookup.",
3498
+ "description": "Opaque cursor returned by a previous exact lookup for the same source.",
3489
3499
  "type": "string",
3490
3500
  "minLength": 1,
3491
3501
  "maxLength": 2e3
@@ -3681,6 +3691,135 @@ var publicToolContracts = {
3681
3691
  "type": "string"
3682
3692
  },
3683
3693
  "additionalProperties": {}
3694
+ },
3695
+ "contentPage": {
3696
+ "type": "object",
3697
+ "properties": {
3698
+ "sourceType": {
3699
+ "type": "string",
3700
+ "enum": [
3701
+ "EMAIL",
3702
+ "CALL",
3703
+ "CALENDAR_EVENT",
3704
+ "SUPPORT_TICKET",
3705
+ "OPPORTUNITY",
3706
+ "SLACK",
3707
+ "PERSON_PROFILE"
3708
+ ]
3709
+ },
3710
+ "sourceId": {
3711
+ "type": "string",
3712
+ "minLength": 1,
3713
+ "maxLength": 500
3714
+ },
3715
+ "contentKind": {
3716
+ "type": "string",
3717
+ "enum": [
3718
+ "email_body",
3719
+ "call_transcript",
3720
+ "support_thread",
3721
+ "slack_thread"
3722
+ ]
3723
+ },
3724
+ "segments": {
3725
+ "type": "array",
3726
+ "items": {
3727
+ "type": "object",
3728
+ "properties": {
3729
+ "id": {
3730
+ "type": "string",
3731
+ "minLength": 1,
3732
+ "maxLength": 1e3
3733
+ },
3734
+ "occurredAt": {
3735
+ "type": "string",
3736
+ "format": "date-time",
3737
+ "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))$"
3738
+ },
3739
+ "authorLabel": {
3740
+ "type": "string",
3741
+ "maxLength": 500
3742
+ },
3743
+ "text": {
3744
+ "type": "string"
3745
+ }
3746
+ },
3747
+ "required": [
3748
+ "id",
3749
+ "text"
3750
+ ],
3751
+ "additionalProperties": false
3752
+ }
3753
+ },
3754
+ "page": {
3755
+ "type": "object",
3756
+ "properties": {
3757
+ "returned": {
3758
+ "type": "integer",
3759
+ "minimum": 0,
3760
+ "maximum": 9007199254740991
3761
+ },
3762
+ "hasMore": {
3763
+ "type": "boolean"
3764
+ },
3765
+ "nextCursor": {
3766
+ "anyOf": [
3767
+ {
3768
+ "type": "string",
3769
+ "maxLength": 2e3
3770
+ },
3771
+ {
3772
+ "type": "null"
3773
+ }
3774
+ ]
3775
+ }
3776
+ },
3777
+ "required": [
3778
+ "returned",
3779
+ "hasMore",
3780
+ "nextCursor"
3781
+ ],
3782
+ "additionalProperties": false
3783
+ },
3784
+ "completeness": {
3785
+ "type": "object",
3786
+ "properties": {
3787
+ "status": {
3788
+ "type": "string",
3789
+ "enum": [
3790
+ "complete",
3791
+ "partial",
3792
+ "unavailable"
3793
+ ]
3794
+ },
3795
+ "reason": {
3796
+ "type": "string",
3797
+ "maxLength": 1e3
3798
+ },
3799
+ "omittedFields": {
3800
+ "type": "array",
3801
+ "items": {
3802
+ "type": "string",
3803
+ "maxLength": 500
3804
+ }
3805
+ }
3806
+ },
3807
+ "required": [
3808
+ "status",
3809
+ "omittedFields"
3810
+ ],
3811
+ "additionalProperties": false
3812
+ }
3813
+ },
3814
+ "required": [
3815
+ "sourceType",
3816
+ "sourceId",
3817
+ "contentKind",
3818
+ "segments",
3819
+ "page",
3820
+ "completeness"
3821
+ ],
3822
+ "additionalProperties": false
3684
3823
  }
3685
3824
  },
3686
3825
  "required": [
@@ -3964,6 +4103,135 @@ var publicToolContracts = {
3964
4103
  "type": "string"
3965
4104
  },
3966
4105
  "additionalProperties": {}
4106
+ },
4107
+ "contentPage": {
4108
+ "type": "object",
4109
+ "properties": {
4110
+ "sourceType": {
4111
+ "type": "string",
4112
+ "enum": [
4113
+ "EMAIL",
4114
+ "CALL",
4115
+ "CALENDAR_EVENT",
4116
+ "SUPPORT_TICKET",
4117
+ "OPPORTUNITY",
4118
+ "SLACK",
4119
+ "PERSON_PROFILE"
4120
+ ]
4121
+ },
4122
+ "sourceId": {
4123
+ "type": "string",
4124
+ "minLength": 1,
4125
+ "maxLength": 500
4126
+ },
4127
+ "contentKind": {
4128
+ "type": "string",
4129
+ "enum": [
4130
+ "email_body",
4131
+ "call_transcript",
4132
+ "support_thread",
4133
+ "slack_thread"
4134
+ ]
4135
+ },
4136
+ "segments": {
4137
+ "type": "array",
4138
+ "items": {
4139
+ "type": "object",
4140
+ "properties": {
4141
+ "id": {
4142
+ "type": "string",
4143
+ "minLength": 1,
4144
+ "maxLength": 1e3
4145
+ },
4146
+ "occurredAt": {
4147
+ "type": "string",
4148
+ "format": "date-time",
4149
+ "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))$"
4150
+ },
4151
+ "authorLabel": {
4152
+ "type": "string",
4153
+ "maxLength": 500
4154
+ },
4155
+ "text": {
4156
+ "type": "string"
4157
+ }
4158
+ },
4159
+ "required": [
4160
+ "id",
4161
+ "text"
4162
+ ],
4163
+ "additionalProperties": false
4164
+ }
4165
+ },
4166
+ "page": {
4167
+ "type": "object",
4168
+ "properties": {
4169
+ "returned": {
4170
+ "type": "integer",
4171
+ "minimum": 0,
4172
+ "maximum": 9007199254740991
4173
+ },
4174
+ "hasMore": {
4175
+ "type": "boolean"
4176
+ },
4177
+ "nextCursor": {
4178
+ "anyOf": [
4179
+ {
4180
+ "type": "string",
4181
+ "maxLength": 2e3
4182
+ },
4183
+ {
4184
+ "type": "null"
4185
+ }
4186
+ ]
4187
+ }
4188
+ },
4189
+ "required": [
4190
+ "returned",
4191
+ "hasMore",
4192
+ "nextCursor"
4193
+ ],
4194
+ "additionalProperties": false
4195
+ },
4196
+ "completeness": {
4197
+ "type": "object",
4198
+ "properties": {
4199
+ "status": {
4200
+ "type": "string",
4201
+ "enum": [
4202
+ "complete",
4203
+ "partial",
4204
+ "unavailable"
4205
+ ]
4206
+ },
4207
+ "reason": {
4208
+ "type": "string",
4209
+ "maxLength": 1e3
4210
+ },
4211
+ "omittedFields": {
4212
+ "type": "array",
4213
+ "items": {
4214
+ "type": "string",
4215
+ "maxLength": 500
4216
+ }
4217
+ }
4218
+ },
4219
+ "required": [
4220
+ "status",
4221
+ "omittedFields"
4222
+ ],
4223
+ "additionalProperties": false
4224
+ }
4225
+ },
4226
+ "required": [
4227
+ "sourceType",
4228
+ "sourceId",
4229
+ "contentKind",
4230
+ "segments",
4231
+ "page",
4232
+ "completeness"
4233
+ ],
4234
+ "additionalProperties": false
3967
4235
  }
3968
4236
  },
3969
4237
  "required": [
@@ -7713,12 +7981,14 @@ var publicToolContracts = {
7713
7981
  "granola",
7714
7982
  "gong",
7715
7983
  "fireflies",
7984
+ "ergo",
7716
7985
  "pylon",
7717
7986
  "stripe",
7718
7987
  "mixpanel",
7719
7988
  "posthog",
7720
7989
  "supabase",
7721
- "clerk"
7990
+ "clerk",
7991
+ "autumn"
7722
7992
  ]
7723
7993
  }
7724
7994
  },
@@ -7999,6 +8269,32 @@ var publicToolContracts = {
7999
8269
  ],
8000
8270
  "additionalProperties": false
8001
8271
  },
8272
+ {
8273
+ "type": "object",
8274
+ "properties": {
8275
+ "provider": {
8276
+ "type": "string",
8277
+ "const": "ergo"
8278
+ },
8279
+ "credentials": {
8280
+ "type": "object",
8281
+ "properties": {
8282
+ "apiKey": {
8283
+ "type": "string",
8284
+ "minLength": 1
8285
+ }
8286
+ },
8287
+ "required": [
8288
+ "apiKey"
8289
+ ],
8290
+ "additionalProperties": false
8291
+ }
8292
+ },
8293
+ "required": [
8294
+ "provider"
8295
+ ],
8296
+ "additionalProperties": false
8297
+ },
8002
8298
  {
8003
8299
  "type": "object",
8004
8300
  "properties": {
@@ -8225,6 +8521,32 @@ var publicToolContracts = {
8225
8521
  "provider"
8226
8522
  ],
8227
8523
  "additionalProperties": false
8524
+ },
8525
+ {
8526
+ "type": "object",
8527
+ "properties": {
8528
+ "provider": {
8529
+ "type": "string",
8530
+ "const": "autumn"
8531
+ },
8532
+ "credentials": {
8533
+ "type": "object",
8534
+ "properties": {
8535
+ "apiKey": {
8536
+ "type": "string",
8537
+ "minLength": 1
8538
+ }
8539
+ },
8540
+ "required": [
8541
+ "apiKey"
8542
+ ],
8543
+ "additionalProperties": false
8544
+ }
8545
+ },
8546
+ "required": [
8547
+ "provider"
8548
+ ],
8549
+ "additionalProperties": false
8228
8550
  }
8229
8551
  ]
8230
8552
  },
@@ -8244,12 +8566,14 @@ var publicToolContracts = {
8244
8566
  "granola",
8245
8567
  "gong",
8246
8568
  "fireflies",
8569
+ "ergo",
8247
8570
  "pylon",
8248
8571
  "stripe",
8249
8572
  "mixpanel",
8250
8573
  "posthog",
8251
8574
  "supabase",
8252
- "clerk"
8575
+ "clerk",
8576
+ "autumn"
8253
8577
  ]
8254
8578
  },
8255
8579
  "name": {
@@ -8569,6 +8893,7 @@ var publicToolContracts = {
8569
8893
  "CREDENTIAL_REJECTED",
8570
8894
  "LEGACY_CONNECTION_REQUIRED",
8571
8895
  "HANDOFF_UNAVAILABLE",
8896
+ "SYNC_START_FAILED",
8572
8897
  "TRANSIENT_FAILURE"
8573
8898
  ]
8574
8899
  },
@@ -9919,7 +10244,7 @@ var publicToolContracts = {
9919
10244
  "commandVersion": 1,
9920
10245
  "ownerDomain": "value_features",
9921
10246
  "title": "Get Customer Features",
9922
- "description": "Read exact historical feature-usage evidence for one authorized customer.",
10247
+ "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.",
9923
10248
  "inputSchema": {
9924
10249
  "$schema": "https://json-schema.org/draft/2020-12/schema",
9925
10250
  "type": "object",
@@ -9969,280 +10294,198 @@ var publicToolContracts = {
9969
10294
  ],
9970
10295
  "additionalProperties": false
9971
10296
  },
10297
+ "events": {
10298
+ "type": "string",
10299
+ "enum": [
10300
+ "available",
10301
+ "unavailable"
10302
+ ],
10303
+ "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."
10304
+ },
9972
10305
  "features": {
9973
- "maxItems": 100,
10306
+ "maxItems": 4100,
9974
10307
  "type": "array",
9975
10308
  "items": {
9976
- "type": "object",
9977
- "properties": {
9978
- "id": {
9979
- "type": "string",
9980
- "pattern": "^value_feature_v1_[a-f0-9]{32}$"
9981
- },
9982
- "revision": {
9983
- "type": "string",
9984
- "pattern": "^value_feature_revision_v1_[a-f0-9]{32}$"
9985
- },
9986
- "sourceKey": {
9987
- "type": "string",
9988
- "pattern": "^metric_source_v1_[a-f0-9]{32}$"
9989
- },
9990
- "featureKey": {
9991
- "type": "string",
9992
- "maxLength": 64,
9993
- "pattern": "^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$"
9994
- },
9995
- "name": {
9996
- "type": "string",
9997
- "minLength": 1,
9998
- "maxLength": 255
9999
- },
10000
- "rule": {
10309
+ "oneOf": [
10310
+ {
10001
10311
  "type": "object",
10002
10312
  "properties": {
10003
- "eventName": {
10313
+ "id": {
10004
10314
  "type": "string",
10005
- "minLength": 1,
10006
- "maxLength": 191
10315
+ "pattern": "^value_feature_v1_[a-f0-9]{32}$"
10007
10316
  },
10008
- "propertyFilters": {
10009
- "maxItems": 5,
10010
- "type": "array",
10011
- "items": {
10012
- "oneOf": [
10013
- {
10014
- "type": "object",
10015
- "properties": {
10016
- "property": {
10017
- "type": "string",
10018
- "minLength": 1,
10019
- "maxLength": 191
10020
- },
10021
- "operator": {
10022
- "type": "string",
10023
- "const": "equals"
10024
- },
10025
- "value": {
10026
- "oneOf": [
10027
- {
10028
- "type": "object",
10029
- "properties": {
10030
- "type": {
10031
- "type": "string",
10032
- "const": "string"
10033
- },
10034
- "value": {
10035
- "type": "string",
10036
- "maxLength": 191
10037
- }
10038
- },
10039
- "required": [
10040
- "type",
10041
- "value"
10042
- ],
10043
- "additionalProperties": false
10044
- },
10045
- {
10046
- "type": "object",
10047
- "properties": {
10048
- "type": {
10049
- "type": "string",
10050
- "const": "number"
10051
- },
10052
- "value": {
10053
- "type": "number",
10054
- "minimum": -9007199254740991,
10055
- "maximum": 9007199254740991
10056
- }
10057
- },
10058
- "required": [
10059
- "type",
10060
- "value"
10061
- ],
10062
- "additionalProperties": false
10063
- },
10064
- {
10065
- "type": "object",
10066
- "properties": {
10067
- "type": {
10068
- "type": "string",
10069
- "const": "boolean"
10070
- },
10071
- "value": {
10072
- "type": "boolean"
10073
- }
10074
- },
10075
- "required": [
10076
- "type",
10077
- "value"
10078
- ],
10079
- "additionalProperties": false
10080
- }
10081
- ]
10082
- }
10083
- },
10084
- "required": [
10085
- "property",
10086
- "operator",
10087
- "value"
10088
- ],
10089
- "additionalProperties": false
10090
- },
10091
- {
10092
- "type": "object",
10093
- "properties": {
10094
- "property": {
10095
- "type": "string",
10096
- "minLength": 1,
10097
- "maxLength": 191
10098
- },
10099
- "operator": {
10100
- "type": "string",
10101
- "const": "exists"
10102
- }
10103
- },
10104
- "required": [
10105
- "property",
10106
- "operator"
10107
- ],
10108
- "additionalProperties": false
10109
- }
10110
- ]
10111
- }
10112
- }
10113
- },
10114
- "required": [
10115
- "eventName",
10116
- "propertyFilters"
10117
- ],
10118
- "additionalProperties": false
10119
- },
10120
- "evidence": {
10121
- "oneOf": [
10122
- {
10317
+ "revision": {
10318
+ "type": "string",
10319
+ "pattern": "^value_feature_revision_v1_[a-f0-9]{32}$"
10320
+ },
10321
+ "kind": {
10322
+ "type": "string",
10323
+ "const": "event"
10324
+ },
10325
+ "sourceKey": {
10326
+ "type": "string",
10327
+ "pattern": "^metric_source_v1_[a-f0-9]{32}$"
10328
+ },
10329
+ "source": {
10123
10330
  "type": "object",
10124
10331
  "properties": {
10125
- "window": {
10126
- "type": "object",
10127
- "properties": {
10128
- "startAt": {
10129
- "type": "string",
10130
- "format": "date-time",
10131
- "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)))$"
10132
- },
10133
- "endAt": {
10134
- "type": "string",
10135
- "format": "date-time",
10136
- "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)))$"
10137
- }
10138
- },
10139
- "required": [
10140
- "startAt",
10141
- "endAt"
10142
- ],
10143
- "additionalProperties": false
10144
- },
10145
- "coverage": {
10332
+ "provider": {
10146
10333
  "type": "string",
10147
10334
  "enum": [
10148
- "complete",
10149
- "partial"
10335
+ "outlit_sdk",
10336
+ "posthog",
10337
+ "mixpanel"
10150
10338
  ]
10151
10339
  },
10152
- "eventCount": {
10153
- "type": "integer",
10154
- "minimum": 0,
10155
- "maximum": 9007199254740991
10156
- },
10157
- "activeDays": {
10158
- "type": "integer",
10159
- "minimum": 0,
10160
- "maximum": 9007199254740991
10161
- },
10162
- "activeWeeks": {
10163
- "type": "integer",
10164
- "minimum": 0,
10165
- "maximum": 53
10166
- },
10167
- "firstObservedAt": {
10340
+ "connection": {
10168
10341
  "anyOf": [
10169
10342
  {
10170
- "type": "string",
10171
- "format": "date-time",
10172
- "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)))$"
10343
+ "type": "string"
10173
10344
  },
10174
10345
  {
10175
10346
  "type": "null"
10176
10347
  }
10177
10348
  ]
10178
10349
  },
10179
- "lastObservedAt": {
10350
+ "scope": {
10351
+ "type": "string"
10352
+ },
10353
+ "label": {
10180
10354
  "anyOf": [
10181
10355
  {
10182
- "type": "string",
10183
- "format": "date-time",
10184
- "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)))$"
10356
+ "type": "string"
10185
10357
  },
10186
10358
  {
10187
10359
  "type": "null"
10188
10360
  }
10189
10361
  ]
10362
+ }
10363
+ },
10364
+ "required": [
10365
+ "provider",
10366
+ "connection",
10367
+ "scope",
10368
+ "label"
10369
+ ],
10370
+ "additionalProperties": false
10371
+ },
10372
+ "featureKey": {
10373
+ "type": "string",
10374
+ "maxLength": 64,
10375
+ "pattern": "^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$"
10376
+ },
10377
+ "name": {
10378
+ "type": "string",
10379
+ "minLength": 1,
10380
+ "maxLength": 255
10381
+ },
10382
+ "rule": {
10383
+ "type": "object",
10384
+ "properties": {
10385
+ "eventName": {
10386
+ "type": "string",
10387
+ "minLength": 1,
10388
+ "maxLength": 191
10190
10389
  },
10191
- "weeklyUsage": {
10192
- "maxItems": 53,
10390
+ "propertyFilters": {
10391
+ "maxItems": 5,
10193
10392
  "type": "array",
10194
10393
  "items": {
10195
10394
  "oneOf": [
10196
10395
  {
10197
10396
  "type": "object",
10198
10397
  "properties": {
10199
- "weekStartAt": {
10398
+ "property": {
10200
10399
  "type": "string",
10201
- "format": "date-time",
10202
- "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)))$"
10400
+ "minLength": 1,
10401
+ "maxLength": 191
10203
10402
  },
10204
- "coverage": {
10403
+ "operator": {
10205
10404
  "type": "string",
10206
- "enum": [
10207
- "complete",
10208
- "partial"
10209
- ]
10210
- },
10211
- "eventCount": {
10212
- "type": "integer",
10213
- "minimum": 0,
10214
- "maximum": 9007199254740991
10405
+ "const": "equals"
10215
10406
  },
10216
- "activeDays": {
10217
- "type": "integer",
10218
- "minimum": 0,
10219
- "maximum": 7
10407
+ "value": {
10408
+ "oneOf": [
10409
+ {
10410
+ "type": "object",
10411
+ "properties": {
10412
+ "type": {
10413
+ "type": "string",
10414
+ "const": "string"
10415
+ },
10416
+ "value": {
10417
+ "type": "string",
10418
+ "maxLength": 191
10419
+ }
10420
+ },
10421
+ "required": [
10422
+ "type",
10423
+ "value"
10424
+ ],
10425
+ "additionalProperties": false
10426
+ },
10427
+ {
10428
+ "type": "object",
10429
+ "properties": {
10430
+ "type": {
10431
+ "type": "string",
10432
+ "const": "number"
10433
+ },
10434
+ "value": {
10435
+ "type": "number",
10436
+ "minimum": -9007199254740991,
10437
+ "maximum": 9007199254740991
10438
+ }
10439
+ },
10440
+ "required": [
10441
+ "type",
10442
+ "value"
10443
+ ],
10444
+ "additionalProperties": false
10445
+ },
10446
+ {
10447
+ "type": "object",
10448
+ "properties": {
10449
+ "type": {
10450
+ "type": "string",
10451
+ "const": "boolean"
10452
+ },
10453
+ "value": {
10454
+ "type": "boolean"
10455
+ }
10456
+ },
10457
+ "required": [
10458
+ "type",
10459
+ "value"
10460
+ ],
10461
+ "additionalProperties": false
10462
+ }
10463
+ ]
10220
10464
  }
10221
10465
  },
10222
10466
  "required": [
10223
- "weekStartAt",
10224
- "coverage",
10225
- "eventCount",
10226
- "activeDays"
10467
+ "property",
10468
+ "operator",
10469
+ "value"
10227
10470
  ],
10228
10471
  "additionalProperties": false
10229
10472
  },
10230
10473
  {
10231
10474
  "type": "object",
10232
10475
  "properties": {
10233
- "weekStartAt": {
10476
+ "property": {
10234
10477
  "type": "string",
10235
- "format": "date-time",
10236
- "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)))$"
10478
+ "minLength": 1,
10479
+ "maxLength": 191
10237
10480
  },
10238
- "coverage": {
10481
+ "operator": {
10239
10482
  "type": "string",
10240
- "const": "unavailable"
10483
+ "const": "exists"
10241
10484
  }
10242
10485
  },
10243
10486
  "required": [
10244
- "weekStartAt",
10245
- "coverage"
10487
+ "property",
10488
+ "operator"
10246
10489
  ],
10247
10490
  "additionalProperties": false
10248
10491
  }
@@ -10251,120 +10494,2320 @@ var publicToolContracts = {
10251
10494
  }
10252
10495
  },
10253
10496
  "required": [
10254
- "window",
10255
- "coverage",
10256
- "eventCount",
10257
- "activeDays",
10258
- "activeWeeks",
10259
- "firstObservedAt",
10260
- "lastObservedAt"
10497
+ "eventName",
10498
+ "propertyFilters"
10261
10499
  ],
10262
10500
  "additionalProperties": false
10263
10501
  },
10502
+ "evidence": {
10503
+ "oneOf": [
10504
+ {
10505
+ "type": "object",
10506
+ "properties": {
10507
+ "window": {
10508
+ "type": "object",
10509
+ "properties": {
10510
+ "startAt": {
10511
+ "type": "string",
10512
+ "format": "date-time",
10513
+ "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)))$"
10514
+ },
10515
+ "endAt": {
10516
+ "type": "string",
10517
+ "format": "date-time",
10518
+ "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)))$"
10519
+ }
10520
+ },
10521
+ "required": [
10522
+ "startAt",
10523
+ "endAt"
10524
+ ],
10525
+ "additionalProperties": false
10526
+ },
10527
+ "coverage": {
10528
+ "type": "string",
10529
+ "enum": [
10530
+ "complete",
10531
+ "partial"
10532
+ ]
10533
+ },
10534
+ "eventCount": {
10535
+ "type": "integer",
10536
+ "minimum": 0,
10537
+ "maximum": 9007199254740991
10538
+ },
10539
+ "activeDays": {
10540
+ "type": "integer",
10541
+ "minimum": 0,
10542
+ "maximum": 9007199254740991
10543
+ },
10544
+ "activeWeeks": {
10545
+ "type": "integer",
10546
+ "minimum": 0,
10547
+ "maximum": 53
10548
+ },
10549
+ "firstObservedAt": {
10550
+ "anyOf": [
10551
+ {
10552
+ "type": "string",
10553
+ "format": "date-time",
10554
+ "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)))$"
10555
+ },
10556
+ {
10557
+ "type": "null"
10558
+ }
10559
+ ]
10560
+ },
10561
+ "lastObservedAt": {
10562
+ "anyOf": [
10563
+ {
10564
+ "type": "string",
10565
+ "format": "date-time",
10566
+ "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)))$"
10567
+ },
10568
+ {
10569
+ "type": "null"
10570
+ }
10571
+ ]
10572
+ },
10573
+ "weeklyUsage": {
10574
+ "maxItems": 53,
10575
+ "type": "array",
10576
+ "items": {
10577
+ "oneOf": [
10578
+ {
10579
+ "type": "object",
10580
+ "properties": {
10581
+ "weekStartAt": {
10582
+ "type": "string",
10583
+ "format": "date-time",
10584
+ "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)))$"
10585
+ },
10586
+ "coverage": {
10587
+ "type": "string",
10588
+ "enum": [
10589
+ "complete",
10590
+ "partial"
10591
+ ]
10592
+ },
10593
+ "eventCount": {
10594
+ "type": "integer",
10595
+ "minimum": 0,
10596
+ "maximum": 9007199254740991
10597
+ },
10598
+ "activeDays": {
10599
+ "type": "integer",
10600
+ "minimum": 0,
10601
+ "maximum": 7
10602
+ }
10603
+ },
10604
+ "required": [
10605
+ "weekStartAt",
10606
+ "coverage",
10607
+ "eventCount",
10608
+ "activeDays"
10609
+ ],
10610
+ "additionalProperties": false
10611
+ },
10612
+ {
10613
+ "type": "object",
10614
+ "properties": {
10615
+ "weekStartAt": {
10616
+ "type": "string",
10617
+ "format": "date-time",
10618
+ "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)))$"
10619
+ },
10620
+ "coverage": {
10621
+ "type": "string",
10622
+ "const": "unavailable"
10623
+ }
10624
+ },
10625
+ "required": [
10626
+ "weekStartAt",
10627
+ "coverage"
10628
+ ],
10629
+ "additionalProperties": false
10630
+ }
10631
+ ]
10632
+ }
10633
+ }
10634
+ },
10635
+ "required": [
10636
+ "window",
10637
+ "coverage",
10638
+ "eventCount",
10639
+ "activeDays",
10640
+ "activeWeeks",
10641
+ "firstObservedAt",
10642
+ "lastObservedAt"
10643
+ ],
10644
+ "additionalProperties": false
10645
+ },
10646
+ {
10647
+ "type": "object",
10648
+ "properties": {
10649
+ "window": {
10650
+ "type": "object",
10651
+ "properties": {
10652
+ "startAt": {
10653
+ "type": "string",
10654
+ "format": "date-time",
10655
+ "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)))$"
10656
+ },
10657
+ "endAt": {
10658
+ "type": "string",
10659
+ "format": "date-time",
10660
+ "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)))$"
10661
+ }
10662
+ },
10663
+ "required": [
10664
+ "startAt",
10665
+ "endAt"
10666
+ ],
10667
+ "additionalProperties": false
10668
+ },
10669
+ "coverage": {
10670
+ "type": "string",
10671
+ "const": "unavailable"
10672
+ },
10673
+ "reason": {
10674
+ "type": "string",
10675
+ "enum": [
10676
+ "SOURCE_BLOCKED",
10677
+ "SOURCE_NOT_READY",
10678
+ "QUERY_FAILED"
10679
+ ]
10680
+ }
10681
+ },
10682
+ "required": [
10683
+ "window",
10684
+ "coverage",
10685
+ "reason"
10686
+ ],
10687
+ "additionalProperties": false
10688
+ }
10689
+ ]
10690
+ }
10691
+ },
10692
+ "required": [
10693
+ "id",
10694
+ "revision",
10695
+ "kind",
10696
+ "sourceKey",
10697
+ "source",
10698
+ "featureKey",
10699
+ "name",
10700
+ "rule",
10701
+ "evidence"
10702
+ ],
10703
+ "additionalProperties": false
10704
+ },
10705
+ {
10706
+ "type": "object",
10707
+ "properties": {
10708
+ "kind": {
10709
+ "type": "string",
10710
+ "const": "metered"
10711
+ },
10712
+ "id": {
10713
+ "type": "string",
10714
+ "minLength": 1,
10715
+ "maxLength": 2048
10716
+ },
10717
+ "name": {
10718
+ "type": "string",
10719
+ "minLength": 1,
10720
+ "maxLength": 2048
10721
+ },
10722
+ "source": {
10723
+ "type": "object",
10724
+ "properties": {
10725
+ "provider": {
10726
+ "type": "string",
10727
+ "const": "autumn"
10728
+ },
10729
+ "connection": {
10730
+ "anyOf": [
10731
+ {
10732
+ "type": "string"
10733
+ },
10734
+ {
10735
+ "type": "null"
10736
+ }
10737
+ ]
10738
+ },
10739
+ "account": {
10740
+ "type": "string"
10741
+ },
10742
+ "environment": {
10743
+ "type": "string",
10744
+ "enum": [
10745
+ "sandbox",
10746
+ "live"
10747
+ ]
10748
+ },
10749
+ "observed": {
10750
+ "type": "string",
10751
+ "format": "date-time",
10752
+ "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)))$"
10753
+ },
10754
+ "stale": {
10755
+ "type": "boolean"
10756
+ }
10757
+ },
10758
+ "required": [
10759
+ "provider",
10760
+ "connection",
10761
+ "account",
10762
+ "environment",
10763
+ "observed",
10764
+ "stale"
10765
+ ],
10766
+ "additionalProperties": false
10767
+ },
10768
+ "unit": {
10769
+ "type": "string",
10770
+ "const": "provider_defined",
10771
+ "description": "This feature's own units; never sum across features or with linked event counts."
10772
+ },
10773
+ "reported": {
10774
+ "anyOf": [
10775
+ {
10776
+ "type": "number"
10777
+ },
10778
+ {
10779
+ "type": "null"
10780
+ }
10781
+ ],
10782
+ "description": "Provider-reported balance usage, independent of the requested history window."
10783
+ },
10784
+ "links": {
10785
+ "type": "array",
10786
+ "items": {
10787
+ "type": "object",
10788
+ "properties": {
10789
+ "id": {
10790
+ "type": "string",
10791
+ "pattern": "^value_feature_v1_[a-f0-9]{32}$"
10792
+ },
10793
+ "source": {
10794
+ "type": "string",
10795
+ "pattern": "^metric_source_v1_[a-f0-9]{32}$"
10796
+ },
10797
+ "feature": {
10798
+ "anyOf": [
10799
+ {
10800
+ "type": "object",
10801
+ "properties": {
10802
+ "id": {
10803
+ "type": "string",
10804
+ "pattern": "^value_feature_v1_[a-f0-9]{32}$"
10805
+ },
10806
+ "revision": {
10807
+ "type": "string",
10808
+ "pattern": "^value_feature_revision_v1_[a-f0-9]{32}$"
10809
+ },
10810
+ "kind": {
10811
+ "type": "string",
10812
+ "const": "event"
10813
+ },
10814
+ "sourceKey": {
10815
+ "type": "string",
10816
+ "pattern": "^metric_source_v1_[a-f0-9]{32}$"
10817
+ },
10818
+ "source": {
10819
+ "type": "object",
10820
+ "properties": {
10821
+ "provider": {
10822
+ "type": "string",
10823
+ "enum": [
10824
+ "outlit_sdk",
10825
+ "posthog",
10826
+ "mixpanel"
10827
+ ]
10828
+ },
10829
+ "connection": {
10830
+ "anyOf": [
10831
+ {
10832
+ "type": "string"
10833
+ },
10834
+ {
10835
+ "type": "null"
10836
+ }
10837
+ ]
10838
+ },
10839
+ "scope": {
10840
+ "type": "string"
10841
+ },
10842
+ "label": {
10843
+ "anyOf": [
10844
+ {
10845
+ "type": "string"
10846
+ },
10847
+ {
10848
+ "type": "null"
10849
+ }
10850
+ ]
10851
+ }
10852
+ },
10853
+ "required": [
10854
+ "provider",
10855
+ "connection",
10856
+ "scope",
10857
+ "label"
10858
+ ],
10859
+ "additionalProperties": false
10860
+ },
10861
+ "featureKey": {
10862
+ "type": "string",
10863
+ "maxLength": 64,
10864
+ "pattern": "^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$"
10865
+ },
10866
+ "name": {
10867
+ "type": "string",
10868
+ "minLength": 1,
10869
+ "maxLength": 255
10870
+ },
10871
+ "rule": {
10872
+ "type": "object",
10873
+ "properties": {
10874
+ "eventName": {
10875
+ "type": "string",
10876
+ "minLength": 1,
10877
+ "maxLength": 191
10878
+ },
10879
+ "propertyFilters": {
10880
+ "maxItems": 5,
10881
+ "type": "array",
10882
+ "items": {
10883
+ "oneOf": [
10884
+ {
10885
+ "type": "object",
10886
+ "properties": {
10887
+ "property": {
10888
+ "type": "string",
10889
+ "minLength": 1,
10890
+ "maxLength": 191
10891
+ },
10892
+ "operator": {
10893
+ "type": "string",
10894
+ "const": "equals"
10895
+ },
10896
+ "value": {
10897
+ "oneOf": [
10898
+ {
10899
+ "type": "object",
10900
+ "properties": {
10901
+ "type": {
10902
+ "type": "string",
10903
+ "const": "string"
10904
+ },
10905
+ "value": {
10906
+ "type": "string",
10907
+ "maxLength": 191
10908
+ }
10909
+ },
10910
+ "required": [
10911
+ "type",
10912
+ "value"
10913
+ ],
10914
+ "additionalProperties": false
10915
+ },
10916
+ {
10917
+ "type": "object",
10918
+ "properties": {
10919
+ "type": {
10920
+ "type": "string",
10921
+ "const": "number"
10922
+ },
10923
+ "value": {
10924
+ "type": "number",
10925
+ "minimum": -9007199254740991,
10926
+ "maximum": 9007199254740991
10927
+ }
10928
+ },
10929
+ "required": [
10930
+ "type",
10931
+ "value"
10932
+ ],
10933
+ "additionalProperties": false
10934
+ },
10935
+ {
10936
+ "type": "object",
10937
+ "properties": {
10938
+ "type": {
10939
+ "type": "string",
10940
+ "const": "boolean"
10941
+ },
10942
+ "value": {
10943
+ "type": "boolean"
10944
+ }
10945
+ },
10946
+ "required": [
10947
+ "type",
10948
+ "value"
10949
+ ],
10950
+ "additionalProperties": false
10951
+ }
10952
+ ]
10953
+ }
10954
+ },
10955
+ "required": [
10956
+ "property",
10957
+ "operator",
10958
+ "value"
10959
+ ],
10960
+ "additionalProperties": false
10961
+ },
10962
+ {
10963
+ "type": "object",
10964
+ "properties": {
10965
+ "property": {
10966
+ "type": "string",
10967
+ "minLength": 1,
10968
+ "maxLength": 191
10969
+ },
10970
+ "operator": {
10971
+ "type": "string",
10972
+ "const": "exists"
10973
+ }
10974
+ },
10975
+ "required": [
10976
+ "property",
10977
+ "operator"
10978
+ ],
10979
+ "additionalProperties": false
10980
+ }
10981
+ ]
10982
+ }
10983
+ }
10984
+ },
10985
+ "required": [
10986
+ "eventName",
10987
+ "propertyFilters"
10988
+ ],
10989
+ "additionalProperties": false
10990
+ },
10991
+ "evidence": {
10992
+ "oneOf": [
10993
+ {
10994
+ "type": "object",
10995
+ "properties": {
10996
+ "window": {
10997
+ "type": "object",
10998
+ "properties": {
10999
+ "startAt": {
11000
+ "type": "string",
11001
+ "format": "date-time",
11002
+ "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)))$"
11003
+ },
11004
+ "endAt": {
11005
+ "type": "string",
11006
+ "format": "date-time",
11007
+ "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)))$"
11008
+ }
11009
+ },
11010
+ "required": [
11011
+ "startAt",
11012
+ "endAt"
11013
+ ],
11014
+ "additionalProperties": false
11015
+ },
11016
+ "coverage": {
11017
+ "type": "string",
11018
+ "enum": [
11019
+ "complete",
11020
+ "partial"
11021
+ ]
11022
+ },
11023
+ "eventCount": {
11024
+ "type": "integer",
11025
+ "minimum": 0,
11026
+ "maximum": 9007199254740991
11027
+ },
11028
+ "activeDays": {
11029
+ "type": "integer",
11030
+ "minimum": 0,
11031
+ "maximum": 9007199254740991
11032
+ },
11033
+ "activeWeeks": {
11034
+ "type": "integer",
11035
+ "minimum": 0,
11036
+ "maximum": 53
11037
+ },
11038
+ "firstObservedAt": {
11039
+ "anyOf": [
11040
+ {
11041
+ "type": "string",
11042
+ "format": "date-time",
11043
+ "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)))$"
11044
+ },
11045
+ {
11046
+ "type": "null"
11047
+ }
11048
+ ]
11049
+ },
11050
+ "lastObservedAt": {
11051
+ "anyOf": [
11052
+ {
11053
+ "type": "string",
11054
+ "format": "date-time",
11055
+ "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)))$"
11056
+ },
11057
+ {
11058
+ "type": "null"
11059
+ }
11060
+ ]
11061
+ },
11062
+ "weeklyUsage": {
11063
+ "maxItems": 53,
11064
+ "type": "array",
11065
+ "items": {
11066
+ "oneOf": [
11067
+ {
11068
+ "type": "object",
11069
+ "properties": {
11070
+ "weekStartAt": {
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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
11074
+ },
11075
+ "coverage": {
11076
+ "type": "string",
11077
+ "enum": [
11078
+ "complete",
11079
+ "partial"
11080
+ ]
11081
+ },
11082
+ "eventCount": {
11083
+ "type": "integer",
11084
+ "minimum": 0,
11085
+ "maximum": 9007199254740991
11086
+ },
11087
+ "activeDays": {
11088
+ "type": "integer",
11089
+ "minimum": 0,
11090
+ "maximum": 7
11091
+ }
11092
+ },
11093
+ "required": [
11094
+ "weekStartAt",
11095
+ "coverage",
11096
+ "eventCount",
11097
+ "activeDays"
11098
+ ],
11099
+ "additionalProperties": false
11100
+ },
11101
+ {
11102
+ "type": "object",
11103
+ "properties": {
11104
+ "weekStartAt": {
11105
+ "type": "string",
11106
+ "format": "date-time",
11107
+ "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)))$"
11108
+ },
11109
+ "coverage": {
11110
+ "type": "string",
11111
+ "const": "unavailable"
11112
+ }
11113
+ },
11114
+ "required": [
11115
+ "weekStartAt",
11116
+ "coverage"
11117
+ ],
11118
+ "additionalProperties": false
11119
+ }
11120
+ ]
11121
+ }
11122
+ }
11123
+ },
11124
+ "required": [
11125
+ "window",
11126
+ "coverage",
11127
+ "eventCount",
11128
+ "activeDays",
11129
+ "activeWeeks",
11130
+ "firstObservedAt",
11131
+ "lastObservedAt"
11132
+ ],
11133
+ "additionalProperties": false
11134
+ },
11135
+ {
11136
+ "type": "object",
11137
+ "properties": {
11138
+ "window": {
11139
+ "type": "object",
11140
+ "properties": {
11141
+ "startAt": {
11142
+ "type": "string",
11143
+ "format": "date-time",
11144
+ "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)))$"
11145
+ },
11146
+ "endAt": {
11147
+ "type": "string",
11148
+ "format": "date-time",
11149
+ "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)))$"
11150
+ }
11151
+ },
11152
+ "required": [
11153
+ "startAt",
11154
+ "endAt"
11155
+ ],
11156
+ "additionalProperties": false
11157
+ },
11158
+ "coverage": {
11159
+ "type": "string",
11160
+ "const": "unavailable"
11161
+ },
11162
+ "reason": {
11163
+ "type": "string",
11164
+ "enum": [
11165
+ "SOURCE_BLOCKED",
11166
+ "SOURCE_NOT_READY",
11167
+ "QUERY_FAILED"
11168
+ ]
11169
+ }
11170
+ },
11171
+ "required": [
11172
+ "window",
11173
+ "coverage",
11174
+ "reason"
11175
+ ],
11176
+ "additionalProperties": false
11177
+ }
11178
+ ]
11179
+ }
11180
+ },
11181
+ "required": [
11182
+ "id",
11183
+ "revision",
11184
+ "kind",
11185
+ "sourceKey",
11186
+ "source",
11187
+ "featureKey",
11188
+ "name",
11189
+ "rule",
11190
+ "evidence"
11191
+ ],
11192
+ "additionalProperties": false
11193
+ },
11194
+ {
11195
+ "type": "null"
11196
+ }
11197
+ ],
11198
+ "description": "Linked Outlit definition and event evidence, or null when unavailable. Never added to provider quantities."
11199
+ }
11200
+ },
11201
+ "required": [
11202
+ "id",
11203
+ "source",
11204
+ "feature"
11205
+ ],
11206
+ "additionalProperties": false
11207
+ }
11208
+ },
11209
+ "evidence": {
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
+ "enum": [
11235
+ "complete",
11236
+ "partial",
11237
+ "unavailable"
11238
+ ]
11239
+ },
11240
+ "quantity": {
11241
+ "anyOf": [
11242
+ {
11243
+ "type": "number",
11244
+ "minimum": 0
11245
+ },
11246
+ {
11247
+ "type": "null"
11248
+ }
11249
+ ]
11250
+ },
11251
+ "days": {
11252
+ "anyOf": [
11253
+ {
11254
+ "type": "integer",
11255
+ "minimum": 0,
11256
+ "maximum": 9007199254740991
11257
+ },
11258
+ {
11259
+ "type": "null"
11260
+ }
11261
+ ]
11262
+ },
11263
+ "weeks": {
11264
+ "anyOf": [
11265
+ {
11266
+ "type": "integer",
11267
+ "minimum": 0,
11268
+ "maximum": 9007199254740991
11269
+ },
11270
+ {
11271
+ "type": "null"
11272
+ }
11273
+ ]
11274
+ },
11275
+ "first": {
11276
+ "anyOf": [
11277
+ {
11278
+ "type": "string",
11279
+ "format": "date-time",
11280
+ "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)))$"
11281
+ },
11282
+ {
11283
+ "type": "null"
11284
+ }
11285
+ ],
11286
+ "description": "First positive daily observation in the requested window, at UTC day precision."
11287
+ },
11288
+ "last": {
11289
+ "anyOf": [
11290
+ {
11291
+ "type": "string",
11292
+ "format": "date-time",
11293
+ "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)))$"
11294
+ },
11295
+ {
11296
+ "type": "null"
11297
+ }
11298
+ ],
11299
+ "description": "Latest positive daily observation in the requested window, at UTC day precision."
11300
+ },
11301
+ "weekly": {
11302
+ "maxItems": 53,
11303
+ "type": "array",
11304
+ "items": {
11305
+ "oneOf": [
11306
+ {
11307
+ "type": "object",
11308
+ "properties": {
11309
+ "start": {
11310
+ "type": "string",
11311
+ "format": "date-time",
11312
+ "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)))$"
11313
+ },
11314
+ "coverage": {
11315
+ "type": "string",
11316
+ "enum": [
11317
+ "complete",
11318
+ "partial"
11319
+ ]
11320
+ },
11321
+ "quantity": {
11322
+ "type": "number",
11323
+ "minimum": 0
11324
+ },
11325
+ "days": {
11326
+ "type": "integer",
11327
+ "minimum": 0,
11328
+ "maximum": 7
11329
+ }
11330
+ },
11331
+ "required": [
11332
+ "start",
11333
+ "coverage",
11334
+ "quantity",
11335
+ "days"
11336
+ ],
11337
+ "additionalProperties": false
11338
+ },
11339
+ {
11340
+ "type": "object",
11341
+ "properties": {
11342
+ "start": {
11343
+ "type": "string",
11344
+ "format": "date-time",
11345
+ "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)))$"
11346
+ },
11347
+ "coverage": {
11348
+ "type": "string",
11349
+ "const": "unavailable"
11350
+ }
11351
+ },
11352
+ "required": [
11353
+ "start",
11354
+ "coverage"
11355
+ ],
11356
+ "additionalProperties": false
11357
+ }
11358
+ ]
11359
+ }
11360
+ }
11361
+ },
11362
+ "required": [
11363
+ "window",
11364
+ "coverage",
11365
+ "quantity",
11366
+ "days",
11367
+ "weeks",
11368
+ "first",
11369
+ "last"
11370
+ ],
11371
+ "additionalProperties": false
11372
+ }
11373
+ },
11374
+ "required": [
11375
+ "kind",
11376
+ "id",
11377
+ "name",
11378
+ "source",
11379
+ "unit",
11380
+ "reported",
11381
+ "links",
11382
+ "evidence"
11383
+ ],
11384
+ "additionalProperties": false
11385
+ }
11386
+ ]
11387
+ }
11388
+ },
11389
+ "sources": {
11390
+ "type": "array",
11391
+ "items": {
11392
+ "type": "object",
11393
+ "properties": {
11394
+ "provider": {
11395
+ "type": "string",
11396
+ "const": "autumn"
11397
+ },
11398
+ "status": {
11399
+ "type": "string",
11400
+ "enum": [
11401
+ "not_connected",
11402
+ "unavailable",
11403
+ "no_match",
11404
+ "available"
11405
+ ]
11406
+ },
11407
+ "truncated": {
11408
+ "type": "boolean"
11409
+ }
11410
+ },
11411
+ "required": [
11412
+ "provider",
11413
+ "status",
11414
+ "truncated"
11415
+ ],
11416
+ "additionalProperties": false
11417
+ }
11418
+ }
11419
+ },
11420
+ "required": [
11421
+ "customer",
11422
+ "events",
11423
+ "features",
11424
+ "sources"
11425
+ ],
11426
+ "additionalProperties": false
11427
+ }
11428
+ },
11429
+ "outlit_get_customer_credits": {
11430
+ "toolName": "outlit_get_customer_credits",
11431
+ "commandId": "customer.credits.get",
11432
+ "commandVersion": 1,
11433
+ "ownerDomain": "customers",
11434
+ "title": "Get Customer Credits",
11435
+ "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.",
11436
+ "inputSchema": {
11437
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
11438
+ "type": "object",
11439
+ "properties": {
11440
+ "customer": {
11441
+ "type": "string",
11442
+ "minLength": 1,
11443
+ "maxLength": 500,
11444
+ "description": "Customer ID, domain, or exact name"
11445
+ }
11446
+ },
11447
+ "required": [
11448
+ "customer"
11449
+ ],
11450
+ "additionalProperties": false
11451
+ },
11452
+ "outputSchema": {
11453
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
11454
+ "type": "object",
11455
+ "properties": {
11456
+ "customer": {
11457
+ "type": "object",
11458
+ "properties": {
11459
+ "id": {
11460
+ "type": "string",
11461
+ "minLength": 1
11462
+ },
11463
+ "name": {
11464
+ "type": "string",
11465
+ "minLength": 1
11466
+ }
11467
+ },
11468
+ "required": [
11469
+ "id",
11470
+ "name"
11471
+ ],
11472
+ "additionalProperties": false
11473
+ },
11474
+ "status": {
11475
+ "type": "string",
11476
+ "enum": [
11477
+ "not_connected",
11478
+ "unavailable",
11479
+ "no_match",
11480
+ "available"
11481
+ ]
11482
+ },
11483
+ "credits": {
11484
+ "maxItems": 4e3,
11485
+ "type": "array",
11486
+ "items": {
11487
+ "type": "object",
11488
+ "properties": {
11489
+ "id": {
11490
+ "type": "string",
11491
+ "minLength": 1
11492
+ },
11493
+ "name": {
11494
+ "anyOf": [
11495
+ {
11496
+ "type": "string"
11497
+ },
11498
+ {
11499
+ "type": "null"
11500
+ }
11501
+ ]
11502
+ },
11503
+ "source": {
11504
+ "type": "object",
11505
+ "properties": {
11506
+ "provider": {
11507
+ "type": "string",
11508
+ "const": "autumn"
11509
+ },
11510
+ "connection": {
11511
+ "type": "string",
11512
+ "minLength": 1
11513
+ },
11514
+ "account": {
11515
+ "type": "string",
11516
+ "minLength": 1
11517
+ },
11518
+ "environment": {
11519
+ "type": "string",
11520
+ "enum": [
11521
+ "sandbox",
11522
+ "live"
11523
+ ]
11524
+ }
11525
+ },
11526
+ "required": [
11527
+ "provider",
11528
+ "connection",
11529
+ "account",
11530
+ "environment"
11531
+ ],
11532
+ "additionalProperties": false
11533
+ },
11534
+ "observed": {
11535
+ "type": "string",
11536
+ "format": "date-time",
11537
+ "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)))$"
11538
+ },
11539
+ "stale": {
11540
+ "type": "boolean"
11541
+ },
11542
+ "scope": {
11543
+ "type": "string",
11544
+ "const": "customer",
11545
+ "description": "Customer-level pool; excludes entity balances."
11546
+ },
11547
+ "granted": {
11548
+ "anyOf": [
11549
+ {
11550
+ "type": "number"
11551
+ },
11552
+ {
11553
+ "type": "null"
11554
+ }
11555
+ ]
11556
+ },
11557
+ "remaining": {
11558
+ "anyOf": [
11559
+ {
11560
+ "type": "number"
11561
+ },
11562
+ {
11563
+ "type": "null"
11564
+ }
11565
+ ]
11566
+ },
11567
+ "unlimited": {
11568
+ "type": "boolean"
11569
+ },
11570
+ "overage": {
11571
+ "type": "boolean"
11572
+ },
11573
+ "reset": {
11574
+ "anyOf": [
11575
+ {
11576
+ "type": "string",
11577
+ "format": "date-time",
11578
+ "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)))$"
11579
+ },
11580
+ {
11581
+ "type": "null"
11582
+ }
11583
+ ]
11584
+ },
11585
+ "burn": {
11586
+ "type": "object",
11587
+ "properties": {
11588
+ "rate": {
11589
+ "anyOf": [
11590
+ {
11591
+ "type": "number",
11592
+ "minimum": 0
11593
+ },
11594
+ {
11595
+ "type": "null"
11596
+ }
11597
+ ],
11598
+ "description": "Average daily usage over the last seven complete UTC days. See scope before interpreting this as pool deductions."
11599
+ },
11600
+ "scope": {
11601
+ "type": "string",
11602
+ "enum": [
11603
+ "customer_balance",
11604
+ "account"
11605
+ ]
11606
+ },
11607
+ "change": {
11608
+ "anyOf": [
11609
+ {
11610
+ "type": "number"
11611
+ },
11612
+ {
11613
+ "type": "null"
11614
+ }
11615
+ ],
11616
+ "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."
11617
+ },
11618
+ "days": {
11619
+ "anyOf": [
11620
+ {
11621
+ "type": "number",
11622
+ "minimum": 0
11623
+ },
11624
+ {
11625
+ "type": "null"
11626
+ }
11627
+ ],
11628
+ "description": "Estimated days until exhaustion. Null when an estimate is unavailable or the allowance resets first."
11629
+ },
11630
+ "depletion": {
11631
+ "anyOf": [
11632
+ {
11633
+ "type": "string",
11634
+ "format": "date-time",
11635
+ "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)))$"
11636
+ },
11637
+ {
11638
+ "type": "null"
11639
+ }
11640
+ ]
11641
+ },
11642
+ "status": {
11643
+ "type": "string",
11644
+ "enum": [
11645
+ "available",
11646
+ "stale",
11647
+ "incomplete",
11648
+ "unknown_scope",
11649
+ "no_usage",
11650
+ "unlimited",
11651
+ "reset_due",
11652
+ "exhausted",
11653
+ "beyond_range",
11654
+ "through_reset"
11655
+ ]
11656
+ },
11657
+ "window": {
11658
+ "type": "object",
11659
+ "properties": {
11660
+ "start": {
11661
+ "anyOf": [
11662
+ {
11663
+ "type": "string",
11664
+ "format": "date",
11665
+ "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])))$"
11666
+ },
11667
+ {
11668
+ "type": "null"
11669
+ }
11670
+ ]
11671
+ },
11672
+ "end": {
11673
+ "anyOf": [
11674
+ {
11675
+ "type": "string",
11676
+ "format": "date",
11677
+ "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])))$"
11678
+ },
11679
+ {
11680
+ "type": "null"
11681
+ }
11682
+ ]
11683
+ }
11684
+ },
11685
+ "required": [
11686
+ "start",
11687
+ "end"
11688
+ ],
11689
+ "additionalProperties": false,
11690
+ "description": "UTC dates for the seven-day rate window; end is exclusive."
11691
+ },
11692
+ "trend": {
11693
+ "maxItems": 14,
11694
+ "type": "array",
11695
+ "items": {
11696
+ "type": "object",
11697
+ "properties": {
11698
+ "date": {
11699
+ "type": "string",
11700
+ "format": "date",
11701
+ "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])))$"
11702
+ },
11703
+ "usage": {
11704
+ "anyOf": [
11705
+ {
11706
+ "type": "number",
11707
+ "minimum": 0
11708
+ },
11709
+ {
11710
+ "type": "null"
11711
+ }
11712
+ ]
11713
+ },
11714
+ "rate": {
11715
+ "anyOf": [
11716
+ {
11717
+ "type": "number",
11718
+ "minimum": 0
11719
+ },
11720
+ {
11721
+ "type": "null"
11722
+ }
11723
+ ]
11724
+ }
11725
+ },
11726
+ "required": [
11727
+ "date",
11728
+ "usage",
11729
+ "rate"
11730
+ ],
11731
+ "additionalProperties": false
11732
+ },
11733
+ "description": "Daily customer-balance deductions and seven-day rolling rates. Missing observations remain null."
11734
+ }
11735
+ },
11736
+ "required": [
11737
+ "rate",
11738
+ "scope",
11739
+ "change",
11740
+ "days",
11741
+ "depletion",
11742
+ "status",
11743
+ "window",
11744
+ "trend"
11745
+ ],
11746
+ "additionalProperties": false
11747
+ },
11748
+ "signalKind": {
11749
+ "type": "string",
11750
+ "enum": [
11751
+ "expansion_risk",
11752
+ "trial_conversion",
11753
+ "none",
11754
+ "unknown_plan"
11755
+ ],
11756
+ "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."
11757
+ },
11758
+ "configurationNotes": {
11759
+ "maxItems": 20,
11760
+ "type": "array",
11761
+ "items": {
11762
+ "type": "string",
11763
+ "maxLength": 500
11764
+ }
11765
+ }
11766
+ },
11767
+ "required": [
11768
+ "id",
11769
+ "name",
11770
+ "source",
11771
+ "observed",
11772
+ "stale",
11773
+ "scope",
11774
+ "granted",
11775
+ "remaining",
11776
+ "unlimited",
11777
+ "overage",
11778
+ "reset",
11779
+ "burn"
11780
+ ],
11781
+ "additionalProperties": false
11782
+ }
11783
+ },
11784
+ "truncated": {
11785
+ "type": "boolean"
11786
+ }
11787
+ },
11788
+ "required": [
11789
+ "customer",
11790
+ "status",
11791
+ "credits",
11792
+ "truncated"
11793
+ ],
11794
+ "additionalProperties": false,
11795
+ "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."
11796
+ }
11797
+ },
11798
+ "outlit_list_attention_items": {
11799
+ "toolName": "outlit_list_attention_items",
11800
+ "commandId": "attention.list",
11801
+ "commandVersion": 1,
11802
+ "ownerDomain": "attention",
11803
+ "title": "List Attention Items",
11804
+ "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.",
11805
+ "inputSchema": {
11806
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
11807
+ "type": "object",
11808
+ "properties": {
11809
+ "status": {
11810
+ "description": "Attention lifecycle to list (default: open)",
11811
+ "default": "open",
11812
+ "type": "string",
11813
+ "enum": [
11814
+ "open",
11815
+ "resolved"
11816
+ ]
11817
+ },
11818
+ "customerId": {
11819
+ "description": "Filter by exact customer ID",
11820
+ "type": "string",
11821
+ "format": "uuid",
11822
+ "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)$"
11823
+ },
11824
+ "limit": {
11825
+ "description": "Results per page (default: 25, max: 100)",
11826
+ "default": 25,
11827
+ "type": "integer",
11828
+ "minimum": 1,
11829
+ "maximum": 100
11830
+ },
11831
+ "cursor": {
11832
+ "description": "Opaque cursor from a previous response with the same filters",
11833
+ "type": "string",
11834
+ "minLength": 1,
11835
+ "maxLength": 2e3
11836
+ }
11837
+ },
11838
+ "additionalProperties": false
11839
+ },
11840
+ "outputSchema": {
11841
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
11842
+ "type": "object",
11843
+ "properties": {
11844
+ "items": {
11845
+ "maxItems": 100,
11846
+ "type": "array",
11847
+ "items": {
11848
+ "type": "object",
11849
+ "properties": {
11850
+ "id": {
11851
+ "type": "string",
11852
+ "minLength": 1,
11853
+ "maxLength": 500
11854
+ },
11855
+ "customer": {
11856
+ "type": "object",
11857
+ "properties": {
11858
+ "id": {
11859
+ "type": "string",
11860
+ "minLength": 1,
11861
+ "maxLength": 500
11862
+ },
11863
+ "name": {
11864
+ "type": "string",
11865
+ "minLength": 1,
11866
+ "maxLength": 500
11867
+ },
11868
+ "domain": {
11869
+ "type": "string",
11870
+ "maxLength": 253
11871
+ },
11872
+ "ownerName": {
11873
+ "anyOf": [
11874
+ {
11875
+ "type": "string",
11876
+ "minLength": 1,
11877
+ "maxLength": 500
11878
+ },
11879
+ {
11880
+ "type": "null"
11881
+ }
11882
+ ]
11883
+ }
11884
+ },
11885
+ "required": [
11886
+ "id",
11887
+ "name",
11888
+ "domain",
11889
+ "ownerName"
11890
+ ],
11891
+ "additionalProperties": false
11892
+ },
11893
+ "title": {
11894
+ "type": "string",
11895
+ "minLength": 1,
11896
+ "maxLength": 240
11897
+ },
11898
+ "priority": {
11899
+ "type": "string",
11900
+ "enum": [
11901
+ "NORMAL",
11902
+ "HIGH",
11903
+ "URGENT"
11904
+ ]
11905
+ },
11906
+ "evidenceCount": {
11907
+ "type": "integer",
11908
+ "minimum": 0,
11909
+ "maximum": 50
11910
+ },
11911
+ "lifecycle": {
11912
+ "type": "object",
11913
+ "properties": {
11914
+ "status": {
11915
+ "type": "string",
11916
+ "enum": [
11917
+ "open",
11918
+ "resolved"
11919
+ ]
11920
+ },
11921
+ "customerVisibleAt": {
11922
+ "type": "string",
11923
+ "format": "date-time",
11924
+ "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))$"
11925
+ },
11926
+ "resolvedAt": {
11927
+ "anyOf": [
11928
+ {
11929
+ "type": "string",
11930
+ "format": "date-time",
11931
+ "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))$"
11932
+ },
11933
+ {
11934
+ "type": "null"
11935
+ }
11936
+ ]
11937
+ },
11938
+ "reopenedAt": {
11939
+ "anyOf": [
11940
+ {
11941
+ "type": "string",
11942
+ "format": "date-time",
11943
+ "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))$"
11944
+ },
11945
+ {
11946
+ "type": "null"
11947
+ }
11948
+ ]
11949
+ },
11950
+ "createdAt": {
11951
+ "type": "string",
11952
+ "format": "date-time",
11953
+ "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))$"
11954
+ },
11955
+ "updatedAt": {
11956
+ "type": "string",
11957
+ "format": "date-time",
11958
+ "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))$"
11959
+ },
11960
+ "materialUpdateAt": {
11961
+ "anyOf": [
11962
+ {
11963
+ "type": "string",
11964
+ "format": "date-time",
11965
+ "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))$"
11966
+ },
11967
+ {
11968
+ "type": "null"
11969
+ }
11970
+ ]
11971
+ }
11972
+ },
11973
+ "required": [
11974
+ "status",
11975
+ "customerVisibleAt",
11976
+ "resolvedAt",
11977
+ "reopenedAt",
11978
+ "createdAt",
11979
+ "updatedAt",
11980
+ "materialUpdateAt"
11981
+ ],
11982
+ "additionalProperties": false
11983
+ },
11984
+ "accountImportance": {
11985
+ "type": "object",
11986
+ "properties": {
11987
+ "arrCents": {
11988
+ "anyOf": [
11989
+ {
11990
+ "type": "number",
11991
+ "minimum": 0
11992
+ },
11993
+ {
11994
+ "type": "null"
11995
+ }
11996
+ ]
11997
+ },
11998
+ "currency": {
11999
+ "anyOf": [
12000
+ {
12001
+ "type": "string",
12002
+ "pattern": "^[A-Z]{3}$"
12003
+ },
12004
+ {
12005
+ "type": "null"
12006
+ }
12007
+ ]
12008
+ },
12009
+ "arrShareWithinCurrency": {
12010
+ "anyOf": [
12011
+ {
12012
+ "type": "number",
12013
+ "minimum": 0,
12014
+ "maximum": 1
12015
+ },
12016
+ {
12017
+ "type": "null"
12018
+ }
12019
+ ],
12020
+ "description": "Organization ARR share among customers using the same currency"
12021
+ },
12022
+ "arrPercentileWithinCurrency": {
12023
+ "anyOf": [
12024
+ {
12025
+ "type": "number",
12026
+ "minimum": 0,
12027
+ "maximum": 100
12028
+ },
12029
+ {
12030
+ "type": "null"
12031
+ }
12032
+ ],
12033
+ "description": "ARR percentile among customers using the same currency"
12034
+ },
12035
+ "segments": {
12036
+ "maxItems": 50,
12037
+ "type": "array",
12038
+ "items": {
12039
+ "type": "string",
12040
+ "minLength": 1,
12041
+ "maxLength": 240
12042
+ }
12043
+ }
12044
+ },
12045
+ "required": [
12046
+ "arrCents",
12047
+ "currency",
12048
+ "arrShareWithinCurrency",
12049
+ "arrPercentileWithinCurrency",
12050
+ "segments"
12051
+ ],
12052
+ "additionalProperties": false
12053
+ },
12054
+ "preparedActionUrl": {
12055
+ "anyOf": [
12056
+ {
12057
+ "type": "string",
12058
+ "maxLength": 2e3,
12059
+ "format": "uri"
12060
+ },
12061
+ {
12062
+ "type": "null"
12063
+ }
12064
+ ]
12065
+ }
12066
+ },
12067
+ "required": [
12068
+ "id",
12069
+ "customer",
12070
+ "title",
12071
+ "priority",
12072
+ "evidenceCount",
12073
+ "lifecycle",
12074
+ "accountImportance",
12075
+ "preparedActionUrl"
12076
+ ],
12077
+ "additionalProperties": false
12078
+ }
12079
+ },
12080
+ "pagination": {
12081
+ "type": "object",
12082
+ "properties": {
12083
+ "hasMore": {
12084
+ "type": "boolean"
12085
+ },
12086
+ "nextCursor": {
12087
+ "anyOf": [
12088
+ {
12089
+ "type": "string",
12090
+ "minLength": 1,
12091
+ "maxLength": 2e3
12092
+ },
12093
+ {
12094
+ "type": "null"
12095
+ }
12096
+ ]
12097
+ },
12098
+ "total": {
12099
+ "type": "integer",
12100
+ "minimum": 0,
12101
+ "maximum": 9007199254740991
12102
+ }
12103
+ },
12104
+ "required": [
12105
+ "hasMore",
12106
+ "nextCursor",
12107
+ "total"
12108
+ ],
12109
+ "additionalProperties": false
12110
+ }
12111
+ },
12112
+ "required": [
12113
+ "items",
12114
+ "pagination"
12115
+ ],
12116
+ "additionalProperties": false
12117
+ }
12118
+ },
12119
+ "outlit_get_attention_item": {
12120
+ "toolName": "outlit_get_attention_item",
12121
+ "commandId": "attention.get",
12122
+ "commandVersion": 1,
12123
+ "ownerDomain": "attention",
12124
+ "title": "Get Attention Item",
12125
+ "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.",
12126
+ "inputSchema": {
12127
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
12128
+ "type": "object",
12129
+ "properties": {
12130
+ "id": {
12131
+ "type": "string",
12132
+ "format": "uuid",
12133
+ "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)$",
12134
+ "description": "Exact Attention item ID"
12135
+ }
12136
+ },
12137
+ "required": [
12138
+ "id"
12139
+ ],
12140
+ "additionalProperties": false
12141
+ },
12142
+ "outputSchema": {
12143
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
12144
+ "type": "object",
12145
+ "properties": {
12146
+ "id": {
12147
+ "type": "string",
12148
+ "minLength": 1,
12149
+ "maxLength": 500
12150
+ },
12151
+ "customer": {
12152
+ "type": "object",
12153
+ "properties": {
12154
+ "id": {
12155
+ "type": "string",
12156
+ "minLength": 1,
12157
+ "maxLength": 500
12158
+ },
12159
+ "name": {
12160
+ "type": "string",
12161
+ "minLength": 1,
12162
+ "maxLength": 500
12163
+ },
12164
+ "domain": {
12165
+ "type": "string",
12166
+ "maxLength": 253
12167
+ },
12168
+ "ownerName": {
12169
+ "anyOf": [
12170
+ {
12171
+ "type": "string",
12172
+ "minLength": 1,
12173
+ "maxLength": 500
12174
+ },
12175
+ {
12176
+ "type": "null"
12177
+ }
12178
+ ]
12179
+ }
12180
+ },
12181
+ "required": [
12182
+ "id",
12183
+ "name",
12184
+ "domain",
12185
+ "ownerName"
12186
+ ],
12187
+ "additionalProperties": false
12188
+ },
12189
+ "title": {
12190
+ "type": "string",
12191
+ "minLength": 1,
12192
+ "maxLength": 240
12193
+ },
12194
+ "priority": {
12195
+ "type": "string",
12196
+ "enum": [
12197
+ "NORMAL",
12198
+ "HIGH",
12199
+ "URGENT"
12200
+ ]
12201
+ },
12202
+ "evidenceCount": {
12203
+ "type": "integer",
12204
+ "minimum": 0,
12205
+ "maximum": 50
12206
+ },
12207
+ "lifecycle": {
12208
+ "type": "object",
12209
+ "properties": {
12210
+ "status": {
12211
+ "type": "string",
12212
+ "enum": [
12213
+ "open",
12214
+ "resolved"
12215
+ ]
12216
+ },
12217
+ "customerVisibleAt": {
12218
+ "type": "string",
12219
+ "format": "date-time",
12220
+ "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))$"
12221
+ },
12222
+ "resolvedAt": {
12223
+ "anyOf": [
12224
+ {
12225
+ "type": "string",
12226
+ "format": "date-time",
12227
+ "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))$"
12228
+ },
12229
+ {
12230
+ "type": "null"
12231
+ }
12232
+ ]
12233
+ },
12234
+ "reopenedAt": {
12235
+ "anyOf": [
12236
+ {
12237
+ "type": "string",
12238
+ "format": "date-time",
12239
+ "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))$"
12240
+ },
12241
+ {
12242
+ "type": "null"
12243
+ }
12244
+ ]
12245
+ },
12246
+ "createdAt": {
12247
+ "type": "string",
12248
+ "format": "date-time",
12249
+ "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))$"
12250
+ },
12251
+ "updatedAt": {
12252
+ "type": "string",
12253
+ "format": "date-time",
12254
+ "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))$"
12255
+ },
12256
+ "materialUpdateAt": {
12257
+ "anyOf": [
12258
+ {
12259
+ "type": "string",
12260
+ "format": "date-time",
12261
+ "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))$"
12262
+ },
12263
+ {
12264
+ "type": "null"
12265
+ }
12266
+ ]
12267
+ }
12268
+ },
12269
+ "required": [
12270
+ "status",
12271
+ "customerVisibleAt",
12272
+ "resolvedAt",
12273
+ "reopenedAt",
12274
+ "createdAt",
12275
+ "updatedAt",
12276
+ "materialUpdateAt"
12277
+ ],
12278
+ "additionalProperties": false
12279
+ },
12280
+ "accountImportance": {
12281
+ "type": "object",
12282
+ "properties": {
12283
+ "arrCents": {
12284
+ "anyOf": [
12285
+ {
12286
+ "type": "number",
12287
+ "minimum": 0
12288
+ },
12289
+ {
12290
+ "type": "null"
12291
+ }
12292
+ ]
12293
+ },
12294
+ "currency": {
12295
+ "anyOf": [
12296
+ {
12297
+ "type": "string",
12298
+ "pattern": "^[A-Z]{3}$"
12299
+ },
12300
+ {
12301
+ "type": "null"
12302
+ }
12303
+ ]
12304
+ },
12305
+ "arrShareWithinCurrency": {
12306
+ "anyOf": [
12307
+ {
12308
+ "type": "number",
12309
+ "minimum": 0,
12310
+ "maximum": 1
12311
+ },
12312
+ {
12313
+ "type": "null"
12314
+ }
12315
+ ],
12316
+ "description": "Organization ARR share among customers using the same currency"
12317
+ },
12318
+ "arrPercentileWithinCurrency": {
12319
+ "anyOf": [
12320
+ {
12321
+ "type": "number",
12322
+ "minimum": 0,
12323
+ "maximum": 100
12324
+ },
12325
+ {
12326
+ "type": "null"
12327
+ }
12328
+ ],
12329
+ "description": "ARR percentile among customers using the same currency"
12330
+ },
12331
+ "segments": {
12332
+ "maxItems": 50,
12333
+ "type": "array",
12334
+ "items": {
12335
+ "type": "string",
12336
+ "minLength": 1,
12337
+ "maxLength": 240
12338
+ }
12339
+ }
12340
+ },
12341
+ "required": [
12342
+ "arrCents",
12343
+ "currency",
12344
+ "arrShareWithinCurrency",
12345
+ "arrPercentileWithinCurrency",
12346
+ "segments"
12347
+ ],
12348
+ "additionalProperties": false
12349
+ },
12350
+ "preparedActionUrl": {
12351
+ "anyOf": [
12352
+ {
12353
+ "type": "string",
12354
+ "maxLength": 2e3,
12355
+ "format": "uri"
12356
+ },
12357
+ {
12358
+ "type": "null"
12359
+ }
12360
+ ]
12361
+ },
12362
+ "whatChanged": {
12363
+ "type": "string",
12364
+ "minLength": 1,
12365
+ "maxLength": 8e3
12366
+ },
12367
+ "whyItMatters": {
12368
+ "type": "string",
12369
+ "minLength": 1,
12370
+ "maxLength": 8e3
12371
+ },
12372
+ "uncertainty": {
12373
+ "anyOf": [
12374
+ {
12375
+ "type": "string",
12376
+ "minLength": 1,
12377
+ "maxLength": 8e3
12378
+ },
12379
+ {
12380
+ "type": "null"
12381
+ }
12382
+ ]
12383
+ },
12384
+ "priorityReason": {
12385
+ "type": "string",
12386
+ "minLength": 1,
12387
+ "maxLength": 8e3
12388
+ },
12389
+ "timeline": {
12390
+ "maxItems": 20,
12391
+ "type": "array",
12392
+ "items": {
12393
+ "type": "object",
12394
+ "properties": {
12395
+ "title": {
12396
+ "type": "string",
12397
+ "minLength": 1,
12398
+ "maxLength": 240
12399
+ },
12400
+ "explanation": {
12401
+ "type": "string",
12402
+ "minLength": 1,
12403
+ "maxLength": 4e3
12404
+ },
12405
+ "observedAt": {
12406
+ "type": "string",
12407
+ "format": "date-time",
12408
+ "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))$"
12409
+ }
12410
+ },
12411
+ "required": [
12412
+ "title",
12413
+ "explanation",
12414
+ "observedAt"
12415
+ ],
12416
+ "additionalProperties": false
12417
+ }
12418
+ },
12419
+ "evidence": {
12420
+ "maxItems": 20,
12421
+ "type": "array",
12422
+ "items": {
12423
+ "type": "object",
12424
+ "properties": {
12425
+ "role": {
12426
+ "type": "string",
12427
+ "enum": [
12428
+ "supporting",
12429
+ "contradictory",
12430
+ "context"
12431
+ ]
12432
+ },
12433
+ "kind": {
12434
+ "type": "string",
12435
+ "enum": [
12436
+ "metric",
12437
+ "communication",
12438
+ "record",
12439
+ "event"
12440
+ ]
12441
+ },
12442
+ "title": {
12443
+ "type": "string",
12444
+ "minLength": 1,
12445
+ "maxLength": 500
12446
+ },
12447
+ "observedAt": {
12448
+ "anyOf": [
12449
+ {
12450
+ "type": "string",
12451
+ "format": "date-time",
12452
+ "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))$"
12453
+ },
12454
+ {
12455
+ "type": "null"
12456
+ }
12457
+ ]
12458
+ },
12459
+ "window": {
12460
+ "anyOf": [
10264
12461
  {
10265
12462
  "type": "object",
10266
12463
  "properties": {
10267
- "window": {
10268
- "type": "object",
10269
- "properties": {
10270
- "startAt": {
10271
- "type": "string",
10272
- "format": "date-time",
10273
- "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)))$"
10274
- },
10275
- "endAt": {
10276
- "type": "string",
10277
- "format": "date-time",
10278
- "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)))$"
10279
- }
10280
- },
10281
- "required": [
10282
- "startAt",
10283
- "endAt"
10284
- ],
10285
- "additionalProperties": false
10286
- },
10287
- "coverage": {
12464
+ "start": {
10288
12465
  "type": "string",
10289
- "const": "unavailable"
12466
+ "format": "date-time",
12467
+ "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))$"
10290
12468
  },
10291
- "reason": {
12469
+ "end": {
10292
12470
  "type": "string",
10293
- "enum": [
10294
- "SOURCE_BLOCKED",
10295
- "SOURCE_NOT_READY",
10296
- "QUERY_FAILED"
10297
- ]
12471
+ "format": "date-time",
12472
+ "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))$"
10298
12473
  }
10299
12474
  },
10300
12475
  "required": [
10301
- "window",
10302
- "coverage",
10303
- "reason"
12476
+ "start",
12477
+ "end"
10304
12478
  ],
10305
12479
  "additionalProperties": false
12480
+ },
12481
+ {
12482
+ "type": "null"
10306
12483
  }
10307
12484
  ]
12485
+ },
12486
+ "sourceLabel": {
12487
+ "type": "string",
12488
+ "minLength": 1,
12489
+ "maxLength": 240
10308
12490
  }
10309
12491
  },
10310
12492
  "required": [
10311
- "id",
10312
- "revision",
10313
- "sourceKey",
10314
- "featureKey",
10315
- "name",
10316
- "rule",
10317
- "evidence"
12493
+ "role",
12494
+ "kind",
12495
+ "title",
12496
+ "observedAt",
12497
+ "window",
12498
+ "sourceLabel"
10318
12499
  ],
10319
12500
  "additionalProperties": false
10320
12501
  }
12502
+ },
12503
+ "latestUpdate": {
12504
+ "anyOf": [
12505
+ {
12506
+ "type": "object",
12507
+ "properties": {
12508
+ "updatedAt": {
12509
+ "type": "string",
12510
+ "format": "date-time",
12511
+ "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))$"
12512
+ },
12513
+ "summary": {
12514
+ "type": "string",
12515
+ "minLength": 1,
12516
+ "maxLength": 8e3
12517
+ }
12518
+ },
12519
+ "required": [
12520
+ "updatedAt",
12521
+ "summary"
12522
+ ],
12523
+ "additionalProperties": false
12524
+ },
12525
+ {
12526
+ "type": "null"
12527
+ }
12528
+ ]
10321
12529
  }
10322
12530
  },
10323
12531
  "required": [
12532
+ "id",
10324
12533
  "customer",
10325
- "features"
12534
+ "title",
12535
+ "priority",
12536
+ "evidenceCount",
12537
+ "lifecycle",
12538
+ "accountImportance",
12539
+ "preparedActionUrl",
12540
+ "whatChanged",
12541
+ "whyItMatters",
12542
+ "uncertainty",
12543
+ "priorityReason",
12544
+ "timeline",
12545
+ "evidence",
12546
+ "latestUpdate"
10326
12547
  ],
10327
12548
  "additionalProperties": false
10328
12549
  }
10329
12550
  },
10330
- "outlit_list_attention_items": {
10331
- "toolName": "outlit_list_attention_items",
10332
- "commandId": "attention.list",
12551
+ "outlit_get_customer_identity": {
12552
+ "toolName": "outlit_get_customer_identity",
12553
+ "commandId": "customer.identity.get",
12554
+ "commandVersion": 1,
12555
+ "ownerDomain": "identity",
12556
+ "title": "Get customer identity",
12557
+ "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.",
12558
+ "annotations": {
12559
+ "readOnlyHint": true,
12560
+ "destructiveHint": false
12561
+ },
12562
+ "inputSchema": {
12563
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
12564
+ "type": "object",
12565
+ "properties": {
12566
+ "customerId": {
12567
+ "type": "string",
12568
+ "minLength": 1,
12569
+ "maxLength": 191
12570
+ }
12571
+ },
12572
+ "required": [
12573
+ "customerId"
12574
+ ],
12575
+ "additionalProperties": false
12576
+ },
12577
+ "outputSchema": {
12578
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
12579
+ "type": "object",
12580
+ "properties": {
12581
+ "customerId": {
12582
+ "type": "string",
12583
+ "minLength": 1,
12584
+ "maxLength": 191
12585
+ },
12586
+ "checkedAt": {
12587
+ "type": "string",
12588
+ "format": "date-time",
12589
+ "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)))$"
12590
+ },
12591
+ "evidenceCutoffAt": {
12592
+ "type": "string",
12593
+ "format": "date-time",
12594
+ "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)))$"
12595
+ },
12596
+ "basis": {
12597
+ "type": "string",
12598
+ "const": "unchanged_records_at_cutoff"
12599
+ },
12600
+ "window": {
12601
+ "type": "object",
12602
+ "properties": {
12603
+ "after": {
12604
+ "type": "string",
12605
+ "format": "date-time",
12606
+ "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)))$"
12607
+ },
12608
+ "before": {
12609
+ "type": "string",
12610
+ "format": "date-time",
12611
+ "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)))$"
12612
+ }
12613
+ },
12614
+ "required": [
12615
+ "after",
12616
+ "before"
12617
+ ],
12618
+ "additionalProperties": false
12619
+ },
12620
+ "coverage": {
12621
+ "type": "object",
12622
+ "properties": {
12623
+ "status": {
12624
+ "type": "string",
12625
+ "enum": [
12626
+ "complete_within_bounds",
12627
+ "incomplete"
12628
+ ]
12629
+ },
12630
+ "reasons": {
12631
+ "maxItems": 20,
12632
+ "type": "array",
12633
+ "items": {
12634
+ "type": "string",
12635
+ "minLength": 1,
12636
+ "maxLength": 500
12637
+ }
12638
+ }
12639
+ },
12640
+ "required": [
12641
+ "status",
12642
+ "reasons"
12643
+ ],
12644
+ "additionalProperties": false
12645
+ },
12646
+ "limits": {
12647
+ "type": "object",
12648
+ "properties": {
12649
+ "calls": {
12650
+ "type": "integer",
12651
+ "minimum": 0,
12652
+ "maximum": 9007199254740991
12653
+ },
12654
+ "domains": {
12655
+ "type": "integer",
12656
+ "minimum": 0,
12657
+ "maximum": 9007199254740991
12658
+ },
12659
+ "candidates": {
12660
+ "type": "integer",
12661
+ "minimum": 0,
12662
+ "maximum": 9007199254740991
12663
+ }
12664
+ },
12665
+ "required": [
12666
+ "calls",
12667
+ "domains",
12668
+ "candidates"
12669
+ ],
12670
+ "additionalProperties": false
12671
+ },
12672
+ "candidates": {
12673
+ "maxItems": 10,
12674
+ "type": "array",
12675
+ "items": {
12676
+ "type": "object",
12677
+ "properties": {
12678
+ "id": {
12679
+ "type": "string",
12680
+ "minLength": 1,
12681
+ "maxLength": 191
12682
+ },
12683
+ "name": {
12684
+ "type": "string",
12685
+ "maxLength": 500
12686
+ },
12687
+ "domain": {
12688
+ "type": "string",
12689
+ "maxLength": 500
12690
+ },
12691
+ "type": {
12692
+ "type": "string",
12693
+ "enum": [
12694
+ "COMPANY",
12695
+ "INDIVIDUAL"
12696
+ ]
12697
+ },
12698
+ "reasons": {
12699
+ "maxItems": 50,
12700
+ "type": "array",
12701
+ "items": {
12702
+ "type": "object",
12703
+ "properties": {
12704
+ "kind": {
12705
+ "type": "string",
12706
+ "const": "participant_domain"
12707
+ },
12708
+ "domain": {
12709
+ "type": "string",
12710
+ "maxLength": 253
12711
+ },
12712
+ "sourceType": {
12713
+ "type": "string",
12714
+ "const": "CALL"
12715
+ },
12716
+ "sourceId": {
12717
+ "type": "string",
12718
+ "minLength": 1,
12719
+ "maxLength": 191
12720
+ },
12721
+ "field": {
12722
+ "type": "string",
12723
+ "const": "participants.email"
12724
+ }
12725
+ },
12726
+ "required": [
12727
+ "kind",
12728
+ "domain",
12729
+ "sourceType",
12730
+ "sourceId",
12731
+ "field"
12732
+ ],
12733
+ "additionalProperties": false
12734
+ }
12735
+ }
12736
+ },
12737
+ "required": [
12738
+ "id",
12739
+ "name",
12740
+ "domain",
12741
+ "type",
12742
+ "reasons"
12743
+ ],
12744
+ "additionalProperties": false
12745
+ }
12746
+ }
12747
+ },
12748
+ "required": [
12749
+ "customerId",
12750
+ "checkedAt",
12751
+ "window",
12752
+ "coverage",
12753
+ "limits",
12754
+ "candidates"
12755
+ ],
12756
+ "additionalProperties": false
12757
+ }
12758
+ },
12759
+ "outlit_list_identity_merge_suggestions": {
12760
+ "toolName": "outlit_list_identity_merge_suggestions",
12761
+ "commandId": "identity.suggestions.list",
10333
12762
  "commandVersion": 1,
10334
- "ownerDomain": "attention",
10335
- "title": "List Attention Items",
10336
- "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.",
12763
+ "ownerDomain": "identity",
12764
+ "title": "List identity merge suggestions",
12765
+ "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.",
12766
+ "annotations": {
12767
+ "readOnlyHint": true,
12768
+ "destructiveHint": false
12769
+ },
10337
12770
  "inputSchema": {
10338
12771
  "$schema": "https://json-schema.org/draft/2020-12/schema",
10339
12772
  "type": "object",
10340
12773
  "properties": {
12774
+ "customerId": {
12775
+ "type": "string",
12776
+ "minLength": 1,
12777
+ "maxLength": 191
12778
+ },
12779
+ "suggestionId": {
12780
+ "type": "string",
12781
+ "minLength": 1,
12782
+ "maxLength": 191
12783
+ },
12784
+ "cursor": {
12785
+ "type": "string",
12786
+ "minLength": 1,
12787
+ "maxLength": 2e3
12788
+ },
10341
12789
  "status": {
10342
- "description": "Attention lifecycle to list (default: open)",
10343
- "default": "open",
10344
12790
  "type": "string",
10345
12791
  "enum": [
10346
- "open",
10347
- "resolved"
12792
+ "suggested",
12793
+ "processing",
12794
+ "merged",
12795
+ "rejected"
10348
12796
  ]
10349
12797
  },
10350
- "customerId": {
10351
- "description": "Filter by exact customer ID",
12798
+ "confidence": {
10352
12799
  "type": "string",
10353
- "format": "uuid",
10354
- "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)$"
12800
+ "enum": [
12801
+ "HIGH",
12802
+ "MEDIUM",
12803
+ "LOW"
12804
+ ]
10355
12805
  },
10356
12806
  "limit": {
10357
- "description": "Results per page (default: 25, max: 100)",
10358
- "default": 25,
12807
+ "default": 50,
10359
12808
  "type": "integer",
10360
12809
  "minimum": 1,
10361
12810
  "maximum": 100
10362
- },
10363
- "cursor": {
10364
- "description": "Opaque cursor from a previous response with the same filters",
10365
- "type": "string",
10366
- "minLength": 1,
10367
- "maxLength": 2e3
10368
12811
  }
10369
12812
  },
10370
12813
  "additionalProperties": false
@@ -10373,8 +12816,7 @@ var publicToolContracts = {
10373
12816
  "$schema": "https://json-schema.org/draft/2020-12/schema",
10374
12817
  "type": "object",
10375
12818
  "properties": {
10376
- "items": {
10377
- "maxItems": 100,
12819
+ "suggestions": {
10378
12820
  "type": "array",
10379
12821
  "items": {
10380
12822
  "type": "object",
@@ -10382,15 +12824,42 @@ var publicToolContracts = {
10382
12824
  "id": {
10383
12825
  "type": "string",
10384
12826
  "minLength": 1,
10385
- "maxLength": 500
12827
+ "maxLength": 191
10386
12828
  },
10387
- "customer": {
12829
+ "status": {
12830
+ "type": "string",
12831
+ "enum": [
12832
+ "suggested",
12833
+ "processing",
12834
+ "merged",
12835
+ "rejected"
12836
+ ]
12837
+ },
12838
+ "proposalStatus": {
12839
+ "type": "string",
12840
+ "enum": [
12841
+ "PROPOSED",
12842
+ "STAGED",
12843
+ "STALE",
12844
+ "REJECTED",
12845
+ "APPLIED"
12846
+ ]
12847
+ },
12848
+ "confidence": {
12849
+ "type": "string",
12850
+ "enum": [
12851
+ "HIGH",
12852
+ "MEDIUM",
12853
+ "LOW"
12854
+ ]
12855
+ },
12856
+ "survivor": {
10388
12857
  "type": "object",
10389
12858
  "properties": {
10390
12859
  "id": {
10391
12860
  "type": "string",
10392
12861
  "minLength": 1,
10393
- "maxLength": 500
12862
+ "maxLength": 191
10394
12863
  },
10395
12864
  "name": {
10396
12865
  "type": "string",
@@ -10398,10 +12867,76 @@ var publicToolContracts = {
10398
12867
  "maxLength": 500
10399
12868
  },
10400
12869
  "domain": {
12870
+ "anyOf": [
12871
+ {
12872
+ "type": "string",
12873
+ "minLength": 1,
12874
+ "maxLength": 500
12875
+ },
12876
+ {
12877
+ "type": "null"
12878
+ }
12879
+ ]
12880
+ },
12881
+ "type": {
10401
12882
  "type": "string",
10402
- "maxLength": 253
12883
+ "enum": [
12884
+ "COMPANY",
12885
+ "INDIVIDUAL"
12886
+ ]
10403
12887
  },
10404
- "ownerName": {
12888
+ "status": {
12889
+ "anyOf": [
12890
+ {
12891
+ "type": "string",
12892
+ "enum": [
12893
+ "PROVISIONAL",
12894
+ "ACTIVE",
12895
+ "CHURNED",
12896
+ "MERGED"
12897
+ ]
12898
+ },
12899
+ {
12900
+ "type": "null"
12901
+ }
12902
+ ]
12903
+ },
12904
+ "identifierCount": {
12905
+ "type": "integer",
12906
+ "minimum": 0,
12907
+ "maximum": 9007199254740991
12908
+ },
12909
+ "contactCount": {
12910
+ "type": "integer",
12911
+ "minimum": 0,
12912
+ "maximum": 9007199254740991
12913
+ }
12914
+ },
12915
+ "required": [
12916
+ "id",
12917
+ "name",
12918
+ "domain",
12919
+ "type",
12920
+ "status",
12921
+ "identifierCount",
12922
+ "contactCount"
12923
+ ],
12924
+ "additionalProperties": false
12925
+ },
12926
+ "duplicate": {
12927
+ "type": "object",
12928
+ "properties": {
12929
+ "id": {
12930
+ "type": "string",
12931
+ "minLength": 1,
12932
+ "maxLength": 191
12933
+ },
12934
+ "name": {
12935
+ "type": "string",
12936
+ "minLength": 1,
12937
+ "maxLength": 500
12938
+ },
12939
+ "domain": {
10405
12940
  "anyOf": [
10406
12941
  {
10407
12942
  "type": "string",
@@ -10412,670 +12947,678 @@ var publicToolContracts = {
10412
12947
  "type": "null"
10413
12948
  }
10414
12949
  ]
12950
+ },
12951
+ "type": {
12952
+ "type": "string",
12953
+ "enum": [
12954
+ "COMPANY",
12955
+ "INDIVIDUAL"
12956
+ ]
12957
+ },
12958
+ "status": {
12959
+ "anyOf": [
12960
+ {
12961
+ "type": "string",
12962
+ "enum": [
12963
+ "PROVISIONAL",
12964
+ "ACTIVE",
12965
+ "CHURNED",
12966
+ "MERGED"
12967
+ ]
12968
+ },
12969
+ {
12970
+ "type": "null"
12971
+ }
12972
+ ]
12973
+ },
12974
+ "identifierCount": {
12975
+ "type": "integer",
12976
+ "minimum": 0,
12977
+ "maximum": 9007199254740991
12978
+ },
12979
+ "contactCount": {
12980
+ "type": "integer",
12981
+ "minimum": 0,
12982
+ "maximum": 9007199254740991
10415
12983
  }
10416
12984
  },
10417
12985
  "required": [
10418
12986
  "id",
10419
12987
  "name",
10420
12988
  "domain",
10421
- "ownerName"
12989
+ "type",
12990
+ "status",
12991
+ "identifierCount",
12992
+ "contactCount"
10422
12993
  ],
10423
12994
  "additionalProperties": false
10424
12995
  },
10425
- "title": {
10426
- "type": "string",
10427
- "minLength": 1,
10428
- "maxLength": 240
10429
- },
10430
- "priority": {
10431
- "type": "string",
10432
- "enum": [
10433
- "NORMAL",
10434
- "HIGH",
10435
- "URGENT"
12996
+ "reviewNotes": {
12997
+ "anyOf": [
12998
+ {
12999
+ "type": "string",
13000
+ "maxLength": 1e4
13001
+ },
13002
+ {
13003
+ "type": "null"
13004
+ }
10436
13005
  ]
10437
13006
  },
10438
- "evidenceCount": {
10439
- "type": "integer",
10440
- "minimum": 0,
10441
- "maximum": 50
13007
+ "reviewedAt": {
13008
+ "anyOf": [
13009
+ {
13010
+ "type": "string",
13011
+ "format": "date-time",
13012
+ "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))$"
13013
+ },
13014
+ {
13015
+ "type": "null"
13016
+ }
13017
+ ]
10442
13018
  },
10443
- "lifecycle": {
10444
- "type": "object",
10445
- "properties": {
10446
- "status": {
13019
+ "reviewedByName": {
13020
+ "anyOf": [
13021
+ {
10447
13022
  "type": "string",
10448
- "enum": [
10449
- "open",
10450
- "resolved"
10451
- ]
13023
+ "minLength": 1,
13024
+ "maxLength": 500
10452
13025
  },
10453
- "customerVisibleAt": {
13026
+ {
13027
+ "type": "null"
13028
+ }
13029
+ ]
13030
+ },
13031
+ "appliedAt": {
13032
+ "anyOf": [
13033
+ {
10454
13034
  "type": "string",
10455
13035
  "format": "date-time",
10456
13036
  "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))$"
10457
13037
  },
10458
- "resolvedAt": {
10459
- "anyOf": [
10460
- {
10461
- "type": "string",
10462
- "format": "date-time",
10463
- "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))$"
10464
- },
10465
- {
10466
- "type": "null"
10467
- }
10468
- ]
13038
+ {
13039
+ "type": "null"
13040
+ }
13041
+ ]
13042
+ },
13043
+ "appliedByName": {
13044
+ "anyOf": [
13045
+ {
13046
+ "type": "string",
13047
+ "minLength": 1,
13048
+ "maxLength": 500
13049
+ },
13050
+ {
13051
+ "type": "null"
13052
+ }
13053
+ ]
13054
+ },
13055
+ "createdAt": {
13056
+ "type": "string",
13057
+ "format": "date-time",
13058
+ "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))$"
13059
+ },
13060
+ "explanation": {
13061
+ "type": "array",
13062
+ "items": {
13063
+ "type": "string",
13064
+ "minLength": 1,
13065
+ "maxLength": 1e3
13066
+ }
13067
+ },
13068
+ "impact": {
13069
+ "type": "object",
13070
+ "properties": {
13071
+ "identifiers": {
13072
+ "type": "integer",
13073
+ "minimum": 0,
13074
+ "maximum": 9007199254740991
13075
+ },
13076
+ "users": {
13077
+ "type": "integer",
13078
+ "minimum": 0,
13079
+ "maximum": 9007199254740991
13080
+ },
13081
+ "activities": {
13082
+ "type": "integer",
13083
+ "minimum": 0,
13084
+ "maximum": 9007199254740991
13085
+ },
13086
+ "visitors": {
13087
+ "type": "integer",
13088
+ "minimum": 0,
13089
+ "maximum": 9007199254740991
13090
+ },
13091
+ "billingEvents": {
13092
+ "type": "integer",
13093
+ "minimum": 0,
13094
+ "maximum": 9007199254740991
13095
+ },
13096
+ "facts": {
13097
+ "type": "integer",
13098
+ "minimum": 0,
13099
+ "maximum": 9007199254740991
13100
+ },
13101
+ "supportTickets": {
13102
+ "type": "integer",
13103
+ "minimum": 0,
13104
+ "maximum": 9007199254740991
10469
13105
  },
10470
- "reopenedAt": {
10471
- "anyOf": [
10472
- {
10473
- "type": "string",
10474
- "format": "date-time",
10475
- "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))$"
10476
- },
10477
- {
10478
- "type": "null"
10479
- }
10480
- ]
13106
+ "calls": {
13107
+ "type": "integer",
13108
+ "minimum": 0,
13109
+ "maximum": 9007199254740991
10481
13110
  },
10482
- "createdAt": {
10483
- "type": "string",
10484
- "format": "date-time",
10485
- "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))$"
13111
+ "accessEntries": {
13112
+ "type": "integer",
13113
+ "minimum": 0,
13114
+ "maximum": 9007199254740991
10486
13115
  },
10487
- "updatedAt": {
10488
- "type": "string",
10489
- "format": "date-time",
10490
- "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))$"
13116
+ "analyticsEvents": {
13117
+ "type": "integer",
13118
+ "minimum": 0,
13119
+ "maximum": 9007199254740991
10491
13120
  },
10492
- "materialUpdateAt": {
10493
- "anyOf": [
10494
- {
10495
- "type": "string",
10496
- "format": "date-time",
10497
- "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))$"
10498
- },
10499
- {
10500
- "type": "null"
10501
- }
10502
- ]
13121
+ "analyticsDimensions": {
13122
+ "type": "integer",
13123
+ "minimum": 0,
13124
+ "maximum": 9007199254740991
10503
13125
  }
10504
13126
  },
10505
13127
  "required": [
10506
- "status",
10507
- "customerVisibleAt",
10508
- "resolvedAt",
10509
- "reopenedAt",
10510
- "createdAt",
10511
- "updatedAt",
10512
- "materialUpdateAt"
13128
+ "identifiers",
13129
+ "users",
13130
+ "activities",
13131
+ "visitors",
13132
+ "billingEvents",
13133
+ "facts",
13134
+ "supportTickets",
13135
+ "calls",
13136
+ "accessEntries",
13137
+ "analyticsEvents",
13138
+ "analyticsDimensions"
10513
13139
  ],
10514
13140
  "additionalProperties": false
10515
13141
  },
10516
- "accountImportance": {
10517
- "type": "object",
10518
- "properties": {
10519
- "arrCents": {
10520
- "anyOf": [
10521
- {
10522
- "type": "number",
10523
- "minimum": 0
10524
- },
10525
- {
10526
- "type": "null"
10527
- }
10528
- ]
10529
- },
10530
- "currency": {
10531
- "anyOf": [
10532
- {
13142
+ "latestJob": {
13143
+ "anyOf": [
13144
+ {
13145
+ "type": "object",
13146
+ "properties": {
13147
+ "id": {
10533
13148
  "type": "string",
10534
- "pattern": "^[A-Z]{3}$"
13149
+ "minLength": 1,
13150
+ "maxLength": 191
10535
13151
  },
10536
- {
10537
- "type": "null"
10538
- }
10539
- ]
10540
- },
10541
- "arrShareWithinCurrency": {
10542
- "anyOf": [
10543
- {
10544
- "type": "number",
10545
- "minimum": 0,
10546
- "maximum": 1
13152
+ "operationId": {
13153
+ "anyOf": [
13154
+ {
13155
+ "type": "string",
13156
+ "minLength": 1,
13157
+ "maxLength": 191
13158
+ },
13159
+ {
13160
+ "type": "null"
13161
+ }
13162
+ ],
13163
+ "description": "Pass to outlit_get_customer_merge_status. Null when this job has no matching tracked operation."
10547
13164
  },
10548
- {
10549
- "type": "null"
10550
- }
10551
- ],
10552
- "description": "Organization ARR share among customers using the same currency"
10553
- },
10554
- "arrPercentileWithinCurrency": {
10555
- "anyOf": [
10556
- {
10557
- "type": "number",
10558
- "minimum": 0,
10559
- "maximum": 100
13165
+ "status": {
13166
+ "type": "string",
13167
+ "enum": [
13168
+ "QUEUED",
13169
+ "RUNNING",
13170
+ "COMPLETED",
13171
+ "FAILED"
13172
+ ]
10560
13173
  },
10561
- {
10562
- "type": "null"
13174
+ "createdAt": {
13175
+ "type": "string",
13176
+ "format": "date-time",
13177
+ "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))$"
13178
+ },
13179
+ "updatedAt": {
13180
+ "type": "string",
13181
+ "format": "date-time",
13182
+ "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))$"
10563
13183
  }
13184
+ },
13185
+ "required": [
13186
+ "id",
13187
+ "operationId",
13188
+ "status",
13189
+ "createdAt",
13190
+ "updatedAt"
10564
13191
  ],
10565
- "description": "ARR percentile among customers using the same currency"
10566
- },
10567
- "segments": {
10568
- "maxItems": 50,
10569
- "type": "array",
10570
- "items": {
10571
- "type": "string",
10572
- "minLength": 1,
10573
- "maxLength": 240
10574
- }
10575
- }
10576
- },
10577
- "required": [
10578
- "arrCents",
10579
- "currency",
10580
- "arrShareWithinCurrency",
10581
- "arrPercentileWithinCurrency",
10582
- "segments"
10583
- ],
10584
- "additionalProperties": false
10585
- },
10586
- "preparedActionUrl": {
10587
- "anyOf": [
10588
- {
10589
- "type": "string",
10590
- "maxLength": 2e3,
10591
- "format": "uri"
13192
+ "additionalProperties": false
10592
13193
  },
10593
13194
  {
10594
13195
  "type": "null"
10595
13196
  }
10596
13197
  ]
13198
+ },
13199
+ "canMerge": {
13200
+ "type": "boolean"
13201
+ },
13202
+ "canReject": {
13203
+ "type": "boolean"
10597
13204
  }
10598
13205
  },
10599
13206
  "required": [
10600
13207
  "id",
10601
- "customer",
10602
- "title",
10603
- "priority",
10604
- "evidenceCount",
10605
- "lifecycle",
10606
- "accountImportance",
10607
- "preparedActionUrl"
13208
+ "status",
13209
+ "proposalStatus",
13210
+ "confidence",
13211
+ "survivor",
13212
+ "duplicate",
13213
+ "reviewNotes",
13214
+ "reviewedAt",
13215
+ "reviewedByName",
13216
+ "appliedAt",
13217
+ "appliedByName",
13218
+ "createdAt",
13219
+ "explanation",
13220
+ "impact",
13221
+ "latestJob",
13222
+ "canMerge",
13223
+ "canReject"
10608
13224
  ],
10609
13225
  "additionalProperties": false
10610
13226
  }
10611
13227
  },
10612
- "pagination": {
10613
- "type": "object",
10614
- "properties": {
10615
- "hasMore": {
10616
- "type": "boolean"
10617
- },
10618
- "nextCursor": {
10619
- "anyOf": [
10620
- {
10621
- "type": "string",
10622
- "minLength": 1,
10623
- "maxLength": 2e3
10624
- },
10625
- {
10626
- "type": "null"
10627
- }
10628
- ]
13228
+ "canManageIdentityMerges": {
13229
+ "type": "boolean"
13230
+ },
13231
+ "nextCursor": {
13232
+ "default": null,
13233
+ "anyOf": [
13234
+ {
13235
+ "type": "string",
13236
+ "minLength": 1,
13237
+ "maxLength": 2e3
10629
13238
  },
10630
- "total": {
10631
- "type": "integer",
10632
- "minimum": 0,
10633
- "maximum": 9007199254740991
13239
+ {
13240
+ "type": "null"
10634
13241
  }
10635
- },
10636
- "required": [
10637
- "hasMore",
10638
- "nextCursor",
10639
- "total"
10640
- ],
10641
- "additionalProperties": false
13242
+ ]
10642
13243
  }
10643
13244
  },
10644
13245
  "required": [
10645
- "items",
10646
- "pagination"
13246
+ "suggestions",
13247
+ "canManageIdentityMerges",
13248
+ "nextCursor"
13249
+ ],
13250
+ "additionalProperties": false
13251
+ }
13252
+ },
13253
+ "outlit_reject_identity_merge_suggestion": {
13254
+ "toolName": "outlit_reject_identity_merge_suggestion",
13255
+ "commandId": "identity.suggestions.reject",
13256
+ "commandVersion": 1,
13257
+ "ownerDomain": "identity",
13258
+ "title": "Reject identity merge suggestion",
13259
+ "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.",
13260
+ "annotations": {
13261
+ "readOnlyHint": false,
13262
+ "destructiveHint": false
13263
+ },
13264
+ "inputSchema": {
13265
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
13266
+ "type": "object",
13267
+ "properties": {
13268
+ "suggestionId": {
13269
+ "type": "string",
13270
+ "minLength": 1,
13271
+ "maxLength": 191
13272
+ },
13273
+ "reviewNotes": {
13274
+ "type": "string",
13275
+ "maxLength": 1e4
13276
+ }
13277
+ },
13278
+ "required": [
13279
+ "suggestionId"
13280
+ ],
13281
+ "additionalProperties": false
13282
+ },
13283
+ "outputSchema": {
13284
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
13285
+ "type": "object",
13286
+ "properties": {
13287
+ "suggestionId": {
13288
+ "type": "string",
13289
+ "minLength": 1,
13290
+ "maxLength": 191
13291
+ },
13292
+ "status": {
13293
+ "type": "string",
13294
+ "const": "REJECTED"
13295
+ }
13296
+ },
13297
+ "required": [
13298
+ "suggestionId",
13299
+ "status"
10647
13300
  ],
10648
13301
  "additionalProperties": false
10649
13302
  }
10650
13303
  },
10651
- "outlit_get_attention_item": {
10652
- "toolName": "outlit_get_attention_item",
10653
- "commandId": "attention.get",
13304
+ "outlit_merge_customers": {
13305
+ "toolName": "outlit_merge_customers",
13306
+ "commandId": "customer.merge",
10654
13307
  "commandVersion": 1,
10655
- "ownerDomain": "attention",
10656
- "title": "Get Attention Item",
10657
- "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.",
13308
+ "ownerDomain": "identity",
13309
+ "title": "Merge customers",
13310
+ "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.",
13311
+ "annotations": {
13312
+ "readOnlyHint": false,
13313
+ "destructiveHint": true
13314
+ },
10658
13315
  "inputSchema": {
10659
13316
  "$schema": "https://json-schema.org/draft/2020-12/schema",
10660
13317
  "type": "object",
10661
13318
  "properties": {
10662
- "id": {
13319
+ "survivingCustomerId": {
10663
13320
  "type": "string",
10664
- "format": "uuid",
10665
- "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)$",
10666
- "description": "Exact Attention item ID"
13321
+ "minLength": 1,
13322
+ "maxLength": 191
13323
+ },
13324
+ "duplicateCustomerId": {
13325
+ "type": "string",
13326
+ "minLength": 1,
13327
+ "maxLength": 191
13328
+ },
13329
+ "suggestionId": {
13330
+ "type": "string",
13331
+ "minLength": 1,
13332
+ "maxLength": 191,
13333
+ "description": "Eligible saved suggestion for this exact pair. Required if either record is INDIVIDUAL; optional for two COMPANY records."
13334
+ },
13335
+ "reviewNotes": {
13336
+ "type": "string",
13337
+ "maxLength": 1e4
13338
+ },
13339
+ "dryRun": {
13340
+ "default": true,
13341
+ "type": "boolean"
13342
+ },
13343
+ "previewToken": {
13344
+ "type": "string",
13345
+ "minLength": 1,
13346
+ "maxLength": 4096
13347
+ },
13348
+ "requestId": {
13349
+ "type": "string",
13350
+ "minLength": 1,
13351
+ "maxLength": 191
10667
13352
  }
10668
13353
  },
10669
13354
  "required": [
10670
- "id"
13355
+ "survivingCustomerId",
13356
+ "duplicateCustomerId"
10671
13357
  ],
10672
13358
  "additionalProperties": false
10673
13359
  },
10674
13360
  "outputSchema": {
10675
13361
  "$schema": "https://json-schema.org/draft/2020-12/schema",
10676
- "type": "object",
10677
- "properties": {
10678
- "id": {
10679
- "type": "string",
10680
- "minLength": 1,
10681
- "maxLength": 500
10682
- },
10683
- "customer": {
13362
+ "oneOf": [
13363
+ {
10684
13364
  "type": "object",
10685
13365
  "properties": {
10686
- "id": {
13366
+ "kind": {
10687
13367
  "type": "string",
10688
- "minLength": 1,
10689
- "maxLength": 500
13368
+ "const": "preview"
10690
13369
  },
10691
- "name": {
13370
+ "survivingCustomerId": {
10692
13371
  "type": "string",
10693
13372
  "minLength": 1,
10694
- "maxLength": 500
13373
+ "maxLength": 191
10695
13374
  },
10696
- "domain": {
13375
+ "duplicateCustomerId": {
10697
13376
  "type": "string",
10698
- "maxLength": 253
13377
+ "minLength": 1,
13378
+ "maxLength": 191
10699
13379
  },
10700
- "ownerName": {
10701
- "anyOf": [
10702
- {
10703
- "type": "string",
10704
- "minLength": 1,
10705
- "maxLength": 500
10706
- },
10707
- {
10708
- "type": "null"
10709
- }
10710
- ]
10711
- }
10712
- },
10713
- "required": [
10714
- "id",
10715
- "name",
10716
- "domain",
10717
- "ownerName"
10718
- ],
10719
- "additionalProperties": false
10720
- },
10721
- "title": {
10722
- "type": "string",
10723
- "minLength": 1,
10724
- "maxLength": 240
10725
- },
10726
- "priority": {
10727
- "type": "string",
10728
- "enum": [
10729
- "NORMAL",
10730
- "HIGH",
10731
- "URGENT"
10732
- ]
10733
- },
10734
- "evidenceCount": {
10735
- "type": "integer",
10736
- "minimum": 0,
10737
- "maximum": 50
10738
- },
10739
- "lifecycle": {
10740
- "type": "object",
10741
- "properties": {
10742
- "status": {
13380
+ "previewToken": {
10743
13381
  "type": "string",
10744
- "enum": [
10745
- "open",
10746
- "resolved"
10747
- ]
13382
+ "minLength": 1,
13383
+ "maxLength": 4096
10748
13384
  },
10749
- "customerVisibleAt": {
13385
+ "evaluatedAt": {
10750
13386
  "type": "string",
10751
13387
  "format": "date-time",
10752
- "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))$"
13388
+ "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)))$"
10753
13389
  },
10754
- "resolvedAt": {
10755
- "anyOf": [
10756
- {
10757
- "type": "string",
10758
- "format": "date-time",
10759
- "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))$"
13390
+ "impact": {
13391
+ "type": "object",
13392
+ "properties": {
13393
+ "identifiers": {
13394
+ "type": "integer",
13395
+ "minimum": 0,
13396
+ "maximum": 9007199254740991
10760
13397
  },
10761
- {
10762
- "type": "null"
10763
- }
10764
- ]
10765
- },
10766
- "reopenedAt": {
10767
- "anyOf": [
10768
- {
10769
- "type": "string",
10770
- "format": "date-time",
10771
- "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))$"
13398
+ "contacts": {
13399
+ "type": "integer",
13400
+ "minimum": 0,
13401
+ "maximum": 9007199254740991
10772
13402
  },
10773
- {
10774
- "type": "null"
13403
+ "facts": {
13404
+ "type": "integer",
13405
+ "minimum": 0,
13406
+ "maximum": 9007199254740991
13407
+ },
13408
+ "communications": {
13409
+ "type": "integer",
13410
+ "minimum": 0,
13411
+ "maximum": 9007199254740991
13412
+ },
13413
+ "accessEntries": {
13414
+ "type": "integer",
13415
+ "minimum": 0,
13416
+ "maximum": 9007199254740991
10775
13417
  }
10776
- ]
10777
- },
10778
- "createdAt": {
10779
- "type": "string",
10780
- "format": "date-time",
10781
- "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))$"
10782
- },
10783
- "updatedAt": {
10784
- "type": "string",
10785
- "format": "date-time",
10786
- "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))$"
13418
+ },
13419
+ "required": [
13420
+ "identifiers",
13421
+ "contacts",
13422
+ "facts",
13423
+ "communications",
13424
+ "accessEntries"
13425
+ ],
13426
+ "additionalProperties": false
10787
13427
  },
10788
- "materialUpdateAt": {
10789
- "anyOf": [
10790
- {
10791
- "type": "string",
10792
- "format": "date-time",
10793
- "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))$"
13428
+ "warnings": {
13429
+ "maxItems": 30,
13430
+ "type": "array",
13431
+ "items": {
13432
+ "type": "object",
13433
+ "properties": {
13434
+ "code": {
13435
+ "type": "string",
13436
+ "minLength": 1,
13437
+ "maxLength": 100
13438
+ },
13439
+ "message": {
13440
+ "type": "string",
13441
+ "maxLength": 1e3
13442
+ }
10794
13443
  },
10795
- {
10796
- "type": "null"
10797
- }
10798
- ]
13444
+ "required": [
13445
+ "code",
13446
+ "message"
13447
+ ],
13448
+ "additionalProperties": false
13449
+ }
10799
13450
  }
10800
13451
  },
10801
13452
  "required": [
10802
- "status",
10803
- "customerVisibleAt",
10804
- "resolvedAt",
10805
- "reopenedAt",
10806
- "createdAt",
10807
- "updatedAt",
10808
- "materialUpdateAt"
13453
+ "kind",
13454
+ "survivingCustomerId",
13455
+ "duplicateCustomerId",
13456
+ "previewToken",
13457
+ "evaluatedAt",
13458
+ "impact",
13459
+ "warnings"
10809
13460
  ],
10810
13461
  "additionalProperties": false
10811
13462
  },
10812
- "accountImportance": {
13463
+ {
10813
13464
  "type": "object",
10814
13465
  "properties": {
10815
- "arrCents": {
10816
- "anyOf": [
10817
- {
10818
- "type": "number",
10819
- "minimum": 0
10820
- },
10821
- {
10822
- "type": "null"
10823
- }
10824
- ]
13466
+ "kind": {
13467
+ "type": "string",
13468
+ "const": "operation"
10825
13469
  },
10826
- "currency": {
10827
- "anyOf": [
10828
- {
10829
- "type": "string",
10830
- "pattern": "^[A-Z]{3}$"
10831
- },
10832
- {
10833
- "type": "null"
10834
- }
13470
+ "operationId": {
13471
+ "type": "string",
13472
+ "minLength": 1,
13473
+ "maxLength": 191
13474
+ },
13475
+ "survivingCustomerId": {
13476
+ "type": "string",
13477
+ "minLength": 1,
13478
+ "maxLength": 191
13479
+ },
13480
+ "duplicateCustomerId": {
13481
+ "type": "string",
13482
+ "minLength": 1,
13483
+ "maxLength": 191
13484
+ },
13485
+ "status": {
13486
+ "type": "string",
13487
+ "enum": [
13488
+ "queued",
13489
+ "running",
13490
+ "completed",
13491
+ "failed"
10835
13492
  ]
10836
13493
  },
10837
- "arrShareWithinCurrency": {
10838
- "anyOf": [
10839
- {
10840
- "type": "number",
10841
- "minimum": 0,
10842
- "maximum": 1
10843
- },
10844
- {
10845
- "type": "null"
10846
- }
10847
- ],
10848
- "description": "Organization ARR share among customers using the same currency"
13494
+ "phase": {
13495
+ "type": "string",
13496
+ "minLength": 1,
13497
+ "maxLength": 100
10849
13498
  },
10850
- "arrPercentileWithinCurrency": {
10851
- "anyOf": [
10852
- {
10853
- "type": "number",
10854
- "minimum": 0,
10855
- "maximum": 100
13499
+ "error": {
13500
+ "type": "object",
13501
+ "properties": {
13502
+ "code": {
13503
+ "type": "string",
13504
+ "minLength": 1,
13505
+ "maxLength": 100
10856
13506
  },
10857
- {
10858
- "type": "null"
10859
- }
10860
- ],
10861
- "description": "ARR percentile among customers using the same currency"
10862
- },
10863
- "segments": {
10864
- "maxItems": 50,
10865
- "type": "array",
10866
- "items": {
10867
- "type": "string",
10868
- "minLength": 1,
10869
- "maxLength": 240
10870
- }
13507
+ "message": {
13508
+ "type": "string",
13509
+ "maxLength": 1e3
13510
+ }
13511
+ },
13512
+ "required": [
13513
+ "code",
13514
+ "message"
13515
+ ],
13516
+ "additionalProperties": false
10871
13517
  }
10872
13518
  },
10873
13519
  "required": [
10874
- "arrCents",
10875
- "currency",
10876
- "arrShareWithinCurrency",
10877
- "arrPercentileWithinCurrency",
10878
- "segments"
13520
+ "kind",
13521
+ "operationId",
13522
+ "survivingCustomerId",
13523
+ "duplicateCustomerId",
13524
+ "status",
13525
+ "phase"
10879
13526
  ],
10880
13527
  "additionalProperties": false
13528
+ }
13529
+ ]
13530
+ }
13531
+ },
13532
+ "outlit_get_customer_merge_status": {
13533
+ "toolName": "outlit_get_customer_merge_status",
13534
+ "commandId": "customer.merge.status",
13535
+ "commandVersion": 1,
13536
+ "ownerDomain": "identity",
13537
+ "title": "Get customer merge status",
13538
+ "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.",
13539
+ "annotations": {
13540
+ "readOnlyHint": true,
13541
+ "destructiveHint": false
13542
+ },
13543
+ "inputSchema": {
13544
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
13545
+ "type": "object",
13546
+ "properties": {
13547
+ "operationId": {
13548
+ "type": "string",
13549
+ "minLength": 1,
13550
+ "maxLength": 191
13551
+ }
13552
+ },
13553
+ "required": [
13554
+ "operationId"
13555
+ ],
13556
+ "additionalProperties": false
13557
+ },
13558
+ "outputSchema": {
13559
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
13560
+ "type": "object",
13561
+ "properties": {
13562
+ "kind": {
13563
+ "type": "string",
13564
+ "const": "operation"
10881
13565
  },
10882
- "preparedActionUrl": {
10883
- "anyOf": [
10884
- {
10885
- "type": "string",
10886
- "maxLength": 2e3,
10887
- "format": "uri"
10888
- },
10889
- {
10890
- "type": "null"
10891
- }
10892
- ]
13566
+ "operationId": {
13567
+ "type": "string",
13568
+ "minLength": 1,
13569
+ "maxLength": 191
10893
13570
  },
10894
- "whatChanged": {
13571
+ "survivingCustomerId": {
10895
13572
  "type": "string",
10896
13573
  "minLength": 1,
10897
- "maxLength": 8e3
13574
+ "maxLength": 191
10898
13575
  },
10899
- "whyItMatters": {
13576
+ "duplicateCustomerId": {
10900
13577
  "type": "string",
10901
13578
  "minLength": 1,
10902
- "maxLength": 8e3
13579
+ "maxLength": 191
10903
13580
  },
10904
- "uncertainty": {
10905
- "anyOf": [
10906
- {
10907
- "type": "string",
10908
- "minLength": 1,
10909
- "maxLength": 8e3
10910
- },
10911
- {
10912
- "type": "null"
10913
- }
13581
+ "status": {
13582
+ "type": "string",
13583
+ "enum": [
13584
+ "queued",
13585
+ "running",
13586
+ "completed",
13587
+ "failed"
10914
13588
  ]
10915
13589
  },
10916
- "priorityReason": {
13590
+ "phase": {
10917
13591
  "type": "string",
10918
13592
  "minLength": 1,
10919
- "maxLength": 8e3
10920
- },
10921
- "timeline": {
10922
- "maxItems": 20,
10923
- "type": "array",
10924
- "items": {
10925
- "type": "object",
10926
- "properties": {
10927
- "title": {
10928
- "type": "string",
10929
- "minLength": 1,
10930
- "maxLength": 240
10931
- },
10932
- "explanation": {
10933
- "type": "string",
10934
- "minLength": 1,
10935
- "maxLength": 4e3
10936
- },
10937
- "observedAt": {
10938
- "type": "string",
10939
- "format": "date-time",
10940
- "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))$"
10941
- }
10942
- },
10943
- "required": [
10944
- "title",
10945
- "explanation",
10946
- "observedAt"
10947
- ],
10948
- "additionalProperties": false
10949
- }
10950
- },
10951
- "evidence": {
10952
- "maxItems": 20,
10953
- "type": "array",
10954
- "items": {
10955
- "type": "object",
10956
- "properties": {
10957
- "role": {
10958
- "type": "string",
10959
- "enum": [
10960
- "supporting",
10961
- "contradictory",
10962
- "context"
10963
- ]
10964
- },
10965
- "kind": {
10966
- "type": "string",
10967
- "enum": [
10968
- "metric",
10969
- "communication",
10970
- "record",
10971
- "event"
10972
- ]
10973
- },
10974
- "title": {
10975
- "type": "string",
10976
- "minLength": 1,
10977
- "maxLength": 500
10978
- },
10979
- "observedAt": {
10980
- "anyOf": [
10981
- {
10982
- "type": "string",
10983
- "format": "date-time",
10984
- "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))$"
10985
- },
10986
- {
10987
- "type": "null"
10988
- }
10989
- ]
10990
- },
10991
- "window": {
10992
- "anyOf": [
10993
- {
10994
- "type": "object",
10995
- "properties": {
10996
- "start": {
10997
- "type": "string",
10998
- "format": "date-time",
10999
- "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))$"
11000
- },
11001
- "end": {
11002
- "type": "string",
11003
- "format": "date-time",
11004
- "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))$"
11005
- }
11006
- },
11007
- "required": [
11008
- "start",
11009
- "end"
11010
- ],
11011
- "additionalProperties": false
11012
- },
11013
- {
11014
- "type": "null"
11015
- }
11016
- ]
11017
- },
11018
- "sourceLabel": {
11019
- "type": "string",
11020
- "minLength": 1,
11021
- "maxLength": 240
11022
- }
11023
- },
11024
- "required": [
11025
- "role",
11026
- "kind",
11027
- "title",
11028
- "observedAt",
11029
- "window",
11030
- "sourceLabel"
11031
- ],
11032
- "additionalProperties": false
11033
- }
13593
+ "maxLength": 100
11034
13594
  },
11035
- "latestUpdate": {
11036
- "anyOf": [
11037
- {
11038
- "type": "object",
11039
- "properties": {
11040
- "updatedAt": {
11041
- "type": "string",
11042
- "format": "date-time",
11043
- "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))$"
11044
- },
11045
- "summary": {
11046
- "type": "string",
11047
- "minLength": 1,
11048
- "maxLength": 8e3
11049
- }
11050
- },
11051
- "required": [
11052
- "updatedAt",
11053
- "summary"
11054
- ],
11055
- "additionalProperties": false
13595
+ "error": {
13596
+ "type": "object",
13597
+ "properties": {
13598
+ "code": {
13599
+ "type": "string",
13600
+ "minLength": 1,
13601
+ "maxLength": 100
11056
13602
  },
11057
- {
11058
- "type": "null"
13603
+ "message": {
13604
+ "type": "string",
13605
+ "maxLength": 1e3
11059
13606
  }
11060
- ]
13607
+ },
13608
+ "required": [
13609
+ "code",
13610
+ "message"
13611
+ ],
13612
+ "additionalProperties": false
11061
13613
  }
11062
13614
  },
11063
13615
  "required": [
11064
- "id",
11065
- "customer",
11066
- "title",
11067
- "priority",
11068
- "evidenceCount",
11069
- "lifecycle",
11070
- "accountImportance",
11071
- "preparedActionUrl",
11072
- "whatChanged",
11073
- "whyItMatters",
11074
- "uncertainty",
11075
- "priorityReason",
11076
- "timeline",
11077
- "evidence",
11078
- "latestUpdate"
13616
+ "kind",
13617
+ "operationId",
13618
+ "survivingCustomerId",
13619
+ "duplicateCustomerId",
13620
+ "status",
13621
+ "phase"
11079
13622
  ],
11080
13623
  "additionalProperties": false
11081
13624
  }
@@ -11162,8 +13705,14 @@ var consumerToolPolicies = {
11162
13705
  "outlit_create_feature",
11163
13706
  "outlit_archive_feature",
11164
13707
  "outlit_get_customer_features",
13708
+ "outlit_get_customer_credits",
11165
13709
  "outlit_list_attention_items",
11166
- "outlit_get_attention_item"
13710
+ "outlit_get_attention_item",
13711
+ "outlit_get_customer_identity",
13712
+ "outlit_list_identity_merge_suggestions",
13713
+ "outlit_reject_identity_merge_suggestion",
13714
+ "outlit_merge_customers",
13715
+ "outlit_get_customer_merge_status"
11167
13716
  ],
11168
13717
  "cli": [
11169
13718
  "outlit_list_customers",
@@ -11204,8 +13753,14 @@ var consumerToolPolicies = {
11204
13753
  "outlit_create_feature",
11205
13754
  "outlit_archive_feature",
11206
13755
  "outlit_get_customer_features",
13756
+ "outlit_get_customer_credits",
11207
13757
  "outlit_list_attention_items",
11208
- "outlit_get_attention_item"
13758
+ "outlit_get_attention_item",
13759
+ "outlit_get_customer_identity",
13760
+ "outlit_list_identity_merge_suggestions",
13761
+ "outlit_reject_identity_merge_suggestion",
13762
+ "outlit_merge_customers",
13763
+ "outlit_get_customer_merge_status"
11209
13764
  ]
11210
13765
  };
11211
13766
  var toolGatewayTransport = {
@@ -11218,6 +13773,7 @@ var toolGatewayTransport = {
11218
13773
  403,
11219
13774
  404,
11220
13775
  409,
13776
+ 413,
11221
13777
  422,
11222
13778
  429,
11223
13779
  500,
@@ -11251,7 +13807,9 @@ var apiKeyGrants = [
11251
13807
  "activation:manage",
11252
13808
  "workspace_settings:read",
11253
13809
  "workspace_settings:manage",
11254
- "customer_access:manage"
13810
+ "customer_access:manage",
13811
+ "customer_identity:review",
13812
+ "customer_identity:merge"
11255
13813
  ];
11256
13814
  var apiKeyValidationSuccessSchema = {
11257
13815
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -11379,7 +13937,9 @@ var apiKeyValidationSuccessSchema = {
11379
13937
  "activation:manage",
11380
13938
  "workspace_settings:read",
11381
13939
  "workspace_settings:manage",
11382
- "customer_access:manage"
13940
+ "customer_access:manage",
13941
+ "customer_identity:review",
13942
+ "customer_identity:merge"
11383
13943
  ]
11384
13944
  }
11385
13945
  },
@@ -11437,7 +13997,9 @@ var apiKeyValidationSuccessSchema = {
11437
13997
  "activation:manage",
11438
13998
  "workspace_settings:read",
11439
13999
  "workspace_settings:manage",
11440
- "customer_access:manage"
14000
+ "customer_access:manage",
14001
+ "customer_identity:review",
14002
+ "customer_identity:merge"
11441
14003
  ]
11442
14004
  }
11443
14005
  }
@@ -11483,6 +14045,7 @@ var toolGatewayErrorCodes = [
11483
14045
  "TOOL_BINDING_MISSING",
11484
14046
  "TOOL_IMPLEMENTATION_ERROR",
11485
14047
  "TOOL_OUTPUT_INVALID",
14048
+ "TOOL_RESULT_TOO_LARGE",
11486
14049
  "TOOL_GATEWAY_ERROR",
11487
14050
  "plan_api_limit_exceeded",
11488
14051
  "plan_billing_action_required"
@@ -11502,6 +14065,7 @@ var toolGatewayErrorSchema = {
11502
14065
  "TOOL_BINDING_MISSING",
11503
14066
  "TOOL_IMPLEMENTATION_ERROR",
11504
14067
  "TOOL_OUTPUT_INVALID",
14068
+ "TOOL_RESULT_TOO_LARGE",
11505
14069
  "TOOL_GATEWAY_ERROR",
11506
14070
  "plan_api_limit_exceeded",
11507
14071
  "plan_billing_action_required"
@@ -11531,6 +14095,39 @@ var toolGatewayErrorSchema = {
11531
14095
  "type": "null"
11532
14096
  }
11533
14097
  ]
14098
+ },
14099
+ "limitBytes": {
14100
+ "type": "integer",
14101
+ "exclusiveMinimum": 0,
14102
+ "maximum": 9007199254740991
14103
+ },
14104
+ "actualBytes": {
14105
+ "type": "integer",
14106
+ "exclusiveMinimum": 0,
14107
+ "maximum": 9007199254740991
14108
+ },
14109
+ "validationIssues": {
14110
+ "maxItems": 10,
14111
+ "type": "array",
14112
+ "items": {
14113
+ "type": "object",
14114
+ "properties": {
14115
+ "code": {
14116
+ "type": "string",
14117
+ "minLength": 1,
14118
+ "maxLength": 100
14119
+ },
14120
+ "path": {
14121
+ "type": "string",
14122
+ "maxLength": 200
14123
+ }
14124
+ },
14125
+ "required": [
14126
+ "code",
14127
+ "path"
14128
+ ],
14129
+ "additionalProperties": false
14130
+ }
11534
14131
  }
11535
14132
  },
11536
14133
  "required": [
@@ -12362,19 +14959,22 @@ var customerFactTypes = [
12362
14959
  "STRATEGY",
12363
14960
  "COMPETITIVE",
12364
14961
  "SENTIMENT",
12365
- "CHAMPION_RISK",
12366
14962
  "EXPANSION",
12367
14963
  "CHURN_RISK",
12368
14964
  "TIMELINE",
12369
14965
  "BUDGET",
12370
14966
  "DECISION_MAKER",
12371
14967
  "REQUIREMENTS",
14968
+ "BLOCKER",
14969
+ "COMMITMENT",
14970
+ "SUCCESS_CRITERION",
12372
14971
  "PRODUCT_USAGE",
12373
14972
  "CONTACT_INFO",
12374
14973
  "CONTACT_PREFERENCE",
12375
14974
  "CONTACT_DEPARTURE",
12376
14975
  "CONTACT_POSITION_CHANGE",
12377
- "CONTACT_DISENGAGEMENT"
14976
+ "CONTACT_DISENGAGEMENT",
14977
+ "CHAMPION_RISK"
12378
14978
  ];
12379
14979
  var unsupportedCustomerFactTypes = [
12380
14980
  "TRACKING_GAP",
@@ -12481,7 +15081,7 @@ var schemaTables = [
12481
15081
  "users",
12482
15082
  "revenue"
12483
15083
  ];
12484
- var sdkConsumerContractHash = "6e94d54edef77e194566831299475f1814ec8a4cf6302aa38f7fd2d596623673";
15084
+ var sdkConsumerContractHash = "b2bc7e86d4e524f2799b4b676f6ee94c2f8184d572771ed51311f79139a261d5";
12485
15085
 
12486
15086
  // src/contracts.ts
12487
15087
  var publicToolNameSet = new Set(publicToolNames);