@autodevjapan/godd-mcp-alpha 2.11.0 → 2.13.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/README.md CHANGED
@@ -4,13 +4,17 @@
4
4
  <img src="https://unpkg.com/@autodevjapan/godd-mcp-alpha@latest/assets/godd-mcp-alpha-icon.png" alt="GoDD MCP α icon" width="240" />
5
5
  </p>
6
6
 
7
+ <p align="center"><strong>Govern AI development from intent to verified, shippable code.</strong></p>
8
+
9
+ <p align="center"><a href="https://www.getgodd.dev/">Official site</a> · <a href="https://www.getgodd.dev/pricing">Plans</a> · <a href="https://www.getgodd.dev/godd-admin/register">Get started</a></p>
10
+
7
11
  [🇺🇸 English](#english) | [🇯🇵 日本語](#日本語) | [🇷🇺 Русский](#русский)
8
12
 
9
13
  ---
10
14
 
11
15
  ## English
12
16
 
13
- **GoDD delivers battle-tested development prompts, mindsets, and agent workflows straight into your AI coding client** — Cursor IDE, Claude Code CLI, Codex, Kimi CLI, and Google Antigravity IDE — over the Model Context Protocol (MCP).
17
+ **GoDD turns natural-language intent into specifications, tested code, reviews, documentation, and shippable pull requests.** Its governed workflows run inside Cursor IDE, Claude Code CLI, Codex, Kimi CLI, and Google Antigravity IDE over the Model Context Protocol (MCP).
14
18
 
15
19
  ### Why use GoDD
16
20
 
@@ -79,6 +83,16 @@ Invoke GoDD in whichever way your client supports:
79
83
  - **Slash commands** — `godd-a install` writes `/godd-a-<tool>` command files for clients that support them (Cursor, Claude Code, Codex, Antigravity).
80
84
  - **Text dispatch** — type `/godd-a/dev <args>` as plain text; the AI routes it to the matching tool.
81
85
 
86
+ ### Audio adapter contract
87
+
88
+ Adapter implementers can import the side-effect-free, typed npm subpath:
89
+
90
+ ```ts
91
+ import { validateAudioLengthAdapterContract } from "@autodevjapan/godd-mcp-alpha/audio-length-adapter-contract";
92
+ ```
93
+
94
+ The contract preserves waveform/mel inputs and PCM16 WAV output. Padding, frame, and trim arithmetic remain Rust-owned and are rejected if duplicated in the Node payload. This validates the adapter boundary only; it does not expose a production inference route.
95
+
82
96
  ### GoDD prompts
83
97
 
84
98
  | Prompt | Description |
@@ -124,6 +138,11 @@ onboarding guide lives at [getgodd.dev/connect.md](https://getgodd.dev/connect.m
124
138
  | `godd-a uninstall [--client=...]` | Remove from MCP clients |
125
139
  | `godd-a version` (or `--version` / `-v`) | Show the installed version and check for updates |
126
140
  | `godd-a serve` | Start the MCP stdio server (auto-invoked by the client) |
141
+ | `godd-a realtime admission --evaluated-at-ms <u64>` | Evaluate one bounded event envelope from stdin with fail-closed ALLOW/DENY/INCONCLUSIVE receipts |
142
+
143
+ Realtime envelopes accept identifiers only as field-specific lowercase digests:
144
+ `principal:sha256:<hex64>`, `resource:sha256:<hex64>`, and `evidence:sha256:<hex64>`.
145
+ Raw tokens, cookies, user names, and socket IDs are rejected without being echoed.
127
146
 
128
147
  ### Troubleshooting
129
148
 
@@ -137,7 +156,7 @@ Proprietary. Use requires a valid GoDD license key. See the [official site](http
137
156
 
138
157
  ## 日本語
139
158
 
140
- **GoDD は、実戦で磨かれた開発プロンプト・マインドセット・エージェントワークフローを、お使いの AI コーディングクライアントに直接届けます** — Cursor IDE / Claude Code CLI / Codex / Kimi CLI / Google Antigravity IDE に、MCP(Model Context Protocol)経由で配信します。
159
+ **GoDD は自然言語の依頼を、仕様・テスト済みコード・レビュー・ドキュメント・出荷可能な Pull Request へ変換します。** 統制されたワークフローを Cursor IDE / Claude Code CLI / Codex / Kimi CLI / Google Antigravity IDE へ、MCP(Model Context Protocol)経由で届けます。
141
160
 
142
161
  ### GoDD を使うメリット
143
162
 
@@ -204,6 +223,16 @@ godd-a init
204
223
  - **スラッシュコマンド** — `godd-a install` が対応クライアント(Cursor / Claude Code / Codex / Antigravity)に `/godd-a-<tool>` コマンドファイルを生成します。
205
224
  - **テキストディスパッチ** — チャットに `/godd-a/dev <args>` と入力すると、AI が対応ツールに振り分けます。
206
225
 
226
+ ### Audio adapter contract
227
+
228
+ adapter実装者は、副作用のない型付きnpm subpathを利用できます。
229
+
230
+ ```ts
231
+ import { validateAudioLengthAdapterContract } from "@autodevjapan/godd-mcp-alpha/audio-length-adapter-contract";
232
+ ```
233
+
234
+ このcontractはwaveform/mel入力とPCM16 WAV出力を固定します。padding・frame・trimの算術はRustだけが所有し、Node payloadへの複製を拒否します。これはadapter境界の検証用であり、production inference routeを公開するものではありません。
235
+
207
236
  ### GoDD プロンプト
208
237
 
209
238
  | プロンプト | 説明 |
@@ -249,6 +278,11 @@ godd-a init
249
278
  | `godd-a uninstall [--client=...]` | MCP クライアントから削除 |
250
279
  | `godd-a version`(または `--version` / `-v`) | インストール済みバージョンの表示と更新確認 |
251
280
  | `godd-a serve` | MCP stdio サーバーを起動(クライアントが自動呼び出し) |
281
+ | `godd-a realtime admission --evaluated-at-ms <u64>` | stdinのbounded event envelopeをfail-closedな3値receiptとして評価 |
282
+
283
+ Realtime envelopeの識別子はfield別lowercase digest
284
+ (`principal:sha256:<hex64>`、`resource:sha256:<hex64>`、`evidence:sha256:<hex64>`)
285
+ だけを受理します。生token、cookie、ユーザー名、socket IDは表示せず拒否します。
252
286
 
253
287
  ### トラブルシューティング
254
288
 
@@ -262,7 +296,7 @@ godd-a init
262
296
 
263
297
  ## Русский
264
298
 
265
- **GoDD доставляет проверенные промпты для разработки, майндсеты и рабочие процессы агентов прямо в ваш AI-клиент для кодинга** — Cursor IDE, Claude Code CLI, Codex, Kimi CLI и Google Antigravity IDE — через протокол MCP (Model Context Protocol).
299
+ **GoDD превращает запрос на естественном языке в спецификации, протестированный код, ревью, документацию и готовые к выпуску pull request.** Управляемые рабочие процессы доступны в Cursor IDE, Claude Code CLI, Codex, Kimi CLI и Google Antigravity IDE через MCP (Model Context Protocol).
266
300
 
267
301
  ### Зачем использовать GoDD
268
302
 
@@ -331,6 +365,16 @@ godd-a init
331
365
  - **Slash-команды** — `godd-a install` создаёт файлы команд `/godd-a-<tool>` для клиентов, которые их поддерживают (Cursor, Claude Code, Codex, Antigravity).
332
366
  - **Текстовый диспетчер** — введите `/godd-a/dev <args>` как обычный текст; AI направит запрос нужному инструменту.
333
367
 
368
+ ### Контракт audio adapter
369
+
370
+ Разработчики адаптеров могут импортировать типизированный npm subpath без побочных эффектов:
371
+
372
+ ```ts
373
+ import { validateAudioLengthAdapterContract } from "@autodevjapan/godd-mcp-alpha/audio-length-adapter-contract";
374
+ ```
375
+
376
+ Контракт фиксирует входы waveform/mel и выход PCM16 WAV. Расчёты padding, frame и trim остаются только в Rust; их дублирование в Node payload отклоняется. Это проверка границы адаптера, а не production inference route.
377
+
334
378
  ### Промпты GoDD
335
379
 
336
380
  | Промпт | Описание |
@@ -376,6 +420,11 @@ godd-a init
376
420
  | `godd-a uninstall [--client=...]` | Удаление из MCP-клиентов |
377
421
  | `godd-a version` (или `--version` / `-v`) | Показать установленную версию и проверить обновления |
378
422
  | `godd-a serve` | Запустить MCP stdio-сервер (вызывается клиентом автоматически) |
423
+ | `godd-a realtime admission --evaluated-at-ms <u64>` | Проверить bounded event envelope из stdin и вернуть fail-closed решение из трёх состояний |
424
+
425
+ Идентификаторы realtime envelope принимаются только как lowercase digest с доменом поля:
426
+ `principal:sha256:<hex64>`, `resource:sha256:<hex64>` и `evidence:sha256:<hex64>`.
427
+ Необработанные токены, cookie, имена пользователей и socket ID отклоняются без вывода значения.
379
428
 
380
429
  ### Устранение неполадок
381
430
 
@@ -1 +1 @@
1
- a27633879a645512d68818794a8291051ba177e859100bbe509fb92a5cd19f81
1
+ 74267762b6605f3ac67b08d8fd416b81053041d8ad2a3d88829dc3a4da4b32b2
@@ -1 +1 @@
1
- a28cbdf1cdae5b6e9fdb17e1bb7daf71ac8796714c26b6f9abc869beba86d162
1
+ d2c9c72aecd613f4a89f88190ceab5369961f1197c72bdf7c9ac1f6a2699aa46
@@ -1 +1 @@
1
- 03f1a513c8dc2777317d2975f116510f8521620ae74e2780897f4209714b2587
1
+ e9ca9423897367fc03772f3747e6d7ea7f0c13eba58a2cf21f638d6a7f3b8f09
@@ -1 +1 @@
1
- 49619c303b7672d20c65006e3530f79d761923fd3cbd02c70adcb1e47b9c48c4
1
+ c686bc2dc7d9053a33ef56a80465e881260bf05bfca86df28f066ae9e684b756
@@ -0,0 +1 @@
1
+ {"schema_version":1,"minimum_key_generation":"1","keys":[]}
@@ -0,0 +1 @@
1
+ "use strict";var p=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var w=(e,n)=>{for(var r in n)p(e,r,{get:n[r],enumerable:!0})},f=(e,n,r,t)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of h(n))!y.call(e,o)&&o!==r&&p(e,o,{get:()=>n[o],enumerable:!(t=_(n,o))||t.enumerable});return e};var g=e=>f(p({},"__esModule",{value:!0}),e);var k={};w(k,{validateAudioLengthAdapterContract:()=>v});module.exports=g(k);var b=new Set(["padding_samples","processing_samples","expected_feature_frames","trimmed_samples"]);function s(e,n){if(e===null||typeof e!="object"||Array.isArray(e))throw new TypeError(`${n} must be an object`);return e}function u(e,n,r){let t=Object.keys(e).sort(),o=[...n].sort();if(t.length!==o.length||t.some((i,a)=>i!==o[a]))throw new TypeError(`${r} has an invalid field set`)}function d(e,n,r){if(!Array.isArray(e)||e.length!==n||e.some(t=>!Number.isSafeInteger(t)||t<=0))throw new TypeError(`${r} must contain positive safe integers`);return e}function l(e,n){if(Object.keys(e).some(r=>b.has(r)))throw new TypeError(`${n} duplicates Rust-owned length arithmetic`)}function m(e){return Number.isSafeInteger(e)&&typeof e=="number"&&e>0}function v(e){let n=s(e,"adapter contract");if(u(n,["schema_version","length_arithmetic_owner","waveform_input","mel_input","audio_output"],"adapter contract"),n.schema_version!==1||n.length_arithmetic_owner!=="rust")throw new TypeError("adapter contract version or arithmetic owner is invalid");let r=s(n.waveform_input,"waveform_input");u(r,["kind","shape","channel_sample_lengths","dtype"],"waveform_input"),l(r,"waveform_input");let t=d(r.shape,2,"waveform_input.shape"),o=d(r.channel_sample_lengths,t[0],"waveform_input.channel_sample_lengths");if(r.kind!=="waveform"||r.dtype!=="f32"||o.some(c=>c!==t[1]))throw new TypeError("waveform_input is incompatible");let i=s(n.mel_input,"mel_input");if(u(i,["kind","shape","layout","dtype"],"mel_input"),l(i,"mel_input"),d(i.shape,3,"mel_input.shape"),i.kind!=="mel"||i.dtype!=="f32"||i.layout!=="BinsFirst"&&i.layout!=="FramesFirst")throw new TypeError("mel_input is incompatible");let a=s(n.audio_output,"audio_output");if(u(a,["kind","container","encoding","sample_rate","channels","samples_per_channel"],"audio_output"),l(a,"audio_output"),a.kind!=="audio"||a.container!=="wav"||a.encoding!=="pcm_s16le"||!m(a.sample_rate)||!m(a.channels)||!m(a.samples_per_channel))throw new TypeError("audio_output is incompatible");return n}0&&(module.exports={validateAudioLengthAdapterContract});
@@ -0,0 +1,25 @@
1
+ export interface AudioLengthAdapterContract {
2
+ readonly schema_version: 1;
3
+ readonly length_arithmetic_owner: "rust";
4
+ readonly waveform_input: {
5
+ readonly kind: "waveform";
6
+ readonly shape: readonly [number, number];
7
+ readonly channel_sample_lengths: readonly number[];
8
+ readonly dtype: "f32";
9
+ };
10
+ readonly mel_input: {
11
+ readonly kind: "mel";
12
+ readonly shape: readonly [number, number, number];
13
+ readonly layout: "BinsFirst" | "FramesFirst";
14
+ readonly dtype: "f32";
15
+ };
16
+ readonly audio_output: {
17
+ readonly kind: "audio";
18
+ readonly container: "wav";
19
+ readonly encoding: "pcm_s16le";
20
+ readonly sample_rate: number;
21
+ readonly channels: number;
22
+ readonly samples_per_channel: number;
23
+ };
24
+ }
25
+ export declare function validateAudioLengthAdapterContract(value: unknown): AudioLengthAdapterContract;