@plumbus/core 0.4.1 → 0.4.2

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.
Files changed (64) hide show
  1. package/README.md +14 -1
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/api/exposure.d.ts +4 -0
  4. package/dist/api/exposure.d.ts.map +1 -0
  5. package/dist/api/exposure.js +5 -0
  6. package/dist/api/exposure.js.map +1 -0
  7. package/dist/api/index.d.ts +1 -0
  8. package/dist/api/index.d.ts.map +1 -1
  9. package/dist/api/index.js +2 -1
  10. package/dist/api/index.js.map +1 -1
  11. package/dist/cli/cli.d.ts.map +1 -1
  12. package/dist/cli/cli.js +2 -1
  13. package/dist/cli/cli.js.map +1 -1
  14. package/dist/cli/commands/api-manifest.d.ts +26 -0
  15. package/dist/cli/commands/api-manifest.d.ts.map +1 -0
  16. package/dist/cli/commands/api-manifest.js +54 -0
  17. package/dist/cli/commands/api-manifest.js.map +1 -0
  18. package/dist/cli/commands/api.d.ts +3 -0
  19. package/dist/cli/commands/api.d.ts.map +1 -0
  20. package/dist/cli/commands/api.js +179 -0
  21. package/dist/cli/commands/api.js.map +1 -0
  22. package/dist/cli/commands/index.d.ts +1 -0
  23. package/dist/cli/commands/index.d.ts.map +1 -1
  24. package/dist/cli/commands/index.js +2 -0
  25. package/dist/cli/commands/index.js.map +1 -1
  26. package/dist/cli/commands/init.d.ts +1 -1
  27. package/dist/cli/commands/init.d.ts.map +1 -1
  28. package/dist/cli/commands/init.js +30 -3
  29. package/dist/cli/commands/init.js.map +1 -1
  30. package/dist/cli/commands/verify.d.ts.map +1 -1
  31. package/dist/cli/commands/verify.js +14 -0
  32. package/dist/cli/commands/verify.js.map +1 -1
  33. package/dist/cli/templates/resources.d.ts.map +1 -1
  34. package/dist/cli/templates/resources.js +6 -0
  35. package/dist/cli/templates/resources.js.map +1 -1
  36. package/dist/define/defineCapability.d.ts +3 -2
  37. package/dist/define/defineCapability.d.ts.map +1 -1
  38. package/dist/define/defineCapability.js +81 -1
  39. package/dist/define/defineCapability.js.map +1 -1
  40. package/dist/governance/index.d.ts +1 -1
  41. package/dist/governance/index.d.ts.map +1 -1
  42. package/dist/governance/index.js +1 -1
  43. package/dist/governance/index.js.map +1 -1
  44. package/dist/governance/rules/api.d.ts +13 -0
  45. package/dist/governance/rules/api.d.ts.map +1 -0
  46. package/dist/governance/rules/api.js +124 -0
  47. package/dist/governance/rules/api.js.map +1 -0
  48. package/dist/governance/rules/index.d.ts +1 -0
  49. package/dist/governance/rules/index.d.ts.map +1 -1
  50. package/dist/governance/rules/index.js +1 -0
  51. package/dist/governance/rules/index.js.map +1 -1
  52. package/dist/index.d.ts +2 -2
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +2 -2
  55. package/dist/index.js.map +1 -1
  56. package/dist/types/capability.d.ts +59 -1
  57. package/dist/types/capability.d.ts.map +1 -1
  58. package/dist/types/capability.js +15 -1
  59. package/dist/types/capability.js.map +1 -1
  60. package/dist/types/index.d.ts +1 -1
  61. package/dist/types/index.d.ts.map +1 -1
  62. package/dist/types/index.js.map +1 -1
  63. package/instructions/api.md +19 -0
  64. package/package.json +7 -2
@@ -19,7 +19,7 @@ export interface CapabilityExplanationConfig {
19
19
  enabled?: boolean;
20
20
  summary?: string;
21
21
  }
