@chatarmin/os 1.13.0 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -45,6 +45,8 @@ export interface BillingSubscriptionSummary {
45
45
  currentPeriodEnd: Date | null;
46
46
  trialEnd: Date | null;
47
47
  cancelAtPeriodEnd: boolean;
48
+ /** Scheduled end (Stripe `cancel_at`), e.g. set when a deal is churned. */
49
+ cancelAt?: Date | null;
48
50
  billingProfileId?: string;
49
51
  tier: {
50
52
  code: string;
@@ -1 +1 @@
1
- {"version":3,"file":"read-types.d.ts","sourceRoot":"","sources":["../../src/billing/read-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-types.d.ts","sourceRoot":"","sources":["../../src/billing/read-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/companies/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EACV,eAAe,EAchB,MAAM,YAAY,CAAA;AAEnB,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAA;AAC/D,KAAK,OAAO,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;AAE7E,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,OAAO,GACZ,eAAe,CAqCjB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/companies/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EACV,eAAe,EAgBhB,MAAM,YAAY,CAAA;AAEnB,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAA;AAC/D,KAAK,OAAO,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;AAE7E,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,OAAO,GACZ,eAAe,CA2CjB"}
@@ -6,6 +6,7 @@ export function createCompaniesClient(client, call) {
6
6
  create: (input) => call('companies.create', () => client.companies.createWithLink.mutate(input)),
7
7
  update: (input) => call('companies.update', () => client.companies.updateCompany.mutate(input)),
8
8
  listLinks: (input) => call('companies.listLinks', () => client.companies.listProductLinks.query(input ?? {})),
9
+ listLinkMetadataFields: (input) => call('companies.listLinkMetadataFields', () => client.companies.listProductLinkMetadataFields.query(input ?? {})),
9
10
  applyFreeOnboardTier: (input) => call('companies.applyFreeOnboardTier', () => client.companies.applyFreeOnboardTier.mutate(input)),
10
11
  setupOnboardBilling: (input) => call('companies.setupOnboardBilling', () => client.companies.setupOnboardBilling.mutate(input)),
11
12
  };
@@ -1,3 +1,3 @@
1
1
  export { createCompaniesClient } from './client.js';
2
- export type { CompaniesClient, CompanyAssignee, CompanyAssignees, CreateCompanyInput, CreateCompanyResult, GetCompanyInput, LinkedCompany, ListCompaniesInput, ListCompaniesResult, ListLinkedCompaniesInput, ListLinkedCompaniesResult, ProductCompany, ApplyFreeOnboardTierInput, ApplyFreeOnboardTierResult, SetupOnboardBillingInput, SetupOnboardBillingResult, UpdateCompanyResult, } from './types.js';
2
+ export type { CompaniesClient, CompanyAssignee, CompanyAssignees, CreateCompanyInput, CreateCompanyResult, GetCompanyInput, LinkedCompany, ListCompaniesInput, ListCompaniesResult, ListLinkedCompaniesInput, ListLinkedCompaniesResult, ProductCompany, ApplyFreeOnboardTierInput, ApplyFreeOnboardTierResult, SetupOnboardBillingInput, SetupOnboardBillingResult, UpdateCompanyResult, ListProductLinksInput, ListProductLinksResult, ProductLinkSummary, ProductLinkMetadataFilter, ProductLinkMetadataField, ListProductLinkMetadataFieldsInput, ListProductLinkMetadataFieldsResult, UpdateProductLinkInput, UpdateProductLinkResult, } from './types.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/companies/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,YAAY,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,cAAc,EACd,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/companies/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,YAAY,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,cAAc,EACd,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,kCAAkC,EAClC,mCAAmC,EACnC,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,YAAY,CAAA"}
@@ -59,13 +59,67 @@ export interface ProductLinkSummary {
59
59
  externalUserId: string | null;
60
60
  label: string | null;
61
61
  status: string;
62
+ /** Product that owns the link, e.g. `chatarmin` or `cx`. */
63
+ productCode: string;
64
+ productName: string;
65
+ /** Metadata the owning product wrote with `links.update`; `{}` when none. */
66
+ metadata: Record<string, unknown>;
67
+ updatedAt: Date;
62
68
  }
63
69
  export interface ListProductLinksInput {
64
70
  companyId?: string;
65
71
  externalOrgId?: string;
72
+ /** Matches company name, domain, or external org id. */
73
+ query?: string;
74
+ /** List links of every product in your organization, not only your own. */
75
+ includeAllProducts?: boolean;
76
+ /** Only links of this product, e.g. `chatarmin`. */
77
+ productCode?: string;
78
+ /**
79
+ * Up to 5 exact matches on link metadata, all of which must match. `path` is a dotted key
80
+ * (letters, digits, `_`, max 4 levels) as listed by `companies.listLinkMetadataFields`.
81
+ */
82
+ metadataFilters?: ProductLinkMetadataFilter[];
66
83
  limit?: number;
67
84
  cursor?: string;
68
85
  }
86
+ export interface ProductLinkMetadataFilter {
87
+ path: string;
88
+ equals: string | number | boolean | null;
89
+ }
90
+ export interface ListProductLinkMetadataFieldsInput {
91
+ includeAllProducts?: boolean;
92
+ productCode?: string;
93
+ }
94
+ export interface ProductLinkMetadataField {
95
+ productCode: string;
96
+ /** Dotted path inside the link metadata, e.g. `whatsapp.coexistence`. */
97
+ path: string;
98
+ /** JSON types seen at this path: string, number, boolean, null, object, array. */
99
+ types: string[];
100
+ /** Links that carry this path. */
101
+ links: number;
102
+ }
103
+ export interface ListProductLinkMetadataFieldsResult {
104
+ fields: ProductLinkMetadataField[];
105
+ /** False when more than 500 paths exist and the list was cut. */
106
+ complete: boolean;
107
+ }
108
+ export interface UpdateProductLinkInput {
109
+ externalOrgId: string;
110
+ /**
111
+ * Shallow-merged into the link's product metadata (top-level keys replace, a key set to
112
+ * `null` stays `null`). Must be JSON, at most 32 KB, and never contain credentials: keys like
113
+ * `token`, `secret`, `password`, `pin` or `apiKey` are rejected.
114
+ */
115
+ metadata: Record<string, unknown>;
116
+ /** Replace the link's product metadata with `metadata` instead of merging. */
117
+ resetMetadata?: boolean;
118
+ }
119
+ export interface UpdateProductLinkResult {
120
+ /** False when the stored metadata already matched. */
121
+ updated: boolean;
122
+ }
69
123
  export interface ListProductLinksResult {
70
124
  links: ProductLinkSummary[];
71
125
  nextCursor?: string;
@@ -126,6 +180,8 @@ export interface CompaniesClient {
126
180
  create: (input: CreateCompanyInput) => Promise<CreateCompanyResult>;
127
181
  update: (input: UpdateCompanyInput) => Promise<UpdateCompanyResult>;
128
182
  listLinks: (input?: ListProductLinksInput) => Promise<ListProductLinksResult>;
183
+ /** Metadata paths products wrote on links, with types and counts (never values). */
184
+ listLinkMetadataFields: (input?: ListProductLinkMetadataFieldsInput) => Promise<ListProductLinkMetadataFieldsResult>;
129
185
  applyFreeOnboardTier: (input: ApplyFreeOnboardTierInput) => Promise<ApplyFreeOnboardTierResult>;
130
186
  setupOnboardBilling: (input: SetupOnboardBillingInput) => Promise<SetupOnboardBillingResult>;
131
187
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/companies/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/companies/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { AppRouter } from '@chatarmin/api/trpc-types';
2
+ import type { createTRPCClient } from '@trpc/client';
3
+ import type { DealsClient } from './types.js';
4
+ type SdkClient = ReturnType<typeof createTRPCClient<AppRouter>>;
5
+ type SdkCall = <T>(operation: string, action: () => Promise<T>) => Promise<T>;
6
+ export declare function createDealsClient(client: SdkClient, call: SdkCall): DealsClient;
7
+ export {};
8
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/deals/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EACV,WAAW,EAKZ,MAAM,YAAY,CAAA;AAEnB,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAA;AAC/D,KAAK,OAAO,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;AAE7E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,GAAG,WAAW,CAa/E"}
@@ -0,0 +1,6 @@
1
+ export function createDealsClient(client, call) {
2
+ return {
3
+ list: (input) => call('deals.list', () => client.companies.listDealsForProduct.query(input)),
4
+ markChurned: (input) => call('deals.markChurned', () => client.companies.markDealChurnedForProduct.mutate(input)),
5
+ };
6
+ }
@@ -0,0 +1,3 @@
1
+ export { createDealsClient } from './client.js';
2
+ export type { DealCompanyScope, DealsClient, ListDealsInput, ListDealsResult, MarkDealChurnedInput, MarkDealChurnedResult, ProductDeal, } from './types.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/deals/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,GACZ,MAAM,YAAY,CAAA"}
@@ -0,0 +1 @@
1
+ export { createDealsClient } from './client.js';
@@ -0,0 +1,56 @@
1
+ /** Identify the company by OS id or by your product's external org id. */
2
+ export type DealCompanyScope = {
3
+ companyId: string;
4
+ externalOrgId?: string;
5
+ } | {
6
+ companyId?: string;
7
+ externalOrgId: string;
8
+ };
9
+ export type ListDealsInput = DealCompanyScope;
10
+ export interface ProductDeal {
11
+ id: string;
12
+ title: string;
13
+ /** CRM deal status, e.g. `won`, `lost`, `open`. */
14
+ status: string;
15
+ wonAt: Date | null;
16
+ lostAt: Date | null;
17
+ /** Set once the deal is marked commercially churned (immediately or on a future date). */
18
+ commercialChurnedAt: Date | null;
19
+ commercialChurnNote: string | null;
20
+ }
21
+ export interface ListDealsResult {
22
+ companyId: string;
23
+ /** Company commercial status, e.g. `active` or `churned`. */
24
+ commercialStatus: string | null;
25
+ /** Company health, e.g. `healthy`, `at_risk`, `billing_mismatch`. */
26
+ healthStatus: string | null;
27
+ subscriptionStatus: string | null;
28
+ deals: ProductDeal[];
29
+ }
30
+ export type MarkDealChurnedInput = DealCompanyScope & {
31
+ /** Defaults to the company's latest won deal. */
32
+ dealId?: string;
33
+ /** Defaults to `immediately`. */
34
+ timing?: 'immediately' | 'specific_date';
35
+ /** Local org day `YYYY-MM-DD`; required with `timing: 'specific_date'`. Not in the past. */
36
+ churnAtLocalDate?: string;
37
+ /** Why the customer churned (1–500 chars). */
38
+ note: string;
39
+ /** Login email of the OS member the churn is recorded for; must be a member of the company's org. */
40
+ actorEmail: string;
41
+ };
42
+ export interface MarkDealChurnedResult {
43
+ companyId: string;
44
+ dealId: string;
45
+ churnAt: Date;
46
+ }
47
+ export interface DealsClient {
48
+ /** Deals of a linked company plus its commercial and health status. */
49
+ list(input: ListDealsInput): Promise<ListDealsResult>;
50
+ /**
51
+ * Churn a won deal (the OS churn SOP). OS ends the subscriptions that deal covers on the churn
52
+ * day; do not end subscriptions directly. Re-read `billing.getOverview` (`cancelAt`) to confirm.
53
+ */
54
+ markChurned(input: MarkDealChurnedInput): Promise<MarkDealChurnedResult>;
55
+ }
56
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/deals/types.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,MAAM,MAAM,gBAAgB,GACxB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAA;AAEjD,MAAM,MAAM,cAAc,GAAG,gBAAgB,CAAA;AAE7C,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,IAAI,GAAG,IAAI,CAAA;IAClB,MAAM,EAAE,IAAI,GAAG,IAAI,CAAA;IACnB,0FAA0F;IAC1F,mBAAmB,EAAE,IAAI,GAAG,IAAI,CAAA;IAChC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAA;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,6DAA6D;IAC7D,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,qEAAqE;IACrE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,KAAK,EAAE,WAAW,EAAE,CAAA;CACrB;AAED,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG;IACpD,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iCAAiC;IACjC,MAAM,CAAC,EAAE,aAAa,GAAG,eAAe,CAAA;IACxC,4FAA4F;IAC5F,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAA;IACZ,qGAAqG;IACrG,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,IAAI,CAAA;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,uEAAuE;IACvE,IAAI,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IACrD;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAA;CACzE"}
@@ -0,0 +1 @@
1
+ export {};
package/dist/index.d.ts CHANGED
@@ -1,13 +1,17 @@
1
1
  import type { AppRouter } from "@chatarmin/api/trpc-types";
2
2
  import { type CompaniesClient } from "./companies/index.js";
3
+ import { type LinksClient } from "./links/client.js";
4
+ export type { LinksClient } from "./links/client.js";
3
5
  import { type ChannelsClient } from "./channels/index.js";
4
6
  import { type BillingClient } from "./billing/index.js";
7
+ import { type DealsClient } from "./deals/index.js";
5
8
  import { type FeaturesClient } from "./features/index.js";
6
9
  import type { OnboardInput, OnboardResult } from "./onboard-types.js";
7
10
  export { webhooks, constructProductWebhookEvent, generateTestWebhookHeaders, OsWebhookSignatureVerificationError, WEBHOOK_ID_HEADER, WEBHOOK_SIGNATURE_HEADER, WEBHOOK_TIMESTAMP_HEADER, } from "./webhooks/index.js";
8
11
  export type { ConstructProductWebhookEventOptions, ProductWebhookEventPayload, ProductWebhookHeaders, VerifiedProductWebhookEvent, } from "./webhooks/index.js";
9
- export type { CompaniesClient, CompanyAssignee, CompanyAssignees, CreateCompanyInput, CreateCompanyResult, GetCompanyInput, LinkedCompany, ListCompaniesInput, ListCompaniesResult, ListLinkedCompaniesInput, ListLinkedCompaniesResult, ProductCompany, ApplyFreeOnboardTierInput, ApplyFreeOnboardTierResult, SetupOnboardBillingInput, SetupOnboardBillingResult, UpdateCompanyResult, } from "./companies/index.js";
12
+ export type { CompaniesClient, CompanyAssignee, CompanyAssignees, CreateCompanyInput, CreateCompanyResult, GetCompanyInput, LinkedCompany, ListCompaniesInput, ListCompaniesResult, ListLinkedCompaniesInput, ListLinkedCompaniesResult, ProductCompany, ApplyFreeOnboardTierInput, ApplyFreeOnboardTierResult, SetupOnboardBillingInput, SetupOnboardBillingResult, UpdateCompanyResult, ListProductLinksInput, ListProductLinksResult, ProductLinkSummary, ProductLinkMetadataFilter, ProductLinkMetadataField, ListProductLinkMetadataFieldsInput, ListProductLinkMetadataFieldsResult, UpdateProductLinkInput, UpdateProductLinkResult, } from "./companies/index.js";
10
13
  export type { ChannelLinkType, ChannelsClient, LinkChannelInput, LinkChannelResult, LinkThreadInput, LinkThreadResult, UpdateChannelLinkInput, UpdateChannelLinkResult, } from "./channels/index.js";
14
+ export type * from "./deals/index.js";
11
15
  export type { BillingClient, BillingInvoiceSummary, BillingOverview, BillingProfileSummary, BillingSubscriptionSummary, ClaimCheckoutInput, ClaimCheckoutResult, CreateBillingPortalSessionInput, EnsureFeatureSubscriptionInput, EnsureFeatureSubscriptionResult, GetBillingOverviewInput, GetUsageInput, LinkSubscriptionInput, LinkSubscriptionResult, ListBillingInvoicesOptions, PeriodOffsetRange, RelinkBillingProfileInput, ResolveInvoicePaymentUrlInput, SetUsageInput, SyncCompanyFromStripeInput, SyncCompanyFromStripeResult, UsageAggregate, UsageCycleBucket, UsageCycleSummary, UsagePoint, UsageQueryResult, UsageRecord, UsageSubscriptionItem, UsageResult, } from "./billing/index.js";
12
16
  export type { ExternalOrgFeatureAccessItem, FeatureAccessByExternalOrgIdResult, FeatureAccessItem, FeatureAccessMode, FeatureBillingDetails, FeatureCheckByExternalOrgIdResult, FeatureCheckInput, FeatureCheckResult, FeatureResolvedAccess, FeatureResolvedAccessSource, FeatureSetAccessInput, FeatureSetAccessResult, FeaturesClient, ListFeatureAccessInput, } from "./features/index.js";
13
17
  /**
@@ -382,6 +386,8 @@ export declare class ChatarminOS {
382
386
  get features(): FeaturesClient;
383
387
  /** Billing, usage tracking, subscriptions, and customer billing surfaces. */
384
388
  get billing(): BillingClient;
389
+ /** Deals and commercial churn (`deals.markChurned` is the OS churn SOP). */
390
+ get deals(): DealsClient;
385
391
  /**
386
392
  * Manual link operations for associating external IDs with companies.
387
393
  *
@@ -398,95 +404,7 @@ export declare class ChatarminOS {
398
404
  * })
399
405
  * ```
400
406
  */
401
- get links(): {
402
- /**
403
- * Create a manual link between your external org ID and an existing company.
404
- *
405
- * Use this when you know the exact company ID and want to create
406
- * a direct link without smart matching.
407
- *
408
- * @param input - Link parameters
409
- * @param input.companyId - Company UUID or short_id (e.g., "acme-corp")
410
- * @returns The created link record
411
- *
412
- * @example Using UUID
413
- * ```typescript
414
- * const link = await os.links.create({
415
- * companyId: 'a1b2c3d4-e5f6-...',
416
- * externalOrgId: 'org_abc123',
417
- * label: 'Store Vienna'
418
- * })
419
- * ```
420
- *
421
- * @example Using short_id
422
- * ```typescript
423
- * const link = await os.links.create({
424
- * companyId: 'acme-corp', // short_id works too!
425
- * externalOrgId: 'org_abc123',
426
- * label: 'Store Vienna'
427
- * })
428
- * ```
429
- */
430
- create: (input: {
431
- /** Company UUID or short_id */
432
- companyId: string;
433
- externalOrgId: string;
434
- label?: string;
435
- externalUserId?: string;
436
- }) => Promise<{
437
- id: string;
438
- company_id: string | null;
439
- status: string;
440
- metadata: unknown;
441
- created_at: Date;
442
- updated_at: Date;
443
- sync_status: string;
444
- custom_fields: unknown;
445
- label: string | null;
446
- product_id: string;
447
- external_org_id: string;
448
- external_user_id: string | null;
449
- confidence: number | null;
450
- link_type: string;
451
- external_display_name: string | null;
452
- billing_profile_id: string | null;
453
- }>;
454
- /**
455
- * Delete all product links for this product.
456
- *
457
- * Use this before re-importing to clean up old links.
458
- * This only affects links for YOUR product (identified by API key).
459
- *
460
- * **Options:**
461
- * - `deleteContacts`: Also delete contacts from linked companies
462
- * - `resetMrr`: Also reset MRR to 0 for linked companies
463
- *
464
- * @returns Counts of deleted/reset items
465
- *
466
- * @example Basic reset (links only)
467
- * ```typescript
468
- * const result = await os.links.reset()
469
- * console.log(`Deleted ${result.linksDeleted} links`)
470
- * ```
471
- *
472
- * @example Full reset (links + contacts + MRR)
473
- * ```typescript
474
- * const result = await os.links.reset({
475
- * deleteContacts: true,
476
- * resetMrr: true
477
- * })
478
- * console.log(`Deleted ${result.linksDeleted} links, ${result.contactsDeleted} contacts`)
479
- * ```
480
- */
481
- reset: (options?: {
482
- deleteContacts?: boolean;
483
- resetMrr?: boolean;
484
- }) => Promise<{
485
- linksDeleted: number;
486
- contactsDeleted: number;
487
- companiesMrrReset: number;
488
- }>;
489
- };
407
+ get links(): LinksClient;
490
408
  /**
491
409
  * Subscription and tier management.
492
410
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,8 +1,10 @@
1
1
  import { TRPCClientError, createTRPCClient, httpBatchLink } from "@trpc/client";
2
2
  import superjson from "superjson";
3
3
  import { createCompaniesClient, } from "./companies/index.js";
4
+ import { createLinksClient } from "./links/client.js";
4
5
  import { createChannelsClient, } from "./channels/index.js";
5
6
  import { createBillingClient } from "./billing/index.js";
7
+ import { createDealsClient } from "./deals/index.js";
6
8
  import { createFeaturesClient } from "./features/index.js";
7
9
  import { webhooks } from "./webhooks/index.js";
8
10
  import { runOnboardFlow } from "./onboard-flow.js";
@@ -349,6 +351,10 @@ export class ChatarminOS {
349
351
  get billing() {
350
352
  return createBillingClient(this.client, this.call.bind(this));
351
353
  }
354
+ /** Deals and commercial churn (`deals.markChurned` is the OS churn SOP). */
355
+ get deals() {
356
+ return createDealsClient(this.client, this.call.bind(this));
357
+ }
352
358
  // ==========================================================================
353
359
  // Links
354
360
  // ==========================================================================
@@ -369,72 +375,7 @@ export class ChatarminOS {
369
375
  * ```
370
376
  */
371
377
  get links() {
372
- const client = this.client;
373
- const call = this.call.bind(this);
374
- return {
375
- /**
376
- * Create a manual link between your external org ID and an existing company.
377
- *
378
- * Use this when you know the exact company ID and want to create
379
- * a direct link without smart matching.
380
- *
381
- * @param input - Link parameters
382
- * @param input.companyId - Company UUID or short_id (e.g., "acme-corp")
383
- * @returns The created link record
384
- *
385
- * @example Using UUID
386
- * ```typescript
387
- * const link = await os.links.create({
388
- * companyId: 'a1b2c3d4-e5f6-...',
389
- * externalOrgId: 'org_abc123',
390
- * label: 'Store Vienna'
391
- * })
392
- * ```
393
- *
394
- * @example Using short_id
395
- * ```typescript
396
- * const link = await os.links.create({
397
- * companyId: 'acme-corp', // short_id works too!
398
- * externalOrgId: 'org_abc123',
399
- * label: 'Store Vienna'
400
- * })
401
- * ```
402
- */
403
- create: (input) => call("links.create", () => client.companies.upsertProductLink.mutate({
404
- companyId: input.companyId,
405
- externalOrgId: input.externalOrgId,
406
- externalUserId: input.externalUserId,
407
- label: input.label,
408
- })),
409
- /**
410
- * Delete all product links for this product.
411
- *
412
- * Use this before re-importing to clean up old links.
413
- * This only affects links for YOUR product (identified by API key).
414
- *
415
- * **Options:**
416
- * - `deleteContacts`: Also delete contacts from linked companies
417
- * - `resetMrr`: Also reset MRR to 0 for linked companies
418
- *
419
- * @returns Counts of deleted/reset items
420
- *
421
- * @example Basic reset (links only)
422
- * ```typescript
423
- * const result = await os.links.reset()
424
- * console.log(`Deleted ${result.linksDeleted} links`)
425
- * ```
426
- *
427
- * @example Full reset (links + contacts + MRR)
428
- * ```typescript
429
- * const result = await os.links.reset({
430
- * deleteContacts: true,
431
- * resetMrr: true
432
- * })
433
- * console.log(`Deleted ${result.linksDeleted} links, ${result.contactsDeleted} contacts`)
434
- * ```
435
- */
436
- reset: (options) => call("links.reset", () => client.companies.resetProductLinks.mutate(options)),
437
- };
378
+ return createLinksClient(this.client, this.call.bind(this));
438
379
  }
439
380
  // ==========================================================================
440
381
  // Subscriptions
@@ -0,0 +1,115 @@
1
+ import type { AppRouter } from "@chatarmin/api/trpc-types";
2
+ import type { createTRPCClient } from "@trpc/client";
3
+ import type { UpdateProductLinkInput, UpdateProductLinkResult } from "../companies/types.js";
4
+ type SdkClient = ReturnType<typeof createTRPCClient<AppRouter>>;
5
+ type SdkCall = <T>(operation: string, action: () => Promise<T>) => Promise<T>;
6
+ /** Manual link operations; see `ChatarminOS.links`. */
7
+ export declare function createLinksClient(client: SdkClient, call: SdkCall): {
8
+ /**
9
+ * Create a manual link between your external org ID and an existing company.
10
+ *
11
+ * Use this when you know the exact company ID and want to create
12
+ * a direct link without smart matching.
13
+ *
14
+ * @param input - Link parameters
15
+ * @param input.companyId - Company UUID or short_id (e.g., "acme-corp")
16
+ * @returns The created link record
17
+ *
18
+ * @example Using UUID
19
+ * ```typescript
20
+ * const link = await os.links.create({
21
+ * companyId: 'a1b2c3d4-e5f6-...',
22
+ * externalOrgId: 'org_abc123',
23
+ * label: 'Store Vienna'
24
+ * })
25
+ * ```
26
+ *
27
+ * @example Using short_id
28
+ * ```typescript
29
+ * const link = await os.links.create({
30
+ * companyId: 'acme-corp', // short_id works too!
31
+ * externalOrgId: 'org_abc123',
32
+ * label: 'Store Vienna'
33
+ * })
34
+ * ```
35
+ */
36
+ create: (input: {
37
+ /** Company UUID or short_id */
38
+ companyId: string;
39
+ externalOrgId: string;
40
+ label?: string;
41
+ externalUserId?: string;
42
+ }) => Promise<{
43
+ id: string;
44
+ company_id: string | null;
45
+ status: string;
46
+ metadata: unknown;
47
+ created_at: Date;
48
+ updated_at: Date;
49
+ sync_status: string;
50
+ custom_fields: unknown;
51
+ label: string | null;
52
+ product_id: string;
53
+ external_org_id: string;
54
+ external_user_id: string | null;
55
+ confidence: number | null;
56
+ link_type: string;
57
+ external_display_name: string | null;
58
+ billing_profile_id: string | null;
59
+ }>;
60
+ /**
61
+ * Write your product's metadata on one of your links, e.g. channel ids other OS readers
62
+ * (staff tools, agents) should see next to the company.
63
+ *
64
+ * Merges top-level keys into the metadata you wrote before; pass `resetMetadata: true` to
65
+ * replace it. OS-owned link state is never touched. Credentials are rejected: never send
66
+ * tokens, secrets, passwords or PINs. Throws NOT_FOUND when the link does not exist.
67
+ *
68
+ * @example
69
+ * ```typescript
70
+ * await os.links.update({
71
+ * externalOrgId: 'org_abc123',
72
+ * metadata: { whatsapp: { provider: 'meta', wabaId: '1029…', phoneNumberId: '3301…' } },
73
+ * })
74
+ * ```
75
+ */
76
+ update: (input: UpdateProductLinkInput) => Promise<UpdateProductLinkResult>;
77
+ /**
78
+ * Delete all product links for this product.
79
+ *
80
+ * Use this before re-importing to clean up old links.
81
+ * This only affects links for YOUR product (identified by API key).
82
+ *
83
+ * **Options:**
84
+ * - `deleteContacts`: Also delete contacts from linked companies
85
+ * - `resetMrr`: Also reset MRR to 0 for linked companies
86
+ *
87
+ * @returns Counts of deleted/reset items
88
+ *
89
+ * @example Basic reset (links only)
90
+ * ```typescript
91
+ * const result = await os.links.reset()
92
+ * console.log(`Deleted ${result.linksDeleted} links`)
93
+ * ```
94
+ *
95
+ * @example Full reset (links + contacts + MRR)
96
+ * ```typescript
97
+ * const result = await os.links.reset({
98
+ * deleteContacts: true,
99
+ * resetMrr: true
100
+ * })
101
+ * console.log(`Deleted ${result.linksDeleted} links, ${result.contactsDeleted} contacts`)
102
+ * ```
103
+ */
104
+ reset: (options?: {
105
+ deleteContacts?: boolean;
106
+ resetMrr?: boolean;
107
+ }) => Promise<{
108
+ linksDeleted: number;
109
+ contactsDeleted: number;
110
+ companiesMrrReset: number;
111
+ }>;
112
+ };
113
+ export type LinksClient = ReturnType<typeof createLinksClient>;
114
+ export {};
115
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/links/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAE5F,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAA;AAC/D,KAAK,OAAO,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;AAE7E,uDAAuD;AACvD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO;IAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;oBACa;QACd,+BAA+B;QAC/B,SAAS,EAAE,MAAM,CAAA;QACjB,aAAa,EAAE,MAAM,CAAA;QACrB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,cAAc,CAAC,EAAE,MAAM,CAAA;KACxB;;;;;;;;;;;;;;;;;;IAUD;;;;;;;;;;;;;;;OAeG;oBACa,sBAAsB,KAAG,OAAO,CAAC,uBAAuB,CAAC;IAKzE;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;sBACe;QAAE,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE;;;;;EAKrE;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAA"}
@@ -0,0 +1,84 @@
1
+ /** Manual link operations; see `ChatarminOS.links`. */
2
+ export function createLinksClient(client, call) {
3
+ return {
4
+ /**
5
+ * Create a manual link between your external org ID and an existing company.
6
+ *
7
+ * Use this when you know the exact company ID and want to create
8
+ * a direct link without smart matching.
9
+ *
10
+ * @param input - Link parameters
11
+ * @param input.companyId - Company UUID or short_id (e.g., "acme-corp")
12
+ * @returns The created link record
13
+ *
14
+ * @example Using UUID
15
+ * ```typescript
16
+ * const link = await os.links.create({
17
+ * companyId: 'a1b2c3d4-e5f6-...',
18
+ * externalOrgId: 'org_abc123',
19
+ * label: 'Store Vienna'
20
+ * })
21
+ * ```
22
+ *
23
+ * @example Using short_id
24
+ * ```typescript
25
+ * const link = await os.links.create({
26
+ * companyId: 'acme-corp', // short_id works too!
27
+ * externalOrgId: 'org_abc123',
28
+ * label: 'Store Vienna'
29
+ * })
30
+ * ```
31
+ */
32
+ create: (input) => call("links.create", () => client.companies.upsertProductLink.mutate({
33
+ companyId: input.companyId,
34
+ externalOrgId: input.externalOrgId,
35
+ externalUserId: input.externalUserId,
36
+ label: input.label,
37
+ })),
38
+ /**
39
+ * Write your product's metadata on one of your links, e.g. channel ids other OS readers
40
+ * (staff tools, agents) should see next to the company.
41
+ *
42
+ * Merges top-level keys into the metadata you wrote before; pass `resetMetadata: true` to
43
+ * replace it. OS-owned link state is never touched. Credentials are rejected: never send
44
+ * tokens, secrets, passwords or PINs. Throws NOT_FOUND when the link does not exist.
45
+ *
46
+ * @example
47
+ * ```typescript
48
+ * await os.links.update({
49
+ * externalOrgId: 'org_abc123',
50
+ * metadata: { whatsapp: { provider: 'meta', wabaId: '1029…', phoneNumberId: '3301…' } },
51
+ * })
52
+ * ```
53
+ */
54
+ update: (input) => call("links.update", () => client.companies.updateProductLinkMetadata.mutate(input)),
55
+ /**
56
+ * Delete all product links for this product.
57
+ *
58
+ * Use this before re-importing to clean up old links.
59
+ * This only affects links for YOUR product (identified by API key).
60
+ *
61
+ * **Options:**
62
+ * - `deleteContacts`: Also delete contacts from linked companies
63
+ * - `resetMrr`: Also reset MRR to 0 for linked companies
64
+ *
65
+ * @returns Counts of deleted/reset items
66
+ *
67
+ * @example Basic reset (links only)
68
+ * ```typescript
69
+ * const result = await os.links.reset()
70
+ * console.log(`Deleted ${result.linksDeleted} links`)
71
+ * ```
72
+ *
73
+ * @example Full reset (links + contacts + MRR)
74
+ * ```typescript
75
+ * const result = await os.links.reset({
76
+ * deleteContacts: true,
77
+ * resetMrr: true
78
+ * })
79
+ * console.log(`Deleted ${result.linksDeleted} links, ${result.contactsDeleted} contacts`)
80
+ * ```
81
+ */
82
+ reset: (options) => call("links.reset", () => client.companies.resetProductLinks.mutate(options)),
83
+ };
84
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chatarmin/os",
3
- "version": "1.13.0",
3
+ "version": "1.15.0",
4
4
  "description": "Type-safe SDK for ChatarminOS - Customer & Subscription Management",
5
5
  "type": "module",
6
6
  "publishConfig": {