@dataverse-kit/agent-kit 0.2.0 → 0.3.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 CHANGED
@@ -5,8 +5,10 @@ hostable in a custom page, a static web app, or a PCF control.
5
5
 
6
6
  > The kit is feature-complete for the four surface families — **grounding**, **action/approval
7
7
  > cards**, the **Teams-like shell** and **agent ops** (availability, agent picker, run history,
8
- > traces, usage) — over the base **conversation surface**. What remains is host proof and
9
- > retiring one of the existing chat implementations.
8
+ > traces, usage) — over the base **conversation surface**. Host proof is done: measured on a live
9
+ > Dynamics form, 20 mount/unmount cycles left the platform's tabster 8.2.0 untouched
10
+ > (`spikes/agent-kit-host-proof` in the workspace repo). `apps/foundry-manager` runs on the kit and
11
+ > its two hand-rolled chat components are deleted.
10
12
 
11
13
  ```bash
12
14
  npm install @dataverse-kit/agent-kit @fluentui/react-components @fluentui/react-icons
@@ -58,6 +60,44 @@ Swap `MockAgentService` for your own `IAgentService` and nothing else changes.
58
60
  `./core` and `./services` are framework-agnostic *by gate*, not by convention, so a transport
59
61
  adapter can share them with an Azure Function, a web worker or a Node broker.
60
62
 
63
+ ### ★ Your tsconfig must resolve `exports` — or three of these four subpaths do not exist
64
+
65
+ Those subpaths are published **only** through the package's `exports` map. TypeScript's classic
66
+ `moduleResolution: "node"` (Node10) ignores `exports` entirely and can resolve a subpath only if it
67
+ happens to be a real directory on disk — which these are not. Under it you get:
68
+
69
+ ```
70
+ TS2307: Cannot find module '@dataverse-kit/agent-kit/host' or its corresponding type declarations.
71
+ ```
72
+
73
+ ```jsonc
74
+ {
75
+ "compilerOptions": {
76
+ "moduleResolution": "bundler", // or "node16" / "nodenext"
77
+ "module": "esnext" // "bundler" requires an esnext-style module setting
78
+ }
79
+ }
80
+ ```
81
+
82
+ ★★ **This bites PCF controls specifically, and it is not a mistake in your code.**
83
+ `pcf-scripts/tsconfig_base.json` ships `moduleResolution: "node"`, so a control scaffolded with
84
+ `pac pcf init` fails on the import above until you override it. MEASURED on a fresh scaffold,
85
+ 2026-09-25. The shipped gallery controls already carry the same pair.
86
+ ★ And put any explanatory comment key at the **top level** of `tsconfig.json`, never inside
87
+ `compilerOptions` — there it is `TS5023: Unknown compiler option`, and `pcf-scripts` reports that
88
+ failure **while exiting 0**.
89
+
90
+ ★★★ **`pac pcf push` cannot deploy a control that uses this kit.** It always builds **Debug** (there
91
+ is no build-mode flag) — measured **9,975,780 bytes** against **772,001** for the same control in
92
+ production — and Dataverse rejects it with *"Webresource content size is too big"*. Use the Release
93
+ solution path instead:
94
+
95
+ ```bash
96
+ npm run build -- --buildMode production
97
+ cd solution && dotnet build -c Release # ~203 KB solution.zip
98
+ pac solution import --path bin/Release/solution.zip --publish-changes
99
+ ```
100
+
61
101
  ## The seam
62
102
 
63
103
  The kit ships **no real transport**. It defines one interface and one fake: