@outlit/tools 2.2.3 → 2.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -244,7 +244,7 @@ declare const publicToolContracts: {
244
244
  readonly commandVersion: 1;
245
245
  readonly ownerDomain: "users";
246
246
  readonly title: "List Users";
247
- readonly 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.";
247
+ readonly 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 and each user's sources: where Outlit found them (CRM, support tool, product analytics, Slack) and the calls, meetings, emails, tickets and Slack threads they took part in.";
248
248
  readonly annotations: {
249
249
  readonly readOnlyHint: true;
250
250
  readonly destructiveHint: false;
@@ -384,6 +384,52 @@ declare const publicToolContracts: {
384
384
  readonly type: "null";
385
385
  }];
386
386
  };
387
+ readonly sources: {
388
+ readonly type: "array";
389
+ readonly items: {
390
+ readonly type: "object";
391
+ readonly properties: {
392
+ readonly system: {
393
+ readonly type: "string";
394
+ readonly description: "Lowercase id of the system, such as hubspot, salesforce, attio, pylon, posthog, slack, stripe, google-mail, google-calendar, ergo, fireflies, gong, mixpanel, outlit (the Outlit SDK) or product-analytics (a product-analytics provider Outlit did not record).";
395
+ };
396
+ readonly kind: {
397
+ readonly type: "string";
398
+ readonly enum: readonly ["contact", "product_user", "chat_member", "billing_customer", "call", "meeting", "email", "support_ticket", "slack_thread"];
399
+ readonly description: "Records: contact (a contact in a CRM or support tool), product_user (a user in product analytics or product sign-in), chat_member (a Slack member), billing_customer. Conversations the person took part in: call, meeting, email, support_ticket, slack_thread.";
400
+ };
401
+ readonly count: {
402
+ readonly anyOf: readonly [{
403
+ readonly type: "integer";
404
+ readonly minimum: 1;
405
+ readonly maximum: 9007199254740991;
406
+ }, {
407
+ readonly type: "null";
408
+ }];
409
+ readonly description: "How many conversations of this kind; null for records.";
410
+ };
411
+ readonly firstSeenAt: {
412
+ readonly anyOf: readonly [{
413
+ readonly type: "string";
414
+ }, {
415
+ readonly type: "null";
416
+ }];
417
+ readonly description: "When the record was created in the system (or first linked to this person), or the first conversation.";
418
+ };
419
+ readonly lastSeenAt: {
420
+ readonly anyOf: readonly [{
421
+ readonly type: "string";
422
+ }, {
423
+ readonly type: "null";
424
+ }];
425
+ readonly description: "The latest conversation; null for records.";
426
+ };
427
+ };
428
+ readonly required: readonly ["system", "kind", "count", "firstSeenAt", "lastSeenAt"];
429
+ readonly additionalProperties: false;
430
+ };
431
+ readonly description: "Where Outlit found this person: the systems that hold a record of them and the conversations they took part in. Empty when Outlit has no source recorded; absent from servers that predate it.";
432
+ };
387
433
  readonly relationshipRole: {
388
434
  readonly anyOf: readonly [{
389
435
  readonly type: "string";
@@ -600,7 +646,7 @@ declare const publicToolContracts: {
600
646
  readonly commandVersion: 1;
601
647
  readonly ownerDomain: "customers";
602
648
  readonly title: "Get Customer";
603
- readonly 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.";
649
+ readonly description: "Get full details for a single customer. Optionally include users (each with their sources: where Outlit found them and the conversations they took part in), 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.";
604
650
  readonly annotations: {
605
651
  readonly readOnlyHint: true;
606
652
  readonly destructiveHint: false;
@@ -738,6 +784,52 @@ declare const publicToolContracts: {
738
784
  readonly type: "null";
739
785
  }];
740
786
  };
787
+ readonly sources: {
788
+ readonly type: "array";
789
+ readonly items: {
790
+ readonly type: "object";
791
+ readonly properties: {
792
+ readonly system: {
793
+ readonly type: "string";
794
+ readonly description: "Lowercase id of the system, such as hubspot, salesforce, attio, pylon, posthog, slack, stripe, google-mail, google-calendar, ergo, fireflies, gong, mixpanel, outlit (the Outlit SDK) or product-analytics (a product-analytics provider Outlit did not record).";
795
+ };
796
+ readonly kind: {
797
+ readonly type: "string";
798
+ readonly enum: readonly ["contact", "product_user", "chat_member", "billing_customer", "call", "meeting", "email", "support_ticket", "slack_thread"];
799
+ readonly description: "Records: contact (a contact in a CRM or support tool), product_user (a user in product analytics or product sign-in), chat_member (a Slack member), billing_customer. Conversations the person took part in: call, meeting, email, support_ticket, slack_thread.";
800
+ };
801
+ readonly count: {
802
+ readonly anyOf: readonly [{
803
+ readonly type: "integer";
804
+ readonly minimum: 1;
805
+ readonly maximum: 9007199254740991;
806
+ }, {
807
+ readonly type: "null";
808
+ }];
809
+ readonly description: "How many conversations of this kind; null for records.";
810
+ };
811
+ readonly firstSeenAt: {
812
+ readonly anyOf: readonly [{
813
+ readonly type: "string";
814
+ }, {
815
+ readonly type: "null";
816
+ }];
817
+ readonly description: "When the record was created in the system (or first linked to this person), or the first conversation.";
818
+ };
819
+ readonly lastSeenAt: {
820
+ readonly anyOf: readonly [{
821
+ readonly type: "string";
822
+ }, {
823
+ readonly type: "null";
824
+ }];
825
+ readonly description: "The latest conversation; null for records.";
826
+ };
827
+ };
828
+ readonly required: readonly ["system", "kind", "count", "firstSeenAt", "lastSeenAt"];
829
+ readonly additionalProperties: false;
830
+ };
831
+ readonly description: "Where Outlit found this person: the systems that hold a record of them and the conversations they took part in. Empty when Outlit has no source recorded; absent from servers that predate it.";
832
+ };
741
833
  readonly relationshipRole: {
742
834
  readonly anyOf: readonly [{
743
835
  readonly type: "string";
@@ -11711,6 +11803,146 @@ declare const apiKeyValidationFailureSchema: {
11711
11803
  readonly required: readonly ["valid", "error"];
11712
11804
  readonly additionalProperties: false;
11713
11805
  };
11806
+ declare const apiKeyContractHeader: "Outlit-Api-Key-Contract";
11807
+ declare const apiKeyValidationSuccessSchemaV2: {
11808
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
11809
+ readonly type: "object";
11810
+ readonly properties: {
11811
+ readonly valid: {
11812
+ readonly type: "boolean";
11813
+ readonly const: true;
11814
+ };
11815
+ readonly organizationId: {
11816
+ readonly type: "string";
11817
+ };
11818
+ readonly createdById: {
11819
+ readonly anyOf: readonly [{
11820
+ readonly type: "string";
11821
+ }, {
11822
+ readonly type: "null";
11823
+ }];
11824
+ };
11825
+ readonly organization: {
11826
+ readonly type: "object";
11827
+ readonly properties: {
11828
+ readonly id: {
11829
+ readonly type: "string";
11830
+ };
11831
+ readonly name: {
11832
+ readonly anyOf: readonly [{
11833
+ readonly type: "string";
11834
+ }, {
11835
+ readonly type: "null";
11836
+ }];
11837
+ };
11838
+ readonly slug: {
11839
+ readonly anyOf: readonly [{
11840
+ readonly type: "string";
11841
+ }, {
11842
+ readonly type: "null";
11843
+ }];
11844
+ };
11845
+ };
11846
+ readonly required: readonly ["id", "name", "slug"];
11847
+ readonly additionalProperties: false;
11848
+ };
11849
+ readonly createdBy: {
11850
+ readonly anyOf: readonly [{
11851
+ readonly type: "object";
11852
+ readonly properties: {
11853
+ readonly id: {
11854
+ readonly type: "string";
11855
+ };
11856
+ readonly email: {
11857
+ readonly type: "string";
11858
+ };
11859
+ readonly name: {
11860
+ readonly anyOf: readonly [{
11861
+ readonly type: "string";
11862
+ }, {
11863
+ readonly type: "null";
11864
+ }];
11865
+ };
11866
+ };
11867
+ readonly required: readonly ["id", "email", "name"];
11868
+ readonly additionalProperties: false;
11869
+ }, {
11870
+ readonly type: "null";
11871
+ }];
11872
+ };
11873
+ readonly apiKey: {
11874
+ readonly type: "object";
11875
+ readonly properties: {
11876
+ readonly id: {
11877
+ readonly type: "string";
11878
+ };
11879
+ readonly name: {
11880
+ readonly type: "string";
11881
+ };
11882
+ readonly prefix: {
11883
+ readonly type: "string";
11884
+ };
11885
+ readonly keyType: {
11886
+ readonly type: "string";
11887
+ readonly enum: readonly ["api", "cli", "mcp", "ci"];
11888
+ };
11889
+ readonly grants: {
11890
+ readonly type: "array";
11891
+ readonly items: {
11892
+ readonly type: "string";
11893
+ readonly enum: readonly ["customer_intelligence:read", "workspace_members:read", "analytics:read", "destinations:manage", "behavior_metrics:manage", "integrations:connect_own", "integrations:manage", "activation:read", "activation:manage", "workspace_settings:read", "workspace_settings:manage", "customer_access:manage", "customer_identity:review", "customer_identity:merge"];
11894
+ };
11895
+ };
11896
+ readonly createdAt: {
11897
+ readonly type: "string";
11898
+ readonly format: "date-time";
11899
+ readonly 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))$";
11900
+ };
11901
+ readonly lastUsedAt: {
11902
+ readonly anyOf: readonly [{
11903
+ readonly type: "string";
11904
+ readonly format: "date-time";
11905
+ readonly 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))$";
11906
+ }, {
11907
+ readonly type: "null";
11908
+ }];
11909
+ };
11910
+ readonly totalRequests: {
11911
+ readonly type: "integer";
11912
+ readonly minimum: 0;
11913
+ readonly maximum: 9007199254740991;
11914
+ };
11915
+ readonly expiresAt: {
11916
+ readonly anyOf: readonly [{
11917
+ readonly type: "string";
11918
+ readonly format: "date-time";
11919
+ readonly 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))$";
11920
+ }, {
11921
+ readonly type: "null";
11922
+ }];
11923
+ };
11924
+ };
11925
+ readonly required: readonly ["id", "name", "prefix", "keyType", "grants", "createdAt", "lastUsedAt", "totalRequests", "expiresAt"];
11926
+ readonly additionalProperties: false;
11927
+ };
11928
+ readonly authorization: {
11929
+ readonly type: "object";
11930
+ readonly properties: {
11931
+ readonly grants: {
11932
+ readonly type: "array";
11933
+ readonly items: {
11934
+ readonly type: "string";
11935
+ readonly enum: readonly ["customer_intelligence:read", "workspace_members:read", "analytics:read", "destinations:manage", "behavior_metrics:manage", "integrations:connect_own", "integrations:manage", "activation:read", "activation:manage", "workspace_settings:read", "workspace_settings:manage", "customer_access:manage", "customer_identity:review", "customer_identity:merge"];
11936
+ };
11937
+ };
11938
+ };
11939
+ readonly required: readonly ["grants"];
11940
+ readonly additionalProperties: false;
11941
+ };
11942
+ };
11943
+ readonly required: readonly ["valid", "organizationId", "createdById", "authorization"];
11944
+ readonly additionalProperties: false;
11945
+ };
11714
11946
  declare const toolGatewayErrorCodes: readonly ["INVALID_JSON", "INVALID_TOOL_CALL", "INVALID_TOOL_INPUT", "INVALID_CREDENTIALS", "TOOL_CALL_FORBIDDEN", "TOOL_BINDING_MISSING", "TOOL_IMPLEMENTATION_ERROR", "TOOL_OUTPUT_INVALID", "TOOL_RESOURCE_NOT_FOUND", "TOOL_RESULT_TOO_LARGE", "TOOL_GATEWAY_ERROR", "plan_api_limit_exceeded", "plan_billing_action_required"];
