@arcmira/ai-sdk 0.1.0 → 0.1.1

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
@@ -2,15 +2,23 @@
2
2
 
3
3
  [Arcmira](https://arcmira.com) · [API docs](https://arcmira.com/docs) · [Authentication](https://arcmira.com/docs/authentication) · [Usage and billing](https://arcmira.com/docs/usage-and-billing)
4
4
 
5
- Release candidate for the Vercel AI SDK. First npm publication is pending.
5
+ [Available on npm as @arcmira/ai-sdk](https://www.npmjs.com/package/@arcmira/ai-sdk) for the Vercel AI SDK.
6
6
 
7
7
  [Open the AI SDK setup guide](https://arcmira.github.io/integrations/ai-sdk/) for a copyable setup prompt and examples.
8
8
 
9
- Search indexed YouTube transcripts for timestamped passages. Resolve names to IDs, then filter by channel, speaker, topic, transcript source, or sponsored and organic passages.
9
+ Search indexed YouTube and podcast transcripts for timestamped passages. Resolve names to IDs, then filter by channel, speaker, topic, transcript source, or sponsored and organic passages.
10
+
11
+ Add "use arcmira" to any question to send it to Arcmira first.
10
12
 
11
13
  ## Quick start
12
14
 
13
- After publication, install `@arcmira/ai-sdk` with `ai` and `zod`. Set `ARCMIRA_API_KEY` and your model provider's credentials in the server environment.
15
+ Install the published package:
16
+
17
+ ```sh
18
+ npm install @arcmira/ai-sdk ai@7 zod@4
19
+ ```
20
+
21
+ Set `ARCMIRA_API_KEY` and your model provider's credentials in the server environment.
14
22
 
15
23
  ```ts
16
24
  import { generateText, isStepCount } from 'ai';
@@ -40,15 +48,15 @@ Results retain the API's source links, publication dates, speaker information an
40
48
 
41
49
  A paid read uses credits from your plan, then your on-demand budget. Search uses four credits per returned chunk after the first five. Account access and freshness limits still apply. API refusals retain their typed error body. The adapter does not retry a refused request or silently substitute another transcript source.
42
50
 
43
- The tools accept the AI SDK cancellation signal. This candidate exposes search and entity resolution. Full transcripts, recommendations, account management and monitor writes remain available through Arcmira's SDK or MCP server.
51
+ The tools accept the AI SDK cancellation signal. This adapter exposes search and entity resolution. Full transcripts, recommendations, account management and monitor writes remain available through Arcmira's SDK or MCP server.
44
52
 
45
53
  ## Documentation
46
54
 
47
55
  - [Search reference](https://arcmira.com/docs/search)
48
56
  - [Arcmira libraries](https://arcmira.com/docs/libraries)
49
57
 
50
- ## Candidate verification
58
+ ## Verification
51
59
 
52
- Built with Arcmira SDK 0.6.0, AI SDK 7.0.127 and Zod 4.6.5. AI SDK 7.0.127 and its changed dependencies passed the repository's seven-day package hold on October 8, 2026. `npm run build` checks types. `npm test` runs the AI SDK tool-execution loop with simulated model and API responses. An earlier live check with SDK 0.4.3 ran search and entity resolution against Arcmira with existing smoke-test access. Both return real results through the AI SDK execution loop, using simulated model decisions. Timestamped evidence reaches the next model step. No paid model inference is included.
60
+ The tool execution tests use AI SDK 7.0.127 and Zod 4.6.5. AI SDK 7.0.127 and its changed dependencies passed the repository's seven-day package hold on October 8, 2026. `npm run build` checks types. `npm test` runs the AI SDK tool-execution loop with simulated model and API responses. An earlier live check with SDK 0.4.3 ran search and entity resolution against Arcmira with existing smoke-test access. Both return real results through the AI SDK execution loop, using simulated model decisions. Timestamped evidence reaches the next model step. No paid model inference is included.
53
61
 
54
62
  Publication and tools-registry inclusion are separate steps. Recheck the registry's current-SDK compatibility requirement before submitting the tools-registry pull request; the newest npm release can be newer than this repository's eligible test version.
package/dist/index.d.ts CHANGED
@@ -1,3 +1,11 @@
1
+ /**
2
+ * Search indexed YouTube and podcast transcripts for timestamped passages with the Vercel AI SDK.
3
+ * Pass the object returned by `createArcmiraTools` as the AI SDK tools option.
4
+ *
5
+ * @see {@link https://arcmira.com/docs | Arcmira API documentation}
6
+ * @see {@link https://arcmira.com/docs/authentication | API keys and sign-in}
7
+ * @packageDocumentation
8
+ */
1
9
  import { type Tool } from "ai";
2
10
  import { ArcmiraClient } from "arcmira";
3
11
  import { z } from "zod";
package/dist/index.js CHANGED
@@ -1,3 +1,11 @@
1
+ /**
2
+ * Search indexed YouTube and podcast transcripts for timestamped passages with the Vercel AI SDK.
3
+ * Pass the object returned by `createArcmiraTools` as the AI SDK tools option.
4
+ *
5
+ * @see {@link https://arcmira.com/docs | Arcmira API documentation}
6
+ * @see {@link https://arcmira.com/docs/authentication | API keys and sign-in}
7
+ * @packageDocumentation
8
+ */
1
9
  import { tool } from "ai";
2
10
  import { ArcmiraClient } from "arcmira";
3
11
  import { z } from "zod";
@@ -11,7 +19,7 @@ export function createArcmiraTools(options) {
11
19
  });
12
20
  return {
13
21
  arcmiraSearch: tool({
14
- description: "Search indexed YouTube transcripts for timestamped passages. Use one topic per call. Resolve names with arcmiraResolve before using ID filters. Source coverage and publication-date access vary by account. Speaker labels cover a minority of shows. Preserve returned coverage notes and source links. A paid read uses credits from your plan, then your on-demand budget. Do not silently widen refused filters or substitute another transcript source.",
22
+ description: "Search indexed YouTube and podcast transcripts for timestamped passages. Use one topic per call. Resolve names with arcmiraResolve before using ID filters. Source coverage and publication-date access vary by account. Speaker labels cover a minority of shows. Preserve returned coverage notes and source links. A paid read uses credits from your plan, then your on-demand budget. Do not silently widen refused filters or substitute another transcript source.",
15
23
  inputSchema: searchInput,
16
24
  execute: (input, { abortSignal }) => client.transcripts.search(input, { abortSignal }),
17
25
  }),
package/dist/inputs.js CHANGED
@@ -5,7 +5,7 @@ export const searchInput = z.object({
5
5
  channel: z.string().optional().describe("Alias of channel_ids for code-mode clients; the union of both is the scope."),
6
6
  entity_ids: z.string().optional().describe("Comma-separated entity ids (ent_{n}), at most 8. A person id filters to that person's appearances; a channel id widens channel_ids. Ids only: a name answers 400 id_required. Resolve names first with GET /v1/entities/resolve."),
7
7
  about: z.string().optional().describe("Comma-separated entity ids (ent_{n}), at most 8. Only passages about these entities: excerpt pins, exact-name mentions and ad verdicts. Ids only: a name answers 400 id_required. Resolve names first with GET /v1/entities/resolve."),
8
- by: z.string().optional().describe("Comma-separated person ids (ent_{n}), at most 8. Only passages where one of these people says the query words (each line of a chunk is labeled with its speaker); a non-person id is refused with invalid_query naming its type. Speaker labels cover a minority of shows; an empty result carries a note saying whether the person is labeled anywhere. Ids only: a name answers 400 id_required. Resolve names first with GET /v1/entities/resolve."),
8
+ by: z.string().optional().describe("Comma-separated person ids (ent_{n}), at most 8. Only passages where one of these people speaks the query words. A passage can include other speakers' lines; each line with a known speaker starts with that speaker's name. A non-person id is refused with invalid_query naming its type. Speaker labels cover a minority of shows; an empty result carries a note saying whether the person is labeled anywhere. Ids only: a name answers 400 id_required. Resolve names first with GET /v1/entities/resolve."),
9
9
  kind: z.string().optional().describe("Comma-separated passage classes: sponsored, organic, mention. Combine with about to read what was said about a brand in ad reads or in organic talk."),
10
10
  after: z.string().optional().describe("Only media published at or after this instant. An after later than your plan's freshness gate is refused with freshness_requires_paid rather than widened. An ISO 8601 date (2026-09-01) or datetime with offset (2026-09-01T00:00:00Z), read in UTC. The window is half-open: after is inclusive, before is exclusive."),
11
11
  before: z.string().optional().describe("Only media published before this instant, so before=2026-09-02 includes all of 2026-09-01. An ISO 8601 date (2026-09-01) or datetime with offset (2026-09-01T00:00:00Z), read in UTC. The window is half-open: after is inclusive, before is exclusive."),
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@arcmira/ai-sdk",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "type": "module",
5
- "description": "YouTube transcript search tools for the AI SDK, powered by Arcmira.",
5
+ "description": "YouTube transcript search for AI agents: the exact quote, often who said it, and a watch link cued to the second.",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
8
8
  "exports": {
@@ -21,7 +21,7 @@
21
21
  "test": "node --test test/*.test.mjs"
22
22
  },
23
23
  "dependencies": {
24
- "arcmira": "0.6.0"
24
+ "arcmira": "0.6.2"
25
25
  },
26
26
  "peerDependencies": {
27
27
  "ai": "^7.0.118",
@@ -47,6 +47,8 @@
47
47
  "keywords": [
48
48
  "youtube",
49
49
  "transcript-search",
50
+ "youtube-transcript-search",
51
+ "podcast-transcript-search",
50
52
  "arcmira",
51
53
  "ai-sdk",
52
54
  "tools"