@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 +52 -3
- package/assets/native/godd-native-aarch64-apple-darwin +0 -0
- package/assets/native/godd-native-aarch64-apple-darwin.sha256 +1 -1
- package/assets/native/godd-native-x86_64-apple-darwin +0 -0
- package/assets/native/godd-native-x86_64-apple-darwin.sha256 +1 -1
- package/assets/native/godd-native-x86_64-pc-windows-msvc.exe +0 -0
- package/assets/native/godd-native-x86_64-pc-windows-msvc.exe.sha256 +1 -1
- package/assets/native/godd-native-x86_64-unknown-linux-musl +0 -0
- package/assets/native/godd-native-x86_64-unknown-linux-musl.sha256 +1 -1
- package/assets/registry-anchor-keys.json +1 -0
- package/dist/audio-length-adapter-contract.cjs +1 -0
- package/dist/audio-length-adapter-contract.d.ts +25 -0
- package/dist/godd.cjs +72 -72
- package/native-assets.json +12 -12
- package/package.json +18 -9
- package/scripts/native-assets.js +48 -7
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
|
|
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
|
|
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
|
|
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
|
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
74267762b6605f3ac67b08d8fd416b81053041d8ad2a3d88829dc3a4da4b32b2
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
d2c9c72aecd613f4a89f88190ceab5369961f1197c72bdf7c9ac1f6a2699aa46
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
e9ca9423897367fc03772f3747e6d7ea7f0c13eba58a2cf21f638d6a7f3b8f09
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
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;
|