@agentcms/react 0.1.0 → 0.1.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.
@@ -0,0 +1,17 @@
1
+ import type { AgentCMSConfig, AgentCMSPost, GetPostsParams, GetPostsResult, GetCategoriesResult, GetTagsResult, SiteContext } from "./types.js";
2
+ export declare class AgentCMSClient {
3
+ private baseUrl;
4
+ private apiKey?;
5
+ constructor(config?: AgentCMSConfig);
6
+ private fetch;
7
+ getPosts(params?: GetPostsParams): Promise<GetPostsResult>;
8
+ getPost(slug: string): Promise<AgentCMSPost>;
9
+ getCategories(): Promise<GetCategoriesResult>;
10
+ getTags(): Promise<GetTagsResult>;
11
+ getContext(): Promise<SiteContext>;
12
+ }
13
+ export declare class AgentCMSError extends Error {
14
+ status: number;
15
+ constructor(status: number, body: string);
16
+ }
17
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAC,CAAS;gBAEZ,MAAM,GAAE,cAAmB;YAKzB,KAAK;IAiBb,QAAQ,CAAC,MAAM,GAAE,cAAmB,GAAG,OAAO,CAAC,cAAc,CAAC;IA0B9D,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAI5C,aAAa,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAI7C,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC;IAMjC,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC;CAGzC;AAED,qBAAa,aAAc,SAAQ,KAAK;IACtC,MAAM,EAAE,MAAM,CAAC;gBAEH,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAKzC"}
package/dist/client.js ADDED
@@ -0,0 +1,66 @@
1
+ // ============================================================================
2
+ // @agentcms/react — API Client
3
+ // ============================================================================
4
+ export class AgentCMSClient {
5
+ baseUrl;
6
+ apiKey;
7
+ constructor(config = {}) {
8
+ this.baseUrl = (config.baseUrl ?? "/api").replace(/\/+$/, "");
9
+ this.apiKey = config.apiKey;
10
+ }
11
+ async fetch(path, auth = false) {
12
+ const headers = {
13
+ Accept: "application/json",
14
+ };
15
+ if (auth && this.apiKey) {
16
+ headers.Authorization = `Bearer ${this.apiKey}`;
17
+ }
18
+ const res = await fetch(`${this.baseUrl}${path}`, { headers });
19
+ if (!res.ok) {
20
+ throw new AgentCMSError(res.status, await res.text());
21
+ }
22
+ return res.json();
23
+ }
24
+ // --- Public endpoints (no auth) ---
25
+ async getPosts(params = {}) {
26
+ const { page = 1, limit = 20, tag, category } = params;
27
+ const offset = (page - 1) * limit;
28
+ const qs = new URLSearchParams();
29
+ qs.set("limit", String(limit));
30
+ qs.set("offset", String(offset));
31
+ if (tag)
32
+ qs.set("tag", tag);
33
+ if (category)
34
+ qs.set("category", category);
35
+ const raw = await this.fetch(`/posts?${qs}`);
36
+ return {
37
+ posts: raw.posts,
38
+ total: raw.total,
39
+ totalPages: Math.ceil(raw.total / limit),
40
+ page,
41
+ hasMore: raw.hasMore,
42
+ };
43
+ }
44
+ async getPost(slug) {
45
+ return this.fetch(`/posts/${encodeURIComponent(slug)}`);
46
+ }
47
+ async getCategories() {
48
+ return this.fetch("/categories");
49
+ }
50
+ async getTags() {
51
+ return this.fetch("/tags");
52
+ }
53
+ // --- Agent endpoints (auth required) ---
54
+ async getContext() {
55
+ return this.fetch("/agent/context", true);
56
+ }
57
+ }
58
+ export class AgentCMSError extends Error {
59
+ status;
60
+ constructor(status, body) {
61
+ super(`AgentCMS API error ${status}: ${body}`);
62
+ this.name = "AgentCMSError";
63
+ this.status = status;
64
+ }
65
+ }
66
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { GetPostsParams, GetPostsResult, GetCategoriesResult, GetTagsResult, AgentCMSPost } from "./types.js";
2
+ export declare function useAgentCMSPosts(params?: GetPostsParams): import("@tanstack/react-query").UseQueryResult<GetPostsResult, Error>;
3
+ export declare function useAgentCMSPost(slug: string | undefined | null): import("@tanstack/react-query").UseQueryResult<AgentCMSPost, Error>;
4
+ export declare function useAgentCMSCategories(): import("@tanstack/react-query").UseQueryResult<GetCategoriesResult, Error>;
5
+ export declare function useAgentCMSTags(): import("@tanstack/react-query").UseQueryResult<GetTagsResult, Error>;
6
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,YAAY,EACb,MAAM,YAAY,CAAC;AAIpB,wBAAgB,gBAAgB,CAAC,MAAM,GAAE,cAAmB,yEAQ3D;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,uEAQ9D;AAED,wBAAgB,qBAAqB,+EAOpC;AAED,wBAAgB,eAAe,yEAO9B"}
package/dist/hooks.js ADDED
@@ -0,0 +1,41 @@
1
+ // ============================================================================
2
+ // @agentcms/react — TanStack Query Hooks
3
+ // ============================================================================
4
+ import { useQuery, keepPreviousData } from "@tanstack/react-query";
5
+ import { useAgentCMSClient } from "./provider.js";
6
+ const STALE_TIME = 60_000; // 60s — matches server Cache-Control
7
+ export function useAgentCMSPosts(params = {}) {
8
+ const client = useAgentCMSClient();
9
+ return useQuery({
10
+ queryKey: ["agentcms", "posts", params],
11
+ queryFn: () => client.getPosts(params),
12
+ staleTime: STALE_TIME,
13
+ placeholderData: keepPreviousData,
14
+ });
15
+ }
16
+ export function useAgentCMSPost(slug) {
17
+ const client = useAgentCMSClient();
18
+ return useQuery({
19
+ queryKey: ["agentcms", "post", slug],
20
+ queryFn: () => client.getPost(slug),
21
+ enabled: !!slug,
22
+ staleTime: STALE_TIME,
23
+ });
24
+ }
25
+ export function useAgentCMSCategories() {
26
+ const client = useAgentCMSClient();
27
+ return useQuery({
28
+ queryKey: ["agentcms", "categories"],
29
+ queryFn: () => client.getCategories(),
30
+ staleTime: STALE_TIME,
31
+ });
32
+ }
33
+ export function useAgentCMSTags() {
34
+ const client = useAgentCMSClient();
35
+ return useQuery({
36
+ queryKey: ["agentcms", "tags"],
37
+ queryFn: () => client.getTags(),
38
+ staleTime: STALE_TIME,
39
+ });
40
+ }
41
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,yCAAyC;AACzC,+EAA+E;AAE/E,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AASlD,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,qCAAqC;AAEhE,MAAM,UAAU,gBAAgB,CAAC,SAAyB,EAAE;IAC1D,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,OAAO,QAAQ,CAAiB;QAC9B,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC;QACvC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QACtC,SAAS,EAAE,UAAU;QACrB,eAAe,EAAE,gBAAgB;KAClC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAA+B;IAC7D,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,OAAO,QAAQ,CAAe;QAC5B,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC;QACpC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAK,CAAC;QACpC,OAAO,EAAE,CAAC,CAAC,IAAI;QACf,SAAS,EAAE,UAAU;KACtB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,OAAO,QAAQ,CAAsB;QACnC,QAAQ,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC;QACpC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE;QACrC,SAAS,EAAE,UAAU;KACtB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,OAAO,QAAQ,CAAgB;QAC7B,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;QAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE;QAC/B,SAAS,EAAE,UAAU;KACtB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { AgentCMSClient, AgentCMSError } from "./client.js";
2
+ export { AgentCMSProvider, useAgentCMSClient } from "./provider.js";
3
+ export type { AgentCMSProviderProps } from "./provider.js";
4
+ export { useAgentCMSPosts, useAgentCMSPost, useAgentCMSCategories, useAgentCMSTags, } from "./hooks.js";
5
+ export type { AgentCMSPost, GetPostsParams, GetPostsResult, GetCategoriesResult, GetTagsResult, SiteContext, AgentCMSConfig, } from "./types.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpE,YAAY,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAG3D,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,YAAY,EACZ,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,cAAc,GACf,MAAM,YAAY,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,10 @@
1
+ // ============================================================================
2
+ // @agentcms/react — React SDK for AgentCMS
3
+ // ============================================================================
4
+ // Client
5
+ export { AgentCMSClient, AgentCMSError } from "./client.js";
6
+ // Provider
7
+ export { AgentCMSProvider, useAgentCMSClient } from "./provider.js";
8
+ // Hooks
9
+ export { useAgentCMSPosts, useAgentCMSPost, useAgentCMSCategories, useAgentCMSTags, } from "./hooks.js";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,2CAA2C;AAC3C,+EAA+E;AAE/E,SAAS;AACT,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5D,WAAW;AACX,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGpE,QAAQ;AACR,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,eAAe,GAChB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { type ReactNode } from "react";
2
+ import { AgentCMSClient } from "./client.js";
3
+ import type { AgentCMSConfig } from "./types.js";
4
+ export interface AgentCMSProviderProps extends AgentCMSConfig {
5
+ children: ReactNode;
6
+ }
7
+ export declare function AgentCMSProvider({ baseUrl, apiKey, children, }: AgentCMSProviderProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function useAgentCMSClient(): AgentCMSClient;
9
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIjD,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,OAAgB,EAChB,MAAM,EACN,QAAQ,GACT,EAAE,qBAAqB,2CAWvB;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAQlD"}
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // ============================================================================
3
+ // @agentcms/react — Context Provider
4
+ // ============================================================================
5
+ import { createContext, useContext, useMemo } from "react";
6
+ import { AgentCMSClient } from "./client.js";
7
+ const AgentCMSContext = createContext(null);
8
+ export function AgentCMSProvider({ baseUrl = "/api", apiKey, children, }) {
9
+ const client = useMemo(() => new AgentCMSClient({ baseUrl, apiKey }), [baseUrl, apiKey]);
10
+ return (_jsx(AgentCMSContext.Provider, { value: client, children: children }));
11
+ }
12
+ export function useAgentCMSClient() {
13
+ const client = useContext(AgentCMSContext);
14
+ if (!client) {
15
+ throw new Error("useAgentCMSClient must be used within an <AgentCMSProvider>");
16
+ }
17
+ return client;
18
+ }
19
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":";AAAA,+EAA+E;AAC/E,qCAAqC;AACrC,+EAA+E;AAE/E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAkB,MAAM,OAAO,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,MAAM,eAAe,GAAG,aAAa,CAAwB,IAAI,CAAC,CAAC;AAMnE,MAAM,UAAU,gBAAgB,CAAC,EAC/B,OAAO,GAAG,MAAM,EAChB,MAAM,EACN,QAAQ,GACc;IACtB,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CAAC,IAAI,cAAc,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAC7C,CAAC,OAAO,EAAE,MAAM,CAAC,CAClB,CAAC;IAEF,OAAO,CACL,KAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,YACpC,QAAQ,GACgB,CAC5B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,MAAM,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,73 @@
1
+ export interface AgentCMSPost {
2
+ slug: string;
3
+ title: string;
4
+ description: string;
5
+ content: string;
6
+ contentHtml?: string;
7
+ author: string;
8
+ authorType: "agent" | "human";
9
+ tags: string[];
10
+ category?: string;
11
+ publishedAt: string;
12
+ updatedAt: string;
13
+ status: "published" | "draft" | "scheduled";
14
+ scheduledFor?: string;
15
+ featuredImage?: string;
16
+ ogImage?: string;
17
+ readingTime?: number;
18
+ featured?: boolean;
19
+ metadata: Record<string, unknown>;
20
+ }
21
+ export interface GetPostsParams {
22
+ page?: number;
23
+ limit?: number;
24
+ tag?: string;
25
+ category?: string;
26
+ }
27
+ export interface GetPostsResult {
28
+ posts: AgentCMSPost[];
29
+ total: number;
30
+ totalPages: number;
31
+ page: number;
32
+ hasMore: boolean;
33
+ }
34
+ export interface GetCategoriesResult {
35
+ categories: Array<{
36
+ category: string;
37
+ count: number;
38
+ }>;
39
+ }
40
+ export interface GetTagsResult {
41
+ tags: Array<{
42
+ tag: string;
43
+ count: number;
44
+ }>;
45
+ }
46
+ export interface SiteContext {
47
+ site: {
48
+ name: string;
49
+ description: string;
50
+ url: string;
51
+ language: string;
52
+ };
53
+ writingGuidelines: {
54
+ tone: string;
55
+ targetAudience: string;
56
+ preferredLength: string;
57
+ };
58
+ existingContent: {
59
+ totalPosts: number;
60
+ recentTitles: string[];
61
+ existingTags: string[];
62
+ existingCategories: string[];
63
+ };
64
+ capabilities: {
65
+ maxContentLength: number;
66
+ markdownFeatures: string[];
67
+ };
68
+ }
69
+ export interface AgentCMSConfig {
70
+ baseUrl?: string;
71
+ apiKey?: string;
72
+ }
73
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC;IAC9B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,GAAG,OAAO,GAAG,WAAW,CAAC;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,iBAAiB,EAAE;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,eAAe,EAAE;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,kBAAkB,EAAE,MAAM,EAAE,CAAC;KAC9B,CAAC;IACF,YAAY,EAAE;QACZ,gBAAgB,EAAE,MAAM,CAAC;QACzB,gBAAgB,EAAE,MAAM,EAAE,CAAC;KAC5B,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
package/dist/types.js ADDED
@@ -0,0 +1,5 @@
1
+ // ============================================================================
2
+ // @agentcms/react — Client-side Types
3
+ // ============================================================================
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,sCAAsC;AACtC,+EAA+E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentcms/react",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "React SDK for AgentCMS headless API",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -17,8 +17,13 @@
17
17
  "default": "./dist/index.js"
18
18
  }
19
19
  },
20
+ "files": [
21
+ "dist",
22
+ "src"
23
+ ],
20
24
  "scripts": {
21
25
  "build": "tsc",
26
+ "prepublishOnly": "npm run build",
22
27
  "test": "vitest run"
23
28
  },
24
29
  "publishConfig": {
package/tsconfig.json DELETED
@@ -1,19 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2022",
4
- "module": "ES2022",
5
- "moduleResolution": "bundler",
6
- "outDir": "./dist",
7
- "rootDir": "./src",
8
- "declaration": true,
9
- "declarationMap": true,
10
- "sourceMap": true,
11
- "strict": true,
12
- "esModuleInterop": true,
13
- "skipLibCheck": true,
14
- "jsx": "react-jsx",
15
- "lib": ["ES2022", "DOM"]
16
- },
17
- "include": ["src"],
18
- "exclude": ["src/**/*.test.*"]
19
- }