@genbounty/ailp 0.2.0 → 0.2.1

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
@@ -116,28 +116,23 @@ const response = await wrapLlmCall(
116
116
 
117
117
  ---
118
118
 
119
- ## React hook
119
+ ## React
120
120
 
121
- Import from `@genbounty/ailp/react` to keep React out of the core bundle:
121
+ Import from `@genbounty/ailp/react` to keep React out of the core bundle.
122
122
 
123
- ```tsx
124
- import { createAilp } from "@genbounty/ailp";
125
- import { useAssess } from "@genbounty/ailp/react";
123
+ ### `useAilp()` — recommended
126
124
 
127
- const ailp = createAilp({
128
- baseUrl: "http://localhost:8000",
129
- programId: "your-program-id",
130
- frameworks: ["eu-ai-act"],
131
- });
125
+ One hook: memoized client + `assess` / `result` / `loading` / `error` / `reset`.
126
+ Configure with **environment variables** (Next.js `NEXT_PUBLIC_*`, Vite `VITE_*`) so you do not need `useMemo` or `createAilp` in every component.
127
+
128
+ ```tsx
129
+ import { useAilp } from "@genbounty/ailp/react";
132
130
 
133
131
  function ChatWidget() {
134
- const { assess, result, loading, error } = useAssess(ailp);
132
+ const { assess, result, loading, error, reset } = useAilp();
135
133
 
136
134
  async function handleSend(userMessage: string, llmOutput: string) {
137
- await assess(
138
- [{ role: "user", content: userMessage }],
139
- llmOutput,
140
- );
135
+ await assess([{ role: "user", content: userMessage }], llmOutput);
141
136
  }
142
137
 
143
138
  return (
@@ -155,6 +150,36 @@ function ChatWidget() {
155
150
  }
156
151
  ```
157
152
 
153
+ **Env vars** (override any field by passing options to `useAilp({ ... })` instead):
154
+
155
+ | Variable | Required | Default |
156
+ |----------|----------|---------|
157
+ | `NEXT_PUBLIC_GENBOUNTY_PROGRAM_ID` or `VITE_GENBOUNTY_PROGRAM_ID` | Yes (unless you pass `programId`) | — |
158
+ | `NEXT_PUBLIC_AILP_BASE_URL` or `VITE_AILP_BASE_URL` | No | `http://127.0.0.1:8000` |
159
+ | `NEXT_PUBLIC_AILP_FRAMEWORKS` or `VITE_AILP_FRAMEWORKS` | No | `eu-ai-act` |
160
+
161
+ Frameworks in env: comma-separated (`eu-ai-act,owasp-llm`) or a JSON array string (`["eu-ai-act","owasp-llm"]`).
162
+
163
+ Partial override example:
164
+
165
+ ```tsx
166
+ const { assess, result, loading, error } = useAilp({ programId: "hardcoded-for-demo" });
167
+ ```
168
+
169
+ The hook also returns `ailp` (the underlying `AilpFn`) if you need it outside `assess`.
170
+
171
+ ### `useAssess(ailp)` — advanced
172
+
173
+ If you already have an `AilpFn` from `createAilp()`:
174
+
175
+ ```tsx
176
+ import { createAilp } from "@genbounty/ailp";
177
+ import { useAssess } from "@genbounty/ailp/react";
178
+
179
+ const ailp = createAilp({ baseUrl, programId, frameworks });
180
+ const { assess, result, loading, error } = useAssess(ailp);
181
+ ```
182
+
158
183
  ---
159
184
 
160
185
  ## Framework slugs
package/dist/react.d.ts CHANGED
@@ -1,5 +1,25 @@
1
- import type { AilpAssessResponse, AilpCallOptions, AilpMessage } from "./types.js";
2
1
  import type { AilpFn } from "./ailp.js";
2
+ import type { AilpAssessResponse, AilpCallOptions, AilpMessage, AilpOptions } from "./types.js";
3
+ /**
4
+ * Resolve config from optional overrides + environment variables.
5
+ * Throws if programId cannot be determined.
6
+ */
7
+ export declare function resolveAilpConfigFromEnv(overrides?: Partial<AilpOptions>): AilpOptions;
8
+ /** Optional overrides; omitted fields are read from env (see README). */
9
+ export type UseAilpOptions = Partial<AilpOptions>;
10
+ export type UseAilpResult = UseAssessState & {
11
+ ailp: AilpFn;
12
+ };
13
+ /**
14
+ * One-liner for React apps: memoized `createAilp` + assessment state.
15
+ * Reads `NEXT_PUBLIC_*` (Next.js) or `VITE_*` (Vite) when options are omitted.
16
+ *
17
+ * Env vars:
18
+ * - `NEXT_PUBLIC_AILP_BASE_URL` / `VITE_AILP_BASE_URL` — default `http://127.0.0.1:8000`
19
+ * - `NEXT_PUBLIC_GENBOUNTY_PROGRAM_ID` / `VITE_GENBOUNTY_PROGRAM_ID` — **required** unless you pass `programId`
20
+ * - `NEXT_PUBLIC_AILP_FRAMEWORKS` / `VITE_AILP_FRAMEWORKS` — comma-separated or JSON array; default `eu-ai-act`
21
+ */
22
+ export declare function useAilp(options?: UseAilpOptions): UseAilpResult;
3
23
  export interface UseAssessState {
4
24
  /** Last successful response, or null if not yet assessed. */
5
25
  result: AilpAssessResponse | null;
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACnF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAClC,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,4CAA4C;IAC5C,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,6FAA6F;IAC7F,MAAM,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IACnH,oDAAoD;IACpD,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAkCtD"}
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EAEf,WAAW,EACX,WAAW,EACZ,MAAM,YAAY,CAAC;AAwCpB;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAiCtF;AAaD,yEAAyE;AACzE,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAElD,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,aAAa,CAsB/D;AAMD,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAClC,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,4CAA4C;IAC5C,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,6FAA6F;IAC7F,MAAM,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IACnH,oDAAoD;IACpD,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAkCtD"}
package/dist/react.js CHANGED
@@ -1,28 +1,131 @@
1
1
  /**
2
- * React hook for AILP assess.
2
+ * React hooks for AILP assess.
3
3
  * Import from "@genbounty/ailp/react" to keep React out of the main bundle.
4
4
  *
5
- * @example
5
+ * @example Recommended — env-driven Next.js / Vite (no useMemo boilerplate)
6
+ * import { useAilp } from "@genbounty/ailp/react";
7
+ *
8
+ * function ChatWidget() {
9
+ * const { assess, result, loading, error, reset } = useAilp();
10
+ * // ...
11
+ * }
12
+ *
13
+ * @example Advanced — reuse an existing AilpFn
6
14
  * import { createAilp } from "@genbounty/ailp";
7
15
  * import { useAssess } from "@genbounty/ailp/react";
8
16
  *
9
- * const ailp = createAilp({ baseUrl: "...", programId: "...", frameworks: ["eu-ai-act"] });
17
+ * const ailp = createAilp({ baseUrl, programId, frameworks });
18
+ * const { assess, result, loading, error } = useAssess(ailp);
19
+ */
20
+ import { useCallback, useMemo, useState } from "react";
21
+ import { createAilp } from "./ailp.js";
22
+ // -------------------------------------------------------------------------
23
+ // Env helpers (Next.js NEXT_PUBLIC_*, Vite VITE_*)
24
+ // -------------------------------------------------------------------------
25
+ function getNodeEnv() {
26
+ const g = globalThis;
27
+ return g.process?.env;
28
+ }
29
+ function readEnv(key) {
30
+ const v = getNodeEnv()?.[key];
31
+ if (v != null && v !== "")
32
+ return v;
33
+ try {
34
+ const im = import.meta;
35
+ const v = im.env?.[key];
36
+ if (typeof v === "string" && v !== "")
37
+ return v;
38
+ }
39
+ catch {
40
+ /* import.meta unavailable */
41
+ }
42
+ return undefined;
43
+ }
44
+ function parseFrameworksFromEnv(raw) {
45
+ if (raw == null || raw.trim() === "")
46
+ return undefined;
47
+ const t = raw.trim();
48
+ if (t.startsWith("[")) {
49
+ try {
50
+ const j = JSON.parse(t);
51
+ if (Array.isArray(j) && j.every((x) => typeof x === "string")) {
52
+ return j;
53
+ }
54
+ }
55
+ catch {
56
+ /* fall through */
57
+ }
58
+ }
59
+ return t.split(",").map((s) => s.trim()).filter(Boolean);
60
+ }
61
+ /**
62
+ * Resolve config from optional overrides + environment variables.
63
+ * Throws if programId cannot be determined.
64
+ */
65
+ export function resolveAilpConfigFromEnv(overrides) {
66
+ const baseUrl = overrides?.baseUrl ??
67
+ readEnv("NEXT_PUBLIC_AILP_BASE_URL") ??
68
+ readEnv("VITE_AILP_BASE_URL") ??
69
+ "http://127.0.0.1:8000";
70
+ const programIdRaw = overrides?.programId ??
71
+ readEnv("NEXT_PUBLIC_GENBOUNTY_PROGRAM_ID") ??
72
+ readEnv("VITE_GENBOUNTY_PROGRAM_ID");
73
+ if (programIdRaw == null || String(programIdRaw).trim() === "") {
74
+ throw new Error("AILP: missing programId. Set NEXT_PUBLIC_GENBOUNTY_PROGRAM_ID or VITE_GENBOUNTY_PROGRAM_ID, or pass programId to useAilp().");
75
+ }
76
+ let frameworks;
77
+ if (overrides?.frameworks != null) {
78
+ frameworks = overrides.frameworks;
79
+ }
80
+ else {
81
+ const raw = readEnv("NEXT_PUBLIC_AILP_FRAMEWORKS") ?? readEnv("VITE_AILP_FRAMEWORKS");
82
+ frameworks = parseFrameworksFromEnv(raw) ?? ["eu-ai-act"];
83
+ }
84
+ return {
85
+ baseUrl: baseUrl.replace(/\/$/, ""),
86
+ programId: String(programIdRaw),
87
+ frameworks,
88
+ timeoutMs: overrides?.timeoutMs,
89
+ };
90
+ }
91
+ function frameworksDepKey(fw) {
92
+ if (fw === undefined)
93
+ return "__env__";
94
+ return Array.isArray(fw) ? JSON.stringify(fw) : String(fw);
95
+ }
96
+ /**
97
+ * One-liner for React apps: memoized `createAilp` + assessment state.
98
+ * Reads `NEXT_PUBLIC_*` (Next.js) or `VITE_*` (Vite) when options are omitted.
10
99
  *
11
- * function ChatWidget() {
12
- * const { assess, result, loading, error } = useAssess(ailp);
13
- * const res = await assess(messages, llmOutput);
14
- * }
100
+ * Env vars:
101
+ * - `NEXT_PUBLIC_AILP_BASE_URL` / `VITE_AILP_BASE_URL` default `http://127.0.0.1:8000`
102
+ * - `NEXT_PUBLIC_GENBOUNTY_PROGRAM_ID` / `VITE_GENBOUNTY_PROGRAM_ID` — **required** unless you pass `programId`
103
+ * - `NEXT_PUBLIC_AILP_FRAMEWORKS` / `VITE_AILP_FRAMEWORKS` — comma-separated or JSON array; default `eu-ai-act`
15
104
  */
16
- import { useCallback, useState } from "react";
105
+ export function useAilp(options) {
106
+ const baseUrl = options?.baseUrl;
107
+ const programId = options?.programId;
108
+ const frameworks = options?.frameworks;
109
+ const timeoutMs = options?.timeoutMs;
110
+ const config = useMemo(() => resolveAilpConfigFromEnv({
111
+ baseUrl,
112
+ programId,
113
+ frameworks,
114
+ timeoutMs,
115
+ }), [baseUrl, programId, frameworksDepKey(frameworks), timeoutMs]);
116
+ const ailp = useMemo(() => createAilp(config), [config]);
117
+ const state = useAssess(ailp);
118
+ return { ...state, ailp };
119
+ }
17
120
  export function useAssess(ailp) {
18
121
  const [result, setResult] = useState(null);
19
122
  const [loading, setLoading] = useState(false);
20
123
  const [error, setError] = useState(null);
21
- const assess = useCallback(async (messages, output, options) => {
124
+ const assess = useCallback(async (messages, output, callOptions) => {
22
125
  setLoading(true);
23
126
  setError(null);
24
127
  try {
25
- const res = await ailp(messages, output, options);
128
+ const res = await ailp(messages, output, callOptions);
26
129
  setResult(res);
27
130
  return res;
28
131
  }
package/dist/react.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAiB9C,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA4B,IAAI,CAAC,CAAC;IACtE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,WAAW,CACxB,KAAK,EACH,QAAuB,EACvB,MAAc,EACd,OAAyB,EACW,EAAE;QACtC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAClD,SAAS,CAAC,GAAG,CAAC,CAAC;YACf,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,QAAQ,CAAC,CAAC,CAAC,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAC;IAEF,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAUvC,4EAA4E;AAC5E,mDAAmD;AACnD,4EAA4E;AAE5E,SAAS,UAAU;IACjB,MAAM,CAAC,GAAG,UAAmF,CAAC;IAC9F,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC;AACxB,CAAC;AAED,SAAS,OAAO,CAAC,GAAW;IAC1B,MAAM,CAAC,GAAG,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,CAAC,IAA2E,CAAC;QAC9F,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE;YAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,6BAA6B;IAC/B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAuB;IACrD,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IACvD,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACrB,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAY,CAAC;YACnC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC9D,OAAO,CAAwB,CAAC;YAClC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAwB,CAAC;AAClF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,SAAgC;IACvE,MAAM,OAAO,GACX,SAAS,EAAE,OAAO;QAClB,OAAO,CAAC,2BAA2B,CAAC;QACpC,OAAO,CAAC,oBAAoB,CAAC;QAC7B,uBAAuB,CAAC;IAE1B,MAAM,YAAY,GAChB,SAAS,EAAE,SAAS;QACpB,OAAO,CAAC,kCAAkC,CAAC;QAC3C,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAEvC,IAAI,YAAY,IAAI,IAAI,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CACb,6HAA6H,CAC9H,CAAC;IACJ,CAAC;IAED,IAAI,UAAmD,CAAC;IACxD,IAAI,SAAS,EAAE,UAAU,IAAI,IAAI,EAAE,CAAC;QAClC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GACP,OAAO,CAAC,6BAA6B,CAAC,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAC5E,UAAU,GAAG,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACnC,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC;QAC/B,UAAU;QACV,SAAS,EAAE,SAAS,EAAE,SAAS;KAChC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,EAAuD;IAEvD,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACvC,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC7D,CAAC;AAWD;;;;;;;;GAQG;AACH,MAAM,UAAU,OAAO,CAAC,OAAwB;IAC9C,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC;IACjC,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;IACrC,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,CAAC;IACvC,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;IAErC,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CACH,wBAAwB,CAAC;QACvB,OAAO;QACP,SAAS;QACT,UAAU;QACV,SAAS;KACV,CAAC,EACJ,CAAC,OAAO,EAAE,SAAS,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,CAC9D,CAAC;IAEF,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEzD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE9B,OAAO,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAC;AAmBD,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA4B,IAAI,CAAC,CAAC;IACtE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,WAAW,CACxB,KAAK,EACH,QAAuB,EACvB,MAAc,EACd,WAA6B,EACO,EAAE;QACtC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YACtD,SAAS,CAAC,GAAG,CAAC,CAAC;YACf,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,QAAQ,CAAC,CAAC,CAAC,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAC;IAEF,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACnD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@genbounty/ailp",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "TypeScript client for the AILP (AI Log Protocol) LLM compliance risk assessment API.",
5
5
  "type": "module",
6
6
  "exports": {