glirastes 0.2.0 → 0.3.0

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/CHANGELOG.md CHANGED
@@ -7,6 +7,48 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.3.0] - 2026-04-28
11
+
12
+ ### Fixed
13
+
14
+ - README NestJS examples now match the real decorator API: `@AiTool({ name })`
15
+ not `toolName`, `@AiModule({ intent, classification })` takes an options
16
+ object, `scanNestJsControllers({ controllers })` takes an options object
17
+ and returns `{ tools, modules, toolsByModule }` (destructure `.tools`
18
+ before passing to `endpointToolsToRegistry`).
19
+ - Stream handler no longer emits the fallback `"No output generated.
20
+ Check the stream for errors."` event when an upstream error has
21
+ already been streamed in the same response.
22
+
23
+ ### Changed
24
+
25
+ - Peer-dep range for `@nestjs/common`, `@nestjs/core`, `@nestjs/config`,
26
+ `@nestjs/swagger` widened to support v10 alongside v11.
27
+
28
+ ### Added
29
+
30
+ - `examples/quickstart-nestjs/` and `examples/quickstart-nextjs/` —
31
+ compile-tested in CI via `tests/examples-compile.test.ts`. What you
32
+ copy from the README is what compiles.
33
+ - README "Setup notes" section: recommended `tsconfig.json` (so
34
+ `Cannot find module 'glirastes/server/nestjs'` no longer surprises
35
+ consumers on legacy `moduleResolution`) and a subpath decision-tree
36
+ table.
37
+ - `FOLLOWUPS.md` capturing deferred work: dual ESM+CJS bundle,
38
+ `glirastes`+`glirastes-react` split for production trim, optional
39
+ `baseUrl` for endpoint tools, registry sugar, CLI docs.
40
+ - `DEFAULT_SAFETY_MAX_STEPS` and `resolveStepLimit` are now public exports
41
+ so consumers can pin / replicate the safety-cap behaviour in tests.
42
+
43
+ ## [0.2.1] - 2026-04-27
44
+
45
+ ### Changed
46
+
47
+ - README hero image now uses a relative path (`.github/hero.gif`) so it
48
+ renders directly from the repository instead of a hard-coded
49
+ `raw.githubusercontent.com` URL.
50
+ - Refreshed `.github/hero.gif` with an updated, smaller animation.
51
+
10
52
  ## [0.2.0] - 2026-04-27
11
53
 
12
54
  ### Added
@@ -35,5 +77,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
35
77
  these libraries on install. `react-markdown` is loaded via `React.lazy`
36
78
  with a plain-text fallback when the peer dep is not installed.
37
79
 
38
- [Unreleased]: https://github.com/chainmatics/glirastes/compare/v0.2.0...HEAD
80
+ [Unreleased]: https://github.com/chainmatics/glirastes/compare/v0.2.1...HEAD
81
+ [0.2.1]: https://github.com/chainmatics/glirastes/compare/v0.2.0...v0.2.1
39
82
  [0.2.0]: https://github.com/chainmatics/glirastes/releases/tag/v0.2.0
