@chatarmin/os 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -1
- package/dist/index.d.ts +82 -19
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -4
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -63,6 +63,7 @@ const os = new ChatarminOS({
|
|
|
63
63
|
// Onboard a new customer (single call does everything!)
|
|
64
64
|
const result = await os.onboard({
|
|
65
65
|
externalOrgId: "org_abc123", // Your product's org ID
|
|
66
|
+
label: "My Product", // Display label for the product link (required)
|
|
66
67
|
hints: {
|
|
67
68
|
companyName: "Acme Inc",
|
|
68
69
|
domain: "acme.com",
|
|
@@ -109,6 +110,7 @@ const company = await os.companies.create({
|
|
|
109
110
|
name: "Acme Inc",
|
|
110
111
|
domain: "acme.com",
|
|
111
112
|
externalOrgId: "org_abc123",
|
|
113
|
+
label: "My Product", // Display label for the product link
|
|
112
114
|
contactEmail: "admin@acme.com",
|
|
113
115
|
contactName: "John Doe",
|
|
114
116
|
createdAt: "2024-01-15T10:30:00.000Z", // Optional: historical date
|
|
@@ -136,12 +138,13 @@ Intelligently find and link a company using hints.
|
|
|
136
138
|
```typescript
|
|
137
139
|
const result = await os.companies.smartLink({
|
|
138
140
|
externalOrgId: "org_abc123",
|
|
141
|
+
label: "My Product", // Display label for the product link (required)
|
|
139
142
|
hints: {
|
|
140
143
|
companyName: "Acme Inc",
|
|
141
144
|
domain: "acme.com",
|
|
142
145
|
emails: ["john@acme.com", "jane@acme.com"],
|
|
143
146
|
},
|
|
144
|
-
minConfidence: 0.7, // Default: 0.
|
|
147
|
+
minConfidence: 0.7, // Default: 0.8
|
|
145
148
|
})
|
|
146
149
|
|
|
147
150
|
switch (result.status) {
|
|
@@ -542,6 +545,7 @@ The `onboard()` method handles:
|
|
|
542
545
|
```typescript
|
|
543
546
|
const result = await os.onboard({
|
|
544
547
|
externalOrgId: "org_abc123", // Your product's org ID (required)
|
|
548
|
+
label: "My Product", // Display label for the product link (required)
|
|
545
549
|
hints: {
|
|
546
550
|
companyName: "Acme Inc",
|
|
547
551
|
domain: "acme.com",
|
|
@@ -566,6 +570,7 @@ console.log({
|
|
|
566
570
|
```typescript
|
|
567
571
|
const result = await os.onboard({
|
|
568
572
|
externalOrgId: "org_abc123",
|
|
573
|
+
label: "My Product",
|
|
569
574
|
hints: { companyName: "Acme Inc", domain: "acme.com" },
|
|
570
575
|
checkoutSessionId: "cs_test_xxx", // From Stripe checkout callback
|
|
571
576
|
})
|
|
@@ -579,6 +584,7 @@ const result = await os.onboard({
|
|
|
579
584
|
```typescript
|
|
580
585
|
const result = await os.onboard({
|
|
581
586
|
externalOrgId: "org_abc123",
|
|
587
|
+
label: "My Product",
|
|
582
588
|
hints: { companyName: "Acme Inc" },
|
|
583
589
|
tierCode: "free",
|
|
584
590
|
contactEmail: "admin@acme.com",
|
|
@@ -602,6 +608,7 @@ const stripeSub = await stripe.subscriptions.create({
|
|
|
602
608
|
// 3. Onboard with the subscription
|
|
603
609
|
const result = await os.onboard({
|
|
604
610
|
externalOrgId: "org_abc123",
|
|
611
|
+
label: "My Product",
|
|
605
612
|
hints: { companyName: "Acme Inc" },
|
|
606
613
|
stripeSubscriptionId: stripeSub.id,
|
|
607
614
|
stripeCustomerId: stripeCustomerId,
|
|
@@ -617,6 +624,7 @@ const result = await os.onboard({
|
|
|
617
624
|
```typescript
|
|
618
625
|
const result = await os.onboard({
|
|
619
626
|
externalOrgId: "org_abc123",
|
|
627
|
+
label: "My Product",
|
|
620
628
|
hints: { companyName: "Acme Inc" },
|
|
621
629
|
})
|
|
622
630
|
|
|
@@ -684,6 +692,7 @@ const session = await stripe.checkout.sessions.create({
|
|
|
684
692
|
// 3. After checkout completes → Claim subscription
|
|
685
693
|
const result = await os.onboard({
|
|
686
694
|
externalOrgId: "org_abc123",
|
|
695
|
+
label: "My Product",
|
|
687
696
|
checkoutSessionId: session.id,
|
|
688
697
|
})
|
|
689
698
|
```
|
|
@@ -700,6 +709,7 @@ for (const org of historicalData) {
|
|
|
700
709
|
// Create company with historical date
|
|
701
710
|
const result = await os.onboard({
|
|
702
711
|
externalOrgId: org.id,
|
|
712
|
+
label: "Imported", // Display label for historical import
|
|
703
713
|
hints: {
|
|
704
714
|
companyName: org.name,
|
|
705
715
|
domain: org.domain,
|
package/dist/index.d.ts
CHANGED
|
@@ -27,6 +27,8 @@ export interface CreateCompanyInput {
|
|
|
27
27
|
externalOrgId: string;
|
|
28
28
|
/** Optional user ID who created this in your product */
|
|
29
29
|
externalUserId?: string;
|
|
30
|
+
/** Display label for the product link (e.g., "Chatarmin CX", "Shopify") */
|
|
31
|
+
label?: string;
|
|
30
32
|
/** Primary contact email */
|
|
31
33
|
contactEmail?: string;
|
|
32
34
|
/** Primary contact name */
|
|
@@ -40,6 +42,8 @@ export interface CreateCompanyInput {
|
|
|
40
42
|
export interface SmartLinkInput {
|
|
41
43
|
/** Your product's unique organization ID for this company */
|
|
42
44
|
externalOrgId: string;
|
|
45
|
+
/** Display label for the product link (e.g., "Chatarmin CX", "Shopify") */
|
|
46
|
+
label: string;
|
|
43
47
|
/** Hints to help match existing companies */
|
|
44
48
|
hints: {
|
|
45
49
|
/** Company name to match against */
|
|
@@ -51,7 +55,7 @@ export interface SmartLinkInput {
|
|
|
51
55
|
};
|
|
52
56
|
/**
|
|
53
57
|
* Minimum confidence score (0-1) required for auto-linking.
|
|
54
|
-
* @default 0.
|
|
58
|
+
* @default 0.8
|
|
55
59
|
*/
|
|
56
60
|
minConfidence?: number;
|
|
57
61
|
}
|
|
@@ -85,6 +89,44 @@ export interface FeatureCheckInput {
|
|
|
85
89
|
companyId: string;
|
|
86
90
|
/** Feature code (e.g., "ai_credit", "whatsapp_messages") */
|
|
87
91
|
featureCode: string;
|
|
92
|
+
/**
|
|
93
|
+
* Verify Stripe subscription is active for this feature.
|
|
94
|
+
* When true, the response includes subscription validation fields
|
|
95
|
+
* and `canUse` will be false if no active subscription exists.
|
|
96
|
+
* @default false
|
|
97
|
+
*/
|
|
98
|
+
verifySubscription?: boolean;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Result of a feature access check.
|
|
102
|
+
*/
|
|
103
|
+
export interface FeatureCheckResult {
|
|
104
|
+
/** Feature code */
|
|
105
|
+
featureCode: string;
|
|
106
|
+
/** Whether the feature is enabled for this company */
|
|
107
|
+
isEnabled: boolean;
|
|
108
|
+
/** Whether this feature tracks quantity/usage */
|
|
109
|
+
hasQuantity: boolean;
|
|
110
|
+
/** Current usage count (for quantity-based features) */
|
|
111
|
+
currentUsage: number;
|
|
112
|
+
/** Maximum allowed quantity (null = unlimited) */
|
|
113
|
+
quantityLimit: number | null;
|
|
114
|
+
/** Included/free quantity before overage charges */
|
|
115
|
+
includedQuantity: number;
|
|
116
|
+
/** Remaining quantity before limit (null = unlimited) */
|
|
117
|
+
remaining: number | null;
|
|
118
|
+
/** Whether usage limit has been reached */
|
|
119
|
+
isAtLimit: boolean;
|
|
120
|
+
/** Whether the company can use this feature (enabled + not at limit + subscription if verified) */
|
|
121
|
+
canUse: boolean;
|
|
122
|
+
/** Whether an active Stripe subscription exists for this feature */
|
|
123
|
+
hasActiveSubscription?: boolean;
|
|
124
|
+
/** Stripe subscription status (active, trialing, canceled, etc.) */
|
|
125
|
+
subscriptionStatus?: string | null;
|
|
126
|
+
/** Stripe price ID from the subscription item */
|
|
127
|
+
stripePriceId?: string | null;
|
|
128
|
+
/** Stripe subscription ID */
|
|
129
|
+
stripeSubscriptionId?: string | null;
|
|
88
130
|
}
|
|
89
131
|
/**
|
|
90
132
|
* Input for updating feature access with partial config merge.
|
|
@@ -135,6 +177,17 @@ export interface TrackUsageInput {
|
|
|
135
177
|
* Store external references here (e.g., { externalId: "msg_123", type: "message" })
|
|
136
178
|
*/
|
|
137
179
|
metadata?: Record<string, unknown>;
|
|
180
|
+
/**
|
|
181
|
+
* Ensure the feature is linked to an active Stripe subscription.
|
|
182
|
+
* If no subscription item is linked:
|
|
183
|
+
* 1. Checks existing subscriptions for a matching price
|
|
184
|
+
* 2. If found, links the feature_access to that subscription item
|
|
185
|
+
* 3. If not found, adds the feature's default price to a compatible subscription
|
|
186
|
+
*
|
|
187
|
+
* Only works with monthly/flexible subscriptions.
|
|
188
|
+
* @default false
|
|
189
|
+
*/
|
|
190
|
+
ensureSubscription?: boolean;
|
|
138
191
|
}
|
|
139
192
|
/**
|
|
140
193
|
* Input for setting usage to an absolute value.
|
|
@@ -274,6 +327,8 @@ export interface BulkContactResult {
|
|
|
274
327
|
export interface OnboardInput {
|
|
275
328
|
/** Your product's unique organization ID for this customer */
|
|
276
329
|
externalOrgId: string;
|
|
330
|
+
/** Display label for the product link (e.g., "Chatarmin CX", "Shopify") */
|
|
331
|
+
label: string;
|
|
277
332
|
/**
|
|
278
333
|
* Hints for smart company matching.
|
|
279
334
|
* Provide as much info as possible for best matching.
|
|
@@ -370,6 +425,7 @@ export interface OnboardResult {
|
|
|
370
425
|
* // When a new user signs up in your product:
|
|
371
426
|
* const result = await os.onboard({
|
|
372
427
|
* externalOrgId: 'org_abc123',
|
|
428
|
+
* label: 'My Product',
|
|
373
429
|
* hints: {
|
|
374
430
|
* companyName: 'Acme Inc',
|
|
375
431
|
* domain: 'acme.com'
|
|
@@ -621,8 +677,8 @@ export declare class ChatarminOS {
|
|
|
621
677
|
created_at: Date;
|
|
622
678
|
updated_at: Date;
|
|
623
679
|
company_id: string | null;
|
|
624
|
-
is_primary: boolean;
|
|
625
680
|
short_id: string | null;
|
|
681
|
+
is_primary: boolean;
|
|
626
682
|
avatar_url: string | null;
|
|
627
683
|
}>;
|
|
628
684
|
/**
|
|
@@ -677,8 +733,8 @@ export declare class ChatarminOS {
|
|
|
677
733
|
created_at: Date;
|
|
678
734
|
updated_at: Date;
|
|
679
735
|
company_id: string | null;
|
|
680
|
-
is_primary: boolean;
|
|
681
736
|
short_id: string | null;
|
|
737
|
+
is_primary: boolean;
|
|
682
738
|
avatar_url: string | null;
|
|
683
739
|
}[]>;
|
|
684
740
|
};
|
|
@@ -734,17 +790,7 @@ export declare class ChatarminOS {
|
|
|
734
790
|
* })
|
|
735
791
|
* ```
|
|
736
792
|
*/
|
|
737
|
-
check: (input: FeatureCheckInput) => Promise<
|
|
738
|
-
featureCode: string;
|
|
739
|
-
isEnabled: boolean;
|
|
740
|
-
hasQuantity: boolean;
|
|
741
|
-
currentUsage: number;
|
|
742
|
-
quantityLimit: number | null;
|
|
743
|
-
includedQuantity: number;
|
|
744
|
-
remaining: number | null;
|
|
745
|
-
isAtLimit: boolean;
|
|
746
|
-
canUse: boolean;
|
|
747
|
-
}>;
|
|
793
|
+
check: (input: FeatureCheckInput) => Promise<FeatureCheckResult>;
|
|
748
794
|
/**
|
|
749
795
|
* List all features and their access status for a company.
|
|
750
796
|
*
|
|
@@ -974,12 +1020,15 @@ export declare class ChatarminOS {
|
|
|
974
1020
|
success: boolean;
|
|
975
1021
|
featureCode: string;
|
|
976
1022
|
currentUsage: number;
|
|
1023
|
+
previousUsage: number;
|
|
977
1024
|
quantityLimit: number | null;
|
|
978
1025
|
remaining: number | null;
|
|
979
1026
|
isAtLimit: boolean;
|
|
980
1027
|
includedQuantity: number;
|
|
981
1028
|
billableQuantity: number;
|
|
1029
|
+
delta: number;
|
|
982
1030
|
meterId: string;
|
|
1031
|
+
eventId: string | null;
|
|
983
1032
|
}>;
|
|
984
1033
|
/**
|
|
985
1034
|
* Set usage to an absolute value.
|
|
@@ -1075,8 +1124,8 @@ export declare class ChatarminOS {
|
|
|
1075
1124
|
}) => Promise<{
|
|
1076
1125
|
id: string;
|
|
1077
1126
|
metadata: unknown;
|
|
1078
|
-
quantity: number;
|
|
1079
1127
|
source: string;
|
|
1128
|
+
quantity: number;
|
|
1080
1129
|
created_at: Date;
|
|
1081
1130
|
company_id: string;
|
|
1082
1131
|
billing_profile_id: string;
|
|
@@ -1260,19 +1309,29 @@ export declare class ChatarminOS {
|
|
|
1260
1309
|
* a direct link without smart matching.
|
|
1261
1310
|
*
|
|
1262
1311
|
* @param input - Link parameters
|
|
1312
|
+
* @param input.companyId - Company UUID or short_id (e.g., "acme-corp")
|
|
1263
1313
|
* @returns The created link record
|
|
1264
1314
|
*
|
|
1265
|
-
* @example
|
|
1315
|
+
* @example Using UUID
|
|
1266
1316
|
* ```typescript
|
|
1267
1317
|
* const link = await os.links.create({
|
|
1268
|
-
* companyId: '
|
|
1318
|
+
* companyId: 'a1b2c3d4-e5f6-...',
|
|
1319
|
+
* externalOrgId: 'org_abc123',
|
|
1320
|
+
* label: 'Store Vienna'
|
|
1321
|
+
* })
|
|
1322
|
+
* ```
|
|
1323
|
+
*
|
|
1324
|
+
* @example Using short_id
|
|
1325
|
+
* ```typescript
|
|
1326
|
+
* const link = await os.links.create({
|
|
1327
|
+
* companyId: 'acme-corp', // short_id works too!
|
|
1269
1328
|
* externalOrgId: 'org_abc123',
|
|
1270
|
-
* label: 'Store Vienna'
|
|
1271
|
-
* externalUserId: 'user_xyz' // Optional: user who created the link
|
|
1329
|
+
* label: 'Store Vienna'
|
|
1272
1330
|
* })
|
|
1273
1331
|
* ```
|
|
1274
1332
|
*/
|
|
1275
1333
|
create: (input: {
|
|
1334
|
+
/** Company UUID or short_id */
|
|
1276
1335
|
companyId: string;
|
|
1277
1336
|
externalOrgId: string;
|
|
1278
1337
|
label?: string;
|
|
@@ -1675,6 +1734,7 @@ export declare class ChatarminOS {
|
|
|
1675
1734
|
* ```typescript
|
|
1676
1735
|
* const result = await os.onboard({
|
|
1677
1736
|
* externalOrgId: 'org_abc123',
|
|
1737
|
+
* label: 'My Product',
|
|
1678
1738
|
* hints: {
|
|
1679
1739
|
* companyName: 'Acme Inc',
|
|
1680
1740
|
* domain: 'acme.com'
|
|
@@ -1689,6 +1749,7 @@ export declare class ChatarminOS {
|
|
|
1689
1749
|
* ```typescript
|
|
1690
1750
|
* const result = await os.onboard({
|
|
1691
1751
|
* externalOrgId: 'org_abc123',
|
|
1752
|
+
* label: 'My Product',
|
|
1692
1753
|
* hints: {
|
|
1693
1754
|
* companyName: 'Acme Inc',
|
|
1694
1755
|
* domain: 'acme.com'
|
|
@@ -1715,6 +1776,7 @@ export declare class ChatarminOS {
|
|
|
1715
1776
|
* // Then onboard with the subscription
|
|
1716
1777
|
* const result = await os.onboard({
|
|
1717
1778
|
* externalOrgId: 'org_abc123',
|
|
1779
|
+
* label: 'My Product',
|
|
1718
1780
|
* hints: { companyName: 'Acme Inc' },
|
|
1719
1781
|
* stripeSubscriptionId: stripeSub.id,
|
|
1720
1782
|
* stripeCustomerId: stripeCustomerId,
|
|
@@ -1729,6 +1791,7 @@ export declare class ChatarminOS {
|
|
|
1729
1791
|
* ```typescript
|
|
1730
1792
|
* const result = await os.onboard({
|
|
1731
1793
|
* externalOrgId: 'org_abc123',
|
|
1794
|
+
* label: 'My Product',
|
|
1732
1795
|
* hints: { companyName: 'Acme Inc' }
|
|
1733
1796
|
* })
|
|
1734
1797
|
*
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAQ/C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAA;IACrB,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,4BAA4B;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAA;IACrB,6CAA6C;IAC7C,KAAK,EAAE;QACL,oCAAoC;QACpC,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,2CAA2C;QAC3C,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,yCAAyC;QACzC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAClB,CAAA;IACD;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,mCAAmC;IACnC,MAAM,EAAE,gBAAgB,GAAG,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAA;IAChE,2BAA2B;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,6BAA6B;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iEAAiE;IACjE,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,UAAU,EAAE,MAAM,CAAA;QAClB,YAAY,EAAE,MAAM,CAAA;QACpB,UAAU,EAAE,MAAM,CAAA;QAClB,MAAM,EAAE,MAAM,CAAA;KACf,CAAC,CAAA;CACH;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -23,6 +23,7 @@ import superjson from "superjson";
|
|
|
23
23
|
* // When a new user signs up in your product:
|
|
24
24
|
* const result = await os.onboard({
|
|
25
25
|
* externalOrgId: 'org_abc123',
|
|
26
|
+
* label: 'My Product',
|
|
26
27
|
* hints: {
|
|
27
28
|
* companyName: 'Acme Inc',
|
|
28
29
|
* domain: 'acme.com'
|
|
@@ -779,15 +780,24 @@ export class ChatarminOS {
|
|
|
779
780
|
* a direct link without smart matching.
|
|
780
781
|
*
|
|
781
782
|
* @param input - Link parameters
|
|
783
|
+
* @param input.companyId - Company UUID or short_id (e.g., "acme-corp")
|
|
782
784
|
* @returns The created link record
|
|
783
785
|
*
|
|
784
|
-
* @example
|
|
786
|
+
* @example Using UUID
|
|
785
787
|
* ```typescript
|
|
786
788
|
* const link = await os.links.create({
|
|
787
|
-
* companyId: '
|
|
789
|
+
* companyId: 'a1b2c3d4-e5f6-...',
|
|
788
790
|
* externalOrgId: 'org_abc123',
|
|
789
|
-
* label: 'Store Vienna'
|
|
790
|
-
*
|
|
791
|
+
* label: 'Store Vienna'
|
|
792
|
+
* })
|
|
793
|
+
* ```
|
|
794
|
+
*
|
|
795
|
+
* @example Using short_id
|
|
796
|
+
* ```typescript
|
|
797
|
+
* const link = await os.links.create({
|
|
798
|
+
* companyId: 'acme-corp', // short_id works too!
|
|
799
|
+
* externalOrgId: 'org_abc123',
|
|
800
|
+
* label: 'Store Vienna'
|
|
791
801
|
* })
|
|
792
802
|
* ```
|
|
793
803
|
*/
|
|
@@ -1082,6 +1092,7 @@ export class ChatarminOS {
|
|
|
1082
1092
|
* ```typescript
|
|
1083
1093
|
* const result = await os.onboard({
|
|
1084
1094
|
* externalOrgId: 'org_abc123',
|
|
1095
|
+
* label: 'My Product',
|
|
1085
1096
|
* hints: {
|
|
1086
1097
|
* companyName: 'Acme Inc',
|
|
1087
1098
|
* domain: 'acme.com'
|
|
@@ -1096,6 +1107,7 @@ export class ChatarminOS {
|
|
|
1096
1107
|
* ```typescript
|
|
1097
1108
|
* const result = await os.onboard({
|
|
1098
1109
|
* externalOrgId: 'org_abc123',
|
|
1110
|
+
* label: 'My Product',
|
|
1099
1111
|
* hints: {
|
|
1100
1112
|
* companyName: 'Acme Inc',
|
|
1101
1113
|
* domain: 'acme.com'
|
|
@@ -1122,6 +1134,7 @@ export class ChatarminOS {
|
|
|
1122
1134
|
* // Then onboard with the subscription
|
|
1123
1135
|
* const result = await os.onboard({
|
|
1124
1136
|
* externalOrgId: 'org_abc123',
|
|
1137
|
+
* label: 'My Product',
|
|
1125
1138
|
* hints: { companyName: 'Acme Inc' },
|
|
1126
1139
|
* stripeSubscriptionId: stripeSub.id,
|
|
1127
1140
|
* stripeCustomerId: stripeCustomerId,
|
|
@@ -1136,6 +1149,7 @@ export class ChatarminOS {
|
|
|
1136
1149
|
* ```typescript
|
|
1137
1150
|
* const result = await os.onboard({
|
|
1138
1151
|
* externalOrgId: 'org_abc123',
|
|
1152
|
+
* label: 'My Product',
|
|
1139
1153
|
* hints: { companyName: 'Acme Inc' }
|
|
1140
1154
|
* })
|
|
1141
1155
|
*
|
|
@@ -1155,6 +1169,7 @@ export class ChatarminOS {
|
|
|
1155
1169
|
let linkStatus;
|
|
1156
1170
|
const smartLinkResult = await this.companies.smartLink({
|
|
1157
1171
|
externalOrgId: input.externalOrgId,
|
|
1172
|
+
label: input.label,
|
|
1158
1173
|
hints: input.hints ?? {},
|
|
1159
1174
|
});
|
|
1160
1175
|
if (smartLinkResult.status === "already_linked") {
|
|
@@ -1173,6 +1188,7 @@ export class ChatarminOS {
|
|
|
1173
1188
|
name: input.hints?.companyName ?? `Company ${input.externalOrgId}`,
|
|
1174
1189
|
domain: input.hints?.domain,
|
|
1175
1190
|
externalOrgId: input.externalOrgId,
|
|
1191
|
+
label: input.label,
|
|
1176
1192
|
contactEmail: input.contactEmail,
|
|
1177
1193
|
contactName: input.contactName,
|
|
1178
1194
|
createdAt: input.createdAt,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chatarmin/os",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Type-safe SDK for ChatarminOS - Customer & Subscription Management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"publishConfig": {
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"typecheck": "tsc --noEmit --skipLibCheck",
|
|
26
26
|
"test": "tsx test-sdk.ts",
|
|
27
27
|
"sync": "tsx scripts/sync-orgs.ts",
|
|
28
|
+
"sync:interactive": "tsx scripts/sync-interactive.ts",
|
|
28
29
|
"sync:example": "tsx scripts/sync-orgs.ts ./scripts/data/orgs.example.json --dry-run --verbose",
|
|
29
30
|
"prepublishOnly": "pnpm build",
|
|
30
31
|
"release": "./scripts/publish.sh",
|