@truenorth-it/dataverse-client 1.0.6 → 1.0.8

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 CHANGED
@@ -21,6 +21,7 @@ import { createClient } from "@truenorth-it/dataverse-client";
21
21
 
22
22
  const client = createClient({
23
23
  baseUrl: "https://your-api.vercel.app",
24
+ scope: "default", // scope segment in API URLs (e.g. /api/v2/default/me/case)
24
25
  getToken: () => getAccessTokenSilently(), // your Auth0 token provider
25
26
  });
26
27
 
@@ -84,7 +85,8 @@ This fetches the schema and choice values from your API (public endpoints, no au
84
85
  |------|---------|-------------|
85
86
  | `--url`, `-u` | (required) | Base URL of your API deployment |
86
87
  | `--output`, `-o` | `./dataverse-tables.generated.ts` | Output file path |
87
- | `--api-base` | `/api/v2` | API base path |
88
+ | `--api-base` | `/api/v2` | API base path (before scope segment) |
89
+ | `--scope` | `default` | API scope segment (inserted after api-base in URLs) |
88
90
  | `--no-choices` | `false` | Skip fetching choice values (no enums generated) |
89
91
 
90
92
  ### Using generated types
@@ -95,6 +97,7 @@ import type { Case, Contact } from "./dataverse-tables.generated";
95
97
 
96
98
  const client = createClient({
97
99
  baseUrl: "https://your-api.vercel.app",
100
+ scope: "default",
98
101
  getToken: () => getAccessTokenSilently(),
99
102
  });
100
103
 
@@ -163,7 +166,7 @@ The codegen function is also exported for use in custom build scripts:
163
166
  ```typescript
164
167
  import { generateTableTypes } from "@truenorth-it/dataverse-client";
165
168
 
166
- const response = await fetch("https://your-api.vercel.app/api/v2/schema");
169
+ const response = await fetch("https://your-api.vercel.app/api/v2/default/schema");
167
170
  const schema = await response.json();
168
171
  const tsSource = generateTableTypes(schema);
169
172
  // Write tsSource to a file, pipe it, etc.
@@ -183,6 +186,7 @@ function useApiClient() {
183
186
  () =>
184
187
  createClient({
185
188
  baseUrl: import.meta.env.VITE_API_BASE_URL,
189
+ scope: "default",
186
190
  getToken: () => getAccessTokenSilently(),
187
191
  }),
188
192
  [getAccessTokenSilently],
@@ -197,6 +201,7 @@ createClient({
197
201
  baseUrl: string; // API deployment URL
198
202
  getToken: () => Promise<string>; // Returns a Bearer token
199
203
  apiBase?: string; // Defaults to "/api/v2"
204
+ scope?: string; // Defaults to "default" — inserted after apiBase in URLs
200
205
  });
201
206
  ```
202
207
 
@@ -234,6 +239,30 @@ for (const c of result.data) {
234
239
 
235
240
  > **With types:** `client.me.list<Case>("case", ...)` — gives full autocomplete on `result.data`.
236
241
 
242
+ ### List activity records by subtype
243
+
244
+ Activity tables (`caseactivities`, `contactactivities`) support subtype filtering to retrieve specific activity types:
245
+
246
+ ```typescript
247
+ // List all phone calls for your cases
248
+ const phoneCalls = await client.me.list("caseactivities", {
249
+ subtype: "phonecall",
250
+ select: ["activityid", "subject", "activitytypecode"],
251
+ top: 20,
252
+ });
253
+
254
+ // List all activity types at once
255
+ const allActivities = await client.me.list("caseactivities", {
256
+ subtype: "all",
257
+ orderBy: "createdon:desc",
258
+ });
259
+
260
+ // Each record includes a _link to its canonical URL
261
+ for (const activity of allActivities.data) {
262
+ console.log(activity._link); // "/api/v2/default/me/caseactivities/phonecall/a1b2c3d4-..."
263
+ }
264
+ ```
265
+
237
266
  ### Get a single record
238
267
 
239
268
  ```typescript
@@ -356,6 +385,9 @@ Used by `list()`:
356
385
  | `filter` | `string \| string[]` | OData-style filter expressions |
357
386
  | `filterLogic` | `"and" \| "or"` | How to combine multiple filters (default: `"and"`) |
358
387
  | `expand` | `string` | Expand related lookups |
388
+ | `subtype` | `string` | Activity subtype filter (e.g. `"phonecall"`, `"email"`, `"task"`, `"all"`) — only for activity tables |
389
+ | `created` | `string` | Quick filter on creation date — e.g. `"today"`, `"7d"`, `"thismonth"`, `"2026-01-01..2026-02-01"` |
390
+ | `modified` | `string` | Quick filter on last-modified date (same formats as `created`) |
359
391
 
360
392
  `lookup()` accepts the same options plus:
361
393
 
@@ -365,6 +397,47 @@ Used by `list()`:
365
397
 
366
398
  `get()` accepts only `select` and `expand`.
367
399
 
400
+ ### Quick date filter values
401
+
402
+ | Format | Examples | Description |
403
+ |--------|----------|-------------|
404
+ | Named period | `today`, `yesterday`, `thisweek`, `lastweek`, `thismonth`, `lastmonth`, `thisyear` | Human-friendly period presets |
405
+ | Relative | `1h`, `24h`, `7d`, `30d`, `90d` | Sliding window from now |
406
+ | Date range | `2026-01-01..2026-02-01`, `2026-01-01..`, `..2026-02-01` | Explicit date range (inclusive start, exclusive end) |
407
+
408
+ ```typescript
409
+ // Cases created in the last 7 days
410
+ const recent = await client.me.list<Case>("case", { created: "7d" });
411
+
412
+ // Cases modified today
413
+ const updated = await client.me.list<Case>("case", { modified: "today" });
414
+
415
+ // Combine with regular filters
416
+ const urgentRecent = await client.me.list<Case>("case", {
417
+ created: "thismonth",
418
+ filter: "prioritycode eq 1",
419
+ });
420
+ ```
421
+
422
+ The SDK resolves these client-side — dates are converted into standard `filter` conditions before the request is sent. This means quick dates work with **any server version**, even older deployments that don't support the `created`/`modified` parameters natively.
423
+
424
+ ### Standalone utility
425
+
426
+ The resolution logic is also exported for direct use:
427
+
428
+ ```typescript
429
+ import { resolveQuickDate, quickDateToFilters } from "@truenorth-it/dataverse-client";
430
+
431
+ resolveQuickDate("7d");
432
+ // → { ge: "2026-02-08T12:00:00.000Z" }
433
+
434
+ resolveQuickDate("today");
435
+ // → { ge: "2026-02-15T00:00:00.000Z", lt: "2026-02-16T00:00:00.000Z" }
436
+
437
+ quickDateToFilters("createdon", "thisweek");
438
+ // → ["createdon ge 2026-02-09T00:00:00.000Z"]
439
+ ```
440
+
368
441
  ## Error handling
369
442
 
370
443
  ```typescript
@@ -386,6 +459,122 @@ try {
386
459
  | 403 | Insufficient permissions |
387
460
  | 404 | Unknown table or contact not found |
388
461
 
462
+ ## Real-time notifications
463
+
464
+ The SDK includes a React hook that connects to Azure SignalR and automatically invalidates TanStack Query caches when data changes on the server. When another user (or an MCP client) creates or updates a record, your portal's UI refreshes instantly — no polling required.
465
+
466
+ ### Prerequisites
467
+
468
+ Install the SignalR client as a peer dependency:
469
+
470
+ ```bash
471
+ npm install @microsoft/signalr
472
+ ```
473
+
474
+ The API must have `SIGNALR_CONNECTION_STRING` configured. When it's not set, `negotiate()` returns a 404 and the hook gracefully does nothing.
475
+
476
+ ### Negotiate
477
+
478
+ The client exposes a `negotiate()` method that exchanges your Auth0 token for a SignalR connection token:
479
+
480
+ ```typescript
481
+ const { url, accessToken } = await client.negotiate();
482
+ ```
483
+
484
+ You don't usually call this directly — the `useRealtime` hook handles it.
485
+
486
+ ### useRealtime hook
487
+
488
+ ```tsx
489
+ import { useCallback } from "react";
490
+ import { useQueryClient } from "@tanstack/react-query";
491
+ import { createClient, useRealtime } from "@truenorth-it/dataverse-client";
492
+
493
+ function App() {
494
+ const client = useApiClient();
495
+ const queryClient = useQueryClient();
496
+
497
+ const negotiate = useCallback(() => client.negotiate(), [client]);
498
+
499
+ const { connected, error } = useRealtime({
500
+ negotiate,
501
+ queryClient,
502
+ });
503
+
504
+ // connected: true when the SignalR connection is active
505
+ // error: last error message, or null
506
+ }
507
+ ```
508
+
509
+ That's all you need. When a `dataChanged` event arrives (e.g. for table `"case"`), the hook automatically calls `queryClient.invalidateQueries()` for the matching query keys. TanStack Query refetches in the background and your UI updates.
510
+
511
+ ### Options
512
+
513
+ ```typescript
514
+ interface RealtimeOptions {
515
+ negotiate: () => Promise<{ url: string; accessToken: string }>;
516
+ queryClient: QueryClient;
517
+ tableQueryKeys?: Record<string, readonly (readonly unknown[])[]>;
518
+ onEvent?: (event: DataChangeEvent) => void;
519
+ enabled?: boolean; // default: true
520
+ }
521
+ ```
522
+
523
+ | Option | Description |
524
+ |--------|-------------|
525
+ | `negotiate` | Function that returns a SignalR token (from `client.negotiate()`) |
526
+ | `queryClient` | TanStack React Query client instance |
527
+ | `tableQueryKeys` | Custom mapping of table names to query key prefixes (see below) |
528
+ | `onEvent` | Optional callback for every data change event |
529
+ | `enabled` | Set to `false` to disable the connection |
530
+
531
+ ### Default table-to-query-key mapping
532
+
533
+ The hook ships with sensible defaults:
534
+
535
+ ```typescript
536
+ {
537
+ case: [["cases"], ["aggStats"]],
538
+ casenotes: [["caseNotes"]],
539
+ caseactivities: [["caseActivities"]],
540
+ caseemails: [["caseActivities"]],
541
+ casephonecalls: [["caseActivities"]],
542
+ casetasks: [["caseActivities"]],
543
+ caseappointments:[["caseActivities"]],
544
+ }
545
+ ```
546
+
547
+ Override or extend for your own tables:
548
+
549
+ ```typescript
550
+ useRealtime({
551
+ negotiate,
552
+ queryClient,
553
+ tableQueryKeys: {
554
+ // Keep defaults
555
+ case: [["cases"], ["aggStats"]],
556
+ casenotes: [["caseNotes"]],
557
+ // Add your custom tables
558
+ invoice: [["invoices"]],
559
+ project: [["projects"], ["projectStats"]],
560
+ },
561
+ });
562
+ ```
563
+
564
+ ### DataChangeEvent
565
+
566
+ Events received from the server:
567
+
568
+ ```typescript
569
+ interface DataChangeEvent {
570
+ table: string; // e.g. "case", "casenotes"
571
+ action: "created" | "updated" | "deleted";
572
+ recordId: string; // GUID of the affected record
573
+ timestamp: string; // ISO 8601
574
+ actor?: string; // email of the user who made the change
575
+ }
576
+ ```
577
+
389
578
  ## Response field patterns
390
579
 
391
580
  These patterns apply to **all** API responses, whether or not you use generated types.
@@ -436,7 +625,12 @@ import type {
436
625
  SchemaResponse, SchemaTableInput,
437
626
  // Errors
438
627
  ApiErrorBody,
628
+ // Real-time notifications
629
+ NegotiateResponse, DataChangeEvent, RealtimeOptions, RealtimeState,
439
630
  } from "@truenorth-it/dataverse-client";
631
+
632
+ // React hook (requires @microsoft/signalr peer dependency)
633
+ import { useRealtime } from "@truenorth-it/dataverse-client";
440
634
  ```
441
635
 
442
636
  Table-specific types come from your generated file:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@truenorth-it/dataverse-client",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "type": "module",
5
5
  "main": "./sdk/dist/index.js",
6
6
  "types": "./sdk/dist/index.d.ts",
@@ -51,6 +51,7 @@
51
51
  "zod": "^3.25.76"
52
52
  },
53
53
  "devDependencies": {
54
+ "@microsoft/signalr": "^10.0.0",
54
55
  "@tailwindcss/vite": "^4.1.18",
55
56
  "@testing-library/jest-dom": "^6.9.1",
56
57
  "@testing-library/react": "^16.3.2",
@@ -72,6 +73,18 @@
72
73
  "vite": "^5.0.12",
73
74
  "vitest": "^4.0.18"
74
75
  },
76
+ "peerDependencies": {
77
+ "@microsoft/signalr": ">=8.0.0",
78
+ "@tanstack/react-query": ">=5.0.0"
79
+ },
80
+ "peerDependenciesMeta": {
81
+ "@microsoft/signalr": {
82
+ "optional": true
83
+ },
84
+ "@tanstack/react-query": {
85
+ "optional": true
86
+ }
87
+ },
75
88
  "engines": {
76
89
  "node": ">=18"
77
90
  }
package/sdk/dist/cli.js CHANGED
@@ -20,6 +20,7 @@ Options:
20
20
  --url, -u Base URL of your API deployment (required)
21
21
  --output, -o Output file path (default: ./dataverse-tables.generated.ts)
22
22
  --api-base API base path (default: /api/v2)
23
+ --scope, -s API scope partition (default: default)
23
24
  --no-choices Skip fetching choice values (faster, no enums generated)
24
25
  --help, -h Show this help message
25
26
 
@@ -35,6 +36,7 @@ async function main() {
35
36
  url: { type: "string", short: "u" },
36
37
  output: { type: "string", short: "o", default: "./dataverse-tables.generated.ts" },
37
38
  "api-base": { type: "string", default: "/api/v2" },
39
+ scope: { type: "string", short: "s", default: "default" },
38
40
  "no-choices": { type: "boolean", default: false },
39
41
  help: { type: "boolean", short: "h", default: false },
40
42
  },
@@ -55,8 +57,9 @@ async function main() {
55
57
  }
56
58
  const baseUrl = values.url.replace(/\/+$/, "");
57
59
  const apiBase = values["api-base"] ?? "/api/v2";
60
+ const scope = values.scope ?? "default";
58
61
  const skipChoices = values["no-choices"] ?? false;
59
- const schemaUrl = `${baseUrl}${apiBase}/schema`;
62
+ const schemaUrl = `${baseUrl}${apiBase}/${scope}/schema`;
60
63
  // 1. Fetch schema
61
64
  console.log(`Fetching schema from ${schemaUrl} ...`);
62
65
  let schemaResponse;
@@ -80,7 +83,7 @@ async function main() {
80
83
  // 2. Fetch all public choices in a single request
81
84
  let choices;
82
85
  if (!skipChoices) {
83
- const choicesUrl = `${baseUrl}${apiBase}/choices`;
86
+ const choicesUrl = `${baseUrl}${apiBase}/${scope}/choices`;
84
87
  console.log(`Fetching choices from ${choicesUrl} ...`);
85
88
  try {
86
89
  const choicesResponse = await fetch(choicesUrl);
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,11 @@ export interface MeScopeClient extends ScopeClient {
37
37
  /** Get authenticated identity + Dataverse contact info */
38
38
  whoami(): Promise<WhoamiResponse>;
39
39
  }
40
+ /** SignalR negotiate response */
41
+ export interface NegotiateResponse {
42
+ url: string;
43
+ accessToken: string;
44
+ }
40
45
  /** Dataverse Contact API client */
41
46
  export interface DataverseClient {
42
47
  /** Operations on the authenticated user's own records */
@@ -49,6 +54,8 @@ export interface DataverseClient {
49
54
  choices(table: string, field?: string): Promise<FieldChoicesResponse | TableChoicesResponse>;
50
55
  /** Fetch table schema (single table or all tables) */
51
56
  schema(table?: string): Promise<TableSchema | TableSchema[]>;
57
+ /** Negotiate a SignalR connection token for real-time notifications */
58
+ negotiate(): Promise<NegotiateResponse>;
52
59
  }
53
60
  /** Create a configured API client instance */
54
61
  export declare function createClient(config: ClientConfig): DataverseClient;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACb,MAAM,YAAY,CAAC;AAGpB,0DAA0D;AAC1D,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;gBAEvB,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI;CAO1E;AA0ED,+CAA+C;AAC/C,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjC,gCAAgC;IAChC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,QAAQ,CAAC,GAChD,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9B,sBAAsB;IACtB,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9B,6FAA6F;IAC7F,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjC;;;;;OAKG;IACH,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;CAClC;AAgFD,qEAAqE;AACrE,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD;;;;;;OAMG;IACH,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9B,0DAA0D;IAC1D,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;CACnC;AAoBD,iCAAiC;AACjC,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,mCAAmC;AACnC,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,EAAE,EAAE,aAAa,CAAC;IAClB,iEAAiE;IACjE,IAAI,EAAE,WAAW,CAAC;IAClB,wCAAwC;IACxC,GAAG,EAAE,WAAW,CAAC;IAEjB,sEAAsE;IACtE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,oBAAoB,CAAC,CAAC;IAE7F,sDAAsD;IACtD,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,WAAW,EAAE,CAAC,CAAC;IAE7D,uEAAuE;IACvE,SAAS,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACzC;AAED,8CAA8C;AAC9C,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,eAAe,CA0BlE"}
@@ -1,3 +1,4 @@
1
+ import { quickDateToFilters } from "./quick-date.js";
1
2
  /** Error thrown when the API returns a non-OK response */
2
3
  export class ApiError extends Error {
3
4
  status;
@@ -11,6 +12,23 @@ export class ApiError extends Error {
11
12
  this.body = body;
12
13
  }
13
14
  }
15
+ /**
16
+ * Collect all filter strings, including any resolved from `created`/`modified`
17
+ * quick date shortcuts. Resolves client-side so the SDK works against any
18
+ * server version — no dependency on the server supporting these params.
19
+ */
20
+ function collectFilters(options) {
21
+ const filters = [];
22
+ if (options.filter) {
23
+ const raw = Array.isArray(options.filter) ? options.filter : [options.filter];
24
+ filters.push(...raw);
25
+ }
26
+ if (options.created)
27
+ filters.push(...quickDateToFilters("createdon", options.created));
28
+ if (options.modified)
29
+ filters.push(...quickDateToFilters("modifiedon", options.modified));
30
+ return filters;
31
+ }
14
32
  function buildQueryString(options) {
15
33
  const params = new URLSearchParams();
16
34
  if (options.select?.length)
@@ -28,14 +46,9 @@ function buildQueryString(options) {
28
46
  if (options.filterLogic && options.filterLogic !== "and") {
29
47
  params.set("filterLogic", options.filterLogic);
30
48
  }
31
- if (options.filter) {
32
- const filters = Array.isArray(options.filter)
33
- ? options.filter
34
- : [options.filter];
35
- for (const f of filters) {
36
- params.append("filter", f);
37
- }
38
- }
49
+ const filters = collectFilters(options);
50
+ for (const f of filters)
51
+ params.append("filter", f);
39
52
  const qs = params.toString();
40
53
  return qs ? `?${qs}` : "";
41
54
  }
@@ -43,7 +56,8 @@ async function request(config, method, path, body) {
43
56
  const token = await config.getToken();
44
57
  const base = config.baseUrl.replace(/\/+$/, "");
45
58
  const apiBase = config.apiBase ?? "/api/v2";
46
- const url = `${base}${apiBase}${path}`;
59
+ const scope = config.scope ?? "default";
60
+ const url = `${base}${apiBase}/${scope}${path}`;
47
61
  const headers = {
48
62
  Authorization: `Bearer ${token}`,
49
63
  };
@@ -71,20 +85,20 @@ function buildAggregateQueryString(options) {
71
85
  if (options.filterLogic && options.filterLogic !== "and") {
72
86
  params.set("filterLogic", options.filterLogic);
73
87
  }
74
- if (options.filter) {
75
- const filters = Array.isArray(options.filter)
76
- ? options.filter
77
- : [options.filter];
78
- for (const f of filters)
79
- params.append("filter", f);
80
- }
88
+ const filters = collectFilters(options);
89
+ for (const f of filters)
90
+ params.append("filter", f);
81
91
  const qs = params.toString();
82
92
  return qs ? `?${qs}` : "";
83
93
  }
84
94
  function createScopeClient(config, scope) {
85
95
  return {
86
96
  list(table, options = {}) {
87
- return request(config, "GET", `/${scope}/${table}${buildQueryString(options)}`);
97
+ const { subtype, ...queryOptions } = options;
98
+ const path = subtype
99
+ ? `/${scope}/${table}/${subtype}${buildQueryString(queryOptions)}`
100
+ : `/${scope}/${table}${buildQueryString(queryOptions)}`;
101
+ return request(config, "GET", path);
88
102
  },
89
103
  get(table, id, options = {}) {
90
104
  return request(config, "GET", `/${scope}/${table}/${id}${buildQueryString(options)}`);
@@ -132,6 +146,9 @@ export function createClient(config) {
132
146
  ? request(config, "GET", `/schema${qs}`)
133
147
  : request(config, "GET", `/schema${qs}`);
134
148
  },
149
+ negotiate() {
150
+ return request(config, "POST", "/negotiate");
151
+ },
135
152
  };
136
153
  }
137
154
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE5D,2EAA2E;AAC3E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,6DAA6D;AAC7D,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAED,8EAA8E;AAC9E,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;CAC5D;AAsHD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,EAAE,GAC5B,MAAM,CA0CR"}
1
+ {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE5D,2EAA2E;AAC3E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,6DAA6D;AAC7D,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAED,8EAA8E;AAC9E,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;CAC5D;AAsHD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,EAAE,GAC5B,MAAM,CA2CR"}
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  export { createClient, ApiError } from "./client.js";
2
- export type { DataverseClient, ScopeClient, MeScopeClient, } from "./client.js";
2
+ export type { DataverseClient, ScopeClient, MeScopeClient, NegotiateResponse, } from "./client.js";
3
3
  export type { ClientConfig, QueryOptions, LookupOptions, AggregateOptions, PaginatedResponse, SingleResponse, AggregateResponse, WhoamiResponse, TableSchema, SchemaField, ExpandSchema, Choice, FieldChoicesResponse, TableChoicesResponse, ApiErrorBody, } from "./types.js";
4
+ export { resolveQuickDate, quickDateToFilters } from "./quick-date.js";
5
+ export type { DateRange } from "./quick-date.js";
4
6
  export { generateTableTypes } from "./codegen.js";
5
7
  export type { SchemaTableInput, SchemaResponse, TableChoicesInput } from "./codegen.js";
8
+ export { useRealtime } from "./realtime.js";
9
+ export type { DataChangeEvent, RealtimeOptions, RealtimeState } from "./realtime.js";
6
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACrD,YAAY,EACV,eAAe,EACf,WAAW,EACX,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,WAAW,EACX,YAAY,EACZ,MAAM,EACN,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACrD,YAAY,EACV,eAAe,EACf,WAAW,EACX,aAAa,EACb,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,WAAW,EACX,YAAY,EACZ,MAAM,EACN,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACvE,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGxF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
package/sdk/dist/index.js CHANGED
@@ -1,4 +1,8 @@
1
1
  export { createClient, ApiError } from "./client.js";
2
+ // Quick date resolution — resolve "7d", "today", etc. into ISO 8601 bounds
3
+ export { resolveQuickDate, quickDateToFilters } from "./quick-date.js";
2
4
  // Codegen — generate TypeScript interfaces from a schema response
3
5
  export { generateTableTypes } from "./codegen.js";
6
+ // Real-time notifications via Azure SignalR (requires @microsoft/signalr peer dep)
7
+ export { useRealtime } from "./realtime.js";
4
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAwBrD,kEAAkE;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAyBrD,2EAA2E;AAC3E,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGvE,kEAAkE;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGlD,mFAAmF;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Quick date filter resolution — converts human-friendly shortcuts
3
+ * like "today", "7d", "thisweek" into ISO 8601 datetime bounds.
4
+ *
5
+ * Used internally by the SDK client and also exported for standalone use.
6
+ */
7
+ export interface DateRange {
8
+ /** Greater-than-or-equal bound (ISO 8601) */
9
+ ge?: string;
10
+ /** Less-than bound (ISO 8601) */
11
+ lt?: string;
12
+ }
13
+ /**
14
+ * Resolve a quick date shortcut into ISO 8601 datetime bounds.
15
+ *
16
+ * @param value - Shortcut string: "today", "7d", "2026-01-01..2026-02-01", etc.
17
+ * @param now - Reference time (defaults to current time)
18
+ * @returns Object with `ge` and/or `lt` ISO 8601 strings
19
+ * @throws Error if the value is not a recognised format
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * resolveQuickDate("7d") // → { ge: "2026-02-08T12:00:00.000Z" }
24
+ * resolveQuickDate("today") // → { ge: "2026-02-15T00:00:00.000Z", lt: "2026-02-16T00:00:00.000Z" }
25
+ * ```
26
+ */
27
+ export declare function resolveQuickDate(value: string, now?: Date): DateRange;
28
+ /**
29
+ * Convert a quick date shortcut into filter strings ready for the API.
30
+ *
31
+ * @param field - Dataverse field name (e.g. "createdon", "modifiedon")
32
+ * @param value - Shortcut string
33
+ * @returns Array of filter strings like ["createdon ge 2026-02-08T12:00:00.000Z"]
34
+ */
35
+ export declare function quickDateToFilters(field: string, value: string): string[];
36
+ //# sourceMappingURL=quick-date.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quick-date.d.ts","sourceRoot":"","sources":["../src/quick-date.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,SAAS;IACxB,6CAA6C;IAC7C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AA+CD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAa,GAAG,SAAS,CAqC3E;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAMzE"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Quick date filter resolution — converts human-friendly shortcuts
3
+ * like "today", "7d", "thisweek" into ISO 8601 datetime bounds.
4
+ *
5
+ * Used internally by the SDK client and also exported for standalone use.
6
+ */
7
+ function startOfDay(d) {
8
+ return new Date(Date.UTC(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate()));
9
+ }
10
+ const PERIODS = {
11
+ today: (now) => {
12
+ const s = startOfDay(now);
13
+ const e = new Date(s);
14
+ e.setUTCDate(e.getUTCDate() + 1);
15
+ return { ge: s.toISOString(), lt: e.toISOString() };
16
+ },
17
+ yesterday: (now) => {
18
+ const e = startOfDay(now);
19
+ const s = new Date(e);
20
+ s.setUTCDate(s.getUTCDate() - 1);
21
+ return { ge: s.toISOString(), lt: e.toISOString() };
22
+ },
23
+ thisweek: (now) => {
24
+ const s = startOfDay(now);
25
+ const day = s.getUTCDay() || 7;
26
+ s.setUTCDate(s.getUTCDate() - (day - 1));
27
+ return { ge: s.toISOString() };
28
+ },
29
+ lastweek: (now) => {
30
+ const mon = startOfDay(now);
31
+ const day = mon.getUTCDay() || 7;
32
+ mon.setUTCDate(mon.getUTCDate() - (day - 1));
33
+ const prev = new Date(mon);
34
+ prev.setUTCDate(prev.getUTCDate() - 7);
35
+ return { ge: prev.toISOString(), lt: mon.toISOString() };
36
+ },
37
+ thismonth: (now) => ({
38
+ ge: new Date(Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), 1)).toISOString(),
39
+ }),
40
+ lastmonth: (now) => ({
41
+ ge: new Date(Date.UTC(now.getUTCFullYear(), now.getUTCMonth() - 1, 1)).toISOString(),
42
+ lt: new Date(Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), 1)).toISOString(),
43
+ }),
44
+ thisyear: (now) => ({
45
+ ge: new Date(Date.UTC(now.getUTCFullYear(), 0, 1)).toISOString(),
46
+ }),
47
+ };
48
+ const RELATIVE_RE = /^(\d+)(h|d)$/;
49
+ const RANGE_RE = /^(\d{4}-\d{2}-\d{2})?\.\.(\d{4}-\d{2}-\d{2})?$/;
50
+ /**
51
+ * Resolve a quick date shortcut into ISO 8601 datetime bounds.
52
+ *
53
+ * @param value - Shortcut string: "today", "7d", "2026-01-01..2026-02-01", etc.
54
+ * @param now - Reference time (defaults to current time)
55
+ * @returns Object with `ge` and/or `lt` ISO 8601 strings
56
+ * @throws Error if the value is not a recognised format
57
+ *
58
+ * @example
59
+ * ```ts
60
+ * resolveQuickDate("7d") // → { ge: "2026-02-08T12:00:00.000Z" }
61
+ * resolveQuickDate("today") // → { ge: "2026-02-15T00:00:00.000Z", lt: "2026-02-16T00:00:00.000Z" }
62
+ * ```
63
+ */
64
+ export function resolveQuickDate(value, now = new Date()) {
65
+ const v = value.trim().toLowerCase();
66
+ const period = PERIODS[v];
67
+ if (period)
68
+ return period(now);
69
+ const rel = RELATIVE_RE.exec(v);
70
+ if (rel) {
71
+ const n = parseInt(rel[1], 10);
72
+ const from = new Date(now);
73
+ if (rel[2] === "h")
74
+ from.setUTCHours(from.getUTCHours() - n);
75
+ else
76
+ from.setUTCDate(from.getUTCDate() - n);
77
+ return { ge: from.toISOString() };
78
+ }
79
+ const range = RANGE_RE.exec(v);
80
+ if (range) {
81
+ const [, s, e] = range;
82
+ if (!s && !e)
83
+ throw new Error(`Invalid date range '${value}'`);
84
+ const result = {};
85
+ if (s) {
86
+ const d = new Date(s + "T00:00:00Z");
87
+ if (isNaN(d.getTime()))
88
+ throw new Error(`Invalid start date '${s}'`);
89
+ result.ge = d.toISOString();
90
+ }
91
+ if (e) {
92
+ const d = new Date(e + "T00:00:00Z");
93
+ if (isNaN(d.getTime()))
94
+ throw new Error(`Invalid end date '${e}'`);
95
+ d.setUTCDate(d.getUTCDate() + 1);
96
+ result.lt = d.toISOString();
97
+ }
98
+ return result;
99
+ }
100
+ throw new Error(`Unknown quick date value '${value}'. Use: today, yesterday, thisweek, lastweek, thismonth, lastmonth, thisyear, 1h, 24h, 7d, 30d, 90d, or YYYY-MM-DD..YYYY-MM-DD`);
101
+ }
102
+ /**
103
+ * Convert a quick date shortcut into filter strings ready for the API.
104
+ *
105
+ * @param field - Dataverse field name (e.g. "createdon", "modifiedon")
106
+ * @param value - Shortcut string
107
+ * @returns Array of filter strings like ["createdon ge 2026-02-08T12:00:00.000Z"]
108
+ */
109
+ export function quickDateToFilters(field, value) {
110
+ const { ge, lt } = resolveQuickDate(value);
111
+ const filters = [];
112
+ if (ge)
113
+ filters.push(`${field} ge ${ge}`);
114
+ if (lt)
115
+ filters.push(`${field} lt ${lt}`);
116
+ return filters;
117
+ }
118
+ //# sourceMappingURL=quick-date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quick-date.js","sourceRoot":"","sources":["../src/quick-date.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * React hook for real-time notifications via Azure SignalR Service.
3
+ *
4
+ * Connects to SignalR using the negotiate endpoint from the API,
5
+ * listens for data change events, and automatically invalidates
6
+ * TanStack React Query caches so the UI stays fresh.
7
+ *
8
+ * Requires peer dependencies: @microsoft/signalr, @tanstack/react-query, react
9
+ */
10
+ /** Event received when data changes on the server */
11
+ export interface DataChangeEvent {
12
+ table: string;
13
+ action: "created" | "updated" | "deleted";
14
+ recordId: string;
15
+ timestamp: string;
16
+ actor?: string;
17
+ }
18
+ /** Minimal subset of TanStack QueryClient we need (avoids hard dependency) */
19
+ interface QueryClientLike {
20
+ invalidateQueries(options: {
21
+ queryKey: readonly unknown[];
22
+ }): Promise<void>;
23
+ }
24
+ /** Options for the useRealtime hook */
25
+ export interface RealtimeOptions {
26
+ /** Function that returns a SignalR negotiate response (from client.negotiate()) */
27
+ negotiate: () => Promise<{
28
+ url: string;
29
+ accessToken: string;
30
+ }>;
31
+ /** TanStack React Query client — used to invalidate queries on data changes */
32
+ queryClient: QueryClientLike;
33
+ /**
34
+ * Map of table route names to arrays of query key prefixes to invalidate.
35
+ * Defaults cover common tables; extend or override for your app.
36
+ */
37
+ tableQueryKeys?: Record<string, readonly (readonly unknown[])[]>;
38
+ /** Optional callback invoked for every data change event */
39
+ onEvent?: (event: DataChangeEvent) => void;
40
+ /** Set to false to disable the connection (default: true) */
41
+ enabled?: boolean;
42
+ }
43
+ /** State returned by the useRealtime hook */
44
+ export interface RealtimeState {
45
+ /** Whether the SignalR connection is currently active */
46
+ connected: boolean;
47
+ /** Last connection error message, if any */
48
+ error: string | null;
49
+ }
50
+ /**
51
+ * React hook that connects to Azure SignalR and invalidates queries
52
+ * when data changes are broadcast by the API.
53
+ *
54
+ * @example
55
+ * ```tsx
56
+ * const realtime = useRealtime({
57
+ * negotiate: () => client.negotiate(),
58
+ * queryClient,
59
+ * });
60
+ * // realtime.connected — boolean
61
+ * // realtime.error — string | null
62
+ * ```
63
+ */
64
+ export declare function useRealtime(options: RealtimeOptions): RealtimeState;
65
+ export {};
66
+ //# sourceMappingURL=realtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,qDAAqD;AACrD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,8EAA8E;AAC9E,UAAU,eAAe;IACvB,iBAAiB,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7E;AAED,uCAAuC;AACvC,MAAM,WAAW,eAAe;IAC9B,mFAAmF;IACnF,SAAS,EAAE,MAAM,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/D,+EAA+E;IAC/E,WAAW,EAAE,eAAe,CAAC;IAC7B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACjE,4DAA4D;IAC5D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC3C,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,6CAA6C;AAC7C,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,SAAS,EAAE,OAAO,CAAC;IACnB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAaD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,aAAa,CA+GnE"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * React hook for real-time notifications via Azure SignalR Service.
3
+ *
4
+ * Connects to SignalR using the negotiate endpoint from the API,
5
+ * listens for data change events, and automatically invalidates
6
+ * TanStack React Query caches so the UI stays fresh.
7
+ *
8
+ * Requires peer dependencies: @microsoft/signalr, @tanstack/react-query, react
9
+ */
10
+ import { useState, useEffect, useRef } from "react";
11
+ /** Default mapping from table route names to React Query key prefixes */
12
+ const DEFAULT_TABLE_QUERY_KEYS = {
13
+ case: [["cases"], ["aggStats"]],
14
+ casenotes: [["caseNotes"]],
15
+ caseactivities: [["caseActivities"]],
16
+ caseemails: [["caseActivities"]],
17
+ casephonecalls: [["caseActivities"]],
18
+ casetasks: [["caseActivities"]],
19
+ caseappointments: [["caseActivities"]],
20
+ };
21
+ /**
22
+ * React hook that connects to Azure SignalR and invalidates queries
23
+ * when data changes are broadcast by the API.
24
+ *
25
+ * @example
26
+ * ```tsx
27
+ * const realtime = useRealtime({
28
+ * negotiate: () => client.negotiate(),
29
+ * queryClient,
30
+ * });
31
+ * // realtime.connected — boolean
32
+ * // realtime.error — string | null
33
+ * ```
34
+ */
35
+ export function useRealtime(options) {
36
+ const { negotiate, queryClient, tableQueryKeys, onEvent, enabled = true, } = options;
37
+ const [connected, setConnected] = useState(false);
38
+ const [error, setError] = useState(null);
39
+ // Use refs for callbacks to avoid reconnecting when they change
40
+ const onEventRef = useRef(onEvent);
41
+ onEventRef.current = onEvent;
42
+ const queryClientRef = useRef(queryClient);
43
+ queryClientRef.current = queryClient;
44
+ const tableQueryKeysRef = useRef(tableQueryKeys);
45
+ tableQueryKeysRef.current = tableQueryKeys;
46
+ useEffect(() => {
47
+ if (!enabled) {
48
+ setConnected(false);
49
+ setError(null);
50
+ return;
51
+ }
52
+ let stopped = false;
53
+ let connection = null;
54
+ async function connect() {
55
+ try {
56
+ // Dynamic import — @microsoft/signalr is a peer dependency
57
+ const signalR = await import("@microsoft/signalr");
58
+ if (stopped)
59
+ return;
60
+ const { url, accessToken } = await negotiate();
61
+ if (stopped)
62
+ return;
63
+ const conn = new signalR.HubConnectionBuilder()
64
+ .withUrl(url, {
65
+ accessTokenFactory: () => accessToken,
66
+ })
67
+ .withAutomaticReconnect([0, 2000, 5000, 10000, 30000])
68
+ .configureLogging(signalR.LogLevel.Warning)
69
+ .build();
70
+ conn.onreconnecting(() => {
71
+ if (!stopped)
72
+ setConnected(false);
73
+ });
74
+ conn.onreconnected(() => {
75
+ if (!stopped) {
76
+ setConnected(true);
77
+ setError(null);
78
+ }
79
+ });
80
+ conn.onclose((err) => {
81
+ if (!stopped) {
82
+ setConnected(false);
83
+ if (err)
84
+ setError(err.message);
85
+ }
86
+ });
87
+ conn.on("dataChanged", (event) => {
88
+ if (stopped)
89
+ return;
90
+ // Notify callback
91
+ onEventRef.current?.(event);
92
+ // Invalidate matching query keys
93
+ const mapping = tableQueryKeysRef.current ?? DEFAULT_TABLE_QUERY_KEYS;
94
+ const keys = mapping[event.table];
95
+ if (keys) {
96
+ for (const queryKey of keys) {
97
+ queryClientRef.current.invalidateQueries({ queryKey });
98
+ }
99
+ }
100
+ });
101
+ await conn.start();
102
+ connection = conn;
103
+ if (!stopped) {
104
+ setConnected(true);
105
+ setError(null);
106
+ }
107
+ else {
108
+ // Cleanup was called while connecting
109
+ conn.stop();
110
+ }
111
+ }
112
+ catch (err) {
113
+ if (!stopped) {
114
+ const message = err instanceof Error ? err.message : "Failed to connect to real-time notifications";
115
+ setError(message);
116
+ setConnected(false);
117
+ }
118
+ }
119
+ }
120
+ connect();
121
+ return () => {
122
+ stopped = true;
123
+ setConnected(false);
124
+ connection?.stop();
125
+ };
126
+ }, [negotiate, enabled]);
127
+ return { connected, error };
128
+ }
129
+ //# sourceMappingURL=realtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime.js","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ export interface ClientConfig {
6
6
  getToken: () => Promise<string>;
