@chatarmin/os 1.30.0 → 1.31.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.
|
@@ -3,6 +3,45 @@ import type { IntegrityCsm, IntegritySlackThread } from './integrity-types.js';
|
|
|
3
3
|
* Client activity: each client's contact and usage facts from OS, for questions like "no contact
|
|
4
4
|
* for 30 days" or "usage down 30% in 7 days". Mirrors `packages/api/src/services/company-activity`.
|
|
5
5
|
*/
|
|
6
|
+
/**
|
|
7
|
+
* How OS judges usage per feature: continuous features (utility / service messages, AI credits)
|
|
8
|
+
* by typical daily usage and stops; campaign features (marketing messages) by the client's own
|
|
9
|
+
* campaign rhythm; counts like contacts are not usage.
|
|
10
|
+
*/
|
|
11
|
+
export type UsageSignalKind = 'stopped' | 'drop' | 'campaign_lapsed' | 'campaign_volume_drop';
|
|
12
|
+
interface UsageSignalFeature {
|
|
13
|
+
featureCode: string;
|
|
14
|
+
featureName: string;
|
|
15
|
+
}
|
|
16
|
+
export type UsageSignal =
|
|
17
|
+
/** A feature used on most days (5 of 7) has been at 0 since `sinceDay` (UTC day, YYYY-MM-DD). */
|
|
18
|
+
(UsageSignalFeature & {
|
|
19
|
+
kind: 'stopped';
|
|
20
|
+
sinceDay: string;
|
|
21
|
+
daysStopped: number;
|
|
22
|
+
typicalDaily: number;
|
|
23
|
+
})
|
|
24
|
+
/** Typical usage of a continuous feature, last 7 days vs the 7 before. */
|
|
25
|
+
| (UsageSignalFeature & {
|
|
26
|
+
kind: 'drop';
|
|
27
|
+
previous7d: number;
|
|
28
|
+
current7d: number;
|
|
29
|
+
changePct: number;
|
|
30
|
+
})
|
|
31
|
+
/** No campaign for at least 21 days and twice the client's usual gap. */
|
|
32
|
+
| (UsageSignalFeature & {
|
|
33
|
+
kind: 'campaign_lapsed';
|
|
34
|
+
lastCampaignDay: string;
|
|
35
|
+
daysSinceLastCampaign: number;
|
|
36
|
+
typicalGapDays: number;
|
|
37
|
+
})
|
|
38
|
+
/** Campaign volume, last 30 days vs the average 30 days of the 60 before. */
|
|
39
|
+
| (UsageSignalFeature & {
|
|
40
|
+
kind: 'campaign_volume_drop';
|
|
41
|
+
last30d: number;
|
|
42
|
+
previous30dAverage: number;
|
|
43
|
+
changePct: number;
|
|
44
|
+
});
|
|
6
45
|
export type CompanyActivitySort = 'mrr' | 'usage_change_7d' | 'usage_change_30d' | 'days_since_contact' | 'days_since_client_message';
|
|
7
46
|
/**
|
|
8
47
|
* A client activity question, composed freely: every filter narrows. A never-happened event counts
|
|
@@ -19,10 +58,12 @@ export interface ListCompanyActivityInput {
|
|
|
19
58
|
/** No message from your team for at least this many days. */
|
|
20
59
|
noTeamMessageForDays?: number;
|
|
21
60
|
noUsageForDays?: number;
|
|
22
|
-
/** Last 7 days vs the 7 before, percent, at most this (e.g. -30); needs
|
|
61
|
+
/** Last 7 days vs the 7 before, like for like, percent, at most this (e.g. -30); needs a baseline. */
|
|
23
62
|
usageChange7dPctAtMost?: number;
|
|
24
63
|
/** Last 30 days vs the 30 before, percent, at most this. */
|
|
25
64
|
usageChange30dPctAtMost?: number;
|
|
65
|
+
/** Has at least one usage signal of these kinds. */
|
|
66
|
+
usageSignals?: UsageSignalKind[];
|
|
26
67
|
unrepliedOnly?: boolean;
|
|
27
68
|
/** mrr: highest first; usage_change_*: biggest drop first; days_since_*: longest silence first. */
|
|
28
69
|
sort?: CompanyActivitySort;
|
|
@@ -58,11 +99,23 @@ export interface CompanyActivity {
|
|
|
58
99
|
daysSinceLast: number | null;
|
|
59
100
|
total7d: number;
|
|
60
101
|
previous7d: number;
|
|
61
|
-
/**
|
|
102
|
+
/**
|
|
103
|
+
* Like-for-like change (see `comparable`); null without a baseline of at least 100 units of
|
|
104
|
+
* the same features in the previous window.
|
|
105
|
+
*/
|
|
62
106
|
change7dPct: number | null;
|
|
63
107
|
total30d: number;
|
|
64
108
|
previous30d: number;
|
|
65
109
|
change30dPct: number | null;
|
|
110
|
+
/** Typical usage of continuous features tracked through both whole windows: what the changes compare. */
|
|
111
|
+
comparable: {
|
|
112
|
+
current7d: number;
|
|
113
|
+
previous7d: number;
|
|
114
|
+
current30d: number;
|
|
115
|
+
previous30d: number;
|
|
116
|
+
};
|
|
117
|
+
/** Per-feature changes worth a look. */
|
|
118
|
+
signals: UsageSignal[];
|
|
66
119
|
};
|
|
67
120
|
engagement: {
|
|
68
121
|
lastLoginAt: Date | null;
|
|
@@ -89,4 +142,5 @@ export interface CompaniesActivityClient {
|
|
|
89
142
|
/** Client contact and usage facts across the organization, filtered and sorted as asked. */
|
|
90
143
|
listActivity: (input?: ListCompanyActivityInput) => Promise<ListCompanyActivityResult>;
|
|
91
144
|
}
|
|
145
|
+
export {};
|
|
92
146
|
//# sourceMappingURL=activity-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity-types.d.ts","sourceRoot":"","sources":["../../src/companies/activity-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAE9E;;;GAGG;AAEH,MAAM,MAAM,mBAAmB,GAC3B,KAAK,GACL,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,2BAA2B,CAAA;AAE/B;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB,CAAC,EAAE,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAA;IAChD,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,8DAA8D;IAC9D,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,6DAA6D;IAC7D,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,
|
|
1
|
+
{"version":3,"file":"activity-types.d.ts","sourceRoot":"","sources":["../../src/companies/activity-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAE9E;;;GAGG;AAEH;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,MAAM,GAAG,iBAAiB,GAAG,sBAAsB,CAAA;AAE7F,UAAU,kBAAkB;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,WAAW;AACrB,iGAAiG;AAC/F,CAAC,kBAAkB,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AACzG,0EAA0E;GACxE,CAAC,kBAAkB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AACnG,yEAAyE;GACvE,CAAC,kBAAkB,GAAG;IACpB,IAAI,EAAE,iBAAiB,CAAA;IACvB,eAAe,EAAE,MAAM,CAAA;IACvB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,cAAc,EAAE,MAAM,CAAA;CACvB,CAAC;AACJ,6EAA6E;GAC3E,CAAC,kBAAkB,GAAG;IACpB,IAAI,EAAE,sBAAsB,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,kBAAkB,EAAE,MAAM,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;CAClB,CAAC,CAAA;AAEN,MAAM,MAAM,mBAAmB,GAC3B,KAAK,GACL,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,2BAA2B,CAAA;AAE/B;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB,CAAC,EAAE,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAA;IAChD,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,8DAA8D;IAC9D,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,6DAA6D;IAC7D,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,sGAAsG;IACtG,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,4DAA4D;IAC5D,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,oDAAoD;IACpD,YAAY,CAAC,EAAE,eAAe,EAAE,CAAA;IAChC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,mGAAmG;IACnG,IAAI,CAAC,EAAE,mBAAmB,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,WAAW,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAClE,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,IAAI,GAAG,IAAI,CAAA;IAC1B,OAAO,EAAE;QACP,SAAS,EAAE,IAAI,GAAG,IAAI,CAAA;QACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;QAC3B,mBAAmB,EAAE,IAAI,GAAG,IAAI,CAAA;QAChC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAA;QACrC,iBAAiB,EAAE,IAAI,GAAG,IAAI,CAAA;QAC9B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;QACnC,gBAAgB,EAAE,IAAI,GAAG,IAAI,CAAA;QAC7B,UAAU,EAAE,MAAM,CAAA;QAClB,WAAW,EAAE,MAAM,CAAA;KACpB,CAAA;IACD,KAAK,EAAE;QACL,MAAM,EAAE,IAAI,GAAG,IAAI,CAAA;QACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;QAC5B,OAAO,EAAE,MAAM,CAAA;QACf,UAAU,EAAE,MAAM,CAAA;QAClB;;;WAGG;QACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;QAC1B,QAAQ,EAAE,MAAM,CAAA;QAChB,WAAW,EAAE,MAAM,CAAA;QACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;QAC3B,yGAAyG;QACzG,UAAU,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAA;QAC9F,wCAAwC;QACxC,OAAO,EAAE,WAAW,EAAE,CAAA;KACvB,CAAA;IACD,UAAU,EAAE;QAAE,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;QAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,gBAAgB,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,CAAA;IACtG,OAAO,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5D,UAAU,EAAE;QAAE,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,CAAA;IAC1D,WAAW,EAAE,oBAAoB,GAAG,IAAI,CAAA;IACxC,GAAG,EAAE,YAAY,GAAG,IAAI,CAAA;CACzB;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,eAAe,EAAE,CAAA;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,IAAI,EAAE,IAAI,CAAA;CACX;AAED,MAAM,WAAW,uBAAuB;IACtC,4FAA4F;IAC5F,YAAY,EAAE,CAAC,KAAK,CAAC,EAAE,wBAAwB,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAA;CACvF"}
|