@pouchy_ai/admin-sdk 0.27.1 → 0.28.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/CHANGELOG.md CHANGED
@@ -2,6 +2,19 @@
2
2
 
3
3
  All notable changes to `@pouchy_ai/admin-sdk` are documented here.
4
4
 
5
+ ## 0.28.0 — 2026-08-29
6
+
7
+ - **`installSkill` / `importAgentPlugin` now type the re-push outcome.** Both
8
+ installs re-push the new def to running instances (a RE-install/RE-import
9
+ takes effect now, not on the next persona edit — server change 2026-08-29;
10
+ Admin API 1.11.0), and both results now carry `reprovisioned` /
11
+ `truncated`, same semantics as the skill-knob calls: `truncated: true`
12
+ means the sweep hit a cap (100 agents / 200 instances) and the remainder
13
+ keep the OLD def until a persona edit. `installSkill` also gains the
14
+ `warnings?: string[]` the server always sent (e.g. skipped OpenAPI
15
+ operations). Types only — no runtime change; existing destructuring keeps
16
+ working.
17
+
5
18
  ## 0.27.1 — 2026-08-28
6
19
 
7
20
  - **Docs-only, but read it if you use `encodingFormat: 'base64'`.** The 0.27.0
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare const ADMIN_SDK_VERSION = "0.27.1";
1
+ export declare const ADMIN_SDK_VERSION = "0.28.0";
2
2
  export declare const DEFAULT_BASE_URL = "https://pouchy.ai/v1/admin";
3
3
  /** Deadline for the routes whose server handler declares `maxDuration: 300` —
4
4
  * the server's own ceiling plus headroom, so a client abort can only ever mean
@@ -813,6 +813,13 @@ export interface AdminClient {
813
813
  listSkills(): Promise<{
814
814
  skills: unknown[];
815
815
  }>;
816
+ /** Install (or RE-install — same slug, next version) a custom skill. The
817
+ * new def is re-pushed to running instances in one bounded sweep, so a
818
+ * re-import takes effect now rather than on the next persona edit; the
819
+ * result carries the same `reprovisioned` / `truncated` outcome as the
820
+ * skill-knob calls (`truncated: true` = the sweep hit a cap and the
821
+ * remainder keep the OLD def until a persona edit — see SkillKnobResult).
822
+ * `warnings` lists non-fatal drops (e.g. skipped OpenAPI operations). */
816
823
  installSkill(input: {
817
824
  md?: string;
818
825
  url?: string;
@@ -820,12 +827,13 @@ export interface AdminClient {
820
827
  openapi?: string;
821
828
  openapiUrl?: string;
822
829
  slug?: string;
823
- }): Promise<{
830
+ }): Promise<SkillKnobResult<{
824
831
  skill: {
825
832
  slug: string;
826
833
  version: number;
827
834
  };
828
- }>;
835
+ warnings?: string[];
836
+ }>>;
829
837
  /** Generic PATCH of a skill's knobs. **Exactly ONE knob per call** — the
830
838
  * endpoint disambiguates by payload, so a patch naming two (say
831
839
  * `{ ratePerMin, maxCallsPerDay }`) is refused with 400 rather than
@@ -895,13 +903,16 @@ export interface AdminClient {
895
903
  * store credentials with `putCredentials` after install. Resolves 201
896
904
  * when at least one component installed (`skipped`/`errors` carry the
897
905
  * rest); a package with nothing installable rejects with a 422 naming
898
- * the first per-component reason. */
906
+ * the first per-component reason. The whole installed set is re-pushed to
907
+ * running instances in ONE bounded sweep (a RE-import takes effect now,
908
+ * not on the next persona edit) — `reprovisioned` / `truncated` report
909
+ * it, same semantics as the skill-knob calls. */
899
910
  importAgentPlugin(input: {
900
911
  files: Array<{
901
912
  path: string;
902
913
  content: string;
903
914
  }>;
904
- }): Promise<{
915
+ }): Promise<SkillKnobResult<{
905
916
  plugin: {
906
917
  name: string;
907
918
  version?: string;
@@ -919,7 +930,7 @@ export interface AdminClient {
919
930
  component: string;
920
931
  error: string;
921
932
  }>;
922
- }>;
933
+ }>>;
923
934
  /** Export one installed skill as a conformant Agent Plugins 1.0.0 package
924
935
  * (file map — write it to a directory or zip it yourself). Portable face:
925
936
  * SKILL.md instruction prose or an mcp.json streamable-http reference;
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@
8
8
  // import { createAdminClient } from '@pouchy_ai/admin-sdk';
9
9
  // const admin = createAdminClient({ adminKey: process.env.POUCHY_ADMIN_KEY! });
10
10
  // const { agents } = await admin.listAgents();
11
- export const ADMIN_SDK_VERSION = '0.27.1';
11
+ export const ADMIN_SDK_VERSION = '0.28.0';
12
12
  export const DEFAULT_BASE_URL = 'https://pouchy.ai/v1/admin';
13
13
  /** Default per-request timeout (ms). A hung upstream otherwise never rejects. */
14
14
  const DEFAULT_TIMEOUT_MS = 30_000;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pouchy_ai/admin-sdk",
3
- "version": "0.27.1",
3
+ "version": "0.28.0",
4
4
  "description": "Typed TypeScript client for the Pouchy Admin API \u2014 manage agents, keys, end users, knowledge, skills, channels, schedules, webhooks and credentials headlessly, with a project Admin key.",
5
5
  "type": "module",
6
6
  "license": "SEE LICENSE IN LICENSE",