SDK 未公開

型付きクライアント、常に同期。

API と同じソースから生成した Python・TypeScript のクライアントなので、実際の挙動とずれようがありません。コードはすでにあり、ずれを止めるゲートも入っていますが、パッケージレジストリにはまだ載せていません。

公開済みのパッケージはありません。 クライアントは生成済みで、ルート表とずれれば CI がビルドを落とします。ただし untactit-sdk は今日時点で PyPI にも npm にもありません。インストール時に気づかれるより、先にお伝えしておきます。パッケージが出るまでは REST API を直接お使いください。

どう作っているか

手書きではなく、生成で。

どちらのクライアントも、OpenAPI ドキュメントを生み出すのと同じ定義から生成されます。手作業で保守する SDK は2回のリリースで API に遅れ、そのずれは私たちの側ではなくお客様のコードで何かが壊れるまで表に出ません。

これは同時に、API サーフェスが安定した瞬間、どちらかが遅れることなく両言語が同時に揃うことも意味します。

確定済みのスコープ

Python 3.9+
全体に型ヒント付き、MIT ライセンス
TypeScript / Node 18+
ESM・CJS 両対応、完全な型定義付き
型付きエラー
分岐は例外クラスで行い、メッセージ文字列はパースしない
自動リトライ
429・5xx はバックオフ付きで再試行。制限値も参照可能

生成される形

実際の使い方は、こうなります。

実物ができる前に、自分たちのコードベースに合うかを判断できるよう、いま公開しています。

Python
from untactit import Client

c = Client(token="YOUR_TOKEN")

for a in c.assets.list(layer="company", status="live"):
    print(f"{a.name} v{a.version} -> {a.targets}")

draft = c.assets.get("pricing-objection-handler")
c.assets.propose(draft.id, note="Updated Q3 pricing")
TypeScript
import { Untactit } from "untactit-sdk";

const c = new Untactit({ token: process.env.TOKEN! });

const assets = await c.assets.list({
  layer: "company",
  status: "live",
});

チームがこれで作るもの

3 つのパターンで大半をカバーできます。いずれも十数行以内です。

CI からの配信

リリースパイプラインの一部として昇格・配信し、エージェントへの指示を、それに依存するコードと一緒に出荷できます。

監査ログを自社スタックへ

監査エンドポイントを定期的に取得し、セキュリティチームが普段見ている場所へ転送します。これは素の HTTP だけで、今日から実現できます。

カスタムダッシュボード

部門別のカバー範囲、プラットフォーム別のドリフト、半年間誰も触れていない資産。チームが本当に必要としているビューです。


その他の言語

API は HTTPS 上の素の REST なので、どの HTTP クライアントでも動作しますし、今後も変わりません。当社が Python と TypeScript をメンテナンスするのは、自社のツーリングがこの 2 つを使っているからです。自分たちで動かさないクライアントの保守は、テストしないものを出荷することと同じです。

Go・Ruby・Rust のクライアントをここに掲載してほしい場合は、 [email protected]までご連絡ください。こちらでリンクを掲載し、API の変更はリリース前にお知らせします。

エージェントが何で動いているのか。推測は、もう終わり。

ワークスペースをひとつ接続するだけで、チームで動いているスキル・ルール・メモリの全体が見えます。所要はおよそ10分です。

無料で始める→ 相談する

クレジットカードは不要です。いまお使いのツールのままで動きます。