@dani-builder/strapi-client 0.10.0 → 0.12.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 +30 -8
- package/dist/agent/create-agent-client.d.ts +43 -0
- package/dist/agent/create-agent-client.d.ts.map +1 -0
- package/dist/agent/create-agent-client.js +168 -0
- package/dist/agent/create-agent-client.js.map +1 -0
- package/dist/api/categories.d.ts +2 -0
- package/dist/api/categories.d.ts.map +1 -1
- package/dist/api/categories.js +2 -0
- package/dist/api/categories.js.map +1 -1
- package/dist/api/inquiry.d.ts +2 -2
- package/dist/api/inquiry.d.ts.map +1 -1
- package/dist/api/inquiry.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/populate/builders.d.ts +8 -0
- package/dist/populate/builders.d.ts.map +1 -1
- package/dist/populate/builders.js +4 -0
- package/dist/populate/builders.js.map +1 -1
- package/dist/populate/index.d.ts +1 -1
- package/dist/populate/index.d.ts.map +1 -1
- package/dist/populate/index.js +1 -1
- package/dist/populate/index.js.map +1 -1
- package/dist/preview.cjs +55 -0
- package/dist/preview.cjs.map +1 -0
- package/dist/preview.d.cts +5 -0
- package/dist/preview.d.cts.map +1 -0
- package/dist/types/components/blocks.d.ts +2 -0
- package/dist/types/components/blocks.d.ts.map +1 -1
- package/dist/types/content-types/category.d.ts +3 -0
- package/dist/types/content-types/category.d.ts.map +1 -1
- package/dist/types/content-types/index.d.ts +1 -1
- package/dist/types/content-types/index.d.ts.map +1 -1
- package/dist/types/content-types/inquiry.d.ts +13 -0
- package/dist/types/content-types/inquiry.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/docs/api-guide.md +32 -7
- package/docs/block-reference.md +2 -0
- package/docs/content-types.md +7 -1
- package/package.json +16 -2
package/README.md
CHANGED
|
@@ -11,7 +11,8 @@ functions for every content type — pairs with
|
|
|
11
11
|
pnpm add @dani-builder/strapi-client
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
-
ESM-only (`"type": "module"`).
|
|
14
|
+
Existing client entries are ESM-only (`"type": "module"`). The server-only
|
|
15
|
+
`/preview` entry supports ESM and CommonJS, with no Strapi runtime or peers.
|
|
15
16
|
|
|
16
17
|
## Usage
|
|
17
18
|
|
|
@@ -35,16 +36,37 @@ const draft = await getPageBySlug(strapi, "about", { status: "draft" });
|
|
|
35
36
|
|
|
36
37
|
## Sub-exports
|
|
37
38
|
|
|
38
|
-
| Import
|
|
39
|
-
|
|
40
|
-
| `@dani-builder/strapi-client/types`
|
|
41
|
-
| `@dani-builder/strapi-client/client`
|
|
42
|
-
| `@dani-builder/strapi-client/api`
|
|
43
|
-
| `@dani-builder/strapi-client/populate` | 15 block populate builders
|
|
44
|
-
| `@dani-builder/strapi-client/utils`
|
|
39
|
+
| Import | Contents |
|
|
40
|
+
| -------------------------------------- | ------------------------------------------------------------------------------------ |
|
|
41
|
+
| `@dani-builder/strapi-client/types` | Hand-curated content-type & block types |
|
|
42
|
+
| `@dani-builder/strapi-client/client` | `createStrapiClient` |
|
|
43
|
+
| `@dani-builder/strapi-client/api` | 19 API functions |
|
|
44
|
+
| `@dani-builder/strapi-client/populate` | 15 block populate builders |
|
|
45
|
+
| `@dani-builder/strapi-client/utils` | Media URL helpers |
|
|
46
|
+
| `@dani-builder/strapi-client/preview` | Node.js server-only `verifyPreviewToken`, `isSafePreviewPath`, `PREVIEW_TTL_SECONDS` |
|
|
45
47
|
|
|
46
48
|
See [`docs/block-reference.md`](./docs/block-reference.md) for the full block schema.
|
|
47
49
|
|
|
48
50
|
## License
|
|
49
51
|
|
|
50
52
|
MIT © HJ-company
|
|
53
|
+
|
|
54
|
+
Preview verification requires client 0.12.0 or later. Import it only in Node.js
|
|
55
|
+
server code and keep `PREVIEW_SECRET` private. The shared verifier binds the signed
|
|
56
|
+
path and draft/published status and rejects tokens at expiry (300 seconds).
|
|
57
|
+
The existing plugin `/preview` verifier remains compatible.
|
|
58
|
+
|
|
59
|
+
## Agent browser client
|
|
60
|
+
|
|
61
|
+
`createAgentClient({ baseUrl, apiPrefix?, fetch? })` is exported from the package
|
|
62
|
+
root. It provides `session()` issuance, `session(credentials)` restoration,
|
|
63
|
+
`history(credentials)`, `chat(credentials, request, { onEvent? })` and
|
|
64
|
+
`cancel(credentials, requestId)`. A chat handle exposes its stable `requestId`,
|
|
65
|
+
`result` promise and `cancel()` immediately. Streaming events use the shared
|
|
66
|
+
`@dani-builder/agent-contract` parser. Keep the issued token with the session ID
|
|
67
|
+
in caller-owned storage and handle both result and cancellation rejections. Tokens
|
|
68
|
+
are sent only in Bearer headers; cookies are omitted. Existing Axios APIs continue
|
|
69
|
+
to work independently.
|
|
70
|
+
|
|
71
|
+
See [Agent sessions and conversation context](../../docs/guides/agent-conversation-context.md)
|
|
72
|
+
for browser usage, error/cancellation behavior, retries and the CMS origin allowlist.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { ChatDoneEventData, ChatEvent, ChatRequest, ConversationRestoreResponse, SessionResponse } from "@dani-builder/agent-contract";
|
|
2
|
+
export interface AgentClientConfig {
|
|
3
|
+
/** CMS origin, or empty for same-origin requests. */
|
|
4
|
+
baseUrl: string;
|
|
5
|
+
/** Strapi REST prefix; defaults to /api. */
|
|
6
|
+
apiPrefix?: string;
|
|
7
|
+
fetch?: typeof globalThis.fetch;
|
|
8
|
+
}
|
|
9
|
+
export interface AgentSessionCredentials {
|
|
10
|
+
sessionId: string;
|
|
11
|
+
token: string;
|
|
12
|
+
}
|
|
13
|
+
export interface AgentRestoreOptions extends AgentSessionCredentials {
|
|
14
|
+
agentId?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface AgentChatOptions {
|
|
17
|
+
onEvent?: (event: ChatEvent) => void;
|
|
18
|
+
}
|
|
19
|
+
export interface AgentTurn {
|
|
20
|
+
requestId: string;
|
|
21
|
+
result: Promise<ChatDoneEventData>;
|
|
22
|
+
/** Stops local delivery immediately and independently requests server cancellation. */
|
|
23
|
+
cancel(): Promise<{
|
|
24
|
+
cancelled: boolean;
|
|
25
|
+
}>;
|
|
26
|
+
}
|
|
27
|
+
export declare class AgentClientError extends Error {
|
|
28
|
+
readonly code: string;
|
|
29
|
+
readonly status?: number | undefined;
|
|
30
|
+
constructor(code: string, status?: number | undefined);
|
|
31
|
+
}
|
|
32
|
+
export declare function createAgentClient(config: AgentClientConfig): {
|
|
33
|
+
session: {
|
|
34
|
+
(): Promise<SessionResponse>;
|
|
35
|
+
(options: AgentRestoreOptions): Promise<ConversationRestoreResponse>;
|
|
36
|
+
};
|
|
37
|
+
chat: (credentials: AgentSessionCredentials, input: Omit<ChatRequest, "sessionId">, options?: AgentChatOptions) => AgentTurn;
|
|
38
|
+
history: (options: AgentRestoreOptions) => Promise<import("@dani-builder/agent-contract").ConversationHistoryMessage[]>;
|
|
39
|
+
cancel: (credentials: AgentSessionCredentials, requestId: string) => Promise<{
|
|
40
|
+
cancelled: boolean;
|
|
41
|
+
}>;
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=create-agent-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-agent-client.d.ts","sourceRoot":"","sources":["../../src/agent/create-agent-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,2BAA2B,EAC3B,eAAe,EAChB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AACD,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CACtC;AACD,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACnC,uFAAuF;IACvF,MAAM,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC3C;AAED,qBAAa,gBAAiB,SAAQ,KAAK;aAEvB,IAAI,EAAE,MAAM;aACZ,MAAM,CAAC,EAAE,MAAM;gBADf,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,YAAA;CAKlC;AAmED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB;;YA8B/B,OAAO,CAAC,eAAe,CAAC;kBAEvC,mBAAmB,GAC3B,OAAO,CAAC,2BAA2B,CAAC;;wBAyBxB,uBAAuB,SAC7B,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,YAC5B,gBAAgB,KACxB,SAAS;uBAmCoB,mBAAmB;0BAlDpC,uBAAuB,aACzB,MAAM,KAChB,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;EAoDnC"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { parseSseEvent } from "@dani-builder/agent-contract";
|
|
2
|
+
export class AgentClientError extends Error {
|
|
3
|
+
code;
|
|
4
|
+
status;
|
|
5
|
+
constructor(code, status) {
|
|
6
|
+
super(`Agent request failed: ${code}`);
|
|
7
|
+
this.code = code;
|
|
8
|
+
this.status = status;
|
|
9
|
+
this.name = "AgentClientError";
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
// Frame transport here; shared contract owns event validation and normalization.
|
|
13
|
+
async function readEvents(response, signal, onEvent) {
|
|
14
|
+
if (!response.body)
|
|
15
|
+
throw new AgentClientError("missing_stream");
|
|
16
|
+
const reader = response.body.getReader();
|
|
17
|
+
const decoder = new TextDecoder();
|
|
18
|
+
let buffer = "";
|
|
19
|
+
let name = "";
|
|
20
|
+
let data = [];
|
|
21
|
+
const abort = () => {
|
|
22
|
+
void reader.cancel().catch(() => undefined);
|
|
23
|
+
};
|
|
24
|
+
signal.addEventListener("abort", abort, { once: true });
|
|
25
|
+
try {
|
|
26
|
+
for (;;) {
|
|
27
|
+
if (signal.aborted)
|
|
28
|
+
throw new AgentClientError("cancelled");
|
|
29
|
+
const chunk = await reader.read();
|
|
30
|
+
if (signal.aborted)
|
|
31
|
+
throw new AgentClientError("cancelled");
|
|
32
|
+
buffer += decoder.decode(chunk.value, { stream: !chunk.done });
|
|
33
|
+
for (;;) {
|
|
34
|
+
const match = /\r\n|\r|\n/.exec(buffer);
|
|
35
|
+
if (!match)
|
|
36
|
+
break;
|
|
37
|
+
// A CR at a chunk boundary may be the first half of CRLF.
|
|
38
|
+
if (match[0] === "\r" &&
|
|
39
|
+
match.index === buffer.length - 1 &&
|
|
40
|
+
!chunk.done)
|
|
41
|
+
break;
|
|
42
|
+
const line = buffer.slice(0, match.index);
|
|
43
|
+
buffer = buffer.slice(match.index + match[0].length);
|
|
44
|
+
if (line === "") {
|
|
45
|
+
const event = data.length
|
|
46
|
+
? parseSseEvent(name, data.join("\n"))
|
|
47
|
+
: null;
|
|
48
|
+
name = "";
|
|
49
|
+
data = [];
|
|
50
|
+
if (!event)
|
|
51
|
+
continue;
|
|
52
|
+
if (signal.aborted)
|
|
53
|
+
throw new AgentClientError("cancelled");
|
|
54
|
+
onEvent?.(event);
|
|
55
|
+
if (signal.aborted)
|
|
56
|
+
throw new AgentClientError("cancelled");
|
|
57
|
+
if (event.event === "done")
|
|
58
|
+
return event.data;
|
|
59
|
+
if (event.event === "error")
|
|
60
|
+
throw new AgentClientError(event.data.code || "stream_error");
|
|
61
|
+
}
|
|
62
|
+
else if (!line.startsWith(":")) {
|
|
63
|
+
const colon = line.indexOf(":");
|
|
64
|
+
const field = colon < 0 ? line : line.slice(0, colon);
|
|
65
|
+
const value = colon < 0 ? "" : line.slice(colon + 1).replace(/^ /, "");
|
|
66
|
+
if (field === "event")
|
|
67
|
+
name = value;
|
|
68
|
+
if (field === "data")
|
|
69
|
+
data.push(value);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (chunk.done)
|
|
73
|
+
throw new AgentClientError("incomplete_stream");
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
finally {
|
|
77
|
+
signal.removeEventListener("abort", abort);
|
|
78
|
+
await reader.cancel().catch(() => undefined);
|
|
79
|
+
reader.releaseLock();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
export function createAgentClient(config) {
|
|
83
|
+
const fetcher = config.fetch ?? globalThis.fetch.bind(globalThis);
|
|
84
|
+
const endpoint = `${config.baseUrl.replace(/\/$/, "")}${config.apiPrefix ?? "/api"}/agent`;
|
|
85
|
+
async function request(path, token, init = {}) {
|
|
86
|
+
const response = await fetcher(`${endpoint}${path}`, {
|
|
87
|
+
...init,
|
|
88
|
+
credentials: "omit",
|
|
89
|
+
headers: {
|
|
90
|
+
...(init.body ? { "Content-Type": "application/json" } : {}),
|
|
91
|
+
...(token ? { Authorization: `Bearer ${token}` } : {}),
|
|
92
|
+
},
|
|
93
|
+
});
|
|
94
|
+
if (!response.ok) {
|
|
95
|
+
let code = "http_error";
|
|
96
|
+
try {
|
|
97
|
+
const body = await response.json();
|
|
98
|
+
if (body &&
|
|
99
|
+
typeof body === "object" &&
|
|
100
|
+
"error" in body &&
|
|
101
|
+
typeof body.error === "string")
|
|
102
|
+
code = body.error;
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
/* Non-JSON error responses retain their HTTP status. */
|
|
106
|
+
}
|
|
107
|
+
throw new AgentClientError(code, response.status);
|
|
108
|
+
}
|
|
109
|
+
return response;
|
|
110
|
+
}
|
|
111
|
+
async function session(options) {
|
|
112
|
+
if (!options)
|
|
113
|
+
return (await request("/session", undefined, { method: "POST", body: "{}" })).json();
|
|
114
|
+
const query = new URLSearchParams({ sessionId: options.sessionId });
|
|
115
|
+
if (options.agentId)
|
|
116
|
+
query.set("agentId", options.agentId);
|
|
117
|
+
return (await request(`/session?${query}`, options.token)).json();
|
|
118
|
+
}
|
|
119
|
+
async function cancel(credentials, requestId) {
|
|
120
|
+
return (await request("/cancel", credentials.token, {
|
|
121
|
+
method: "POST",
|
|
122
|
+
body: JSON.stringify({ sessionId: credentials.sessionId, requestId }),
|
|
123
|
+
signal: new AbortController().signal,
|
|
124
|
+
})).json();
|
|
125
|
+
}
|
|
126
|
+
function chat(credentials, input, options = {}) {
|
|
127
|
+
const requestId = input.requestId ?? globalThis.crypto.randomUUID();
|
|
128
|
+
const controller = new AbortController();
|
|
129
|
+
let cancellation;
|
|
130
|
+
const result = (async () => {
|
|
131
|
+
try {
|
|
132
|
+
const response = await request("/chat", credentials.token, {
|
|
133
|
+
method: "POST",
|
|
134
|
+
body: JSON.stringify({
|
|
135
|
+
...input,
|
|
136
|
+
sessionId: credentials.sessionId,
|
|
137
|
+
requestId,
|
|
138
|
+
}),
|
|
139
|
+
signal: controller.signal,
|
|
140
|
+
});
|
|
141
|
+
if (controller.signal.aborted) {
|
|
142
|
+
await response.body?.cancel().catch(() => undefined);
|
|
143
|
+
throw new AgentClientError("cancelled");
|
|
144
|
+
}
|
|
145
|
+
return await readEvents(response, controller.signal, options.onEvent);
|
|
146
|
+
}
|
|
147
|
+
catch (error) {
|
|
148
|
+
if (controller.signal.aborted)
|
|
149
|
+
throw new AgentClientError("cancelled");
|
|
150
|
+
throw error;
|
|
151
|
+
}
|
|
152
|
+
})();
|
|
153
|
+
return {
|
|
154
|
+
requestId,
|
|
155
|
+
result,
|
|
156
|
+
cancel() {
|
|
157
|
+
controller.abort();
|
|
158
|
+
cancellation ??= cancel(credentials, requestId);
|
|
159
|
+
return cancellation;
|
|
160
|
+
},
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
async function history(options) {
|
|
164
|
+
return (await session(options)).messages;
|
|
165
|
+
}
|
|
166
|
+
return { session, chat, history, cancel };
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=create-agent-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-agent-client.js","sourceRoot":"","sources":["../../src/agent/create-agent-client.ts"],"names":[],"mappings":"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"}
|
package/dist/api/categories.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ import type { StrapiCollectionResponse } from '../types/strapi.js';
|
|
|
3
3
|
import type { CategoryDocument } from '../types/content-types/category.js';
|
|
4
4
|
export interface CategoryListOptions {
|
|
5
5
|
locale?: string;
|
|
6
|
+
/** Include the reverse FAQ relation; omitted by default. */
|
|
7
|
+
populateFaqs?: boolean;
|
|
6
8
|
page?: number;
|
|
7
9
|
pageSize?: number;
|
|
8
10
|
sort?: string | string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../src/api/categories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../src/api/categories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAG3E,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,EAAE,mBAAmB,uDAkB9B"}
|
package/dist/api/categories.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { getCategoryPopulate } from '../populate/builders.js';
|
|
1
2
|
/**
|
|
2
3
|
* List all categories.
|
|
3
4
|
*/
|
|
@@ -5,6 +6,7 @@ export function listCategories(client, options) {
|
|
|
5
6
|
return client
|
|
6
7
|
.get('/api/builder/categories', {
|
|
7
8
|
params: {
|
|
9
|
+
...(options?.populateFaqs ? { populate: getCategoryPopulate() } : {}),
|
|
8
10
|
sort: options?.sort ?? 'sortOrder:asc',
|
|
9
11
|
locale: options?.locale,
|
|
10
12
|
pagination: options?.page != null || options?.pageSize != null
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"categories.js","sourceRoot":"","sources":["../../src/api/categories.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"categories.js","sourceRoot":"","sources":["../../src/api/categories.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAW9D;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAqB,EACrB,OAA6B;IAE7B,OAAO,MAAM;SACV,GAAG,CACF,yBAAyB,EACzB;QACE,MAAM,EAAE;YACN,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,eAAe;YACtC,MAAM,EAAE,OAAO,EAAE,MAAM;YACvB,UAAU,EACR,OAAO,EAAE,IAAI,IAAI,IAAI,IAAI,OAAO,EAAE,QAAQ,IAAI,IAAI;gBAChD,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;gBACzD,CAAC,CAAC,SAAS;SAChB;KACF,CACF;SACA,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
|
package/dist/api/inquiry.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AxiosInstance } from 'axios';
|
|
2
|
-
import type {
|
|
2
|
+
import type { InquiryReceipt, InquiryFormData } from '../types/content-types/inquiry.js';
|
|
3
3
|
/**
|
|
4
4
|
* Submit an inquiry form (POST).
|
|
5
5
|
*/
|
|
6
|
-
export declare function postInquiry(client: AxiosInstance, data:
|
|
6
|
+
export declare function postInquiry<Data extends InquiryFormData>(client: AxiosInstance, data: Data): Promise<InquiryReceipt>;
|
|
7
7
|
//# sourceMappingURL=inquiry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inquiry.d.ts","sourceRoot":"","sources":["../../src/api/inquiry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"inquiry.d.ts","sourceRoot":"","sources":["../../src/api/inquiry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EAChB,MAAM,mCAAmC,CAAC;AAE3C;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,SAAS,eAAe,EACtD,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,IAAI,2BAKX"}
|
package/dist/api/inquiry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inquiry.js","sourceRoot":"","sources":["../../src/api/inquiry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"inquiry.js","sourceRoot":"","sources":["../../src/api/inquiry.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,MAAqB,EACrB,IAAU;IAEV,OAAO,MAAM;SACV,IAAI,CAAiC,wBAAwB,EAAE,EAAE,IAAI,EAAE,CAAC;SACxE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export type { StrapiDocument, StrapiI18nDocument, StrapiComponent, StrapiResponse, StrapiCollectionResponse, StrapiPagination, StrapiError, StrapiMedia, StrapiMediaFormat, BlocksContent, BlockNode, BlockParagraph, BlockHeading, BlockList, BlockListItem, BlockQuote, BlockCode, BlockImage, BlockInlineNode, BlockTextChild, BlockLinkChild, Link, NavigationGroup, Seo, FeatureItem, HighlightItem, SliderItem, BentoItem, TestimonialItem, LogoItem, StatItem, PricingTier, TeamMember, AnalyticsSetting, ChatbotSetting, SiteVerification, BrandColors, Section, Footer, HeroBlock, FeaturesBlock, CtaBlock, SliderBlock, InquiryFormBlock, FaqBlock, HighlightsBlock, BentoGridBlock, TestimonialsBlock, LogoCloudBlock, StatsBlock, PricingBlock, ContentBlock, TeamBlock, Page, PageDocument, PageBlocks, Article, ArticleDocument, Faq, FaqDocument, Inquiry, InquiryDocument, InquiryFormData, Category, CategoryDocument, Tag, TagDocument, Author, AuthorDocument, Series, SeriesDocument, Navigation, NavigationDocument, Global, GlobalDocument, SiteWideBlocks, SiteSettings, SiteSettingsDocument, } from "./types/index.js";
|
|
2
2
|
export { createStrapiClient, getErrorCode, getErrorStatus, isStrapiError, } from "./client/index.js";
|
|
3
3
|
export type { StrapiClientConfig } from "./client/index.js";
|
|
4
|
-
export { coreBlockPopulates, seoPopulate, footerPopulate, getPagePopulate, getPageListPopulate, getGlobalPopulate, getArticlePopulate, getArticleListPopulate, getNavigationPopulate, getSiteSettingsPopulate, getFaqPopulate, } from "./populate/index.js";
|
|
4
|
+
export { coreBlockPopulates, seoPopulate, footerPopulate, getPagePopulate, getPageListPopulate, getGlobalPopulate, getArticlePopulate, getArticleListPopulate, getNavigationPopulate, getSiteSettingsPopulate, getFaqPopulate, getCategoryPopulate, } from "./populate/index.js";
|
|
5
5
|
export { getPage, getPageBySlug, listPages, listPagesRest, getArticle, getArticleBySlug, listArticles, getGlobal, getGlobalRest, getNavigation, getSiteSettings, listFaqs, listCategories, listTags, listAuthors, getAuthorBySlug, listSeries, getSeriesBySlug, postInquiry, } from "./api/index.js";
|
|
6
6
|
export type { PageQueryOptions, PageListOptions, ArticleQueryOptions, ArticleListOptions, GlobalQueryOptions, NavigationQueryOptions, FaqListOptions, CategoryListOptions, TagListOptions, AuthorListOptions, SeriesListOptions, } from "./api/index.js";
|
|
7
7
|
export { getMediaUrl, getAssetUrl } from "./utils/index.js";
|
|
8
|
+
export { createAgentClient, AgentClientError, } from "./agent/create-agent-client.js";
|
|
9
|
+
export type { AgentClientConfig, AgentSessionCredentials, AgentRestoreOptions, AgentChatOptions, AgentTurn, } from "./agent/create-agent-client.js";
|
|
8
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,wBAAwB,EACxB,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,cAAc,EACd,YAAY,EACZ,SAAS,EACT,aAAa,EACb,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,cAAc,EACd,cAAc,EACd,IAAI,EACJ,eAAe,EACf,GAAG,EACH,WAAW,EACX,aAAa,EACb,UAAU,EACV,SAAS,EACT,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,OAAO,EACP,MAAM,EACN,SAAS,EACT,aAAa,EACb,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,OAAO,EACP,eAAe,EACf,GAAG,EACH,WAAW,EACX,OAAO,EACP,eAAe,EACf,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,GAAG,EACH,WAAW,EACX,MAAM,EACN,cAAc,EACd,MAAM,EACN,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,MAAM,EACN,cAAc,EACd,cAAc,EACd,YAAY,EACZ,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,wBAAwB,EACxB,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,cAAc,EACd,YAAY,EACZ,SAAS,EACT,aAAa,EACb,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,cAAc,EACd,cAAc,EACd,IAAI,EACJ,eAAe,EACf,GAAG,EACH,WAAW,EACX,aAAa,EACb,UAAU,EACV,SAAS,EACT,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,OAAO,EACP,MAAM,EACN,SAAS,EACT,aAAa,EACb,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,OAAO,EACP,eAAe,EACf,GAAG,EACH,WAAW,EACX,OAAO,EACP,eAAe,EACf,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,GAAG,EACH,WAAW,EACX,MAAM,EACN,cAAc,EACd,MAAM,EACN,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,MAAM,EACN,cAAc,EACd,cAAc,EACd,YAAY,EACZ,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,EACd,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,OAAO,EACP,aAAa,EACb,SAAS,EACT,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,aAAa,EACb,aAAa,EACb,eAAe,EACf,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,WAAW,EACX,eAAe,EACf,UAAU,EACV,eAAe,EACf,WAAW,GACZ,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EACL,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,SAAS,GACV,MAAM,gCAAgC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
// Client
|
|
3
3
|
export { createStrapiClient, getErrorCode, getErrorStatus, isStrapiError, } from "./client/index.js";
|
|
4
4
|
// Populate
|
|
5
|
-
export { coreBlockPopulates, seoPopulate, footerPopulate, getPagePopulate, getPageListPopulate, getGlobalPopulate, getArticlePopulate, getArticleListPopulate, getNavigationPopulate, getSiteSettingsPopulate, getFaqPopulate, } from "./populate/index.js";
|
|
5
|
+
export { coreBlockPopulates, seoPopulate, footerPopulate, getPagePopulate, getPageListPopulate, getGlobalPopulate, getArticlePopulate, getArticleListPopulate, getNavigationPopulate, getSiteSettingsPopulate, getFaqPopulate, getCategoryPopulate, } from "./populate/index.js";
|
|
6
6
|
// API
|
|
7
7
|
export { getPage, getPageBySlug, listPages, listPagesRest, getArticle, getArticleBySlug, listArticles, getGlobal, getGlobalRest, getNavigation, getSiteSettings, listFaqs, listCategories, listTags, listAuthors, getAuthorBySlug, listSeries, getSeriesBySlug, postInquiry, } from "./api/index.js";
|
|
8
8
|
// Utils
|
|
9
9
|
export { getMediaUrl, getAssetUrl } from "./utils/index.js";
|
|
10
|
+
export { createAgentClient, AgentClientError, } from "./agent/create-agent-client.js";
|
|
10
11
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAoF1D,SAAS;AACT,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,aAAa,GACd,MAAM,mBAAmB,CAAC;AAG3B,WAAW;AACX,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAoF1D,SAAS;AACT,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,aAAa,GACd,MAAM,mBAAmB,CAAC;AAG3B,WAAW;AACX,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,EACd,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAE7B,MAAM;AACN,OAAO,EACL,OAAO,EACP,aAAa,EACb,SAAS,EACT,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,aAAa,EACb,aAAa,EACb,eAAe,EACf,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,WAAW,EACX,eAAe,EACf,UAAU,EACV,eAAe,EACf,WAAW,GACZ,MAAM,gBAAgB,CAAC;AAexB,QAAQ;AACR,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EACL,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,gCAAgC,CAAC"}
|
|
@@ -134,4 +134,12 @@ export declare function getSiteSettingsPopulate(): {
|
|
|
134
134
|
export declare function getFaqPopulate(): {
|
|
135
135
|
category: boolean;
|
|
136
136
|
};
|
|
137
|
+
/** Populate reverse FAQs and their single category without recursive FAQs. */
|
|
138
|
+
export declare function getCategoryPopulate(): {
|
|
139
|
+
faqs: {
|
|
140
|
+
populate: {
|
|
141
|
+
category: boolean;
|
|
142
|
+
};
|
|
143
|
+
};
|
|
144
|
+
};
|
|
137
145
|
//# sourceMappingURL=builders.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/populate/builders.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,wBAAgB,eAAe,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;YATA,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;EAe1F;AAED;;GAEG;AACH,wBAAgB,mBAAmB;;;;;;;;;EAKlC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;EA+BtE;AAED;;GAEG;AACH,wBAAgB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBjC;AAED;;GAEG;AACH,wBAAgB,sBAAsB;;;;;;;;;;;;EAYrC;AAED;;GAEG;AACH,wBAAgB,qBAAqB;;;;;;;;;;EAYpC;AAED;;GAEG;AACH,wBAAgB,uBAAuB;;;;;EAOtC;AAED;;GAEG;AACH,wBAAgB,cAAc;;EAI7B"}
|
|
1
|
+
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/populate/builders.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,wBAAgB,eAAe,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;YATA,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;EAe1F;AAED;;GAEG;AACH,wBAAgB,mBAAmB;;;;;;;;;EAKlC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;EA+BtE;AAED;;GAEG;AACH,wBAAgB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBjC;AAED;;GAEG;AACH,wBAAgB,sBAAsB;;;;;;;;;;;;EAYrC;AAED;;GAEG;AACH,wBAAgB,qBAAqB;;;;;;;;;;EAYpC;AAED;;GAEG;AACH,wBAAgB,uBAAuB;;;;;EAOtC;AAED;;GAEG;AACH,wBAAgB,cAAc;;EAI7B;AAED,8EAA8E;AAC9E,wBAAgB,mBAAmB;;;;;;EAElC"}
|
|
@@ -146,4 +146,8 @@ export function getFaqPopulate() {
|
|
|
146
146
|
category: true,
|
|
147
147
|
};
|
|
148
148
|
}
|
|
149
|
+
/** Populate reverse FAQs and their single category without recursive FAQs. */
|
|
150
|
+
export function getCategoryPopulate() {
|
|
151
|
+
return { faqs: { populate: getFaqPopulate() } };
|
|
152
|
+
}
|
|
149
153
|
//# sourceMappingURL=builders.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../../src/populate/builders.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../../src/populate/builders.ts"],"names":[],"mappings":"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"}
|
package/dist/populate/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { coreBlockPopulates, seoPopulate, footerPopulate } from './core-blocks.js';
|
|
2
|
-
export { getPagePopulate, getPageListPopulate, getGlobalPopulate, getArticlePopulate, getArticleListPopulate, getNavigationPopulate, getSiteSettingsPopulate, getFaqPopulate, } from './builders.js';
|
|
2
|
+
export { getPagePopulate, getPageListPopulate, getGlobalPopulate, getArticlePopulate, getArticleListPopulate, getNavigationPopulate, getSiteSettingsPopulate, getFaqPopulate, getCategoryPopulate, } from './builders.js';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/populate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/populate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,EACd,mBAAmB,GACpB,MAAM,eAAe,CAAC"}
|
package/dist/populate/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { coreBlockPopulates, seoPopulate, footerPopulate } from './core-blocks.js';
|
|
2
|
-
export { getPagePopulate, getPageListPopulate, getGlobalPopulate, getArticlePopulate, getArticleListPopulate, getNavigationPopulate, getSiteSettingsPopulate, getFaqPopulate, } from './builders.js';
|
|
2
|
+
export { getPagePopulate, getPageListPopulate, getGlobalPopulate, getArticlePopulate, getArticleListPopulate, getNavigationPopulate, getSiteSettingsPopulate, getFaqPopulate, getCategoryPopulate, } from './builders.js';
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/populate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/populate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,EACd,mBAAmB,GACpB,MAAM,eAAe,CAAC"}
|
package/dist/preview.cjs
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PREVIEW_TTL_SECONDS = void 0;
|
|
4
|
+
exports.isSafePreviewPath = isSafePreviewPath;
|
|
5
|
+
exports.verifyPreviewToken = verifyPreviewToken;
|
|
6
|
+
const node_crypto_1 = require("node:crypto");
|
|
7
|
+
exports.PREVIEW_TTL_SECONDS = 300;
|
|
8
|
+
function isSafePreviewPath(path) {
|
|
9
|
+
return (path.startsWith("/") &&
|
|
10
|
+
!path.startsWith("//") &&
|
|
11
|
+
!/[\\#]/.test(path) &&
|
|
12
|
+
!Array.from(path).some((character) => character.charCodeAt(0) <= 32) &&
|
|
13
|
+
!/%(?:2f|5c|0[0-9a-f]|1[0-9a-f]|20)/i.test(path));
|
|
14
|
+
}
|
|
15
|
+
/** Verify the server-only shared key and bind both redirect and draft status. */
|
|
16
|
+
function verifyPreviewToken(token, path, status, secret = process.env.PREVIEW_SECRET, now = Date.now()) {
|
|
17
|
+
if (!secret ||
|
|
18
|
+
!token ||
|
|
19
|
+
!path ||
|
|
20
|
+
!["draft", "published"].includes(status ?? ""))
|
|
21
|
+
return false;
|
|
22
|
+
if (!isSafePreviewPath(path))
|
|
23
|
+
return false;
|
|
24
|
+
const parts = token.split(".");
|
|
25
|
+
const payload = parts[0];
|
|
26
|
+
const signature = parts[1];
|
|
27
|
+
if (parts.length !== 2 ||
|
|
28
|
+
!payload ||
|
|
29
|
+
!signature ||
|
|
30
|
+
!/^[A-Za-z0-9_-]+$/.test(payload) ||
|
|
31
|
+
!/^[A-Za-z0-9_-]{43}$/.test(signature))
|
|
32
|
+
return false;
|
|
33
|
+
const expected = (0, node_crypto_1.createHmac)("sha256", secret).update(payload).digest();
|
|
34
|
+
const provided = Buffer.from(signature, "base64url");
|
|
35
|
+
if (provided.length !== expected.length ||
|
|
36
|
+
!(0, node_crypto_1.timingSafeEqual)(provided, expected))
|
|
37
|
+
return false;
|
|
38
|
+
try {
|
|
39
|
+
const claims = JSON.parse(Buffer.from(payload, "base64url").toString("utf8"));
|
|
40
|
+
if (typeof claims !== "object" || claims === null)
|
|
41
|
+
return false;
|
|
42
|
+
const value = claims;
|
|
43
|
+
const seconds = Math.floor(now / 1000);
|
|
44
|
+
return (value.path === path &&
|
|
45
|
+
value.status === status &&
|
|
46
|
+
typeof value.exp === "number" &&
|
|
47
|
+
Number.isInteger(value.exp) &&
|
|
48
|
+
value.exp > seconds &&
|
|
49
|
+
value.exp <= seconds + exports.PREVIEW_TTL_SECONDS);
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=preview.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview.cjs","sourceRoot":"","sources":["../src/preview.cts"],"names":[],"mappings":";;;AAIA,8CAQC;AAGD,gDAmDC;AAlED,6CAA0D;AAE7C,QAAA,mBAAmB,GAAG,GAAG,CAAC;AAEvC,SAAgB,iBAAiB,CAAC,IAAY;IAC5C,OAAO,CACL,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QACpB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QACtB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpE,CAAC,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,CACjD,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,SAAgB,kBAAkB,CAChC,KAAoB,EACpB,IAAmB,EACnB,MAAqB,EACrB,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,EACnC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAEhB,IACE,CAAC,MAAM;QACP,CAAC,KAAK;QACN,CAAC,IAAI;QACL,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;QAE9C,OAAO,KAAK,CAAC;IACf,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,IACE,KAAK,CAAC,MAAM,KAAK,CAAC;QAClB,CAAC,OAAO;QACR,CAAC,SAAS;QACV,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;QACjC,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC;QAEtC,OAAO,KAAK,CAAC;IACf,MAAM,QAAQ,GAAG,IAAA,wBAAU,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;IACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACrD,IACE,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;QACnC,CAAC,IAAA,6BAAe,EAAC,QAAQ,EAAE,QAAQ,CAAC;QAEpC,OAAO,KAAK,CAAC;IACf,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAChC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CACnD,CAAC;QACF,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QAChE,MAAM,KAAK,GAAG,MAAiC,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;QACvC,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,IAAI;YACnB,KAAK,CAAC,MAAM,KAAK,MAAM;YACvB,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;YAC7B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;YAC3B,KAAK,CAAC,GAAG,GAAG,OAAO;YACnB,KAAK,CAAC,GAAG,IAAI,OAAO,GAAG,2BAAmB,CAC3C,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const PREVIEW_TTL_SECONDS = 300;
|
|
2
|
+
export declare function isSafePreviewPath(path: string): boolean;
|
|
3
|
+
/** Verify the server-only shared key and bind both redirect and draft status. */
|
|
4
|
+
export declare function verifyPreviewToken(token: string | null, path: string | null, status: string | null, secret?: string | undefined, now?: number): boolean;
|
|
5
|
+
//# sourceMappingURL=preview.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview.d.cts","sourceRoot":"","sources":["../src/preview.cts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQvD;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,MAAM,qBAA6B,EACnC,GAAG,SAAa,GACf,OAAO,CA6CT"}
|
|
@@ -32,6 +32,8 @@ export interface SliderBlock extends StrapiComponent<'blocks.slider'> {
|
|
|
32
32
|
items: SliderItem[];
|
|
33
33
|
}
|
|
34
34
|
export interface InquiryFormBlock extends StrapiComponent<'blocks.inquiry-form'> {
|
|
35
|
+
consentLabel?: string | null;
|
|
36
|
+
consentVersion?: string | null;
|
|
35
37
|
section: Section | null;
|
|
36
38
|
successMessage: string | null;
|
|
37
39
|
errorMessage: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../src/types/components/blocks.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EACV,IAAI,EACJ,WAAW,EACX,aAAa,EACb,UAAU,EACV,SAAS,EACT,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,WAAW,EACX,UAAU,EACX,MAAM,aAAa,CAAC;AAMrB,MAAM,WAAW,SAAU,SAAQ,eAAe,CAAC,aAAa,CAAC;IAC/D,OAAO,EAAE,cAAc,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,eAAe,CAAC;IACnF,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;CAChE;AAMD,MAAM,WAAW,aAAc,SAAQ,eAAe,CAAC,iBAAiB,CAAC;IACvE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,aAAa,GAAG,aAAa,GAAG,aAAa,GAAG,qBAAqB,CAAC;IAC/E,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAMD,MAAM,WAAW,QAAS,SAAQ,eAAe,CAAC,YAAY,CAAC;IAC7D,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAGxB,OAAO,EAAE,eAAe,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,cAAc,GAAG,eAAe,GAAG,iBAAiB,GAAG,IAAI,CAAC;IAC9H,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC;CAC5B;AAMD,MAAM,WAAW,WAAY,SAAQ,eAAe,CAAC,eAAe,CAAC;IACnE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,YAAY,GAAG,aAAa,CAAC;IACtC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAMD,MAAM,WAAW,gBAAiB,SAAQ,eAAe,CAAC,qBAAqB,CAAC;IAC9E,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAMD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,WAAW,QAAS,SAAQ,eAAe,CAAC,YAAY,CAAC;IAC7D,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,gDAAgD;IAChD,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAMD,MAAM,WAAW,eAAgB,SAAQ,eAAe,CAAC,mBAAmB,CAAC;IAC3E,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,aAAa,GAAG,eAAe,GAAG,aAAa,CAAC;IACzD,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AAMD,MAAM,WAAW,cAAe,SAAQ,eAAe,CAAC,mBAAmB,CAAC;IAC1E,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAMD,MAAM,WAAW,iBAAkB,SAAQ,eAAe,CAAC,qBAAqB,CAAC;IAC/E,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,UAAU,GAAG,cAAc,GAAG,WAAW,GAAG,aAAa,CAAC;IACnE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAMD,MAAM,WAAW,cAAe,SAAQ,eAAe,CAAC,mBAAmB,CAAC;IAC1E,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IACjD,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAMD,MAAM,WAAW,UAAW,SAAQ,eAAe,CAAC,cAAc,CAAC;IACjE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,QAAQ,GAAG,WAAW,GAAG,OAAO,CAAC;IAC1C,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAMD,MAAM,WAAW,YAAa,SAAQ,eAAe,CAAC,gBAAgB,CAAC;IACrE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,YAAY,GAAG,cAAc,GAAG,QAAQ,GAAG,iBAAiB,CAAC;IACtE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAMD,MAAM,WAAW,YAAa,SAAQ,eAAe,CAAC,gBAAgB,CAAC;IACrE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,YAAY,CAAC;IACzC,IAAI,EAAE,aAAa,CAAC;CACrB;AAMD,MAAM,WAAW,SAAU,SAAQ,eAAe,CAAC,aAAa,CAAC;IAC/D,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IAC5C,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB"}
|
|
1
|
+
{"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../src/types/components/blocks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import type { StrapiI18nDocument } from '../strapi.js';
|
|
2
|
+
import type { FaqDocument } from './faq.js';
|
|
2
3
|
export interface Category {
|
|
3
4
|
name: string;
|
|
4
5
|
slug: string;
|
|
5
6
|
description: string | null;
|
|
6
7
|
sortOrder: number | null;
|
|
8
|
+
/** Present only when the reverse FAQ relation is populated. */
|
|
9
|
+
faqs?: FaqDocument[];
|
|
7
10
|
}
|
|
8
11
|
export type CategoryDocument = StrapiI18nDocument & Category;
|
|
9
12
|
//# sourceMappingURL=category.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"category.d.ts","sourceRoot":"","sources":["../../../src/types/content-types/category.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"category.d.ts","sourceRoot":"","sources":["../../../src/types/content-types/category.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG,QAAQ,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export type { Page, PageDocument, PageBlocks } from './page.js';
|
|
2
2
|
export type { Article, ArticleDocument } from './article.js';
|
|
3
3
|
export type { Faq, FaqDocument } from './faq.js';
|
|
4
|
-
export type { Inquiry, InquiryDocument, InquiryFormData } from './inquiry.js';
|
|
4
|
+
export type { Inquiry, InquiryDocument, InquiryFormData, InquiryReceipt, } from './inquiry.js';
|
|
5
5
|
export type { Category, CategoryDocument } from './category.js';
|
|
6
6
|
export type { Tag, TagDocument } from './tag.js';
|
|
7
7
|
export type { Author, AuthorDocument } from './author.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/content-types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAChE,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC7D,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACjD,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/content-types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAChE,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC7D,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACjD,YAAY,EACV,OAAO,EACP,eAAe,EACf,eAAe,EACf,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAChE,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACjD,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC1D,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC1D,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACtE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC1E,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -5,14 +5,27 @@ export interface Inquiry {
|
|
|
5
5
|
phone: string | null;
|
|
6
6
|
subject: string | null;
|
|
7
7
|
message: string | null;
|
|
8
|
+
/** Nullable for submissions stored before consent auditing was introduced. */
|
|
9
|
+
consent: boolean | null;
|
|
10
|
+
consentAt: string | null;
|
|
11
|
+
consentVersion: string | null;
|
|
12
|
+
processingStatus: 'received' | 'reviewing' | 'responded' | 'closed' | null;
|
|
8
13
|
}
|
|
9
14
|
export type InquiryDocument = StrapiDocument & Inquiry;
|
|
10
15
|
/** POST body for creating an inquiry via API */
|
|
11
16
|
export interface InquiryFormData {
|
|
12
17
|
name: string;
|
|
18
|
+
consent: true;
|
|
19
|
+
consentVersion: string;
|
|
20
|
+
/** Stable per submission intent; omit only for integrations without retries. */
|
|
21
|
+
idempotencyKey?: string;
|
|
13
22
|
email?: string;
|
|
14
23
|
phone?: string;
|
|
15
24
|
subject?: string;
|
|
16
25
|
message?: string;
|
|
17
26
|
}
|
|
27
|
+
/** Public receipt contains no submission data or document identifiers. */
|
|
28
|
+
export interface InquiryReceipt {
|
|
29
|
+
accepted: true;
|
|
30
|
+
}
|
|
18
31
|
//# sourceMappingURL=inquiry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inquiry.d.ts","sourceRoot":"","sources":["../../../src/types/content-types/inquiry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"inquiry.d.ts","sourceRoot":"","sources":["../../../src/types/content-types/inquiry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,8EAA8E;IAC9E,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,gBAAgB,EAAE,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,IAAI,CAAC;CAC5E;AAED,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,OAAO,CAAC;AAEvD,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,IAAI,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,0EAA0E;AAC1E,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,IAAI,CAAC;CAChB"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export type { StrapiDocument, StrapiI18nDocument, LocalizationRef, StrapiComponent, StrapiResponse, StrapiCollectionResponse, StrapiPagination, StrapiError, StrapiMedia, StrapiMediaFormat, BlocksContent, BlockNode, BlockParagraph, BlockHeading, BlockList, BlockListItem, BlockQuote, BlockCode, BlockImage, BlockInlineNode, BlockTextChild, BlockLinkChild, } from './strapi.js';
|
|
2
2
|
export type { Link, NavigationGroup, Image, Seo, FeatureItem, HighlightItem, SliderItem, BentoItem, TestimonialItem, LogoItem, StatItem, PricingTier, TeamMember, AnalyticsSetting, ChatbotSetting, SiteVerification, BrandColors, Section, Footer, HeroBlock, FeaturesBlock, CtaBlock, SliderBlock, InquiryFormBlock, FaqBlock, HighlightsBlock, BentoGridBlock, TestimonialsBlock, LogoCloudBlock, StatsBlock, PricingBlock, ContentBlock, TeamBlock, } from './components/index.js';
|
|
3
|
-
export type { Page, PageDocument, PageBlocks, Article, ArticleDocument, Faq, FaqDocument, Inquiry, InquiryDocument, InquiryFormData, Category, CategoryDocument, Tag, TagDocument, Author, AuthorDocument, Series, SeriesDocument, Navigation, NavigationDocument, Global, GlobalDocument, SiteWideBlocks, SiteSettings, SiteSettingsDocument, } from './content-types/index.js';
|
|
3
|
+
export type { Page, PageDocument, PageBlocks, Article, ArticleDocument, Faq, FaqDocument, Inquiry, InquiryDocument, InquiryFormData, InquiryReceipt, Category, CategoryDocument, Tag, TagDocument, Author, AuthorDocument, Series, SeriesDocument, Navigation, NavigationDocument, Global, GlobalDocument, SiteWideBlocks, SiteSettings, SiteSettingsDocument, } from './content-types/index.js';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,cAAc,EACd,wBAAwB,EACxB,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,cAAc,EACd,YAAY,EACZ,SAAS,EACT,aAAa,EACb,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,cAAc,EACd,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,IAAI,EACJ,eAAe,EACf,KAAK,EACL,GAAG,EACH,WAAW,EACX,aAAa,EACb,UAAU,EACV,SAAS,EACT,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,OAAO,EACP,MAAM,EACN,SAAS,EACT,aAAa,EACb,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,SAAS,GACV,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,OAAO,EACP,eAAe,EACf,GAAG,EACH,WAAW,EACX,OAAO,EACP,eAAe,EACf,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,GAAG,EACH,WAAW,EACX,MAAM,EACN,cAAc,EACd,MAAM,EACN,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,MAAM,EACN,cAAc,EACd,cAAc,EACd,YAAY,EACZ,oBAAoB,GACrB,MAAM,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,cAAc,EACd,wBAAwB,EACxB,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,cAAc,EACd,YAAY,EACZ,SAAS,EACT,aAAa,EACb,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,cAAc,EACd,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,IAAI,EACJ,eAAe,EACf,KAAK,EACL,GAAG,EACH,WAAW,EACX,aAAa,EACb,UAAU,EACV,SAAS,EACT,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,OAAO,EACP,MAAM,EACN,SAAS,EACT,aAAa,EACb,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,SAAS,GACV,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,OAAO,EACP,eAAe,EACf,GAAG,EACH,WAAW,EACX,OAAO,EACP,eAAe,EACf,eAAe,EACf,cAAc,EACd,QAAQ,EACR,gBAAgB,EAChB,GAAG,EACH,WAAW,EACX,MAAM,EACN,cAAc,EACd,MAAM,EACN,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,MAAM,EACN,cAAc,EACd,cAAc,EACd,YAAY,EACZ,oBAAoB,GACrB,MAAM,0BAA0B,CAAC"}
|
package/docs/api-guide.md
CHANGED
|
@@ -40,7 +40,7 @@ const client = createStrapiClient({
|
|
|
40
40
|
| `getAuthorBySlug(client, slug)` | GET | `/api/builder/authors` | `AuthorDocument \| null` | Filter by slug |
|
|
41
41
|
| `listSeries(client, opts?)` | GET | `/api/builder/all-series` | `{ data, meta }` | Note: `/all-series` not `/series`; pagination: `page`, `pageSize` |
|
|
42
42
|
| `getSeriesBySlug(client, slug, locale?)` | GET | `/api/builder/all-series` | `SeriesDocument \| null` | Filter by slug |
|
|
43
|
-
| `postInquiry(client, data)` | POST | `/api/builder/inquiries` | `
|
|
43
|
+
| `postInquiry(client, data)` | POST | `/api/builder/inquiries` | `InquiryReceipt` | Body: `InquiryFormData` |
|
|
44
44
|
|
|
45
45
|
## Smart vs REST
|
|
46
46
|
|
|
@@ -71,7 +71,8 @@ Populate builders construct the nested `populate` parameter for REST queries:
|
|
|
71
71
|
| `getArticleListPopulate()` | Article list with cover, categories, tags, author |
|
|
72
72
|
| `getNavigationPopulate()` | Navigation with logos and nav groups |
|
|
73
73
|
| `getSiteSettingsPopulate()` | SiteSettings with analytics, chatbot, verifications |
|
|
74
|
-
| `getFaqPopulate()` | FAQ with category |
|
|
74
|
+
| `getFaqPopulate()` | FAQ with one nullable category |
|
|
75
|
+
| `getCategoryPopulate()` | Category with its FAQ collection and each FAQ's single category |
|
|
75
76
|
|
|
76
77
|
**Extending with custom blocks:**
|
|
77
78
|
|
|
@@ -123,14 +124,32 @@ const global = await getGlobal(client, { locale: 'ko' });
|
|
|
123
124
|
### Submit inquiry
|
|
124
125
|
|
|
125
126
|
```ts
|
|
126
|
-
const
|
|
127
|
-
name:
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
127
|
+
const receipt = await postInquiry(client, {
|
|
128
|
+
name: "John Doe",
|
|
129
|
+
consent: true,
|
|
130
|
+
consentVersion: "1",
|
|
131
|
+
idempotencyKey: crypto.randomUUID(),
|
|
132
|
+
email: "john@example.com",
|
|
133
|
+
subject: "General inquiry",
|
|
134
|
+
message: "Hello...",
|
|
131
135
|
});
|
|
132
136
|
```
|
|
133
137
|
|
|
138
|
+
The response is only `{ accepted: true }`, including on replay; it contains no
|
|
139
|
+
submission fields, IDs, or keys. `InquiryDocument` describes internal/admin
|
|
140
|
+
records, whose audit fields may be null for legacy submissions. Public Inquiry
|
|
141
|
+
read, update, and delete routes are unavailable.
|
|
142
|
+
|
|
143
|
+
Consent must be literal `true`, with a nonempty printable ASCII version identifier
|
|
144
|
+
(up to 120 characters) identifying the notice shown to the submitter. Keep the
|
|
145
|
+
same idempotency key across retries of unchanged input. Keys are trimmed, case
|
|
146
|
+
sensitive, at most 128 characters, and use letters, digits, `.`, `_`, `:`, or `-`
|
|
147
|
+
(starting with a letter or digit). A changed payload using an existing key gets
|
|
148
|
+
the original acceptance receipt without overwriting the record. Generate a new
|
|
149
|
+
key for a new submission. Keys are optional for older integrations, but omitted
|
|
150
|
+
keys are stored as SQL NULL and every such request creates an independent row.
|
|
151
|
+
See [consumer configuration and migration](../../../docs/guides/extending-builder.md#inquiry-validation-and-additive-fields).
|
|
152
|
+
|
|
134
153
|
## Media URL Resolution
|
|
135
154
|
|
|
136
155
|
```ts
|
|
@@ -221,3 +240,9 @@ export const fetchPage = (docId: string, locale?: string) =>
|
|
|
221
240
|
export const fetchGlobal = (locale?: string) =>
|
|
222
241
|
getGlobal(strapi, { locale });
|
|
223
242
|
```
|
|
243
|
+
|
|
244
|
+
## FAQ categories
|
|
245
|
+
|
|
246
|
+
Many FAQs can share one category. `FaqDocument.category` remains a single category or `null`. Category lists omit the reverse relation by default; request it with `listCategories(client, { populateFaqs: true, locale: 'en' })`. When populated, `CategoryDocument.faqs` is an array, including `[]` for a category with no visible FAQs. `getCategoryPopulate()` returns `{ faqs: { populate: { category: true } } }` for custom REST queries; nested categories omit their own FAQs, so population stays finite. Normal Strapi publication, locale, and authorization rules apply to populated FAQs.
|
|
247
|
+
|
|
248
|
+
Upgrading the builder plugin preserves existing links during schema synchronization on SQLite and PostgreSQL. Take a database backup before upgrading and confirm FAQ categories after the first boot. Once categories have multiple FAQs, a downgrade to the previous one-to-one schema is unsafe; restore the backup or first reduce each category to one FAQ document, checking draft/published and locale records.
|
package/docs/block-reference.md
CHANGED
|
@@ -124,6 +124,8 @@ lives inside the nested `section` component, not at the block root.
|
|
|
124
124
|
| `section` | component `elements.section` | — | — | — |
|
|
125
125
|
| `successMessage` | text | — | — | — |
|
|
126
126
|
| `errorMessage` | text | — | — | — |
|
|
127
|
+
| `consentLabel` | text | — | — | — |
|
|
128
|
+
| `consentVersion` | string | — | — | maxLength 120 |
|
|
127
129
|
|
|
128
130
|
## Logo Cloud
|
|
129
131
|
|
package/docs/content-types.md
CHANGED
|
@@ -81,6 +81,7 @@ Unified category for articles and FAQs
|
|
|
81
81
|
| `description` | text | — | — | — |
|
|
82
82
|
| `sortOrder` | integer | — | — | — |
|
|
83
83
|
| `articles` | relation `manyToMany` → `plugin::builder.article` | — | — | — |
|
|
84
|
+
| `faqs` | relation `oneToMany` → `plugin::builder.faq` | — | — | — |
|
|
84
85
|
|
|
85
86
|
## FAQ
|
|
86
87
|
|
|
@@ -91,7 +92,7 @@ Frequently asked question entry
|
|
|
91
92
|
| `question` | string | — | — | maxLength 255 |
|
|
92
93
|
| `answer` | blocks | — | — | — |
|
|
93
94
|
| `sortOrder` | integer | — | — | — |
|
|
94
|
-
| `category` | relation `
|
|
95
|
+
| `category` | relation `manyToOne` → `plugin::builder.category` | — | — | — |
|
|
95
96
|
|
|
96
97
|
## Global
|
|
97
98
|
|
|
@@ -121,6 +122,11 @@ Contact form submission data
|
|
|
121
122
|
| `phone` | string | — | — | maxLength 40 |
|
|
122
123
|
| `subject` | string | — | — | maxLength 200 |
|
|
123
124
|
| `message` | text | — | — | maxLength 5000 |
|
|
125
|
+
| `consent` | boolean | — | — | — |
|
|
126
|
+
| `consentAt` | datetime | — | — | — |
|
|
127
|
+
| `consentVersion` | string | — | — | maxLength 120 |
|
|
128
|
+
| `processingStatus` | enumeration | — | — | `received`, `reviewing`, `responded`, `closed` |
|
|
129
|
+
| `idempotencyKey` | string | — | — | maxLength 128 |
|
|
124
130
|
|
|
125
131
|
## Legal Document
|
|
126
132
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dani-builder/strapi-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"description": "TypeScript client for Daniworks Builder CMS (Strapi v5)",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -28,6 +28,18 @@
|
|
|
28
28
|
"./utils": {
|
|
29
29
|
"types": "./dist/utils/index.d.ts",
|
|
30
30
|
"import": "./dist/utils/index.js"
|
|
31
|
+
},
|
|
32
|
+
"./preview": {
|
|
33
|
+
"types": "./dist/preview.d.cts",
|
|
34
|
+
"import": "./dist/preview.cjs",
|
|
35
|
+
"require": "./dist/preview.cjs"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"typesVersions": {
|
|
39
|
+
"*": {
|
|
40
|
+
"preview": [
|
|
41
|
+
"dist/preview.d.cts"
|
|
42
|
+
]
|
|
31
43
|
}
|
|
32
44
|
},
|
|
33
45
|
"files": [
|
|
@@ -47,12 +59,14 @@
|
|
|
47
59
|
},
|
|
48
60
|
"dependencies": {
|
|
49
61
|
"axios": "^1.19.0",
|
|
50
|
-
"qs": "^6.15.3"
|
|
62
|
+
"qs": "^6.15.3",
|
|
63
|
+
"@dani-builder/agent-contract": "0.5.0"
|
|
51
64
|
},
|
|
52
65
|
"devDependencies": {
|
|
53
66
|
"@types/qs": "^6.15.1",
|
|
54
67
|
"eslint": "^10.8.1",
|
|
55
68
|
"typescript": "^6.0.3",
|
|
69
|
+
"@types/node": "^26",
|
|
56
70
|
"@repo/eslint-config": "0.0.0",
|
|
57
71
|
"@repo/typescript-config": "0.0.0"
|
|
58
72
|
},
|