@outlit/cli 3.2.2 → 3.2.4
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/cli.js +2529 -367
- package/package.json +2 -2
package/dist/cli.js
CHANGED
|
@@ -104,7 +104,7 @@ var package_default;
|
|
|
104
104
|
var init_package = __esm(() => {
|
|
105
105
|
package_default = {
|
|
106
106
|
name: "@outlit/cli",
|
|
107
|
-
version: "3.2.
|
|
107
|
+
version: "3.2.4",
|
|
108
108
|
description: "CLI for querying Outlit customer context and installing agent skills",
|
|
109
109
|
license: "Apache-2.0",
|
|
110
110
|
repository: {
|
|
@@ -147,7 +147,7 @@ var init_package = __esm(() => {
|
|
|
147
147
|
},
|
|
148
148
|
dependencies: {
|
|
149
149
|
"@clack/prompts": "^1.0.1",
|
|
150
|
-
"@outlit/tools": "^2.2.
|
|
150
|
+
"@outlit/tools": "^2.2.3",
|
|
151
151
|
citty: "^0.2.1"
|
|
152
152
|
},
|
|
153
153
|
devDependencies: {
|
|
@@ -1742,6 +1742,7 @@ var init_dist4 = __esm(() => {
|
|
|
1742
1742
|
"outlit_enable_destination",
|
|
1743
1743
|
"outlit_disable_destination",
|
|
1744
1744
|
"outlit_archive_destination",
|
|
1745
|
+
"outlit_submit_feedback",
|
|
1745
1746
|
"outlit_get_integration_capabilities",
|
|
1746
1747
|
"outlit_begin_integration_setup",
|
|
1747
1748
|
"outlit_get_integration_setup_status",
|
|
@@ -1763,7 +1764,11 @@ var init_dist4 = __esm(() => {
|
|
|
1763
1764
|
"outlit_list_identity_merge_suggestions",
|
|
1764
1765
|
"outlit_reject_identity_merge_suggestion",
|
|
1765
1766
|
"outlit_merge_customers",
|
|
1766
|
-
"outlit_get_customer_merge_status"
|
|
1767
|
+
"outlit_get_customer_merge_status",
|
|
1768
|
+
"outlit_list_scoped_repairs",
|
|
1769
|
+
"outlit_preview_scoped_repair",
|
|
1770
|
+
"outlit_execute_scoped_repair",
|
|
1771
|
+
"outlit_verify_scoped_repair"
|
|
1767
1772
|
];
|
|
1768
1773
|
publicToolContracts = {
|
|
1769
1774
|
outlit_list_customers: {
|
|
@@ -1772,7 +1777,11 @@ var init_dist4 = __esm(() => {
|
|
|
1772
1777
|
commandVersion: 1,
|
|
1773
1778
|
ownerDomain: "customers",
|
|
1774
1779
|
title: "List Customers",
|
|
1775
|
-
description: "Browse and filter customers. Use this to find customers by billing status, activity recency, revenue, or name. Returns a paginated list with summary info (MRR, last activity, status).",
|
|
1780
|
+
description: "Browse and filter customers. Use this to find customers by billing status, activity recency, revenue, or name. Returns a paginated list with summary info (MRR, last activity, status). currentMrr is in the billing provider's units for the customer's currency, which the result doesn't name. For USD, EUR, GBP and CAD this is cents: divide by 100 (e.g. 1234500 is $12,345 MRR, USD). Other currencies follow the provider's amount rules. ARR is 12 × currentMrr in the same units.",
|
|
1781
|
+
annotations: {
|
|
1782
|
+
readOnlyHint: true,
|
|
1783
|
+
destructiveHint: false
|
|
1784
|
+
},
|
|
1776
1785
|
inputSchema: {
|
|
1777
1786
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
1778
1787
|
type: "object",
|
|
@@ -1815,12 +1824,12 @@ var init_dist4 = __esm(() => {
|
|
|
1815
1824
|
]
|
|
1816
1825
|
},
|
|
1817
1826
|
mrrAbove: {
|
|
1818
|
-
description: "Minimum MRR in
|
|
1827
|
+
description: "Minimum MRR, in currentMrr's units (10000 is $100 for a customer billed in USD)",
|
|
1819
1828
|
type: "number",
|
|
1820
1829
|
minimum: 0
|
|
1821
1830
|
},
|
|
1822
1831
|
mrrBelow: {
|
|
1823
|
-
description: "Maximum MRR in
|
|
1832
|
+
description: "Maximum MRR, in currentMrr's units",
|
|
1824
1833
|
type: "number",
|
|
1825
1834
|
minimum: 0
|
|
1826
1835
|
},
|
|
@@ -1983,7 +1992,8 @@ var init_dist4 = __esm(() => {
|
|
|
1983
1992
|
{
|
|
1984
1993
|
type: "null"
|
|
1985
1994
|
}
|
|
1986
|
-
]
|
|
1995
|
+
],
|
|
1996
|
+
description: "Monthly recurring revenue as an integer amount in the billing provider's units for the customer's currency, which this result doesn't name. For USD, EUR, GBP and CAD this is cents: divide by 100 (e.g. 1234500 is $12,345, USD). Other currencies follow the provider's amount rules (Stripe's currency docs), so don't assume a divisor for them. ARR is 12 × this value in the same units. Null unless mrrCalculationStatus is calculated."
|
|
1987
1997
|
},
|
|
1988
1998
|
mrrCalculationStatus: {
|
|
1989
1999
|
type: "string",
|
|
@@ -2094,6 +2104,10 @@ var init_dist4 = __esm(() => {
|
|
|
2094
2104
|
ownerDomain: "users",
|
|
2095
2105
|
title: "List Users",
|
|
2096
2106
|
description: "Browse and filter users. Use this to find users by journey stage, activity recency, customer, or email/name. Returns a paginated list with activity info.",
|
|
2107
|
+
annotations: {
|
|
2108
|
+
readOnlyHint: true,
|
|
2109
|
+
destructiveHint: false
|
|
2110
|
+
},
|
|
2097
2111
|
inputSchema: {
|
|
2098
2112
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
2099
2113
|
type: "object",
|
|
@@ -2374,6 +2388,10 @@ var init_dist4 = __esm(() => {
|
|
|
2374
2388
|
ownerDomain: "users",
|
|
2375
2389
|
title: "List Workspace Users",
|
|
2376
2390
|
description: "List active workspace members who resolve to local Outlit users. Use this to discover exact user IDs for customer ownership and access commands or to browse account ownership.",
|
|
2391
|
+
annotations: {
|
|
2392
|
+
readOnlyHint: true,
|
|
2393
|
+
destructiveHint: false
|
|
2394
|
+
},
|
|
2377
2395
|
inputSchema: {
|
|
2378
2396
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
2379
2397
|
type: "object",
|
|
@@ -2560,7 +2578,11 @@ var init_dist4 = __esm(() => {
|
|
|
2560
2578
|
commandVersion: 1,
|
|
2561
2579
|
ownerDomain: "customers",
|
|
2562
2580
|
title: "Get Customer",
|
|
2563
|
-
description: "Get full details for a single customer. Optionally include users, revenue, recent activity, engagement metrics, or company enrichment.",
|
|
2581
|
+
description: "Get full details for a single customer. Optionally include users, revenue, recent activity, engagement metrics, or company enrichment. Revenue amounts (currentMrr, lifetimeRevenue) are in the billing provider's units for the customer's currency, which the result doesn't name. For USD, EUR, GBP and CAD these are cents: divide by 100 (e.g. 1234500 is $12,345, USD). Other currencies follow the provider's amount rules. ARR is 12 × currentMrr in the same units.",
|
|
2582
|
+
annotations: {
|
|
2583
|
+
readOnlyHint: true,
|
|
2584
|
+
destructiveHint: false
|
|
2585
|
+
},
|
|
2564
2586
|
inputSchema: {
|
|
2565
2587
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
2566
2588
|
type: "object",
|
|
@@ -2826,7 +2848,8 @@ var init_dist4 = __esm(() => {
|
|
|
2826
2848
|
{
|
|
2827
2849
|
type: "null"
|
|
2828
2850
|
}
|
|
2829
|
-
]
|
|
2851
|
+
],
|
|
2852
|
+
description: "Monthly recurring revenue as an integer amount in the billing provider's units for the customer's currency, which this result doesn't name. For USD, EUR, GBP and CAD this is cents: divide by 100 (e.g. 1234500 is $12,345, USD). Other currencies follow the provider's amount rules (Stripe's currency docs), so don't assume a divisor for them. ARR is 12 × this value in the same units. Null unless mrrCalculationStatus is calculated."
|
|
2830
2853
|
},
|
|
2831
2854
|
mrrCalculationStatus: {
|
|
2832
2855
|
type: "string",
|
|
@@ -2837,7 +2860,8 @@ var init_dist4 = __esm(() => {
|
|
|
2837
2860
|
]
|
|
2838
2861
|
},
|
|
2839
2862
|
lifetimeRevenue: {
|
|
2840
|
-
type: "number"
|
|
2863
|
+
type: "number",
|
|
2864
|
+
description: "Lifetime revenue in the billing provider's units for the currency it was billed in, like currentMrr: cents for USD, EUR, GBP and CAD, so divide by 100. Other currencies follow the provider's amount rules, so don't assume a divisor for them."
|
|
2841
2865
|
},
|
|
2842
2866
|
activeSubscriptions: {
|
|
2843
2867
|
type: "integer",
|
|
@@ -3363,6 +3387,10 @@ var init_dist4 = __esm(() => {
|
|
|
3363
3387
|
ownerDomain: "customers",
|
|
3364
3388
|
title: "Get Customer Relationship",
|
|
3365
3389
|
description: "Get the bounded, evidence-backed relationship shown on a customer page. Returns a summary, categorized current statements with ISO observed-at timestamps when supported, source labels, and the compiled summary timestamp when available without raw facts, quotes, or internal status.",
|
|
3390
|
+
annotations: {
|
|
3391
|
+
readOnlyHint: true,
|
|
3392
|
+
destructiveHint: false
|
|
3393
|
+
},
|
|
3366
3394
|
inputSchema: {
|
|
3367
3395
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
3368
3396
|
type: "object",
|
|
@@ -3514,6 +3542,10 @@ var init_dist4 = __esm(() => {
|
|
|
3514
3542
|
ownerDomain: "customers",
|
|
3515
3543
|
title: "Assign Customer Owner",
|
|
3516
3544
|
description: "Assign an active workspace member as this customer’s primary owner. The former owner keeps Editor access.",
|
|
3545
|
+
annotations: {
|
|
3546
|
+
readOnlyHint: false,
|
|
3547
|
+
destructiveHint: false
|
|
3548
|
+
},
|
|
3517
3549
|
inputSchema: {
|
|
3518
3550
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
3519
3551
|
type: "object",
|
|
@@ -3570,6 +3602,10 @@ var init_dist4 = __esm(() => {
|
|
|
3570
3602
|
ownerDomain: "customers",
|
|
3571
3603
|
title: "Grant Customer Access",
|
|
3572
3604
|
description: "Share a customer with an active workspace member as a Viewer or Editor. The customer ID must be exact.",
|
|
3605
|
+
annotations: {
|
|
3606
|
+
readOnlyHint: false,
|
|
3607
|
+
destructiveHint: false
|
|
3608
|
+
},
|
|
3573
3609
|
inputSchema: {
|
|
3574
3610
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
3575
3611
|
type: "object",
|
|
@@ -3651,6 +3687,10 @@ var init_dist4 = __esm(() => {
|
|
|
3651
3687
|
ownerDomain: "customers",
|
|
3652
3688
|
title: "Update Customer Access",
|
|
3653
3689
|
description: "Change an existing customer collaborator between Viewer and Editor.",
|
|
3690
|
+
annotations: {
|
|
3691
|
+
readOnlyHint: false,
|
|
3692
|
+
destructiveHint: false
|
|
3693
|
+
},
|
|
3654
3694
|
inputSchema: {
|
|
3655
3695
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
3656
3696
|
type: "object",
|
|
@@ -3732,6 +3772,10 @@ var init_dist4 = __esm(() => {
|
|
|
3732
3772
|
ownerDomain: "customers",
|
|
3733
3773
|
title: "Revoke Customer Access",
|
|
3734
3774
|
description: "Remove a collaborator’s explicit access to a customer.",
|
|
3775
|
+
annotations: {
|
|
3776
|
+
readOnlyHint: false,
|
|
3777
|
+
destructiveHint: true
|
|
3778
|
+
},
|
|
3735
3779
|
inputSchema: {
|
|
3736
3780
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
3737
3781
|
type: "object",
|
|
@@ -3776,7 +3820,11 @@ var init_dist4 = __esm(() => {
|
|
|
3776
3820
|
commandVersion: 1,
|
|
3777
3821
|
ownerDomain: "customer-context",
|
|
3778
3822
|
title: "Get Customer Timeline",
|
|
3779
|
-
description:
|
|
3823
|
+
description: 'Get the chronological activity timeline for a customer — compact event entries by default, so unfiltered calls stay small. When channels is omitted the response covers the relationship chronology (communication, meetings, support, CRM, billing). Pass channels:["PRODUCT"] to add a weekly product-usage aggregate; set productDetail to "material" or "raw" to also return individual product events. Set includeMetadata:true only when a specific event metadata field is needed; pass sourceType/sourceId or sourceRef to outlit_get_source to read a full underlying record.',
|
|
3824
|
+
annotations: {
|
|
3825
|
+
readOnlyHint: true,
|
|
3826
|
+
destructiveHint: false
|
|
3827
|
+
},
|
|
3780
3828
|
inputSchema: {
|
|
3781
3829
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
3782
3830
|
type: "object",
|
|
@@ -3788,7 +3836,7 @@ var init_dist4 = __esm(() => {
|
|
|
3788
3836
|
description: "Customer ID or domain"
|
|
3789
3837
|
},
|
|
3790
3838
|
channels: {
|
|
3791
|
-
description:
|
|
3839
|
+
description: 'Filter by event channel. When omitted, defaults to the relationship channels COMMUNICATION, MEETING, SUPPORT, CRM, and BILLING. PRODUCT, IDENTITY, DOCUMENT, and SYSTEM are included only when listed here. Pass channels:["PRODUCT"] to read the weekly product usage aggregate, and combine with productDetail to also return individual product events.',
|
|
3792
3840
|
type: "array",
|
|
3793
3841
|
items: {
|
|
3794
3842
|
type: "string",
|
|
@@ -3805,6 +3853,19 @@ var init_dist4 = __esm(() => {
|
|
|
3805
3853
|
]
|
|
3806
3854
|
}
|
|
3807
3855
|
},
|
|
3856
|
+
productDetail: {
|
|
3857
|
+
description: 'Controls whether PRODUCT-channel rows appear in `events` when channels includes PRODUCT. "none" (default): product activity is returned only as the `product` weekly usage aggregate — no product telemetry rows. "material": also include individual product events that match the organization\'s configured value-feature event names (each keeps an `id` usable for citations); when the organization has no configured value features this returns no product rows, but the `product` aggregate is still returned. "raw": include every product event, including autocapture, pageview, feature-flag, and identity telemetry — large; request only when the aggregate and material events are insufficient.',
|
|
3858
|
+
type: "string",
|
|
3859
|
+
enum: [
|
|
3860
|
+
"none",
|
|
3861
|
+
"material",
|
|
3862
|
+
"raw"
|
|
3863
|
+
]
|
|
3864
|
+
},
|
|
3865
|
+
includeMetadata: {
|
|
3866
|
+
description: "Include each event's raw metadata/properties payload. Default false: events return compact fields only, keeping the response small. Pass true only when a specific metadata field is needed.",
|
|
3867
|
+
type: "boolean"
|
|
3868
|
+
},
|
|
3808
3869
|
eventTypes: {
|
|
3809
3870
|
description: "Filter by event type",
|
|
3810
3871
|
type: "array",
|
|
@@ -3861,7 +3922,8 @@ var init_dist4 = __esm(() => {
|
|
|
3861
3922
|
type: "object",
|
|
3862
3923
|
properties: {
|
|
3863
3924
|
id: {
|
|
3864
|
-
type: "string"
|
|
3925
|
+
type: "string",
|
|
3926
|
+
description: "Stable event identifier. Pass as timeline_event eventId when citing this event."
|
|
3865
3927
|
},
|
|
3866
3928
|
eventType: {
|
|
3867
3929
|
type: "string"
|
|
@@ -3901,7 +3963,8 @@ var init_dist4 = __esm(() => {
|
|
|
3901
3963
|
{
|
|
3902
3964
|
type: "null"
|
|
3903
3965
|
}
|
|
3904
|
-
]
|
|
3966
|
+
],
|
|
3967
|
+
description: "Bounded display summary, truncated past roughly 2 KB. Use outlit_get_source on sourceType/sourceId for the full underlying content."
|
|
3905
3968
|
},
|
|
3906
3969
|
occurredAt: {
|
|
3907
3970
|
type: "string",
|
|
@@ -3939,6 +4002,7 @@ var init_dist4 = __esm(() => {
|
|
|
3939
4002
|
]
|
|
3940
4003
|
},
|
|
3941
4004
|
sourceRef: {
|
|
4005
|
+
description: "Canonical source handle for this event, emitted only when outlit_get_source can retrieve the underlying record; omitted when the event is marked unreadable.",
|
|
3942
4006
|
type: "object",
|
|
3943
4007
|
properties: {
|
|
3944
4008
|
sourceType: {
|
|
@@ -3954,7 +4018,17 @@ var init_dist4 = __esm(() => {
|
|
|
3954
4018
|
],
|
|
3955
4019
|
additionalProperties: false
|
|
3956
4020
|
},
|
|
4021
|
+
unreadable: {
|
|
4022
|
+
description: "Present only when the event's underlying source record cannot be retrieved via outlit_get_source. Do not retry source lookups for this event.",
|
|
4023
|
+
type: "boolean",
|
|
4024
|
+
const: true
|
|
4025
|
+
},
|
|
4026
|
+
unreadableReason: {
|
|
4027
|
+
description: "Why the event's source is unreadable, e.g. unresolved_source or ambiguous_source.",
|
|
4028
|
+
type: "string"
|
|
4029
|
+
},
|
|
3957
4030
|
metadata: {
|
|
4031
|
+
description: "Raw event properties. Present only when the request set includeMetadata:true.",
|
|
3958
4032
|
type: "object",
|
|
3959
4033
|
propertyNames: {
|
|
3960
4034
|
type: "string"
|
|
@@ -3972,8 +4046,7 @@ var init_dist4 = __esm(() => {
|
|
|
3972
4046
|
"occurredAt",
|
|
3973
4047
|
"contact",
|
|
3974
4048
|
"sourceType",
|
|
3975
|
-
"sourceId"
|
|
3976
|
-
"metadata"
|
|
4049
|
+
"sourceId"
|
|
3977
4050
|
],
|
|
3978
4051
|
additionalProperties: false
|
|
3979
4052
|
}
|
|
@@ -3993,11 +4066,112 @@ var init_dist4 = __esm(() => {
|
|
|
3993
4066
|
type: "null"
|
|
3994
4067
|
}
|
|
3995
4068
|
]
|
|
4069
|
+
},
|
|
4070
|
+
effectiveLimit: {
|
|
4071
|
+
type: "integer",
|
|
4072
|
+
minimum: 1,
|
|
4073
|
+
maximum: 9007199254740991,
|
|
4074
|
+
description: "The maximum number of events a page of this response can contain. Responses can hold fewer events than requested when hosted response-size limits apply; callers should rely on pagination.hasMore/nextCursor rather than event count to detect truncation."
|
|
3996
4075
|
}
|
|
3997
4076
|
},
|
|
3998
4077
|
required: [
|
|
3999
4078
|
"hasMore",
|
|
4000
|
-
"nextCursor"
|
|
4079
|
+
"nextCursor",
|
|
4080
|
+
"effectiveLimit"
|
|
4081
|
+
],
|
|
4082
|
+
additionalProperties: false
|
|
4083
|
+
},
|
|
4084
|
+
product: {
|
|
4085
|
+
description: 'Present when the request\'s channels include PRODUCT. Weekly product usage aggregate for the requested window: value-feature event counts and distinct active users per UTC week, plus the window\'s top value-feature event names. Individual product events appear in `events` only when productDetail is "material" or "raw".',
|
|
4086
|
+
type: "object",
|
|
4087
|
+
properties: {
|
|
4088
|
+
windowStartAt: {
|
|
4089
|
+
type: "string",
|
|
4090
|
+
format: "date-time",
|
|
4091
|
+
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))$",
|
|
4092
|
+
description: "Start of the aggregate coverage window: the UTC week containing the requested start (or the earliest retained week)."
|
|
4093
|
+
},
|
|
4094
|
+
windowEndAt: {
|
|
4095
|
+
type: "string",
|
|
4096
|
+
format: "date-time",
|
|
4097
|
+
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))$",
|
|
4098
|
+
description: "End of the aggregate coverage window (the request end bound)"
|
|
4099
|
+
},
|
|
4100
|
+
weeklyBuckets: {
|
|
4101
|
+
type: "array",
|
|
4102
|
+
items: {
|
|
4103
|
+
type: "object",
|
|
4104
|
+
properties: {
|
|
4105
|
+
weekStartAt: {
|
|
4106
|
+
type: "string",
|
|
4107
|
+
format: "date-time",
|
|
4108
|
+
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))$",
|
|
4109
|
+
description: "Start of the bucket's UTC week (Monday 00:00:00Z)"
|
|
4110
|
+
},
|
|
4111
|
+
events: {
|
|
4112
|
+
type: "integer",
|
|
4113
|
+
minimum: 0,
|
|
4114
|
+
maximum: 9007199254740991,
|
|
4115
|
+
description: "Events in this week matching the organization's configured value features"
|
|
4116
|
+
},
|
|
4117
|
+
activeUsers: {
|
|
4118
|
+
type: "integer",
|
|
4119
|
+
minimum: 0,
|
|
4120
|
+
maximum: 9007199254740991,
|
|
4121
|
+
description: "Distinct users with product activity this week"
|
|
4122
|
+
}
|
|
4123
|
+
},
|
|
4124
|
+
required: [
|
|
4125
|
+
"weekStartAt",
|
|
4126
|
+
"events",
|
|
4127
|
+
"activeUsers"
|
|
4128
|
+
],
|
|
4129
|
+
additionalProperties: false
|
|
4130
|
+
},
|
|
4131
|
+
description: "UTC week buckets covering the requested window, oldest first"
|
|
4132
|
+
},
|
|
4133
|
+
topEventNames: {
|
|
4134
|
+
type: "array",
|
|
4135
|
+
items: {
|
|
4136
|
+
type: "object",
|
|
4137
|
+
properties: {
|
|
4138
|
+
eventName: {
|
|
4139
|
+
type: "string"
|
|
4140
|
+
},
|
|
4141
|
+
events: {
|
|
4142
|
+
type: "integer",
|
|
4143
|
+
minimum: 0,
|
|
4144
|
+
maximum: 9007199254740991
|
|
4145
|
+
}
|
|
4146
|
+
},
|
|
4147
|
+
required: [
|
|
4148
|
+
"eventName",
|
|
4149
|
+
"events"
|
|
4150
|
+
],
|
|
4151
|
+
additionalProperties: false
|
|
4152
|
+
},
|
|
4153
|
+
description: "Most frequent configured value-feature event names across the window"
|
|
4154
|
+
}
|
|
4155
|
+
},
|
|
4156
|
+
required: [
|
|
4157
|
+
"windowStartAt",
|
|
4158
|
+
"windowEndAt",
|
|
4159
|
+
"weeklyBuckets",
|
|
4160
|
+
"topEventNames"
|
|
4161
|
+
],
|
|
4162
|
+
additionalProperties: false
|
|
4163
|
+
},
|
|
4164
|
+
productUnavailable: {
|
|
4165
|
+
description: "Present only when channels included PRODUCT but the weekly usage aggregate could not be computed. Report product usage as unavailable — never as zero or absent usage. When configured value-feature names are still known, material product events are returned in `events` instead of the aggregate.",
|
|
4166
|
+
type: "object",
|
|
4167
|
+
properties: {
|
|
4168
|
+
reason: {
|
|
4169
|
+
type: "string",
|
|
4170
|
+
description: "Machine-readable reason the usage aggregate could not be computed"
|
|
4171
|
+
}
|
|
4172
|
+
},
|
|
4173
|
+
required: [
|
|
4174
|
+
"reason"
|
|
4001
4175
|
],
|
|
4002
4176
|
additionalProperties: false
|
|
4003
4177
|
}
|
|
@@ -4016,6 +4190,10 @@ var init_dist4 = __esm(() => {
|
|
|
4016
4190
|
ownerDomain: "customer-context",
|
|
4017
4191
|
title: "List Customer Facts",
|
|
4018
4192
|
description: "List structured facts known about a customer. Use filters like status, sourceTypes, factTypes, factCategories, and date bounds to narrow the result set. For topic-specific retrieval, use outlit_search_customer_context instead.",
|
|
4193
|
+
annotations: {
|
|
4194
|
+
readOnlyHint: true,
|
|
4195
|
+
destructiveHint: false
|
|
4196
|
+
},
|
|
4019
4197
|
inputSchema: {
|
|
4020
4198
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
4021
4199
|
type: "object",
|
|
@@ -4702,6 +4880,10 @@ CHAMPION_RISK: Historical broad relationship-risk fact retained for existing row
|
|
|
4702
4880
|
ownerDomain: "customer-context",
|
|
4703
4881
|
title: "Get Customer Fact",
|
|
4704
4882
|
description: "Get one exact fact by ID. Returns the canonical fact shape and optionally expands requested related data such as evidence.",
|
|
4883
|
+
annotations: {
|
|
4884
|
+
readOnlyHint: true,
|
|
4885
|
+
destructiveHint: false
|
|
4886
|
+
},
|
|
4705
4887
|
inputSchema: {
|
|
4706
4888
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
4707
4889
|
type: "object",
|
|
@@ -5204,6 +5386,10 @@ CHAMPION_RISK: Historical broad relationship-risk fact retained for existing row
|
|
|
5204
5386
|
ownerDomain: "customer-context",
|
|
5205
5387
|
title: "Get Source",
|
|
5206
5388
|
description: "Get one exact source record by generic sourceType and sourceId. Use this when you already know the concrete underlying source you want to inspect.",
|
|
5389
|
+
annotations: {
|
|
5390
|
+
readOnlyHint: true,
|
|
5391
|
+
destructiveHint: false
|
|
5392
|
+
},
|
|
5207
5393
|
inputSchema: {
|
|
5208
5394
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
5209
5395
|
type: "object",
|
|
@@ -5584,6 +5770,10 @@ CHAMPION_RISK: Historical broad relationship-risk fact retained for existing row
|
|
|
5584
5770
|
ownerDomain: "customer-context",
|
|
5585
5771
|
title: "List Sources",
|
|
5586
5772
|
description: "List concrete source records deterministically. Use this instead of semantic search when you need enumerated calls, emails, calendar events, support tickets, Slack conversations, or opportunities.",
|
|
5773
|
+
annotations: {
|
|
5774
|
+
readOnlyHint: true,
|
|
5775
|
+
destructiveHint: false
|
|
5776
|
+
},
|
|
5587
5777
|
inputSchema: {
|
|
5588
5778
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
5589
5779
|
type: "object",
|
|
@@ -6027,6 +6217,10 @@ CHAMPION_RISK: Historical broad relationship-risk fact retained for existing row
|
|
|
6027
6217
|
ownerDomain: "customer-context",
|
|
6028
6218
|
title: "Search Customer Context",
|
|
6029
6219
|
description: "Search across all known customer context using a natural-language query. Returns ranked artifact-level discovery previews with at most two matching excerpts per source or fact. Use outlit_get_source with a returned sourceType and sourceId when you need the canonical source contents. Omit customer to search across all customers in the organization.",
|
|
6220
|
+
annotations: {
|
|
6221
|
+
readOnlyHint: true,
|
|
6222
|
+
destructiveHint: false
|
|
6223
|
+
},
|
|
6030
6224
|
inputSchema: {
|
|
6031
6225
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
6032
6226
|
type: "object",
|
|
@@ -6151,6 +6345,48 @@ CHAMPION_RISK: Historical broad relationship-risk fact retained for existing row
|
|
|
6151
6345
|
score: {
|
|
6152
6346
|
type: "number"
|
|
6153
6347
|
},
|
|
6348
|
+
customer: {
|
|
6349
|
+
description: "The customer this result belongs to. Null when it can't be attributed to exactly one customer the caller can read.",
|
|
6350
|
+
anyOf: [
|
|
6351
|
+
{
|
|
6352
|
+
type: "object",
|
|
6353
|
+
properties: {
|
|
6354
|
+
id: {
|
|
6355
|
+
type: "string"
|
|
6356
|
+
},
|
|
6357
|
+
name: {
|
|
6358
|
+
anyOf: [
|
|
6359
|
+
{
|
|
6360
|
+
type: "string"
|
|
6361
|
+
},
|
|
6362
|
+
{
|
|
6363
|
+
type: "null"
|
|
6364
|
+
}
|
|
6365
|
+
]
|
|
6366
|
+
},
|
|
6367
|
+
domain: {
|
|
6368
|
+
anyOf: [
|
|
6369
|
+
{
|
|
6370
|
+
type: "string"
|
|
6371
|
+
},
|
|
6372
|
+
{
|
|
6373
|
+
type: "null"
|
|
6374
|
+
}
|
|
6375
|
+
]
|
|
6376
|
+
}
|
|
6377
|
+
},
|
|
6378
|
+
required: [
|
|
6379
|
+
"id",
|
|
6380
|
+
"name",
|
|
6381
|
+
"domain"
|
|
6382
|
+
],
|
|
6383
|
+
additionalProperties: false
|
|
6384
|
+
},
|
|
6385
|
+
{
|
|
6386
|
+
type: "null"
|
|
6387
|
+
}
|
|
6388
|
+
]
|
|
6389
|
+
},
|
|
6154
6390
|
matchCount: {
|
|
6155
6391
|
type: "integer",
|
|
6156
6392
|
minimum: 0,
|
|
@@ -6681,6 +6917,48 @@ CHAMPION_RISK: Historical broad relationship-risk fact retained for existing row
|
|
|
6681
6917
|
sourceId: {
|
|
6682
6918
|
type: "string"
|
|
6683
6919
|
},
|
|
6920
|
+
customer: {
|
|
6921
|
+
description: "The customer this result belongs to. Null when it can't be attributed to exactly one customer the caller can read.",
|
|
6922
|
+
anyOf: [
|
|
6923
|
+
{
|
|
6924
|
+
type: "object",
|
|
6925
|
+
properties: {
|
|
6926
|
+
id: {
|
|
6927
|
+
type: "string"
|
|
6928
|
+
},
|
|
6929
|
+
name: {
|
|
6930
|
+
anyOf: [
|
|
6931
|
+
{
|
|
6932
|
+
type: "string"
|
|
6933
|
+
},
|
|
6934
|
+
{
|
|
6935
|
+
type: "null"
|
|
6936
|
+
}
|
|
6937
|
+
]
|
|
6938
|
+
},
|
|
6939
|
+
domain: {
|
|
6940
|
+
anyOf: [
|
|
6941
|
+
{
|
|
6942
|
+
type: "string"
|
|
6943
|
+
},
|
|
6944
|
+
{
|
|
6945
|
+
type: "null"
|
|
6946
|
+
}
|
|
6947
|
+
]
|
|
6948
|
+
}
|
|
6949
|
+
},
|
|
6950
|
+
required: [
|
|
6951
|
+
"id",
|
|
6952
|
+
"name",
|
|
6953
|
+
"domain"
|
|
6954
|
+
],
|
|
6955
|
+
additionalProperties: false
|
|
6956
|
+
},
|
|
6957
|
+
{
|
|
6958
|
+
type: "null"
|
|
6959
|
+
}
|
|
6960
|
+
]
|
|
6961
|
+
},
|
|
6684
6962
|
occurredAt: {
|
|
6685
6963
|
anyOf: [
|
|
6686
6964
|
{
|
|
@@ -6816,6 +7094,10 @@ Example queries:
|
|
|
6816
7094
|
- SELECT event_name, count(*) FROM activity GROUP BY 1 ORDER BY 2 DESC LIMIT 10
|
|
6817
7095
|
- SELECT billing_status, sum(mrr_cents)/100 as mrr FROM customers GROUP BY 1
|
|
6818
7096
|
- SELECT * FROM activity WHERE customer_id = 'cust_123' ORDER BY occurred_at DESC LIMIT 50`,
|
|
7097
|
+
annotations: {
|
|
7098
|
+
readOnlyHint: true,
|
|
7099
|
+
destructiveHint: false
|
|
7100
|
+
},
|
|
6819
7101
|
inputSchema: {
|
|
6820
7102
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
6821
7103
|
type: "object",
|
|
@@ -6898,6 +7180,10 @@ Example queries:
|
|
|
6898
7180
|
|
|
6899
7181
|
Use this to discover column names, types, and descriptions before writing SQL queries.
|
|
6900
7182
|
Returns column definitions and example queries for each view.`,
|
|
7183
|
+
annotations: {
|
|
7184
|
+
readOnlyHint: true,
|
|
7185
|
+
destructiveHint: false
|
|
7186
|
+
},
|
|
6901
7187
|
inputSchema: {
|
|
6902
7188
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
6903
7189
|
type: "object",
|
|
@@ -7102,6 +7388,10 @@ Returns column definitions and example queries for each view.`,
|
|
|
7102
7388
|
ownerDomain: "destinations",
|
|
7103
7389
|
title: "List Destinations",
|
|
7104
7390
|
description: "List configured destinations using safe status fields and masked configuration only.",
|
|
7391
|
+
annotations: {
|
|
7392
|
+
readOnlyHint: true,
|
|
7393
|
+
destructiveHint: false
|
|
7394
|
+
},
|
|
7105
7395
|
inputSchema: {
|
|
7106
7396
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
7107
7397
|
type: "object",
|
|
@@ -7481,6 +7771,10 @@ Returns column definitions and example queries for each view.`,
|
|
|
7481
7771
|
ownerDomain: "destinations",
|
|
7482
7772
|
title: "Get Destination",
|
|
7483
7773
|
description: "Get one destination using safe status fields and masked configuration only.",
|
|
7774
|
+
annotations: {
|
|
7775
|
+
readOnlyHint: true,
|
|
7776
|
+
destructiveHint: false
|
|
7777
|
+
},
|
|
7484
7778
|
inputSchema: {
|
|
7485
7779
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
7486
7780
|
type: "object",
|
|
@@ -7866,6 +8160,10 @@ Returns column definitions and example queries for each view.`,
|
|
|
7866
8160
|
ownerDomain: "destinations",
|
|
7867
8161
|
title: "Create Destination",
|
|
7868
8162
|
description: "Create a Slack channel destination from an available channel.",
|
|
8163
|
+
annotations: {
|
|
8164
|
+
readOnlyHint: false,
|
|
8165
|
+
destructiveHint: false
|
|
8166
|
+
},
|
|
7869
8167
|
inputSchema: {
|
|
7870
8168
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
7871
8169
|
type: "object",
|
|
@@ -8270,6 +8568,10 @@ Returns column definitions and example queries for each view.`,
|
|
|
8270
8568
|
ownerDomain: "destinations",
|
|
8271
8569
|
title: "Update Destination",
|
|
8272
8570
|
description: "Update ordinary destination metadata. Use the dedicated enable or disable tool for lifecycle state.",
|
|
8571
|
+
annotations: {
|
|
8572
|
+
readOnlyHint: false,
|
|
8573
|
+
destructiveHint: false
|
|
8574
|
+
},
|
|
8273
8575
|
inputSchema: {
|
|
8274
8576
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
8275
8577
|
type: "object",
|
|
@@ -8669,6 +8971,10 @@ Returns column definitions and example queries for each view.`,
|
|
|
8669
8971
|
ownerDomain: "destinations",
|
|
8670
8972
|
title: "Enable Destination",
|
|
8671
8973
|
description: "Enable an ordinary destination that is ready for delivery.",
|
|
8974
|
+
annotations: {
|
|
8975
|
+
readOnlyHint: false,
|
|
8976
|
+
destructiveHint: false
|
|
8977
|
+
},
|
|
8672
8978
|
inputSchema: {
|
|
8673
8979
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
8674
8980
|
type: "object",
|
|
@@ -9054,6 +9360,10 @@ Returns column definitions and example queries for each view.`,
|
|
|
9054
9360
|
ownerDomain: "destinations",
|
|
9055
9361
|
title: "Disable Destination",
|
|
9056
9362
|
description: "Disable an ordinary non-default destination.",
|
|
9363
|
+
annotations: {
|
|
9364
|
+
readOnlyHint: false,
|
|
9365
|
+
destructiveHint: false
|
|
9366
|
+
},
|
|
9057
9367
|
inputSchema: {
|
|
9058
9368
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
9059
9369
|
type: "object",
|
|
@@ -9439,6 +9749,10 @@ Returns column definitions and example queries for each view.`,
|
|
|
9439
9749
|
ownerDomain: "destinations",
|
|
9440
9750
|
title: "Archive Destination",
|
|
9441
9751
|
description: "Archive an ordinary destination.",
|
|
9752
|
+
annotations: {
|
|
9753
|
+
readOnlyHint: false,
|
|
9754
|
+
destructiveHint: true
|
|
9755
|
+
},
|
|
9442
9756
|
inputSchema: {
|
|
9443
9757
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
9444
9758
|
type: "object",
|
|
@@ -9485,13 +9799,75 @@ Returns column definitions and example queries for each view.`,
|
|
|
9485
9799
|
additionalProperties: false
|
|
9486
9800
|
}
|
|
9487
9801
|
},
|
|
9488
|
-
|
|
9489
|
-
toolName: "
|
|
9490
|
-
commandId: "
|
|
9491
|
-
commandVersion:
|
|
9492
|
-
ownerDomain: "
|
|
9493
|
-
title: "
|
|
9494
|
-
description: "
|
|
9802
|
+
outlit_submit_feedback: {
|
|
9803
|
+
toolName: "outlit_submit_feedback",
|
|
9804
|
+
commandId: "feedback.submit",
|
|
9805
|
+
commandVersion: 1,
|
|
9806
|
+
ownerDomain: "feedback",
|
|
9807
|
+
title: "Submit Product Feedback",
|
|
9808
|
+
description: "Submit product feedback to Outlit. This does not open a support ticket or promise a reply.",
|
|
9809
|
+
annotations: {
|
|
9810
|
+
readOnlyHint: false,
|
|
9811
|
+
destructiveHint: false
|
|
9812
|
+
},
|
|
9813
|
+
inputSchema: {
|
|
9814
|
+
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
9815
|
+
type: "object",
|
|
9816
|
+
properties: {
|
|
9817
|
+
body: {
|
|
9818
|
+
type: "string",
|
|
9819
|
+
minLength: 1,
|
|
9820
|
+
maxLength: 20000
|
|
9821
|
+
},
|
|
9822
|
+
area: {
|
|
9823
|
+
type: "string",
|
|
9824
|
+
minLength: 1,
|
|
9825
|
+
maxLength: 100
|
|
9826
|
+
},
|
|
9827
|
+
context: {
|
|
9828
|
+
type: "object",
|
|
9829
|
+
propertyNames: {
|
|
9830
|
+
type: "string"
|
|
9831
|
+
},
|
|
9832
|
+
additionalProperties: {}
|
|
9833
|
+
}
|
|
9834
|
+
},
|
|
9835
|
+
required: [
|
|
9836
|
+
"body"
|
|
9837
|
+
],
|
|
9838
|
+
additionalProperties: false
|
|
9839
|
+
},
|
|
9840
|
+
outputSchema: {
|
|
9841
|
+
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
9842
|
+
type: "object",
|
|
9843
|
+
properties: {
|
|
9844
|
+
id: {
|
|
9845
|
+
type: "string"
|
|
9846
|
+
},
|
|
9847
|
+
createdAt: {
|
|
9848
|
+
type: "string",
|
|
9849
|
+
format: "date-time",
|
|
9850
|
+
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))$"
|
|
9851
|
+
}
|
|
9852
|
+
},
|
|
9853
|
+
required: [
|
|
9854
|
+
"id",
|
|
9855
|
+
"createdAt"
|
|
9856
|
+
],
|
|
9857
|
+
additionalProperties: false
|
|
9858
|
+
}
|
|
9859
|
+
},
|
|
9860
|
+
outlit_get_integration_capabilities: {
|
|
9861
|
+
toolName: "outlit_get_integration_capabilities",
|
|
9862
|
+
commandId: "integration.capabilities.get",
|
|
9863
|
+
commandVersion: 2,
|
|
9864
|
+
ownerDomain: "integrations",
|
|
9865
|
+
title: "Get Integration Capabilities",
|
|
9866
|
+
description: "Describe safe integration setup modes without exposing credential fields or provider configuration.",
|
|
9867
|
+
annotations: {
|
|
9868
|
+
readOnlyHint: true,
|
|
9869
|
+
destructiveHint: false
|
|
9870
|
+
},
|
|
9495
9871
|
inputSchema: {
|
|
9496
9872
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
9497
9873
|
type: "object",
|
|
@@ -9584,6 +9960,10 @@ Returns column definitions and example queries for each view.`,
|
|
|
9584
9960
|
ownerDomain: "integrations",
|
|
9585
9961
|
title: "Begin Integration Setup",
|
|
9586
9962
|
description: "Begin a short-lived browser handoff for an integration that supports browser authentication.",
|
|
9963
|
+
annotations: {
|
|
9964
|
+
readOnlyHint: false,
|
|
9965
|
+
destructiveHint: false
|
|
9966
|
+
},
|
|
9587
9967
|
inputSchema: {
|
|
9588
9968
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
9589
9969
|
type: "object",
|
|
@@ -9668,6 +10048,10 @@ Returns column definitions and example queries for each view.`,
|
|
|
9668
10048
|
ownerDomain: "integrations",
|
|
9669
10049
|
title: "Get Integration Setup Status",
|
|
9670
10050
|
description: "Check a browser setup handoff owned by the current actor.",
|
|
10051
|
+
annotations: {
|
|
10052
|
+
readOnlyHint: true,
|
|
10053
|
+
destructiveHint: false
|
|
10054
|
+
},
|
|
9671
10055
|
inputSchema: {
|
|
9672
10056
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
9673
10057
|
type: "object",
|
|
@@ -9723,6 +10107,10 @@ Returns column definitions and example queries for each view.`,
|
|
|
9723
10107
|
ownerDomain: "integrations",
|
|
9724
10108
|
title: "Get Integration Status",
|
|
9725
10109
|
description: "Get the configuration-readiness status for one integration or the public integration catalog.",
|
|
10110
|
+
annotations: {
|
|
10111
|
+
readOnlyHint: true,
|
|
10112
|
+
destructiveHint: false
|
|
10113
|
+
},
|
|
9726
10114
|
inputSchema: {
|
|
9727
10115
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
9728
10116
|
type: "object",
|
|
@@ -9818,6 +10206,10 @@ Returns column definitions and example queries for each view.`,
|
|
|
9818
10206
|
ownerDomain: "integrations",
|
|
9819
10207
|
title: "Set Up Integration",
|
|
9820
10208
|
description: "Continue integration setup through validated credentials, safe configuration, or a trusted browser handoff.",
|
|
10209
|
+
annotations: {
|
|
10210
|
+
readOnlyHint: false,
|
|
10211
|
+
destructiveHint: false
|
|
10212
|
+
},
|
|
9821
10213
|
inputSchema: {
|
|
9822
10214
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
9823
10215
|
anyOf: [
|
|
@@ -10693,6 +11085,10 @@ Returns column definitions and example queries for each view.`,
|
|
|
10693
11085
|
ownerDomain: "customer_activation",
|
|
10694
11086
|
title: "Get Customer Activation",
|
|
10695
11087
|
description: "Get the product event currently configured to activate customers and users.",
|
|
11088
|
+
annotations: {
|
|
11089
|
+
readOnlyHint: true,
|
|
11090
|
+
destructiveHint: false
|
|
11091
|
+
},
|
|
10696
11092
|
inputSchema: {
|
|
10697
11093
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
10698
11094
|
type: "object",
|
|
@@ -10738,6 +11134,10 @@ Returns column definitions and example queries for each view.`,
|
|
|
10738
11134
|
ownerDomain: "customer_activation",
|
|
10739
11135
|
title: "Preview Customer Activation",
|
|
10740
11136
|
description: "Preview the bounded recent impact of choosing a product event for customer activation without changing configuration.",
|
|
11137
|
+
annotations: {
|
|
11138
|
+
readOnlyHint: true,
|
|
11139
|
+
destructiveHint: false
|
|
11140
|
+
},
|
|
10741
11141
|
inputSchema: {
|
|
10742
11142
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
10743
11143
|
type: "object",
|
|
@@ -10930,6 +11330,10 @@ Returns column definitions and example queries for each view.`,
|
|
|
10930
11330
|
ownerDomain: "customer_activation",
|
|
10931
11331
|
title: "Update Customer Activation",
|
|
10932
11332
|
description: "Set the product event used for future customer activation, or disable event-based activation with null. This does not backfill history.",
|
|
11333
|
+
annotations: {
|
|
11334
|
+
readOnlyHint: false,
|
|
11335
|
+
destructiveHint: false
|
|
11336
|
+
},
|
|
10933
11337
|
inputSchema: {
|
|
10934
11338
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
10935
11339
|
type: "object",
|
|
@@ -10994,7 +11398,11 @@ Returns column definitions and example queries for each view.`,
|
|
|
10994
11398
|
commandVersion: 1,
|
|
10995
11399
|
ownerDomain: "settings",
|
|
10996
11400
|
title: "Get Workspace Settings",
|
|
10997
|
-
description: "Get the workspace default timezone used
|
|
11401
|
+
description: "Get the workspace default timezone and the default customer owner used as the lowest-ranked ownership source.",
|
|
11402
|
+
annotations: {
|
|
11403
|
+
readOnlyHint: true,
|
|
11404
|
+
destructiveHint: false
|
|
11405
|
+
},
|
|
10998
11406
|
inputSchema: {
|
|
10999
11407
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
11000
11408
|
type: "object",
|
|
@@ -11011,10 +11419,32 @@ Returns column definitions and example queries for each view.`,
|
|
|
11011
11419
|
defaultTimezone: {
|
|
11012
11420
|
type: "string",
|
|
11013
11421
|
minLength: 1
|
|
11422
|
+
},
|
|
11423
|
+
customerOwnership: {
|
|
11424
|
+
type: "object",
|
|
11425
|
+
properties: {
|
|
11426
|
+
defaultOwnerUserId: {
|
|
11427
|
+
anyOf: [
|
|
11428
|
+
{
|
|
11429
|
+
type: "string",
|
|
11430
|
+
minLength: 1,
|
|
11431
|
+
maxLength: 191
|
|
11432
|
+
},
|
|
11433
|
+
{
|
|
11434
|
+
type: "null"
|
|
11435
|
+
}
|
|
11436
|
+
]
|
|
11437
|
+
}
|
|
11438
|
+
},
|
|
11439
|
+
required: [
|
|
11440
|
+
"defaultOwnerUserId"
|
|
11441
|
+
],
|
|
11442
|
+
additionalProperties: false
|
|
11014
11443
|
}
|
|
11015
11444
|
},
|
|
11016
11445
|
required: [
|
|
11017
|
-
"defaultTimezone"
|
|
11446
|
+
"defaultTimezone",
|
|
11447
|
+
"customerOwnership"
|
|
11018
11448
|
],
|
|
11019
11449
|
additionalProperties: false
|
|
11020
11450
|
}
|
|
@@ -11031,7 +11461,11 @@ Returns column definitions and example queries for each view.`,
|
|
|
11031
11461
|
commandVersion: 1,
|
|
11032
11462
|
ownerDomain: "settings",
|
|
11033
11463
|
title: "Update Workspace Settings",
|
|
11034
|
-
description: "Update the workspace default timezone
|
|
11464
|
+
description: "Update the workspace default timezone (a valid IANA timezone) and/or the default customer owner (an active workspace member, or null to clear).",
|
|
11465
|
+
annotations: {
|
|
11466
|
+
readOnlyHint: false,
|
|
11467
|
+
destructiveHint: false
|
|
11468
|
+
},
|
|
11035
11469
|
inputSchema: {
|
|
11036
11470
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
11037
11471
|
type: "object",
|
|
@@ -11039,11 +11473,29 @@ Returns column definitions and example queries for each view.`,
|
|
|
11039
11473
|
defaultTimezone: {
|
|
11040
11474
|
type: "string",
|
|
11041
11475
|
minLength: 1
|
|
11476
|
+
},
|
|
11477
|
+
customerOwnership: {
|
|
11478
|
+
type: "object",
|
|
11479
|
+
properties: {
|
|
11480
|
+
defaultOwnerUserId: {
|
|
11481
|
+
anyOf: [
|
|
11482
|
+
{
|
|
11483
|
+
type: "string",
|
|
11484
|
+
minLength: 1,
|
|
11485
|
+
maxLength: 191
|
|
11486
|
+
},
|
|
11487
|
+
{
|
|
11488
|
+
type: "null"
|
|
11489
|
+
}
|
|
11490
|
+
]
|
|
11491
|
+
}
|
|
11492
|
+
},
|
|
11493
|
+
required: [
|
|
11494
|
+
"defaultOwnerUserId"
|
|
11495
|
+
],
|
|
11496
|
+
additionalProperties: false
|
|
11042
11497
|
}
|
|
11043
11498
|
},
|
|
11044
|
-
required: [
|
|
11045
|
-
"defaultTimezone"
|
|
11046
|
-
],
|
|
11047
11499
|
additionalProperties: false
|
|
11048
11500
|
},
|
|
11049
11501
|
outputSchema: {
|
|
@@ -11056,10 +11508,32 @@ Returns column definitions and example queries for each view.`,
|
|
|
11056
11508
|
defaultTimezone: {
|
|
11057
11509
|
type: "string",
|
|
11058
11510
|
minLength: 1
|
|
11511
|
+
},
|
|
11512
|
+
customerOwnership: {
|
|
11513
|
+
type: "object",
|
|
11514
|
+
properties: {
|
|
11515
|
+
defaultOwnerUserId: {
|
|
11516
|
+
anyOf: [
|
|
11517
|
+
{
|
|
11518
|
+
type: "string",
|
|
11519
|
+
minLength: 1,
|
|
11520
|
+
maxLength: 191
|
|
11521
|
+
},
|
|
11522
|
+
{
|
|
11523
|
+
type: "null"
|
|
11524
|
+
}
|
|
11525
|
+
]
|
|
11526
|
+
}
|
|
11527
|
+
},
|
|
11528
|
+
required: [
|
|
11529
|
+
"defaultOwnerUserId"
|
|
11530
|
+
],
|
|
11531
|
+
additionalProperties: false
|
|
11059
11532
|
}
|
|
11060
11533
|
},
|
|
11061
11534
|
required: [
|
|
11062
|
-
"defaultTimezone"
|
|
11535
|
+
"defaultTimezone",
|
|
11536
|
+
"customerOwnership"
|
|
11063
11537
|
],
|
|
11064
11538
|
additionalProperties: false
|
|
11065
11539
|
}
|
|
@@ -11077,6 +11551,10 @@ Returns column definitions and example queries for each view.`,
|
|
|
11077
11551
|
ownerDomain: "value_features",
|
|
11078
11552
|
title: "List Features",
|
|
11079
11553
|
description: "List configured features, exact historical usage, eligible sources, and observed event candidates.",
|
|
11554
|
+
annotations: {
|
|
11555
|
+
readOnlyHint: true,
|
|
11556
|
+
destructiveHint: false
|
|
11557
|
+
},
|
|
11080
11558
|
inputSchema: {
|
|
11081
11559
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
11082
11560
|
type: "object",
|
|
@@ -11627,6 +12105,10 @@ Returns column definitions and example queries for each view.`,
|
|
|
11627
12105
|
ownerDomain: "value_features",
|
|
11628
12106
|
title: "Create Feature",
|
|
11629
12107
|
description: "Create or idempotently return one customer-value Feature observed by one event rule.",
|
|
12108
|
+
annotations: {
|
|
12109
|
+
readOnlyHint: false,
|
|
12110
|
+
destructiveHint: false
|
|
12111
|
+
},
|
|
11630
12112
|
inputSchema: {
|
|
11631
12113
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
11632
12114
|
type: "object",
|
|
@@ -11943,6 +12425,10 @@ Returns column definitions and example queries for each view.`,
|
|
|
11943
12425
|
ownerDomain: "value_features",
|
|
11944
12426
|
title: "Archive Feature",
|
|
11945
12427
|
description: "Archive a Feature when at least one other active Feature remains.",
|
|
12428
|
+
annotations: {
|
|
12429
|
+
readOnlyHint: false,
|
|
12430
|
+
destructiveHint: true
|
|
12431
|
+
},
|
|
11946
12432
|
inputSchema: {
|
|
11947
12433
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
11948
12434
|
type: "object",
|
|
@@ -12003,6 +12489,10 @@ Returns column definitions and example queries for each view.`,
|
|
|
12003
12489
|
ownerDomain: "value_features",
|
|
12004
12490
|
title: "Get Customer Features",
|
|
12005
12491
|
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.",
|
|
12492
|
+
annotations: {
|
|
12493
|
+
readOnlyHint: true,
|
|
12494
|
+
destructiveHint: false
|
|
12495
|
+
},
|
|
12006
12496
|
inputSchema: {
|
|
12007
12497
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
12008
12498
|
type: "object",
|
|
@@ -13191,6 +13681,10 @@ Returns column definitions and example queries for each view.`,
|
|
|
13191
13681
|
ownerDomain: "customers",
|
|
13192
13682
|
title: "Get Customer Credits",
|
|
13193
13683
|
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.",
|
|
13684
|
+
annotations: {
|
|
13685
|
+
readOnlyHint: true,
|
|
13686
|
+
destructiveHint: false
|
|
13687
|
+
},
|
|
13194
13688
|
inputSchema: {
|
|
13195
13689
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
13196
13690
|
type: "object",
|
|
@@ -13353,7 +13847,7 @@ Returns column definitions and example queries for each view.`,
|
|
|
13353
13847
|
type: "null"
|
|
13354
13848
|
}
|
|
13355
13849
|
],
|
|
13356
|
-
description: "Average daily usage over the
|
|
13850
|
+
description: "Average daily usage over the trailing rate window (28 days, shrinking to the covered history with a seven-day floor). See scope before interpreting this as pool deductions."
|
|
13357
13851
|
},
|
|
13358
13852
|
scope: {
|
|
13359
13853
|
type: "string",
|
|
@@ -13362,6 +13856,58 @@ Returns column definitions and example queries for each view.`,
|
|
|
13362
13856
|
"account"
|
|
13363
13857
|
]
|
|
13364
13858
|
},
|
|
13859
|
+
rateBasis: {
|
|
13860
|
+
description: "Length of the trailing window the forecast rate averages over.",
|
|
13861
|
+
anyOf: [
|
|
13862
|
+
{
|
|
13863
|
+
type: "object",
|
|
13864
|
+
properties: {
|
|
13865
|
+
kind: {
|
|
13866
|
+
type: "string",
|
|
13867
|
+
const: "trailing"
|
|
13868
|
+
},
|
|
13869
|
+
days: {
|
|
13870
|
+
type: "integer",
|
|
13871
|
+
exclusiveMinimum: 0,
|
|
13872
|
+
maximum: 9007199254740991
|
|
13873
|
+
}
|
|
13874
|
+
},
|
|
13875
|
+
required: [
|
|
13876
|
+
"kind",
|
|
13877
|
+
"days"
|
|
13878
|
+
],
|
|
13879
|
+
additionalProperties: false
|
|
13880
|
+
},
|
|
13881
|
+
{
|
|
13882
|
+
type: "null"
|
|
13883
|
+
}
|
|
13884
|
+
]
|
|
13885
|
+
},
|
|
13886
|
+
paceSinceReset: {
|
|
13887
|
+
description: "Context-only average daily usage since the current grant period started; never the forecast rate.",
|
|
13888
|
+
anyOf: [
|
|
13889
|
+
{
|
|
13890
|
+
type: "number",
|
|
13891
|
+
minimum: 0
|
|
13892
|
+
},
|
|
13893
|
+
{
|
|
13894
|
+
type: "null"
|
|
13895
|
+
}
|
|
13896
|
+
]
|
|
13897
|
+
},
|
|
13898
|
+
periodStart: {
|
|
13899
|
+
description: "UTC day the current grant period started, when derivable from the reset interval.",
|
|
13900
|
+
anyOf: [
|
|
13901
|
+
{
|
|
13902
|
+
type: "string",
|
|
13903
|
+
format: "date",
|
|
13904
|
+
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])))$"
|
|
13905
|
+
},
|
|
13906
|
+
{
|
|
13907
|
+
type: "null"
|
|
13908
|
+
}
|
|
13909
|
+
]
|
|
13910
|
+
},
|
|
13365
13911
|
change: {
|
|
13366
13912
|
anyOf: [
|
|
13367
13913
|
{
|
|
@@ -13371,7 +13917,20 @@ Returns column definitions and example queries for each view.`,
|
|
|
13371
13917
|
type: "null"
|
|
13372
13918
|
}
|
|
13373
13919
|
],
|
|
13374
|
-
description: "Percentage change in customer-balance burn rate versus the preceding
|
|
13920
|
+
description: "Percentage change in customer-balance burn rate versus the preceding equal-length window. Null when either window is incomplete or the prior rate is zero."
|
|
13921
|
+
},
|
|
13922
|
+
changeDays: {
|
|
13923
|
+
description: "Days in each side of the percentage comparison: 28 when covered, else 7.",
|
|
13924
|
+
anyOf: [
|
|
13925
|
+
{
|
|
13926
|
+
type: "integer",
|
|
13927
|
+
exclusiveMinimum: 0,
|
|
13928
|
+
maximum: 9007199254740991
|
|
13929
|
+
},
|
|
13930
|
+
{
|
|
13931
|
+
type: "null"
|
|
13932
|
+
}
|
|
13933
|
+
]
|
|
13375
13934
|
},
|
|
13376
13935
|
days: {
|
|
13377
13936
|
anyOf: [
|
|
@@ -13445,7 +14004,7 @@ Returns column definitions and example queries for each view.`,
|
|
|
13445
14004
|
"end"
|
|
13446
14005
|
],
|
|
13447
14006
|
additionalProperties: false,
|
|
13448
|
-
description: "UTC dates for the
|
|
14007
|
+
description: "UTC dates for the rate window; end is exclusive."
|
|
13449
14008
|
},
|
|
13450
14009
|
trend: {
|
|
13451
14010
|
maxItems: 14,
|
|
@@ -13560,6 +14119,10 @@ Returns column definitions and example queries for each view.`,
|
|
|
13560
14119
|
ownerDomain: "attention",
|
|
13561
14120
|
title: "List Attention Items",
|
|
13562
14121
|
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.",
|
|
14122
|
+
annotations: {
|
|
14123
|
+
readOnlyHint: true,
|
|
14124
|
+
destructiveHint: false
|
|
14125
|
+
},
|
|
13563
14126
|
inputSchema: {
|
|
13564
14127
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
13565
14128
|
type: "object",
|
|
@@ -13751,7 +14314,8 @@ Returns column definitions and example queries for each view.`,
|
|
|
13751
14314
|
{
|
|
13752
14315
|
type: "null"
|
|
13753
14316
|
}
|
|
13754
|
-
]
|
|
14317
|
+
],
|
|
14318
|
+
description: "Annual recurring revenue (12 × billing MRR) in the billing provider's units for the currency field. For USD, EUR, GBP and CAD this is cents: divide by 100 (e.g. 1234500 is $12,345, USD). For other currencies, use the provider's amount rules for that currency (Stripe's currency docs) rather than assuming a divisor."
|
|
13755
14319
|
},
|
|
13756
14320
|
currency: {
|
|
13757
14321
|
anyOf: [
|
|
@@ -13881,6 +14445,10 @@ Returns column definitions and example queries for each view.`,
|
|
|
13881
14445
|
ownerDomain: "attention",
|
|
13882
14446
|
title: "Get Attention Item",
|
|
13883
14447
|
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.",
|
|
14448
|
+
annotations: {
|
|
14449
|
+
readOnlyHint: true,
|
|
14450
|
+
destructiveHint: false
|
|
14451
|
+
},
|
|
13884
14452
|
inputSchema: {
|
|
13885
14453
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
13886
14454
|
type: "object",
|
|
@@ -14047,7 +14615,8 @@ Returns column definitions and example queries for each view.`,
|
|
|
14047
14615
|
{
|
|
14048
14616
|
type: "null"
|
|
14049
14617
|
}
|
|
14050
|
-
]
|
|
14618
|
+
],
|
|
14619
|
+
description: "Annual recurring revenue (12 × billing MRR) in the billing provider's units for the currency field. For USD, EUR, GBP and CAD this is cents: divide by 100 (e.g. 1234500 is $12,345, USD). For other currencies, use the provider's amount rules for that currency (Stripe's currency docs) rather than assuming a divisor."
|
|
14051
14620
|
},
|
|
14052
14621
|
currency: {
|
|
14053
14622
|
anyOf: [
|
|
@@ -14659,6 +15228,16 @@ Returns column definitions and example queries for each view.`,
|
|
|
14659
15228
|
}
|
|
14660
15229
|
]
|
|
14661
15230
|
},
|
|
15231
|
+
billingStatus: {
|
|
15232
|
+
anyOf: [
|
|
15233
|
+
{
|
|
15234
|
+
type: "string"
|
|
15235
|
+
},
|
|
15236
|
+
{
|
|
15237
|
+
type: "null"
|
|
15238
|
+
}
|
|
15239
|
+
]
|
|
15240
|
+
},
|
|
14662
15241
|
identifierCount: {
|
|
14663
15242
|
type: "integer",
|
|
14664
15243
|
minimum: 0,
|
|
@@ -14729,6 +15308,16 @@ Returns column definitions and example queries for each view.`,
|
|
|
14729
15308
|
}
|
|
14730
15309
|
]
|
|
14731
15310
|
},
|
|
15311
|
+
billingStatus: {
|
|
15312
|
+
anyOf: [
|
|
15313
|
+
{
|
|
15314
|
+
type: "string"
|
|
15315
|
+
},
|
|
15316
|
+
{
|
|
15317
|
+
type: "null"
|
|
15318
|
+
}
|
|
15319
|
+
]
|
|
15320
|
+
},
|
|
14732
15321
|
identifierCount: {
|
|
14733
15322
|
type: "integer",
|
|
14734
15323
|
minimum: 0,
|
|
@@ -14880,14 +15469,27 @@ Returns column definitions and example queries for each view.`,
|
|
|
14880
15469
|
type: "integer",
|
|
14881
15470
|
minimum: 0,
|
|
14882
15471
|
maximum: 9007199254740991
|
|
14883
|
-
}
|
|
14884
|
-
|
|
14885
|
-
|
|
14886
|
-
|
|
14887
|
-
|
|
14888
|
-
|
|
14889
|
-
|
|
14890
|
-
|
|
15472
|
+
},
|
|
15473
|
+
analyticsAvailable: {
|
|
15474
|
+
type: "boolean"
|
|
15475
|
+
},
|
|
15476
|
+
opportunities: {
|
|
15477
|
+
type: "integer",
|
|
15478
|
+
minimum: 0,
|
|
15479
|
+
maximum: 9007199254740991
|
|
15480
|
+
},
|
|
15481
|
+
revenueSnapshots: {
|
|
15482
|
+
type: "integer",
|
|
15483
|
+
minimum: 0,
|
|
15484
|
+
maximum: 9007199254740991
|
|
15485
|
+
}
|
|
15486
|
+
},
|
|
15487
|
+
required: [
|
|
15488
|
+
"identifiers",
|
|
15489
|
+
"users",
|
|
15490
|
+
"activities",
|
|
15491
|
+
"visitors",
|
|
15492
|
+
"billingEvents",
|
|
14891
15493
|
"facts",
|
|
14892
15494
|
"supportTickets",
|
|
14893
15495
|
"calls",
|
|
@@ -14897,102 +15499,1271 @@ Returns column definitions and example queries for each view.`,
|
|
|
14897
15499
|
],
|
|
14898
15500
|
additionalProperties: false
|
|
14899
15501
|
},
|
|
14900
|
-
|
|
15502
|
+
scope: {
|
|
15503
|
+
type: "object",
|
|
15504
|
+
properties: {
|
|
15505
|
+
survivor: {
|
|
15506
|
+
type: "object",
|
|
15507
|
+
properties: {
|
|
15508
|
+
shape: {
|
|
15509
|
+
type: "string",
|
|
15510
|
+
enum: [
|
|
15511
|
+
"provisional",
|
|
15512
|
+
"established",
|
|
15513
|
+
"unknown"
|
|
15514
|
+
]
|
|
15515
|
+
},
|
|
15516
|
+
billingStatus: {
|
|
15517
|
+
anyOf: [
|
|
15518
|
+
{
|
|
15519
|
+
type: "string"
|
|
15520
|
+
},
|
|
15521
|
+
{
|
|
15522
|
+
type: "null"
|
|
15523
|
+
}
|
|
15524
|
+
]
|
|
15525
|
+
},
|
|
15526
|
+
hasIndependentCrmIdentity: {
|
|
15527
|
+
type: "boolean"
|
|
15528
|
+
},
|
|
15529
|
+
hasIndependentStripeIdentity: {
|
|
15530
|
+
type: "boolean"
|
|
15531
|
+
}
|
|
15532
|
+
},
|
|
15533
|
+
required: [
|
|
15534
|
+
"shape",
|
|
15535
|
+
"billingStatus",
|
|
15536
|
+
"hasIndependentCrmIdentity",
|
|
15537
|
+
"hasIndependentStripeIdentity"
|
|
15538
|
+
],
|
|
15539
|
+
additionalProperties: false
|
|
15540
|
+
},
|
|
15541
|
+
duplicate: {
|
|
15542
|
+
type: "object",
|
|
15543
|
+
properties: {
|
|
15544
|
+
shape: {
|
|
15545
|
+
type: "string",
|
|
15546
|
+
enum: [
|
|
15547
|
+
"provisional",
|
|
15548
|
+
"established",
|
|
15549
|
+
"unknown"
|
|
15550
|
+
]
|
|
15551
|
+
},
|
|
15552
|
+
billingStatus: {
|
|
15553
|
+
anyOf: [
|
|
15554
|
+
{
|
|
15555
|
+
type: "string"
|
|
15556
|
+
},
|
|
15557
|
+
{
|
|
15558
|
+
type: "null"
|
|
15559
|
+
}
|
|
15560
|
+
]
|
|
15561
|
+
},
|
|
15562
|
+
hasIndependentCrmIdentity: {
|
|
15563
|
+
type: "boolean"
|
|
15564
|
+
},
|
|
15565
|
+
hasIndependentStripeIdentity: {
|
|
15566
|
+
type: "boolean"
|
|
15567
|
+
}
|
|
15568
|
+
},
|
|
15569
|
+
required: [
|
|
15570
|
+
"shape",
|
|
15571
|
+
"billingStatus",
|
|
15572
|
+
"hasIndependentCrmIdentity",
|
|
15573
|
+
"hasIndependentStripeIdentity"
|
|
15574
|
+
],
|
|
15575
|
+
additionalProperties: false
|
|
15576
|
+
},
|
|
15577
|
+
payingAccountsAffected: {
|
|
15578
|
+
anyOf: [
|
|
15579
|
+
{
|
|
15580
|
+
type: "integer",
|
|
15581
|
+
minimum: 0,
|
|
15582
|
+
maximum: 9007199254740991
|
|
15583
|
+
},
|
|
15584
|
+
{
|
|
15585
|
+
type: "null"
|
|
15586
|
+
}
|
|
15587
|
+
]
|
|
15588
|
+
},
|
|
15589
|
+
availability: {
|
|
15590
|
+
type: "object",
|
|
15591
|
+
properties: {
|
|
15592
|
+
currentCounts: {
|
|
15593
|
+
type: "boolean"
|
|
15594
|
+
},
|
|
15595
|
+
analytics: {
|
|
15596
|
+
type: "boolean"
|
|
15597
|
+
}
|
|
15598
|
+
},
|
|
15599
|
+
required: [
|
|
15600
|
+
"currentCounts",
|
|
15601
|
+
"analytics"
|
|
15602
|
+
],
|
|
15603
|
+
additionalProperties: false
|
|
15604
|
+
},
|
|
15605
|
+
moves: {
|
|
15606
|
+
type: "object",
|
|
15607
|
+
properties: {
|
|
15608
|
+
contacts: {
|
|
15609
|
+
type: "integer",
|
|
15610
|
+
minimum: 0,
|
|
15611
|
+
maximum: 9007199254740991
|
|
15612
|
+
},
|
|
15613
|
+
analyticsEvents: {
|
|
15614
|
+
anyOf: [
|
|
15615
|
+
{
|
|
15616
|
+
type: "integer",
|
|
15617
|
+
minimum: 0,
|
|
15618
|
+
maximum: 9007199254740991
|
|
15619
|
+
},
|
|
15620
|
+
{
|
|
15621
|
+
type: "null"
|
|
15622
|
+
}
|
|
15623
|
+
]
|
|
15624
|
+
},
|
|
15625
|
+
analyticsDimensions: {
|
|
15626
|
+
anyOf: [
|
|
15627
|
+
{
|
|
15628
|
+
type: "integer",
|
|
15629
|
+
minimum: 0,
|
|
15630
|
+
maximum: 9007199254740991
|
|
15631
|
+
},
|
|
15632
|
+
{
|
|
15633
|
+
type: "null"
|
|
15634
|
+
}
|
|
15635
|
+
]
|
|
15636
|
+
},
|
|
15637
|
+
billingEvents: {
|
|
15638
|
+
type: "integer",
|
|
15639
|
+
minimum: 0,
|
|
15640
|
+
maximum: 9007199254740991
|
|
15641
|
+
},
|
|
15642
|
+
revenueSnapshots: {
|
|
15643
|
+
anyOf: [
|
|
15644
|
+
{
|
|
15645
|
+
type: "integer",
|
|
15646
|
+
minimum: 0,
|
|
15647
|
+
maximum: 9007199254740991
|
|
15648
|
+
},
|
|
15649
|
+
{
|
|
15650
|
+
type: "null"
|
|
15651
|
+
}
|
|
15652
|
+
]
|
|
15653
|
+
},
|
|
15654
|
+
calls: {
|
|
15655
|
+
type: "integer",
|
|
15656
|
+
minimum: 0,
|
|
15657
|
+
maximum: 9007199254740991
|
|
15658
|
+
},
|
|
15659
|
+
facts: {
|
|
15660
|
+
type: "integer",
|
|
15661
|
+
minimum: 0,
|
|
15662
|
+
maximum: 9007199254740991
|
|
15663
|
+
},
|
|
15664
|
+
opportunities: {
|
|
15665
|
+
anyOf: [
|
|
15666
|
+
{
|
|
15667
|
+
type: "integer",
|
|
15668
|
+
minimum: 0,
|
|
15669
|
+
maximum: 9007199254740991
|
|
15670
|
+
},
|
|
15671
|
+
{
|
|
15672
|
+
type: "null"
|
|
15673
|
+
}
|
|
15674
|
+
]
|
|
15675
|
+
},
|
|
15676
|
+
tickets: {
|
|
15677
|
+
type: "integer",
|
|
15678
|
+
minimum: 0,
|
|
15679
|
+
maximum: 9007199254740991
|
|
15680
|
+
}
|
|
15681
|
+
},
|
|
15682
|
+
required: [
|
|
15683
|
+
"contacts",
|
|
15684
|
+
"analyticsEvents",
|
|
15685
|
+
"analyticsDimensions",
|
|
15686
|
+
"billingEvents",
|
|
15687
|
+
"revenueSnapshots",
|
|
15688
|
+
"calls",
|
|
15689
|
+
"facts",
|
|
15690
|
+
"opportunities",
|
|
15691
|
+
"tickets"
|
|
15692
|
+
],
|
|
15693
|
+
additionalProperties: false
|
|
15694
|
+
},
|
|
15695
|
+
conflicts: {
|
|
15696
|
+
type: "array",
|
|
15697
|
+
items: {
|
|
15698
|
+
type: "object",
|
|
15699
|
+
properties: {
|
|
15700
|
+
code: {
|
|
15701
|
+
type: "string"
|
|
15702
|
+
},
|
|
15703
|
+
message: {
|
|
15704
|
+
type: "string"
|
|
15705
|
+
},
|
|
15706
|
+
scope: {
|
|
15707
|
+
type: "string"
|
|
15708
|
+
},
|
|
15709
|
+
sourceIdentities: {
|
|
15710
|
+
type: "array",
|
|
15711
|
+
items: {
|
|
15712
|
+
type: "string"
|
|
15713
|
+
}
|
|
15714
|
+
},
|
|
15715
|
+
survivorIdentities: {
|
|
15716
|
+
type: "array",
|
|
15717
|
+
items: {
|
|
15718
|
+
type: "string"
|
|
15719
|
+
}
|
|
15720
|
+
}
|
|
15721
|
+
},
|
|
15722
|
+
required: [
|
|
15723
|
+
"code",
|
|
15724
|
+
"message",
|
|
15725
|
+
"scope",
|
|
15726
|
+
"sourceIdentities",
|
|
15727
|
+
"survivorIdentities"
|
|
15728
|
+
],
|
|
15729
|
+
additionalProperties: false
|
|
15730
|
+
}
|
|
15731
|
+
},
|
|
15732
|
+
supportingEvidence: {
|
|
15733
|
+
type: "array",
|
|
15734
|
+
items: {
|
|
15735
|
+
type: "string"
|
|
15736
|
+
}
|
|
15737
|
+
}
|
|
15738
|
+
},
|
|
15739
|
+
required: [
|
|
15740
|
+
"survivor",
|
|
15741
|
+
"duplicate",
|
|
15742
|
+
"payingAccountsAffected",
|
|
15743
|
+
"availability",
|
|
15744
|
+
"moves",
|
|
15745
|
+
"conflicts",
|
|
15746
|
+
"supportingEvidence"
|
|
15747
|
+
],
|
|
15748
|
+
additionalProperties: false
|
|
15749
|
+
},
|
|
15750
|
+
mergeBlockedReason: {
|
|
15751
|
+
anyOf: [
|
|
15752
|
+
{
|
|
15753
|
+
type: "string"
|
|
15754
|
+
},
|
|
15755
|
+
{
|
|
15756
|
+
type: "null"
|
|
15757
|
+
}
|
|
15758
|
+
]
|
|
15759
|
+
},
|
|
15760
|
+
reviewedPairOptions: {
|
|
15761
|
+
type: "array",
|
|
15762
|
+
items: {
|
|
15763
|
+
type: "array",
|
|
15764
|
+
prefixItems: [
|
|
15765
|
+
{
|
|
15766
|
+
type: "string"
|
|
15767
|
+
},
|
|
15768
|
+
{
|
|
15769
|
+
type: "string"
|
|
15770
|
+
}
|
|
15771
|
+
]
|
|
15772
|
+
}
|
|
15773
|
+
},
|
|
15774
|
+
candidateCustomers: {
|
|
15775
|
+
type: "array",
|
|
15776
|
+
items: {
|
|
15777
|
+
type: "object",
|
|
15778
|
+
properties: {
|
|
15779
|
+
id: {
|
|
15780
|
+
type: "string",
|
|
15781
|
+
minLength: 1,
|
|
15782
|
+
maxLength: 191
|
|
15783
|
+
},
|
|
15784
|
+
name: {
|
|
15785
|
+
type: "string",
|
|
15786
|
+
minLength: 1,
|
|
15787
|
+
maxLength: 500
|
|
15788
|
+
},
|
|
15789
|
+
domain: {
|
|
15790
|
+
anyOf: [
|
|
15791
|
+
{
|
|
15792
|
+
type: "string",
|
|
15793
|
+
minLength: 1,
|
|
15794
|
+
maxLength: 500
|
|
15795
|
+
},
|
|
15796
|
+
{
|
|
15797
|
+
type: "null"
|
|
15798
|
+
}
|
|
15799
|
+
]
|
|
15800
|
+
},
|
|
15801
|
+
type: {
|
|
15802
|
+
type: "string",
|
|
15803
|
+
enum: [
|
|
15804
|
+
"COMPANY",
|
|
15805
|
+
"INDIVIDUAL"
|
|
15806
|
+
]
|
|
15807
|
+
},
|
|
15808
|
+
status: {
|
|
15809
|
+
anyOf: [
|
|
15810
|
+
{
|
|
15811
|
+
type: "string",
|
|
15812
|
+
enum: [
|
|
15813
|
+
"PROVISIONAL",
|
|
15814
|
+
"ACTIVE",
|
|
15815
|
+
"CHURNED",
|
|
15816
|
+
"MERGED"
|
|
15817
|
+
]
|
|
15818
|
+
},
|
|
15819
|
+
{
|
|
15820
|
+
type: "null"
|
|
15821
|
+
}
|
|
15822
|
+
]
|
|
15823
|
+
},
|
|
15824
|
+
billingStatus: {
|
|
15825
|
+
anyOf: [
|
|
15826
|
+
{
|
|
15827
|
+
type: "string"
|
|
15828
|
+
},
|
|
15829
|
+
{
|
|
15830
|
+
type: "null"
|
|
15831
|
+
}
|
|
15832
|
+
]
|
|
15833
|
+
},
|
|
15834
|
+
identifierCount: {
|
|
15835
|
+
type: "integer",
|
|
15836
|
+
minimum: 0,
|
|
15837
|
+
maximum: 9007199254740991
|
|
15838
|
+
},
|
|
15839
|
+
contactCount: {
|
|
15840
|
+
type: "integer",
|
|
15841
|
+
minimum: 0,
|
|
15842
|
+
maximum: 9007199254740991
|
|
15843
|
+
}
|
|
15844
|
+
},
|
|
15845
|
+
required: [
|
|
15846
|
+
"id",
|
|
15847
|
+
"name",
|
|
15848
|
+
"domain",
|
|
15849
|
+
"type",
|
|
15850
|
+
"status",
|
|
15851
|
+
"identifierCount",
|
|
15852
|
+
"contactCount"
|
|
15853
|
+
],
|
|
15854
|
+
additionalProperties: false
|
|
15855
|
+
}
|
|
15856
|
+
},
|
|
15857
|
+
impactScope: {
|
|
15858
|
+
type: "string",
|
|
15859
|
+
enum: [
|
|
15860
|
+
"single_source",
|
|
15861
|
+
"cluster_sources"
|
|
15862
|
+
]
|
|
15863
|
+
},
|
|
15864
|
+
latestJob: {
|
|
15865
|
+
anyOf: [
|
|
15866
|
+
{
|
|
15867
|
+
type: "object",
|
|
15868
|
+
properties: {
|
|
15869
|
+
id: {
|
|
15870
|
+
type: "string",
|
|
15871
|
+
minLength: 1,
|
|
15872
|
+
maxLength: 191
|
|
15873
|
+
},
|
|
15874
|
+
operationId: {
|
|
15875
|
+
anyOf: [
|
|
15876
|
+
{
|
|
15877
|
+
type: "string",
|
|
15878
|
+
minLength: 1,
|
|
15879
|
+
maxLength: 191
|
|
15880
|
+
},
|
|
15881
|
+
{
|
|
15882
|
+
type: "null"
|
|
15883
|
+
}
|
|
15884
|
+
],
|
|
15885
|
+
description: "Pass to outlit_get_customer_merge_status. Null when this job has no matching tracked operation."
|
|
15886
|
+
},
|
|
15887
|
+
status: {
|
|
15888
|
+
type: "string",
|
|
15889
|
+
enum: [
|
|
15890
|
+
"QUEUED",
|
|
15891
|
+
"RUNNING",
|
|
15892
|
+
"COMPLETED",
|
|
15893
|
+
"FAILED"
|
|
15894
|
+
]
|
|
15895
|
+
},
|
|
15896
|
+
createdAt: {
|
|
15897
|
+
type: "string",
|
|
15898
|
+
format: "date-time",
|
|
15899
|
+
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))$"
|
|
15900
|
+
},
|
|
15901
|
+
updatedAt: {
|
|
15902
|
+
type: "string",
|
|
15903
|
+
format: "date-time",
|
|
15904
|
+
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))$"
|
|
15905
|
+
}
|
|
15906
|
+
},
|
|
15907
|
+
required: [
|
|
15908
|
+
"id",
|
|
15909
|
+
"operationId",
|
|
15910
|
+
"status",
|
|
15911
|
+
"createdAt",
|
|
15912
|
+
"updatedAt"
|
|
15913
|
+
],
|
|
15914
|
+
additionalProperties: false
|
|
15915
|
+
},
|
|
15916
|
+
{
|
|
15917
|
+
type: "null"
|
|
15918
|
+
}
|
|
15919
|
+
]
|
|
15920
|
+
},
|
|
15921
|
+
jevEvidence: {
|
|
15922
|
+
description: "Jev advisory model evidence scoped to this suggestion's customers. Uncalibrated and never part of eligibility, confidence, or recommended action.",
|
|
15923
|
+
anyOf: [
|
|
15924
|
+
{
|
|
15925
|
+
type: "object",
|
|
15926
|
+
properties: {
|
|
15927
|
+
computedAt: {
|
|
15928
|
+
type: "string",
|
|
15929
|
+
format: "date-time",
|
|
15930
|
+
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))$"
|
|
15931
|
+
},
|
|
15932
|
+
expiresAt: {
|
|
15933
|
+
type: "string",
|
|
15934
|
+
format: "date-time",
|
|
15935
|
+
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))$"
|
|
15936
|
+
},
|
|
15937
|
+
expired: {
|
|
15938
|
+
type: "boolean"
|
|
15939
|
+
},
|
|
15940
|
+
pairs: {
|
|
15941
|
+
minItems: 1,
|
|
15942
|
+
type: "array",
|
|
15943
|
+
items: {
|
|
15944
|
+
type: "object",
|
|
15945
|
+
properties: {
|
|
15946
|
+
incoming: {
|
|
15947
|
+
type: "object",
|
|
15948
|
+
properties: {
|
|
15949
|
+
id: {
|
|
15950
|
+
type: "string",
|
|
15951
|
+
minLength: 1,
|
|
15952
|
+
maxLength: 191
|
|
15953
|
+
},
|
|
15954
|
+
name: {
|
|
15955
|
+
type: "string",
|
|
15956
|
+
minLength: 1,
|
|
15957
|
+
maxLength: 500
|
|
15958
|
+
},
|
|
15959
|
+
domain: {
|
|
15960
|
+
anyOf: [
|
|
15961
|
+
{
|
|
15962
|
+
type: "string",
|
|
15963
|
+
minLength: 1,
|
|
15964
|
+
maxLength: 500
|
|
15965
|
+
},
|
|
15966
|
+
{
|
|
15967
|
+
type: "null"
|
|
15968
|
+
}
|
|
15969
|
+
]
|
|
15970
|
+
},
|
|
15971
|
+
type: {
|
|
15972
|
+
type: "string",
|
|
15973
|
+
enum: [
|
|
15974
|
+
"COMPANY",
|
|
15975
|
+
"INDIVIDUAL"
|
|
15976
|
+
]
|
|
15977
|
+
},
|
|
15978
|
+
status: {
|
|
15979
|
+
anyOf: [
|
|
15980
|
+
{
|
|
15981
|
+
type: "string",
|
|
15982
|
+
enum: [
|
|
15983
|
+
"PROVISIONAL",
|
|
15984
|
+
"ACTIVE",
|
|
15985
|
+
"CHURNED",
|
|
15986
|
+
"MERGED"
|
|
15987
|
+
]
|
|
15988
|
+
},
|
|
15989
|
+
{
|
|
15990
|
+
type: "null"
|
|
15991
|
+
}
|
|
15992
|
+
]
|
|
15993
|
+
},
|
|
15994
|
+
billingStatus: {
|
|
15995
|
+
anyOf: [
|
|
15996
|
+
{
|
|
15997
|
+
type: "string"
|
|
15998
|
+
},
|
|
15999
|
+
{
|
|
16000
|
+
type: "null"
|
|
16001
|
+
}
|
|
16002
|
+
]
|
|
16003
|
+
},
|
|
16004
|
+
identifierCount: {
|
|
16005
|
+
type: "integer",
|
|
16006
|
+
minimum: 0,
|
|
16007
|
+
maximum: 9007199254740991
|
|
16008
|
+
},
|
|
16009
|
+
contactCount: {
|
|
16010
|
+
type: "integer",
|
|
16011
|
+
minimum: 0,
|
|
16012
|
+
maximum: 9007199254740991
|
|
16013
|
+
}
|
|
16014
|
+
},
|
|
16015
|
+
required: [
|
|
16016
|
+
"id",
|
|
16017
|
+
"name",
|
|
16018
|
+
"domain",
|
|
16019
|
+
"type",
|
|
16020
|
+
"status",
|
|
16021
|
+
"identifierCount",
|
|
16022
|
+
"contactCount"
|
|
16023
|
+
],
|
|
16024
|
+
additionalProperties: false
|
|
16025
|
+
},
|
|
16026
|
+
candidate: {
|
|
16027
|
+
type: "object",
|
|
16028
|
+
properties: {
|
|
16029
|
+
id: {
|
|
16030
|
+
type: "string",
|
|
16031
|
+
minLength: 1,
|
|
16032
|
+
maxLength: 191
|
|
16033
|
+
},
|
|
16034
|
+
name: {
|
|
16035
|
+
type: "string",
|
|
16036
|
+
minLength: 1,
|
|
16037
|
+
maxLength: 500
|
|
16038
|
+
},
|
|
16039
|
+
domain: {
|
|
16040
|
+
anyOf: [
|
|
16041
|
+
{
|
|
16042
|
+
type: "string",
|
|
16043
|
+
minLength: 1,
|
|
16044
|
+
maxLength: 500
|
|
16045
|
+
},
|
|
16046
|
+
{
|
|
16047
|
+
type: "null"
|
|
16048
|
+
}
|
|
16049
|
+
]
|
|
16050
|
+
},
|
|
16051
|
+
type: {
|
|
16052
|
+
type: "string",
|
|
16053
|
+
enum: [
|
|
16054
|
+
"COMPANY",
|
|
16055
|
+
"INDIVIDUAL"
|
|
16056
|
+
]
|
|
16057
|
+
},
|
|
16058
|
+
status: {
|
|
16059
|
+
anyOf: [
|
|
16060
|
+
{
|
|
16061
|
+
type: "string",
|
|
16062
|
+
enum: [
|
|
16063
|
+
"PROVISIONAL",
|
|
16064
|
+
"ACTIVE",
|
|
16065
|
+
"CHURNED",
|
|
16066
|
+
"MERGED"
|
|
16067
|
+
]
|
|
16068
|
+
},
|
|
16069
|
+
{
|
|
16070
|
+
type: "null"
|
|
16071
|
+
}
|
|
16072
|
+
]
|
|
16073
|
+
},
|
|
16074
|
+
billingStatus: {
|
|
16075
|
+
anyOf: [
|
|
16076
|
+
{
|
|
16077
|
+
type: "string"
|
|
16078
|
+
},
|
|
16079
|
+
{
|
|
16080
|
+
type: "null"
|
|
16081
|
+
}
|
|
16082
|
+
]
|
|
16083
|
+
},
|
|
16084
|
+
identifierCount: {
|
|
16085
|
+
type: "integer",
|
|
16086
|
+
minimum: 0,
|
|
16087
|
+
maximum: 9007199254740991
|
|
16088
|
+
},
|
|
16089
|
+
contactCount: {
|
|
16090
|
+
type: "integer",
|
|
16091
|
+
minimum: 0,
|
|
16092
|
+
maximum: 9007199254740991
|
|
16093
|
+
}
|
|
16094
|
+
},
|
|
16095
|
+
required: [
|
|
16096
|
+
"id",
|
|
16097
|
+
"name",
|
|
16098
|
+
"domain",
|
|
16099
|
+
"type",
|
|
16100
|
+
"status",
|
|
16101
|
+
"identifierCount",
|
|
16102
|
+
"contactCount"
|
|
16103
|
+
],
|
|
16104
|
+
additionalProperties: false
|
|
16105
|
+
},
|
|
16106
|
+
pSameEntity: {
|
|
16107
|
+
type: "number",
|
|
16108
|
+
minimum: 0,
|
|
16109
|
+
maximum: 1
|
|
16110
|
+
},
|
|
16111
|
+
relation: {
|
|
16112
|
+
anyOf: [
|
|
16113
|
+
{
|
|
16114
|
+
type: "string",
|
|
16115
|
+
minLength: 1,
|
|
16116
|
+
maxLength: 100
|
|
16117
|
+
},
|
|
16118
|
+
{
|
|
16119
|
+
type: "null"
|
|
16120
|
+
}
|
|
16121
|
+
]
|
|
16122
|
+
},
|
|
16123
|
+
relationProbability: {
|
|
16124
|
+
anyOf: [
|
|
16125
|
+
{
|
|
16126
|
+
type: "number",
|
|
16127
|
+
minimum: 0,
|
|
16128
|
+
maximum: 1
|
|
16129
|
+
},
|
|
16130
|
+
{
|
|
16131
|
+
type: "null"
|
|
16132
|
+
}
|
|
16133
|
+
]
|
|
16134
|
+
}
|
|
16135
|
+
},
|
|
16136
|
+
required: [
|
|
16137
|
+
"incoming",
|
|
16138
|
+
"candidate",
|
|
16139
|
+
"pSameEntity",
|
|
16140
|
+
"relation",
|
|
16141
|
+
"relationProbability"
|
|
16142
|
+
],
|
|
16143
|
+
additionalProperties: false
|
|
16144
|
+
}
|
|
16145
|
+
}
|
|
16146
|
+
},
|
|
16147
|
+
required: [
|
|
16148
|
+
"computedAt",
|
|
16149
|
+
"expiresAt",
|
|
16150
|
+
"expired",
|
|
16151
|
+
"pairs"
|
|
16152
|
+
],
|
|
16153
|
+
additionalProperties: false
|
|
16154
|
+
},
|
|
16155
|
+
{
|
|
16156
|
+
type: "null"
|
|
16157
|
+
}
|
|
16158
|
+
]
|
|
16159
|
+
},
|
|
16160
|
+
canMerge: {
|
|
16161
|
+
type: "boolean"
|
|
16162
|
+
},
|
|
16163
|
+
canReject: {
|
|
16164
|
+
type: "boolean"
|
|
16165
|
+
}
|
|
16166
|
+
},
|
|
16167
|
+
required: [
|
|
16168
|
+
"id",
|
|
16169
|
+
"status",
|
|
16170
|
+
"proposalStatus",
|
|
16171
|
+
"confidence",
|
|
16172
|
+
"survivor",
|
|
16173
|
+
"duplicate",
|
|
16174
|
+
"reviewNotes",
|
|
16175
|
+
"reviewedAt",
|
|
16176
|
+
"reviewedByName",
|
|
16177
|
+
"appliedAt",
|
|
16178
|
+
"appliedByName",
|
|
16179
|
+
"createdAt",
|
|
16180
|
+
"explanation",
|
|
16181
|
+
"impact",
|
|
16182
|
+
"latestJob",
|
|
16183
|
+
"canMerge",
|
|
16184
|
+
"canReject"
|
|
16185
|
+
],
|
|
16186
|
+
additionalProperties: false
|
|
16187
|
+
}
|
|
16188
|
+
},
|
|
16189
|
+
canManageIdentityMerges: {
|
|
16190
|
+
type: "boolean"
|
|
16191
|
+
},
|
|
16192
|
+
nextCursor: {
|
|
16193
|
+
default: null,
|
|
16194
|
+
anyOf: [
|
|
16195
|
+
{
|
|
16196
|
+
type: "string",
|
|
16197
|
+
minLength: 1,
|
|
16198
|
+
maxLength: 2000
|
|
16199
|
+
},
|
|
16200
|
+
{
|
|
16201
|
+
type: "null"
|
|
16202
|
+
}
|
|
16203
|
+
]
|
|
16204
|
+
}
|
|
16205
|
+
},
|
|
16206
|
+
required: [
|
|
16207
|
+
"suggestions",
|
|
16208
|
+
"canManageIdentityMerges",
|
|
16209
|
+
"nextCursor"
|
|
16210
|
+
],
|
|
16211
|
+
additionalProperties: false
|
|
16212
|
+
}
|
|
16213
|
+
},
|
|
16214
|
+
outlit_reject_identity_merge_suggestion: {
|
|
16215
|
+
toolName: "outlit_reject_identity_merge_suggestion",
|
|
16216
|
+
commandId: "identity.suggestions.reject",
|
|
16217
|
+
commandVersion: 1,
|
|
16218
|
+
ownerDomain: "identity",
|
|
16219
|
+
title: "Reject identity merge suggestion",
|
|
16220
|
+
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.",
|
|
16221
|
+
annotations: {
|
|
16222
|
+
readOnlyHint: false,
|
|
16223
|
+
destructiveHint: false
|
|
16224
|
+
},
|
|
16225
|
+
inputSchema: {
|
|
16226
|
+
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
16227
|
+
type: "object",
|
|
16228
|
+
properties: {
|
|
16229
|
+
suggestionId: {
|
|
16230
|
+
type: "string",
|
|
16231
|
+
minLength: 1,
|
|
16232
|
+
maxLength: 191
|
|
16233
|
+
},
|
|
16234
|
+
reviewNotes: {
|
|
16235
|
+
type: "string",
|
|
16236
|
+
maxLength: 1e4
|
|
16237
|
+
}
|
|
16238
|
+
},
|
|
16239
|
+
required: [
|
|
16240
|
+
"suggestionId"
|
|
16241
|
+
],
|
|
16242
|
+
additionalProperties: false
|
|
16243
|
+
},
|
|
16244
|
+
outputSchema: {
|
|
16245
|
+
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
16246
|
+
type: "object",
|
|
16247
|
+
properties: {
|
|
16248
|
+
suggestionId: {
|
|
16249
|
+
type: "string",
|
|
16250
|
+
minLength: 1,
|
|
16251
|
+
maxLength: 191
|
|
16252
|
+
},
|
|
16253
|
+
status: {
|
|
16254
|
+
type: "string",
|
|
16255
|
+
const: "REJECTED"
|
|
16256
|
+
}
|
|
16257
|
+
},
|
|
16258
|
+
required: [
|
|
16259
|
+
"suggestionId",
|
|
16260
|
+
"status"
|
|
16261
|
+
],
|
|
16262
|
+
additionalProperties: false
|
|
16263
|
+
}
|
|
16264
|
+
},
|
|
16265
|
+
outlit_merge_customers: {
|
|
16266
|
+
toolName: "outlit_merge_customers",
|
|
16267
|
+
commandId: "customer.merge",
|
|
16268
|
+
commandVersion: 1,
|
|
16269
|
+
ownerDomain: "identity",
|
|
16270
|
+
title: "Merge customers",
|
|
16271
|
+
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.",
|
|
16272
|
+
annotations: {
|
|
16273
|
+
readOnlyHint: false,
|
|
16274
|
+
destructiveHint: true
|
|
16275
|
+
},
|
|
16276
|
+
inputSchema: {
|
|
16277
|
+
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
16278
|
+
type: "object",
|
|
16279
|
+
properties: {
|
|
16280
|
+
survivingCustomerId: {
|
|
16281
|
+
type: "string",
|
|
16282
|
+
minLength: 1,
|
|
16283
|
+
maxLength: 191
|
|
16284
|
+
},
|
|
16285
|
+
duplicateCustomerId: {
|
|
16286
|
+
type: "string",
|
|
16287
|
+
minLength: 1,
|
|
16288
|
+
maxLength: 191
|
|
16289
|
+
},
|
|
16290
|
+
suggestionId: {
|
|
16291
|
+
type: "string",
|
|
16292
|
+
minLength: 1,
|
|
16293
|
+
maxLength: 191,
|
|
16294
|
+
description: "Eligible saved suggestion for this exact pair. Required if either record is INDIVIDUAL; optional for two COMPANY records."
|
|
16295
|
+
},
|
|
16296
|
+
reviewNotes: {
|
|
16297
|
+
type: "string",
|
|
16298
|
+
maxLength: 1e4
|
|
16299
|
+
},
|
|
16300
|
+
dryRun: {
|
|
16301
|
+
default: true,
|
|
16302
|
+
type: "boolean"
|
|
16303
|
+
},
|
|
16304
|
+
previewToken: {
|
|
16305
|
+
type: "string",
|
|
16306
|
+
minLength: 1,
|
|
16307
|
+
maxLength: 4096
|
|
16308
|
+
},
|
|
16309
|
+
requestId: {
|
|
16310
|
+
type: "string",
|
|
16311
|
+
minLength: 1,
|
|
16312
|
+
maxLength: 191
|
|
16313
|
+
}
|
|
16314
|
+
},
|
|
16315
|
+
required: [
|
|
16316
|
+
"survivingCustomerId",
|
|
16317
|
+
"duplicateCustomerId"
|
|
16318
|
+
],
|
|
16319
|
+
additionalProperties: false
|
|
16320
|
+
},
|
|
16321
|
+
outputSchema: {
|
|
16322
|
+
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
16323
|
+
oneOf: [
|
|
16324
|
+
{
|
|
16325
|
+
type: "object",
|
|
16326
|
+
properties: {
|
|
16327
|
+
kind: {
|
|
16328
|
+
type: "string",
|
|
16329
|
+
const: "preview"
|
|
16330
|
+
},
|
|
16331
|
+
survivingCustomerId: {
|
|
16332
|
+
type: "string",
|
|
16333
|
+
minLength: 1,
|
|
16334
|
+
maxLength: 191
|
|
16335
|
+
},
|
|
16336
|
+
duplicateCustomerId: {
|
|
16337
|
+
type: "string",
|
|
16338
|
+
minLength: 1,
|
|
16339
|
+
maxLength: 191
|
|
16340
|
+
},
|
|
16341
|
+
previewToken: {
|
|
16342
|
+
type: "string",
|
|
16343
|
+
minLength: 1,
|
|
16344
|
+
maxLength: 4096
|
|
16345
|
+
},
|
|
16346
|
+
evaluatedAt: {
|
|
16347
|
+
type: "string",
|
|
16348
|
+
format: "date-time",
|
|
16349
|
+
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)))$"
|
|
16350
|
+
},
|
|
16351
|
+
impact: {
|
|
16352
|
+
type: "object",
|
|
16353
|
+
properties: {
|
|
16354
|
+
identifiers: {
|
|
16355
|
+
type: "integer",
|
|
16356
|
+
minimum: 0,
|
|
16357
|
+
maximum: 9007199254740991
|
|
16358
|
+
},
|
|
16359
|
+
contacts: {
|
|
16360
|
+
type: "integer",
|
|
16361
|
+
minimum: 0,
|
|
16362
|
+
maximum: 9007199254740991
|
|
16363
|
+
},
|
|
16364
|
+
facts: {
|
|
16365
|
+
type: "integer",
|
|
16366
|
+
minimum: 0,
|
|
16367
|
+
maximum: 9007199254740991
|
|
16368
|
+
},
|
|
16369
|
+
communications: {
|
|
16370
|
+
type: "integer",
|
|
16371
|
+
minimum: 0,
|
|
16372
|
+
maximum: 9007199254740991
|
|
16373
|
+
},
|
|
16374
|
+
accessEntries: {
|
|
16375
|
+
type: "integer",
|
|
16376
|
+
minimum: 0,
|
|
16377
|
+
maximum: 9007199254740991
|
|
16378
|
+
}
|
|
16379
|
+
},
|
|
16380
|
+
required: [
|
|
16381
|
+
"identifiers",
|
|
16382
|
+
"contacts",
|
|
16383
|
+
"facts",
|
|
16384
|
+
"communications",
|
|
16385
|
+
"accessEntries"
|
|
16386
|
+
],
|
|
16387
|
+
additionalProperties: false
|
|
16388
|
+
},
|
|
16389
|
+
warnings: {
|
|
16390
|
+
maxItems: 30,
|
|
16391
|
+
type: "array",
|
|
16392
|
+
items: {
|
|
16393
|
+
type: "object",
|
|
16394
|
+
properties: {
|
|
16395
|
+
code: {
|
|
16396
|
+
type: "string",
|
|
16397
|
+
minLength: 1,
|
|
16398
|
+
maxLength: 100
|
|
16399
|
+
},
|
|
16400
|
+
message: {
|
|
16401
|
+
type: "string",
|
|
16402
|
+
maxLength: 1000
|
|
16403
|
+
}
|
|
16404
|
+
},
|
|
16405
|
+
required: [
|
|
16406
|
+
"code",
|
|
16407
|
+
"message"
|
|
16408
|
+
],
|
|
16409
|
+
additionalProperties: false
|
|
16410
|
+
}
|
|
16411
|
+
}
|
|
16412
|
+
},
|
|
16413
|
+
required: [
|
|
16414
|
+
"kind",
|
|
16415
|
+
"survivingCustomerId",
|
|
16416
|
+
"duplicateCustomerId",
|
|
16417
|
+
"previewToken",
|
|
16418
|
+
"evaluatedAt",
|
|
16419
|
+
"impact",
|
|
16420
|
+
"warnings"
|
|
16421
|
+
],
|
|
16422
|
+
additionalProperties: false
|
|
16423
|
+
},
|
|
16424
|
+
{
|
|
16425
|
+
type: "object",
|
|
16426
|
+
properties: {
|
|
16427
|
+
kind: {
|
|
16428
|
+
type: "string",
|
|
16429
|
+
const: "operation"
|
|
16430
|
+
},
|
|
16431
|
+
operationId: {
|
|
16432
|
+
type: "string",
|
|
16433
|
+
minLength: 1,
|
|
16434
|
+
maxLength: 191
|
|
16435
|
+
},
|
|
16436
|
+
survivingCustomerId: {
|
|
16437
|
+
type: "string",
|
|
16438
|
+
minLength: 1,
|
|
16439
|
+
maxLength: 191
|
|
16440
|
+
},
|
|
16441
|
+
duplicateCustomerId: {
|
|
16442
|
+
type: "string",
|
|
16443
|
+
minLength: 1,
|
|
16444
|
+
maxLength: 191
|
|
16445
|
+
},
|
|
16446
|
+
status: {
|
|
16447
|
+
type: "string",
|
|
16448
|
+
enum: [
|
|
16449
|
+
"queued",
|
|
16450
|
+
"running",
|
|
16451
|
+
"completed",
|
|
16452
|
+
"failed"
|
|
16453
|
+
]
|
|
16454
|
+
},
|
|
16455
|
+
phase: {
|
|
16456
|
+
type: "string",
|
|
16457
|
+
minLength: 1,
|
|
16458
|
+
maxLength: 100
|
|
16459
|
+
},
|
|
16460
|
+
error: {
|
|
16461
|
+
type: "object",
|
|
16462
|
+
properties: {
|
|
16463
|
+
code: {
|
|
16464
|
+
type: "string",
|
|
16465
|
+
minLength: 1,
|
|
16466
|
+
maxLength: 100
|
|
16467
|
+
},
|
|
16468
|
+
message: {
|
|
16469
|
+
type: "string",
|
|
16470
|
+
maxLength: 1000
|
|
16471
|
+
}
|
|
16472
|
+
},
|
|
16473
|
+
required: [
|
|
16474
|
+
"code",
|
|
16475
|
+
"message"
|
|
16476
|
+
],
|
|
16477
|
+
additionalProperties: false
|
|
16478
|
+
}
|
|
16479
|
+
},
|
|
16480
|
+
required: [
|
|
16481
|
+
"kind",
|
|
16482
|
+
"operationId",
|
|
16483
|
+
"survivingCustomerId",
|
|
16484
|
+
"duplicateCustomerId",
|
|
16485
|
+
"status",
|
|
16486
|
+
"phase"
|
|
16487
|
+
],
|
|
16488
|
+
additionalProperties: false
|
|
16489
|
+
}
|
|
16490
|
+
]
|
|
16491
|
+
}
|
|
16492
|
+
},
|
|
16493
|
+
outlit_get_customer_merge_status: {
|
|
16494
|
+
toolName: "outlit_get_customer_merge_status",
|
|
16495
|
+
commandId: "customer.merge.status",
|
|
16496
|
+
commandVersion: 1,
|
|
16497
|
+
ownerDomain: "identity",
|
|
16498
|
+
title: "Get customer merge status",
|
|
16499
|
+
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.",
|
|
16500
|
+
annotations: {
|
|
16501
|
+
readOnlyHint: true,
|
|
16502
|
+
destructiveHint: false
|
|
16503
|
+
},
|
|
16504
|
+
inputSchema: {
|
|
16505
|
+
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
16506
|
+
type: "object",
|
|
16507
|
+
properties: {
|
|
16508
|
+
operationId: {
|
|
16509
|
+
type: "string",
|
|
16510
|
+
minLength: 1,
|
|
16511
|
+
maxLength: 191
|
|
16512
|
+
}
|
|
16513
|
+
},
|
|
16514
|
+
required: [
|
|
16515
|
+
"operationId"
|
|
16516
|
+
],
|
|
16517
|
+
additionalProperties: false
|
|
16518
|
+
},
|
|
16519
|
+
outputSchema: {
|
|
16520
|
+
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
16521
|
+
type: "object",
|
|
16522
|
+
properties: {
|
|
16523
|
+
kind: {
|
|
16524
|
+
type: "string",
|
|
16525
|
+
const: "operation"
|
|
16526
|
+
},
|
|
16527
|
+
operationId: {
|
|
16528
|
+
type: "string",
|
|
16529
|
+
minLength: 1,
|
|
16530
|
+
maxLength: 191
|
|
16531
|
+
},
|
|
16532
|
+
survivingCustomerId: {
|
|
16533
|
+
type: "string",
|
|
16534
|
+
minLength: 1,
|
|
16535
|
+
maxLength: 191
|
|
16536
|
+
},
|
|
16537
|
+
duplicateCustomerId: {
|
|
16538
|
+
type: "string",
|
|
16539
|
+
minLength: 1,
|
|
16540
|
+
maxLength: 191
|
|
16541
|
+
},
|
|
16542
|
+
status: {
|
|
16543
|
+
type: "string",
|
|
16544
|
+
enum: [
|
|
16545
|
+
"queued",
|
|
16546
|
+
"running",
|
|
16547
|
+
"completed",
|
|
16548
|
+
"failed"
|
|
16549
|
+
]
|
|
16550
|
+
},
|
|
16551
|
+
phase: {
|
|
16552
|
+
type: "string",
|
|
16553
|
+
minLength: 1,
|
|
16554
|
+
maxLength: 100
|
|
16555
|
+
},
|
|
16556
|
+
error: {
|
|
16557
|
+
type: "object",
|
|
16558
|
+
properties: {
|
|
16559
|
+
code: {
|
|
16560
|
+
type: "string",
|
|
16561
|
+
minLength: 1,
|
|
16562
|
+
maxLength: 100
|
|
16563
|
+
},
|
|
16564
|
+
message: {
|
|
16565
|
+
type: "string",
|
|
16566
|
+
maxLength: 1000
|
|
16567
|
+
}
|
|
16568
|
+
},
|
|
16569
|
+
required: [
|
|
16570
|
+
"code",
|
|
16571
|
+
"message"
|
|
16572
|
+
],
|
|
16573
|
+
additionalProperties: false
|
|
16574
|
+
}
|
|
16575
|
+
},
|
|
16576
|
+
required: [
|
|
16577
|
+
"kind",
|
|
16578
|
+
"operationId",
|
|
16579
|
+
"survivingCustomerId",
|
|
16580
|
+
"duplicateCustomerId",
|
|
16581
|
+
"status",
|
|
16582
|
+
"phase"
|
|
16583
|
+
],
|
|
16584
|
+
additionalProperties: false
|
|
16585
|
+
}
|
|
16586
|
+
},
|
|
16587
|
+
outlit_list_scoped_repairs: {
|
|
16588
|
+
toolName: "outlit_list_scoped_repairs",
|
|
16589
|
+
commandId: "integrity.scoped_repair.list",
|
|
16590
|
+
commandVersion: 1,
|
|
16591
|
+
ownerDomain: "identity",
|
|
16592
|
+
title: "List scoped repair findings",
|
|
16593
|
+
description: "Read a bounded page of integrity findings visible to this caller, including finding IDs, fingerprints, compact source/target/evidence summaries, hasSavedCandidate, and plan state. The default page is 10 findings; maximum 20. Scan successive cursors until hasMore is false; one page is not complete discovery. When hasSavedCandidate is true and state is not blocked, call preview with findingId and expectedFingerprint and omit candidate to use the saved exact manifest. A blocked finding cannot be previewed; follow its reason. If no saved exact candidate exists, the finding is manual. Candidate manifests must be source-backed and exact: contact moves pin contactId/fromCustomerId/toCustomerId/expectedEmail/expectedUpdatedAt; Stripe pins identifierId/identifierValue/sourceScopeKey/preserveContacts; CRM and corpus require their domain-produced exact source manifests. Do not invent a manifest from a finding summary.",
|
|
16594
|
+
annotations: {
|
|
16595
|
+
readOnlyHint: true,
|
|
16596
|
+
destructiveHint: false
|
|
16597
|
+
},
|
|
16598
|
+
inputSchema: {
|
|
16599
|
+
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
16600
|
+
type: "object",
|
|
16601
|
+
properties: {
|
|
16602
|
+
limit: {
|
|
16603
|
+
default: 10,
|
|
16604
|
+
type: "integer",
|
|
16605
|
+
minimum: 1,
|
|
16606
|
+
maximum: 20
|
|
16607
|
+
},
|
|
16608
|
+
cursor: {
|
|
16609
|
+
type: "string",
|
|
16610
|
+
minLength: 1,
|
|
16611
|
+
maxLength: 191
|
|
16612
|
+
}
|
|
16613
|
+
},
|
|
16614
|
+
additionalProperties: false
|
|
16615
|
+
},
|
|
16616
|
+
outputSchema: {
|
|
16617
|
+
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
16618
|
+
type: "object",
|
|
16619
|
+
properties: {
|
|
16620
|
+
items: {
|
|
16621
|
+
maxItems: 20,
|
|
16622
|
+
type: "array",
|
|
16623
|
+
items: {
|
|
16624
|
+
type: "object",
|
|
16625
|
+
properties: {
|
|
16626
|
+
findingId: {
|
|
16627
|
+
type: "string",
|
|
16628
|
+
minLength: 1,
|
|
16629
|
+
maxLength: 191
|
|
16630
|
+
},
|
|
16631
|
+
fingerprint: {
|
|
16632
|
+
type: "string",
|
|
16633
|
+
minLength: 1,
|
|
16634
|
+
maxLength: 191
|
|
16635
|
+
},
|
|
16636
|
+
state: {
|
|
16637
|
+
type: "string",
|
|
16638
|
+
enum: [
|
|
16639
|
+
"manual",
|
|
16640
|
+
"ready",
|
|
16641
|
+
"admitted",
|
|
16642
|
+
"pending_verification",
|
|
16643
|
+
"recovery_needed",
|
|
16644
|
+
"blocked",
|
|
16645
|
+
"verified"
|
|
16646
|
+
]
|
|
16647
|
+
},
|
|
16648
|
+
action: {
|
|
14901
16649
|
anyOf: [
|
|
14902
16650
|
{
|
|
14903
|
-
type: "
|
|
14904
|
-
|
|
14905
|
-
|
|
14906
|
-
|
|
14907
|
-
|
|
14908
|
-
|
|
14909
|
-
|
|
14910
|
-
operationId: {
|
|
14911
|
-
anyOf: [
|
|
14912
|
-
{
|
|
14913
|
-
type: "string",
|
|
14914
|
-
minLength: 1,
|
|
14915
|
-
maxLength: 191
|
|
14916
|
-
},
|
|
14917
|
-
{
|
|
14918
|
-
type: "null"
|
|
14919
|
-
}
|
|
14920
|
-
],
|
|
14921
|
-
description: "Pass to outlit_get_customer_merge_status. Null when this job has no matching tracked operation."
|
|
14922
|
-
},
|
|
14923
|
-
status: {
|
|
14924
|
-
type: "string",
|
|
14925
|
-
enum: [
|
|
14926
|
-
"QUEUED",
|
|
14927
|
-
"RUNNING",
|
|
14928
|
-
"COMPLETED",
|
|
14929
|
-
"FAILED"
|
|
14930
|
-
]
|
|
14931
|
-
},
|
|
14932
|
-
createdAt: {
|
|
14933
|
-
type: "string",
|
|
14934
|
-
format: "date-time",
|
|
14935
|
-
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))$"
|
|
14936
|
-
},
|
|
14937
|
-
updatedAt: {
|
|
14938
|
-
type: "string",
|
|
14939
|
-
format: "date-time",
|
|
14940
|
-
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))$"
|
|
14941
|
-
}
|
|
14942
|
-
},
|
|
14943
|
-
required: [
|
|
14944
|
-
"id",
|
|
14945
|
-
"operationId",
|
|
14946
|
-
"status",
|
|
14947
|
-
"createdAt",
|
|
14948
|
-
"updatedAt"
|
|
14949
|
-
],
|
|
14950
|
-
additionalProperties: false
|
|
16651
|
+
type: "string",
|
|
16652
|
+
enum: [
|
|
16653
|
+
"rehome_contact",
|
|
16654
|
+
"rehome_crm_account",
|
|
16655
|
+
"reattribute_stripe_customer",
|
|
16656
|
+
"rehome_source_corpus"
|
|
16657
|
+
]
|
|
14951
16658
|
},
|
|
14952
16659
|
{
|
|
14953
16660
|
type: "null"
|
|
14954
16661
|
}
|
|
14955
16662
|
]
|
|
14956
16663
|
},
|
|
14957
|
-
|
|
14958
|
-
|
|
16664
|
+
sourceCustomerId: {
|
|
16665
|
+
anyOf: [
|
|
16666
|
+
{
|
|
16667
|
+
type: "string",
|
|
16668
|
+
minLength: 1,
|
|
16669
|
+
maxLength: 191
|
|
16670
|
+
},
|
|
16671
|
+
{
|
|
16672
|
+
type: "null"
|
|
16673
|
+
}
|
|
16674
|
+
]
|
|
14959
16675
|
},
|
|
14960
|
-
|
|
16676
|
+
targetCustomerId: {
|
|
16677
|
+
anyOf: [
|
|
16678
|
+
{
|
|
16679
|
+
type: "string",
|
|
16680
|
+
minLength: 1,
|
|
16681
|
+
maxLength: 191
|
|
16682
|
+
},
|
|
16683
|
+
{
|
|
16684
|
+
type: "null"
|
|
16685
|
+
}
|
|
16686
|
+
]
|
|
16687
|
+
},
|
|
16688
|
+
evidenceRef: {
|
|
16689
|
+
anyOf: [
|
|
16690
|
+
{
|
|
16691
|
+
type: "string",
|
|
16692
|
+
minLength: 1,
|
|
16693
|
+
maxLength: 191
|
|
16694
|
+
},
|
|
16695
|
+
{
|
|
16696
|
+
type: "null"
|
|
16697
|
+
}
|
|
16698
|
+
]
|
|
16699
|
+
},
|
|
16700
|
+
hasSavedCandidate: {
|
|
14961
16701
|
type: "boolean"
|
|
16702
|
+
},
|
|
16703
|
+
planDigest: {
|
|
16704
|
+
anyOf: [
|
|
16705
|
+
{
|
|
16706
|
+
type: "string",
|
|
16707
|
+
pattern: "^[a-f0-9]{64}$"
|
|
16708
|
+
},
|
|
16709
|
+
{
|
|
16710
|
+
type: "null"
|
|
16711
|
+
}
|
|
16712
|
+
]
|
|
16713
|
+
},
|
|
16714
|
+
manualReason: {
|
|
16715
|
+
anyOf: [
|
|
16716
|
+
{
|
|
16717
|
+
type: "string",
|
|
16718
|
+
maxLength: 300
|
|
16719
|
+
},
|
|
16720
|
+
{
|
|
16721
|
+
type: "null"
|
|
16722
|
+
}
|
|
16723
|
+
]
|
|
16724
|
+
},
|
|
16725
|
+
nextStep: {
|
|
16726
|
+
anyOf: [
|
|
16727
|
+
{
|
|
16728
|
+
type: "string",
|
|
16729
|
+
maxLength: 200
|
|
16730
|
+
},
|
|
16731
|
+
{
|
|
16732
|
+
type: "null"
|
|
16733
|
+
}
|
|
16734
|
+
]
|
|
14962
16735
|
}
|
|
14963
16736
|
},
|
|
14964
16737
|
required: [
|
|
14965
|
-
"
|
|
14966
|
-
"
|
|
14967
|
-
"
|
|
14968
|
-
"
|
|
14969
|
-
"
|
|
14970
|
-
"
|
|
14971
|
-
"
|
|
14972
|
-
"
|
|
14973
|
-
"
|
|
14974
|
-
"
|
|
14975
|
-
"
|
|
14976
|
-
"createdAt",
|
|
14977
|
-
"explanation",
|
|
14978
|
-
"impact",
|
|
14979
|
-
"latestJob",
|
|
14980
|
-
"canMerge",
|
|
14981
|
-
"canReject"
|
|
16738
|
+
"findingId",
|
|
16739
|
+
"fingerprint",
|
|
16740
|
+
"state",
|
|
16741
|
+
"action",
|
|
16742
|
+
"sourceCustomerId",
|
|
16743
|
+
"targetCustomerId",
|
|
16744
|
+
"evidenceRef",
|
|
16745
|
+
"hasSavedCandidate",
|
|
16746
|
+
"planDigest",
|
|
16747
|
+
"manualReason",
|
|
16748
|
+
"nextStep"
|
|
14982
16749
|
],
|
|
14983
16750
|
additionalProperties: false
|
|
14984
16751
|
}
|
|
14985
16752
|
},
|
|
14986
|
-
|
|
16753
|
+
scannedCount: {
|
|
16754
|
+
type: "integer",
|
|
16755
|
+
minimum: 0,
|
|
16756
|
+
maximum: 9007199254740991
|
|
16757
|
+
},
|
|
16758
|
+
hasMore: {
|
|
14987
16759
|
type: "boolean"
|
|
14988
16760
|
},
|
|
14989
16761
|
nextCursor: {
|
|
14990
|
-
default: null,
|
|
14991
16762
|
anyOf: [
|
|
14992
16763
|
{
|
|
14993
16764
|
type: "string",
|
|
14994
16765
|
minLength: 1,
|
|
14995
|
-
maxLength:
|
|
16766
|
+
maxLength: 191
|
|
14996
16767
|
},
|
|
14997
16768
|
{
|
|
14998
16769
|
type: "null"
|
|
@@ -15001,20 +16772,21 @@ Returns column definitions and example queries for each view.`,
|
|
|
15001
16772
|
}
|
|
15002
16773
|
},
|
|
15003
16774
|
required: [
|
|
15004
|
-
"
|
|
15005
|
-
"
|
|
16775
|
+
"items",
|
|
16776
|
+
"scannedCount",
|
|
16777
|
+
"hasMore",
|
|
15006
16778
|
"nextCursor"
|
|
15007
16779
|
],
|
|
15008
16780
|
additionalProperties: false
|
|
15009
16781
|
}
|
|
15010
16782
|
},
|
|
15011
|
-
|
|
15012
|
-
toolName: "
|
|
15013
|
-
commandId: "
|
|
16783
|
+
outlit_preview_scoped_repair: {
|
|
16784
|
+
toolName: "outlit_preview_scoped_repair",
|
|
16785
|
+
commandId: "integrity.scoped_repair.preview",
|
|
15014
16786
|
commandVersion: 1,
|
|
15015
16787
|
ownerDomain: "identity",
|
|
15016
|
-
title: "
|
|
15017
|
-
description: "
|
|
16788
|
+
title: "Preview scoped identity repair",
|
|
16789
|
+
description: "Preview and save one exact source-backed repair against a finding fingerprint. Obtain findingId and fingerprint from outlit_list_scoped_repairs. Supply an exact candidate manifest, or omit it when hasSavedCandidate is true to use the saved exact candidate server-side. If discovery reports no saved candidate, a domain-produced source manifest is required; a finding summary is insufficient. Requires identity write authority and access to every finding member and protected customer.",
|
|
15018
16790
|
annotations: {
|
|
15019
16791
|
readOnlyHint: false,
|
|
15020
16792
|
destructiveHint: false
|
|
@@ -15023,18 +16795,74 @@ Returns column definitions and example queries for each view.`,
|
|
|
15023
16795
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
15024
16796
|
type: "object",
|
|
15025
16797
|
properties: {
|
|
15026
|
-
|
|
16798
|
+
findingId: {
|
|
15027
16799
|
type: "string",
|
|
15028
16800
|
minLength: 1,
|
|
15029
16801
|
maxLength: 191
|
|
15030
16802
|
},
|
|
15031
|
-
|
|
16803
|
+
expectedFingerprint: {
|
|
15032
16804
|
type: "string",
|
|
15033
|
-
|
|
16805
|
+
minLength: 1,
|
|
16806
|
+
maxLength: 191
|
|
16807
|
+
},
|
|
16808
|
+
candidate: {
|
|
16809
|
+
type: "object",
|
|
16810
|
+
properties: {
|
|
16811
|
+
version: {
|
|
16812
|
+
type: "number",
|
|
16813
|
+
const: 1
|
|
16814
|
+
},
|
|
16815
|
+
action: {
|
|
16816
|
+
type: "string",
|
|
16817
|
+
enum: [
|
|
16818
|
+
"rehome_contact",
|
|
16819
|
+
"rehome_crm_account",
|
|
16820
|
+
"reattribute_stripe_customer",
|
|
16821
|
+
"rehome_source_corpus"
|
|
16822
|
+
]
|
|
16823
|
+
},
|
|
16824
|
+
organizationId: {
|
|
16825
|
+
type: "string",
|
|
16826
|
+
minLength: 1,
|
|
16827
|
+
maxLength: 191
|
|
16828
|
+
},
|
|
16829
|
+
sourceCustomerId: {
|
|
16830
|
+
type: "string",
|
|
16831
|
+
minLength: 1,
|
|
16832
|
+
maxLength: 191
|
|
16833
|
+
},
|
|
16834
|
+
targetCustomerId: {
|
|
16835
|
+
type: "string",
|
|
16836
|
+
minLength: 1,
|
|
16837
|
+
maxLength: 191
|
|
16838
|
+
},
|
|
16839
|
+
evidenceRef: {
|
|
16840
|
+
type: "string",
|
|
16841
|
+
minLength: 1,
|
|
16842
|
+
maxLength: 191
|
|
16843
|
+
},
|
|
16844
|
+
provenance: {
|
|
16845
|
+
type: "string",
|
|
16846
|
+
const: "exact_source_manifest"
|
|
16847
|
+
},
|
|
16848
|
+
manifest: {}
|
|
16849
|
+
},
|
|
16850
|
+
required: [
|
|
16851
|
+
"version",
|
|
16852
|
+
"action",
|
|
16853
|
+
"organizationId",
|
|
16854
|
+
"sourceCustomerId",
|
|
16855
|
+
"targetCustomerId",
|
|
16856
|
+
"evidenceRef",
|
|
16857
|
+
"provenance",
|
|
16858
|
+
"manifest"
|
|
16859
|
+
],
|
|
16860
|
+
additionalProperties: false
|
|
15034
16861
|
}
|
|
15035
16862
|
},
|
|
15036
16863
|
required: [
|
|
15037
|
-
"
|
|
16864
|
+
"findingId",
|
|
16865
|
+
"expectedFingerprint"
|
|
15038
16866
|
],
|
|
15039
16867
|
additionalProperties: false
|
|
15040
16868
|
},
|
|
@@ -15042,30 +16870,132 @@ Returns column definitions and example queries for each view.`,
|
|
|
15042
16870
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
15043
16871
|
type: "object",
|
|
15044
16872
|
properties: {
|
|
15045
|
-
|
|
16873
|
+
findingId: {
|
|
15046
16874
|
type: "string",
|
|
15047
16875
|
minLength: 1,
|
|
15048
16876
|
maxLength: 191
|
|
15049
16877
|
},
|
|
15050
|
-
|
|
16878
|
+
fingerprint: {
|
|
15051
16879
|
type: "string",
|
|
15052
|
-
|
|
16880
|
+
minLength: 1,
|
|
16881
|
+
maxLength: 191
|
|
16882
|
+
},
|
|
16883
|
+
state: {
|
|
16884
|
+
type: "string",
|
|
16885
|
+
const: "ready"
|
|
16886
|
+
},
|
|
16887
|
+
planDigest: {
|
|
16888
|
+
type: "string",
|
|
16889
|
+
pattern: "^[a-f0-9]{64}$"
|
|
16890
|
+
},
|
|
16891
|
+
action: {
|
|
16892
|
+
type: "string",
|
|
16893
|
+
enum: [
|
|
16894
|
+
"rehome_contact",
|
|
16895
|
+
"rehome_crm_account",
|
|
16896
|
+
"reattribute_stripe_customer",
|
|
16897
|
+
"rehome_source_corpus"
|
|
16898
|
+
]
|
|
16899
|
+
},
|
|
16900
|
+
sourceCustomerId: {
|
|
16901
|
+
type: "string",
|
|
16902
|
+
minLength: 1,
|
|
16903
|
+
maxLength: 191
|
|
16904
|
+
},
|
|
16905
|
+
targetCustomerId: {
|
|
16906
|
+
type: "string",
|
|
16907
|
+
minLength: 1,
|
|
16908
|
+
maxLength: 191
|
|
16909
|
+
},
|
|
16910
|
+
impact: {
|
|
16911
|
+
type: "object",
|
|
16912
|
+
properties: {
|
|
16913
|
+
movedCounts: {
|
|
16914
|
+
type: "object",
|
|
16915
|
+
propertyNames: {
|
|
16916
|
+
type: "string"
|
|
16917
|
+
},
|
|
16918
|
+
additionalProperties: {
|
|
16919
|
+
type: "integer",
|
|
16920
|
+
minimum: 0,
|
|
16921
|
+
maximum: 9007199254740991
|
|
16922
|
+
}
|
|
16923
|
+
},
|
|
16924
|
+
protectedCustomerIds: {
|
|
16925
|
+
type: "array",
|
|
16926
|
+
items: {
|
|
16927
|
+
type: "string",
|
|
16928
|
+
minLength: 1,
|
|
16929
|
+
maxLength: 191
|
|
16930
|
+
}
|
|
16931
|
+
},
|
|
16932
|
+
conflictingProviderIdentities: {
|
|
16933
|
+
type: "array",
|
|
16934
|
+
items: {
|
|
16935
|
+
type: "string"
|
|
16936
|
+
}
|
|
16937
|
+
},
|
|
16938
|
+
baselineContext: {
|
|
16939
|
+
type: "object",
|
|
16940
|
+
properties: {
|
|
16941
|
+
v1MissingFacts: {
|
|
16942
|
+
type: "integer",
|
|
16943
|
+
minimum: 0,
|
|
16944
|
+
maximum: 9007199254740991
|
|
16945
|
+
},
|
|
16946
|
+
v1MissingSources: {
|
|
16947
|
+
type: "integer",
|
|
16948
|
+
minimum: 0,
|
|
16949
|
+
maximum: 9007199254740991
|
|
16950
|
+
},
|
|
16951
|
+
v2MissingFacts: {
|
|
16952
|
+
type: "integer",
|
|
16953
|
+
minimum: 0,
|
|
16954
|
+
maximum: 9007199254740991
|
|
16955
|
+
},
|
|
16956
|
+
v2MissingSources: {
|
|
16957
|
+
type: "integer",
|
|
16958
|
+
minimum: 0,
|
|
16959
|
+
maximum: 9007199254740991
|
|
16960
|
+
}
|
|
16961
|
+
},
|
|
16962
|
+
required: [
|
|
16963
|
+
"v1MissingFacts",
|
|
16964
|
+
"v1MissingSources",
|
|
16965
|
+
"v2MissingFacts",
|
|
16966
|
+
"v2MissingSources"
|
|
16967
|
+
],
|
|
16968
|
+
additionalProperties: false
|
|
16969
|
+
}
|
|
16970
|
+
},
|
|
16971
|
+
required: [
|
|
16972
|
+
"movedCounts",
|
|
16973
|
+
"protectedCustomerIds",
|
|
16974
|
+
"conflictingProviderIdentities"
|
|
16975
|
+
],
|
|
16976
|
+
additionalProperties: false
|
|
15053
16977
|
}
|
|
15054
16978
|
},
|
|
15055
16979
|
required: [
|
|
15056
|
-
"
|
|
15057
|
-
"
|
|
16980
|
+
"findingId",
|
|
16981
|
+
"fingerprint",
|
|
16982
|
+
"state",
|
|
16983
|
+
"planDigest",
|
|
16984
|
+
"action",
|
|
16985
|
+
"sourceCustomerId",
|
|
16986
|
+
"targetCustomerId",
|
|
16987
|
+
"impact"
|
|
15058
16988
|
],
|
|
15059
16989
|
additionalProperties: false
|
|
15060
16990
|
}
|
|
15061
16991
|
},
|
|
15062
|
-
|
|
15063
|
-
toolName: "
|
|
15064
|
-
commandId: "
|
|
16992
|
+
outlit_execute_scoped_repair: {
|
|
16993
|
+
toolName: "outlit_execute_scoped_repair",
|
|
16994
|
+
commandId: "integrity.scoped_repair.execute",
|
|
15065
16995
|
commandVersion: 1,
|
|
15066
16996
|
ownerDomain: "identity",
|
|
15067
|
-
title: "
|
|
15068
|
-
description: "
|
|
16997
|
+
title: "Execute scoped identity repair",
|
|
16998
|
+
description: "Execute only the saved exact plan identified by its digest. Requires identity write authority for a human or the customer_identity:merge API key grant, plus current access to every protected customer. Use resume:true only for the same admitted Stripe operation with a proven committed admission receipt, the same actor, and the same surface; it never reexecutes the SQL move. A pending or recovery_needed result is not verified. Outlit-hosted agents and internal apps cannot execute.",
|
|
15069
16999
|
annotations: {
|
|
15070
17000
|
readOnlyHint: false,
|
|
15071
17001
|
destructiveHint: true
|
|
@@ -15074,242 +17004,190 @@ Returns column definitions and example queries for each view.`,
|
|
|
15074
17004
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
15075
17005
|
type: "object",
|
|
15076
17006
|
properties: {
|
|
15077
|
-
|
|
15078
|
-
type: "string",
|
|
15079
|
-
minLength: 1,
|
|
15080
|
-
maxLength: 191
|
|
15081
|
-
},
|
|
15082
|
-
duplicateCustomerId: {
|
|
17007
|
+
findingId: {
|
|
15083
17008
|
type: "string",
|
|
15084
17009
|
minLength: 1,
|
|
15085
17010
|
maxLength: 191
|
|
15086
17011
|
},
|
|
15087
|
-
|
|
17012
|
+
planDigest: {
|
|
15088
17013
|
type: "string",
|
|
15089
|
-
|
|
15090
|
-
maxLength: 191,
|
|
15091
|
-
description: "Eligible saved suggestion for this exact pair. Required if either record is INDIVIDUAL; optional for two COMPANY records."
|
|
17014
|
+
pattern: "^[a-f0-9]{64}$"
|
|
15092
17015
|
},
|
|
15093
|
-
|
|
17016
|
+
reason: {
|
|
15094
17017
|
type: "string",
|
|
15095
|
-
|
|
17018
|
+
minLength: 10,
|
|
17019
|
+
maxLength: 2000
|
|
15096
17020
|
},
|
|
15097
|
-
|
|
15098
|
-
default:
|
|
17021
|
+
resume: {
|
|
17022
|
+
default: false,
|
|
15099
17023
|
type: "boolean"
|
|
15100
|
-
},
|
|
15101
|
-
previewToken: {
|
|
15102
|
-
type: "string",
|
|
15103
|
-
minLength: 1,
|
|
15104
|
-
maxLength: 4096
|
|
15105
|
-
},
|
|
15106
|
-
requestId: {
|
|
15107
|
-
type: "string",
|
|
15108
|
-
minLength: 1,
|
|
15109
|
-
maxLength: 191
|
|
15110
17024
|
}
|
|
15111
17025
|
},
|
|
15112
17026
|
required: [
|
|
15113
|
-
"
|
|
15114
|
-
"
|
|
17027
|
+
"findingId",
|
|
17028
|
+
"planDigest",
|
|
17029
|
+
"reason"
|
|
15115
17030
|
],
|
|
15116
17031
|
additionalProperties: false
|
|
15117
17032
|
},
|
|
15118
17033
|
outputSchema: {
|
|
15119
17034
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
15120
|
-
|
|
15121
|
-
|
|
15122
|
-
|
|
15123
|
-
|
|
15124
|
-
|
|
15125
|
-
|
|
15126
|
-
|
|
15127
|
-
|
|
15128
|
-
|
|
15129
|
-
|
|
15130
|
-
|
|
15131
|
-
|
|
15132
|
-
|
|
15133
|
-
|
|
17035
|
+
type: "object",
|
|
17036
|
+
properties: {
|
|
17037
|
+
findingId: {
|
|
17038
|
+
type: "string",
|
|
17039
|
+
minLength: 1,
|
|
17040
|
+
maxLength: 191
|
|
17041
|
+
},
|
|
17042
|
+
state: {
|
|
17043
|
+
type: "string",
|
|
17044
|
+
enum: [
|
|
17045
|
+
"ready",
|
|
17046
|
+
"admitted",
|
|
17047
|
+
"pending_verification",
|
|
17048
|
+
"recovery_needed",
|
|
17049
|
+
"manual_required",
|
|
17050
|
+
"blocked",
|
|
17051
|
+
"verified"
|
|
17052
|
+
]
|
|
17053
|
+
},
|
|
17054
|
+
operationId: {
|
|
17055
|
+
anyOf: [
|
|
17056
|
+
{
|
|
15134
17057
|
type: "string",
|
|
15135
17058
|
minLength: 1,
|
|
15136
17059
|
maxLength: 191
|
|
15137
17060
|
},
|
|
15138
|
-
|
|
15139
|
-
type: "
|
|
15140
|
-
|
|
15141
|
-
|
|
15142
|
-
|
|
15143
|
-
|
|
17061
|
+
{
|
|
17062
|
+
type: "null"
|
|
17063
|
+
}
|
|
17064
|
+
]
|
|
17065
|
+
},
|
|
17066
|
+
summary: {
|
|
17067
|
+
type: "string"
|
|
17068
|
+
},
|
|
17069
|
+
nextStep: {
|
|
17070
|
+
anyOf: [
|
|
17071
|
+
{
|
|
15144
17072
|
type: "string",
|
|
15145
|
-
|
|
15146
|
-
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)))$"
|
|
17073
|
+
maxLength: 200
|
|
15147
17074
|
},
|
|
15148
|
-
|
|
17075
|
+
{
|
|
17076
|
+
type: "null"
|
|
17077
|
+
}
|
|
17078
|
+
]
|
|
17079
|
+
},
|
|
17080
|
+
receipt: {
|
|
17081
|
+
anyOf: [
|
|
17082
|
+
{
|
|
15149
17083
|
type: "object",
|
|
15150
17084
|
properties: {
|
|
15151
|
-
|
|
15152
|
-
type: "
|
|
15153
|
-
|
|
15154
|
-
|
|
15155
|
-
|
|
15156
|
-
|
|
15157
|
-
|
|
15158
|
-
|
|
15159
|
-
|
|
17085
|
+
disposition: {
|
|
17086
|
+
type: "string",
|
|
17087
|
+
enum: [
|
|
17088
|
+
"moved",
|
|
17089
|
+
"resumed",
|
|
17090
|
+
"noop",
|
|
17091
|
+
"partial",
|
|
17092
|
+
"refused",
|
|
17093
|
+
"failed"
|
|
17094
|
+
]
|
|
15160
17095
|
},
|
|
15161
|
-
|
|
15162
|
-
type: "
|
|
15163
|
-
minimum: 0,
|
|
15164
|
-
maximum: 9007199254740991
|
|
17096
|
+
followThroughComplete: {
|
|
17097
|
+
type: "boolean"
|
|
15165
17098
|
},
|
|
15166
|
-
|
|
15167
|
-
type: "
|
|
15168
|
-
|
|
15169
|
-
|
|
17099
|
+
admissionAuditIds: {
|
|
17100
|
+
type: "array",
|
|
17101
|
+
items: {
|
|
17102
|
+
type: "string",
|
|
17103
|
+
minLength: 1,
|
|
17104
|
+
maxLength: 191
|
|
17105
|
+
}
|
|
15170
17106
|
},
|
|
15171
|
-
|
|
15172
|
-
type: "
|
|
15173
|
-
|
|
15174
|
-
maximum: 9007199254740991
|
|
15175
|
-
}
|
|
15176
|
-
},
|
|
15177
|
-
required: [
|
|
15178
|
-
"identifiers",
|
|
15179
|
-
"contacts",
|
|
15180
|
-
"facts",
|
|
15181
|
-
"communications",
|
|
15182
|
-
"accessEntries"
|
|
15183
|
-
],
|
|
15184
|
-
additionalProperties: false
|
|
15185
|
-
},
|
|
15186
|
-
warnings: {
|
|
15187
|
-
maxItems: 30,
|
|
15188
|
-
type: "array",
|
|
15189
|
-
items: {
|
|
15190
|
-
type: "object",
|
|
15191
|
-
properties: {
|
|
15192
|
-
code: {
|
|
17107
|
+
completionAuditIds: {
|
|
17108
|
+
type: "array",
|
|
17109
|
+
items: {
|
|
15193
17110
|
type: "string",
|
|
15194
17111
|
minLength: 1,
|
|
15195
|
-
maxLength:
|
|
17112
|
+
maxLength: 191
|
|
17113
|
+
}
|
|
17114
|
+
},
|
|
17115
|
+
movedIds: {
|
|
17116
|
+
type: "object",
|
|
17117
|
+
propertyNames: {
|
|
17118
|
+
type: "string"
|
|
15196
17119
|
},
|
|
15197
|
-
|
|
15198
|
-
type: "
|
|
15199
|
-
|
|
17120
|
+
additionalProperties: {
|
|
17121
|
+
type: "array",
|
|
17122
|
+
items: {
|
|
17123
|
+
type: "string",
|
|
17124
|
+
minLength: 1,
|
|
17125
|
+
maxLength: 191
|
|
17126
|
+
}
|
|
15200
17127
|
}
|
|
15201
17128
|
},
|
|
15202
|
-
|
|
15203
|
-
"
|
|
15204
|
-
|
|
15205
|
-
|
|
15206
|
-
|
|
15207
|
-
}
|
|
15208
|
-
}
|
|
15209
|
-
},
|
|
15210
|
-
required: [
|
|
15211
|
-
"kind",
|
|
15212
|
-
"survivingCustomerId",
|
|
15213
|
-
"duplicateCustomerId",
|
|
15214
|
-
"previewToken",
|
|
15215
|
-
"evaluatedAt",
|
|
15216
|
-
"impact",
|
|
15217
|
-
"warnings"
|
|
15218
|
-
],
|
|
15219
|
-
additionalProperties: false
|
|
15220
|
-
},
|
|
15221
|
-
{
|
|
15222
|
-
type: "object",
|
|
15223
|
-
properties: {
|
|
15224
|
-
kind: {
|
|
15225
|
-
type: "string",
|
|
15226
|
-
const: "operation"
|
|
15227
|
-
},
|
|
15228
|
-
operationId: {
|
|
15229
|
-
type: "string",
|
|
15230
|
-
minLength: 1,
|
|
15231
|
-
maxLength: 191
|
|
15232
|
-
},
|
|
15233
|
-
survivingCustomerId: {
|
|
15234
|
-
type: "string",
|
|
15235
|
-
minLength: 1,
|
|
15236
|
-
maxLength: 191
|
|
15237
|
-
},
|
|
15238
|
-
duplicateCustomerId: {
|
|
15239
|
-
type: "string",
|
|
15240
|
-
minLength: 1,
|
|
15241
|
-
maxLength: 191
|
|
15242
|
-
},
|
|
15243
|
-
status: {
|
|
15244
|
-
type: "string",
|
|
15245
|
-
enum: [
|
|
15246
|
-
"queued",
|
|
15247
|
-
"running",
|
|
15248
|
-
"completed",
|
|
15249
|
-
"failed"
|
|
15250
|
-
]
|
|
15251
|
-
},
|
|
15252
|
-
phase: {
|
|
15253
|
-
type: "string",
|
|
15254
|
-
minLength: 1,
|
|
15255
|
-
maxLength: 100
|
|
15256
|
-
},
|
|
15257
|
-
error: {
|
|
15258
|
-
type: "object",
|
|
15259
|
-
properties: {
|
|
15260
|
-
code: {
|
|
15261
|
-
type: "string",
|
|
15262
|
-
minLength: 1,
|
|
15263
|
-
maxLength: 100
|
|
17129
|
+
refusals: {
|
|
17130
|
+
type: "array",
|
|
17131
|
+
items: {
|
|
17132
|
+
type: "string"
|
|
17133
|
+
}
|
|
15264
17134
|
},
|
|
15265
|
-
|
|
15266
|
-
type: "
|
|
15267
|
-
|
|
17135
|
+
informationalObservations: {
|
|
17136
|
+
type: "array",
|
|
17137
|
+
items: {
|
|
17138
|
+
type: "string"
|
|
17139
|
+
}
|
|
15268
17140
|
}
|
|
15269
17141
|
},
|
|
15270
17142
|
required: [
|
|
15271
|
-
"
|
|
15272
|
-
"
|
|
17143
|
+
"disposition",
|
|
17144
|
+
"followThroughComplete",
|
|
17145
|
+
"admissionAuditIds",
|
|
17146
|
+
"completionAuditIds",
|
|
17147
|
+
"movedIds"
|
|
15273
17148
|
],
|
|
15274
17149
|
additionalProperties: false
|
|
15275
|
-
}
|
|
15276
|
-
|
|
15277
|
-
|
|
15278
|
-
|
|
15279
|
-
|
|
15280
|
-
"survivingCustomerId",
|
|
15281
|
-
"duplicateCustomerId",
|
|
15282
|
-
"status",
|
|
15283
|
-
"phase"
|
|
15284
|
-
],
|
|
15285
|
-
additionalProperties: false
|
|
17150
|
+
},
|
|
17151
|
+
{
|
|
17152
|
+
type: "null"
|
|
17153
|
+
}
|
|
17154
|
+
]
|
|
15286
17155
|
}
|
|
15287
|
-
|
|
17156
|
+
},
|
|
17157
|
+
required: [
|
|
17158
|
+
"findingId",
|
|
17159
|
+
"state",
|
|
17160
|
+
"operationId",
|
|
17161
|
+
"summary",
|
|
17162
|
+
"nextStep",
|
|
17163
|
+
"receipt"
|
|
17164
|
+
],
|
|
17165
|
+
additionalProperties: false
|
|
15288
17166
|
}
|
|
15289
17167
|
},
|
|
15290
|
-
|
|
15291
|
-
toolName: "
|
|
15292
|
-
commandId: "
|
|
17168
|
+
outlit_verify_scoped_repair: {
|
|
17169
|
+
toolName: "outlit_verify_scoped_repair",
|
|
17170
|
+
commandId: "integrity.scoped_repair.verify",
|
|
15293
17171
|
commandVersion: 1,
|
|
15294
17172
|
ownerDomain: "identity",
|
|
15295
|
-
title: "
|
|
15296
|
-
description: "Read
|
|
17173
|
+
title: "Verify scoped identity repair",
|
|
17174
|
+
description: "Read the current saved command progress and, after a completed receipt, run live ownership, audit, billing and index verification. Queued, admitted, blocked and pending verification are not complete. Requires current access to every protected customer.",
|
|
15297
17175
|
annotations: {
|
|
15298
|
-
readOnlyHint:
|
|
17176
|
+
readOnlyHint: false,
|
|
15299
17177
|
destructiveHint: false
|
|
15300
17178
|
},
|
|
15301
17179
|
inputSchema: {
|
|
15302
17180
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
15303
17181
|
type: "object",
|
|
15304
17182
|
properties: {
|
|
15305
|
-
|
|
17183
|
+
findingId: {
|
|
15306
17184
|
type: "string",
|
|
15307
17185
|
minLength: 1,
|
|
15308
17186
|
maxLength: 191
|
|
15309
17187
|
}
|
|
15310
17188
|
},
|
|
15311
17189
|
required: [
|
|
15312
|
-
"
|
|
17190
|
+
"findingId"
|
|
15313
17191
|
],
|
|
15314
17192
|
additionalProperties: false
|
|
15315
17193
|
},
|
|
@@ -15317,66 +17195,191 @@ Returns column definitions and example queries for each view.`,
|
|
|
15317
17195
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
15318
17196
|
type: "object",
|
|
15319
17197
|
properties: {
|
|
15320
|
-
|
|
15321
|
-
type: "string",
|
|
15322
|
-
const: "operation"
|
|
15323
|
-
},
|
|
15324
|
-
operationId: {
|
|
15325
|
-
type: "string",
|
|
15326
|
-
minLength: 1,
|
|
15327
|
-
maxLength: 191
|
|
15328
|
-
},
|
|
15329
|
-
survivingCustomerId: {
|
|
15330
|
-
type: "string",
|
|
15331
|
-
minLength: 1,
|
|
15332
|
-
maxLength: 191
|
|
15333
|
-
},
|
|
15334
|
-
duplicateCustomerId: {
|
|
17198
|
+
findingId: {
|
|
15335
17199
|
type: "string",
|
|
15336
17200
|
minLength: 1,
|
|
15337
17201
|
maxLength: 191
|
|
15338
17202
|
},
|
|
15339
|
-
|
|
17203
|
+
state: {
|
|
15340
17204
|
type: "string",
|
|
15341
17205
|
enum: [
|
|
15342
|
-
"
|
|
15343
|
-
"
|
|
15344
|
-
"
|
|
15345
|
-
"
|
|
17206
|
+
"ready",
|
|
17207
|
+
"admitted",
|
|
17208
|
+
"pending_verification",
|
|
17209
|
+
"recovery_needed",
|
|
17210
|
+
"manual_required",
|
|
17211
|
+
"blocked",
|
|
17212
|
+
"verified"
|
|
15346
17213
|
]
|
|
15347
17214
|
},
|
|
15348
|
-
|
|
15349
|
-
|
|
15350
|
-
|
|
15351
|
-
maxLength: 100
|
|
15352
|
-
},
|
|
15353
|
-
error: {
|
|
15354
|
-
type: "object",
|
|
15355
|
-
properties: {
|
|
15356
|
-
code: {
|
|
17215
|
+
operationId: {
|
|
17216
|
+
anyOf: [
|
|
17217
|
+
{
|
|
15357
17218
|
type: "string",
|
|
15358
17219
|
minLength: 1,
|
|
15359
|
-
maxLength:
|
|
17220
|
+
maxLength: 191
|
|
15360
17221
|
},
|
|
15361
|
-
|
|
17222
|
+
{
|
|
17223
|
+
type: "null"
|
|
17224
|
+
}
|
|
17225
|
+
]
|
|
17226
|
+
},
|
|
17227
|
+
summary: {
|
|
17228
|
+
type: "string"
|
|
17229
|
+
},
|
|
17230
|
+
nextStep: {
|
|
17231
|
+
anyOf: [
|
|
17232
|
+
{
|
|
15362
17233
|
type: "string",
|
|
15363
|
-
maxLength:
|
|
17234
|
+
maxLength: 200
|
|
17235
|
+
},
|
|
17236
|
+
{
|
|
17237
|
+
type: "null"
|
|
15364
17238
|
}
|
|
15365
|
-
|
|
15366
|
-
|
|
15367
|
-
|
|
15368
|
-
|
|
15369
|
-
|
|
15370
|
-
|
|
17239
|
+
]
|
|
17240
|
+
},
|
|
17241
|
+
receipt: {
|
|
17242
|
+
anyOf: [
|
|
17243
|
+
{
|
|
17244
|
+
type: "object",
|
|
17245
|
+
properties: {
|
|
17246
|
+
disposition: {
|
|
17247
|
+
type: "string",
|
|
17248
|
+
enum: [
|
|
17249
|
+
"moved",
|
|
17250
|
+
"resumed",
|
|
17251
|
+
"noop",
|
|
17252
|
+
"partial",
|
|
17253
|
+
"refused",
|
|
17254
|
+
"failed"
|
|
17255
|
+
]
|
|
17256
|
+
},
|
|
17257
|
+
followThroughComplete: {
|
|
17258
|
+
type: "boolean"
|
|
17259
|
+
},
|
|
17260
|
+
admissionAuditIds: {
|
|
17261
|
+
type: "array",
|
|
17262
|
+
items: {
|
|
17263
|
+
type: "string",
|
|
17264
|
+
minLength: 1,
|
|
17265
|
+
maxLength: 191
|
|
17266
|
+
}
|
|
17267
|
+
},
|
|
17268
|
+
completionAuditIds: {
|
|
17269
|
+
type: "array",
|
|
17270
|
+
items: {
|
|
17271
|
+
type: "string",
|
|
17272
|
+
minLength: 1,
|
|
17273
|
+
maxLength: 191
|
|
17274
|
+
}
|
|
17275
|
+
},
|
|
17276
|
+
movedIds: {
|
|
17277
|
+
type: "object",
|
|
17278
|
+
propertyNames: {
|
|
17279
|
+
type: "string"
|
|
17280
|
+
},
|
|
17281
|
+
additionalProperties: {
|
|
17282
|
+
type: "array",
|
|
17283
|
+
items: {
|
|
17284
|
+
type: "string",
|
|
17285
|
+
minLength: 1,
|
|
17286
|
+
maxLength: 191
|
|
17287
|
+
}
|
|
17288
|
+
}
|
|
17289
|
+
},
|
|
17290
|
+
refusals: {
|
|
17291
|
+
type: "array",
|
|
17292
|
+
items: {
|
|
17293
|
+
type: "string"
|
|
17294
|
+
}
|
|
17295
|
+
},
|
|
17296
|
+
informationalObservations: {
|
|
17297
|
+
type: "array",
|
|
17298
|
+
items: {
|
|
17299
|
+
type: "string"
|
|
17300
|
+
}
|
|
17301
|
+
}
|
|
17302
|
+
},
|
|
17303
|
+
required: [
|
|
17304
|
+
"disposition",
|
|
17305
|
+
"followThroughComplete",
|
|
17306
|
+
"admissionAuditIds",
|
|
17307
|
+
"completionAuditIds",
|
|
17308
|
+
"movedIds"
|
|
17309
|
+
],
|
|
17310
|
+
additionalProperties: false
|
|
17311
|
+
},
|
|
17312
|
+
{
|
|
17313
|
+
type: "null"
|
|
17314
|
+
}
|
|
17315
|
+
]
|
|
17316
|
+
},
|
|
17317
|
+
verification: {
|
|
17318
|
+
anyOf: [
|
|
17319
|
+
{
|
|
17320
|
+
type: "object",
|
|
17321
|
+
properties: {
|
|
17322
|
+
outcome: {
|
|
17323
|
+
type: "string",
|
|
17324
|
+
enum: [
|
|
17325
|
+
"verified",
|
|
17326
|
+
"inconclusive"
|
|
17327
|
+
]
|
|
17328
|
+
},
|
|
17329
|
+
ownership: {
|
|
17330
|
+
type: "boolean"
|
|
17331
|
+
},
|
|
17332
|
+
derived: {
|
|
17333
|
+
type: "boolean"
|
|
17334
|
+
},
|
|
17335
|
+
indexed: {
|
|
17336
|
+
type: "boolean"
|
|
17337
|
+
},
|
|
17338
|
+
reconstruction: {
|
|
17339
|
+
type: "string",
|
|
17340
|
+
enum: [
|
|
17341
|
+
"complete",
|
|
17342
|
+
"pending",
|
|
17343
|
+
"baseline_gap"
|
|
17344
|
+
]
|
|
17345
|
+
},
|
|
17346
|
+
warnings: {
|
|
17347
|
+
type: "array",
|
|
17348
|
+
items: {
|
|
17349
|
+
type: "string"
|
|
17350
|
+
}
|
|
17351
|
+
},
|
|
17352
|
+
informationalObservations: {
|
|
17353
|
+
type: "array",
|
|
17354
|
+
items: {
|
|
17355
|
+
type: "string"
|
|
17356
|
+
}
|
|
17357
|
+
}
|
|
17358
|
+
},
|
|
17359
|
+
required: [
|
|
17360
|
+
"outcome",
|
|
17361
|
+
"ownership",
|
|
17362
|
+
"derived",
|
|
17363
|
+
"indexed",
|
|
17364
|
+
"reconstruction",
|
|
17365
|
+
"warnings"
|
|
17366
|
+
],
|
|
17367
|
+
additionalProperties: false
|
|
17368
|
+
},
|
|
17369
|
+
{
|
|
17370
|
+
type: "null"
|
|
17371
|
+
}
|
|
17372
|
+
]
|
|
15371
17373
|
}
|
|
15372
17374
|
},
|
|
15373
17375
|
required: [
|
|
15374
|
-
"
|
|
17376
|
+
"findingId",
|
|
17377
|
+
"state",
|
|
15375
17378
|
"operationId",
|
|
15376
|
-
"
|
|
15377
|
-
"
|
|
15378
|
-
"
|
|
15379
|
-
"
|
|
17379
|
+
"summary",
|
|
17380
|
+
"nextStep",
|
|
17381
|
+
"receipt",
|
|
17382
|
+
"verification"
|
|
15380
17383
|
],
|
|
15381
17384
|
additionalProperties: false
|
|
15382
17385
|
}
|
|
@@ -15432,6 +17435,7 @@ Returns column definitions and example queries for each view.`,
|
|
|
15432
17435
|
"outlit_enable_destination",
|
|
15433
17436
|
"outlit_disable_destination",
|
|
15434
17437
|
"outlit_archive_destination",
|
|
17438
|
+
"outlit_submit_feedback",
|
|
15435
17439
|
"outlit_get_integration_capabilities",
|
|
15436
17440
|
"outlit_begin_integration_setup",
|
|
15437
17441
|
"outlit_get_integration_setup_status",
|
|
@@ -15453,7 +17457,11 @@ Returns column definitions and example queries for each view.`,
|
|
|
15453
17457
|
"outlit_list_identity_merge_suggestions",
|
|
15454
17458
|
"outlit_reject_identity_merge_suggestion",
|
|
15455
17459
|
"outlit_merge_customers",
|
|
15456
|
-
"outlit_get_customer_merge_status"
|
|
17460
|
+
"outlit_get_customer_merge_status",
|
|
17461
|
+
"outlit_list_scoped_repairs",
|
|
17462
|
+
"outlit_preview_scoped_repair",
|
|
17463
|
+
"outlit_execute_scoped_repair",
|
|
17464
|
+
"outlit_verify_scoped_repair"
|
|
15457
17465
|
],
|
|
15458
17466
|
cli: [
|
|
15459
17467
|
"outlit_list_customers",
|
|
@@ -15480,6 +17488,7 @@ Returns column definitions and example queries for each view.`,
|
|
|
15480
17488
|
"outlit_enable_destination",
|
|
15481
17489
|
"outlit_disable_destination",
|
|
15482
17490
|
"outlit_archive_destination",
|
|
17491
|
+
"outlit_submit_feedback",
|
|
15483
17492
|
"outlit_get_integration_capabilities",
|
|
15484
17493
|
"outlit_begin_integration_setup",
|
|
15485
17494
|
"outlit_get_integration_setup_status",
|
|
@@ -15501,7 +17510,11 @@ Returns column definitions and example queries for each view.`,
|
|
|
15501
17510
|
"outlit_list_identity_merge_suggestions",
|
|
15502
17511
|
"outlit_reject_identity_merge_suggestion",
|
|
15503
17512
|
"outlit_merge_customers",
|
|
15504
|
-
"outlit_get_customer_merge_status"
|
|
17513
|
+
"outlit_get_customer_merge_status",
|
|
17514
|
+
"outlit_list_scoped_repairs",
|
|
17515
|
+
"outlit_preview_scoped_repair",
|
|
17516
|
+
"outlit_execute_scoped_repair",
|
|
17517
|
+
"outlit_verify_scoped_repair"
|
|
15505
17518
|
]
|
|
15506
17519
|
};
|
|
15507
17520
|
toolGatewayTransport = {
|
|
@@ -17557,11 +19570,11 @@ var init_list2 = __esm(() => {
|
|
|
17557
19570
|
},
|
|
17558
19571
|
"mrr-above": {
|
|
17559
19572
|
type: "string",
|
|
17560
|
-
description: "Filter by MRR above threshold in cents (e.g. 10000 = $100/mo)"
|
|
19573
|
+
description: "Filter by MRR above threshold, in currentMrr's units: cents for USD, EUR, GBP and CAD (e.g. 10000 = $100/mo in USD)"
|
|
17561
19574
|
},
|
|
17562
19575
|
"mrr-below": {
|
|
17563
19576
|
type: "string",
|
|
17564
|
-
description: "Filter by MRR below threshold in
|
|
19577
|
+
description: "Filter by MRR below threshold, in currentMrr's units"
|
|
17565
19578
|
},
|
|
17566
19579
|
"owner-id": {
|
|
17567
19580
|
type: "string",
|
|
@@ -20798,12 +22811,147 @@ var init_search = __esm(() => {
|
|
|
20798
22811
|
});
|
|
20799
22812
|
});
|
|
20800
22813
|
|
|
22814
|
+
// src/commands/feedback.ts
|
|
22815
|
+
var exports_feedback = {};
|
|
22816
|
+
__export(exports_feedback, {
|
|
22817
|
+
default: () => feedback_default
|
|
22818
|
+
});
|
|
22819
|
+
import { readFileSync as readFileSync4 } from "node:fs";
|
|
22820
|
+
function readTextFile(path, flag, json) {
|
|
22821
|
+
try {
|
|
22822
|
+
return readFileSync4(path, "utf-8");
|
|
22823
|
+
} catch (error) {
|
|
22824
|
+
return outputError({
|
|
22825
|
+
message: `Cannot read ${flag} file: ${errorMessage(error, "unknown error")}`,
|
|
22826
|
+
code: "file_error"
|
|
22827
|
+
}, json);
|
|
22828
|
+
}
|
|
22829
|
+
}
|
|
22830
|
+
function resolveBody(args, json) {
|
|
22831
|
+
if (args.body !== undefined && args.bodyFile !== undefined) {
|
|
22832
|
+
return outputError({ message: "Use either --body or --body-file, not both", code: "invalid_input" }, json);
|
|
22833
|
+
}
|
|
22834
|
+
const raw = args.bodyFile !== undefined ? readTextFile(args.bodyFile, "--body-file", json) : args.body;
|
|
22835
|
+
const trimmed = raw?.trim();
|
|
22836
|
+
if (!trimmed) {
|
|
22837
|
+
return outputError({ message: "Provide --body or --body-file", code: "missing_input" }, json);
|
|
22838
|
+
}
|
|
22839
|
+
if (trimmed.length > BODY_MAX_LENGTH) {
|
|
22840
|
+
return outputError({ message: `--body must be at most ${BODY_MAX_LENGTH} characters`, code: "invalid_input" }, json);
|
|
22841
|
+
}
|
|
22842
|
+
return trimmed;
|
|
22843
|
+
}
|
|
22844
|
+
function resolveArea(area, json) {
|
|
22845
|
+
if (area === undefined)
|
|
22846
|
+
return;
|
|
22847
|
+
const trimmed = area.trim();
|
|
22848
|
+
if (!trimmed) {
|
|
22849
|
+
return outputError({ message: "--area must be a non-empty string", code: "invalid_input" }, json);
|
|
22850
|
+
}
|
|
22851
|
+
if (trimmed.length > AREA_MAX_LENGTH) {
|
|
22852
|
+
return outputError({ message: `--area must be at most ${AREA_MAX_LENGTH} characters`, code: "invalid_input" }, json);
|
|
22853
|
+
}
|
|
22854
|
+
return trimmed;
|
|
22855
|
+
}
|
|
22856
|
+
function resolveContext(args, json) {
|
|
22857
|
+
if (args.context !== undefined && args.contextFile !== undefined) {
|
|
22858
|
+
return outputError({ message: "Use either --context or --context-file, not both", code: "invalid_input" }, json);
|
|
22859
|
+
}
|
|
22860
|
+
const raw = args.contextFile !== undefined ? readTextFile(args.contextFile, "--context-file", json) : args.context;
|
|
22861
|
+
if (raw === undefined)
|
|
22862
|
+
return;
|
|
22863
|
+
let parsed;
|
|
22864
|
+
try {
|
|
22865
|
+
parsed = JSON.parse(raw);
|
|
22866
|
+
} catch (error) {
|
|
22867
|
+
return outputError({
|
|
22868
|
+
message: `Invalid --context JSON: ${errorMessage(error, "parse failed")}`,
|
|
22869
|
+
code: "invalid_input"
|
|
22870
|
+
}, json);
|
|
22871
|
+
}
|
|
22872
|
+
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
|
|
22873
|
+
return outputError({ message: "--context must be a JSON object", code: "invalid_input" }, json);
|
|
22874
|
+
}
|
|
22875
|
+
if (Buffer.byteLength(JSON.stringify(parsed), "utf-8") > CONTEXT_MAX_BYTES) {
|
|
22876
|
+
return outputError({ message: "--context must serialize to at most 16 KiB", code: "invalid_input" }, json);
|
|
22877
|
+
}
|
|
22878
|
+
return parsed;
|
|
22879
|
+
}
|
|
22880
|
+
var BODY_MAX_LENGTH = 20000, AREA_MAX_LENGTH = 100, CONTEXT_MAX_BYTES, feedback_default;
|
|
22881
|
+
var init_feedback = __esm(() => {
|
|
22882
|
+
init_dist4();
|
|
22883
|
+
init_dist();
|
|
22884
|
+
init_auth();
|
|
22885
|
+
init_output2();
|
|
22886
|
+
init_api();
|
|
22887
|
+
init_output();
|
|
22888
|
+
CONTEXT_MAX_BYTES = 16 * 1024;
|
|
22889
|
+
feedback_default = defineCommand2({
|
|
22890
|
+
meta: {
|
|
22891
|
+
name: "feedback",
|
|
22892
|
+
description: [
|
|
22893
|
+
"Submit product feedback to the Outlit team: bugs, feature ideas, or agent friction.",
|
|
22894
|
+
"Feedback is product intake, not a support ticket, and does not guarantee a reply.",
|
|
22895
|
+
"Do not include secrets or unnecessary customer data.",
|
|
22896
|
+
"",
|
|
22897
|
+
"Examples:",
|
|
22898
|
+
" outlit feedback --body 'The customers merge preview did not list the losing record traits' --json",
|
|
22899
|
+
" outlit feedback --body 'Add a way to export attention items' --area attention --json",
|
|
22900
|
+
` outlit feedback --body 'SQL tool rejected a valid LIMIT clause' --context '{"surface":"cli","command":"sql"}' --json`,
|
|
22901
|
+
" outlit feedback --body-file report.md --context-file diagnostics.json --json",
|
|
22902
|
+
"",
|
|
22903
|
+
AGENT_JSON_HINT
|
|
22904
|
+
].join(`
|
|
22905
|
+
`)
|
|
22906
|
+
},
|
|
22907
|
+
args: {
|
|
22908
|
+
...authArgs,
|
|
22909
|
+
...outputArgs,
|
|
22910
|
+
body: {
|
|
22911
|
+
type: "string",
|
|
22912
|
+
description: "Feedback text: trimmed, non-empty, at most 20000 characters"
|
|
22913
|
+
},
|
|
22914
|
+
"body-file": {
|
|
22915
|
+
type: "string",
|
|
22916
|
+
description: "Path to a UTF-8 text file containing the feedback body"
|
|
22917
|
+
},
|
|
22918
|
+
area: {
|
|
22919
|
+
type: "string",
|
|
22920
|
+
description: "Optional product area label, at most 100 characters"
|
|
22921
|
+
},
|
|
22922
|
+
context: {
|
|
22923
|
+
type: "string",
|
|
22924
|
+
description: "Optional JSON object with diagnostic context, at most 16 KiB serialized. Never include secrets."
|
|
22925
|
+
},
|
|
22926
|
+
"context-file": {
|
|
22927
|
+
type: "string",
|
|
22928
|
+
description: "Path to a JSON file with diagnostic context (mutually exclusive with --context)"
|
|
22929
|
+
}
|
|
22930
|
+
},
|
|
22931
|
+
async run({ args }) {
|
|
22932
|
+
const json = !!args.json;
|
|
22933
|
+
const client = await getClientOrExit(args["api-key"], json);
|
|
22934
|
+
const body = resolveBody({ body: args.body, bodyFile: args["body-file"] }, json);
|
|
22935
|
+
const area = resolveArea(args.area, json);
|
|
22936
|
+
const context = resolveContext({ context: args.context, contextFile: args["context-file"] }, json);
|
|
22937
|
+
const input = { body };
|
|
22938
|
+
if (area !== undefined)
|
|
22939
|
+
input.area = area;
|
|
22940
|
+
if (context !== undefined)
|
|
22941
|
+
input.context = context;
|
|
22942
|
+
return runTool(client, publicToolContracts.outlit_submit_feedback.toolName, input, json, {
|
|
22943
|
+
spinnerMessage: "Submitting feedback..."
|
|
22944
|
+
});
|
|
22945
|
+
}
|
|
22946
|
+
});
|
|
22947
|
+
});
|
|
22948
|
+
|
|
20801
22949
|
// src/commands/sql.ts
|
|
20802
22950
|
var exports_sql = {};
|
|
20803
22951
|
__export(exports_sql, {
|
|
20804
22952
|
default: () => sql_default
|
|
20805
22953
|
});
|
|
20806
|
-
import { readFileSync as
|
|
22954
|
+
import { readFileSync as readFileSync5 } from "node:fs";
|
|
20807
22955
|
var publicSqlViews, sql_default;
|
|
20808
22956
|
var init_sql = __esm(() => {
|
|
20809
22957
|
init_dist4();
|
|
@@ -20857,7 +23005,7 @@ var init_sql = __esm(() => {
|
|
|
20857
23005
|
let sql;
|
|
20858
23006
|
if (args["query-file"]) {
|
|
20859
23007
|
try {
|
|
20860
|
-
sql =
|
|
23008
|
+
sql = readFileSync5(args["query-file"], "utf-8");
|
|
20861
23009
|
} catch (err) {
|
|
20862
23010
|
return outputError({
|
|
20863
23011
|
message: `Cannot read file: ${errorMessage(err, "unknown error")}`,
|
|
@@ -22613,8 +24761,8 @@ var init_completions = __esm(() => {
|
|
|
22613
24761
|
...ACTIVITY_ORDER,
|
|
22614
24762
|
{ name: "--trait", desc: "Filter by trait key=value pairs" },
|
|
22615
24763
|
{ name: "--billing-status", desc: "Filter by billing status" },
|
|
22616
|
-
{ name: "--mrr-above", desc: "MRR above threshold (
|
|
22617
|
-
{ name: "--mrr-below", desc: "MRR below threshold (
|
|
24764
|
+
{ name: "--mrr-above", desc: "MRR above threshold (currentMrr units)" },
|
|
24765
|
+
{ name: "--mrr-below", desc: "MRR below threshold (currentMrr units)" },
|
|
22618
24766
|
{ name: "--owner-id", desc: "Filter by owner user ID" },
|
|
22619
24767
|
{ name: "--owner-email", desc: "Filter by owner email" },
|
|
22620
24768
|
{ name: "--has-owner", desc: "Only customers with an owner" },
|
|
@@ -22872,6 +25020,18 @@ var init_completions = __esm(() => {
|
|
|
22872
25020
|
}
|
|
22873
25021
|
]
|
|
22874
25022
|
},
|
|
25023
|
+
{
|
|
25024
|
+
name: "feedback",
|
|
25025
|
+
desc: "Submit product feedback",
|
|
25026
|
+
flags: [
|
|
25027
|
+
...COMMON,
|
|
25028
|
+
{ name: "--body", desc: "Feedback text (max 20000 chars)" },
|
|
25029
|
+
{ name: "--body-file", desc: "Read feedback text from a file" },
|
|
25030
|
+
{ name: "--area", desc: "Optional product area label" },
|
|
25031
|
+
{ name: "--context", desc: "Optional JSON context object (max 16 KiB)" },
|
|
25032
|
+
{ name: "--context-file", desc: "Read JSON context object from a file" }
|
|
25033
|
+
]
|
|
25034
|
+
},
|
|
22875
25035
|
{
|
|
22876
25036
|
name: "search",
|
|
22877
25037
|
desc: "Search customer context",
|
|
@@ -23832,6 +25992,7 @@ async function startCli() {
|
|
|
23832
25992
|
" outlit features create --source metric_source_v1_0123456789abcdef0123456789abcdef --event report_exported --key reports_exported --name 'Reports exported' --json",
|
|
23833
25993
|
" outlit customers features acme.com --weekly --json",
|
|
23834
25994
|
" outlit customers credits acme.com --json",
|
|
25995
|
+
" outlit feedback --body 'The merge preview dropped trait history' --area customers --json",
|
|
23835
25996
|
" outlit doctor --json",
|
|
23836
25997
|
"",
|
|
23837
25998
|
"For AI agents: commands auto-output JSON when stdout is piped. No --json flag needed."
|
|
@@ -23852,6 +26013,7 @@ async function startCli() {
|
|
|
23852
26013
|
facts: () => Promise.resolve().then(() => (init_facts(), exports_facts)).then((m) => m.default),
|
|
23853
26014
|
sources: () => Promise.resolve().then(() => (init_sources(), exports_sources)).then((m) => m.default),
|
|
23854
26015
|
search: () => Promise.resolve().then(() => (init_search(), exports_search)).then((m) => m.default),
|
|
26016
|
+
feedback: () => Promise.resolve().then(() => (init_feedback(), exports_feedback)).then((m) => m.default),
|
|
23855
26017
|
sql: () => Promise.resolve().then(() => (init_sql(), exports_sql)).then((m) => m.default),
|
|
23856
26018
|
schema: () => Promise.resolve().then(() => (init_schema(), exports_schema)).then((m) => m.default),
|
|
23857
26019
|
destinations: () => Promise.resolve().then(() => (init_destinations(), exports_destinations)).then((m) => m.default),
|