@dszp/netsapiens-lib 0.7.0 → 0.9.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 +95 -11
- package/dist/attribution.d.ts.map +1 -1
- package/dist/attribution.js +65 -28
- package/dist/attribution.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/inventory.d.ts +190 -6
- package/dist/inventory.d.ts.map +1 -1
- package/dist/inventory.js +206 -12
- package/dist/inventory.js.map +1 -1
- package/dist/model.d.ts +13 -0
- package/dist/model.d.ts.map +1 -1
- package/dist/nsClient.d.ts +8 -2
- package/dist/nsClient.d.ts.map +1 -1
- package/dist/nsClient.js +6 -1
- package/dist/nsClient.js.map +1 -1
- package/dist/resolver.d.ts +18 -0
- package/dist/resolver.d.ts.map +1 -1
- package/dist/resolver.js +40 -19
- package/dist/resolver.js.map +1 -1
- package/package.json +1 -1
- package/src/attribution.selftest.ts +75 -0
- package/src/attribution.ts +60 -18
- package/src/index.ts +1 -1
- package/src/inventory.selftest.ts +279 -5
- package/src/inventory.ts +356 -19
- package/src/model.ts +13 -0
- package/src/nsClient.ts +14 -3
- package/src/resolver.selftest.ts +22 -1
- package/src/resolver.ts +42 -19
package/README.md
CHANGED
|
@@ -63,7 +63,10 @@ Two composites are provided because they're multi-read and worth getting right o
|
|
|
63
63
|
|
|
64
64
|
The snapshot is the routing subset — what `resolveFlow()` needs. It is not a full domain export. Four
|
|
65
65
|
options pull in more, each off by default because each costs an extra read: `includeAddresses` (E911
|
|
66
|
-
address records
|
|
66
|
+
address records **and** emergency endpoints — two reads under one flag, because the endpoint is what the
|
|
67
|
+
carrier bills for and the address is the location it dispatches to, and counting one without the other
|
|
68
|
+
is how a domain gets billed for the wrong thing), `includeSmsNumbers` (the domain-level SMS-enabled
|
|
69
|
+
number list), `includeDevices`
|
|
67
70
|
(per-extension device records — one `/devices` read per real extension, so it is the expensive one on a
|
|
68
71
|
domain with many seats), and `includeUserSmsNumbers` (per-extension SMS numbers into
|
|
69
72
|
`snapshot.smsNumbersByUser` — same one-read-per-extension cost, needed because the domain-level list
|
|
@@ -90,11 +93,18 @@ VoIP operator actually sells on:
|
|
|
90
93
|
- `systemUsers` — `system-aa`, `system-queue`, `system-tod` and friends: `total` and `byServiceCode`.
|
|
91
94
|
Informational, never compared against a seat count.
|
|
92
95
|
- `transcriptionEnabled` — extensions with voicemail transcription on.
|
|
93
|
-
- `teamsConnected` — extensions with a Microsoft Teams connector device
|
|
94
|
-
`<ext>t`). That connector is excluded from `devices`/`deviceCount`:
|
|
96
|
+
- `teamsConnected` — extensions with a Microsoft Teams connector device — one whose device-name suffix
|
|
97
|
+
the legend marks `teams` (`<ext>t` by default). That connector is excluded from `devices`/`deviceCount`:
|
|
98
|
+
it is a connector, not a handset. See [Device suffixes](#device-suffixes).
|
|
95
99
|
- `dids` — phone numbers: `total` / `tollFree` / `local`, all three **excluding fax lines**, plus
|
|
96
100
|
`fax` and `all` (everything, `total + fax === all`). See [Fax lines](#fax-lines).
|
|
97
|
-
- `e911Addresses
|
|
101
|
+
- `e911Addresses` — E911 **address** records: dispatchable locations, information only.
|
|
102
|
+
- `e911Endpoints` — provisioned Emergency **Endpoints**: a callback number, a caller name, a billing
|
|
103
|
+
address and a vendor. This is the unit the E911 carrier routes on and bills per. See
|
|
104
|
+
[E911](#e911-endpoints-bill-addresses-locate).
|
|
105
|
+
- `e911Legacy` — distinct legacy emergency numbers on a domain that has no endpoint records. Comparable
|
|
106
|
+
with `e911Endpoints` and never overlapping it.
|
|
107
|
+
- `smsNumbers` — record count.
|
|
98
108
|
- `devices` — `total` and `byModel`, real extensions only (a system user's device is not a seat).
|
|
99
109
|
|
|
100
110
|
Every leaf is a number, on purpose: a caller reconciling this against a billing system addresses a
|
|
@@ -141,6 +151,34 @@ Matching is on the trimmed host, case-insensitively, and on nothing else — nev
|
|
|
141
151
|
and it keeps its `kind`: a fax number is local or toll-free like any other, it is simply not counted as a
|
|
142
152
|
DID.
|
|
143
153
|
|
|
154
|
+
#### Device suffixes
|
|
155
|
+
|
|
156
|
+
A device's **suffix** is what its name carries after the extension number: `1001wp` on extension `1001`
|
|
157
|
+
has suffix `wp`, a bare `1001` has none, and a name that does not start with the extension has none
|
|
158
|
+
either. Three suffixes ship with NetSapiens, and `DEFAULT_DEVICE_SUFFIXES` is that table:
|
|
159
|
+
|
|
160
|
+
```ts
|
|
161
|
+
DEFAULT_DEVICE_SUFFIXES; // { wp: {label:'SNAPmobile Web'}, m: {label:'SNAPmobile'}, t: {label:'Teams', teams:true} }
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
Each device in `ExtensionItem.devices` carries its `suffix` (lower-cased) and the legend's label for it as
|
|
165
|
+
`kind` — `''` when the suffix is empty or the legend does not carry it, because an unlisted suffix is a
|
|
166
|
+
name the deployment has not explained, not a device type to guess at. The suffix marked `teams: true` is
|
|
167
|
+
what identifies a Microsoft Teams connector: that is the whole of the test, so `teamsConnected`,
|
|
168
|
+
`ExtensionItem.teams` and the handset-only `deviceCount`/`deviceModels` all follow from the legend.
|
|
169
|
+
|
|
170
|
+
Your own suffixes go in `deviceSuffixes`, which **replaces** the default rather than merging with it:
|
|
171
|
+
|
|
172
|
+
```ts
|
|
173
|
+
listDomainInventory(snapshot, { deviceSuffixes: { r: { label: 'Acme App' }, t: { label: 'Teams', teams: true } } });
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
Replace-wholesale is deliberate. A deployment without TeamMate omits `t`, and Teams detection is then off
|
|
177
|
+
entirely — every `<ext>t` device is a handset and is counted as one — which a merge could not express.
|
|
178
|
+
Comparison is case-insensitive on both sides. `resolveFlow` labels a simultaneous-ring device from the
|
|
179
|
+
same default table (it takes no options — a call flow is drawn from a snapshot alone), so a suffix means
|
|
180
|
+
one thing across this library.
|
|
181
|
+
|
|
144
182
|
#### Listing a domain: `listDomainInventory`
|
|
145
183
|
|
|
146
184
|
`countDomainInventory` is a fold over `listDomainInventory(snapshot, opts?)` (same options), which returns the per-item lists
|
|
@@ -154,14 +192,17 @@ never appear, though names and sites now do (that's the point of a list). Each i
|
|
|
154
192
|
| `extensions`, `systemUsers` | `ext:<user>` |
|
|
155
193
|
| `dids` | `did:<phonenumber>` |
|
|
156
194
|
| `e911Addresses` | `addr:<emergency-address-id>` |
|
|
195
|
+
| `e911Endpoints` | `e911:<callback digits>` |
|
|
196
|
+
| `e911Legacy` | `e911legacy:<digits>` |
|
|
157
197
|
| `smsNumbers` | `sms:<number>` |
|
|
158
198
|
|
|
159
199
|
A number carries `fax` (see [Fax lines](#fax-lines)) and `destination` — where it routes, in words
|
|
160
200
|
(`to user 100 — Ann Lee`, `to queue 701 — Sales`, `to fax server`), built by the exported
|
|
161
201
|
`destinationOf(p, userByExt, faxServerHosts?)` over `usersByExt(users)` — and `description`
|
|
162
|
-
(`dial-rule-description`, trimmed); an extension carries `devices`, an
|
|
163
|
-
device it has (handset and Teams connector alike), in record
|
|
164
|
-
or email.
|
|
202
|
+
(`dial-rule-description`, trimmed); an extension carries `devices`, an
|
|
203
|
+
`{ name, model, teams, suffix, kind }` per device it has (handset and Teams connector alike), in record
|
|
204
|
+
order — still never the MAC, SIP password or email. See [Device suffixes](#device-suffixes) for `suffix`
|
|
205
|
+
and `kind`.
|
|
165
206
|
|
|
166
207
|
`itemsFor(detail, path)` returns the items behind one of `countDomainInventory`'s dotted-path counts —
|
|
167
208
|
the same vocabulary, so a UI that lets an operator drill from a count into the records behind it needs
|
|
@@ -180,6 +221,8 @@ no separate lookup table:
|
|
|
180
221
|
| `dids.fax` | fax lines |
|
|
181
222
|
| `dids.all` | every phone number, fax lines included |
|
|
182
223
|
| `e911Addresses` | E911 addresses |
|
|
224
|
+
| `e911Endpoints` | Emergency endpoints |
|
|
225
|
+
| `e911Legacy` | Legacy emergency numbers |
|
|
183
226
|
| `smsNumbers` | SMS numbers |
|
|
184
227
|
|
|
185
228
|
`devices.*` and `systemUsers.*` paths return `undefined` — not `[]` — because there is no item list for
|
|
@@ -205,16 +248,57 @@ address and SMS number either `own-site` (the item's own site matches), `via-use
|
|
|
205
248
|
never fetched with `includeUserSmsNumbers`.
|
|
206
249
|
|
|
207
250
|
Each verdict carries **`sites: string[]`** as well as `site`. They agree wherever there is one site,
|
|
208
|
-
and only
|
|
209
|
-
four sites can all reference it, so `sites` names
|
|
210
|
-
|
|
211
|
-
exactly one account leaves every other referencing
|
|
251
|
+
and only the three E911 kinds — an **address**, an **endpoint**, a **legacy number** — can carry more
|
|
252
|
+
than one: each is a fact about a place, and users on four sites can all reference it, so `sites` names
|
|
253
|
+
every one of them while `site` stays `null`. A consumer splitting a domain between billing accounts
|
|
254
|
+
should read `sites` — placing such an item on exactly one account leaves every other referencing
|
|
255
|
+
account's E911 line short.
|
|
256
|
+
|
|
257
|
+
Attribution reads two E911 **inheritances** into a blank field before it decides anything: a user with a
|
|
258
|
+
blank `emergency-address-id` is placed as referencing the domain's default address, and one with a blank
|
|
259
|
+
`caller-id-number-emergency` as referencing that address's endpoint. Reading the raw records instead
|
|
260
|
+
would call a domain's busiest address unreferenced — but both fallbacks are **this library's inference,
|
|
261
|
+
not confirmed platform behaviour**, and the same state can be read as an E911 gap. They fail closed
|
|
262
|
+
(nothing to inherit leaves the user referencing nothing), they move placement rather than counts, and
|
|
263
|
+
the ⚠️ on `EmergencyModel` sets out exactly what is known and what is assumed.
|
|
212
264
|
|
|
213
265
|
Filter `listDomainInventory(snapshot)`'s items by that
|
|
214
266
|
attribution to scope a domain down to one site, then run `countInventoryDetail(detail)` over what's left
|
|
215
267
|
to get counts that agree with what you kept, rather than recomputing `countDomainInventory` against the
|
|
216
268
|
whole domain and hoping the numbers happen to match.
|
|
217
269
|
|
|
270
|
+
### E911: endpoints bill, addresses locate
|
|
271
|
+
|
|
272
|
+
Three things wear the E911 name in NetSapiens, and only one of them is billable.
|
|
273
|
+
|
|
274
|
+
An **Emergency Endpoint** (`GET /domains/{d}/addresses/endpoints`) is a callback number, a caller name,
|
|
275
|
+
a billing address and a vendor. It is what the carrier routes a 911 call on and what it charges for, and
|
|
276
|
+
it is counted as `e911Endpoints`. ⚠️ An endpoint record holds its callback NUMBER in the
|
|
277
|
+
`emergency-address-id` field — the same field name an address record uses for its own `a-…` id.
|
|
278
|
+
|
|
279
|
+
An **Emergency Address** is a dispatchable location forwarded to responders. Several can sit under one
|
|
280
|
+
endpoint, and nobody bills them; `e911Addresses` stays, as information.
|
|
281
|
+
|
|
282
|
+
A **legacy emergency number** has no API object at all. On a domain still on the pre-endpoint model every
|
|
283
|
+
user carries an empty `emergency-address-id` and a `caller-id-number-emergency` set to one of a handful
|
|
284
|
+
of DIDs, and the carrier bills per one of those DIDs. `e911Legacy` counts the distinct ones, excluding
|
|
285
|
+
any that is also an endpoint callback so a half-migrated domain is not billed twice for one place.
|
|
286
|
+
|
|
287
|
+
Users, devices and sites point at an endpoint through their Emergency Caller ID matching its callback
|
|
288
|
+
number, compared as digits (`emergencyDigits` collapses `1NXXNXXXXXX` to ten and reads the `[*]`
|
|
289
|
+
wildcard as "not set"). `resolveEmergency(snapshot)` is the one place the domain-default fallbacks are
|
|
290
|
+
applied, and both the counter and `attributeDomainInventory` read it, so the count and the placement
|
|
291
|
+
cannot disagree about who references what. **Read its ⚠️ before relying on the placement**: that a blank
|
|
292
|
+
field falls back to the domain default at all, and that the default address's callback is reachable by
|
|
293
|
+
matching `address-name` against an endpoint, are two assumptions this library makes rather than two
|
|
294
|
+
things the platform documents. Both fail closed.
|
|
295
|
+
|
|
296
|
+
`e911Legacy` needs the endpoint list to have been read, because it is kept apart from `e911Endpoints` by
|
|
297
|
+
excluding numbers that are already endpoint callbacks. **It is 0 whenever `snapshot.addressEndpoints` is
|
|
298
|
+
`undefined`** — the fetch never asked — since a count derived from the users alone would report a
|
|
299
|
+
fully-migrated domain's every emergency caller ID as a billable line. An empty ARRAY is the other fact,
|
|
300
|
+
"asked, and there are none", and that one does support a count.
|
|
301
|
+
|
|
218
302
|
### Read/write split by charter
|
|
219
303
|
|
|
220
304
|
`NsClient` exposes **`get()` and nothing else**, and `verify()` only ever issues `GET /jwt`. That is a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attribution.d.ts","sourceRoot":"","sources":["../src/attribution.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"attribution.d.ts","sourceRoot":"","sources":["../src/attribution.ts"],"names":[],"mappings":"AAsDA,OAAO,KAAK,EAAO,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB;;;;;;;OAOG;IACH,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,uFAAuF;IACvF,GAAG,EAAE,MAAM,CAAC;CACb;AACD,MAAM,WAAW,iBAAiB;IAAG,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CAAE;AAI7E,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,GAAG,iBAAiB,CAuF9E"}
|
package/dist/attribution.js
CHANGED
|
@@ -24,17 +24,34 @@
|
|
|
24
24
|
* when there is exactly one and `null` otherwise, so a consumer that can only hold one still reads
|
|
25
25
|
* the unambiguous case correctly. `unreferenced` when no real extension names it; `no-site` when the
|
|
26
26
|
* ones that do have no site.
|
|
27
|
+
* - An E911 ENDPOINT: the same rule, over the users whose Emergency Caller ID equals its callback.
|
|
28
|
+
* An endpoint is a fact about a place too — it is the thing the carrier bills for one — so it can
|
|
29
|
+
* sit on several sites for the same reason an address can.
|
|
30
|
+
* - A LEGACY emergency number: the same rule again, over the users the number was derived from.
|
|
27
31
|
* - An SMS number: the site of the user whose per-user list carries it (`via-user:<ext>`), or
|
|
28
32
|
* `sms-user-unknown` when no per-user list does — including when the per-user read was never
|
|
29
33
|
* made. Never guessed from the domain-level list, which does not say.
|
|
30
34
|
*
|
|
35
|
+
* ## A blank E911 field is READ AS the domain default — an inference, not a platform fact
|
|
36
|
+
*
|
|
37
|
+
* A user with a blank `emergency-address-id` is placed here as referencing the domain's default
|
|
38
|
+
* address, and one with a blank `caller-id-number-emergency` as referencing that address's endpoint.
|
|
39
|
+
* Reading the records literally instead would call a domain's busiest address unreferenced, so the
|
|
40
|
+
* fallback is the better of the two readings — but it is a reading. **It has not been confirmed against
|
|
41
|
+
* live platform behaviour**, and the same state can be read as an E911 gap; see the ⚠️ on
|
|
42
|
+
* `EmergencyModel` in `inventory.ts` for the two assumptions and how each fails closed. What they move
|
|
43
|
+
* is placement, not counts — on a split domain, which accounts are told they need an E911 line.
|
|
44
|
+
*
|
|
45
|
+
* Both are resolved by `resolveEmergency` in `inventory.ts`, the same call the counter makes, so the
|
|
46
|
+
* count and the placement cannot disagree about who references what.
|
|
47
|
+
*
|
|
31
48
|
* ## Keys are joined by index
|
|
32
49
|
*
|
|
33
50
|
* `listDomainInventory` maps each source array 1:1 and in order, and this module relies on that to
|
|
34
51
|
* put an item's KEY (which may be a derived `~hash`) beside its RECORD's routing fields. That
|
|
35
52
|
* invariant is this library's own, and this is the one place allowed to lean on it.
|
|
36
53
|
*/
|
|
37
|
-
import { isSystemUser, listDomainInventory, str, usersByExt } from './inventory.js';
|
|
54
|
+
import { isSystemUser, legacyEmergencyNumber, listDomainInventory, resolveEmergency, str, usersByExt } from './inventory.js';
|
|
38
55
|
const none = (reason) => ({ site: null, sites: [], how: `unattributed:${reason}` });
|
|
39
56
|
export function attributeDomainInventory(snapshot) {
|
|
40
57
|
const users = Array.isArray(snapshot.users) ? snapshot.users : [];
|
|
@@ -67,36 +84,56 @@ export function attributeDomainInventory(snapshot) {
|
|
|
67
84
|
}
|
|
68
85
|
items[key] = one(site, `via-user:${dest}`);
|
|
69
86
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
for (let i = 0; i < d.e911Addresses.length; i++) {
|
|
83
|
-
const key = d.e911Addresses[i].key, id = str((addresses[i] ?? {})['emergency-address-id']);
|
|
84
|
-
const who = id ? refs.get(id) ?? [] : [];
|
|
85
|
-
if (!who.length) {
|
|
86
|
-
items[key] = none('unreferenced');
|
|
87
|
-
continue;
|
|
88
|
-
}
|
|
87
|
+
/**
|
|
88
|
+
* The verdict for a PLACE — an address, an endpoint, a legacy number — from the real extensions that
|
|
89
|
+
* reference it. One function because the three differ only in how "reference" is decided, and three
|
|
90
|
+
* copies of the multi-site rule would be three chances to disagree about it.
|
|
91
|
+
*
|
|
92
|
+
* SEVERAL SITES IS AN ANSWER, not a failure. The referencing users name every place the thing is
|
|
93
|
+
* used, and a consumer billing per site needs all of them; `site` still answers only the unambiguous
|
|
94
|
+
* case, which is what keeps a one-site consumer correct without reading `sites`.
|
|
95
|
+
*/
|
|
96
|
+
const place = (who) => {
|
|
97
|
+
if (!who.length)
|
|
98
|
+
return none('unreferenced');
|
|
89
99
|
const sites = [...new Set(who.map((u) => str(u.site)).filter(Boolean))].sort();
|
|
90
|
-
if (sites.length === 0)
|
|
91
|
-
|
|
92
|
-
continue;
|
|
93
|
-
}
|
|
94
|
-
// SEVERAL SITES IS AN ANSWER, not a failure. The referencing users name every place this address
|
|
95
|
-
// is used, and a consumer billing per site needs all of them; `site` still answers only the
|
|
96
|
-
// unambiguous case, which is what keeps a one-site consumer correct without reading `sites`.
|
|
100
|
+
if (sites.length === 0)
|
|
101
|
+
return none('no-site');
|
|
97
102
|
const how = `via-users:${who.map((u) => str(u.user)).filter(Boolean).sort().join(',')}`;
|
|
98
|
-
|
|
103
|
+
return sites.length === 1 ? one(sites[0], how) : { site: null, sites, how };
|
|
104
|
+
};
|
|
105
|
+
/** Group the REAL extensions by whatever they reference; a blank answer references nothing. */
|
|
106
|
+
const referencedBy = (of) => {
|
|
107
|
+
const refs = new Map();
|
|
108
|
+
for (const u of users) {
|
|
109
|
+
if (isSystemUser(u))
|
|
110
|
+
continue;
|
|
111
|
+
const id = of(u);
|
|
112
|
+
if (!id)
|
|
113
|
+
continue;
|
|
114
|
+
const list = refs.get(id) ?? [];
|
|
115
|
+
list.push(u);
|
|
116
|
+
refs.set(id, list);
|
|
117
|
+
}
|
|
118
|
+
return refs;
|
|
119
|
+
};
|
|
120
|
+
// The two inheritances (see the module doc), resolved once and shared with the counter's own reading
|
|
121
|
+
// of them — `listDomainInventory` above derived the legacy list from this same rule.
|
|
122
|
+
const em = resolveEmergency(snapshot);
|
|
123
|
+
// Addresses, by index against `addresses`. A user with a blank id references the DOMAIN DEFAULT.
|
|
124
|
+
const addrRefs = referencedBy((u) => em.addressIdFor(u));
|
|
125
|
+
for (let i = 0; i < d.e911Addresses.length; i++) {
|
|
126
|
+
const key = d.e911Addresses[i].key, id = str((addresses[i] ?? {})['emergency-address-id']);
|
|
127
|
+
items[key] = place(id ? addrRefs.get(id) ?? [] : []);
|
|
99
128
|
}
|
|
129
|
+
// Endpoints and legacy numbers carry their own identity on the item (`callback` / `number`), so
|
|
130
|
+
// neither needs the index join the other lists use — nothing here depends on list order.
|
|
131
|
+
const cbRefs = referencedBy((u) => em.callbackFor(u));
|
|
132
|
+
for (const e of d.e911Endpoints)
|
|
133
|
+
items[e.key] = place(e.callback ? cbRefs.get(e.callback) ?? [] : []);
|
|
134
|
+
const legacyRefs = referencedBy((u) => legacyEmergencyNumber(u, em));
|
|
135
|
+
for (const l of d.e911Legacy)
|
|
136
|
+
items[l.key] = place(legacyRefs.get(l.number) ?? []);
|
|
100
137
|
// SMS numbers, by index against `smsnumbers`, joined to a user through the per-user lists.
|
|
101
138
|
const extBySms = new Map();
|
|
102
139
|
if (byUser)
|
package/dist/attribution.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attribution.js","sourceRoot":"","sources":["../src/attribution.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"attribution.js","sourceRoot":"","sources":["../src/attribution.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export { THEMES, DEFAULT_LIGHT_THEME, DEFAULT_DARK_THEME, NODE_LIGHT, NODE_DARK,
|
|
|
16
16
|
export { renderGalleryHtml, renderFlowCards, renderFlowCard, mermaidBootstrap, flowAnchorId, type GalleryOptions, type CardOptions, } from './html.js';
|
|
17
17
|
export { resolveSvgSize, rasterizerScript } from './raster.js';
|
|
18
18
|
export { NsClient, NsApiError, assertBareServer, fetchDomainSnapshot, listDomains, asArray, type NsClientConfig, type FetchSnapshotOptions } from './nsClient.js';
|
|
19
|
-
export { countDomainInventory, countInventoryDetail, listDomainInventory, itemsFor, itemLabel, destinationOf, usersByExt, type DomainInventory, type DomainInventoryDetail, type InventoryOptions, type ExtensionItem, type NumberItem, type AddressItem, type SmsItem, type InventoryItem } from './inventory.js';
|
|
19
|
+
export { countDomainInventory, countInventoryDetail, listDomainInventory, itemsFor, itemLabel, destinationOf, emergencyDigits, legacyEmergencyNumber, resolveEmergency, usersByExt, DEFAULT_DEVICE_SUFFIXES, type DeviceSuffixLegend, type DomainInventory, type DomainInventoryDetail, type EmergencyModel, type InventoryOptions, type ExtensionItem, type NumberItem, type AddressItem, type EndpointItem, type LegacyE911Item, type SmsItem, type InventoryItem } from './inventory.js';
|
|
20
20
|
export { attributeDomainInventory, type DomainAttribution, type ItemAttribution } from './attribution.js';
|
|
21
21
|
export { NsWriteClient, type NsWriteClientConfig } from './nsWriteClient.js';
|
|
22
22
|
export { supportsSynchronous, SYNCHRONOUS_OPERATIONS, type SynchronousMethod, type SynchronousOperation, } from './nsSynchronous.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACnG,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EACL,MAAM,EACN,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,WAAW,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAClK,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,qBAAqB,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -15,7 +15,7 @@ export { THEMES, DEFAULT_LIGHT_THEME, DEFAULT_DARK_THEME, NODE_LIGHT, NODE_DARK,
|
|
|
15
15
|
export { renderGalleryHtml, renderFlowCards, renderFlowCard, mermaidBootstrap, flowAnchorId, } from './html.js';
|
|
16
16
|
export { resolveSvgSize, rasterizerScript } from './raster.js';
|
|
17
17
|
export { NsClient, NsApiError, assertBareServer, fetchDomainSnapshot, listDomains, asArray } from './nsClient.js';
|
|
18
|
-
export { countDomainInventory, countInventoryDetail, listDomainInventory, itemsFor, itemLabel, destinationOf, usersByExt } from './inventory.js';
|
|
18
|
+
export { countDomainInventory, countInventoryDetail, listDomainInventory, itemsFor, itemLabel, destinationOf, emergencyDigits, legacyEmergencyNumber, resolveEmergency, usersByExt, DEFAULT_DEVICE_SUFFIXES } from './inventory.js';
|
|
19
19
|
export { attributeDomainInventory } from './attribution.js';
|
|
20
20
|
export { NsWriteClient } from './nsWriteClient.js';
|
|
21
21
|
export { supportsSynchronous, SYNCHRONOUS_OPERATIONS, } from './nsSynchronous.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAuC,MAAM,cAAc,CAAC;AAC9E,OAAO,EACL,MAAM,EACN,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,UAAU,EACV,SAAS,GAKV,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,YAAY,GAGb,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,WAAW,EAAE,OAAO,EAAkD,MAAM,eAAe,CAAC;AAClK,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAuC,MAAM,cAAc,CAAC;AAC9E,OAAO,EACL,MAAM,EACN,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,UAAU,EACV,SAAS,GAKV,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,YAAY,GAGb,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,WAAW,EAAE,OAAO,EAAkD,MAAM,eAAe,CAAC;AAClK,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,UAAU,EAAE,uBAAuB,EAA0P,MAAM,gBAAgB,CAAC;AAC5d,OAAO,EAAE,wBAAwB,EAAgD,MAAM,kBAAkB,CAAC;AAC1G,OAAO,EAAE,aAAa,EAA4B,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EACL,mBAAmB,EACnB,sBAAsB,GAGvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,YAAY,GAIb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAiD,MAAM,mBAAmB,CAAC;AAC7G,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAUlB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,MAAM,EACN,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,QAAQ,EACR,kBAAkB,GAOnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAwB,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EACL,WAAW,EACX,aAAa,EACb,eAAe,EACf,YAAY,GAIb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,WAAW,EACX,SAAS,EACT,GAAG,GAIJ,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,GAOpB,MAAM,kBAAkB,CAAC"}
|