7
7
  /** API base path. Defaults to "/api/v2" */
8
8
  apiBase?: string;
9
+ /** API scope partition. Defaults to "default". */
10
+ scope?: string;
9
11
  }
10
12
  /** Query options for list endpoints */
11
13
  export interface QueryOptions {
@@ -23,6 +25,24 @@ export interface QueryOptions {
23
25
  filterLogic?: "and" | "or";
24
26
  /** Expand related lookup fields, e.g. "primarycontactid(contactid,fullname)" */
25
27
  expand?: string;
28
+ /**
29
+ * Activity subtype for polymorphic tables (e.g. caseactivities, contactactivities).
30
+ * Use "phonecall", "email", "task", "appointment", etc. to filter by type.
31
+ * Use "all" to list all types. Each record includes a `_link` field.
32
+ */
33
+ subtype?: string;
34
+ /**
35
+ * Quick filter on record creation date (createdon).
36
+ * Named periods: today, yesterday, thisweek, lastweek, thismonth, lastmonth, thisyear.
37
+ * Relative durations: 1h, 24h, 7d, 30d, 90d.
38
+ * Date ranges: "2026-01-01..2026-02-01", "2026-01-01..", "..2026-02-01".
39
+ */
40
+ created?: string;
41
+ /**
42
+ * Quick filter on record last-modified date (modifiedon).
43
+ * Same formats as `created`.
44
+ */
45
+ modified?: string;
26
46
  }
27
47
  /** Query options for lookup endpoints (summary data only — no sensitive fields) */
28
48
  export interface LookupOptions extends QueryOptions {
@@ -136,6 +156,10 @@ export interface AggregateOptions {
136
156
  filter?: string | string[];
137
157
  /** Logic to combine multiple filters: "and" (default) or "or" */
138
158
  filterLogic?: "and" | "or";
159
+ /** Quick filter on creation date (same formats as QueryOptions.created) */
160
+ created?: string;
161
+ /** Quick filter on last-modified date (same formats as QueryOptions.modified) */
162
+ modified?: string;
139
163
  }
140
164
  /** Non-paginated aggregate response */
141
165
  export interface AggregateResponse<T = Record<string, unknown>> {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}