SDK 未公開
API と同じソースから生成した Python・TypeScript のクライアントなので、実際の挙動とずれようがありません。コードはすでにあり、ずれを止めるゲートも入っていますが、パッケージレジストリにはまだ載せていません。
どう作っているか
どちらのクライアントも、OpenAPI ドキュメントを生み出すのと同じ定義から生成されます。手作業で保守する SDK は2回のリリースで API に遅れ、そのずれは私たちの側ではなくお客様のコードで何かが壊れるまで表に出ません。
これは同時に、API サーフェスが安定した瞬間、どちらかが遅れることなく両言語が同時に揃うことも意味します。
確定済みのスコープ
生成される形
実物ができる前に、自分たちのコードベースに合うかを判断できるよう、いま公開しています。
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")
import { Untactit } from "untactit-sdk";
const c = new Untactit({ token: process.env.TOKEN! });
const assets = await c.assets.list({
layer: "company",
status: "live",
});
3 つのパターンで大半をカバーできます。いずれも十数行以内です。
リリースパイプラインの一部として昇格・配信し、エージェントへの指示を、それに依存するコードと一緒に出荷できます。
監査エンドポイントを定期的に取得し、セキュリティチームが普段見ている場所へ転送します。これは素の HTTP だけで、今日から実現できます。
部門別のカバー範囲、プラットフォーム別のドリフト、半年間誰も触れていない資産。チームが本当に必要としているビューです。
API は HTTPS 上の素の REST なので、どの HTTP クライアントでも動作しますし、今後も変わりません。当社が Python と TypeScript をメンテナンスするのは、自社のツーリングがこの 2 つを使っているからです。自分たちで動かさないクライアントの保守は、テストしないものを出荷することと同じです。
Go・Ruby・Rust のクライアントをここに掲載してほしい場合は、 [email protected]までご連絡ください。こちらでリンクを掲載し、API の変更はリリース前にお知らせします。