@katkode/pointiv-extension-sdk 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.
Files changed (51) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +57 -0
  3. package/dist/ai.d.ts +4 -0
  4. package/dist/ai.d.ts.map +1 -0
  5. package/dist/ai.js +7 -0
  6. package/dist/ai.js.map +1 -0
  7. package/dist/clipboard.d.ts +4 -0
  8. package/dist/clipboard.d.ts.map +1 -0
  9. package/dist/clipboard.js +7 -0
  10. package/dist/clipboard.js.map +1 -0
  11. package/dist/google-calendar.d.ts +5 -0
  12. package/dist/google-calendar.d.ts.map +1 -0
  13. package/dist/google-calendar.js +51 -0
  14. package/dist/google-calendar.js.map +1 -0
  15. package/dist/google-gmail.d.ts +4 -0
  16. package/dist/google-gmail.d.ts.map +1 -0
  17. package/dist/google-gmail.js +12 -0
  18. package/dist/google-gmail.js.map +1 -0
  19. package/dist/host-calls.d.ts +11 -0
  20. package/dist/host-calls.d.ts.map +1 -0
  21. package/dist/host-calls.js +38 -0
  22. package/dist/host-calls.js.map +1 -0
  23. package/dist/http.d.ts +7 -0
  24. package/dist/http.d.ts.map +1 -0
  25. package/dist/http.js +25 -0
  26. package/dist/http.js.map +1 -0
  27. package/dist/index.d.ts +11 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +10 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/log.d.ts +6 -0
  32. package/dist/log.d.ts.map +1 -0
  33. package/dist/log.js +10 -0
  34. package/dist/log.js.map +1 -0
  35. package/dist/output.d.ts +8 -0
  36. package/dist/output.d.ts.map +1 -0
  37. package/dist/output.js +18 -0
  38. package/dist/output.js.map +1 -0
  39. package/dist/runtime.d.ts +4 -0
  40. package/dist/runtime.d.ts.map +1 -0
  41. package/dist/runtime.js +7 -0
  42. package/dist/runtime.js.map +1 -0
  43. package/dist/storage.d.ts +9 -0
  44. package/dist/storage.d.ts.map +1 -0
  45. package/dist/storage.js +36 -0
  46. package/dist/storage.js.map +1 -0
  47. package/dist/types.d.ts +21 -0
  48. package/dist/types.d.ts.map +1 -0
  49. package/dist/types.js +2 -0
  50. package/dist/types.js.map +1 -0
  51. package/package.json +33 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Katkode
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,57 @@
1
+ # @katkode/pointiv-extension-sdk
2
+
3
+ TypeScript SDK for [Pointiv](https://pointiv.katkode.com) WASM extensions.
4
+
5
+ Compiles to `extension.wasm` with [extism-js](https://github.com/extism/js-pdk).
6
+
7
+ ## Install
8
+
9
+ ```sh
10
+ npm install @katkode/pointiv-extension-sdk @extism/js-pdk
11
+ npm install -D esbuild
12
+ ```
13
+
14
+ Install the `extism-js` CLI and Binaryen before building WASM.
15
+
16
+ ## Setup
17
+
18
+ ```ts
19
+ import {
20
+ Output,
21
+ readInput,
22
+ writeOutput,
23
+ storage,
24
+ type Input,
25
+ } from "@katkode/pointiv-extension-sdk";
26
+
27
+ export function execute() {
28
+ const input = readInput();
29
+ const count = Number.parseInt(storage.read("run_count") ?? "0", 10) + 1;
30
+ storage.write("run_count", String(count));
31
+ writeOutput(Output.text(`Hello, ${input.text || "World"}! Run #${count}`));
32
+ }
33
+ ```
34
+
35
+ Bundle to CJS (`es2020`), then:
36
+
37
+ ```sh
38
+ extism-js dist/index.js -i src/index.d.ts -o extension.wasm
39
+ ```
40
+
41
+ Set `runtime: "wasm"` and `main: "extension.wasm"` in `pointiv-extension.json`.
42
+
43
+ ## APIs
44
+
45
+ | Module | Permission | What it does |
46
+ |--------|------------|--------------|
47
+ | `storage` | `storage` | Per-extension key/value store |
48
+ | `clipboard` | `clipboard_read` | Read clipboard |
49
+ | `ai` | `ai` | LLM completion |
50
+ | `http` | `network` | Outbound HTTP |
51
+ | `googleCalendar` | `google_calendar` | Create Calendar events |
52
+ | `googleGmail` | `google_gmail` | Send Gmail |
53
+ | `log` | none | Log to Pointiv trace |
54
+
55
+ ## License
56
+
57
+ MIT
package/dist/ai.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export declare const ai: {
2
+ complete(prompt: string): string;
3
+ };
4
+ //# sourceMappingURL=ai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,EAAE;qBACI,MAAM,GAAG,MAAM;CAGjC,CAAC"}
package/dist/ai.js ADDED
@@ -0,0 +1,7 @@
1
+ import { pointivAiComplete } from "./host-calls.js";
2
+ export const ai = {
3
+ complete(prompt) {
4
+ return pointivAiComplete(prompt);
5
+ },
6
+ };
7
+ //# sourceMappingURL=ai.js.map
package/dist/ai.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.js","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,CAAC,MAAM,EAAE,GAAG;IAChB,QAAQ,CAAC,MAAc;QACrB,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;CACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const clipboard: {
2
+ read(): string;
3
+ };
4
+ //# sourceMappingURL=clipboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../src/clipboard.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;YACZ,MAAM;CAGf,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { pointivClipboardRead } from "./host-calls.js";
2
+ export const clipboard = {
3
+ read() {
4
+ return pointivClipboardRead();
5
+ },
6
+ };
7
+ //# sourceMappingURL=clipboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../src/clipboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI;QACF,OAAO,oBAAoB,EAAE,CAAC;IAChC,CAAC;CACF,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const googleCalendar: {
2
+ schedule(title: string, date: string, startTime?: string, endTime?: string, description?: string): Record<string, unknown>;
3
+ createEventRaw(payload: Record<string, unknown>): Record<string, unknown>;
4
+ };
5
+ //# sourceMappingURL=google-calendar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-calendar.d.ts","sourceRoot":"","sources":["../src/google-calendar.ts"],"names":[],"mappings":"AA4BA,eAAO,MAAM,cAAc;oBAEhB,MAAM,QACP,MAAM,cACA,MAAM,YACR,MAAM,gBACF,MAAM,GACnB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;4BAgBF,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAQ1E,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { pointivGoogleCalendarCreate } from "./host-calls.js";
2
+ function nextDay(date) {
3
+ const parts = date.split("-").map((p) => Number.parseInt(p, 10));
4
+ if (parts.length !== 3 || parts.some((n) => Number.isNaN(n)))
5
+ return date;
6
+ const [y, m, d] = parts;
7
+ const daysInMonth = m === 2
8
+ ? y % 4 === 0 && (y % 100 !== 0 || y % 400 === 0)
9
+ ? 29
10
+ : 28
11
+ : [4, 6, 9, 11].includes(m)
12
+ ? 30
13
+ : 31;
14
+ if (d < daysInMonth) {
15
+ return `${String(y).padStart(4, "0")}-${String(m).padStart(2, "0")}-${String(d + 1).padStart(2, "0")}`;
16
+ }
17
+ if (m < 12)
18
+ return `${String(y).padStart(4, "0")}-${String(m + 1).padStart(2, "0")}-01`;
19
+ return `${String(y + 1).padStart(4, "0")}-01-01`;
20
+ }
21
+ function addOneHour(hm) {
22
+ const [hRaw, mRaw] = hm.split(":");
23
+ const h = Number.parseInt(hRaw ?? "0", 10);
24
+ const m = Number.parseInt(mRaw ?? "0", 10);
25
+ return `${String((h + 1) % 24).padStart(2, "0")}:${String(m).padStart(2, "0")}`;
26
+ }
27
+ export const googleCalendar = {
28
+ schedule(title, date, startTime, endTime, description) {
29
+ const start = startTime
30
+ ? { dateTime: `${date}T${startTime}:00`, timeZone: "UTC" }
31
+ : { date };
32
+ const end = startTime
33
+ ? { dateTime: `${date}T${endTime || addOneHour(startTime)}:00`, timeZone: "UTC" }
34
+ : { date: nextDay(date) };
35
+ return googleCalendar.createEventRaw({
36
+ summary: title,
37
+ description: description ?? "",
38
+ start,
39
+ end,
40
+ });
41
+ },
42
+ createEventRaw(payload) {
43
+ const raw = pointivGoogleCalendarCreate(JSON.stringify(payload));
44
+ const result = JSON.parse(raw);
45
+ if (typeof result.error === "string") {
46
+ throw new Error(result.error);
47
+ }
48
+ return result;
49
+ },
50
+ };
51
+ //# sourceMappingURL=google-calendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-calendar.js","sourceRoot":"","sources":["../src/google-calendar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAE9D,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACjE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1E,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;IACxB,MAAM,WAAW,GACf,CAAC,KAAK,CAAC;QACL,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;YAC/C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE;QACN,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,CAAC;IACX,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC;QACpB,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IACzG,CAAC;IACD,IAAI,CAAC,GAAG,EAAE;QAAE,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC;IACxF,OAAO,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC;AACnD,CAAC;AAED,SAAS,UAAU,CAAC,EAAU;IAC5B,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAC3C,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAClF,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,QAAQ,CACN,KAAa,EACb,IAAY,EACZ,SAAkB,EAClB,OAAgB,EAChB,WAAoB;QAEpB,MAAM,KAAK,GAAG,SAAS;YACrB,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,IAAI,SAAS,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC1D,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,SAAS;YACnB,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,IAAI,OAAO,IAAI,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;YACjF,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAE5B,OAAO,cAAc,CAAC,cAAc,CAAC;YACnC,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,WAAW,IAAI,EAAE;YAC9B,KAAK;YACL,GAAG;SACJ,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,OAAgC;QAC7C,MAAM,GAAG,GAAG,2BAA2B,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;QAC1D,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const googleGmail: {
2
+ send(to: string, subject: string, body: string): Record<string, unknown>;
3
+ };
4
+ //# sourceMappingURL=google-gmail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-gmail.d.ts","sourceRoot":"","sources":["../src/google-gmail.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;aACb,MAAM,WAAW,MAAM,QAAQ,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAQzE,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { pointivGoogleGmailSend } from "./host-calls.js";
2
+ export const googleGmail = {
3
+ send(to, subject, body) {
4
+ const raw = pointivGoogleGmailSend(JSON.stringify({ to, subject, body }));
5
+ const result = JSON.parse(raw);
6
+ if (typeof result.error === "string") {
7
+ throw new Error(result.error);
8
+ }
9
+ return result;
10
+ },
11
+ };
12
+ //# sourceMappingURL=google-gmail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-gmail.js","sourceRoot":"","sources":["../src/google-gmail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,CAAC,EAAU,EAAE,OAAe,EAAE,IAAY;QAC5C,MAAM,GAAG,GAAG,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;QAC1D,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC"}
@@ -0,0 +1,11 @@
1
+ export declare function pointivLog(msg: string): void;
2
+ export declare function pointivStorageRead(key: string): string;
3
+ export declare function pointivStorageWrite(key: string, value: string): void;
4
+ export declare function pointivStorageDelete(key: string): void;
5
+ export declare function pointivStorageList(): string;
6
+ export declare function pointivClipboardRead(): string;
7
+ export declare function pointivAiComplete(prompt: string): string;
8
+ export declare function pointivHttpRequest(requestJson: string): string;
9
+ export declare function pointivGoogleCalendarCreate(payloadJson: string): string;
10
+ export declare function pointivGoogleGmailSend(payloadJson: string): string;
11
+ //# sourceMappingURL=host-calls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-calls.d.ts","sourceRoot":"","sources":["../src/host-calls.ts"],"names":[],"mappings":"AAuBA,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE5C;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAEpE;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEtD;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAElE"}
@@ -0,0 +1,38 @@
1
+ const host = Host.getFunctions();
2
+ function readString(ptr) {
3
+ return Memory.find(ptr).readString();
4
+ }
5
+ function writeString(value) {
6
+ return Memory.fromString(value).offset;
7
+ }
8
+ export function pointivLog(msg) {
9
+ host.pointiv_log(writeString(msg));
10
+ }
11
+ export function pointivStorageRead(key) {
12
+ return readString(host.pointiv_storage_read(writeString(key)));
13
+ }
14
+ export function pointivStorageWrite(key, value) {
15
+ host.pointiv_storage_write(writeString(key), writeString(value));
16
+ }
17
+ export function pointivStorageDelete(key) {
18
+ host.pointiv_storage_delete(writeString(key));
19
+ }
20
+ export function pointivStorageList() {
21
+ return readString(host.pointiv_storage_list());
22
+ }
23
+ export function pointivClipboardRead() {
24
+ return readString(host.pointiv_clipboard_read());
25
+ }
26
+ export function pointivAiComplete(prompt) {
27
+ return readString(host.pointiv_ai_complete(writeString(prompt)));
28
+ }
29
+ export function pointivHttpRequest(requestJson) {
30
+ return readString(host.pointiv_http_request(writeString(requestJson)));
31
+ }
32
+ export function pointivGoogleCalendarCreate(payloadJson) {
33
+ return readString(host.pointiv_google_calendar_create(writeString(payloadJson)));
34
+ }
35
+ export function pointivGoogleGmailSend(payloadJson) {
36
+ return readString(host.pointiv_google_gmail_send(writeString(payloadJson)));
37
+ }
38
+ //# sourceMappingURL=host-calls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-calls.js","sourceRoot":"","sources":["../src/host-calls.ts"],"names":[],"mappings":"AAaA,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAiB,CAAC;AAEhD,SAAS,UAAU,CAAC,GAAQ;IAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,OAAO,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAW,EAAE,KAAa;IAC5D,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,UAAU,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,UAAU,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,OAAO,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IACpD,OAAO,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,WAAmB;IAC7D,OAAO,UAAU,CAAC,IAAI,CAAC,8BAA8B,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,WAAmB;IACxD,OAAO,UAAU,CAAC,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC"}
package/dist/http.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ import type { HttpRequest, HttpResponse } from "./types.js";
2
+ export declare const http: {
3
+ request(req: HttpRequest): HttpResponse;
4
+ get(url: string): HttpResponse;
5
+ post(url: string, body: string): HttpResponse;
6
+ };
7
+ //# sourceMappingURL=http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAc5D,eAAO,MAAM,IAAI;iBACF,WAAW,GAAG,YAAY;aAI9B,MAAM,GAAG,YAAY;cAIpB,MAAM,QAAQ,MAAM,GAAG,YAAY;CAG9C,CAAC"}
package/dist/http.js ADDED
@@ -0,0 +1,25 @@
1
+ import { pointivHttpRequest } from "./host-calls.js";
2
+ function parseResponse(raw) {
3
+ try {
4
+ const data = JSON.parse(raw);
5
+ return {
6
+ status: typeof data.status === "number" ? data.status : 0,
7
+ body: typeof data.body === "string" ? data.body : "",
8
+ };
9
+ }
10
+ catch {
11
+ return { status: 0, body: "" };
12
+ }
13
+ }
14
+ export const http = {
15
+ request(req) {
16
+ return parseResponse(pointivHttpRequest(JSON.stringify(req)));
17
+ },
18
+ get(url) {
19
+ return http.request({ method: "GET", url, headers: {}, body: "" });
20
+ },
21
+ post(url, body) {
22
+ return http.request({ method: "POST", url, headers: {}, body });
23
+ },
24
+ };
25
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGrD,SAAS,aAAa,CAAC,GAAW;IAChC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,CAAC;QAC7C,OAAO;YACL,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACzD,IAAI,EAAE,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;SACrD,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACjC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,OAAO,CAAC,GAAgB;QACtB,OAAO,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,CAAC,GAAW,EAAE,IAAY;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;CACF,CAAC"}
@@ -0,0 +1,11 @@
1
+ export type { ExtensionOutput, HttpRequest, HttpResponse, Input, OutputKind, } from "./types.js";
2
+ export { Output } from "./output.js";
3
+ export { storage } from "./storage.js";
4
+ export { log } from "./log.js";
5
+ export { clipboard } from "./clipboard.js";
6
+ export { ai } from "./ai.js";
7
+ export { http } from "./http.js";
8
+ export { googleCalendar } from "./google-calendar.js";
9
+ export { googleGmail } from "./google-gmail.js";
10
+ export { readInput, writeOutput } from "./runtime.js";
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,eAAe,EACf,WAAW,EACX,YAAY,EACZ,KAAK,EACL,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,10 @@
1
+ export { Output } from "./output.js";
2
+ export { storage } from "./storage.js";
3
+ export { log } from "./log.js";
4
+ export { clipboard } from "./clipboard.js";
5
+ export { ai } from "./ai.js";
6
+ export { http } from "./http.js";
7
+ export { googleCalendar } from "./google-calendar.js";
8
+ export { googleGmail } from "./google-gmail.js";
9
+ export { readInput, writeOutput } from "./runtime.js";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
package/dist/log.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ export declare const log: {
2
+ info: (msg: string) => void;
3
+ warn: (msg: string) => void;
4
+ error: (msg: string) => void;
5
+ };
6
+ //# sourceMappingURL=log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,GAAG;gBACF,MAAM;gBACN,MAAM;iBACL,MAAM;CACpB,CAAC"}
package/dist/log.js ADDED
@@ -0,0 +1,10 @@
1
+ import { pointivLog } from "./host-calls.js";
2
+ function emit(level, msg) {
3
+ pointivLog(`[${level}] ${msg}`);
4
+ }
5
+ export const log = {
6
+ info: (msg) => emit("INFO", msg),
7
+ warn: (msg) => emit("WARN", msg),
8
+ error: (msg) => emit("ERROR", msg),
9
+ };
10
+ //# sourceMappingURL=log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,SAAS,IAAI,CAAC,KAAa,EAAE,GAAW;IACtC,UAAU,CAAC,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;IACxC,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;IACxC,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC;CAC3C,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { ExtensionOutput } from "./types.js";
2
+ export declare const Output: {
3
+ text(value: string): ExtensionOutput;
4
+ copy(value: string): ExtensionOutput;
5
+ typeText(value: string): ExtensionOutput;
6
+ error(value: string): ExtensionOutput;
7
+ };
8
+ //# sourceMappingURL=output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAc,MAAM,YAAY,CAAC;AAM9D,eAAO,MAAM,MAAM;gBACL,MAAM,GAAG,eAAe;gBAIxB,MAAM,GAAG,eAAe;oBAIpB,MAAM,GAAG,eAAe;iBAI3B,MAAM,GAAG,eAAe;CAGtC,CAAC"}
package/dist/output.js ADDED
@@ -0,0 +1,18 @@
1
+ function make(kind, value) {
2
+ return { type: kind, value };
3
+ }
4
+ export const Output = {
5
+ text(value) {
6
+ return make("text", value);
7
+ },
8
+ copy(value) {
9
+ return make("copy", value);
10
+ },
11
+ typeText(value) {
12
+ return make("type", value);
13
+ },
14
+ error(value) {
15
+ return make("error", value);
16
+ },
17
+ };
18
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAEA,SAAS,IAAI,CAAC,IAAgB,EAAE,KAAa;IAC3C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,CAAC,KAAa;QAChB,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,CAAC,KAAa;QAChB,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,KAAa;QACjB,OAAO,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;CACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ExtensionOutput, Input } from "./types.js";
2
+ export declare function readInput(): Input;
3
+ export declare function writeOutput(output: ExtensionOutput): void;
4
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEzD,wBAAgB,SAAS,IAAI,KAAK,CAEjC;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAEzD"}
@@ -0,0 +1,7 @@
1
+ export function readInput() {
2
+ return JSON.parse(Host.inputString());
3
+ }
4
+ export function writeOutput(output) {
5
+ Host.outputString(JSON.stringify(output));
6
+ }
7
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,SAAS;IACvB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAU,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAuB;IACjD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare const storage: {
2
+ write(key: string, value: string): void;
3
+ read(key: string): string | null;
4
+ delete(key: string): void;
5
+ list(): string[];
6
+ readJson<T>(key: string): T | null;
7
+ writeJson<T>(key: string, value: T): void;
8
+ };
9
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,OAAO;eACP,MAAM,SAAS,MAAM,GAAG,IAAI;cAI7B,MAAM,GAAG,MAAM,GAAG,IAAI;gBAKpB,MAAM,GAAG,IAAI;YAIjB,MAAM,EAAE;aAQP,CAAC,OAAO,MAAM,GAAG,CAAC,GAAG,IAAI;cAUxB,CAAC,OAAO,MAAM,SAAS,CAAC,GAAG,IAAI;CAG1C,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { pointivStorageDelete, pointivStorageList, pointivStorageRead, pointivStorageWrite, } from "./host-calls.js";
2
+ export const storage = {
3
+ write(key, value) {
4
+ pointivStorageWrite(key, value);
5
+ },
6
+ read(key) {
7
+ const value = pointivStorageRead(key);
8
+ return value.length === 0 ? null : value;
9
+ },
10
+ delete(key) {
11
+ pointivStorageDelete(key);
12
+ },
13
+ list() {
14
+ try {
15
+ return JSON.parse(pointivStorageList());
16
+ }
17
+ catch {
18
+ return [];
19
+ }
20
+ },
21
+ readJson(key) {
22
+ const raw = storage.read(key);
23
+ if (raw === null)
24
+ return null;
25
+ try {
26
+ return JSON.parse(raw);
27
+ }
28
+ catch {
29
+ return null;
30
+ }
31
+ },
32
+ writeJson(key, value) {
33
+ storage.write(key, JSON.stringify(value));
34
+ },
35
+ };
36
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,KAAK,CAAC,GAAW,EAAE,KAAa;QAC9B,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,GAAW;QACd,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI;QACF,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAa,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,QAAQ,CAAI,GAAW;QACrB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC9B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,SAAS,CAAI,GAAW,EAAE,KAAQ;QAChC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5C,CAAC;CACF,CAAC"}
@@ -0,0 +1,21 @@
1
+ export interface Input {
2
+ text: string;
3
+ context: string;
4
+ command: string;
5
+ }
6
+ export type OutputKind = "text" | "copy" | "type" | "error";
7
+ export interface ExtensionOutput {
8
+ type: OutputKind;
9
+ value: string;
10
+ }
11
+ export interface HttpRequest {
12
+ method: string;
13
+ url: string;
14
+ headers: Record<string, string>;
15
+ body: string;
16
+ }
17
+ export interface HttpResponse {
18
+ status: number;
19
+ body: string;
20
+ }
21
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5D,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "@katkode/pointiv-extension-sdk",
3
+ "version": "0.3.0",
4
+ "description": "TypeScript SDK for building Pointiv WASM extensions (extism-js)",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/katkodeorg/pointiv-extension-sdk-typescript"
9
+ },
10
+ "keywords": ["pointiv", "extension", "sdk", "wasm", "plugin"],
11
+ "type": "module",
12
+ "main": "./dist/index.js",
13
+ "types": "./dist/index.d.ts",
14
+ "exports": {
15
+ ".": {
16
+ "types": "./dist/index.d.ts",
17
+ "import": "./dist/index.js"
18
+ }
19
+ },
20
+ "files": ["dist", "README.md", "LICENSE"],
21
+ "scripts": {
22
+ "build": "tsc",
23
+ "typecheck": "tsc --noEmit",
24
+ "prepublishOnly": "npm run build"
25
+ },
26
+ "peerDependencies": {
27
+ "@extism/js-pdk": "^1.0.0"
28
+ },
29
+ "devDependencies": {
30
+ "@extism/js-pdk": "^1.1.1",
31
+ "typescript": "^5.8.3"
32
+ }
33
+ }