Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions data/tooling-data.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3531,3 +3531,21 @@
homepage: 'https://github.com/clairey-zx81/json-model'
supportedDialects:
draft: ['2020-12']

- name: 'schema-envoy'
description: "Converts a JSON Schema into an LLM provider's accepted schema subset (OpenAI strict mode, Gemini's two schema surfaces) and returns a machine-checked report of every value whose accept/reject status changed as a result, with a concrete witness value for each. Also returns a residual validator covering exactly the constraints the provider drops, so those constraints can still be enforced on the response."
toolingTypes: ['util-schema-to-schema']
languages: ['JavaScript', 'TypeScript']
environments: ['Node.js']
dependsOnValidators: ['https://github.com/ajv-validator/ajv']
maintainers:
- name: 'Tamer Kalla'
username: 'tamerkalla'
platform: 'github'
license: 'MIT'
source: 'https://github.com/tamerkalla/schema-envoy'
homepage: 'https://www.npmjs.com/package/schema-envoy'
supportedDialects:
draft: ['7', '2020-12']
lastUpdated: '2026-09-09'

2 changes: 1 addition & 1 deletion lib/calendarUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export function printEventsForNextWeeks(icalData: { [x: string]: any }) {
const arrayDates = [];
if (!icalData) {
console.error('iCal data is empty or invalid.');
return;
return [];
}

// Calculate the range of dates for the next 12 weeks from today
Expand Down
14 changes: 10 additions & 4 deletions pages/community/index.page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,16 @@ export const getStaticProps: GetStaticProps = async () => {
.slice(0, 5);

const remoteICalUrl =
'https://calendar.google.com/calendar/ical/json.schema.community%40gmail.com/public/basic.ics';
const datesInfo = await fetchRemoteICalFile(remoteICalUrl)
.then((icalData: any) => printEventsForNextWeeks(ical.parseICS(icalData)))
.catch((error) => console.error('Error:', error));
'https://calendar.google.com/calendar/ical/info%40json-schema.org/public/basic.ics';
const datesInfo =
(await fetchRemoteICalFile(remoteICalUrl)
.then((icalData: any) =>
icalData ? printEventsForNextWeeks(ical.parseICS(icalData)) : [],
)
.catch((error) => {
console.error('Error:', error);
return [];
})) || [];
return {
props: {
blogPosts,
Expand Down
12 changes: 9 additions & 3 deletions pages/index.page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,15 @@ export const getStaticProps: GetStaticProps = async () => {
.slice(0, 5);
const remoteICalUrl =
'https://calendar.google.com/calendar/ical/info%40json-schema.org/public/basic.ics';
const datesInfo = await fetchRemoteICalFile(remoteICalUrl)
.then((icalData: any) => printEventsForNextWeeks(ical.parseICS(icalData)))
.catch((error) => console.error('Error:', error));
const datesInfo =
(await fetchRemoteICalFile(remoteICalUrl)
.then((icalData: any) =>
icalData ? printEventsForNextWeeks(ical.parseICS(icalData)) : [],
)
.catch((error) => {
console.error('Error:', error);
return [];
})) || [];
return { props: { blogPosts, datesInfo, fallback: false } };
};

Expand Down
Loading