open-index/open-npm huggingface dataset:
npm package: @formula-monks/kurt-cache
Description: Caching plugin for Kurt - A wrapper for AI SDKs, for building LLM-agnostic structured AI applications
Latest version: 1.1.1

# Kurt Adapter for Caching

[Kurt](https://github.com/FormulaMonks/kurt) is a TypeScript library by [Formula.Monks](https://www.formula.co/) that wraps AI SDKs, making it easy to build structured LLM-based applications (RAG, agents, etc) that work with any LLM that supports structured output (via function calling features).

This package implements an adapter for Kurt that caches responses to disk. This is most useful for testing and development, for:
- ensuring determinism of the test data and code paths
- avoiding unnecessary AI usage costs for repetitive requests
- allowing for running existing tests without requiring an API key for the AI service

The cache entries are YAML files, which can be easily inspected and modified for your test cases, as well as checked into your code repository for meaningful code review.

[Read here for more information about Kurt](https://github.com/FormulaMonks/kurt/blob/main/README.md).

## Examples

This example code shows how to set up and use KurtCache with KurtOpenAI (though it also works with other adapters).

```ts
import { Kurt } from "@formula-monks/kurt"
import { KurtCache } from "@formula-monks/kurt-cache"
import { KurtOpenAI } from "@formula-monks/kurt-open-ai"
import OpenAI from "openai"
import { z } from "zod"

const cacheAdapter = new KurtCache(
  // This is the directory where the cache will be stored.
  `${__dirname}/.kurt-cache`,
  // This is the cache prefix. It should identify this adapter configuration,
  // If the prefix changes, prior matching cache entries will no longer match.
  "openai-gpt-3.5-turbo-0125",
  // This function will only be run the first time we encounter a cache miss.
  () =>
    new KurtOpenAI({
      openAI: new OpenAI(),
      model: "gpt-3.5-turbo-0125",
    })
)

const kurt = new Kurt(cacheAdapter)

const schema = z.object({ say: z.string().describe("A single word to say") })
const stream1 = kurt.generateStructuredData({ prompt: "Say hello!", schema })
const stream2 = kurt.generateStructuredData({ prompt: "Say hello!", schema })
const stream3 = kurt.generateStructuredData({ prompt: "Say hi!", schema })

console.log((await stream1.result).data) // (cache miss on first run)
console.log((await stream2.result).data) // (always cached; identical to prior)
console.log((await stream3.result).data) // (cache miss on first run)
```
npm package: @formula-monks/kurt-open-ai
Description: OpenAI plugin for Kurt - A wrapper for AI SDKs, for building LLM-agnostic structured AI applications
Latest version: 1.13.0

# Kurt Adapter for OpenAI

[Kurt](https://github.com/FormulaMonks/kurt) is a TypeScript library by [Formula.Monks](https://www.formula.co/) that wraps AI SDKs, making it easy to build structured LLM-based applications (RAG, agents, etc) that work with any LLM that supports structured output (via function calling features).

This package implements an adapter for Kurt that works with [OpenAI's GPT models](https://platform.openai.com/docs/models).

[Read here for more information about Kurt](https://github.com/FormulaMonks/kurt/blob/main/README.md).

## Examples

This example code shows how to set up and use Kurt with OpenAI.

```ts
import { Kurt } from "@formula-monks/kurt"
import { KurtOpenAI } from "@formula-monks/kurt-open-ai"
import OpenAI from "openai"
import { z } from "zod"

const openAIAdapter = new KurtOpenAI({
  openAI: new OpenAI(),
  model: "gpt-3.5-turbo-0125",
})

const kurt = new Kurt(openAIAdapter)

const stream = kurt.generateStructuredData({
  // or any other generation method
  prompt: "Say hello!",
  schema: z.object({
    say: z.string().describe("A single word to say"),
  }),
})

const { data } = await stream.result
console.log(data) // { say: "hello" }
```
npm package: @formulavize/lang-fiz
Description: fiz language support for CodeMirror
Author: anthologen
Latest version: 2.1.0

# lang-fiz

This package implements fiz language support for the [CodeMirror](https://codemirror.net/6/) code editor.

## Development Notes

### mocha version

`mocha` is pinned to `10.8.2` (the last 10.x release). The test runner (`cm-runtests` from [`@codemirror/buildhelper`](https://github.com/codemirror/buildhelper)) uses a version of [`@marijn/testtool`](https://github.com/marijnh/testtool), which requires `mocha ^10.0.0`. Using mocha 11.x causes a crash at test startup because the test files import `describe`/`it` from a mocha instance that the runner never initializes. Do not upgrade `mocha` until `@codemirror/buildhelper` upgrades to use a version of `@marijn/testtool` adds mocha 11.x support.
npm package: @formulavize/lezer-fiz
Description: fiz grammar for lezer
Author: anthologen
Latest version: 2.1.0

# lezer-fiz

This is the fiz grammar for the [lezer](https://lezer.codemirror.net) parser system.

**fiz** is a functionally inspired language for describing workflows in [formulavize](https://github.com/formulavize/formulavize). It borrows many language constructs from [javascript](https://github.com/lezer-parser/javascript) and [CSS](https://github.com/lezer-parser/css).
npm package: @formulier/core
Description: Simple, performant form library
Author: Jasper Van Gestel
Latest version: 0.3.1

<p align="center">
  <a href="https://github.com/vjee/formulier" target="_blank" rel="noopener noreferrer">
    <picture>
      <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/vjee/formulier/main/.github/formulier-logotype-banner-dark.svg">
      <img src="https://raw.githubusercontent.com/vjee/formulier/main/.github/formulier-logotype-banner-light.svg" alt="Formulier logo">
    </picture>
  </a>
</p>

<p align="center">
  <img src="https://img.shields.io/npm/v/@formulier/core?style=flat-square" alt="Version">
  <img src="https://img.shields.io/bundlephobia/minzip/@formulier/core?style=flat-square" alt="Bundle size">
  <img src="https://img.shields.io/npm/l/@formulier/core?style=flat-square" alt="License">
</p>

# @formulier/core

> Simple, performant form library

## Docs

Find the docs at [https://vjee.github.io/formulier/](https://vjee.github.io/formulier/).
npm package: @formulier/react
Description: Simple, performant form library for React
Author: Jasper Van Gestel
Latest version: 0.3.1

<p align="center">
  <a href="https://github.com/vjee/formulier" target="_blank" rel="noopener noreferrer">
    <picture>
      <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/vjee/formulier/main/.github/formulier-logotype-banner-dark.svg">
      <img src="https://raw.githubusercontent.com/vjee/formulier/main/.github/formulier-logotype-banner-light.svg" alt="Formulier logo">
    </picture>
  </a>
</p>

<p align="center">
  <img src="https://img.shields.io/npm/v/@formulier/react?style=flat-square" alt="Version">
  <img src="https://img.shields.io/bundlephobia/minzip/@formulier/react?style=flat-square" alt="Bundle size">
  <img src="https://img.shields.io/npm/l/@formulier/react?style=flat-square" alt="License">
</p>

# @formulier/react

> Simple, performant form library for React

## Docs

Find the docs at [https://vjee.github.io/formulier/](https://vjee.github.io/formulier/).

## Example

```jsx
import {
  FormProvider,
  useCreateForm,
  useFormInstance,
  useFormField,
  useSubmitHandler,
} from '@formulier/react'

function MyForm() {
  const form = useCreateForm({
    initialValues: {
      firstName: 'Nico',
      age: 26,
    },
  })

  const onSubmit = useSubmitHandler(form, values => {
    // handle form submission
    console.log(`${values.firstName} is ${values.age} years old.`)
  })

  return (
    <form onSubmit={onSubmit}>
      <FormProvider form={form}>
        <TextField name="firstName" placeholder="First name" />
        <IntegerField name="age" placeholder="Age" />
        <button type="submit">Submit</button>
      </FormProvider>
    </form>
  )
}

function TextField({name, placeholder}) {
  const form = useFormInstance()
  const [field] = useFormField(form, {name})

  return (
    <input
      type="text"
      placeholder={placeholder}
      {...field}
      value={field.value || ''}
      onChange={event => field.onChange(event.target.value)}
    />
  )
}

function IntegerField({name, placeholder}) {
  const form = useFormInstance()
  const [field] = useFormField(form, {name})

  return (
    <input
      type="number"
      placeholder={placeholder}
      {...field}
      value={field.value || ''}
      onChange={event => field.onChange(parseInt(event.target.value, 10))}
    />
  )
}
```
npm package: @formvuelate/plugin-lookup
Description: FormVueLate Lookup plugin
Author: Marina Mosti
Latest version: 3.9.1

# @formvuelate/plugin-lookup

Lookup plugin for FormVueLate

For full documentation check out [FormVueLate's docs](http://formvuelate.js.org/)

## Quick example

```html
<template>
  <div id="app">
    <SchemaFormWithPlugin
      :schema="schema"
      v-model="formData"
    />

    <pre>{{ formData }}</pre>
  </div>
</template>

<script>
import { SchemaFormFactory } from 'formvuelate'
import LookupPlugin from '@/plugins/LookupPlugin'

import SCHEMA from 'some/schema.json'

const SchemaFormWithPlugin = SchemaFormFactory([
  LookupPlugin({
    mapComponents: {
      string: 'FormText',
      array: 'FormSelect',
      boolean: 'FormCheckbox',
      SchemaForm: 'SchemaFormWithPlugin'
    },
    mapProps: {
      type: 'component',
      info: 'label'
    }
  })
])

export default {
  name: 'App',
  components: {
    SchemaFormWithPlugin
  },
  setup () {
    const formData = ref({})

    return {
      schema: SCHEMA,
      formData
    }
  }
}
</script>
```
npm package: @formvuelate/plugin-vuelidate
Description: FormVueLate Vuelidate plugin
Author: Damian Dulisz
Latest version: 1.0.0-alpha.4

# @formvuelate/plugin-vuelidate

**Important:** This repo is WIP. Do not use.

Vuelidate plugin for FormVueLate

For documentation check out [FormVueLate's docs](https://formvuelate.js.org)
npm package: @formvuelatte/plugin-lookup
Description: FormVueLatte Lookup plugin
Author: Marina Mosti
Latest version: 1.2.0
Deprecated: renamed and deprecated

# @formvuelatte/plugin-lookup

Lookup plugin for FormVueLatte

For full documentation check out [FormVueLatte's docs](http://formvuelatte-next.netlify.app/)

## Quick example

```html
<template>
  <div id="app">
    <SchemaFormWithPlugin
      :schema="schema"
      v-model="formData"
    />

    <pre>{{ formData }}</pre>
  </div>
</template>

<script>
import { SchemaFormFactory } from 'formvuelatte'
import LookupPlugin from '@/plugins/LookupPlugin'

import SCHEMA from 'some/schema.json'

const SchemaFormWithPlugin = SchemaFormFactory([
  LookupPlugin({
    mapComponents: {
      string: 'FormText',
      array: 'FormSelect',
      boolean: 'FormCheckbox',
      SchemaForm: 'SchemaFormWithPlugin'
    },
    mapProps: {
      type: 'component',
      info: 'label'
    }
  })
])

export default {
  name: 'App',
  components: {
    SchemaFormWithPlugin
  },
  setup () {
    const formData = ref({})

    return {
      schema: SCHEMA,
      formData
    }
  }
}
</script>
```