@talqing/sdk 0.1.0 → 0.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 +2 -1
- package/dist/cjs/browser.d.ts.map +1 -0
- package/dist/cjs/browser.js +463 -0
- package/dist/cjs/browser.js.map +1 -0
- package/dist/{client.d.ts → cjs/client.d.ts} +3 -0
- package/dist/cjs/client.d.ts.map +1 -0
- package/dist/cjs/client.js +109 -0
- package/dist/cjs/client.js.map +1 -0
- package/dist/cjs/gen/apiVersion.d.ts.map +1 -0
- package/dist/cjs/gen/apiVersion.js +7 -0
- package/dist/cjs/gen/apiVersion.js.map +1 -0
- package/dist/cjs/gen/client/client.gen.d.ts.map +1 -0
- package/dist/cjs/gen/client/client.gen.js +221 -0
- package/dist/cjs/gen/client/client.gen.js.map +1 -0
- package/dist/cjs/gen/client/index.d.ts.map +1 -0
- package/dist/cjs/gen/client/index.js +18 -0
- package/dist/cjs/gen/client/index.js.map +1 -0
- package/dist/cjs/gen/client/types.gen.d.ts.map +1 -0
- package/dist/cjs/gen/client/types.gen.js +4 -0
- package/dist/cjs/gen/client/types.gen.js.map +1 -0
- package/dist/cjs/gen/client/utils.gen.d.ts.map +1 -0
- package/dist/cjs/gen/client/utils.gen.js +242 -0
- package/dist/cjs/gen/client/utils.gen.js.map +1 -0
- package/dist/cjs/gen/client.gen.d.ts.map +1 -0
- package/dist/cjs/gen/client.gen.js +7 -0
- package/dist/cjs/gen/client.gen.js.map +1 -0
- package/dist/cjs/gen/core/auth.gen.d.ts.map +1 -0
- package/dist/cjs/gen/core/auth.gen.js +19 -0
- package/dist/cjs/gen/core/auth.gen.js.map +1 -0
- package/dist/cjs/gen/core/bodySerializer.gen.d.ts.map +1 -0
- package/dist/cjs/gen/core/bodySerializer.gen.js +61 -0
- package/dist/cjs/gen/core/bodySerializer.gen.js.map +1 -0
- package/dist/cjs/gen/core/params.gen.d.ts.map +1 -0
- package/dist/cjs/gen/core/params.gen.js +113 -0
- package/dist/cjs/gen/core/params.gen.js.map +1 -0
- package/dist/cjs/gen/core/pathSerializer.gen.d.ts.map +1 -0
- package/dist/cjs/gen/core/pathSerializer.gen.js +116 -0
- package/dist/cjs/gen/core/pathSerializer.gen.js.map +1 -0
- package/dist/cjs/gen/core/queryKeySerializer.gen.d.ts.map +1 -0
- package/dist/cjs/gen/core/queryKeySerializer.gen.js +99 -0
- package/dist/cjs/gen/core/queryKeySerializer.gen.js.map +1 -0
- package/dist/cjs/gen/core/serverSentEvents.gen.d.ts.map +1 -0
- package/dist/cjs/gen/core/serverSentEvents.gen.js +136 -0
- package/dist/cjs/gen/core/serverSentEvents.gen.js.map +1 -0
- package/dist/cjs/gen/core/types.gen.d.ts.map +1 -0
- package/dist/cjs/gen/core/types.gen.js +4 -0
- package/dist/cjs/gen/core/types.gen.js.map +1 -0
- package/dist/cjs/gen/core/utils.gen.d.ts.map +1 -0
- package/dist/cjs/gen/core/utils.gen.js +94 -0
- package/dist/cjs/gen/core/utils.gen.js.map +1 -0
- package/dist/cjs/gen/index.d.ts.map +1 -0
- package/dist/cjs/gen/index.js +7 -0
- package/dist/cjs/gen/index.js.map +1 -0
- package/dist/cjs/gen/sdk.gen.d.ts.map +1 -0
- package/dist/cjs/gen/sdk.gen.js +4373 -0
- package/dist/cjs/gen/sdk.gen.js.map +1 -0
- package/dist/cjs/gen/types.gen.d.ts.map +1 -0
- package/dist/cjs/gen/types.gen.js +4 -0
- package/dist/cjs/gen/types.gen.js.map +1 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +27 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/vocabulary.d.ts.map +1 -0
- package/dist/cjs/vocabulary.js +13 -0
- package/dist/cjs/vocabulary.js.map +1 -0
- package/dist/esm/browser.d.ts +153 -0
- package/dist/esm/browser.d.ts.map +1 -0
- package/dist/esm/browser.js.map +1 -0
- package/dist/esm/client.d.ts +104 -0
- package/dist/esm/client.d.ts.map +1 -0
- package/dist/{client.js → esm/client.js} +16 -0
- package/dist/esm/client.js.map +1 -0
- package/dist/esm/gen/apiVersion.d.ts +3 -0
- package/dist/esm/gen/apiVersion.d.ts.map +1 -0
- package/dist/esm/gen/apiVersion.js.map +1 -0
- package/dist/esm/gen/client/client.gen.d.ts +3 -0
- package/dist/esm/gen/client/client.gen.d.ts.map +1 -0
- package/dist/esm/gen/client/client.gen.js.map +1 -0
- package/dist/esm/gen/client/index.d.ts +11 -0
- package/dist/esm/gen/client/index.d.ts.map +1 -0
- package/dist/esm/gen/client/index.js.map +1 -0
- package/dist/esm/gen/client/types.gen.d.ts +121 -0
- package/dist/esm/gen/client/types.gen.d.ts.map +1 -0
- package/dist/esm/gen/client/types.gen.js.map +1 -0
- package/dist/esm/gen/client/utils.gen.d.ts +38 -0
- package/dist/esm/gen/client/utils.gen.d.ts.map +1 -0
- package/dist/esm/gen/client/utils.gen.js.map +1 -0
- package/dist/esm/gen/client.gen.d.ts +13 -0
- package/dist/esm/gen/client.gen.d.ts.map +1 -0
- package/dist/esm/gen/client.gen.js.map +1 -0
- package/dist/esm/gen/core/auth.gen.d.ts +26 -0
- package/dist/esm/gen/core/auth.gen.d.ts.map +1 -0
- package/dist/esm/gen/core/auth.gen.js.map +1 -0
- package/dist/esm/gen/core/bodySerializer.gen.d.ts +26 -0
- package/dist/esm/gen/core/bodySerializer.gen.d.ts.map +1 -0
- package/dist/esm/gen/core/bodySerializer.gen.js.map +1 -0
- package/dist/esm/gen/core/params.gen.d.ts +44 -0
- package/dist/esm/gen/core/params.gen.d.ts.map +1 -0
- package/dist/esm/gen/core/params.gen.js.map +1 -0
- package/dist/esm/gen/core/pathSerializer.gen.d.ts +34 -0
- package/dist/esm/gen/core/pathSerializer.gen.d.ts.map +1 -0
- package/dist/esm/gen/core/pathSerializer.gen.js.map +1 -0
- package/dist/esm/gen/core/queryKeySerializer.gen.d.ts +19 -0
- package/dist/esm/gen/core/queryKeySerializer.gen.d.ts.map +1 -0
- package/dist/esm/gen/core/queryKeySerializer.gen.js.map +1 -0
- package/dist/esm/gen/core/serverSentEvents.gen.d.ts +72 -0
- package/dist/esm/gen/core/serverSentEvents.gen.d.ts.map +1 -0
- package/dist/esm/gen/core/serverSentEvents.gen.js.map +1 -0
- package/dist/esm/gen/core/types.gen.d.ts +84 -0
- package/dist/esm/gen/core/types.gen.d.ts.map +1 -0
- package/dist/esm/gen/core/types.gen.js.map +1 -0
- package/dist/esm/gen/core/utils.gen.d.ts +20 -0
- package/dist/esm/gen/core/utils.gen.d.ts.map +1 -0
- package/dist/esm/gen/core/utils.gen.js.map +1 -0
- package/dist/esm/gen/index.d.ts +3 -0
- package/dist/esm/gen/index.d.ts.map +1 -0
- package/dist/esm/gen/index.js.map +1 -0
- package/dist/esm/gen/sdk.gen.d.ts +2330 -0
- package/dist/esm/gen/sdk.gen.d.ts.map +1 -0
- package/dist/esm/gen/sdk.gen.js.map +1 -0
- package/dist/esm/gen/types.gen.d.ts +17288 -0
- package/dist/esm/gen/types.gen.d.ts.map +1 -0
- package/dist/esm/gen/types.gen.js.map +1 -0
- package/dist/esm/index.d.ts +6 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/vocabulary.d.ts +67 -0
- package/dist/esm/vocabulary.d.ts.map +1 -0
- package/dist/esm/vocabulary.js.map +1 -0
- package/package.json +32 -11
- package/src/client.ts +17 -0
- package/dist/browser.d.ts.map +0 -1
- package/dist/browser.js.map +0 -1
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js.map +0 -1
- package/dist/gen/apiVersion.d.ts.map +0 -1
- package/dist/gen/apiVersion.js.map +0 -1
- package/dist/gen/client/client.gen.d.ts.map +0 -1
- package/dist/gen/client/client.gen.js.map +0 -1
- package/dist/gen/client/index.d.ts.map +0 -1
- package/dist/gen/client/index.js.map +0 -1
- package/dist/gen/client/types.gen.d.ts.map +0 -1
- package/dist/gen/client/types.gen.js.map +0 -1
- package/dist/gen/client/utils.gen.d.ts.map +0 -1
- package/dist/gen/client/utils.gen.js.map +0 -1
- package/dist/gen/client.gen.d.ts.map +0 -1
- package/dist/gen/client.gen.js.map +0 -1
- package/dist/gen/core/auth.gen.d.ts.map +0 -1
- package/dist/gen/core/auth.gen.js.map +0 -1
- package/dist/gen/core/bodySerializer.gen.d.ts.map +0 -1
- package/dist/gen/core/bodySerializer.gen.js.map +0 -1
- package/dist/gen/core/params.gen.d.ts.map +0 -1
- package/dist/gen/core/params.gen.js.map +0 -1
- package/dist/gen/core/pathSerializer.gen.d.ts.map +0 -1
- package/dist/gen/core/pathSerializer.gen.js.map +0 -1
- package/dist/gen/core/queryKeySerializer.gen.d.ts.map +0 -1
- package/dist/gen/core/queryKeySerializer.gen.js.map +0 -1
- package/dist/gen/core/serverSentEvents.gen.d.ts.map +0 -1
- package/dist/gen/core/serverSentEvents.gen.js.map +0 -1
- package/dist/gen/core/types.gen.d.ts.map +0 -1
- package/dist/gen/core/types.gen.js.map +0 -1
- package/dist/gen/core/utils.gen.d.ts.map +0 -1
- package/dist/gen/core/utils.gen.js.map +0 -1
- package/dist/gen/index.d.ts.map +0 -1
- package/dist/gen/index.js.map +0 -1
- package/dist/gen/sdk.gen.d.ts.map +0 -1
- package/dist/gen/sdk.gen.js.map +0 -1
- package/dist/gen/types.gen.d.ts.map +0 -1
- package/dist/gen/types.gen.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/vocabulary.d.ts.map +0 -1
- package/dist/vocabulary.js.map +0 -1
- /package/dist/{browser.d.ts → cjs/browser.d.ts} +0 -0
- /package/dist/{gen → cjs/gen}/apiVersion.d.ts +0 -0
- /package/dist/{gen → cjs/gen}/client/client.gen.d.ts +0 -0
- /package/dist/{gen → cjs/gen}/client/index.d.ts +0 -0
- /package/dist/{gen → cjs/gen}/client/types.gen.d.ts +0 -0
- /package/dist/{gen → cjs/gen}/client/utils.gen.d.ts +0 -0
- /package/dist/{gen → cjs/gen}/client.gen.d.ts +0 -0
- /package/dist/{gen → cjs/gen}/core/auth.gen.d.ts +0 -0
- /package/dist/{gen → cjs/gen}/core/bodySerializer.gen.d.ts +0 -0
- /package/dist/{gen → cjs/gen}/core/params.gen.d.ts +0 -0
- /package/dist/{gen → cjs/gen}/core/pathSerializer.gen.d.ts +0 -0
- /package/dist/{gen → cjs/gen}/core/queryKeySerializer.gen.d.ts +0 -0
- /package/dist/{gen → cjs/gen}/core/serverSentEvents.gen.d.ts +0 -0
- /package/dist/{gen → cjs/gen}/core/types.gen.d.ts +0 -0
- /package/dist/{gen → cjs/gen}/core/utils.gen.d.ts +0 -0
- /package/dist/{gen → cjs/gen}/index.d.ts +0 -0
- /package/dist/{gen → cjs/gen}/sdk.gen.d.ts +0 -0
- /package/dist/{gen → cjs/gen}/types.gen.d.ts +0 -0
- /package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
- /package/dist/{vocabulary.d.ts → cjs/vocabulary.d.ts} +0 -0
- /package/dist/{browser.js → esm/browser.js} +0 -0
- /package/dist/{gen → esm/gen}/apiVersion.js +0 -0
- /package/dist/{gen → esm/gen}/client/client.gen.js +0 -0
- /package/dist/{gen → esm/gen}/client/index.js +0 -0
- /package/dist/{gen → esm/gen}/client/types.gen.js +0 -0
- /package/dist/{gen → esm/gen}/client/utils.gen.js +0 -0
- /package/dist/{gen → esm/gen}/client.gen.js +0 -0
- /package/dist/{gen → esm/gen}/core/auth.gen.js +0 -0
- /package/dist/{gen → esm/gen}/core/bodySerializer.gen.js +0 -0
- /package/dist/{gen → esm/gen}/core/params.gen.js +0 -0
- /package/dist/{gen → esm/gen}/core/pathSerializer.gen.js +0 -0
- /package/dist/{gen → esm/gen}/core/queryKeySerializer.gen.js +0 -0
- /package/dist/{gen → esm/gen}/core/serverSentEvents.gen.js +0 -0
- /package/dist/{gen → esm/gen}/core/types.gen.js +0 -0
- /package/dist/{gen → esm/gen}/core/utils.gen.js +0 -0
- /package/dist/{gen → esm/gen}/index.js +0 -0
- /package/dist/{gen → esm/gen}/sdk.gen.js +0 -0
- /package/dist/{gen → esm/gen}/types.gen.js +0 -0
- /package/dist/{index.js → esm/index.js} +0 -0
- /package/dist/{vocabulary.js → esm/vocabulary.js} +0 -0
package/README.md
CHANGED
|
@@ -15,7 +15,8 @@ Two entrypoints:
|
|
|
15
15
|
npm install @talqing/sdk
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
-
Node 20 or newer.
|
|
18
|
+
Node 20 or newer. Both entrypoints ship ESM and CommonJS, so `import` and
|
|
19
|
+
`require` both work. `react` and `react-dom` are peer dependencies of the
|
|
19
20
|
`/browser` entrypoint only — a server-side consumer never installs them.
|
|
20
21
|
|
|
21
22
|
## Authentication
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/browser.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4D,MAAM,OAAO,CAAC;AACjF,OAAO,EAEL,IAAI,EAMJ,KAAK,WAAW,EAGjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAYL,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,EACV,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE1E;4CAC4C;AAC5C,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AAEhE,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACvD;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,iBAAiB,GAAG,CAC9B,IAAI,EAAE,oBAAoB,KACvB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC9B,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAEnE,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;gBAEX,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAMzD;AAED,MAAM,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAC9C,MAAM,MAAM,cAAc,GAAG,eAAe,CAAC;AAC7C,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAElD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,OAAO,GAAE,kBAAuB,EAChC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,+CAuCtD;AAOD,eAAO,MAAM,8BAA8B;;;;CAIjC,CAAC;AAEX,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,OAAO,EACP,WAAW,EACX,WAAW,EACX,cAAc,GACf,EAAE,4BAA4B,GAAG,cAAc,CAW/C;AAED,wBAAgB,sBAAsB,CAAC,EACrC,OAAO,EACP,QAAQ,EACR,KAAY,GACb,EAAE;IACD,OAAO,EAAE,cAAc,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,qBAOA;AAED,wBAAgB,oBAAoB;;;;;;EASnC;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,UAAU,EACjB,eAAe,SAAI,GAClB,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAY1C;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,IAAI,EACV,IAAI,CAAC,EAAE,MAAM,EAAE,EACf,eAAe,SAAI,GAClB,OAAO,CAAC,UAAU,CAAC,CAgBrB;AAED,wBAAgB,kBAAkB;iBAIf,MAAM,EAAE,oBAAoB,MAAM;iBAIlC,UAAU,oBAAoB,MAAM;YA5CtC,OAAO;gBAAU,MAAM;;EAmDvC;AAeD,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AACpD;2EAC2E;AAC3E,eAAO,MAAM,uBAAuB,QAAmB,CAAC;AACxD;;gEAEgE;AAChE,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAO9C,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE3E,MAAM,WAAW,gBAAgB;IAC/B,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb;0CACsC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;wBAGwB;AACxB,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAM/D;AAED;;;;gCAIgC;AAChC,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBrE;AAED;;;;6EAI6E;AAC7E,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAUrE;AAED;;;;;;;;8EAQ8E;AAC9E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS;iBA0C7C,IAAI,KAAG,OAAO,CAAC,gBAAgB,CAAC;;;EAqDhD;AAED,wBAAgB,eAAe;;;EAM9B;AAED,wBAAgB,kBAAkB;;;;EAOjC;AAiCD,eAAO,MAAM,4BAA4B,EAAE,yBAG1C,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,mBAG1C,CAAC;AAEF,wBAAgB,qBAAqB;IAQ/B,kDAAkD;;IAElD,wEAAwE;;IAExE,4EAA4E;;IAE5E,8EAA8E;;EAKnF;AAED,wBAAgB,qBAAqB,IAAI,oBAAoB,GAAG,SAAS,CAgCxE;AAED,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,SAAS,GACV,EAAE;IACD,KAAK,EAAE,oBAAoB,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,qBASA;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,UAAO,QA+Cf;AAED,wBAAgB,sBAAsB,CAAC,OAAO,UAAO;;kBAEtB,SAAS;YAAM,MAAM;;;EA+BnD;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,QAUtD"}
|
|
@@ -0,0 +1,463 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.TALQING_SCREEN_SHARE_PUBLISH = exports.TALQING_SCREEN_SHARE_CAPTURE = exports.TALQING_IMAGE_MAX_EDGE_PX = exports.TALQING_IMAGE_MAX_BYTES = exports.TALQING_IMAGE_TOPIC = exports.TALQING_AUDIO_CAPTURE_DEFAULTS = exports.TalqingRpcError = void 0;
|
|
5
|
+
exports.createTalqingTokenSource = createTalqingTokenSource;
|
|
6
|
+
exports.useTalqingSession = useTalqingSession;
|
|
7
|
+
exports.TalqingSessionProvider = TalqingSessionProvider;
|
|
8
|
+
exports.useTalqingConnection = useTalqingConnection;
|
|
9
|
+
exports.setTalqingUserdata = setTalqingUserdata;
|
|
10
|
+
exports.getTalqingUserdata = getTalqingUserdata;
|
|
11
|
+
exports.useTalqingUserdata = useTalqingUserdata;
|
|
12
|
+
exports.talqingImageRejection = talqingImageRejection;
|
|
13
|
+
exports.talqingDownscaleImage = talqingDownscaleImage;
|
|
14
|
+
exports.talqingImageDataUrl = talqingImageDataUrl;
|
|
15
|
+
exports.useTalqingImages = useTalqingImages;
|
|
16
|
+
exports.useTalqingAgent = useTalqingAgent;
|
|
17
|
+
exports.useTalqingMessages = useTalqingMessages;
|
|
18
|
+
exports.useTalqingScreenShare = useTalqingScreenShare;
|
|
19
|
+
exports.useTalqingAvatarTrack = useTalqingAvatarTrack;
|
|
20
|
+
exports.TalqingVideoTrack = TalqingVideoTrack;
|
|
21
|
+
exports.useTalqingRpcHandlers = useTalqingRpcHandlers;
|
|
22
|
+
exports.useTalqingFrontendRpcs = useTalqingFrontendRpcs;
|
|
23
|
+
exports.setTalqingBrowserLogLevel = setTalqingBrowserLogLevel;
|
|
24
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
25
|
+
const react_1 = require("react");
|
|
26
|
+
const livekit_client_1 = require("livekit-client");
|
|
27
|
+
const components_react_1 = require("@livekit/components-react");
|
|
28
|
+
class TalqingRpcError extends Error {
|
|
29
|
+
constructor(code, message, data) {
|
|
30
|
+
super(message);
|
|
31
|
+
this.name = "TalqingRpcError";
|
|
32
|
+
this.code = code;
|
|
33
|
+
this.data = data;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.TalqingRpcError = TalqingRpcError;
|
|
37
|
+
function createTalqingTokenSource(client, agentId, options = {}, onTokenDetails) {
|
|
38
|
+
// Carry the contact across reconnects. POST /v1/calls/token mints a key when
|
|
39
|
+
// none is supplied, so re-running this without pinning it would file every
|
|
40
|
+
// reconnect as a different person.
|
|
41
|
+
let resolvedContactKey = options.contact_key ?? null;
|
|
42
|
+
// `useSession` fetches a token twice off one click — once to warm the
|
|
43
|
+
// connection, once to connect. Unserialised they race: both go out before
|
|
44
|
+
// either resolves, so neither carries a key, the API mints one per request,
|
|
45
|
+
// and a single call is filed against two different contacts. Concurrent
|
|
46
|
+
// callers share one request.
|
|
47
|
+
//
|
|
48
|
+
// This coalesces, it does not cache: the promise is dropped once it settles,
|
|
49
|
+
// so every later connect still mints a fresh token. That matters — a token
|
|
50
|
+
// bakes in {agent version, room}, so a reused one silently runs a stale
|
|
51
|
+
// version after a republish, and reconnects into a dead room.
|
|
52
|
+
let inFlight = null;
|
|
53
|
+
return livekit_client_1.TokenSource.literal(async () => {
|
|
54
|
+
if (inFlight)
|
|
55
|
+
return inFlight;
|
|
56
|
+
const request = (async () => {
|
|
57
|
+
const details = await client.calls.token({
|
|
58
|
+
tokenRequest: { ...options, agent_id: agentId, contact_key: resolvedContactKey },
|
|
59
|
+
});
|
|
60
|
+
resolvedContactKey = details.contact_key;
|
|
61
|
+
onTokenDetails?.(details);
|
|
62
|
+
return {
|
|
63
|
+
serverUrl: details.server_url,
|
|
64
|
+
participantToken: details.participant_token,
|
|
65
|
+
};
|
|
66
|
+
})();
|
|
67
|
+
inFlight = request;
|
|
68
|
+
try {
|
|
69
|
+
return await request;
|
|
70
|
+
}
|
|
71
|
+
finally {
|
|
72
|
+
inFlight = null;
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
/* Echo cancellation is what stops the agent hearing its own speech through the
|
|
77
|
+
* caller's microphone and interrupting itself. It is a default rather than
|
|
78
|
+
* something each app remembers, because a call without it is broken in a way
|
|
79
|
+
* that sounds like a bad model. Pass `roomOptions.audioCaptureDefaults` to
|
|
80
|
+
* override. */
|
|
81
|
+
exports.TALQING_AUDIO_CAPTURE_DEFAULTS = {
|
|
82
|
+
echoCancellation: true,
|
|
83
|
+
noiseSuppression: true,
|
|
84
|
+
autoGainControl: true,
|
|
85
|
+
};
|
|
86
|
+
function useTalqingSession({ client, agentId, roomOptions, callOptions, onTokenDetails, }) {
|
|
87
|
+
const tokenSource = (0, react_1.useMemo)(() => createTalqingTokenSource(client, agentId, callOptions, onTokenDetails), [client, agentId, callOptions, onTokenDetails]);
|
|
88
|
+
const room = (0, react_1.useMemo)(() => new livekit_client_1.Room({ audioCaptureDefaults: exports.TALQING_AUDIO_CAPTURE_DEFAULTS, ...roomOptions }), [roomOptions]);
|
|
89
|
+
return (0, components_react_1.useSession)(tokenSource, { room });
|
|
90
|
+
}
|
|
91
|
+
function TalqingSessionProvider({ session, children, audio = true, }) {
|
|
92
|
+
return ((0, jsx_runtime_1.jsxs)(components_react_1.SessionProvider, { session: session, children: [children, audio ? (0, jsx_runtime_1.jsx)(components_react_1.RoomAudioRenderer, {}) : null] }));
|
|
93
|
+
}
|
|
94
|
+
function useTalqingConnection() {
|
|
95
|
+
const ctx = (0, components_react_1.useSessionContext)();
|
|
96
|
+
return {
|
|
97
|
+
isConnected: ctx.isConnected,
|
|
98
|
+
connectionState: ctx.connectionState,
|
|
99
|
+
room: ctx.room,
|
|
100
|
+
start: ctx.start,
|
|
101
|
+
end: ctx.end,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
async function setTalqingUserdata(room, patch, responseTimeout = 3) {
|
|
105
|
+
const agent = [...room.remoteParticipants.values()].find((participant) => participant.kind === livekit_client_1.ParticipantKind.AGENT);
|
|
106
|
+
if (!agent)
|
|
107
|
+
return { ok: false, error: "agent participant is not connected" };
|
|
108
|
+
const response = await room.localParticipant.performRpc({
|
|
109
|
+
destinationIdentity: agent.identity,
|
|
110
|
+
method: "talqing.client.userdata_set",
|
|
111
|
+
payload: JSON.stringify(patch),
|
|
112
|
+
responseTimeout,
|
|
113
|
+
});
|
|
114
|
+
return JSON.parse(response || "{}");
|
|
115
|
+
}
|
|
116
|
+
async function getTalqingUserdata(room, keys, responseTimeout = 3) {
|
|
117
|
+
const agent = [...room.remoteParticipants.values()].find((participant) => participant.kind === livekit_client_1.ParticipantKind.AGENT);
|
|
118
|
+
if (!agent)
|
|
119
|
+
throw new Error("agent participant is not connected");
|
|
120
|
+
const response = await room.localParticipant.performRpc({
|
|
121
|
+
destinationIdentity: agent.identity,
|
|
122
|
+
method: "talqing.client.userdata_get",
|
|
123
|
+
payload: JSON.stringify(keys ? { keys } : {}),
|
|
124
|
+
responseTimeout,
|
|
125
|
+
});
|
|
126
|
+
const parsed = JSON.parse(response || "{}");
|
|
127
|
+
if (parsed.ok === false) {
|
|
128
|
+
throw new Error(String(parsed.error || "userdata RPC failed"));
|
|
129
|
+
}
|
|
130
|
+
return parsed;
|
|
131
|
+
}
|
|
132
|
+
function useTalqingUserdata() {
|
|
133
|
+
const { room } = useTalqingConnection();
|
|
134
|
+
return (0, react_1.useMemo)(() => ({
|
|
135
|
+
get: (keys, responseTimeout) => {
|
|
136
|
+
if (!room)
|
|
137
|
+
throw new Error("room is not connected");
|
|
138
|
+
return getTalqingUserdata(room, keys, responseTimeout);
|
|
139
|
+
},
|
|
140
|
+
set: (patch, responseTimeout) => {
|
|
141
|
+
if (!room)
|
|
142
|
+
throw new Error("room is not connected");
|
|
143
|
+
return setTalqingUserdata(room, patch, responseTimeout);
|
|
144
|
+
},
|
|
145
|
+
}), [room]);
|
|
146
|
+
}
|
|
147
|
+
/* ── images ───────────────────────────────────────────────────────────────
|
|
148
|
+
*
|
|
149
|
+
* A caller attaches a photo on a web voice or video call and the agent sees
|
|
150
|
+
* it. The bytes go over a LiveKit byte stream on the `talqing.images` topic,
|
|
151
|
+
* addressed to the agent; the agent answers on an RPC back, and the id
|
|
152
|
+
* `sendFile` returns is the id that ack carries, so there is nothing to
|
|
153
|
+
* correlate by hand.
|
|
154
|
+
*
|
|
155
|
+
* The agent deliberately does NOT speak when a photo lands — the caller is
|
|
156
|
+
* mid-conversation and about to say what it is for. The image is in the
|
|
157
|
+
* model's view for their next turn.
|
|
158
|
+
*/
|
|
159
|
+
exports.TALQING_IMAGE_TOPIC = "talqing.images";
|
|
160
|
+
/** Decoded size the server refuses above. The downscale below keeps a phone
|
|
161
|
+
* photo far under it; this is the belt for a file that is not a photo. */
|
|
162
|
+
exports.TALQING_IMAGE_MAX_BYTES = 10 * 1024 * 1024;
|
|
163
|
+
/** Longest side the server stores. Downscaling to it before sending is a
|
|
164
|
+
* courtesy to the data channel, which is ordered and reliable and will
|
|
165
|
+
* happily spend a minute pushing 10 MB past a call's audio. */
|
|
166
|
+
exports.TALQING_IMAGE_MAX_EDGE_PX = 1568;
|
|
167
|
+
const TALQING_IMAGE_TYPES = ["image/jpeg", "image/png", "image/webp"];
|
|
168
|
+
/** How long to wait for the agent's ack before saying we do not know. Without
|
|
169
|
+
* it a thumbnail sits on "sending" for the rest of the call when the worker
|
|
170
|
+
* dies mid-upload. */
|
|
171
|
+
const TALQING_IMAGE_ACK_TIMEOUT_MS = 30000;
|
|
172
|
+
/** Refuse what the browser can see is wrong, instantly and with no round trip.
|
|
173
|
+
* Returns the sentence to show, or null when the file is fine. The server
|
|
174
|
+
* re-validates everything regardless — this exists so the common mistakes cost
|
|
175
|
+
* nothing to catch. */
|
|
176
|
+
function talqingImageRejection(file) {
|
|
177
|
+
if (!TALQING_IMAGE_TYPES.includes(file.type)) {
|
|
178
|
+
return "that file is not a JPEG, PNG or WebP";
|
|
179
|
+
}
|
|
180
|
+
if (file.size > exports.TALQING_IMAGE_MAX_BYTES)
|
|
181
|
+
return "images are 10 MB or smaller";
|
|
182
|
+
return null;
|
|
183
|
+
}
|
|
184
|
+
/** Downscale to the longest edge the server keeps, re-encoding as JPEG or PNG.
|
|
185
|
+
*
|
|
186
|
+
* Also what normalizes whatever the OS handed the file input — this is how a
|
|
187
|
+
* Safari HEIC becomes a JPEG. Throws if the image cannot be decoded, which is
|
|
188
|
+
* the third dropzone check. */
|
|
189
|
+
async function talqingDownscaleImage(file) {
|
|
190
|
+
const bitmap = await createImageBitmap(file);
|
|
191
|
+
try {
|
|
192
|
+
const longest = Math.max(bitmap.width, bitmap.height);
|
|
193
|
+
const scale = longest > exports.TALQING_IMAGE_MAX_EDGE_PX ? exports.TALQING_IMAGE_MAX_EDGE_PX / longest : 1;
|
|
194
|
+
const canvas = document.createElement("canvas");
|
|
195
|
+
canvas.width = Math.max(1, Math.round(bitmap.width * scale));
|
|
196
|
+
canvas.height = Math.max(1, Math.round(bitmap.height * scale));
|
|
197
|
+
const context = canvas.getContext("2d");
|
|
198
|
+
if (!context)
|
|
199
|
+
throw new Error("this browser cannot resize images");
|
|
200
|
+
context.drawImage(bitmap, 0, 0, canvas.width, canvas.height);
|
|
201
|
+
// PNG keeps transparency; everything else becomes a JPEG, including the
|
|
202
|
+
// HEIC the OS decoded for us.
|
|
203
|
+
const type = file.type === "image/png" ? "image/png" : "image/jpeg";
|
|
204
|
+
const blob = await new Promise((resolve) => canvas.toBlob(resolve, type, 0.85));
|
|
205
|
+
if (!blob)
|
|
206
|
+
throw new Error("that image could not be read");
|
|
207
|
+
return blob;
|
|
208
|
+
}
|
|
209
|
+
finally {
|
|
210
|
+
bitmap.close();
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
/** Validate and downscale a file into the `data:` URL a text message carries.
|
|
214
|
+
*
|
|
215
|
+
* `createTextMessage` takes `images: [{data_url, filename}]`; this produces the
|
|
216
|
+
* `data_url`. It doubles as the thumbnail's `src`, so there is no object URL to
|
|
217
|
+
* create and revoke. Throws the sentence to show if the file is refused. */
|
|
218
|
+
async function talqingImageDataUrl(file) {
|
|
219
|
+
const rejection = talqingImageRejection(file);
|
|
220
|
+
if (rejection)
|
|
221
|
+
throw new Error(rejection);
|
|
222
|
+
const blob = await talqingDownscaleImage(file);
|
|
223
|
+
return await new Promise((resolve, reject) => {
|
|
224
|
+
const reader = new FileReader();
|
|
225
|
+
reader.onerror = () => reject(new Error("that image could not be read"));
|
|
226
|
+
reader.onload = () => resolve(String(reader.result));
|
|
227
|
+
reader.readAsDataURL(blob);
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
/** Send images to the agent on this call, and follow what became of each.
|
|
231
|
+
*
|
|
232
|
+
* `send` resolves once the bytes are on their way; the outcome arrives on the
|
|
233
|
+
* returned list, which is what a thumbnail should render.
|
|
234
|
+
*
|
|
235
|
+
* Takes the `Room` rather than reading it from the session context: a byte
|
|
236
|
+
* stream and an RPC handler are room-level things, and passing the room keeps
|
|
237
|
+
* this usable from a surface that manages its own connection —
|
|
238
|
+
* `useTalqingConnection().room` inside a provider, or the Room you built. */
|
|
239
|
+
function useTalqingImages(room) {
|
|
240
|
+
const [sent, setSent] = (0, react_1.useState)([]);
|
|
241
|
+
const timers = (0, react_1.useRef)(new Map());
|
|
242
|
+
const settle = (0, react_1.useCallback)((streamId, patch) => {
|
|
243
|
+
const timer = timers.current.get(streamId);
|
|
244
|
+
if (timer) {
|
|
245
|
+
clearTimeout(timer);
|
|
246
|
+
timers.current.delete(streamId);
|
|
247
|
+
}
|
|
248
|
+
setSent((images) => images.map((image) => (image.streamId === streamId ? { ...image, ...patch } : image)));
|
|
249
|
+
}, []);
|
|
250
|
+
(0, react_1.useEffect)(() => {
|
|
251
|
+
if (!room)
|
|
252
|
+
return;
|
|
253
|
+
room.registerRpcMethod("talqing.image_result", async (data) => {
|
|
254
|
+
const { stream_id, ok, error } = JSON.parse(data.payload || "{}");
|
|
255
|
+
settle(stream_id, {
|
|
256
|
+
status: ok ? "sent" : "failed",
|
|
257
|
+
error: ok ? undefined : error || "that image was not accepted",
|
|
258
|
+
});
|
|
259
|
+
return "{}";
|
|
260
|
+
});
|
|
261
|
+
return () => room.unregisterRpcMethod("talqing.image_result");
|
|
262
|
+
}, [room, settle]);
|
|
263
|
+
const pending = timers.current;
|
|
264
|
+
(0, react_1.useEffect)(() => () => {
|
|
265
|
+
pending.forEach(clearTimeout);
|
|
266
|
+
pending.clear();
|
|
267
|
+
}, [pending]);
|
|
268
|
+
const send = (0, react_1.useCallback)(async (file) => {
|
|
269
|
+
if (!room)
|
|
270
|
+
throw new Error("the call is not connected");
|
|
271
|
+
const agent = [...room.remoteParticipants.values()].find((participant) => participant.kind === livekit_client_1.ParticipantKind.AGENT);
|
|
272
|
+
if (!agent)
|
|
273
|
+
throw new Error("agent participant is not connected");
|
|
274
|
+
const rejection = talqingImageRejection(file);
|
|
275
|
+
if (rejection)
|
|
276
|
+
throw new Error(rejection);
|
|
277
|
+
const blob = await talqingDownscaleImage(file);
|
|
278
|
+
// Addressed to the agent, never broadcast: on video the avatar worker is
|
|
279
|
+
// a participant too, and a broadcast sends the bytes twice.
|
|
280
|
+
const { id } = await room.localParticipant.sendFile(new File([blob], file.name, { type: blob.type }), {
|
|
281
|
+
topic: exports.TALQING_IMAGE_TOPIC,
|
|
282
|
+
mimeType: blob.type,
|
|
283
|
+
destinationIdentities: [agent.identity],
|
|
284
|
+
});
|
|
285
|
+
const image = {
|
|
286
|
+
streamId: id,
|
|
287
|
+
name: file.name,
|
|
288
|
+
previewUrl: URL.createObjectURL(blob),
|
|
289
|
+
status: "sending",
|
|
290
|
+
};
|
|
291
|
+
setSent((images) => [...images, image]);
|
|
292
|
+
timers.current.set(id, setTimeout(() => settle(id, {
|
|
293
|
+
status: "unknown",
|
|
294
|
+
// Four states, not two: the one people forget is the agent going
|
|
295
|
+
// away mid-upload, where no ack is ever coming.
|
|
296
|
+
error: "we did not hear back — the agent may not have received it",
|
|
297
|
+
}), TALQING_IMAGE_ACK_TIMEOUT_MS));
|
|
298
|
+
return image;
|
|
299
|
+
}, [room, settle]);
|
|
300
|
+
const clear = (0, react_1.useCallback)(() => {
|
|
301
|
+
setSent((images) => {
|
|
302
|
+
images.forEach((image) => URL.revokeObjectURL(image.previewUrl));
|
|
303
|
+
return [];
|
|
304
|
+
});
|
|
305
|
+
}, []);
|
|
306
|
+
return { send, sent, clear };
|
|
307
|
+
}
|
|
308
|
+
function useTalqingAgent() {
|
|
309
|
+
const agent = (0, components_react_1.useAgent)();
|
|
310
|
+
return {
|
|
311
|
+
state: agent.state,
|
|
312
|
+
isFinished: agent.isFinished,
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
function useTalqingMessages() {
|
|
316
|
+
const messages = (0, components_react_1.useSessionMessages)();
|
|
317
|
+
return {
|
|
318
|
+
messages: messages.messages,
|
|
319
|
+
send: messages.send,
|
|
320
|
+
isSending: messages.isSending,
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
/* Screen share, with the four settings that decide whether the agent can read
|
|
324
|
+
* what is on it.
|
|
325
|
+
*
|
|
326
|
+
* Only the first is obvious, and every one of them is upstream of anything we
|
|
327
|
+
* could do on our side:
|
|
328
|
+
*
|
|
329
|
+
* - `contentHint: "text"` tells the encoder to preserve spatial detail. The
|
|
330
|
+
* default for a screen share on an SVC codec is `motion`, which trades
|
|
331
|
+
* exactly that away — the wrong trade for reading code, and no JPEG quality
|
|
332
|
+
* setting downstream recovers it.
|
|
333
|
+
* - `videoCodec: "h264"` is what keeps that hint. `livekit-client` forces
|
|
334
|
+
* `contentHint = "motion"` on screen shares published as vp9 or av1,
|
|
335
|
+
* together with `scalabilityMode: "L1T3"`. **Publishing on an SVC codec will
|
|
336
|
+
* cost you legibility**, and it is the first thing to check if the agent
|
|
337
|
+
* starts misreading identifiers.
|
|
338
|
+
* - `screenShareEncoding.maxFramerate: 1` is the frame-rate cap that actually
|
|
339
|
+
* binds. `resolution.frameRate` reaches `getDisplayMedia` as a bare number,
|
|
340
|
+
* which WebRTC reads as `ideal` — a wish, not a limit. The default publish
|
|
341
|
+
* ceiling is 15 fps, and every delivered frame is copied into the agent's
|
|
342
|
+
* process before it can be dropped, so this is the single biggest lever on
|
|
343
|
+
* what a call costs the worker. One frame a second is ample: the agent is
|
|
344
|
+
* handed the newest frame at the end of each turn, and turns are seconds
|
|
345
|
+
* apart.
|
|
346
|
+
* - `resolution` is set explicitly rather than inherited. The default is 1080p
|
|
347
|
+
* by `ideal`, which is a strong hint and not a guarantee.
|
|
348
|
+
*
|
|
349
|
+
* The picker cannot be opened for the person — `getDisplayMedia` requires a
|
|
350
|
+
* transient user activation — so `start()` must be called from a click. The
|
|
351
|
+
* agent asking out loud is what prompts it; there is no version of this where
|
|
352
|
+
* the agent turns sharing on.
|
|
353
|
+
*/
|
|
354
|
+
exports.TALQING_SCREEN_SHARE_CAPTURE = {
|
|
355
|
+
resolution: { width: 1920, height: 1080, frameRate: 1 },
|
|
356
|
+
contentHint: "text",
|
|
357
|
+
};
|
|
358
|
+
exports.TALQING_SCREEN_SHARE_PUBLISH = {
|
|
359
|
+
videoCodec: "h264",
|
|
360
|
+
screenShareEncoding: { maxBitrate: 1000000, maxFramerate: 1 },
|
|
361
|
+
};
|
|
362
|
+
function useTalqingScreenShare() {
|
|
363
|
+
const { toggle, enabled, pending } = (0, components_react_1.useTrackToggle)({
|
|
364
|
+
source: livekit_client_1.Track.Source.ScreenShare,
|
|
365
|
+
captureOptions: exports.TALQING_SCREEN_SHARE_CAPTURE,
|
|
366
|
+
publishOptions: exports.TALQING_SCREEN_SHARE_PUBLISH,
|
|
367
|
+
});
|
|
368
|
+
return (0, react_1.useMemo)(() => ({
|
|
369
|
+
/** Whether a screen is being shared right now. */
|
|
370
|
+
enabled,
|
|
371
|
+
/** True while the browser picker is open or the track is publishing. */
|
|
372
|
+
pending,
|
|
373
|
+
/** Opens the browser's share picker. Must be called from a user gesture. */
|
|
374
|
+
start: () => toggle(true),
|
|
375
|
+
/** Stops sharing. The agent is told it can no longer see on the next turn. */
|
|
376
|
+
stop: () => toggle(false),
|
|
377
|
+
}), [enabled, pending, toggle]);
|
|
378
|
+
}
|
|
379
|
+
function useTalqingAvatarTrack() {
|
|
380
|
+
const { agent } = (0, components_react_1.useVoiceAssistant)();
|
|
381
|
+
const remoteParticipants = (0, components_react_1.useRemoteParticipants)();
|
|
382
|
+
const worker = remoteParticipants.find((participant) => participant.kind === livekit_client_1.ParticipantKind.AGENT &&
|
|
383
|
+
participant.attributes["lk.publish_on_behalf"] === agent?.identity);
|
|
384
|
+
const agentTracks = (0, components_react_1.useParticipantTracks)([livekit_client_1.Track.Source.Camera, livekit_client_1.Track.Source.ScreenShare], agent?.identity);
|
|
385
|
+
const workerTracks = (0, components_react_1.useParticipantTracks)([livekit_client_1.Track.Source.Camera, livekit_client_1.Track.Source.ScreenShare], worker?.identity);
|
|
386
|
+
return (workerTracks.find((track) => track.source === livekit_client_1.Track.Source.Camera) ??
|
|
387
|
+
workerTracks.find((track) => track.source === livekit_client_1.Track.Source.ScreenShare) ??
|
|
388
|
+
agentTracks.find((track) => track.source === livekit_client_1.Track.Source.Camera) ??
|
|
389
|
+
agentTracks.find((track) => track.source === livekit_client_1.Track.Source.ScreenShare));
|
|
390
|
+
}
|
|
391
|
+
function TalqingVideoTrack({ track, className, }) {
|
|
392
|
+
return ((0, jsx_runtime_1.jsx)(components_react_1.VideoTrack, { trackRef: track, width: track.publication.dimensions?.width ?? 0, height: track.publication.dimensions?.height ?? 0, className: className }));
|
|
393
|
+
}
|
|
394
|
+
function useTalqingRpcHandlers(handlers, enabled = true) {
|
|
395
|
+
const { room, isConnected } = useTalqingConnection();
|
|
396
|
+
(0, react_1.useEffect)(() => {
|
|
397
|
+
if (!enabled || !room || !isConnected)
|
|
398
|
+
return;
|
|
399
|
+
room.registerRpcMethod("talqing.frontend_rpc", async (data) => {
|
|
400
|
+
try {
|
|
401
|
+
const envelope = JSON.parse(data.payload || "{}");
|
|
402
|
+
const isWildcard = handlers[envelope.method] === undefined;
|
|
403
|
+
const handler = handlers[envelope.method] ?? handlers["*"];
|
|
404
|
+
if (!handler) {
|
|
405
|
+
throw new TalqingRpcError(1404, `No frontend RPC handler registered for ${envelope.method}`);
|
|
406
|
+
}
|
|
407
|
+
return await handler({
|
|
408
|
+
payload: isWildcard
|
|
409
|
+
? JSON.stringify(envelope)
|
|
410
|
+
: envelope.payload === undefined
|
|
411
|
+
? "{}"
|
|
412
|
+
: JSON.stringify(envelope.payload),
|
|
413
|
+
responseTimeout: data.responseTimeout,
|
|
414
|
+
callerIdentity: data.callerIdentity,
|
|
415
|
+
});
|
|
416
|
+
}
|
|
417
|
+
catch (error) {
|
|
418
|
+
if (error instanceof TalqingRpcError) {
|
|
419
|
+
throw new livekit_client_1.RpcError(error.code, error.message, error.data);
|
|
420
|
+
}
|
|
421
|
+
throw new livekit_client_1.RpcError(1500, error instanceof Error ? error.message : "RPC handler failed");
|
|
422
|
+
}
|
|
423
|
+
});
|
|
424
|
+
return () => {
|
|
425
|
+
room.unregisterRpcMethod("talqing.frontend_rpc");
|
|
426
|
+
};
|
|
427
|
+
}, [enabled, handlers, isConnected, room]);
|
|
428
|
+
}
|
|
429
|
+
function useTalqingFrontendRpcs(enabled = true) {
|
|
430
|
+
const [actions, setActions] = (0, react_1.useState)({});
|
|
431
|
+
const handlers = (0, react_1.useMemo)(() => ({
|
|
432
|
+
"*": async (data) => {
|
|
433
|
+
const payload = JSON.parse(data.payload || "{}");
|
|
434
|
+
const method = String(payload.method || "");
|
|
435
|
+
if (method) {
|
|
436
|
+
setActions((current) => ({
|
|
437
|
+
...current,
|
|
438
|
+
[method]: {
|
|
439
|
+
payload: payload.payload,
|
|
440
|
+
at: Date.now(),
|
|
441
|
+
},
|
|
442
|
+
}));
|
|
443
|
+
}
|
|
444
|
+
return "ok";
|
|
445
|
+
},
|
|
446
|
+
}), []);
|
|
447
|
+
useTalqingRpcHandlers(handlers, enabled);
|
|
448
|
+
return {
|
|
449
|
+
actions,
|
|
450
|
+
clear: () => setActions({}),
|
|
451
|
+
};
|
|
452
|
+
}
|
|
453
|
+
function setTalqingBrowserLogLevel(level) {
|
|
454
|
+
const levels = {
|
|
455
|
+
debug: livekit_client_1.LogLevel.debug,
|
|
456
|
+
info: livekit_client_1.LogLevel.info,
|
|
457
|
+
warn: livekit_client_1.LogLevel.warn,
|
|
458
|
+
error: livekit_client_1.LogLevel.error,
|
|
459
|
+
silent: livekit_client_1.LogLevel.silent,
|
|
460
|
+
};
|
|
461
|
+
(0, livekit_client_1.setLogLevel)(levels[level]);
|
|
462
|
+
}
|
|
463
|
+
//# sourceMappingURL=browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/browser.tsx"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,7 @@ export interface Page<T> {
|
|
|
43
43
|
type Throwing<T> = {
|
|
44
44
|
[K in keyof T]: T[K] extends (...args: infer A) => Promise<infer R> ? (...args: A) => Promise<Exclude<R, undefined>> : Throwing<T[K]>;
|
|
45
45
|
};
|
|
46
|
+
declare const TALQING_API_ERROR: unique symbol;
|
|
46
47
|
/** Every error this API returns, in the one shape it returns them in. */
|
|
47
48
|
export declare class TalqingApiError extends Error {
|
|
48
49
|
readonly name = "TalqingApiError";
|
|
@@ -50,6 +51,8 @@ export declare class TalqingApiError extends Error {
|
|
|
50
51
|
/** Per-field problems, when the failure had more than one. Always present. */
|
|
51
52
|
readonly errors: string[];
|
|
52
53
|
readonly response: Response;
|
|
54
|
+
readonly [TALQING_API_ERROR] = true;
|
|
55
|
+
static [Symbol.hasInstance](value: unknown): value is TalqingApiError;
|
|
53
56
|
constructor(body: ErrorResponse, response: Response);
|
|
54
57
|
}
|
|
55
58
|
export interface TalqingClientOptions {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/** The hand-written half of the SDK: everything the OpenAPI document cannot say.
|
|
3
|
+
*
|
|
4
|
+
* The API surface itself is generated into `./gen` from `openapi/openapi.json`
|
|
5
|
+
* and is never edited here. What is left is the client object that carries
|
|
6
|
+
* credentials, the error type, the two browser-redirect URLs that are
|
|
7
|
+
* deliberately absent from the document, and a pagination helper.
|
|
8
|
+
*/
|
|
9
|
+
var _a;
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.TalqingClient = exports.TalqingApiError = void 0;
|
|
12
|
+
exports.paginate = paginate;
|
|
13
|
+
const index_js_1 = require("./gen/index.js");
|
|
14
|
+
const index_js_2 = require("./gen/client/index.js");
|
|
15
|
+
/* This package publishes an ESM build and a CommonJS build, and an application
|
|
16
|
+
* whose dependency graph reaches both gets two distinct copies of the class
|
|
17
|
+
* below. `instanceof` compares class identity, so an error thrown by one copy
|
|
18
|
+
* would fall straight through `catch (e) { if (e instanceof TalqingApiError) }`
|
|
19
|
+
* against the other — the exact pattern the README tells callers to write, and a
|
|
20
|
+
* silent one, because the error just keeps propagating.
|
|
21
|
+
*
|
|
22
|
+
* A key from the global symbol registry is the one thing both copies agree on.
|
|
23
|
+
* `Symbol.hasInstance` below makes `instanceof` ask for the brand instead of the
|
|
24
|
+
* prototype, so the check holds no matter which copy raised it. */
|
|
25
|
+
const TALQING_API_ERROR = Symbol.for("talqing.TalqingApiError");
|
|
26
|
+
/** Every error this API returns, in the one shape it returns them in. */
|
|
27
|
+
class TalqingApiError extends Error {
|
|
28
|
+
static [(_a = TALQING_API_ERROR, Symbol.hasInstance)](value) {
|
|
29
|
+
return typeof value === "object" && value !== null && TALQING_API_ERROR in value;
|
|
30
|
+
}
|
|
31
|
+
constructor(body, response) {
|
|
32
|
+
super(body.detail.message);
|
|
33
|
+
this.name = "TalqingApiError";
|
|
34
|
+
this[_a] = true;
|
|
35
|
+
this.status = response.status;
|
|
36
|
+
this.errors = body.detail.errors;
|
|
37
|
+
this.response = response;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.TalqingApiError = TalqingApiError;
|
|
41
|
+
class TalqingClientImpl extends index_js_1.TalqingApi {
|
|
42
|
+
constructor(options) {
|
|
43
|
+
// Types do not reach a JavaScript caller, or a value that is `string` but empty.
|
|
44
|
+
if (!options?.baseUrl?.trim()) {
|
|
45
|
+
throw new Error("TalqingClient requires a baseUrl (e.g. https://api.in.talqing.com)");
|
|
46
|
+
}
|
|
47
|
+
const baseUrl = options.baseUrl.replace(/\/+$/, "");
|
|
48
|
+
const http = (0, index_js_2.createClient)((0, index_js_2.createConfig)({
|
|
49
|
+
baseUrl,
|
|
50
|
+
throwOnError: true,
|
|
51
|
+
responseStyle: "data",
|
|
52
|
+
credentials: options.credentials,
|
|
53
|
+
headers: options.headers,
|
|
54
|
+
...(options.fetch ? { fetch: options.fetch } : {}),
|
|
55
|
+
...(options.token ? { auth: () => resolveToken(options.token) } : {}),
|
|
56
|
+
}));
|
|
57
|
+
// The transport throws the parsed error body — a plain object with no
|
|
58
|
+
// status and no stack. Replacing it here is what makes `catch (e)` see a
|
|
59
|
+
// real Error everywhere, including inside the generated methods.
|
|
60
|
+
http.interceptors.error.use((error, response) => {
|
|
61
|
+
// No response means the request never completed — a DNS failure, an
|
|
62
|
+
// abort, an offline tab. There is no status to carry, so the transport's
|
|
63
|
+
// own error is already the truthful one.
|
|
64
|
+
if (!response)
|
|
65
|
+
return error;
|
|
66
|
+
const failure = new TalqingApiError(error, response);
|
|
67
|
+
if (failure.status === 401)
|
|
68
|
+
options.onUnauthorized?.(failure);
|
|
69
|
+
return failure;
|
|
70
|
+
});
|
|
71
|
+
super({ client: http });
|
|
72
|
+
this.baseUrl = baseUrl;
|
|
73
|
+
this.http = http;
|
|
74
|
+
}
|
|
75
|
+
googleLoginUrl() {
|
|
76
|
+
return `${this.baseUrl}/v1/auth/google/start`;
|
|
77
|
+
}
|
|
78
|
+
oauthStartUrl(provider, integrationId) {
|
|
79
|
+
const url = new URL(`${this.baseUrl}/v1/integrations/oauth/${encodeURIComponent(provider)}/start`);
|
|
80
|
+
if (integrationId)
|
|
81
|
+
url.searchParams.set("integration_id", integrationId);
|
|
82
|
+
return url.toString();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/* `Throwing` is a type-level narrowing of the same object — the runtime value
|
|
86
|
+
* is the generated class, unchanged — so the constructor is re-typed rather
|
|
87
|
+
* than the 155 methods being re-declared. */
|
|
88
|
+
exports.TalqingClient = TalqingClientImpl;
|
|
89
|
+
async function resolveToken(token) {
|
|
90
|
+
const value = typeof token === "function" ? await token() : token;
|
|
91
|
+
return value ?? undefined;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Walk every page of a list endpoint.
|
|
95
|
+
*
|
|
96
|
+
* for await (const agent of paginate((q) => talqing.agents.list(q))) { … }
|
|
97
|
+
*
|
|
98
|
+
* Replaces the one-off `listAllAgents` the previous client carried: the page
|
|
99
|
+
* shape is the same on all 28 list endpoints, so the helper is too.
|
|
100
|
+
*/
|
|
101
|
+
async function* paginate(page, { limit = 200 } = {}) {
|
|
102
|
+
for (let offset = 0;; offset += limit) {
|
|
103
|
+
const result = await page({ limit, offset });
|
|
104
|
+
yield* result.items;
|
|
105
|
+
if (!result.has_more)
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;AA8LH,4BASC;AArMD,6CAA4C;AAC5C,oDAAmE;AAmDnE;;;;;;;;;mEASmE;AACnE,MAAM,iBAAiB,GAAkB,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAE/E,yEAAyE;AACzE,MAAa,eAAgB,SAAQ,KAAK;IAQxC,MAAM,CAAC,OAFG,iBAAiB,EAEnB,MAAM,CAAC,WAAW,EAAC,CAAC,KAAc;QACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,iBAAiB,IAAI,KAAK,CAAC;IACnF,CAAC;IAED,YAAY,IAAmB,EAAE,QAAkB;QACjD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAZpB,SAAI,GAAG,iBAAiB,CAAC;QAKzB,QAAmB,GAAG,IAAI,CAAC;QAQlC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAlBD,0CAkBC;AAkCD,MAAM,iBAAkB,SAAQ,qBAAU;IAIxC,YAAY,OAA6B;QACvC,iFAAiF;QACjF,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,IAAA,uBAAY,EACvB,IAAA,uBAAY,EAAC;YACX,OAAO;YACP,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,MAAM;YACrB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtE,CAAC,CACH,CAAC;QAEF,sEAAsE;QACtE,yEAAyE;QACzE,iEAAiE;QACjE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC9C,oEAAoE;YACpE,yEAAyE;YACzE,yCAAyC;YACzC,IAAI,CAAC,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC5B,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,KAAsB,EAAE,QAAQ,CAAC,CAAC;YACtE,IAAI,OAAO,CAAC,MAAM,KAAK,GAAG;gBAAE,OAAO,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAC;YAC9D,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,cAAc;QACZ,OAAO,GAAG,IAAI,CAAC,OAAO,uBAAuB,CAAC;IAChD,CAAC;IAED,aAAa,CAAC,QAAgB,EAAE,aAAsB;QACpD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,0BAA0B,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnG,IAAI,aAAa;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;QACzE,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;CACF;AAED;;6CAE6C;AAChC,QAAA,aAAa,GAAG,iBAEX,CAAC;AAEnB,KAAK,UAAU,YAAY,CAAC,KAAgC;IAC1D,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAClE,OAAO,KAAK,IAAI,SAAS,CAAC;AAC5B,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,SAAS,CAAC,CAAC,QAAQ,CAC7B,IAAoE,EACpE,EAAE,KAAK,GAAG,GAAG,KAAyB,EAAE;IAExC,KAAK,IAAI,MAAM,GAAG,CAAC,GAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7C,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,OAAO;IAC/B,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apiVersion.d.ts","sourceRoot":"","sources":["../../../src/gen/apiVersion.ts"],"names":[],"mappings":"AAEA,+DAA+D;AAC/D,eAAO,MAAM,WAAW,UAAU,CAAC"}
|