@@ -0,0 +1,85 @@
1
+
2
+ # Contributor Covenant Code of Conduct
3
+
4
+ ## Our Pledge
5
+
6
+ We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.
7
+
8
+ We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
9
+
10
+ ## Our Standards
11
+
12
+ Examples of behavior that contributes to a positive environment for our community include:
13
+
14
+ * Demonstrating empathy and kindness toward other people
15
+ * Being respectful of differing opinions, viewpoints, and experiences
16
+ * Giving and gracefully accepting constructive feedback
17
+ * Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
18
+ * Focusing on what is best not just for us as individuals, but for the overall community
19
+
20
+ Examples of unacceptable behavior include:
21
+
22
+ * The use of sexualized language or imagery, and sexual attention or advances of any kind
23
+ * Trolling, insulting or derogatory comments, and personal or political attacks
24
+ * Public or private harassment
25
+ * Publishing others' private information, such as a physical or email address, without their explicit permission
26
+ * Other conduct which could reasonably be considered inappropriate in a professional setting
27
+
28
+ ## Enforcement Responsibilities
29
+
30
+ Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.
31
+
32
+ Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.
33
+
34
+ ## Scope
35
+
36
+ This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.
37
+
38
+ ## Enforcement
39
+
40
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at hello@chainmatics.net. All complaints will be reviewed and investigated promptly and fairly.
41
+
42
+ All community leaders are obligated to respect the privacy and security of the reporter of any incident.
43
+
44
+ ## Enforcement Guidelines
45
+
46
+ Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:
47
+
48
+ ### 1. Correction
49
+
50
+ **Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.
51
+
52
+ **Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.
53
+
54
+ ### 2. Warning
55
+
56
+ **Community Impact**: A violation through a single incident or series of actions.
57
+
58
+ **Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.
59
+
60
+ ### 3. Temporary Ban
61
+
62
+ **Community Impact**: A serious violation of community standards, including sustained inappropriate behavior.
63
+
64
+ **Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.
65
+
66
+ ### 4. Permanent Ban
67
+
68
+ **Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.
69
+
70
+ **Consequence**: A permanent ban from any sort of public interaction within the community.
71
+
72
+ ## Attribution
73
+
74
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
75
+
76
+ Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder][Mozilla CoC].
77
+
78
+ For answers to common questions about this code of conduct, see the FAQ at [https://www.contributor-covenant.org/faq][FAQ]. Translations are available at [https://www.contributor-covenant.org/translations][translations].
79
+
80
+ [homepage]: https://www.contributor-covenant.org
81
+ [v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
82
+ [Mozilla CoC]: https://github.com/mozilla/diversity
83
+ [FAQ]: https://www.contributor-covenant.org/faq
84
+ [translations]: https://www.contributor-covenant.org/translations
85
+
@@ -0,0 +1,87 @@
1
+ # Contributing to glirastes
2
+
3
+ Thanks for your interest in contributing! This document describes how to
4
+ propose changes to the project.
5
+
6
+ ## Code of Conduct
7
+
8
+ This project follows the [Contributor Covenant](CODE_OF_CONDUCT.md).
9
+ By participating you agree to uphold its terms. Report unacceptable behavior to
10
+ **conduct@chainmatics.net**.
11
+
12
+ ## Development Setup
13
+
14
+ Requirements:
15
+
16
+ - [Bun](https://bun.sh) ≥ 1.0
17
+ - Node.js ≥ 20 (for compatibility checks; runtime is Bun)
18
+
19
+ ```bash
20
+ git clone https://github.com/chainmatics/glirastes.git
21
+ cd glirastes
22
+ bun install
23
+ bun run typecheck
24
+ bun run test
25
+ bun run build
26
+ ```
27
+
28
+ There is no linter or formatter; TypeScript strict mode is the only static
29
+ check.
30
+
31
+ ## Submitting Changes
32
+
33
+ 1. Fork the repository and create a branch from `main`
34
+ 2. Keep PRs **small and focused** — one logical change per PR
35
+ 3. Make sure `bun run typecheck` and `bun run test` pass locally
36
+ 4. Use [Conventional Commits](https://www.conventionalcommits.org/) for commit
37
+ messages, e.g. `feat(server): add streaming support`
38
+ 5. Open the PR with a clear description of *what* changed and *why*
39
+
40
+ ## Developer Certificate of Origin (DCO)
41
+
42
+ We use the [Developer Certificate of Origin](https://developercertificate.org/)
43
+ rather than a CLA. By contributing, you certify that you have the right to
44
+ submit your work under the project license (Apache-2.0).
45
+
46
+ Sign-off is **encouraged but not enforced** in CI today. If you want to
47
+ sign-off your commits — or for substantial contributions where provenance
48
+ matters — append a `Signed-off-by` trailer:
49
+
50
+ ```bash
51
+ git commit -s -m "feat(server): add streaming support"
52
+ ```
53
+
54
+ This adds a `Signed-off-by: Your Name <you@example.com>` line.
55
+
56
+ ## Code Style
57
+
58
+ - TypeScript **strict mode** — no `any` without justification
59
+ - ESM only (`"type": "module"`)
60
+ - Relative imports only — no path aliases
61
+ - Avoid comments unless they explain a non-obvious *why*
62
+ - Tests use Vitest; place them next to the source as `*.test.ts`
63
+
64
+ ## Reporting Bugs
65
+
66
+ [Open an issue](https://github.com/chainmatics/glirastes/issues/new/choose)
67
+ and include:
68
+
69
+ - `glirastes` version (`bun pm ls glirastes`)
70
+ - Minimal reproduction (a tiny repo or gist is best)
71
+ - Expected vs actual behavior
72
+ - Stack trace, if any
73
+
74
+ ## Reporting Security Issues
75
+
76
+ **Do not** open a public issue for security vulnerabilities. See
77
+ [SECURITY.md](SECURITY.md) for the private reporting channel.
78
+
79
+ ## Releasing
80
+
81
+ Releases are published from CI on tagged commits. Maintainers only:
82
+
83
+ 1. Bump `version` in `package.json`
84
+ 2. Commit and push to `main`
85
+ 3. `git tag v<version> && git push origin v<version>`
86
+
87
+ The `Publish glirastes` workflow builds and publishes to npm with provenance.
package/README.md CHANGED
@@ -83,7 +83,9 @@ Building an AI feature means wiring together **tool definitions**, **API calls**
83
83
 
84
84
  <br/>
85
85
 
86
- ## Quick Start ([Next.js](https://nextjs.org/) + [Vercel AI SDK](https://sdk.vercel.ai/))
86
+ ## Quick Start ([Next.js](https://nextjs.org/) or [NestJS](https://nestjs.com/))
87
+
88
+ Pick your stack — both come up in the same four steps.
87
89
 
88
90
  ### 1. Install
89
91
 
@@ -91,23 +93,26 @@ Building an AI feature means wiring together **tool definitions**, **API calls**
91
93
  npm install glirastes
92
94
  ```
93
95
 
94
- > **Requirements:** Node.js `>=20`, React `^19` (for the chat UI — `react-dom` is pinned to `^19`).
96
+ That's it. The Vercel AI SDK (`ai`), React bindings (`@ai-sdk/react`), and Markdown rendering (`react-markdown`) come included so you can copy-paste any example below. Bundlers tree-shake whatever you don't import.
97
+
98
+ > **Requirements:** Node.js `>=20`. The React chat UI needs `react` and `react-dom` `^19` — Next.js apps already have these, and modern npm/bun auto-installs them otherwise.
95
99
  >
96
- > **Peer dependencies for the React chat UI** (only install what you use):
100
+ > **Optional** — only if you want voice input with a live waveform:
97
101
  > ```bash
98
- > # Required for VercelAiChat / LangGraphAiChat:
99
- > npm install react react-dom ai @ai-sdk/react
100
- >
101
- > # Optional — enables Markdown rendering in messages (falls back to plain text):
102
- > npm install react-markdown
103
- >
104
- > # Optional — enables waveform visualization for voice input:
105
102
  > npm install wavesurfer.js
106
103
  > ```
107
104
 
108
- ### 2. Define a tool next to your API route
105
+ ### 2. Define a tool
109
106
 
110
- Co-locate the tool definition with the `route.ts` it exposes. The SDK uses the declared `method` + `path` to call your own API when the LLM picks this tool — you never write a `fetch` yourself.
107
+ The SDK uses the declared `method` + `path` (or the route the decorator already exposes) to call your own API when the LLM picks this tool — you never write a `fetch` yourself.
108
+
109
+ <table>
110
+ <tr>
111
+ <th>Next.js — co-located <code>ai-tool.ts</code></th>
112
+ <th>NestJS — decorators on your controller</th>
113
+ </tr>
114
+ <tr>
115
+ <td valign="top">
111
116
 
112
117
  ```ts
113
118
  // app/api/tasks/ai-tool.ts
@@ -126,7 +131,39 @@ export const listTasks = defineEndpointTool({
126
131
  });
127
132
  ```
128
133
 
129
- ### 3. Drop a chat widget into `app/layout.tsx`
134
+ </td>
135
+ <td valign="top">
136
+
137
+ ```ts
138
+ // tasks.controller.ts
139
+ import { Controller, Get, Query } from '@nestjs/common';
140
+ import { AiModule, AiTool } from 'glirastes/server/nestjs';
141
+
142
+ @Controller('tasks')
143
+ @AiModule({
144
+ intent: 'task_management',
145
+ classification: {
146
+ hint: 'User asks about listing or filtering tasks.',
147
+ examples: ['show me open tasks', 'what is done?', 'list my tasks'],
148
+ },
149
+ })
150
+ export class TaskController {
151
+ @Get()
152
+ @AiTool({
153
+ name: 'list_tasks',
154
+ description: 'List tasks with an optional status filter.',
155
+ })
156
+ list(@Query('status') status?: 'open' | 'done') {
157
+ return this.taskService.list(status);
158
+ }
159
+ }
160
+ ```
161
+
162
+ </td>
163
+ </tr>
164
+ </table>
165
+
166
+ ### 3. Drop a chat widget into your frontend
130
167
 
131
168
  ```tsx
132
169
  'use client';
@@ -142,7 +179,15 @@ export default function RootLayout({ children }) {
142
179
  }
143
180
  ```
144
181
 
145
- ### 4. Wire up `app/api/chat/route.ts`
182
+ ### 4. Wire up the chat handler
183
+
184
+ <table>
185
+ <tr>
186
+ <th>Next.js — <code>app/api/chat/route.ts</code></th>
187
+ <th>NestJS — register controllers in <code>AiChatModule</code></th>
188
+ </tr>
189
+ <tr>
190
+ <td valign="top">
146
191
 
147
192
  ```ts
148
193
  import { createAiChatHandler } from 'glirastes/server/nextjs';
@@ -154,7 +199,62 @@ export const POST = createAiChatHandler({
154
199
  });
155
200
  ```
156
201
 
157
- Done. AI chat is live, streaming, and your `list_tasks` tool is callable. Add more tools the same way — one `ai-tool.ts` per route, import them all in `app/api/chat/route.ts`.
202
+ </td>
203
+ <td valign="top">
204
+
205
+ ```ts
206
+ import { scanNestJsControllers } from 'glirastes/server/nestjs';
207
+ import { endpointToolsToRegistry } from 'glirastes/server';
208
+ import { TaskController } from './tasks/tasks.controller';
209
+
210
+ const scan = scanNestJsControllers({ controllers: [TaskController] });
211
+ const registry = endpointToolsToRegistry(scan.tools);
212
+
213
+ // Pass `registry` to createAiChatHandler in your chat route.
214
+ ```
215
+
216
+ </td>
217
+ </tr>
218
+ </table>
219
+
220
+ Done. AI chat is live, streaming, and your `list_tasks` tool is callable. Add more tools the same way — pick the style that matches your stack. See [NestJS with decorators](#nestjs-with-decorators) below for DTOs, `@AiParam`, and multi-controller scanning.
221
+
222
+ ### Setup notes
223
+
224
+ #### Recommended `tsconfig.json` for consumers
225
+
226
+ Glirastes ships ESM with subpath `exports`. Your tsconfig must support that:
227
+
228
+ ```jsonc
229
+ {
230
+ "compilerOptions": {
231
+ "module": "node16", // or "nodenext" / "esnext"
232
+ "moduleResolution": "node16", // or "nodenext" / "bundler"
233
+ "target": "ES2022",
234
+ "esModuleInterop": true,
235
+ "experimentalDecorators": true, // NestJS only
236
+ "emitDecoratorMetadata": true // NestJS only
237
+ }
238
+ }
239
+ ```
240
+
241
+ If you see `Cannot find module 'glirastes/server/nestjs'`, your `moduleResolution` is too old (legacy `"node"` does not understand `exports` maps).
242
+
243
+ > **NestJS users on the default CommonJS template:** glirastes is published as ESM only. If your backend's `tsconfig` is `"module": "commonjs"`, you'll hit `TS1479: ECMAScript module cannot be imported with require`. Migrate the backend to `module: "node16"` / `"nodenext"` or follow https://github.com/chainmatics/glirastes/issues for dual-bundle progress.
244
+
245
+ #### Which subpath do I import from?
246
+
247
+ | Where the code runs | Import from |
248
+ |---|---|
249
+ | Anywhere (tool definitions, types, helpers) | `glirastes` |
250
+ | Server-side core (registry helpers, pipeline) | `glirastes/server` |
251
+ | Next.js App Router route handlers | `glirastes/server/nextjs` |
252
+ | NestJS controllers / modules | `glirastes/server/nestjs` |
253
+ | Test suite without LLM calls | `glirastes/server/testing` |
254
+ | React components, client hooks | `glirastes/react` |
255
+ | Vercel AI SDK chat widget | `glirastes/react/vercel` |
256
+ | LangGraph chat widget | `glirastes/react/langgraph` |
257
+ | Default chat panel CSS | `glirastes/react/styles.css` |
158
258
 
159
259
  <br/>
160
260
 
@@ -307,15 +407,21 @@ Prefer declaring tools where the endpoint lives? Use NestJS decorators. Three pi
307
407
 
308
408
  ```ts
309
409
  // tasks.controller.ts
310
- import { Controller, Post, Body } from '@nestjs/common';
410
+ import { Controller, Post, Body, Get, Param } from '@nestjs/common';
311
411
  import { AiModule, AiTool } from 'glirastes/server/nestjs';
312
412
 
313
413
  @Controller('tasks')
314
- @AiModule('task_management')
414
+ @AiModule({
415
+ intent: 'task_management',
416
+ classification: {
417
+ hint: 'User wants to create, update, or query tasks.',
418
+ examples: ['create a task', 'mark task as done', 'list my tasks'],
419
+ },
420
+ })
315
421
  export class TaskController {
316
422
  @Post()
317
423
  @AiTool({
318
- toolName: 'create_task',
424
+ name: 'create_task',
319
425
  description: 'Create a new task',
320
426
  })
321
427
  async create(@Body() dto: CreateTaskDto) {
@@ -355,11 +461,13 @@ Wire it up in your `AiChatModule`:
355
461
  import { scanNestJsControllers } from 'glirastes/server/nestjs';
356
462
  import { endpointToolsToRegistry } from 'glirastes/server';
357
463
 
358
- const definitions = scanNestJsControllers([TaskController, /* ...other controllers */]);
359
- const registry = endpointToolsToRegistry(definitions);
464
+ const scan = scanNestJsControllers({
465
+ controllers: [TaskController, /* ...other controllers */],
466
+ });
467
+ const registry = endpointToolsToRegistry(scan.tools);
360
468
  ```
361
469
 
362
- Pass `registry` to `createAiChatHandler({ tools: registry })`. No separate `ai-tool.ts` files, no manual registration.
470
+ `scanNestJsControllers` returns `{ tools, modules, toolsByModule }` — pass `scan.tools` to `endpointToolsToRegistry`, then hand `registry` to `createAiChatHandler({ tools: registry })`. No separate `ai-tool.ts` files, no manual registration.
363
471
 
364
472
  ### Client-side action handlers
365
473
 
package/SECURITY.md ADDED
@@ -0,0 +1,46 @@
1
+ # Security Policy
2
+
3
+ ## Reporting a Vulnerability
4
+
5
+ If you discover a security vulnerability in **glirastes**, please report it
6
+ privately. **Do not open a public GitHub issue.**
7
+
8
+ Email: **security@chainmatics.net**
9
+
10
+ Alternatively, use [GitHub's private vulnerability reporting](https://github.com/chainmatics/glirastes/security/advisories/new).
11
+
12
+ We will:
13
+
14
+ - Acknowledge your report within **2 business days**
15
+ - Provide an initial assessment within **5 business days**
16
+ - Coordinate a fix and public disclosure, typically within **90 days** of the
17
+ initial report
18
+
19
+ When the fix ships, we publish a [GitHub Security Advisory](https://github.com/chainmatics/glirastes/security/advisories)
20
+ and credit the reporter (unless anonymity is preferred).
21
+
22
+ ## Supported Versions
23
+
24
+ Only the latest released minor version of `glirastes` receives security
25
+ updates. Please upgrade before reporting issues against older versions.
26
+
27
+ ## Scope
28
+
29
+ In scope:
30
+
31
+ - The `glirastes` npm package and its subpath exports
32
+ - Code in this repository
33
+
34
+ Out of scope:
35
+
36
+ - Third-party dependencies (please report directly to the upstream maintainer)
37
+ - The Glirastes platform / Citadel (closed source, separate disclosure path)
38
+
39
+ ## Safe Harbor
40
+
41
+ We will not pursue legal action against researchers who:
42
+
43
+ - Make a good-faith effort to avoid privacy violations, data destruction, and
44
+ service disruption
45
+ - Report findings privately as described above
46
+ - Give us a reasonable window to remediate before public disclosure
@@ -59,6 +59,22 @@ export interface AiChatHandlerFullConfig extends AiChatHandlerConfig {
59
59
  */
60
60
  streamHandler?: (ctx: StreamHandlerContext) => Promise<Response>;
61
61
  }
62
+ /**
63
+ * Default soft cap on reasoning steps when no module-level or explicit
64
+ * `maxSteps` is configured. Acts as a last-line safety against runaway
65
+ * tool loops; not as a normal-operation cap (modules default to 4 via
66
+ * EXECUTION_DEFAULTS). Override per request via `createAiChatHandler({
67
+ * safetyMaxSteps })`.
68
+ */
69
+ export declare const DEFAULT_SAFETY_MAX_STEPS = 24;
70
+ export declare function resolveStepLimit(options: {
71
+ moduleMaxSteps?: number | null;
72
+ configuredMaxSteps?: number | null;
73
+ safetyMaxSteps?: number;
74
+ }): {
75
+ maxSteps: number;
76
+ stepLimitSource: StepLimitSource;
77
+ };
62
78
  /**
63
79
  * Creates a complete Next.js App Router POST handler for AI chat.
64
80
  *
@@ -3,14 +3,22 @@ import { applyPromptOverride } from '../../../types.js';
3
3
  import { streamText, createUIMessageStream, createUIMessageStreamResponse, } from 'ai';
4
4
  import { buildToolContext, createInternalApiCallerFromRequest, } from './context-helpers.js';
5
5
  import { prepareModelMessages, wrapToolsForVercelAi } from './prepare-model-messages.js';
6
- const DEFAULT_SAFETY_MAX_STEPS = 24;
6
+ import { filterFallbackError } from './filter-fallback-error.js';
7
+ /**
8
+ * Default soft cap on reasoning steps when no module-level or explicit
9
+ * `maxSteps` is configured. Acts as a last-line safety against runaway
10
+ * tool loops; not as a normal-operation cap (modules default to 4 via
11
+ * EXECUTION_DEFAULTS). Override per request via `createAiChatHandler({
12
+ * safetyMaxSteps })`.
13
+ */
14
+ export const DEFAULT_SAFETY_MAX_STEPS = 24;
7
15
  function asPositiveInt(value) {
8
16
  if (typeof value !== 'number' || !Number.isFinite(value))
9
17
  return null;
10
18
  const normalized = Math.floor(value);
11
19
  return normalized > 0 ? normalized : null;
12
20
  }
13
- function resolveStepLimit(options) {
21
+ export function resolveStepLimit(options) {
14
22
  const moduleMaxSteps = asPositiveInt(options.moduleMaxSteps);
15
23
  if (moduleMaxSteps) {
16
24
  return { maxSteps: moduleMaxSteps, stepLimitSource: 'module' };
@@ -254,7 +262,10 @@ async function defaultStreamHandler(ctx, onFinish) {
254
262
  }
255
263
  },
256
264
  });
257
- return createUIMessageStreamResponse({ stream });
265
+ // Wrap the outer stream so the filter sees BOTH the inner result chunks AND
266
+ // the error chunk that createUIMessageStream emits when execute() throws —
267
+ // the latter is where the duplicate "No output generated" event comes from.
268
+ return createUIMessageStreamResponse({ stream: filterFallbackError(stream) });
258
269
  }
259
270
  /**
260
271
  * Creates a complete Next.js App Router POST handler for AI chat.
@@ -1 +1 @@
1
- {"version":3,"file":"create-ai-chat-handler.js","sourceRoot":"","sources":["../../../../src/server/adapters/nextjs/create-ai-chat-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-ai-chat-handler.js","sourceRoot":"","sources":["../../../../src/server/adapters/nextjs/create-ai-chat-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ type ErrorChunk = {
2
+ type: 'error';
3
+ errorText: string;
4
+ };
5
+ declare function isErrorChunk(chunk: unknown): chunk is ErrorChunk;
6
+ export declare function filterFallbackError<T>(source: ReadableStream<T>): ReadableStream<T>;
7
+ export declare const __testing__: {
8
+ FALLBACK_ERROR_TEXT: string;
9
+ isErrorChunk: typeof isErrorChunk;
10
+ };
11
+ export {};
@@ -0,0 +1,38 @@
1
+ /**
2
+ * The Vercel AI SDK emits a generic
3
+ * { type: 'error', errorText: 'No output generated. Check the stream for errors.' }
4
+ * chunk whenever `streamText` finishes with no text output — including the
5
+ * (very common) case where it already streamed a real error chunk earlier
6
+ * in the same response (e.g. an upstream provider rejection).
7
+ *
8
+ * That double-error confuses chat UIs: the first message says "API key
9
+ * invalid", the second says "no output, check the stream for errors", and
10
+ * users have no way to tell they describe the same incident.
11
+ *
12
+ * This transform drops the fallback error iff a more specific error chunk
13
+ * has already been forwarded in the same stream. The first error always
14
+ * passes through unchanged.
15
+ */
16
+ const FALLBACK_ERROR_TEXT = 'No output generated. Check the stream for errors.';
17
+ function isErrorChunk(chunk) {
18
+ return (typeof chunk === 'object' &&
19
+ chunk !== null &&
20
+ chunk.type === 'error' &&
21
+ typeof chunk.errorText === 'string');
22
+ }
23
+ export function filterFallbackError(source) {
24
+ let seenError = false;
25
+ return source.pipeThrough(new TransformStream({
26
+ transform(chunk, controller) {
27
+ if (isErrorChunk(chunk)) {
28
+ if (seenError && chunk.errorText === FALLBACK_ERROR_TEXT) {
29
+ return; // drop the duplicate fallback
30
+ }
31
+ seenError = true;
32
+ }
33
+ controller.enqueue(chunk);
34
+ },
35
+ }));
36
+ }
37
+ export const __testing__ = { FALLBACK_ERROR_TEXT, isErrorChunk };
38
+ //# sourceMappingURL=filter-fallback-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-fallback-error.js","sourceRoot":"","sources":["../../../../src/server/adapters/nextjs/filter-fallback-error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,mBAAmB,GAAG,mDAAmD,CAAC;AAIhF,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAA4B,CAAC,IAAI,KAAK,OAAO;QAC9C,OAAQ,KAAiC,CAAC,SAAS,KAAK,QAAQ,CACjE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAI,MAAyB;IAC9D,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,OAAO,MAAM,CAAC,WAAW,CACvB,IAAI,eAAe,CAAO;QACxB,SAAS,CAAC,KAAK,EAAE,UAAU;YACzB,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,IAAI,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,mBAAmB,EAAE,CAAC;oBACzD,OAAO,CAAC,8BAA8B;gBACxC,CAAC;gBACD,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC;YACD,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,mBAAmB,EAAE,YAAY,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "glirastes",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Official Chainmatics SDK for building AI-powered chat, tools, and agent systems. Part of the Glirastes platform.",
5
5
  "license": "Apache-2.0",
6
6
  "author": {
@@ -97,9 +97,12 @@
97
97
  "files": [
98
98
  "dist",
99
99
  "CHANGELOG.md",
100
+ "CODE_OF_CONDUCT.md",
101
+ "CONTRIBUTING.md",
100
102
  "LICENSE",
101
103
  "NOTICE",
102
- "README.md"
104
+ "README.md",
105
+ "SECURITY.md"
103
106
  ],
104
107
  "scripts": {
105
108
  "build": "tsc -p tsconfig.json && cp src/react/styles.css dist/react/styles.css",
@@ -110,17 +113,17 @@
110
113
  "zod": "^3.24.1",
111
114
  "snowball-stemmers": "^0.6.0",
112
115
  "ai": "^6.0.0",
113
- "@ai-sdk/react": "^3.0.0"
116
+ "@ai-sdk/react": "^3.0.0",
117
+ "react-markdown": "^10.1.0"
114
118
  },
115
119
  "peerDependencies": {
116
120
  "react": "^18 || ^19",
117
121
  "react-dom": "^19",
118
- "react-markdown": ">=9 <11",
119
122
  "wavesurfer.js": "^7",
120
- "@nestjs/common": "^11",
121
- "@nestjs/core": "^11",
122
- "@nestjs/config": "^4",
123
- "@nestjs/swagger": "^8",
123
+ "@nestjs/common": "^10 || ^11",
124
+ "@nestjs/core": "^10 || ^11",
125
+ "@nestjs/config": "^3 || ^4",
126
+ "@nestjs/swagger": "^7 || ^8 || ^11",
124
127
  "next": "^15",
125
128
  "express": "^5",
126
129
  "ws": "^8",
@@ -136,9 +139,6 @@
136
139
  "react-dom": {
137
140
  "optional": true
138
141
  },
139
- "react-markdown": {
140
- "optional": true
141
- },
142
142
  "wavesurfer.js": {
143
143
  "optional": true
144
144
  },
@@ -179,6 +179,7 @@
179
179
  "devDependencies": {
180
180
  "typescript": "^5.7.3",
181
181
  "vitest": "^4.0.18",
182
+ "@ai-sdk/openai": "^3",
182
183
  "@types/node": "^25.6.0",
183
184
  "@types/react": "^19.0.0",
184
185
  "@types/react-dom": "^19.0.0",
@@ -187,14 +188,15 @@
187
188
  "@types/snowball-stemmers": "^0.6.0",
188
189
  "react": "^19.0.0",
189
190
  "react-dom": "^19.0.0",
190
- "react-markdown": "^10.1.0",
191
191
  "wavesurfer.js": "^7.12.1",
192
192
  "@nestjs/common": "^11.0.0",
193
193
  "@nestjs/core": "^11.0.0",
194
194
  "@nestjs/config": "^4.0.0",
195
+ "@nestjs/passport": "^11",
195
196
  "@nestjs/swagger": "^11.4.1",
196
197
  "next": "^15.0.0",
197
198
  "express": "^5.0.0",
199
+ "passport": "^0.7",
198
200
  "ws": "^8.0.0",
199
201
  "class-validator": "^0.15.1",
200
202
  "class-transformer": "^0.5.0",