@adkinn/astro-ai-readiness 0.0.8 → 0.0.9

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.9app/product support. Adds a `<SoftwareApplicationSchema />` component (screenshots, feature list, offers), Organization `description` + `contactPoint`, `founder.url`, WebSite `inLanguage`, and custom `## sections` for `agents.md` everything an app/product site needs at full fidelity.
6
6
 
7
- ## What ships in v0.0.8
7
+ ## What ships in v0.0.9
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
@@ -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,25 @@ 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(),
17
25
  founder: founderSchema.optional(),
18
26
  foundingDate: z.string().optional(),
19
27
  knowsAbout: z.array(z.string()).optional(),
20
- areaServed: z.string().optional()
28
+ areaServed: z.string().optional(),
29
+ contactPoint: contactPointSchema.optional()
21
30
  }).strict();
22
31
  var personSchema = z.object({
23
32
  name: z.string().min(1),
@@ -30,8 +39,33 @@ var personSchema = z.object({
30
39
  }).strict();
31
40
  var webSiteSchema = z.object({
32
41
  name: z.string().optional(),
42
+ description: z.string().optional(),
43
+ inLanguage: z.string().optional()
44
+ }).strict();
45
+ var offerSchema = z.object({
46
+ name: z.string().min(1).optional(),
47
+ price: z.string().min(1),
48
+ priceCurrency: z.string().min(1),
33
49
  description: z.string().optional()
34
50
  }).strict();
51
+ var softwareApplicationSchema = z.object({
52
+ name: z.string().min(1),
53
+ applicationCategory: z.string().optional(),
54
+ applicationSubCategory: z.string().optional(),
55
+ operatingSystem: z.string().optional(),
56
+ description: z.string().optional(),
57
+ url: httpsUrl.optional(),
58
+ image: httpsUrl.optional(),
59
+ screenshot: z.array(httpsUrl).optional(),
60
+ featureList: z.array(z.string()).optional(),
61
+ offers: z.array(offerSchema).optional(),
62
+ installUrl: httpsUrl.optional(),
63
+ downloadUrl: httpsUrl.optional(),
64
+ aggregateRating: z.object({
65
+ ratingValue: z.number(),
66
+ ratingCount: z.number().int().positive()
67
+ }).strict().optional()
68
+ }).strict();
35
69
  var llmsTxtLinkSchema = z.object({
36
70
  title: z.string().min(1),
37
71
  url: httpsUrl,
@@ -71,12 +105,17 @@ var agentsMdLinkSchema = z.object({
71
105
  url: httpsUrl,
72
106
  description: z.string().optional()
73
107
  }).strict();
108
+ var agentsMdSectionSchema = z.object({
109
+ title: z.string().min(1),
110
+ content: z.string().min(1)
111
+ }).strict();
74
112
  var agentsMdSchema = z.object({
75
113
  description: z.string().min(1).refine(
76
114
  (s) => !s.includes("\n"),
77
115
  { message: "description must be single-line \u2014 use audience/contact fields for additional prose" }
78
116
  ),
79
117
  audience: z.string().optional(),
118
+ sections: z.array(agentsMdSectionSchema).min(1).optional(),
80
119
  contact: z.string().optional(),
81
120
  links: z.array(agentsMdLinkSchema).min(1).optional()
82
121
  }).strict();
@@ -138,6 +177,7 @@ var aiReadinessConfigSchema = z.object({
138
177
  site: httpsUrl,
139
178
  organization: organizationSchema.optional(),
140
179
  person: personSchema.optional(),
180
+ softwareApplication: softwareApplicationSchema.optional(),
141
181
  webSite: webSiteSchema.optional(),
142
182
  llmsTxt: llmsTxtSchema.optional(),
143
183
  llmsFull: llmsFullSchema.optional(),
@@ -18,6 +18,7 @@ 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
21
22
  if (org.foundingDate) orgLd.foundingDate = org.foundingDate
22
23
  if (org.knowsAbout && org.knowsAbout.length > 0) orgLd.knowsAbout = org.knowsAbout
23
24
  if (org.areaServed) orgLd.areaServed = org.areaServed
@@ -29,9 +30,21 @@ if (org) {
29
30
  }
30
31
  if (org.founder.jobTitle) founder.jobTitle = org.founder.jobTitle
31
32
  if (org.founder.description) founder.description = org.founder.description
33
+ if (org.founder.url) founder.url = org.founder.url
32
34
  if (org.founder.sameAs && org.founder.sameAs.length > 0) founder.sameAs = org.founder.sameAs
33
35
  orgLd.founder = founder
34
36
  }
37
+
38
+ if (org.contactPoint) {
39
+ const cp: SchemaJson = {
40
+ '@type': 'ContactPoint',
41
+ contactType: org.contactPoint.contactType,
42
+ }
43
+ if (org.contactPoint.email) cp.email = org.contactPoint.email
44
+ if (org.contactPoint.telephone) cp.telephone = org.contactPoint.telephone
45
+ if (org.contactPoint.url) cp.url = org.contactPoint.url
46
+ orgLd.contactPoint = cp
47
+ }
35
48
  }
36
49
  ---
37
50
  {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,122 @@ 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;
29
+ jobTitle?: string | undefined;
28
30
  sameAs?: string[] | undefined;
29
31
  }, {
30
32
  name: string;
31
- jobTitle?: string | undefined;
33
+ url?: string | undefined;
32
34
  description?: string | undefined;
35
+ jobTitle?: string | undefined;
33
36
  sameAs?: string[] | undefined;
34
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;
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>;
39
59
  founder: z.ZodOptional<z.ZodObject<{
40
60
  name: z.ZodString;
41
61
  jobTitle: z.ZodOptional<z.ZodString>;
42
62
  description: z.ZodOptional<z.ZodString>;
63
+ url: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
43
64
  sameAs: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
44
65
  }, "strip", z.ZodTypeAny, {
45
66
  name: string;
46
- jobTitle?: string | undefined;
67
+ url?: string | undefined;
47
68
  description?: string | undefined;
69
+ jobTitle?: string | undefined;
48
70
  sameAs?: string[] | undefined;
49
71
  }, {
50
72
  name: string;
51
- jobTitle?: string | undefined;
73
+ url?: string | undefined;
52
74
  description?: string | undefined;
75
+ jobTitle?: string | undefined;
53
76
  sameAs?: string[] | undefined;
54
77
  }>>;
55
78
  foundingDate: z.ZodOptional<z.ZodString>;
56
79
  knowsAbout: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
57
80
  areaServed: z.ZodOptional<z.ZodString>;
81
+ contactPoint: z.ZodOptional<z.ZodObject<{
82
+ contactType: z.ZodString;
83
+ email: z.ZodOptional<z.ZodString>;
84
+ telephone: z.ZodOptional<z.ZodString>;
85
+ url: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
86
+ }, "strict", z.ZodTypeAny, {
87
+ contactType: string;
88
+ url?: string | undefined;
89
+ email?: string | undefined;
90
+ telephone?: string | undefined;
91
+ }, {
92
+ contactType: string;
93
+ url?: string | undefined;
94
+ email?: string | undefined;
95
+ telephone?: string | undefined;
96
+ }>>;
58
97
  }, "strict", z.ZodTypeAny, {
59
98
  name: string;
60
99
  url?: string | undefined;
61
100
  logo?: string | undefined;
101
+ description?: string | undefined;
62
102
  founder?: {
63
103
  name: string;
64
- jobTitle?: string | undefined;
104
+ url?: string | undefined;
65
105
  description?: string | undefined;
106
+ jobTitle?: string | undefined;
66
107
  sameAs?: string[] | undefined;
67
108
  } | undefined;
68
109
  foundingDate?: string | undefined;
69
110
  knowsAbout?: string[] | undefined;
70
111
  areaServed?: string | undefined;
112
+ contactPoint?: {
113
+ contactType: string;
114
+ url?: string | undefined;
115
+ email?: string | undefined;
116
+ telephone?: string | undefined;
117
+ } | undefined;
71
118
  }, {
72
119
  name: string;
73
120
  url?: string | undefined;
74
121
  logo?: string | undefined;
122
+ description?: string | undefined;
75
123
  founder?: {
76
124
  name: string;
77
- jobTitle?: string | undefined;
125
+ url?: string | undefined;
78
126
  description?: string | undefined;
127
+ jobTitle?: string | undefined;
79
128
  sameAs?: string[] | undefined;
80
129
  } | undefined;
81
130
  foundingDate?: string | undefined;
82
131
  knowsAbout?: string[] | undefined;
83
132
  areaServed?: string | undefined;
133
+ contactPoint?: {
134
+ contactType: string;
135
+ url?: string | undefined;
136
+ email?: string | undefined;
137
+ telephone?: string | undefined;
138
+ } | undefined;
84
139
  }>;
85
140
  declare const personSchema: z.ZodObject<{
86
141
  name: z.ZodString;
@@ -93,16 +148,16 @@ declare const personSchema: z.ZodObject<{
93
148
  }, "strict", z.ZodTypeAny, {
94
149
  name: string;
95
150
  url?: string | undefined;
96
- jobTitle?: string | undefined;
97
151
  description?: string | undefined;
152
+ jobTitle?: string | undefined;
98
153
  sameAs?: string[] | undefined;
99
154
  knowsAbout?: string[] | undefined;
100
155
  image?: string | undefined;
101
156
  }, {
102
157
  name: string;
103
158
  url?: string | undefined;
104
- jobTitle?: string | undefined;
105
159
  description?: string | undefined;
160
+ jobTitle?: string | undefined;
106
161
  sameAs?: string[] | undefined;
107
162
  knowsAbout?: string[] | undefined;
108
163
  image?: string | undefined;
@@ -110,12 +165,98 @@ declare const personSchema: z.ZodObject<{
110
165
  declare const webSiteSchema: z.ZodObject<{
111
166
  name: z.ZodOptional<z.ZodString>;
112
167
  description: z.ZodOptional<z.ZodString>;
168
+ inLanguage: z.ZodOptional<z.ZodString>;
113
169
  }, "strict", z.ZodTypeAny, {
114
170
  name?: string | undefined;
115
171
  description?: string | undefined;
172
+ inLanguage?: string | undefined;
116
173
  }, {
117
174
  name?: string | undefined;
118
175
  description?: string | undefined;
176
+ inLanguage?: string | undefined;
177
+ }>;
178
+ declare const softwareApplicationSchema: z.ZodObject<{
179
+ name: z.ZodString;
180
+ applicationCategory: z.ZodOptional<z.ZodString>;
181
+ applicationSubCategory: z.ZodOptional<z.ZodString>;
182
+ operatingSystem: z.ZodOptional<z.ZodString>;
183
+ description: z.ZodOptional<z.ZodString>;
184
+ url: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
185
+ image: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
186
+ screenshot: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
187
+ featureList: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
188
+ offers: z.ZodOptional<z.ZodArray<z.ZodObject<{
189
+ name: z.ZodOptional<z.ZodString>;
190
+ price: z.ZodString;
191
+ priceCurrency: z.ZodString;
192
+ description: z.ZodOptional<z.ZodString>;
193
+ }, "strict", z.ZodTypeAny, {
194
+ price: string;
195
+ priceCurrency: string;
196
+ name?: string | undefined;
197
+ description?: string | undefined;
198
+ }, {
199
+ price: string;
200
+ priceCurrency: string;
201
+ name?: string | undefined;
202
+ description?: string | undefined;
203
+ }>, "many">>;
204
+ installUrl: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
205
+ downloadUrl: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
206
+ aggregateRating: z.ZodOptional<z.ZodObject<{
207
+ ratingValue: z.ZodNumber;
208
+ ratingCount: z.ZodNumber;
209
+ }, "strict", z.ZodTypeAny, {
210
+ ratingValue: number;
211
+ ratingCount: number;
212
+ }, {
213
+ ratingValue: number;
214
+ ratingCount: number;
215
+ }>>;
216
+ }, "strict", z.ZodTypeAny, {
217
+ name: string;
218
+ url?: string | undefined;
219
+ description?: string | undefined;
220
+ image?: string | undefined;
221
+ applicationCategory?: string | undefined;
222
+ applicationSubCategory?: string | undefined;
223
+ operatingSystem?: string | undefined;
224
+ screenshot?: string[] | undefined;
225
+ featureList?: string[] | undefined;
226
+ offers?: {
227
+ price: string;
228
+ priceCurrency: string;
229
+ name?: string | undefined;
230
+ description?: string | undefined;
231
+ }[] | undefined;
232
+ installUrl?: string | undefined;
233
+ downloadUrl?: string | undefined;
234
+ aggregateRating?: {
235
+ ratingValue: number;
236
+ ratingCount: number;
237
+ } | undefined;
238
+ }, {
239
+ name: string;
240
+ url?: string | undefined;
241
+ description?: string | undefined;
242
+ image?: string | undefined;
243
+ applicationCategory?: string | undefined;
244
+ applicationSubCategory?: string | undefined;
245
+ operatingSystem?: string | undefined;
246
+ screenshot?: string[] | undefined;
247
+ featureList?: string[] | undefined;
248
+ offers?: {
249
+ price: string;
250
+ priceCurrency: string;
251
+ name?: string | undefined;
252
+ description?: string | undefined;
253
+ }[] | undefined;
254
+ installUrl?: string | undefined;
255
+ downloadUrl?: string | undefined;
256
+ aggregateRating?: {
257
+ ratingValue: number;
258
+ ratingCount: number;
259
+ } | undefined;
119
260
  }>;
120
261
  declare const llmsTxtSchema: z.ZodObject<{
121
262
  summary: z.ZodEffects<z.ZodString, string, string>;
@@ -241,6 +382,16 @@ declare const llmsFullSchema: z.ZodEffects<z.ZodObject<{
241
382
  declare const agentsMdSchema: z.ZodObject<{
242
383
  description: z.ZodEffects<z.ZodString, string, string>;
243
384
  audience: z.ZodOptional<z.ZodString>;
385
+ sections: z.ZodOptional<z.ZodArray<z.ZodObject<{
386
+ title: z.ZodString;
387
+ content: z.ZodString;
388
+ }, "strict", z.ZodTypeAny, {
389
+ title: string;
390
+ content: string;
391
+ }, {
392
+ title: string;
393
+ content: string;
394
+ }>, "many">>;
244
395
  contact: z.ZodOptional<z.ZodString>;
245
396
  links: z.ZodOptional<z.ZodArray<z.ZodObject<{
246
397
  title: z.ZodString;
@@ -262,6 +413,10 @@ declare const agentsMdSchema: z.ZodObject<{
262
413
  title: string;
263
414
  description?: string | undefined;
264
415
  }[] | undefined;
416
+ sections?: {
417
+ title: string;
418
+ content: string;
419
+ }[] | undefined;
265
420
  audience?: string | undefined;
266
421
  contact?: string | undefined;
267
422
  }, {
@@ -271,6 +426,10 @@ declare const agentsMdSchema: z.ZodObject<{
271
426
  title: string;
272
427
  description?: string | undefined;
273
428
  }[] | undefined;
429
+ sections?: {
430
+ title: string;
431
+ content: string;
432
+ }[] | undefined;
274
433
  audience?: string | undefined;
275
434
  contact?: string | undefined;
276
435
  }>;
@@ -468,51 +627,87 @@ declare const aiReadinessConfigSchema: z.ZodEffects<z.ZodObject<{
468
627
  name: z.ZodString;
469
628
  url: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
470
629
  logo: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
630
+ description: z.ZodOptional<z.ZodString>;
471
631
  founder: z.ZodOptional<z.ZodObject<{
472
632
  name: z.ZodString;
473
633
  jobTitle: z.ZodOptional<z.ZodString>;
474
634
  description: z.ZodOptional<z.ZodString>;
635
+ url: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
475
636
  sameAs: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
476
637
  }, "strip", z.ZodTypeAny, {
477
638
  name: string;
478
- jobTitle?: string | undefined;
639
+ url?: string | undefined;
479
640
  description?: string | undefined;
641
+ jobTitle?: string | undefined;
480
642
  sameAs?: string[] | undefined;
481
643
  }, {
482
644
  name: string;
483
- jobTitle?: string | undefined;
645
+ url?: string | undefined;
484
646
  description?: string | undefined;
647
+ jobTitle?: string | undefined;
485
648
  sameAs?: string[] | undefined;
486
649
  }>>;
487
650
  foundingDate: z.ZodOptional<z.ZodString>;
488
651
  knowsAbout: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
489
652
  areaServed: z.ZodOptional<z.ZodString>;
653
+ contactPoint: z.ZodOptional<z.ZodObject<{
654
+ contactType: z.ZodString;
655
+ email: z.ZodOptional<z.ZodString>;
656
+ telephone: z.ZodOptional<z.ZodString>;
657
+ url: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
658
+ }, "strict", z.ZodTypeAny, {
659
+ contactType: string;
660
+ url?: string | undefined;
661
+ email?: string | undefined;
662
+ telephone?: string | undefined;
663
+ }, {
664
+ contactType: string;
665
+ url?: string | undefined;
666
+ email?: string | undefined;
667
+ telephone?: string | undefined;
668
+ }>>;
490
669
  }, "strict", z.ZodTypeAny, {
491
670
  name: string;
492
671
  url?: string | undefined;
493
672
  logo?: string | undefined;
673
+ description?: string | undefined;
494
674
  founder?: {
495
675
  name: string;
496
- jobTitle?: string | undefined;
676
+ url?: string | undefined;
497
677
  description?: string | undefined;
678
+ jobTitle?: string | undefined;
498
679
  sameAs?: string[] | undefined;
499
680
  } | undefined;
500
681
  foundingDate?: string | undefined;
501
682
  knowsAbout?: string[] | undefined;
502
683
  areaServed?: string | undefined;
684
+ contactPoint?: {
685
+ contactType: string;
686
+ url?: string | undefined;
687
+ email?: string | undefined;
688
+ telephone?: string | undefined;
689
+ } | undefined;
503
690
  }, {
504
691
  name: string;
505
692
  url?: string | undefined;
506
693
  logo?: string | undefined;
694
+ description?: string | undefined;
507
695
  founder?: {
508
696
  name: string;
509
- jobTitle?: string | undefined;
697
+ url?: string | undefined;
510
698
  description?: string | undefined;
699
+ jobTitle?: string | undefined;
511
700
  sameAs?: string[] | undefined;
512
701
  } | undefined;
513
702
  foundingDate?: string | undefined;
514
703
  knowsAbout?: string[] | undefined;
515
704
  areaServed?: string | undefined;
705
+ contactPoint?: {
706
+ contactType: string;
707
+ url?: string | undefined;
708
+ email?: string | undefined;
709
+ telephone?: string | undefined;
710
+ } | undefined;
516
711
  }>>;
517
712
  person: z.ZodOptional<z.ZodObject<{
518
713
  name: z.ZodString;
@@ -525,29 +720,115 @@ declare const aiReadinessConfigSchema: z.ZodEffects<z.ZodObject<{
525
720
  }, "strict", z.ZodTypeAny, {
526
721
  name: string;
527
722
  url?: string | undefined;
528
- jobTitle?: string | undefined;
529
723
  description?: string | undefined;
724
+ jobTitle?: string | undefined;
530
725
  sameAs?: string[] | undefined;
531
726
  knowsAbout?: string[] | undefined;
532
727
  image?: string | undefined;
533
728
  }, {
534
729
  name: string;
535
730
  url?: string | undefined;
536
- jobTitle?: string | undefined;
537
731
  description?: string | undefined;
732
+ jobTitle?: string | undefined;
538
733
  sameAs?: string[] | undefined;
539
734
  knowsAbout?: string[] | undefined;
540
735
  image?: string | undefined;
541
736
  }>>;
737
+ softwareApplication: z.ZodOptional<z.ZodObject<{
738
+ name: z.ZodString;
739
+ applicationCategory: z.ZodOptional<z.ZodString>;
740
+ applicationSubCategory: z.ZodOptional<z.ZodString>;
741
+ operatingSystem: z.ZodOptional<z.ZodString>;
742
+ description: z.ZodOptional<z.ZodString>;
743
+ url: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
744
+ image: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
745
+ screenshot: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
746
+ featureList: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
747
+ offers: z.ZodOptional<z.ZodArray<z.ZodObject<{
748
+ name: z.ZodOptional<z.ZodString>;
749
+ price: z.ZodString;
750
+ priceCurrency: z.ZodString;
751
+ description: z.ZodOptional<z.ZodString>;
752
+ }, "strict", z.ZodTypeAny, {
753
+ price: string;
754
+ priceCurrency: string;
755
+ name?: string | undefined;
756
+ description?: string | undefined;
757
+ }, {
758
+ price: string;
759
+ priceCurrency: string;
760
+ name?: string | undefined;
761
+ description?: string | undefined;
762
+ }>, "many">>;
763
+ installUrl: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
764
+ downloadUrl: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
765
+ aggregateRating: z.ZodOptional<z.ZodObject<{
766
+ ratingValue: z.ZodNumber;
767
+ ratingCount: z.ZodNumber;
768
+ }, "strict", z.ZodTypeAny, {
769
+ ratingValue: number;
770
+ ratingCount: number;
771
+ }, {
772
+ ratingValue: number;
773
+ ratingCount: number;
774
+ }>>;
775
+ }, "strict", z.ZodTypeAny, {
776
+ name: string;
777
+ url?: string | undefined;
778
+ description?: string | undefined;
779
+ image?: string | undefined;
780
+ applicationCategory?: string | undefined;
781
+ applicationSubCategory?: string | undefined;
782
+ operatingSystem?: string | undefined;
783
+ screenshot?: string[] | undefined;
784
+ featureList?: string[] | undefined;
785
+ offers?: {
786
+ price: string;
787
+ priceCurrency: string;
788
+ name?: string | undefined;
789
+ description?: string | undefined;
790
+ }[] | undefined;
791
+ installUrl?: string | undefined;
792
+ downloadUrl?: string | undefined;
793
+ aggregateRating?: {
794
+ ratingValue: number;
795
+ ratingCount: number;
796
+ } | undefined;
797
+ }, {
798
+ name: string;
799
+ url?: string | undefined;
800
+ description?: string | undefined;
801
+ image?: string | undefined;
802
+ applicationCategory?: string | undefined;
803
+ applicationSubCategory?: string | undefined;
804
+ operatingSystem?: string | undefined;
805
+ screenshot?: string[] | undefined;
806
+ featureList?: string[] | undefined;
807
+ offers?: {
808
+ price: string;
809
+ priceCurrency: string;
810
+ name?: string | undefined;
811
+ description?: string | undefined;
812
+ }[] | undefined;
813
+ installUrl?: string | undefined;
814
+ downloadUrl?: string | undefined;
815
+ aggregateRating?: {
816
+ ratingValue: number;
817
+ ratingCount: number;
818
+ } | undefined;
819
+ }>>;
542
820
  webSite: z.ZodOptional<z.ZodObject<{
543
821
  name: z.ZodOptional<z.ZodString>;
544
822
  description: z.ZodOptional<z.ZodString>;
823
+ inLanguage: z.ZodOptional<z.ZodString>;
545
824
  }, "strict", z.ZodTypeAny, {
546
825
  name?: string | undefined;
547
826
  description?: string | undefined;
827
+ inLanguage?: string | undefined;
548
828
  }, {
549
829
  name?: string | undefined;
550
830
  description?: string | undefined;
831
+ inLanguage?: string | undefined;
551
832
  }>>;
552
833
  llmsTxt: z.ZodOptional<z.ZodObject<{
553
834
  summary: z.ZodEffects<z.ZodString, string, string>;
@@ -673,6 +954,16 @@ declare const aiReadinessConfigSchema: z.ZodEffects<z.ZodObject<{
673
954
  agentsMd: z.ZodOptional<z.ZodObject<{
674
955
  description: z.ZodEffects<z.ZodString, string, string>;
675
956
  audience: z.ZodOptional<z.ZodString>;
957
+ sections: z.ZodOptional<z.ZodArray<z.ZodObject<{
958
+ title: z.ZodString;
959
+ content: z.ZodString;
960
+ }, "strict", z.ZodTypeAny, {
961
+ title: string;
962
+ content: string;
963
+ }, {
964
+ title: string;
965
+ content: string;
966
+ }>, "many">>;
676
967
  contact: z.ZodOptional<z.ZodString>;
677
968
  links: z.ZodOptional<z.ZodArray<z.ZodObject<{
678
969
  title: z.ZodString;
@@ -694,6 +985,10 @@ declare const aiReadinessConfigSchema: z.ZodEffects<z.ZodObject<{
694
985
  title: string;
695
986
  description?: string | undefined;
696
987
  }[] | undefined;
988
+ sections?: {
989
+ title: string;
990
+ content: string;
991
+ }[] | undefined;
697
992
  audience?: string | undefined;
698
993
  contact?: string | undefined;
699
994
  }, {
@@ -703,6 +998,10 @@ declare const aiReadinessConfigSchema: z.ZodEffects<z.ZodObject<{
703
998
  title: string;
704
999
  description?: string | undefined;
705
1000
  }[] | undefined;
1001
+ sections?: {
1002
+ title: string;
1003
+ content: string;
1004
+ }[] | undefined;
706
1005
  audience?: string | undefined;
707
1006
  contact?: string | undefined;
708
1007
  }>>;
@@ -900,28 +1199,60 @@ declare const aiReadinessConfigSchema: z.ZodEffects<z.ZodObject<{
900
1199
  name: string;
901
1200
  url?: string | undefined;
902
1201
  logo?: string | undefined;
1202
+ description?: string | undefined;
903
1203
  founder?: {
904
1204
  name: string;
905
- jobTitle?: string | undefined;
1205
+ url?: string | undefined;
906
1206
  description?: string | undefined;
1207
+ jobTitle?: string | undefined;
907
1208
  sameAs?: string[] | undefined;
908
1209
  } | undefined;
909
1210
  foundingDate?: string | undefined;
910
1211
  knowsAbout?: string[] | undefined;
911
1212
  areaServed?: string | undefined;
1213
+ contactPoint?: {
1214
+ contactType: string;
1215
+ url?: string | undefined;
1216
+ email?: string | undefined;
1217
+ telephone?: string | undefined;
1218
+ } | undefined;
912
1219
  } | undefined;
913
1220
  person?: {
914
1221
  name: string;
915
1222
  url?: string | undefined;
916
- jobTitle?: string | undefined;
917
1223
  description?: string | undefined;
1224
+ jobTitle?: string | undefined;
918
1225
  sameAs?: string[] | undefined;
919
1226
  knowsAbout?: string[] | undefined;
920
1227
  image?: string | undefined;
921
1228
  } | undefined;
1229
+ softwareApplication?: {
1230
+ name: string;
1231
+ url?: string | undefined;
1232
+ description?: string | undefined;
1233
+ image?: string | undefined;
1234
+ applicationCategory?: string | undefined;
1235
+ applicationSubCategory?: string | undefined;
1236
+ operatingSystem?: string | undefined;
1237
+ screenshot?: string[] | undefined;
1238
+ featureList?: string[] | undefined;
1239
+ offers?: {
1240
+ price: string;
1241
+ priceCurrency: string;
1242
+ name?: string | undefined;
1243
+ description?: string | undefined;
1244
+ }[] | undefined;
1245
+ installUrl?: string | undefined;
1246
+ downloadUrl?: string | undefined;
1247
+ aggregateRating?: {
1248
+ ratingValue: number;
1249
+ ratingCount: number;
1250
+ } | undefined;
1251
+ } | undefined;
922
1252
  webSite?: {
923
1253
  name?: string | undefined;
924
1254
  description?: string | undefined;
1255
+ inLanguage?: string | undefined;
925
1256
  } | undefined;
926
1257
  llmsTxt?: {
927
1258
  summary: string;
@@ -955,6 +1286,10 @@ declare const aiReadinessConfigSchema: z.ZodEffects<z.ZodObject<{
955
1286
  title: string;
956
1287
  description?: string | undefined;
957
1288
  }[] | undefined;
1289
+ sections?: {
1290
+ title: string;
1291
+ content: string;
1292
+ }[] | undefined;
958
1293
  audience?: string | undefined;
959
1294
  contact?: string | undefined;
960
1295
  } | undefined;
@@ -1002,28 +1337,60 @@ declare const aiReadinessConfigSchema: z.ZodEffects<z.ZodObject<{
1002
1337
  name: string;
1003
1338
  url?: string | undefined;
1004
1339
  logo?: string | undefined;
1340
+ description?: string | undefined;
1005
1341
  founder?: {
1006
1342
  name: string;
1007
- jobTitle?: string | undefined;
1343
+ url?: string | undefined;
1008
1344
  description?: string | undefined;
1345
+ jobTitle?: string | undefined;
1009
1346
  sameAs?: string[] | undefined;
1010
1347
  } | undefined;
1011
1348
  foundingDate?: string | undefined;
1012
1349
  knowsAbout?: string[] | undefined;
1013
1350
  areaServed?: string | undefined;
1351
+ contactPoint?: {
1352
+ contactType: string;
1353
+ url?: string | undefined;
1354
+ email?: string | undefined;
1355
+ telephone?: string | undefined;
1356
+ } | undefined;
1014
1357
  } | undefined;
1015
1358
  person?: {
1016
1359
  name: string;
1017
1360
  url?: string | undefined;
1018
- jobTitle?: string | undefined;
1019
1361
  description?: string | undefined;
1362
+ jobTitle?: string | undefined;
1020
1363
  sameAs?: string[] | undefined;
1021
1364
  knowsAbout?: string[] | undefined;
1022
1365
  image?: string | undefined;
1023
1366
  } | undefined;
1367
+ softwareApplication?: {
1368
+ name: string;
1369
+ url?: string | undefined;
1370
+ description?: string | undefined;
1371
+ image?: string | undefined;
1372
+ applicationCategory?: string | undefined;
1373
+ applicationSubCategory?: string | undefined;
1374
+ operatingSystem?: string | undefined;
1375
+ screenshot?: string[] | undefined;
1376
+ featureList?: string[] | undefined;
1377
+ offers?: {
1378
+ price: string;
1379
+ priceCurrency: string;
1380
+ name?: string | undefined;
1381
+ description?: string | undefined;
1382
+ }[] | undefined;
1383
+ installUrl?: string | undefined;
1384
+ downloadUrl?: string | undefined;
1385
+ aggregateRating?: {
1386
+ ratingValue: number;
1387
+ ratingCount: number;
1388
+ } | undefined;
1389
+ } | undefined;
1024
1390
  webSite?: {
1025
1391
  name?: string | undefined;
1026
1392
  description?: string | undefined;
1393
+ inLanguage?: string | undefined;
1027
1394
  } | undefined;
1028
1395
  llmsTxt?: {
1029
1396
  summary: string;
@@ -1057,6 +1424,10 @@ declare const aiReadinessConfigSchema: z.ZodEffects<z.ZodObject<{
1057
1424
  title: string;
1058
1425
  description?: string | undefined;
1059
1426
  }[] | undefined;
1427
+ sections?: {
1428
+ title: string;
1429
+ content: string;
1430
+ }[] | undefined;
1060
1431
  audience?: string | undefined;
1061
1432
  contact?: string | undefined;
1062
1433
  } | undefined;
@@ -1104,28 +1475,60 @@ declare const aiReadinessConfigSchema: z.ZodEffects<z.ZodObject<{
1104
1475
  name: string;
1105
1476
  url?: string | undefined;
1106
1477
  logo?: string | undefined;
1478
+ description?: string | undefined;
1107
1479
  founder?: {
1108
1480
  name: string;
1109
- jobTitle?: string | undefined;
1481
+ url?: string | undefined;
1110
1482
  description?: string | undefined;
1483
+ jobTitle?: string | undefined;
1111
1484
  sameAs?: string[] | undefined;
1112
1485
  } | undefined;
1113
1486
  foundingDate?: string | undefined;
1114
1487
  knowsAbout?: string[] | undefined;
1115
1488
  areaServed?: string | undefined;
1489
+ contactPoint?: {
1490
+ contactType: string;
1491
+ url?: string | undefined;
1492
+ email?: string | undefined;
1493
+ telephone?: string | undefined;
1494
+ } | undefined;
1116
1495
  } | undefined;
1117
1496
  person?: {
1118
1497
  name: string;
1119
1498
  url?: string | undefined;
1120
- jobTitle?: string | undefined;
1121
1499
  description?: string | undefined;
1500
+ jobTitle?: string | undefined;
1122
1501
  sameAs?: string[] | undefined;
1123
1502
  knowsAbout?: string[] | undefined;
1124
1503
  image?: string | undefined;
1125
1504
  } | undefined;
1505
+ softwareApplication?: {
1506
+ name: string;
1507
+ url?: string | undefined;
1508
+ description?: string | undefined;
1509
+ image?: string | undefined;
1510
+ applicationCategory?: string | undefined;
1511
+ applicationSubCategory?: string | undefined;
1512
+ operatingSystem?: string | undefined;
1513
+ screenshot?: string[] | undefined;
1514
+ featureList?: string[] | undefined;
1515
+ offers?: {
1516
+ price: string;
1517
+ priceCurrency: string;
1518
+ name?: string | undefined;
1519
+ description?: string | undefined;
1520
+ }[] | undefined;
1521
+ installUrl?: string | undefined;
1522
+ downloadUrl?: string | undefined;
1523
+ aggregateRating?: {
1524
+ ratingValue: number;
1525
+ ratingCount: number;
1526
+ } | undefined;
1527
+ } | undefined;
1126
1528
  webSite?: {
1127
1529
  name?: string | undefined;
1128
1530
  description?: string | undefined;
1531
+ inLanguage?: string | undefined;
1129
1532
  } | undefined;
1130
1533
  llmsTxt?: {
1131
1534
  summary: string;
@@ -1159,6 +1562,10 @@ declare const aiReadinessConfigSchema: z.ZodEffects<z.ZodObject<{
1159
1562
  title: string;
1160
1563
  description?: string | undefined;
1161
1564
  }[] | undefined;
1565
+ sections?: {
1566
+ title: string;
1567
+ content: string;
1568
+ }[] | undefined;
1162
1569
  audience?: string | undefined;
1163
1570
  contact?: string | undefined;
1164
1571
  } | undefined;
@@ -1206,28 +1613,60 @@ declare const aiReadinessConfigSchema: z.ZodEffects<z.ZodObject<{
1206
1613
  name: string;
1207
1614
  url?: string | undefined;
1208
1615
  logo?: string | undefined;
1616
+ description?: string | undefined;
1209
1617
  founder?: {
1210
1618
  name: string;
1211
- jobTitle?: string | undefined;
1619
+ url?: string | undefined;
1212
1620
  description?: string | undefined;
1621
+ jobTitle?: string | undefined;
1213
1622
  sameAs?: string[] | undefined;
1214
1623
  } | undefined;
1215
1624
  foundingDate?: string | undefined;
1216
1625
  knowsAbout?: string[] | undefined;
1217
1626
  areaServed?: string | undefined;
1627
+ contactPoint?: {
1628
+ contactType: string;
1629
+ url?: string | undefined;
1630
+ email?: string | undefined;
1631
+ telephone?: string | undefined;
1632
+ } | undefined;
1218
1633
  } | undefined;
1219
1634
  person?: {
1220
1635
  name: string;
1221
1636
  url?: string | undefined;
1222
- jobTitle?: string | undefined;
1223
1637
  description?: string | undefined;
1638
+ jobTitle?: string | undefined;
1224
1639
  sameAs?: string[] | undefined;
1225
1640
  knowsAbout?: string[] | undefined;
1226
1641
  image?: string | undefined;
1227
1642
  } | undefined;
1643
+ softwareApplication?: {
1644
+ name: string;
1645
+ url?: string | undefined;
1646
+ description?: string | undefined;
1647
+ image?: string | undefined;
1648
+ applicationCategory?: string | undefined;
1649
+ applicationSubCategory?: string | undefined;
1650
+ operatingSystem?: string | undefined;
1651
+ screenshot?: string[] | undefined;
1652
+ featureList?: string[] | undefined;
1653
+ offers?: {
1654
+ price: string;
1655
+ priceCurrency: string;
1656
+ name?: string | undefined;
1657
+ description?: string | undefined;
1658
+ }[] | undefined;
1659
+ installUrl?: string | undefined;
1660
+ downloadUrl?: string | undefined;
1661
+ aggregateRating?: {
1662
+ ratingValue: number;
1663
+ ratingCount: number;
1664
+ } | undefined;
1665
+ } | undefined;
1228
1666
  webSite?: {
1229
1667
  name?: string | undefined;
1230
1668
  description?: string | undefined;
1669
+ inLanguage?: string | undefined;
1231
1670
  } | undefined;
1232
1671
  llmsTxt?: {
1233
1672
  summary: string;
@@ -1261,6 +1700,10 @@ declare const aiReadinessConfigSchema: z.ZodEffects<z.ZodObject<{
1261
1700
  title: string;
1262
1701
  description?: string | undefined;
1263
1702
  }[] | undefined;
1703
+ sections?: {
1704
+ title: string;
1705
+ content: string;
1706
+ }[] | undefined;
1264
1707
  audience?: string | undefined;
1265
1708
  contact?: string | undefined;
1266
1709
  } | undefined;
@@ -1307,6 +1750,8 @@ type AiReadinessConfig = z.infer<typeof aiReadinessConfigSchema>;
1307
1750
  type OrganizationConfig = z.infer<typeof organizationSchema>;
1308
1751
  type PersonConfig = z.infer<typeof personSchema>;
1309
1752
  type FounderConfig = z.infer<typeof founderSchema>;
1753
+ type ContactPointConfig = z.infer<typeof contactPointSchema>;
1754
+ type SoftwareApplicationConfig = z.infer<typeof softwareApplicationSchema>;
1310
1755
  type WebSiteConfig = z.infer<typeof webSiteSchema>;
1311
1756
  type LlmsTxtConfig = z.infer<typeof llmsTxtSchema>;
1312
1757
  type LlmsFullConfig = z.infer<typeof llmsFullSchema>;
@@ -1314,4 +1759,4 @@ type AgentsMdConfig = z.infer<typeof agentsMdSchema>;
1314
1759
  type McpConfig = z.infer<typeof mcpSchema>;
1315
1760
  type RobotsTxtConfig = z.infer<typeof robotsTxtSchema>;
1316
1761
 
1317
- export { type AgentsMdConfig, type AiReadinessConfig, type FounderConfig, type LlmsFullConfig, type LlmsTxtConfig, type McpConfig, type OrganizationConfig, type PersonConfig, type RobotsTxtConfig, type WebSiteConfig, aiReadinessConfigSchema };
1762
+ 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-XYQNZKKD.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-XYQNZKKD.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.9",
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",