11715
11947
  declare const toolGatewayErrorSchema: {
11716
11948
  readonly $schema: "https://json-schema.org/draft/2020-12/schema";
@@ -12479,7 +12711,7 @@ declare const userJourneyStages: readonly ["DISCOVERED", "SIGNED_UP", "ACTIVATED
12479
12711
  declare const userListOrderFields: readonly ["last_activity_at", "first_seen_at", "email"];
12480
12712
  declare const workspaceUserListOrderFields: readonly ["name", "email", "owned_customer_count"];
12481
12713
  declare const schemaTables: readonly ["activity", "customers", "users", "revenue"];
12482
- declare const sdkConsumerContractHash: "4487d082473e65e51514b2a491210e1aab16dc7b0045412e4c11e6d89bc4ab5a";
12714
+ declare const sdkConsumerContractHash: "2fa67b23109e55e6b48d9899d1cfd176784feadf1d052a30a218cb69a3b59cbb";
12483
12715
 
12484
12716
  type JsonSchema = Readonly<Record<string, unknown>>;
12485
12717
  type PublicToolName = (typeof publicToolNames)[number];
@@ -12553,6 +12785,8 @@ type JsonSchemaValue<TSchema> = TSchema extends {
12553
12785
  } ? null : unknown;
12554
12786
  type PublicToolResult<TToolName extends PublicToolName> = JsonSchemaValue<(typeof publicToolContracts)[TToolName]["outputSchema"]>;
12555
12787
  type ApiKeyValidationSuccess = JsonSchemaValue<typeof apiKeyValidationSuccessSchema>;
12788
+ /** v2 adds `apiKey.expiresAt`; returned only to requests that send `apiKeyContractHeader: 2`. */
12789
+ type ApiKeyValidationSuccessV2 = JsonSchemaValue<typeof apiKeyValidationSuccessSchemaV2>;
12556
12790
  type ApiKeyValidationFailure = JsonSchemaValue<typeof apiKeyValidationFailureSchema>;
12557
12791
  type CustomerListResult = PublicToolResult<"outlit_list_customers">;
12558
12792
  type CustomerListItem = CustomerListResult["items"][number];
@@ -12639,4 +12873,4 @@ type CliToolName = (typeof cliToolNames)[number];
12639
12873
  type PiToolName = (typeof piToolNames)[number];
12640
12874
  declare const sqlToolNames: ("outlit_list_customers" | "outlit_list_users" | "outlit_get_customer" | "outlit_get_timeline" | "outlit_list_facts" | "outlit_get_fact" | "outlit_get_source" | "outlit_list_sources" | "outlit_search_customer_context" | "outlit_query" | "outlit_schema")[];
12641
12875
 
12642
- export { type ApiKeyValidationFailure, type ApiKeyValidationSuccess, type AttentionItem, type AttentionItemResult, type AttentionItemSummary, type AttentionListResult, type CliToolName, type CustomerAnalyticsRow, type CustomerContextSearchInput, type CustomerCredit, type CustomerCreditsResult, type CustomerDetail, type CustomerDetailResult, type CustomerFeature, type CustomerFeaturesResult, type CustomerListItem, type CustomerListResult, type CustomerRelationship, type CustomerRelationshipResult, type CustomerSourceType, type CustomerSourceTypeInput, DEFAULT_OUTLIT_API_URL, type Feature, type FeatureArchiveResult, type FeatureCreateResult, type FeatureDefinition, type FeatureListResult, type FeatureRef, type FeedbackSubmitResult, type JsonSchema, type JsonSchemaValue, OutlitToolsApiError, type OutlitToolsClient, type OutlitToolsClientOptions, type OutlitToolsFetch, type PiToolName, type PublicToolContract, type PublicToolName, type PublicToolResult, type RuntimeJsonSchema, type SearchArgsLike, type ToolGatewayErrorCode, type ToolGatewayErrorEnvelope, allPublicToolNames, analyticalToolNames, apiKeyGrants, apiKeyValidationFailureSchema, apiKeyValidationSuccessSchema, apiKeyValidationTransport, cliToolNames, consumerToolPolicies, contractVersion, createOutlitClient, customerActivityWindows, customerBillingStatuses, customerFactCategories, customerFactIncludes, customerFactStatuses, customerFactTypes, customerIncludeSections, customerListOrderFields, customerSourceTypeAliasMap, customerSourceTypeAliases, customerSourceTypeInputs, customerSourceTypes, customerTimeframes, defaultToolNames, getPublicToolContract, ingestTransport, isOutlitToolsApiError, isPublicToolName, matchesGeneratedJsonSchema, normalizeCustomerSourceType, piToolNames, publicOpenApiTransports, publicToolContracts, publicToolNames, resolveCustomerContextSearchInput, schemaTables, sdkConsumerContractHash, sqlToolNames, timelineChannels, timelineTimeframes, toolGatewayErrorCodes, toolGatewayErrorSchema, toolGatewayTransport, unsupportedCustomerFactTypes, userJourneyStages, userListOrderFields, workspaceUserListOrderFields };
12876
+ export { type ApiKeyValidationFailure, type ApiKeyValidationSuccess, type ApiKeyValidationSuccessV2, type AttentionItem, type AttentionItemResult, type AttentionItemSummary, type AttentionListResult, type CliToolName, type CustomerAnalyticsRow, type CustomerContextSearchInput, type CustomerCredit, type CustomerCreditsResult, type CustomerDetail, type CustomerDetailResult, type CustomerFeature, type CustomerFeaturesResult, type CustomerListItem, type CustomerListResult, type CustomerRelationship, type CustomerRelationshipResult, type CustomerSourceType, type CustomerSourceTypeInput, DEFAULT_OUTLIT_API_URL, type Feature, type FeatureArchiveResult, type FeatureCreateResult, type FeatureDefinition, type FeatureListResult, type FeatureRef, type FeedbackSubmitResult, type JsonSchema, type JsonSchemaValue, OutlitToolsApiError, type OutlitToolsClient, type OutlitToolsClientOptions, type OutlitToolsFetch, type PiToolName, type PublicToolContract, type PublicToolName, type PublicToolResult, type RuntimeJsonSchema, type SearchArgsLike, type ToolGatewayErrorCode, type ToolGatewayErrorEnvelope, allPublicToolNames, analyticalToolNames, apiKeyContractHeader, apiKeyGrants, apiKeyValidationFailureSchema, apiKeyValidationSuccessSchema, apiKeyValidationSuccessSchemaV2, apiKeyValidationTransport, cliToolNames, consumerToolPolicies, contractVersion, createOutlitClient, customerActivityWindows, customerBillingStatuses, customerFactCategories, customerFactIncludes, customerFactStatuses, customerFactTypes, customerIncludeSections, customerListOrderFields, customerSourceTypeAliasMap, customerSourceTypeAliases, customerSourceTypeInputs, customerSourceTypes, customerTimeframes, defaultToolNames, getPublicToolContract, ingestTransport, isOutlitToolsApiError, isPublicToolName, matchesGeneratedJsonSchema, normalizeCustomerSourceType, piToolNames, publicOpenApiTransports, publicToolContracts, publicToolNames, resolveCustomerContextSearchInput, schemaTables, sdkConsumerContractHash, sqlToolNames, timelineChannels, timelineTimeframes, toolGatewayErrorCodes, toolGatewayErrorSchema, toolGatewayTransport, unsupportedCustomerFactTypes, userJourneyStages, userListOrderFields, workspaceUserListOrderFields };
package/dist/index.d.ts CHANGED
@@ -244,7 +244,7 @@ declare const publicToolContracts: {
244
244
  readonly commandVersion: 1;
245
245
  readonly ownerDomain: "users";
246
246
  readonly title: "List Users";
247
- readonly 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.";
247
+ readonly 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 and each user's sources: where Outlit found them (CRM, support tool, product analytics, Slack) and the calls, meetings, emails, tickets and Slack threads they took part in.";
248
248
  readonly annotations: {
249
249
  readonly readOnlyHint: true;
250
250
  readonly destructiveHint: false;
@@ -384,6 +384,52 @@ declare const publicToolContracts: {
384
384
  readonly type: "null";
385
385
  }];
386
386
  };
387
+ readonly sources: {
388
+ readonly type: "array";
389
+ readonly items: {
390
+ readonly type: "object";
391
+ readonly properties: {
392
+ readonly system: {
393
+ readonly type: "string";
394
+ readonly description: "Lowercase id of the system, such as hubspot, salesforce, attio, pylon, posthog, slack, stripe, google-mail, google-calendar, ergo, fireflies, gong, mixpanel, outlit (the Outlit SDK) or product-analytics (a product-analytics provider Outlit did not record).";
395
+ };
396
+ readonly kind: {
397
+ readonly type: "string";
398
+ readonly enum: readonly ["contact", "product_user", "chat_member", "billing_customer", "call", "meeting", "email", "support_ticket", "slack_thread"];
399
+ readonly description: "Records: contact (a contact in a CRM or support tool), product_user (a user in product analytics or product sign-in), chat_member (a Slack member), billing_customer. Conversations the person took part in: call, meeting, email, support_ticket, slack_thread.";
400
+ };
401
+ readonly count: {
402
+ readonly anyOf: readonly [{
403
+ readonly type: "integer";
404
+ readonly minimum: 1;
405
+ readonly maximum: 9007199254740991;
406
+ }, {
407
+ readonly type: "null";
408
+ }];
409
+ readonly description: "How many conversations of this kind; null for records.";
410
+ };
411
+ readonly firstSeenAt: {
412
+ readonly anyOf: readonly [{
413
+ readonly type: "string";
414
+ }, {
415
+ readonly type: "null";
416
+ }];
417
+ readonly description: "When the record was created in the system (or first linked to this person), or the first conversation.";
418
+ };
419
+ readonly lastSeenAt: {
420
+ readonly anyOf: readonly [{
421
+ readonly type: "string";
422
+ }, {
423
+ readonly type: "null";
424
+ }];
425
+ readonly description: "The latest conversation; null for records.";
426
+ };
427
+ };
428
+ readonly required: readonly ["system", "kind", "count", "firstSeenAt", "lastSeenAt"];
429
+ readonly additionalProperties: false;
430
+ };
431
+ readonly description: "Where Outlit found this person: the systems that hold a record of them and the conversations they took part in. Empty when Outlit has no source recorded; absent from servers that predate it.";
432
+ };
387
433
  readonly relationshipRole: {
388
434
  readonly anyOf: readonly [{
389
435
  readonly type: "string";
@@ -600,7 +646,7 @@ declare const publicToolContracts: {
600
646
  readonly commandVersion: 1;
601
647
  readonly ownerDomain: "customers";
602
648
  readonly title: "Get Customer";
603
- readonly 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.";
649
+ readonly description: "Get full details for a single customer. Optionally include users (each with their sources: where Outlit found them and the conversations they took part in), 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.";
604
650
  readonly annotations: {
605
651
  readonly readOnlyHint: true;
606
652
  readonly destructiveHint: false;
@@ -738,6 +784,52 @@ declare const publicToolContracts: {
738
784
  readonly type: "null";
739
785
  }];
740
786
  };
787
+ readonly sources: {
788
+ readonly type: "array";
789
+ readonly items: {
790
+ readonly type: "object";
791
+ readonly properties: {
792
+ readonly system: {
793
+ readonly type: "string";
794
+ readonly description: "Lowercase id of the system, such as hubspot, salesforce, attio, pylon, posthog, slack, stripe, google-mail, google-calendar, ergo, fireflies, gong, mixpanel, outlit (the Outlit SDK) or product-analytics (a product-analytics provider Outlit did not record).";
795
+ };
796
+ readonly kind: {
797
+ readonly type: "string";
798
+ readonly enum: readonly ["contact", "product_user", "chat_member", "billing_customer", "call", "meeting", "email", "support_ticket", "slack_thread"];
799
+ readonly description: "Records: contact (a contact in a CRM or support tool), product_user (a user in product analytics or product sign-in), chat_member (a Slack member), billing_customer. Conversations the person took part in: call, meeting, email, support_ticket, slack_thread.";
800
+ };
801
+ readonly count: {
802
+ readonly anyOf: readonly [{
803
+ readonly type: "integer";
804
+ readonly minimum: 1;
805
+ readonly maximum: 9007199254740991;
806
+ }, {
807
+ readonly type: "null";
808
+ }];
809
+ readonly description: "How many conversations of this kind; null for records.";
810
+ };
811
+ readonly firstSeenAt: {
812
+ readonly anyOf: readonly [{
813
+ readonly type: "string";
814
+ }, {
815
+ readonly type: "null";
816
+ }];
817
+ readonly description: "When the record was created in the system (or first linked to this person), or the first conversation.";
818
+ };
819
+ readonly lastSeenAt: {
820
+ readonly anyOf: readonly [{
821
+ readonly type: "string";
822
+ }, {
823
+ readonly type: "null";
824
+ }];
825
+ readonly description: "The latest conversation; null for records.";
826
+ };
827
+ };
828
+ readonly required: readonly ["system", "kind", "count", "firstSeenAt", "lastSeenAt"];
829
+ readonly additionalProperties: false;
830
+ };
831
+ readonly description: "Where Outlit found this person: the systems that hold a record of them and the conversations they took part in. Empty when Outlit has no source recorded; absent from servers that predate it.";
832
+ };
741
833
  readonly relationshipRole: {
742
834
  readonly anyOf: readonly [{
743
835
  readonly type: "string";
@@ -11711,6 +11803,146 @@ declare const apiKeyValidationFailureSchema: {
11711
11803
  readonly required: readonly ["valid", "error"];
11712
11804
  readonly additionalProperties: false;
11713
11805
  };
11806
+ declare const apiKeyContractHeader: "Outlit-Api-Key-Contract";
11807
+ declare const apiKeyValidationSuccessSchemaV2: {
11808
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
11809
+ readonly type: "object";
11810
+ readonly properties: {
11811
+ readonly valid: {
11812
+ readonly type: "boolean";
11813
+ readonly const: true;
11814
+ };
11815
+ readonly organizationId: {
11816
+ readonly type: "string";
11817
+ };
11818
+ readonly createdById: {
11819
+ readonly anyOf: readonly [{
11820
+ readonly type: "string";
11821
+ }, {
11822
+ readonly type: "null";
11823
+ }];
11824
+ };
11825
+ readonly organization: {
11826
+ readonly type: "object";
11827
+ readonly properties: {
11828
+ readonly id: {
11829
+ readonly type: "string";
11830
+ };
11831
+ readonly name: {
11832
+ readonly anyOf: readonly [{
11833
+ readonly type: "string";
11834
+ }, {
11835
+ readonly type: "null";
11836
+ }];
11837
+ };
11838
+ readonly slug: {
11839
+ readonly anyOf: readonly [{
11840
+ readonly type: "string";
11841
+ }, {
11842
+ readonly type: "null";
11843
+ }];
11844
+ };
11845
+ };
11846
+ readonly required: readonly ["id", "name", "slug"];
11847
+ readonly additionalProperties: false;
11848
+ };
11849
+ readonly createdBy: {
11850
+ readonly anyOf: readonly [{
11851
+ readonly type: "object";
11852
+ readonly properties: {
11853
+ readonly id: {
11854
+ readonly type: "string";
11855
+ };
11856
+ readonly email: {
11857
+ readonly type: "string";
11858
+ };
11859
+ readonly name: {
11860
+ readonly anyOf: readonly [{
11861
+ readonly type: "string";
11862
+ }, {
11863
+ readonly type: "null";
11864
+ }];
11865
+ };
11866
+ };
11867
+ readonly required: readonly ["id", "email", "name"];
11868
+ readonly additionalProperties: false;
11869
+ }, {
11870
+ readonly type: "null";
11871
+ }];
11872
+ };
11873
+ readonly apiKey: {
11874
+ readonly type: "object";
11875
+ readonly properties: {
11876
+ readonly id: {
11877
+ readonly type: "string";
11878
+ };
11879
+ readonly name: {
11880
+ readonly type: "string";
11881
+ };
11882
+ readonly prefix: {
11883
+ readonly type: "string";
11884
+ };
11885
+ readonly keyType: {
11886
+ readonly type: "string";
11887
+ readonly enum: readonly ["api", "cli", "mcp", "ci"];
11888
+ };
11889
+ readonly grants: {
11890
+ readonly type: "array";
11891
+ readonly items: {
11892
+ readonly type: "string";
11893
+ readonly enum: readonly ["customer_intelligence:read", "workspace_members:read", "analytics:read", "destinations:manage", "behavior_metrics:manage", "integrations:connect_own", "integrations:manage", "activation:read", "activation:manage", "workspace_settings:read", "workspace_settings:manage", "customer_access:manage", "customer_identity:review", "customer_identity:merge"];
11894
+ };
11895
+ };
11896
+ readonly createdAt: {
11897
+ readonly type: "string";
11898
+ readonly format: "date-time";
11899
+ readonly 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))$";
11900
+ };
11901
+ readonly lastUsedAt: {
11902
+ readonly anyOf: readonly [{
11903
+ readonly type: "string";
11904
+ readonly format: "date-time";
11905
+ readonly 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))$";
11906
+ }, {
11907
+ readonly type: "null";
11908
+ }];
11909
+ };
11910
+ readonly totalRequests: {
11911
+ readonly type: "integer";
11912
+ readonly minimum: 0;
11913
+ readonly maximum: 9007199254740991;
11914
+ };
11915
+ readonly expiresAt: {
11916
+ readonly anyOf: readonly [{
11917
+ readonly type: "string";
11918
+ readonly format: "date-time";
11919
+ readonly 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))$";
11920
+ }, {
11921
+ readonly type: "null";
11922
+ }];
11923
+ };
11924
+ };
11925
+ readonly required: readonly ["id", "name", "prefix", "keyType", "grants", "createdAt", "lastUsedAt", "totalRequests", "expiresAt"];
11926
+ readonly additionalProperties: false;
11927
+ };
11928
+ readonly authorization: {
11929
+ readonly type: "object";
11930
+ readonly properties: {
11931
+ readonly grants: {
11932
+ readonly type: "array";
11933
+ readonly items: {
11934
+ readonly type: "string";
11935
+ readonly enum: readonly ["customer_intelligence:read", "workspace_members:read", "analytics:read", "destinations:manage", "behavior_metrics:manage", "integrations:connect_own", "integrations:manage", "activation:read", "activation:manage", "workspace_settings:read", "workspace_settings:manage", "customer_access:manage", "customer_identity:review", "customer_identity:merge"];
11936
+ };
11937
+ };
11938
+ };
11939
+ readonly required: readonly ["grants"];
11940
+ readonly additionalProperties: false;
11941
+ };
11942
+ };
11943
+ readonly required: readonly ["valid", "organizationId", "createdById", "authorization"];
11944
+ readonly additionalProperties: false;
11945
+ };
11714
11946
  declare const toolGatewayErrorCodes: readonly ["INVALID_JSON", "INVALID_TOOL_CALL", "INVALID_TOOL_INPUT", "INVALID_CREDENTIALS", "TOOL_CALL_FORBIDDEN", "TOOL_BINDING_MISSING", "TOOL_IMPLEMENTATION_ERROR", "TOOL_OUTPUT_INVALID", "TOOL_RESOURCE_NOT_FOUND", "TOOL_RESULT_TOO_LARGE", "TOOL_GATEWAY_ERROR", "plan_api_limit_exceeded", "plan_billing_action_required"];
11715
11947
  declare const toolGatewayErrorSchema: {
11716
11948
  readonly $schema: "https://json-schema.org/draft/2020-12/schema";
@@ -12479,7 +12711,7 @@ declare const userJourneyStages: readonly ["DISCOVERED", "SIGNED_UP", "ACTIVATED
12479
12711
  declare const userListOrderFields: readonly ["last_activity_at", "first_seen_at", "email"];
12480
12712
  declare const workspaceUserListOrderFields: readonly ["name", "email", "owned_customer_count"];
12481
12713
  declare const schemaTables: readonly ["activity", "customers", "users", "revenue"];
12482
- declare const sdkConsumerContractHash: "4487d082473e65e51514b2a491210e1aab16dc7b0045412e4c11e6d89bc4ab5a";
12714
+ declare const sdkConsumerContractHash: "2fa67b23109e55e6b48d9899d1cfd176784feadf1d052a30a218cb69a3b59cbb";
12483
12715
 
12484
12716
  type JsonSchema = Readonly<Record<string, unknown>>;
12485
12717
  type PublicToolName = (typeof publicToolNames)[number];
@@ -12553,6 +12785,8 @@ type JsonSchemaValue<TSchema> = TSchema extends {
12553
12785
  } ? null : unknown;
12554
12786
  type PublicToolResult<TToolName extends PublicToolName> = JsonSchemaValue<(typeof publicToolContracts)[TToolName]["outputSchema"]>;
12555
12787
  type ApiKeyValidationSuccess = JsonSchemaValue<typeof apiKeyValidationSuccessSchema>;
12788
+ /** v2 adds `apiKey.expiresAt`; returned only to requests that send `apiKeyContractHeader: 2`. */
12789
+ type ApiKeyValidationSuccessV2 = JsonSchemaValue<typeof apiKeyValidationSuccessSchemaV2>;
12556
12790
  type ApiKeyValidationFailure = JsonSchemaValue<typeof apiKeyValidationFailureSchema>;
12557
12791
  type CustomerListResult = PublicToolResult<"outlit_list_customers">;
12558
12792
  type CustomerListItem = CustomerListResult["items"][number];
@@ -12639,4 +12873,4 @@ type CliToolName = (typeof cliToolNames)[number];
12639
12873
  type PiToolName = (typeof piToolNames)[number];
12640
12874
  declare const sqlToolNames: ("outlit_list_customers" | "outlit_list_users" | "outlit_get_customer" | "outlit_get_timeline" | "outlit_list_facts" | "outlit_get_fact" | "outlit_get_source" | "outlit_list_sources" | "outlit_search_customer_context" | "outlit_query" | "outlit_schema")[];
12641
12875
 
12642
- export { type ApiKeyValidationFailure, type ApiKeyValidationSuccess, type AttentionItem, type AttentionItemResult, type AttentionItemSummary, type AttentionListResult, type CliToolName, type CustomerAnalyticsRow, type CustomerContextSearchInput, type CustomerCredit, type CustomerCreditsResult, type CustomerDetail, type CustomerDetailResult, type CustomerFeature, type CustomerFeaturesResult, type CustomerListItem, type CustomerListResult, type CustomerRelationship, type CustomerRelationshipResult, type CustomerSourceType, type CustomerSourceTypeInput, DEFAULT_OUTLIT_API_URL, type Feature, type FeatureArchiveResult, type FeatureCreateResult, type FeatureDefinition, type FeatureListResult, type FeatureRef, type FeedbackSubmitResult, type JsonSchema, type JsonSchemaValue, OutlitToolsApiError, type OutlitToolsClient, type OutlitToolsClientOptions, type OutlitToolsFetch, type PiToolName, type PublicToolContract, type PublicToolName, type PublicToolResult, type RuntimeJsonSchema, type SearchArgsLike, type ToolGatewayErrorCode, type ToolGatewayErrorEnvelope, allPublicToolNames, analyticalToolNames, apiKeyGrants, apiKeyValidationFailureSchema, apiKeyValidationSuccessSchema, apiKeyValidationTransport, cliToolNames, consumerToolPolicies, contractVersion, createOutlitClient, customerActivityWindows, customerBillingStatuses, customerFactCategories, customerFactIncludes, customerFactStatuses, customerFactTypes, customerIncludeSections, customerListOrderFields, customerSourceTypeAliasMap, customerSourceTypeAliases, customerSourceTypeInputs, customerSourceTypes, customerTimeframes, defaultToolNames, getPublicToolContract, ingestTransport, isOutlitToolsApiError, isPublicToolName, matchesGeneratedJsonSchema, normalizeCustomerSourceType, piToolNames, publicOpenApiTransports, publicToolContracts, publicToolNames, resolveCustomerContextSearchInput, schemaTables, sdkConsumerContractHash, sqlToolNames, timelineChannels, timelineTimeframes, toolGatewayErrorCodes, toolGatewayErrorSchema, toolGatewayTransport, unsupportedCustomerFactTypes, userJourneyStages, userListOrderFields, workspaceUserListOrderFields };
12876
+ export { type ApiKeyValidationFailure, type ApiKeyValidationSuccess, type ApiKeyValidationSuccessV2, type AttentionItem, type AttentionItemResult, type AttentionItemSummary, type AttentionListResult, type CliToolName, type CustomerAnalyticsRow, type CustomerContextSearchInput, type CustomerCredit, type CustomerCreditsResult, type CustomerDetail, type CustomerDetailResult, type CustomerFeature, type CustomerFeaturesResult, type CustomerListItem, type CustomerListResult, type CustomerRelationship, type CustomerRelationshipResult, type CustomerSourceType, type CustomerSourceTypeInput, DEFAULT_OUTLIT_API_URL, type Feature, type FeatureArchiveResult, type FeatureCreateResult, type FeatureDefinition, type FeatureListResult, type FeatureRef, type FeedbackSubmitResult, type JsonSchema, type JsonSchemaValue, OutlitToolsApiError, type OutlitToolsClient, type OutlitToolsClientOptions, type OutlitToolsFetch, type PiToolName, type PublicToolContract, type PublicToolName, type PublicToolResult, type RuntimeJsonSchema, type SearchArgsLike, type ToolGatewayErrorCode, type ToolGatewayErrorEnvelope, allPublicToolNames, analyticalToolNames, apiKeyContractHeader, apiKeyGrants, apiKeyValidationFailureSchema, apiKeyValidationSuccessSchema, apiKeyValidationSuccessSchemaV2, apiKeyValidationTransport, cliToolNames, consumerToolPolicies, contractVersion, createOutlitClient, customerActivityWindows, customerBillingStatuses, customerFactCategories, customerFactIncludes, customerFactStatuses, customerFactTypes, customerIncludeSections, customerListOrderFields, customerSourceTypeAliasMap, customerSourceTypeAliases, customerSourceTypeInputs, customerSourceTypes, customerTimeframes, defaultToolNames, getPublicToolContract, ingestTransport, isOutlitToolsApiError, isPublicToolName, matchesGeneratedJsonSchema, normalizeCustomerSourceType, piToolNames, publicOpenApiTransports, publicToolContracts, publicToolNames, resolveCustomerContextSearchInput, schemaTables, sdkConsumerContractHash, sqlToolNames, timelineChannels, timelineTimeframes, toolGatewayErrorCodes, toolGatewayErrorSchema, toolGatewayTransport, unsupportedCustomerFactTypes, userJourneyStages, userListOrderFields, workspaceUserListOrderFields };