22
- export type CapabilityExposeAs = 'mcp';
22
+ export type CapabilityExposeAs = 'mcp' | 'api';
23
23
  export interface McpExposureConfig {
24
24
  /** Agent-facing description override for MCP manifest and skills */
25
25
  description?: string;
@@ -28,6 +28,62 @@ export interface McpExposureConfig {
28
28
  /** Categorization hints for tool selection (manifest + skills) */
29
29
  agentTags?: readonly string[];
30
30
  }
31
+ export declare const ApiStability: {
32
+ readonly Experimental: "experimental";
33
+ readonly Beta: "beta";
34
+ readonly Stable: "stable";
35
+ readonly Deprecated: "deprecated";
36
+ readonly Internal: "internal";
37
+ };
38
+ export type ApiStability = (typeof ApiStability)[keyof typeof ApiStability];
39
+ export declare const ApiHttpMethod: {
40
+ readonly Get: "GET";
41
+ readonly Post: "POST";
42
+ readonly Patch: "PATCH";
43
+ readonly Put: "PUT";
44
+ readonly Delete: "DELETE";
45
+ };
46
+ export type ApiHttpMethod = (typeof ApiHttpMethod)[keyof typeof ApiHttpMethod];
47
+ export type ApiTestMode = 'validate-only' | 'safe-reply';
48
+ export interface ApiIdempotencyConfig {
49
+ required: boolean;
50
+ /** Header carrying the idempotency key. Default 'Idempotency-Key'. */
51
+ header: string;
52
+ /** Metadata only in v1 (no persistence). e.g. '24h'. */
53
+ ttl?: string;
54
+ }
55
+ export interface ApiTestConfig {
56
+ enabled: boolean;
57
+ modes: readonly ApiTestMode[];
58
+ defaultMode?: ApiTestMode;
59
+ safeReply?: {
60
+ fixture?: string;
61
+ };
62
+ }
63
+ export interface ApiDocsConfig {
64
+ summary?: string;
65
+ description?: string;
66
+ tags?: readonly string[];
67
+ }
68
+ export interface ApiDeprecationConfig {
69
+ /** ISO 8601 date string. */
70
+ sunset?: string;
71
+ /** Replacement operationId or capability name. */
72
+ replacement?: string;
73
+ }
74
+ export interface ApiExposureConfig {
75
+ operationId: string;
76
+ method: ApiHttpMethod;
77
+ path: string;
78
+ stability?: ApiStability;
79
+ auth?: {
80
+ scopes?: readonly string[];
81
+ };
82
+ idempotency?: ApiIdempotencyConfig;
83
+ test?: ApiTestConfig;
84
+ docs?: ApiDocsConfig;
85
+ deprecation?: ApiDeprecationConfig;
86
+ }
31
87
  export interface CapabilityContract<TInput extends z.ZodTypeAny = z.ZodTypeAny, TOutput extends z.ZodTypeAny = z.ZodTypeAny> {
32
88
  name: string;
33
89
  kind: CapabilityKind;
@@ -46,6 +102,8 @@ export interface CapabilityContract<TInput extends z.ZodTypeAny = z.ZodTypeAny,
46
102
  exposeAs?: readonly CapabilityExposeAs[];
47
103
  /** MCP-specific metadata when `exposeAs` includes `'mcp'` */
48
104
  mcp?: McpExposureConfig;
105
+ /** API-specific metadata when `exposeAs` includes `'api'` */
106
+ api?: ApiExposureConfig;
49
107
  handler: (ctx: ExecutionContext, input: z.infer<TInput>) => Promise<z.infer<TOutput>>;
50
108
  }
51
109
  //# sourceMappingURL=capability.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../../src/types/capability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,EAAE,EAAE,OAAO,CAAC;CACb;AAGD,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAGD,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC;AAEvC,MAAM,WAAW,iBAAiB;IAChC,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kEAAkE;IAClE,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B;AAGD,MAAM,WAAW,kBAAkB,CACjC,MAAM,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,EAC1C,OAAO,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU;IAE3C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAEhB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,WAAW,CAAC,EAAE,2BAA2B,CAAC;IAC1C,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACzC,6DAA6D;IAC7D,GAAG,CAAC,EAAE,iBAAiB,CAAC;IAExB,OAAO,EAAE,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;CACvF"}
1
+ {"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../../src/types/capability.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,16 @@
1
- export {};
1
+ // ── API exposure (external-system surface) ──
2
+ export const ApiStability = {
3
+ Experimental: 'experimental',
4
+ Beta: 'beta',
5
+ Stable: 'stable',
6
+ Deprecated: 'deprecated',
7
+ Internal: 'internal',
8
+ };
9
+ export const ApiHttpMethod = {
10
+ Get: 'GET',
11
+ Post: 'POST',
12
+ Patch: 'PATCH',
13
+ Put: 'PUT',
14
+ Delete: 'DELETE',
15
+ };
2
16
  //# sourceMappingURL=capability.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"capability.js","sourceRoot":"","sources":["../../src/types/capability.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"capability.js","sourceRoot":"","sources":["../../src/types/capability.ts"],"names":[],"mappings":"AAyCA,+CAA+C;AAC/C,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,YAAY,EAAE,cAAc;IAC5B,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAGX,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;CACR,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export type { AuditRecord, AuditService } from './audit.js';
2
- export type { CapabilityAuditConfig, CapabilityContract, CapabilityEffects, CapabilityExplanationConfig, CapabilityExposeAs, McpExposureConfig, } from './capability.js';
2
+ export type { ApiDeprecationConfig, ApiDocsConfig, ApiExposureConfig, ApiHttpMethod, ApiIdempotencyConfig, ApiStability, ApiTestConfig, ApiTestMode, CapabilityAuditConfig, CapabilityContract, CapabilityEffects, CapabilityExplanationConfig, CapabilityExposeAs, McpExposureConfig, } from './capability.js';
3
3
  export type { AIProviderConfig, AIProvidersConfig, AuthAdapterConfig, DatabaseConfig, Environment, McpAgentConfig, McpConfig, PlumbusConfig, PromptModelOverride, QueueConfig, } from './config.js';
4
4
  export type { AIDocument, AIGenerateResult, AIService, AIStreamEvent, AITokenUsage, ConfigService, DataService, EventService, ExecutionContext, FlowExecution, FlowService, LoggerService, QueryOptions, Repository, RequestMeta, SecurityService, TimeService, } from './context.js';
5
5
  export type { EntityDefinition, EntityRetention } from './entity.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAMA,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE5D,YAAY,EACV,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,cAAc,EACd,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,YAAY,EACZ,aAAa,EACb,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,UAAU,EACV,WAAW,EACX,eAAe,EACf,WAAW,GACZ,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAErE,OAAO,EACL,eAAe,EACf,cAAc,EACd,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAElE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEjE,YAAY,EACV,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,cAAc,EACd,eAAe,EACf,SAAS,EACT,aAAa,EACb,cAAc,EACd,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,QAAQ,GACT,MAAM,WAAW,CAAC;AAEnB,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEjE,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE/D,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAMA,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE5D,YAAY,EACV,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,cAAc,EACd,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,YAAY,EACZ,aAAa,EACb,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,UAAU,EACV,WAAW,EACX,eAAe,EACf,WAAW,GACZ,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAErE,OAAO,EACL,eAAe,EACf,cAAc,EACd,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAElE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEjE,YAAY,EACV,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,cAAc,EACd,eAAe,EACf,SAAS,EACT,aAAa,EACb,cAAc,EACd,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,QAAQ,GACT,MAAM,WAAW,CAAC;AAEnB,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEjE,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE/D,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,iEAAiE;AACjE,uEAAuE;AACvE,8EAA8E;AAgD9E,0BAA0B;AAC1B,OAAO,EACL,eAAe,EACf,cAAc,EACd,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,UAAU,GACX,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,iEAAiE;AACjE,uEAAuE;AACvE,8EAA8E;AAwD9E,0BAA0B;AAC1B,OAAO,EACL,eAAe,EACf,cAAc,EACd,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,UAAU,GACX,MAAM,YAAY,CAAC"}
@@ -0,0 +1,19 @@
1
+ # Partner API — Core surface
2
+
3
+ Plumbus capabilities can be exposed to partners on versioned HTTP routes. **Contract and CLI** live in `@plumbus/core`; **runtime server, manifest tooling, OpenAPI export, and test intent** live in `@plumbus/api`.
4
+
5
+ ## Where to read
6
+
7
+ | Layer | Location |
8
+ |-------|----------|
9
+ | **Agent recipes (start here when `@plumbus/api` is installed)** | `node_modules/@plumbus/api/instructions/README.md` |
10
+ | **Conceptual docs** | `docs/api/` in the monorepo — [overview](../../../docs/api/overview.md), [exposure model](../../../docs/api/exposure-model.md), [manifest](../../../docs/api/manifest.md), [OpenAPI](../../../docs/api/openapi.md) |
11
+
12
+ ## Core responsibilities
13
+
14
+ - **`exposeAs: ['api']`** on `defineCapability` — opt-in per capability.
15
+ - **`kind: 'query'` and `kind: 'action'`** — eligible for partner routes. **`kind: 'eventHandler'`** and **`kind: 'job'`** cannot be API-exposed.
16
+ - **`plumbus api validate` / `generate` / `diff` / `test-fixtures validate`** — CLI entry points; dynamic import of `@plumbus/api`.
17
+ - **`registerApiRoutes()`** — mount partner routes at app bootstrap (requires `@plumbus/api` install).
18
+
19
+ Install the runtime when serving partners: `pnpm add @plumbus/api` (optional peer of `@plumbus/core`, version-locked `0.1.x`).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plumbus/core",
3
- "version": "0.4.1",
3
+ "version": "0.4.2",
4
4
  "description": "Plumbus framework core — types, SDK, runtime, CLI, test utilities",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -69,9 +69,13 @@
69
69
  "zod-to-json-schema": "^3.25.2"
70
70
  },
71
71
  "peerDependencies": {
72
+ "@plumbus/api": "0.1.x",
72
73
  "@plumbus/mcp": "0.4.x"
73
74
  },
74
75
  "peerDependenciesMeta": {
76
+ "@plumbus/api": {
77
+ "optional": true
78
+ },
75
79
  "@plumbus/mcp": {
76
80
  "optional": true
77
81
  }
@@ -81,7 +85,8 @@
81
85
  "@types/node": "^25.4.0",
82
86
  "@vitest/browser": "^3.0.0",
83
87
  "typescript": "^5.7.0",
84
- "@plumbus/mcp": "0.4.0"
88
+ "@plumbus/api": "0.1.0",
89
+ "@plumbus/mcp": "0.4.1"
85
90
  },
86
91
  "scripts": {
87
92
  "build": "tsc -b",