@adkinn/astro-ai-readiness 0.0.8 → 0.0.10

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
@@ -1,15 +1,16 @@
1
1
  # @adkinn/astro-ai-readiness
2
2
 
3
- > AI Readiness toolkit for Astro — seven JSON-LD helper components plus `dist/llms.txt`, `dist/llms-full.txt`, `dist/agents.md`, `dist/robots.txt`, and `dist/.well-known/mcp.json`.
3
+ > AI Readiness toolkit for Astro — eight JSON-LD helper components plus `dist/llms.txt`, `dist/llms-full.txt`, `dist/agents.md`, `dist/robots.txt`, and `dist/.well-known/mcp.json`.
4
4
 
5
- **Status:** v0.0.8first-class `Person` identity. Sites whose primary identity is an individual (personal brands, solo builders) can now lead with a `Person` instead of an `Organization`: `organization` is optional, and the `llms.txt` heading + WebSite publisher follow the `person` when set.
5
+ **Status:** v0.0.10app/product support. A `<SoftwareApplicationSchema />` component (screenshots, feature list, offers), Organization `description` + `sameAs` + `contactPoint`, `founder.url`, WebSite `inLanguage`, and custom `## sections` for `agents.md` everything an app/product site needs at full fidelity, proven on a real one.
6
6
 
7
- ## What ships in v0.0.8
7
+ ## What ships in v0.0.10
8
8
 
9
- **Seven JSON-LD components**:
10
- - `<OrganizationSchema />` — Organization block. Config-driven from `organization` (optional); place in your `BaseLayout` so it ships site-wide and the `#organization` `@id` reference resolves on every page. Renders nothing if `organization` is unset.
9
+ **Eight JSON-LD components**:
10
+ - `<OrganizationSchema />` — Organization block. Config-driven from `organization` (optional; now supports `description`, `contactPoint`, and `founder.url`); place in your `BaseLayout` so it ships site-wide and the `#organization` `@id` reference resolves on every page. Renders nothing if `organization` is unset.
11
11
  - `<PersonSchema />` — Person block. Config-driven from `person` (optional); for sites whose primary identity is an individual. Place in your `BaseLayout`; declares `#person`, and becomes the WebSite publisher when set. Renders nothing if `person` is unset.
12
- - `<WebSiteSchema />` — WebSite block. Config-driven; alongside `<OrganizationSchema />` or `<PersonSchema />` in `BaseLayout`.
12
+ - `<SoftwareApplicationSchema />` — SoftwareApplication block. Config-driven from `softwareApplication` (optional); for app/product sites. Emits `#app` with `operatingSystem`, `applicationCategory`, `screenshot[]`, `featureList[]`, `offers[]`, and links `publisher`/`author` to the site's Organization (or Person). Renders nothing if unset.
13
+ - `<WebSiteSchema />` — WebSite block. Config-driven (now supports `inLanguage`); alongside `<OrganizationSchema />` or `<PersonSchema />` in `BaseLayout`.
13
14
  - `<CollectionSchema name url description? />` — CollectionPage block. Props-driven; place on collection-index pages (`/articles/`, `/tags/[tag]/`, etc.).
14
15
  - `<BreadcrumbSchema items={[{ name, url }, ...]} />` — BreadcrumbList. Items-array prop; place on multi-level pages where the navigation hierarchy isn't already declared inline. Empty `items` skips emission.
15
16
  - `<FAQPageSchema items={[{ question, answer }, ...]} />` — FAQPage. Items-array prop; place on pages with FAQ data. Long-form answers escape `</script>` and U+2028 / U+2029 automatically. Empty `items` skips emission.
@@ -18,13 +19,13 @@
18
19
  **Five file outputs**:
19
20
  - `dist/llms.txt` — [llmstxt.org](https://llmstxt.org/) format from the `llmsTxt` config block. H1 / blockquote summary / optional body / H2 sections with bulleted links / optional canonical-reference footer. Opt-in.
20
21
  - `dist/llms-full.txt` — manual full-context markdown from the `llmsFull` config block. This is config-driven in v0.0.7; content-collection introspection is a later layer.
21
- - `dist/agents.md` — Markdown discovery file for AI-agent crawlers from the `agentsMd` config block. H1 / blockquote description / optional `## Audience`, `## Contact`, `## Links` sections. Opt-in.
22
+ - `dist/agents.md` — Markdown discovery file for AI-agent crawlers from the `agentsMd` config block. H1 / blockquote description / optional `## Audience`, arbitrary `## sections` (title + markdown content), `## Contact`, and `## Links`. Opt-in.
22
23
  - `dist/.well-known/mcp.json` — [Model Context Protocol](https://modelcontextprotocol.io/) discovery file from the `mcp` config block. Pretty-printed JSON with `$schema` reference to the toolkit-published v1 shape (per D-22). Supports `status: 'active'` (requires `url` + `tools[]`) and `status: 'planned'` (requires `planned_tools[]`; `url` forbidden by schema). Opt-in.
23
24
  - `dist/robots.txt` — robots policy composition from the `robotsTxt` config block. Presets: `search-visible`, `training-opt-out` (default), and `private`; supports explicit bot rules, `Sitemap`, and optional `Content-Signal` directives.
24
25
 
25
26
  **`@astrojs/sitemap` detection per D-8.** When you call `aiReadiness({...})` and `@astrojs/sitemap` isn't in your integrations list, the toolkit logs a build-time warning. Sitemap is an AI-Readiness baseline; when `robotsTxt` is enabled, the generated `robots.txt` includes a `Sitemap` line by default.
26
27
 
27
- All seven components emit canonical Schema.org JSON-LD with cross-component `@id` references (`#organization`, `#person`, `#website`) so search and AI consumers can resolve the entity graph without redeclaring shared fields.
28
+ All eight components emit canonical Schema.org JSON-LD with cross-component `@id` references (`#organization`, `#person`, `#app`, `#website`) so search and AI consumers can resolve the entity graph without redeclaring shared fields.
28
29
 
29
30
  URL config fields (`site`, `organization.url`, `organization.logo`, `founder.sameAs`, `llmsTxt.*.url`) require `https://` (or `http://localhost` for dev).
30
31
 
@@ -46,7 +47,7 @@ npm install @adkinn/astro-ai-readiness
46
47
 
47
48
  ## Quick start
48
49
 
49
- Configure (v0.0.8 accepts `site`, optional `person`, optional `organization`, optional `webSite`, optional `llmsTxt`, optional `llmsFull`, optional `agentsMd`, optional `mcp`, and optional `robotsTxt` blocks — provide at least one of `person`/`organization` as the site identity. The Zod schema rejects unknown keys, and URL fields must use `https://` or `http://localhost`):
50
+ Configure (v0.0.9 accepts `site`, optional `person`, optional `organization`, optional `softwareApplication`, optional `webSite`, optional `llmsTxt`, optional `llmsFull`, optional `agentsMd`, optional `mcp`, and optional `robotsTxt` blocks — provide at least one of `person`/`organization` as the site identity. The Zod schema rejects unknown keys, and URL fields must use `https://` or `http://localhost`):
50
51
 
51
52
  ```ts
52
53
  // astro.config.mjs
@@ -289,7 +290,8 @@ The v0.1 line is content → artifacts: components and files. Build-time AI-read
289
290
 
290
291
  ## Shipped on
291
292
 
292
- - [adamkinney.com](https://adamkinney.com) — the reference implementation. Runs `OrganizationSchema` + `WebSiteSchema` site-wide and emits `dist/llms.txt` at <https://adamkinney.com/llms.txt> and `dist/agents.md` at <https://adamkinney.com/agents.md>.
293
+ - [adamkinney.com](https://adamkinney.com) — the personal-brand reference implementation. Person-first: runs `PersonSchema` + `WebSiteSchema` site-wide and emits `dist/llms.txt` at <https://adamkinney.com/llms.txt> and `dist/agents.md` at <https://adamkinney.com/agents.md>.
294
+ - [comicscry.com](https://comicscry.com) — the app/product reference implementation (Astro 6 SSR, `@astrojs/cloudflare`). Runs `OrganizationSchema` + `WebSiteSchema` site-wide and `SoftwareApplicationSchema` + `FAQPageSchema` on the homepage, and emits `dist/llms.txt`, `dist/agents.md`, and `dist/robots.txt`. Drove the app/product features in v0.0.9–v0.0.10.
293
295
 
294
296
  ## Contributing
295
297
 
@@ -17,6 +17,14 @@ function composeAgentsMd(config) {
17
17
  lines.push(agentsMd.audience.trimEnd());
18
18
  lines.push("");
19
19
  }
20
+ if (agentsMd.sections) {
21
+ for (const section of agentsMd.sections) {
22
+ lines.push(`## ${section.title}`);
23
+ lines.push("");
24
+ lines.push(section.content.trimEnd());
25
+ lines.push("");
26
+ }
27
+ }
20
28
  if (agentsMd.contact) {
21
29
  lines.push("## Contact");
22
30
  lines.push("");
@@ -8,16 +8,26 @@ var founderSchema = z.object({
8
8
  name: z.string().min(1),
9
9
  jobTitle: z.string().optional(),
10
10
  description: z.string().optional(),
11
+ url: httpsUrl.optional(),
11
12
  sameAs: z.array(httpsUrl).optional()
12
13
  });
14
+ var contactPointSchema = z.object({
15
+ contactType: z.string().min(1),
16
+ email: z.string().email().optional(),
17
+ telephone: z.string().min(1).optional(),
18
+ url: httpsUrl.optional()
19
+ }).strict();
13
20
  var organizationSchema = z.object({
14
21
  name: z.string().min(1),
15
22
  url: httpsUrl.optional(),
16
23
  logo: httpsUrl.optional(),
24
+ description: z.string().optional(),
25
+ sameAs: z.array(httpsUrl).optional(),
17
26
  founder: founderSchema.optional(),
18
27
  foundingDate: z.string().optional(),
19
28
  knowsAbout: z.array(z.string()).optional(),
20
- areaServed: z.string().optional()
29
+ areaServed: z.string().optional(),
30
+ contactPoint: contactPointSchema.optional()
21
31
  }).strict();
22
32
  var personSchema = z.object({
23
33
  name: z.string().min(1),
@@ -30,8 +40,33 @@ var personSchema = z.object({
30
40
  }).strict();
31
41
  var webSiteSchema = z.object({
32
42
  name: z.string().optional(),
43
+ description: z.string().optional(),
44
+ inLanguage: z.string().optional()
45
+ }).strict();
46
+ var offerSchema = z.object({
47
+ name: z.string().min(1).optional(),
48
+ price: z.string().min(1),
49
+ priceCurrency: z.string().min(1),
33
50
  description: z.string().optional()
34
51
  }).strict();
52
+ var softwareApplicationSchema = z.object({
53
+ name: z.string().min(1),
54
+ applicationCategory: z.string().optional(),
55
+ applicationSubCategory: z.string().optional(),
56
+ operatingSystem: z.string().optional(),
57
+ description: z.string().optional(),
58
+ url: httpsUrl.optional(),
59
+ image: httpsUrl.optional(),
60
+ screenshot: z.array(httpsUrl).optional(),
61
+ featureList: z.array(z.string()).optional(),
62
+ offers: z.array(offerSchema).optional(),
63
+ installUrl: httpsUrl.optional(),
64
+ downloadUrl: httpsUrl.optional(),
65
+ aggregateRating: z.object({
66
+ ratingValue: z.number(),
67
+ ratingCount: z.number().int().positive()
68
+ }).strict().optional()
69
+ }).strict();
35
70
  var llmsTxtLinkSchema = z.object({
36
71
  title: z.string().min(1),
37
72
  url: httpsUrl,
@@ -71,12 +106,17 @@ var agentsMdLinkSchema = z.object({
71
106
  url: httpsUrl,
72
107
  description: z.string().optional()
73
108
  }).strict();
109
+ var agentsMdSectionSchema = z.object({
110
+ title: z.string().min(1),
111
+ content: z.string().min(1)
112
+ }).strict();
74
113
  var agentsMdSchema = z.object({
75
114
  description: z.string().min(1).refine(
76
115
  (s) => !s.includes("\n"),
77
116
  { message: "description must be single-line \u2014 use audience/contact fields for additional prose" }
78
117
  ),
79
118
  audience: z.string().optional(),
119
+ sections: z.array(agentsMdSectionSchema).min(1).optional(),
80
120
  contact: z.string().optional(),
81
121
  links: z.array(agentsMdLinkSchema).min(1).optional()
82
122
  }).strict();
@@ -138,6 +178,7 @@ var aiReadinessConfigSchema = z.object({
138
178
  site: httpsUrl,
139
179
  organization: organizationSchema.optional(),
140
180
  person: personSchema.optional(),
181
+ softwareApplication: softwareApplicationSchema.optional(),
141
182
  webSite: webSiteSchema.optional(),
142
183
  llmsTxt: llmsTxtSchema.optional(),
143
184
  llmsFull: llmsFullSchema.optional(),
@@ -18,6 +18,8 @@ if (org) {
18
18
 
19
19
  if (org.url) orgLd.url = org.url
20
20
  if (org.logo) orgLd.logo = org.logo
21
+ if (org.description) orgLd.description = org.description
22
+ if (org.sameAs && org.sameAs.length > 0) orgLd.sameAs = org.sameAs
21
23
  if (org.foundingDate) orgLd.foundingDate = org.foundingDate
22
24
  if (org.knowsAbout && org.knowsAbout.length > 0) orgLd.knowsAbout = org.knowsAbout
23
25
  if (org.areaServed) orgLd.areaServed = org.areaServed
@@ -29,9 +31,21 @@ if (org) {
29
31
  }
30
32
  if (org.founder.jobTitle) founder.jobTitle = org.founder.jobTitle
31
33
  if (org.founder.description) founder.description = org.founder.description
34
+ if (org.founder.url) founder.url = org.founder.url
32
35
  if (org.founder.sameAs && org.founder.sameAs.length > 0) founder.sameAs = org.founder.sameAs
33
36
  orgLd.founder = founder
34
37
  }
38
+
39
+ if (org.contactPoint) {
40
+ const cp: SchemaJson = {
41
+ '@type': 'ContactPoint',
42
+ contactType: org.contactPoint.contactType,
43
+ }
44
+ if (org.contactPoint.email) cp.email = org.contactPoint.email
45
+ if (org.contactPoint.telephone) cp.telephone = org.contactPoint.telephone
46
+ if (org.contactPoint.url) cp.url = org.contactPoint.url
47
+ orgLd.contactPoint = cp
48
+ }
35
49
  }
36
50
  ---
37
51
  {orgLd && <script type="application/ld+json" is:inline set:html={jsonLd(orgLd)}></script>}
@@ -0,0 +1,64 @@
1
+ ---
2
+ import { config } from 'virtual:ai-readiness-config'
3
+ import { jsonLd } from '../utils/json-ld'
4
+
5
+ const app = config.softwareApplication
6
+
7
+ type SchemaJson = Record<string, unknown>
8
+
9
+ // Link publisher/author to the site identity (Organization preferred, else Person).
10
+ const identityId = config.organization
11
+ ? `${config.site}#organization`
12
+ : config.person
13
+ ? `${config.site}#person`
14
+ : null
15
+
16
+ let appLd: SchemaJson | null = null
17
+
18
+ if (app) {
19
+ appLd = {
20
+ '@context': 'https://schema.org',
21
+ '@type': 'SoftwareApplication',
22
+ '@id': `${config.site}#app`,
23
+ name: app.name,
24
+ }
25
+
26
+ if (app.applicationCategory) appLd.applicationCategory = app.applicationCategory
27
+ if (app.applicationSubCategory) appLd.applicationSubCategory = app.applicationSubCategory
28
+ if (app.operatingSystem) appLd.operatingSystem = app.operatingSystem
29
+ if (app.description) appLd.description = app.description
30
+ if (app.url) appLd.url = app.url
31
+ if (app.image) appLd.image = app.image
32
+ if (app.screenshot && app.screenshot.length > 0) appLd.screenshot = app.screenshot
33
+ if (app.featureList && app.featureList.length > 0) appLd.featureList = app.featureList
34
+ if (app.installUrl) appLd.installUrl = app.installUrl
35
+ if (app.downloadUrl) appLd.downloadUrl = app.downloadUrl
36
+
37
+ if (app.offers && app.offers.length > 0) {
38
+ appLd.offers = app.offers.map((offer) => {
39
+ const o: SchemaJson = {
40
+ '@type': 'Offer',
41
+ price: offer.price,
42
+ priceCurrency: offer.priceCurrency,
43
+ }
44
+ if (offer.name) o.name = offer.name
45
+ if (offer.description) o.description = offer.description
46
+ return o
47
+ })
48
+ }
49
+
50
+ if (app.aggregateRating) {
51
+ appLd.aggregateRating = {
52
+ '@type': 'AggregateRating',
53
+ ratingValue: app.aggregateRating.ratingValue,
54
+ ratingCount: app.aggregateRating.ratingCount,
55
+ }
56
+ }
57
+
58
+ if (identityId) {
59
+ appLd.publisher = { '@id': identityId }
60
+ appLd.author = { '@id': identityId }
61
+ }
62
+ }
63
+ ---
64
+ {appLd && <script type="application/ld+json" is:inline set:html={jsonLd(appLd)}></script>}
@@ -17,5 +17,6 @@ const ws: Record<string, unknown> = {
17
17
  }
18
18
 
19
19
  if (config.webSite?.description) ws.description = config.webSite.description
20
+ if (config.webSite?.inLanguage) ws.inLanguage = config.webSite.inLanguage
20
21
  ---
21
22
  <script type="application/ld+json" is:inline set:html={jsonLd(ws)}></script>
@@ -1,5 +1,6 @@
1
1
  export { default as OrganizationSchema } from './OrganizationSchema.astro';
2
2
  export { default as PersonSchema } from './PersonSchema.astro';
3
+ export { default as SoftwareApplicationSchema } from './SoftwareApplicationSchema.astro';
3
4
  export { default as WebSiteSchema } from './WebSiteSchema.astro';
4
5
  export { default as CollectionSchema } from './CollectionSchema.astro';
5
6
  export { default as BreadcrumbSchema } from './BreadcrumbSchema.astro';
@@ -1,17 +1,19 @@
1
1
  // src/components/index.ts
2
2
  import { default as default2 } from "./OrganizationSchema.astro";
3
3
  import { default as default3 } from "./PersonSchema.astro";
4
- import { default as default4 } from "./WebSiteSchema.astro";
5
- import { default as default5 } from "./CollectionSchema.astro";
6
- import { default as default6 } from "./BreadcrumbSchema.astro";
7
- import { default as default7 } from "./FAQPageSchema.astro";
8
- import { default as default8 } from "./TechArticleSchema.astro";
4
+ import { default as default4 } from "./SoftwareApplicationSchema.astro";
5
+ import { default as default5 } from "./WebSiteSchema.astro";
6
+ import { default as default6 } from "./CollectionSchema.astro";
7
+ import { default as default7 } from "./BreadcrumbSchema.astro";
8
+ import { default as default8 } from "./FAQPageSchema.astro";
9
+ import { default as default9 } from "./TechArticleSchema.astro";
9
10
  export {
10
- default6 as BreadcrumbSchema,
11
- default5 as CollectionSchema,
12
- default7 as FAQPageSchema,
11
+ default7 as BreadcrumbSchema,
12
+ default6 as CollectionSchema,
13
+ default8 as FAQPageSchema,
13
14
  default2 as OrganizationSchema,
14
15
  default3 as PersonSchema,
15
- default8 as TechArticleSchema,
16
- default4 as WebSiteSchema
16
+ default4 as SoftwareApplicationSchema,
17
+ default9 as TechArticleSchema,
18
+ default5 as WebSiteSchema
17
19
  };
@@ -1,5 +1,6 @@
1
1
  import './OrganizationSchema.astro';
2
2
  import './PersonSchema.astro';
3
+ import './SoftwareApplicationSchema.astro';
3
4
  import './WebSiteSchema.astro';
4
5
  import './CollectionSchema.astro';
5
6
  import './BreadcrumbSchema.astro';
package/dist/config.d.ts CHANGED
@@ -20,67 +20,125 @@ declare const founderSchema: z.ZodObject<{
20
20
  name: z.ZodString;
21
21
  jobTitle: z.ZodOptional<z.ZodString>;
22
22
  description: z.ZodOptional<z.ZodString>;
23
+ url: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
23
24
  sameAs: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
24
25
  }, "strip", z.ZodTypeAny, {
25
26
  name: string;
26
- jobTitle?: string | undefined;
27
+ url?: string | undefined;
27
28
  description?: string | undefined;
28
29
  sameAs?: string[] | undefined;
30
+ jobTitle?: string | undefined;
29
31
  }, {
30
32
  name: string;
31
- jobTitle?: string | undefined;
33
+ url?: string | undefined;
32
34
  description?: string | undefined;
33
35
  sameAs?: string[] | undefined;
36
+ jobTitle?: string | undefined;
37
+ }>;
38
+ declare const contactPointSchema: z.ZodObject<{
39
+ contactType: z.ZodString;
40
+ email: z.ZodOptional<z.ZodString>;
41
+ telephone: z.ZodOptional<z.ZodString>;
42
+ url: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
43
+ }, "strict", z.ZodTypeAny, {
44
+ contactType: string;
45
+ url?: string | undefined;
46
+ email?: string | undefined;
47
+ telephone?: string | undefined;
48
+ }, {
49
+ contactType: string;
50
+ url?: string | undefined;
51
+ email?: string | undefined;
52
+ telephone?: string | undefined;
34
53
  }>;
35
54
  declare const organizationSchema: z.ZodObject<{
36
55
  name: z.ZodString;
37
56
  url: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
38
57
  logo: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
58
+ description: z.ZodOptional<z.ZodString>;
59
+ sameAs: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
39
60
  founder: z.ZodOptional<z.ZodObject<{
40
61
  name: z.ZodString;
41
62
  jobTitle: z.ZodOptional<z.ZodString>;
42
63
  description: z.ZodOptional<z.ZodString>;
64
+ url: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
43
65
  sameAs: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
44
66
  }, "strip", z.ZodTypeAny, {
45
67
  name: string;
46
- jobTitle?: string | undefined;
68
+ url?: string | undefined;
47
69
  description?: string | undefined;
48
70
  sameAs?: string[] | undefined;
71
+ jobTitle?: string | undefined;
49
72
  }, {
50
73
  name: string;
51
- jobTitle?: string | undefined;
74
+ url?: string | undefined;
52
75
  description?: string | undefined;
53
76
  sameAs?: string[] | undefined;
77
+ jobTitle?: string | undefined;
54
78
  }>>;
55
79
  foundingDate: z.ZodOptional<z.ZodString>;
56
80
  knowsAbout: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
57
81
  areaServed: z.ZodOptional<z.ZodString>;
82
+ contactPoint: z.ZodOptional<z.ZodObject<{
83
+ contactType: z.ZodString;
84
+ email: z.ZodOptional<z.ZodString>;
85
+ telephone: z.ZodOptional<z.ZodString>;
86
+ url: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
87
+ }, "strict", z.ZodTypeAny, {
88
+ contactType: string;
89
+ url?: string | undefined;
90
+ email?: string | undefined;
91
+ telephone?: string | undefined;
92
+ }, {
93
+ contactType: string;
94
+ url?: string | undefined;
95
+ email?: string | undefined;
96
+ telephone?: string | undefined;
97
+ }>>;
58
98
  }, "strict", z.ZodTypeAny, {
59
99
  name: string;
60
100
  url?: string | undefined;
61
101
  logo?: string | undefined;
102
+ description?: string | undefined;
103
+ sameAs?: string[] | undefined;
62
104
  founder?: {
63
105
  name: string;
64
- jobTitle?: string | undefined;
106
+ url?: string | undefined;
65
107
  description?: string | undefined;
66
108
  sameAs?: string[] | undefined;
109
+ jobTitle?: string | undefined;
67
110
  } | undefined;
68
111
  foundingDate?: string | undefined;
69
112
  knowsAbout?: string[] | undefined;
70
113
  areaServed?: string | undefined;
114
+ contactPoint?: {
115
+ contactType: string;
116
+ url?: string | undefined;
117
+ email?: string | undefined;
118
+ telephone?: string | undefined;
119
+ } | undefined;
71
120
  }, {
72
121
  name: string;
73
122
  url?: string | undefined;
74
123
  logo?: string | undefined;
124
+ description?: string | undefined;
125
+ sameAs?: string[] | undefined;
75
126
  founder?: {
76
127
  name: string;
77
- jobTitle?: string | undefined;
128
+ url?: string | undefined;
78
129
  description?: string | undefined;
79
130
  sameAs?: string[] | undefined;
131
+ jobTitle?: string | undefined;
80
132
  } | undefined;
81
133
  foundingDate?: string | undefined;
82
134
  knowsAbout?: string[] | undefined;
83
135
  areaServed?: string | undefined;
136
+ contactPoint?: {
137
+ contactType: string;
138
+ url?: string | undefined;
139
+ email?: string | undefined;
140
+ telephone?: string | undefined;
141
+ } | undefined;
84
142
  }>;
85
143
  declare const personSchema: z.ZodObject<{
86
144
  name: z.ZodString;
@@ -93,29 +151,115 @@ declare const personSchema: z.ZodObject<{
93
151
  }, "strict", z.ZodTypeAny, {
94
152
  name: string;
95
153
  url?: string | undefined;
96
- jobTitle?: string | undefined;
97
154
  description?: string | undefined;
98
155
  sameAs?: string[] | undefined;
156
+ jobTitle?: string | undefined;
99
157
  knowsAbout?: string[] | undefined;
100
158
  image?: string | undefined;
101
159
  }, {
102
160
  name: string;
103
161
  url?: string | undefined;
104
- jobTitle?: string | undefined;
105
162
  description?: string | undefined;
106
163
  sameAs?: string[] | undefined;
164
+ jobTitle?: string | undefined;
107
165
  knowsAbout?: string[] | undefined;
108
166
  image?: string | undefined;
109
167
  }>;
110
168
  declare const webSiteSchema: z.ZodObject<{
111
169
  name: z.ZodOptional<z.ZodString>;
112
170
  description: z.ZodOptional<z.ZodString>;
171
+ inLanguage: z.ZodOptional<z.ZodString>;
113
172
  }, "strict", z.ZodTypeAny, {
114
173
  name?: string | undefined;
115
174
  description?: string | undefined;
175
+ inLanguage?: string | undefined;
116
176
  }, {
117
177
  name?: string | undefined;
118
178
  description?: string | undefined;
179
+ inLanguage?: string | undefined;
180
+ }>;
181
+ declare const softwareApplicationSchema: z.ZodObject<{
182
+ name: z.ZodString;
183
+ applicationCategory: z.ZodOptional<z.ZodString>;
184
+ applicationSubCategory: z.ZodOptional<z.ZodString>;
185
+ operatingSystem: z.ZodOptional<z.ZodString>;
186
+ description: z.ZodOptional<z.ZodString>;
187
+ url: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
188
+ image: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
189
+ screenshot: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
190
+ featureList: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
191
+ offers: z.ZodOptional<z.ZodArray<z.ZodObject<{
192
+ name: z.ZodOptional<z.ZodString>;
193
+ price: z.ZodString;
194
+ priceCurrency: z.ZodString;
195
+ description: z.ZodOptional<z.ZodString>;
196
+ }, "strict", z.ZodTypeAny, {
197
+ price: string;
198
+ priceCurrency: string;
199
+ name?: string | undefined;
200
+ description?: string | undefined;
201
+ }, {
202
+ price: string;
203
+ priceCurrency: string;
204
+ name?: string | undefined;
205
+ description?: string | undefined;
206
+ }>, "many">>;
207
+ installUrl: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
208
+ downloadUrl: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
209
+ aggregateRating: z.ZodOptional<z.ZodObject<{
210
+ ratingValue: z.ZodNumber;
211
+ ratingCount: z.ZodNumber;
212
+ }, "strict", z.ZodTypeAny, {
213
+ ratingValue: number;
214
+ ratingCount: number;
215
+ }, {
216
+ ratingValue: number;
217
+ ratingCount: number;
218
+ }>>;
219
+ }, "strict", z.ZodTypeAny, {
220
+ name: string;
221
+ url?: string | undefined;
222
+ description?: string | undefined;
223
+ image?: string | undefined;
224
+ applicationCategory?: string | undefined;
225
+ applicationSubCategory?: string | undefined;
226
+ operatingSystem?: string | undefined;
227
+ screenshot?: string[] | undefined;
228
+ featureList?: string[] | undefined;
229
+ offers?: {
230
+ price: string;
231
+ priceCurrency: string;
232
+ name?: string | undefined;
233
+ description?: string | undefined;
234
+ }[] | undefined;
235
+ installUrl?: string | undefined;
236
+ downloadUrl?: string | undefined;
237
+ aggregateRating?: {
238
+ ratingValue: number;
239
+ ratingCount: number;
240
+ } | undefined;
241
+ }, {
242
+ name: string;
243
+ url?: string | undefined;
244
+ description?: string | undefined;
245
+ image?: string | undefined;
246
+ applicationCategory?: string | undefined;
247
+ applicationSubCategory?: string | undefined;
248
+ operatingSystem?: string | undefined;
249
+ screenshot?: string[] | undefined;
250
+ featureList?: string[] | undefined;
251
+ offers?: {
252
+ price: string;
253
+ priceCurrency: string;
254
+ name?: string | undefined;
255
+ description?: string | undefined;
256
+ }[] | undefined;
257
+ installUrl?: string | undefined;
258
+ downloadUrl?: string | undefined;
259
+ aggregateRating?: {
260
+ ratingValue: number;
261
+ ratingCount: number;
262
+ } | undefined;
119
263
  }>;
120
264
  declare const llmsTxtSchema: z.ZodObject<{
121
265
  summary: z.ZodEffects<z.ZodString, string, string>;
@@ -241,6 +385,16 @@ declare const llmsFullSchema: z.ZodEffects<z.ZodObject<{
241
385
  declare const agentsMdSchema: z.ZodObject<{
242
386
  description: z.ZodEffects<z.ZodString, string, string>;
243
387
  audience: z.ZodOptional<z.ZodString>;
388
+ sections: z.ZodOptional<z.ZodArray<z.ZodObject<{
389
+ title: z.ZodString;
390
+ content: z.ZodString;
391
+ }, "strict", z.ZodTypeAny, {
392
+ title: string;
393
+ content: string;
394
+ }, {
395
+ title: string;
396
+ content: string;
397
+ }>, "many">>;
244
398
  contact: z.ZodOptional<z.ZodString>;
245
399
  links: z.ZodOptional<z.ZodArray<z.ZodObject<{
246
400
  title: z.ZodString;
@@ -262,6 +416,10 @@ declare const agentsMdSchema: z.ZodObject<{
262
416
  title: string;
263
417
  description?: string | undefined;
264
418
  }[] | undefined;
419
+ sections?: {
420
+ title: string;
421
+ content: string;
422
+ }[] | undefined;
265
423
  audience?: string | undefined;
266
424
  contact?: string | undefined;
267
425
  }, {
@@ -271,6 +429,10 @@ declare const agentsMdSchema: z.ZodObject<{
271
429
  title: string;
272
430
  description?: string | undefined;
273
431
  }[] | undefined;
432
+ sections?: {
433
+ title: string;
434
+ content: string;
435
+ }[] | undefined;
274
436
  audience?: string | undefined;
275
437
  contact?: string | undefined;
276
438
  }>;
@@ -468,51 +630,90 @@ declare const aiReadinessConfigSchema: z.ZodEffects<z.ZodObject<{
468
630
  name: z.ZodString;
469
631
  url: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
470
632
  logo: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
633
+ description: z.ZodOptional<z.ZodString>;
634
+ sameAs: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
471
635
  founder: z.ZodOptional<z.ZodObject<{
472
636
  name: z.ZodString;
473
637
  jobTitle: z.ZodOptional<z.ZodString>;
474
638
  description: z.ZodOptional<z.ZodString>;
639
+ url: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
475
640
  sameAs: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
476
641
  }, "strip", z.ZodTypeAny, {
477
642
  name: string;
478
- jobTitle?: string | undefined;
643
+ url?: string | undefined;
479
644
  description?: string | undefined;
480
645
  sameAs?: string[] | undefined;
646
+ jobTitle?: string | undefined;
481
647
  }, {
482
648
  name: string;
483
- jobTitle?: string | undefined;
649
+ url?: string | undefined;
484
650
  description?: string | undefined;
485
651
  sameAs?: string[] | undefined;
652
+ jobTitle?: string | undefined;
486
653
  }>>;
487
654
  foundingDate: z.ZodOptional<z.ZodString>;
488
655
  knowsAbout: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
489
656
  areaServed: z.ZodOptional<z.ZodString>;
657
+ contactPoint: z.ZodOptional<z.ZodObject<{
658
+ contactType: z.ZodString;
659
+ email: z.ZodOptional<z.ZodString>;
660
+ telephone: z.ZodOptional<z.ZodString>;
661
+ url: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
662
+ }, "strict", z.ZodTypeAny, {
663
+ contactType: string;
664
+ url?: string | undefined;
665
+ email?: string | undefined;
666
+ telephone?: string | undefined;
667
+ }, {
668
+ contactType: string;
669
+ url?: string | undefined;
670
+ email?: string | undefined;
671
+ telephone?: string | undefined;
672
+ }>>;
490
673
  }, "strict", z.ZodTypeAny, {
491
674
  name: string;
492
675
  url?: string | undefined;
493
676
  logo?: string | undefined;
677
+ description?: string | undefined;
678
+ sameAs?: string[] | undefined;
494
679
  founder?: {
495
680
  name: string;
496
- jobTitle?: string | undefined;
681
+ url?: string | undefined;
497
682
  description?: string | undefined;
498
683
  sameAs?: string[] | undefined;
684
+ jobTitle?: string | undefined;
499
685
  } | undefined;
500
686
  foundingDate?: string | undefined;
501
687
  knowsAbout?: string[] | undefined;
502
688
  areaServed?: string | undefined;
689
+ contactPoint?: {
690
+ contactType: string;
691
+ url?: string | undefined;
692
+ email?: string | undefined;
693
+ telephone?: string | undefined;
694
+ } | undefined;
503
695
  }, {
504
696
  name: string;
505
697
  url?: string | undefined;
506
698
  logo?: string | undefined;
699
+ description?: string | undefined;
700
+ sameAs?: string[] | undefined;
507
701
  founder?: {
508
702
  name: string;
509
- jobTitle?: string | undefined;
703
+ url?: string | undefined;
510
704
  description?: string | undefined;
511
705
  sameAs?: string[] | undefined;
706
+ jobTitle?: string | undefined;
512
707
  } | undefined;
513
708
  foundingDate?: string | undefined;
514
709
  knowsAbout?: string[] | undefined;
515
710
  areaServed?: string | undefined;
711
+ contactPoint?: {
712
+ contactType: string;
713
+ url?: string | undefined;
714
+ email?: string | undefined;
715
+ telephone?: string | undefined;
716
+ } | undefined;
516
717
  }>>;
517
718
  person: z.ZodOptional<z.ZodObject<{
518
719
  name: z.ZodString;
@@ -525,29 +726,115 @@ declare const aiReadinessConfigSchema: z.ZodEffects<z.ZodObject<{
525
726
  }, "strict", z.ZodTypeAny, {
526
727
  name: string;
527
728
  url?: string | undefined;
528
- jobTitle?: string | undefined;
529
729
  description?: string | undefined;
530
730
  sameAs?: string[] | undefined;
731
+ jobTitle?: string | undefined;
531
732
  knowsAbout?: string[] | undefined;
532
733
  image?: string | undefined;
533
734
  }, {
534
735
  name: string;
535
736
  url?: string | undefined;
536
- jobTitle?: string | undefined;
537
737
  description?: string | undefined;
538
738
  sameAs?: string[] | undefined;
739
+ jobTitle?: string | undefined;
539
740
  knowsAbout?: string[] | undefined;
540
741
  image?: string | undefined;
541
742
  }>>;
743
+ softwareApplication: z.ZodOptional<z.ZodObject<{
744
+ name: z.ZodString;
745
+ applicationCategory: z.ZodOptional<z.ZodString>;
746
+ applicationSubCategory: z.ZodOptional<z.ZodString>;
747
+ operatingSystem: z.ZodOptional<z.ZodString>;
748
+ description: z.ZodOptional<z.ZodString>;
749
+ url: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
750
+ image: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
751
+ screenshot: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
752
+ featureList: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
753
+ offers: z.ZodOptional<z.ZodArray<z.ZodObject<{
754
+ name: z.ZodOptional<z.ZodString>;
755
+ price: z.ZodString;
756
+ priceCurrency: z.ZodString;
757
+ description: z.ZodOptional<z.ZodString>;
758
+ }, "strict", z.ZodTypeAny, {
759
+ price: string;
760
+ priceCurrency: string;
761
+ name?: string | undefined;
762
+ description?: string | undefined;
763
+ }, {
764
+ price: string;
765
+ priceCurrency: string;
766
+ name?: string | undefined;
767
+ description?: string | undefined;
768
+ }>, "many">>;
769
+ installUrl: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
770
+ downloadUrl: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
771
+ aggregateRating: z.ZodOptional<z.ZodObject<{
772
+ ratingValue: z.ZodNumber;
773
+ ratingCount: z.ZodNumber;
774
+ }, "strict", z.ZodTypeAny, {
775
+ ratingValue: number;
776
+ ratingCount: number;
777
+ }, {
778
+ ratingValue: number;
779
+ ratingCount: number;
780
+ }>>;
781
+ }, "strict", z.ZodTypeAny, {
782
+ name: string;
783
+ url?: string | undefined;
784
+ description?: string | undefined;
785
+ image?: string | undefined;
786
+ applicationCategory?: string | undefined;
787
+ applicationSubCategory?: string | undefined;
788
+ operatingSystem?: string | undefined;
789
+ screenshot?: string[] | undefined;
790
+ featureList?: string[] | undefined;
791
+ offers?: {
792
+ price: string;
793
+ priceCurrency: string;
794
+ name?: string | undefined;
795
+ description?: string | undefined;
796
+ }[] | undefined;
797
+ installUrl?: string | undefined;
798
+ downloadUrl?: string | undefined;
799
+ aggregateRating?: {
800
+ ratingValue: number;
801
+ ratingCount: number;
802
+ } | undefined;
803
+ }, {
804
+ name: string;
805
+ url?: string | undefined;
806
+ description?: string | undefined;
807
+ image?: string | undefined;
808
+ applicationCategory?: string | undefined;
809
+ applicationSubCategory?: string | undefined;
810
+ operatingSystem?: string | undefined;
811
+ screenshot?: string[] | undefined;
812
+ featureList?: string[] | undefined;
813
+ offers?: {
814
+ price: string;
815
+ priceCurrency: string;
816
+ name?: string | undefined;
817
+ description?: string | undefined;
818
+ }[] | undefined;
819
+ installUrl?: string | undefined;
820
+ downloadUrl?: string | undefined;
821
+ aggregateRating?: {
822
+ ratingValue: number;
823
+ ratingCount: number;
824
+ } | undefined;
825
+ }>>;
542
826
  webSite: z.ZodOptional<z.ZodObject<{
543
827
  name: z.ZodOptional<z.ZodString>;
544
828
  description: z.ZodOptional<z.ZodString>;
829
+ inLanguage: z.ZodOptional<z.ZodString>;
545
830
  }, "strict", z.ZodTypeAny, {
546
831
  name?: string | undefined;
547
832
  description?: string | undefined;
833
+ inLanguage?: string | undefined;
548
834
  }, {
549
835
  name?: string | undefined;
550
836
  description?: string | undefined;
837
+ inLanguage?: string | undefined;
551
838
  }>>;
552
839
  llmsTxt: z.ZodOptional<z.ZodObject<{
553
840
  summary: z.ZodEffects<z.ZodString, string, string>;
@@ -673,6 +960,16 @@ declare const aiReadinessConfigSchema: z.ZodEffects<z.ZodObject<{
673
960
  agentsMd: z.ZodOptional<z.ZodObject<{
674
961
  description: z.ZodEffects<z.ZodString, string, string>;
675
962
  audience: z.ZodOptional<z.ZodString>;
963
+ sections: z.ZodOptional<z.ZodArray<z.ZodObject<{
964
+ title: z.ZodString;
965
+ content: z.ZodString;
966
+ }, "strict", z.ZodTypeAny, {
967
+ title: string;
968
+ content: string;
969
+ }, {
970
+ title: string;
971
+ content: string;
972
+ }>, "many">>;
676
973
  contact: z.ZodOptional<z.ZodString>;
677
974
  links: z.ZodOptional<z.ZodArray<z.ZodObject<{
678
975
  title: z.ZodString;
@@ -694,6 +991,10 @@ declare const aiReadinessConfigSchema: z.ZodEffects<z.ZodObject<{
694
991
  title: string;
695
992
  description?: string | undefined;
696
993
  }[] | undefined;
994
+ sections?: {
995
+ title: string;
996
+ content: string;
997
+ }[] | undefined;
697
998
  audience?: string | undefined;
698
999
  contact?: string | undefined;
699
1000
  }, {
@@ -703,6 +1004,10 @@ declare const aiReadinessConfigSchema: z.ZodEffects<z.ZodObject<{
703
1004
  title: string;
704
1005
  description?: string | undefined;
705
1006
  }[] | undefined;
1007
+ sections?: {
1008
+ title: string;
1009
+ content: string;
1010
+ }[] | undefined;
706
1011
  audience?: string | undefined;
707
1012
  contact?: string | undefined;
708
1013
  }>>;
@@ -900,28 +1205,61 @@ declare const aiReadinessConfigSchema: z.ZodEffects<z.ZodObject<{
900
1205
  name: string;
901
1206
  url?: string | undefined;
902
1207
  logo?: string | undefined;
1208
+ description?: string | undefined;
1209
+ sameAs?: string[] | undefined;
903
1210
  founder?: {
904
1211
  name: string;
905
- jobTitle?: string | undefined;
1212
+ url?: string | undefined;
906
1213
  description?: string | undefined;
907
1214
  sameAs?: string[] | undefined;
1215
+ jobTitle?: string | undefined;
908
1216
  } | undefined;
909
1217
  foundingDate?: string | undefined;
910
1218
  knowsAbout?: string[] | undefined;
911
1219
  areaServed?: string | undefined;
1220
+ contactPoint?: {
1221
+ contactType: string;
1222
+ url?: string | undefined;
1223
+ email?: string | undefined;
1224
+ telephone?: string | undefined;
1225
+ } | undefined;
912
1226
  } | undefined;
913
1227
  person?: {
914
1228
  name: string;
915
1229
  url?: string | undefined;
916
- jobTitle?: string | undefined;
917
1230
  description?: string | undefined;
918
1231
  sameAs?: string[] | undefined;
1232
+ jobTitle?: string | undefined;
919
1233
  knowsAbout?: string[] | undefined;
920
1234
  image?: string | undefined;
921
1235
  } | undefined;
1236
+ softwareApplication?: {
1237
+ name: string;
1238
+ url?: string | undefined;
1239
+ description?: string | undefined;
1240
+ image?: string | undefined;
1241
+ applicationCategory?: string | undefined;
1242
+ applicationSubCategory?: string | undefined;
1243
+ operatingSystem?: string | undefined;
1244
+ screenshot?: string[] | undefined;
1245
+ featureList?: string[] | undefined;
1246
+ offers?: {
1247
+ price: string;
1248
+ priceCurrency: string;
1249
+ name?: string | undefined;
1250
+ description?: string | undefined;
1251
+ }[] | undefined;
1252
+ installUrl?: string | undefined;
1253
+ downloadUrl?: string | undefined;
1254
+ aggregateRating?: {
1255
+ ratingValue: number;
1256
+ ratingCount: number;
1257
+ } | undefined;
1258
+ } | undefined;
922
1259
  webSite?: {
923
1260
  name?: string | undefined;
924
1261
  description?: string | undefined;
1262
+ inLanguage?: string | undefined;
925
1263
  } | undefined;
926
1264
  llmsTxt?: {
927
1265
  summary: string;
@@ -955,6 +1293,10 @@ declare const aiReadinessConfigSchema: z.ZodEffects<z.ZodObject<{
955
1293
  title: string;
956
1294
  description?: string | undefined;
957
1295
  }[] | undefined;
1296
+ sections?: {
1297
+ title: string;
1298
+ content: string;
1299
+ }[] | undefined;
958
1300
  audience?: string | undefined;
959
1301
  contact?: string | undefined;
960
1302
  } | undefined;
@@ -1002,28 +1344,61 @@ declare const aiReadinessConfigSchema: z.ZodEffects<z.ZodObject<{
1002
1344
  name: string;
1003
1345
  url?: string | undefined;
1004
1346
  logo?: string | undefined;
1347
+ description?: string | undefined;
1348
+ sameAs?: string[] | undefined;
1005
1349
  founder?: {
1006
1350
  name: string;
1007
- jobTitle?: string | undefined;
1351
+ url?: string | undefined;
1008
1352
  description?: string | undefined;
1009
1353
  sameAs?: string[] | undefined;
1354
+ jobTitle?: string | undefined;
1010
1355
  } | undefined;
1011
1356
  foundingDate?: string | undefined;
1012
1357
  knowsAbout?: string[] | undefined;
1013
1358
  areaServed?: string | undefined;
1359
+ contactPoint?: {
1360
+ contactType: string;
1361
+ url?: string | undefined;
1362
+ email?: string | undefined;
1363
+ telephone?: string | undefined;
1364
+ } | undefined;
1014
1365
  } | undefined;
1015
1366
  person?: {
1016
1367
  name: string;
1017
1368
  url?: string | undefined;
1018
- jobTitle?: string | undefined;
1019
1369
  description?: string | undefined;
1020
1370
  sameAs?: string[] | undefined;
1371
+ jobTitle?: string | undefined;
1021
1372
  knowsAbout?: string[] | undefined;
1022
1373
  image?: string | undefined;
1023
1374
  } | undefined;
1375
+ softwareApplication?: {
1376
+ name: string;
1377
+ url?: string | undefined;
1378
+ description?: string | undefined;
1379
+ image?: string | undefined;
1380
+ applicationCategory?: string | undefined;
1381
+ applicationSubCategory?: string | undefined;
1382
+ operatingSystem?: string | undefined;
1383
+ screenshot?: string[] | undefined;
1384
+ featureList?: string[] | undefined;
1385
+ offers?: {
1386
+ price: string;
1387
+ priceCurrency: string;
1388
+ name?: string | undefined;
1389
+ description?: string | undefined;
1390
+ }[] | undefined;
1391
+ installUrl?: string | undefined;
1392
+ downloadUrl?: string | undefined;
1393
+ aggregateRating?: {
1394
+ ratingValue: number;
1395
+ ratingCount: number;
1396
+ } | undefined;
1397
+ } | undefined;
1024
1398
  webSite?: {
1025
1399
  name?: string | undefined;
1026
1400
  description?: string | undefined;
1401
+ inLanguage?: string | undefined;
1027
1402
  } | undefined;
1028
1403
  llmsTxt?: {
1029
1404
  summary: string;
@@ -1057,6 +1432,10 @@ declare const aiReadinessConfigSchema: z.ZodEffects<z.ZodObject<{
1057
1432
  title: string;
1058
1433
  description?: string | undefined;
1059
1434
  }[] | undefined;
1435
+ sections?: {
1436
+ title: string;
1437
+ content: string;
1438
+ }[] | undefined;
1060
1439
  audience?: string | undefined;
1061
1440
  contact?: string | undefined;
1062
1441
  } | undefined;
@@ -1104,28 +1483,61 @@ declare const aiReadinessConfigSchema: z.ZodEffects<z.ZodObject<{
1104
1483
  name: string;
1105
1484
  url?: string | undefined;
1106
1485
  logo?: string | undefined;
1486
+ description?: string | undefined;
1487
+ sameAs?: string[] | undefined;
1107
1488
  founder?: {
1108
1489
  name: string;
1109
- jobTitle?: string | undefined;
1490
+ url?: string | undefined;
1110
1491
  description?: string | undefined;
1111
1492
  sameAs?: string[] | undefined;
1493
+ jobTitle?: string | undefined;
1112
1494
  } | undefined;
1113
1495
  foundingDate?: string | undefined;
1114
1496
  knowsAbout?: string[] | undefined;
1115
1497
  areaServed?: string | undefined;
1498
+ contactPoint?: {
1499
+ contactType: string;
1500
+ url?: string | undefined;
1501
+ email?: string | undefined;
1502
+ telephone?: string | undefined;
1503
+ } | undefined;
1116
1504
  } | undefined;
1117
1505
  person?: {
1118
1506
  name: string;
1119
1507
  url?: string | undefined;
1120
- jobTitle?: string | undefined;
1121
1508
  description?: string | undefined;
1122
1509
  sameAs?: string[] | undefined;
1510
+ jobTitle?: string | undefined;
1123
1511
  knowsAbout?: string[] | undefined;
1124
1512
  image?: string | undefined;
1125
1513
  } | undefined;
1514
+ softwareApplication?: {
1515
+ name: string;
1516
+ url?: string | undefined;
1517
+ description?: string | undefined;
1518
+ image?: string | undefined;
1519
+ applicationCategory?: string | undefined;
1520
+ applicationSubCategory?: string | undefined;
1521
+ operatingSystem?: string | undefined;
1522
+ screenshot?: string[] | undefined;
1523
+ featureList?: string[] | undefined;
1524
+ offers?: {
1525
+ price: string;
1526
+ priceCurrency: string;
1527
+ name?: string | undefined;
1528
+ description?: string | undefined;
1529
+ }[] | undefined;
1530
+ installUrl?: string | undefined;
1531
+ downloadUrl?: string | undefined;
1532
+ aggregateRating?: {
1533
+ ratingValue: number;
1534
+ ratingCount: number;
1535
+ } | undefined;
1536
+ } | undefined;
1126
1537
  webSite?: {
1127
1538
  name?: string | undefined;
1128
1539
  description?: string | undefined;
1540
+ inLanguage?: string | undefined;
1129
1541
  } | undefined;
1130
1542
  llmsTxt?: {
1131
1543
  summary: string;
@@ -1159,6 +1571,10 @@ declare const aiReadinessConfigSchema: z.ZodEffects<z.ZodObject<{
1159
1571
  title: string;
1160
1572
  description?: string | undefined;
1161
1573
  }[] | undefined;
1574
+ sections?: {
1575
+ title: string;
1576
+ content: string;
1577
+ }[] | undefined;
1162
1578
  audience?: string | undefined;
1163
1579
  contact?: string | undefined;
1164
1580
  } | undefined;
@@ -1206,28 +1622,61 @@ declare const aiReadinessConfigSchema: z.ZodEffects<z.ZodObject<{
1206
1622
  name: string;
1207
1623
  url?: string | undefined;
1208
1624
  logo?: string | undefined;
1625
+ description?: string | undefined;
1626
+ sameAs?: string[] | undefined;
1209
1627
  founder?: {
1210
1628
  name: string;
1211
- jobTitle?: string | undefined;
1629
+ url?: string | undefined;
1212
1630
  description?: string | undefined;
1213
1631
  sameAs?: string[] | undefined;
1632
+ jobTitle?: string | undefined;
1214
1633
  } | undefined;
1215
1634
  foundingDate?: string | undefined;
1216
1635
  knowsAbout?: string[] | undefined;
1217
1636
  areaServed?: string | undefined;
1637
+ contactPoint?: {
1638
+ contactType: string;
1639
+ url?: string | undefined;
1640
+ email?: string | undefined;
1641
+ telephone?: string | undefined;
1642
+ } | undefined;
1218
1643
  } | undefined;
1219
1644
  person?: {
1220
1645
  name: string;
1221
1646
  url?: string | undefined;
1222
- jobTitle?: string | undefined;
1223
1647
  description?: string | undefined;
1224
1648
  sameAs?: string[] | undefined;
1649
+ jobTitle?: string | undefined;
1225
1650
  knowsAbout?: string[] | undefined;
1226
1651
  image?: string | undefined;
1227
1652
  } | undefined;
1653
+ softwareApplication?: {
1654
+ name: string;
1655
+ url?: string | undefined;
1656
+ description?: string | undefined;
1657
+ image?: string | undefined;
1658
+ applicationCategory?: string | undefined;
1659
+ applicationSubCategory?: string | undefined;
1660
+ operatingSystem?: string | undefined;
1661
+ screenshot?: string[] | undefined;
1662
+ featureList?: string[] | undefined;
1663
+ offers?: {
1664
+ price: string;
1665
+ priceCurrency: string;
1666
+ name?: string | undefined;
1667
+ description?: string | undefined;
1668
+ }[] | undefined;
1669
+ installUrl?: string | undefined;
1670
+ downloadUrl?: string | undefined;
1671
+ aggregateRating?: {
1672
+ ratingValue: number;
1673
+ ratingCount: number;
1674
+ } | undefined;
1675
+ } | undefined;
1228
1676
  webSite?: {
1229
1677
  name?: string | undefined;
1230
1678
  description?: string | undefined;
1679
+ inLanguage?: string | undefined;
1231
1680
  } | undefined;
1232
1681
  llmsTxt?: {
1233
1682
  summary: string;
@@ -1261,6 +1710,10 @@ declare const aiReadinessConfigSchema: z.ZodEffects<z.ZodObject<{
1261
1710
  title: string;
1262
1711
  description?: string | undefined;
1263
1712
  }[] | undefined;
1713
+ sections?: {
1714
+ title: string;
1715
+ content: string;
1716
+ }[] | undefined;
1264
1717
  audience?: string | undefined;
1265
1718
  contact?: string | undefined;
1266
1719
  } | undefined;
@@ -1307,6 +1760,8 @@ type AiReadinessConfig = z.infer<typeof aiReadinessConfigSchema>;
1307
1760
  type OrganizationConfig = z.infer<typeof organizationSchema>;
1308
1761
  type PersonConfig = z.infer<typeof personSchema>;
1309
1762
  type FounderConfig = z.infer<typeof founderSchema>;
1763
+ type ContactPointConfig = z.infer<typeof contactPointSchema>;
1764
+ type SoftwareApplicationConfig = z.infer<typeof softwareApplicationSchema>;
1310
1765
  type WebSiteConfig = z.infer<typeof webSiteSchema>;
1311
1766
  type LlmsTxtConfig = z.infer<typeof llmsTxtSchema>;
1312
1767
  type LlmsFullConfig = z.infer<typeof llmsFullSchema>;
@@ -1314,4 +1769,4 @@ type AgentsMdConfig = z.infer<typeof agentsMdSchema>;
1314
1769
  type McpConfig = z.infer<typeof mcpSchema>;
1315
1770
  type RobotsTxtConfig = z.infer<typeof robotsTxtSchema>;
1316
1771
 
1317
- export { type AgentsMdConfig, type AiReadinessConfig, type FounderConfig, type LlmsFullConfig, type LlmsTxtConfig, type McpConfig, type OrganizationConfig, type PersonConfig, type RobotsTxtConfig, type WebSiteConfig, aiReadinessConfigSchema };
1772
+ export { type AgentsMdConfig, type AiReadinessConfig, type ContactPointConfig, type FounderConfig, type LlmsFullConfig, type LlmsTxtConfig, type McpConfig, type OrganizationConfig, type PersonConfig, type RobotsTxtConfig, type SoftwareApplicationConfig, type WebSiteConfig, aiReadinessConfigSchema };
package/dist/config.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  aiReadinessConfigSchema
3
- } from "./chunk-PAMQNTFZ.js";
3
+ } from "./chunk-HCEHM7EB.js";
4
4
  export {
5
5
  aiReadinessConfigSchema
6
6
  };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { AstroIntegration } from 'astro';
2
2
  import { AiReadinessConfig } from './config.js';
3
- export { AgentsMdConfig, FounderConfig, LlmsFullConfig, LlmsTxtConfig, McpConfig, OrganizationConfig, PersonConfig, RobotsTxtConfig, WebSiteConfig } from './config.js';
3
+ export { AgentsMdConfig, ContactPointConfig, FounderConfig, LlmsFullConfig, LlmsTxtConfig, McpConfig, OrganizationConfig, PersonConfig, RobotsTxtConfig, SoftwareApplicationConfig, WebSiteConfig } from './config.js';
4
4
  import 'zod';
5
5
 
6
6
  declare function aiReadiness(options: AiReadinessConfig): AstroIntegration;
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-36CGBNB5.js";
7
7
  import {
8
8
  aiReadinessConfigSchema
9
- } from "./chunk-PAMQNTFZ.js";
9
+ } from "./chunk-HCEHM7EB.js";
10
10
  import {
11
11
  writeLlmsTxt
12
12
  } from "./chunk-WYKIPW5J.js";
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk-4VPGX5IP.js";
16
16
  import {
17
17
  writeAgentsMd
18
- } from "./chunk-EWNGLZBL.js";
18
+ } from "./chunk-4PXOR6CE.js";
19
19
  import "./chunk-V22PCH7G.js";
20
20
 
21
21
  // src/index.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  composeAgentsMd,
3
3
  writeAgentsMd
4
- } from "../chunk-EWNGLZBL.js";
4
+ } from "../chunk-4PXOR6CE.js";
5
5
  import "../chunk-V22PCH7G.js";
6
6
  export {
7
7
  composeAgentsMd,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adkinn/astro-ai-readiness",
3
- "version": "0.0.8",
3
+ "version": "0.0.10",
4
4
  "description": "AI Readiness toolkit for Astro — six JSON-LD components plus llms.txt, llms-full.txt, agents.md, robots.txt, and .well-known/mcp.json outputs.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",