@agent-os-sdk/client 0.4.9 → 0.5.1

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/dist/index.d.ts CHANGED
@@ -64,7 +64,7 @@ export { CronsModule, type CronJob, type CronJobListResponse } from "./modules/c
64
64
  export { DlqModule, type DlqListResponse, type DlqMessage } from "./modules/dlq.js";
65
65
  export { EvaluationModule, type EvalDataset, type ExampleData, type Experiment } from "./modules/evaluation.js";
66
66
  export { FilesModule, type FileListResponse, type PresignedUpload, type StoredFile } from "./modules/files.js";
67
- export { GraphsModule, type GraphIntrospectionResult, type GraphValidationResult } from "./modules/graphs.js";
67
+ export { GraphsModule, type GraphsGetResponse, type GraphsCommitRequest, type GraphsCommitResponse, type GraphsConflictPayload, type GraphsRevisionsListResponse, type GraphsRevisionResponse, type GraphsValidateRequest, type GraphsValidateResponse, type GraphsIntrospectRequest, type GraphsIntrospectResponse, type GraphsValidationMessage, type GraphsValidationResult } from "./modules/graphs.js";
68
68
  export { InfoModule, type ServerCapabilities, type ServerInfo } from "./modules/info.js";
69
69
  export { McpModule, type McpServer } from "./modules/mcp.js";
70
70
  export { MeModule, type MeResponse } from "./modules/me.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAKH,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGxG,OAAO,EACH,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,YAAY,EAC/E,KAAK,OAAO,EACf,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EACH,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,KAAK,MAAM,EACtF,KAAK,SAAS,EACjB,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAEH,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EACxF,WAAW,EAAE,YAAY,EAEzB,iBAAiB,EAAE,eAAe,EAElC,cAAc,EAAE,WAAW,EAC3B,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,KAAK,YAAY,EAEjE,KAAK,UAAU,EAClB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAK9D,OAAO,EACH,yBAAyB,EAAE,sBAAsB,EACjD,0BAA0B,EAAE,kBAAkB,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EACvF,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAK3E,OAAO,EACH,UAAU,EACV,QAAQ,EAAE,QAAQ,EAAE,KAAK,uBAAuB,EAAE,KAAK,YAAY,EAAE,KAAK,uBAAuB,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAC7I,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EACH,eAAe,EACf,iBAAiB,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EACvG,KAAK,mBAAmB,EAAE,KAAK,SAAS,EAExC,KAAK,QAAQ,EAAE,KAAK,WAAW,EAClC,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAOzD,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAChH,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,KAAK,SAAS,EAAE,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnN,OAAO,EAAE,iBAAiB,EAAE,KAAK,UAAU,EAAE,KAAK,sBAAsB,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAChI,OAAO,EAAE,eAAe,EAAE,KAAK,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC9G,OAAO,EAAE,aAAa,EAAE,KAAK,MAAM,EAAE,KAAK,kBAAkB,EAAE,KAAK,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,GAAG,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,KAAK,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAClP,OAAO,EAAE,aAAa,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,KAAK,MAAM,EAAE,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAE,KAAK,sBAAsB,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9K,OAAO,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,KAAK,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,KAAK,SAAS,EAAE,KAAK,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGvG,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC3G,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,KAAK,mBAAmB,EAAE,KAAK,cAAc,EAAE,KAAK,mBAAmB,EAAE,KAAK,cAAc,EAAE,KAAK,sBAAsB,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5N,OAAO,EAAE,iBAAiB,EAAE,KAAK,UAAU,EAAE,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACxG,OAAO,EAAE,WAAW,EAAE,KAAK,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChH,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC/G,OAAO,EACH,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,KAAK,kBAAkB,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,KAAK,MAAM,EAAE,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACvI,OAAO,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,KAAK,WAAW,EAAE,KAAK,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGvI,OAAO,EAAE,eAAe,EAAE,KAAK,QAAQ,EAAE,KAAK,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,KAAK,cAAc,EAAE,KAAK,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAE5K,OAAO,EAAE,eAAe,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAChJ,OAAO,EAAE,iBAAiB,EAAE,KAAK,uBAAuB,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAKpH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAKjK,YAAY,EACR,iBAAiB,EAAE,WAAW,EAE9B,KAAK,IAAI,WAAW,EAAE,gBAAgB,EACtC,iBAAiB,EAEjB,gBAAgB,EAChB,sBAAsB,EAAE,kBAAkB,EAE1C,uBAAuB,EAEvB,oBAAoB,EAEpB,oBAAoB,EACpB,uBAAuB,EAEvB,4BAA4B,EAE5B,mBAAmB,EACnB,0BAA0B,EAE1B,mBAAmB,EAAE,uBAAuB,EAE5C,cAAc,EAAE,aAAa,EAAE,iBAAiB,EAEhD,WAAW,EAEX,aAAa,EACb,mBAAmB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,kBAAkB,EAC/H,mBAAmB,EAEnB,mBAAmB,EAAE,eAAe,EACvC,MAAM,iBAAiB,CAAC"}
@@ -26,11 +26,6 @@ export interface ImportAgentResponse {
26
26
  message: string;
27
27
  versions_imported: number;
28
28
  }
29
- export interface ImportAgentResponse {
30
- agent_id: string;
31
- message: string;
32
- versions_imported: number;
33
- }
34
29
  export interface AgentGraphResponse {
35
30
  mermaid?: string;
36
31
  json?: unknown;
@@ -41,8 +36,6 @@ export interface GraphValidationResponse {
41
36
  warnings?: string[];
42
37
  }
43
38
  export type AgentListResponse = PaginatedResponse<Agent>;
44
- export type AgentDraftResponse = components["schemas"]["AgentDraftResponse"];
45
- export type UpdateDraftGraphRequest = components["schemas"]["UpdateDraftGraphRequest"];
46
39
  export declare class AgentsModule {
47
40
  private client;
48
41
  private headers;
@@ -111,20 +104,6 @@ export declare class AgentsModule {
111
104
  * Validate the graph configuration.
112
105
  */
113
106
  validateGraph(agentId: string): Promise<APIResponse<GraphValidationResponse>>;
114
- /**
115
- * Get the draft graph for an agent (source of truth).
116
- * Studio should use this instead of generating graphs locally.
117
- * @param agentId The agent UUID
118
- * @returns Draft response with graph_json and ETag for subsequent updates
119
- */
120
- getDraftGraph(agentId: string): Promise<APIResponse<components["schemas"]["AgentDraftResponse"]>>;
121
- /**
122
- * Update the draft graph for an agent (autosave).
123
- * @param agentId The agent UUID
124
- * @param graph_json The graph specification
125
- * @param expected_ticks The expected ticks for optimistic concurrency (from If-Match)
126
- */
127
- updateDraftGraph(agentId: string, graph_json: Record<string, unknown>, expected_ticks: number | null): Promise<APIResponse<components["schemas"]["AgentDraftResponse"]>>;
128
107
  /**
129
108
  * Publish a new version (bundle) of the agent.
130
109
  * @param agentId The agent UUID
@@ -1 +1 @@
1
- {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/modules/agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/modules/agents.ts"],"names":[],"mappings":"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"}
@@ -116,43 +116,7 @@ export class AgentsModule {
116
116
  headers: this.headers(),
117
117
  });
118
118
  }
119
- /**
120
- * Get the draft graph for an agent (source of truth).
121
- * Studio should use this instead of generating graphs locally.
122
- * @param agentId The agent UUID
123
- * @returns Draft response with graph_json and ETag for subsequent updates
124
- */
125
- async getDraftGraph(agentId) {
126
- return this.client.GET("/v1/api/agents/{id}/draft/graph", {
127
- params: { path: { id: agentId } },
128
- headers: this.headers(),
129
- });
130
- }
131
- /**
132
- * Update the draft graph for an agent (autosave).
133
- * @param agentId The agent UUID
134
- * @param graph_json The graph specification
135
- * @param expected_ticks The expected ticks for optimistic concurrency (from If-Match)
136
- */
137
- async updateDraftGraph(agentId, graph_json, expected_ticks) {
138
- // Construct If-Match header
139
- // If expected_ticks is null, we don't send header (or send something else? Logic says If-Match required if strictly following docs)
140
- // But docs say: "Requires If-Match header with ETag from previous GET/PUT".
141
- // If client passes 0, we send "agentId:0".
142
- // If client passes null, maybe it's a force overwrite or initial save? UseCase handles logic.
143
- // We will strictly set If-Match if expected_ticks is number.
144
- const headers = this.headers();
145
- if (expected_ticks !== null && expected_ticks !== undefined) {
146
- headers["If-Match"] = `"${agentId}:${expected_ticks}"`;
147
- }
148
- return this.client.PUT("/v1/api/agents/{id}/draft/graph", {
149
- params: { path: { id: agentId } },
150
- body: {
151
- graph_json
152
- },
153
- headers
154
- });
155
- }
119
+ // ======================== Publishing ========================
156
120
  /**
157
121
  * Publish a new version (bundle) of the agent.
158
122
  * @param agentId The agent UUID
@@ -1,65 +1,120 @@
1
1
  /**
2
- * Graphs Module - Validation and Introspection
2
+ * Graphs Module - V2 Graph Specification Management
3
+ *
4
+ * Pure V2 contract - no legacy. All types namespaced with "Graphs" prefix.
3
5
  */
4
6
  import type { RawClient, APIResponse } from "../client/raw.js";
5
- export interface GraphValidationResult {
7
+ export interface GraphsValidationMessage {
8
+ code: string;
9
+ message: string;
10
+ path?: string;
11
+ node_id?: string;
12
+ severity?: "error" | "warning";
13
+ }
14
+ export interface GraphsValidationResult {
15
+ valid: boolean;
16
+ errors?: GraphsValidationMessage[];
17
+ }
18
+ export interface GraphsGetResponse {
19
+ agent_id: string;
20
+ revision: string;
21
+ canonical_spec: unknown;
22
+ committed_at: string;
23
+ warnings?: GraphsValidationMessage[];
24
+ validation?: GraphsValidationResult;
25
+ }
26
+ export interface GraphsCommitRequest {
27
+ agent_id: string;
28
+ proposed_spec: unknown;
29
+ expected_revision?: string;
30
+ source?: string;
31
+ }
32
+ export type GraphsCommitStatus = "committed" | "no_change";
33
+ export interface GraphsCommitResponse {
34
+ status: GraphsCommitStatus;
35
+ agent_id: string;
36
+ revision: string;
37
+ canonical_spec: unknown;
38
+ committed_at: string;
39
+ warnings?: GraphsValidationMessage[];
40
+ validation?: GraphsValidationResult;
41
+ }
42
+ export interface GraphsConflictPayload {
43
+ hint: "reload_and_retry";
44
+ expected_revision: string;
45
+ current: GraphsGetResponse;
46
+ }
47
+ export interface GraphsRevisionSummary {
48
+ revision: string;
49
+ created_at: string;
50
+ source?: string;
51
+ }
52
+ export interface GraphsRevisionsListResponse {
53
+ agent_id: string;
54
+ revisions: GraphsRevisionSummary[];
55
+ }
56
+ export interface GraphsRevisionResponse {
57
+ revision: string;
58
+ canonical_spec: unknown;
59
+ created_at: string;
60
+ source?: string;
61
+ warnings?: GraphsValidationMessage[];
62
+ validation?: GraphsValidationResult;
63
+ }
64
+ export interface GraphsValidateRequest {
65
+ graph_spec: unknown;
66
+ normalize?: boolean;
67
+ catalog_versions?: Record<string, string>;
68
+ }
69
+ export interface GraphsValidateResponse {
6
70
  valid: boolean;
7
- errors?: string[];
8
- warnings?: string[];
71
+ canonical_spec_json?: string;
72
+ mermaid?: string;
73
+ nodes?: string[];
74
+ edges?: [string, string][];
75
+ errors?: GraphsValidationMessage[];
76
+ warnings?: GraphsValidationMessage[];
77
+ }
78
+ export interface GraphsIntrospectRequest {
79
+ agent_id?: string;
80
+ graph_spec?: unknown;
81
+ catalog_versions?: Record<string, string>;
9
82
  }
10
- export interface GraphIntrospectionResult {
11
- nodes: Array<{
12
- id: string;
13
- type: string;
14
- label?: string;
15
- }>;
16
- edges: Array<{
17
- from: string;
18
- to: string;
19
- }>;
20
- entrypoints?: string[];
83
+ export interface GraphsIntrospectResponse {
84
+ mermaid: string;
85
+ nodes: string[];
86
+ edges: [string, string][];
87
+ graph_type?: string;
21
88
  }
22
89
  export declare class GraphsModule {
23
90
  private client;
24
91
  private headers;
25
92
  constructor(client: RawClient, headers: () => Record<string, string>);
93
+ /**
94
+ * Get current graph spec by revision.
95
+ * @returns 200 with graph spec, or 404 if not initialized
96
+ */
97
+ get(agentId: string): Promise<APIResponse<GraphsGetResponse>>;
98
+ /**
99
+ * Commit graph spec atomically.
100
+ * @returns 200 (committed/no_change), or 409 on conflict
101
+ */
102
+ commit(request: GraphsCommitRequest): Promise<APIResponse<GraphsCommitResponse>>;
103
+ /**
104
+ * List revision history for an agent.
105
+ */
106
+ listRevisions(agentId: string): Promise<APIResponse<GraphsRevisionsListResponse>>;
107
+ /**
108
+ * Get a specific revision.
109
+ */
110
+ getRevision(agentId: string, revision: string): Promise<APIResponse<GraphsRevisionResponse>>;
26
111
  /**
27
112
  * Validate a graph specification.
28
- * Uses canonical GraphValidator for deep validation.
29
113
  */
30
- validate(body: {
31
- graph_spec: {
32
- type: string;
33
- nodes: Array<{
34
- id: string;
35
- type: string;
36
- label?: string;
37
- }>;
38
- edges: Array<{
39
- from: string;
40
- to: string;
41
- }>;
42
- };
43
- /** Catalog versions for referential integrity checks */
44
- catalog_versions?: {
45
- nodes: string;
46
- tools: string;
47
- triggers: string;
48
- };
49
- }): Promise<APIResponse<GraphValidationResult>>;
114
+ validate(body: GraphsValidateRequest): Promise<APIResponse<GraphsValidateResponse>>;
50
115
  /**
51
- * Introspect a graph to get its structure.
52
- * Uses canonical GraphValidator with world-fixed context.
116
+ * Introspect a graph structure.
53
117
  */
54
- introspect(body: {
55
- agent_id?: string;
56
- graph_spec?: Record<string, unknown>;
57
- /** Catalog versions for deterministic introspection */
58
- catalog_versions?: {
59
- nodes: string;
60
- tools: string;
61
- triggers: string;
62
- };
63
- }): Promise<APIResponse<GraphIntrospectionResult>>;
118
+ introspect(body: GraphsIntrospectRequest): Promise<APIResponse<GraphsIntrospectResponse>>;
64
119
  }
65
120
  //# sourceMappingURL=graphs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphs.d.ts","sourceRoot":"","sources":["../../src/modules/graphs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAc,MAAM,kBAAkB,CAAC;AAE3E,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB;IACrC,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,qBAAa,YAAY;IACT,OAAO,CAAC,MAAM;IAAa,OAAO,CAAC,OAAO;gBAAlC,MAAM,EAAE,SAAS,EAAU,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAEpF;;;OAGG;IACG,QAAQ,CAAC,IAAI,EAAE;QACjB,UAAU,EAAE;YACR,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,KAAK,CAAC;gBAAE,EAAE,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;YAC3D,KAAK,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,EAAE,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;SAC9C,CAAC;QACF,wDAAwD;QACxD,gBAAgB,CAAC,EAAE;YACf,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,EAAE,MAAM,CAAC;YACd,QAAQ,EAAE,MAAM,CAAC;SACpB,CAAC;KACL,GAAG,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAO/C;;;OAGG;IACG,UAAU,CAAC,IAAI,EAAE;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,uDAAuD;QACvD,gBAAgB,CAAC,EAAE;YACf,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,EAAE,MAAM,CAAC;YACd,QAAQ,EAAE,MAAM,CAAC;SACpB,CAAC;KACL,GAAG,OAAO,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;CAMrD"}
1
+ {"version":3,"file":"graphs.d.ts","sourceRoot":"","sources":["../../src/modules/graphs.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  /**
2
- * Graphs Module - Validation and Introspection
2
+ * Graphs Module - V2 Graph Specification Management
3
+ *
4
+ * Pure V2 contract - no legacy. All types namespaced with "Graphs" prefix.
3
5
  */
6
+ // ============ Module ============
4
7
  export class GraphsModule {
5
8
  client;
6
9
  headers;
@@ -8,9 +11,45 @@ export class GraphsModule {
8
11
  this.client = client;
9
12
  this.headers = headers;
10
13
  }
14
+ // ============ V2 Graph Spec (CP) ============
15
+ /**
16
+ * Get current graph spec by revision.
17
+ * @returns 200 with graph spec, or 404 if not initialized
18
+ */
19
+ async get(agentId) {
20
+ return this.client.GET(`/v2/api/graph/${agentId}`, {
21
+ headers: this.headers(),
22
+ });
23
+ }
24
+ /**
25
+ * Commit graph spec atomically.
26
+ * @returns 200 (committed/no_change), or 409 on conflict
27
+ */
28
+ async commit(request) {
29
+ return this.client.POST("/v2/api/graph/commit", {
30
+ body: request,
31
+ headers: this.headers(),
32
+ });
33
+ }
34
+ /**
35
+ * List revision history for an agent.
36
+ */
37
+ async listRevisions(agentId) {
38
+ return this.client.GET(`/v2/api/graph/${agentId}/revisions`, {
39
+ headers: this.headers(),
40
+ });
41
+ }
42
+ /**
43
+ * Get a specific revision.
44
+ */
45
+ async getRevision(agentId, revision) {
46
+ return this.client.GET(`/v2/api/graph/${agentId}/revisions/${revision}`, {
47
+ headers: this.headers(),
48
+ });
49
+ }
50
+ // ============ Validation (DP proxy) ============
11
51
  /**
12
52
  * Validate a graph specification.
13
- * Uses canonical GraphValidator for deep validation.
14
53
  */
15
54
  async validate(body) {
16
55
  return this.client.POST("/v1/api/graphs/validate", {
@@ -19,8 +58,7 @@ export class GraphsModule {
19
58
  });
20
59
  }
21
60
  /**
22
- * Introspect a graph to get its structure.
23
- * Uses canonical GraphValidator with world-fixed context.
61
+ * Introspect a graph structure.
24
62
  */
25
63
  async introspect(body) {
26
64
  return this.client.POST("/v1/api/graphs/introspect", {
@@ -1,5 +1,8 @@
1
1
  /**
2
- * Triggers Module - Fully Typed
2
+ * Triggers Module - Wave 5 Aligned
3
+ *
4
+ * Provides typed access to trigger management and execution.
5
+ * Follows Law 065 (Security DTO Bifurcation) - secrets only via dedicated endpoint.
3
6
  */
4
7
  import type { RawClient, APIResponse } from "../client/raw.js";
5
8
  export interface Trigger {
@@ -7,29 +10,57 @@ export interface Trigger {
7
10
  name: string;
8
11
  workspace_id: string;
9
12
  agent_id: string;
10
- agent_version_id?: string;
11
- trigger_type: "webhook" | "schedule" | "event";
12
- config?: Record<string, unknown>;
13
- webhook_url?: string;
14
- webhook_secret?: string;
13
+ trigger_type: string;
14
+ template_slug?: string;
15
15
  is_active: boolean;
16
+ invoke_url: string;
17
+ request_contract?: TriggerRequestContract;
16
18
  created_at: string;
17
- updated_at: string;
19
+ updated_at: string | null;
18
20
  }
19
- export interface TriggerListResponse {
20
- items: Trigger[];
21
- total: number;
21
+ export interface TriggerRequestContract {
22
+ method: string;
23
+ invoke_url: string;
24
+ headers: Record<string, string>;
25
+ signing: SigningContract;
26
+ body_schema?: Record<string, unknown>;
27
+ example_payload?: Record<string, unknown>;
28
+ curl_example: string;
22
29
  }
23
- export interface TriggerInvokeResponse {
30
+ export interface SigningContract {
31
+ algorithm: string;
32
+ signature_header: string;
33
+ timestamp_header: string;
34
+ timestamp_format: string;
35
+ string_to_sign: string;
36
+ signature_format: string;
37
+ }
38
+ export interface TriggerSecretResponse {
39
+ id: string;
40
+ name: string;
41
+ secret_key: string;
42
+ invoke_url: string;
43
+ request_contract?: TriggerRequestContract;
44
+ created_at: string;
45
+ }
46
+ export interface TestTriggerResponse {
24
47
  run_id: string;
48
+ trigger_id: string;
49
+ agent_id: string;
50
+ status: string;
25
51
  triggered_at: string;
52
+ reused: boolean;
53
+ }
54
+ export interface TriggerListResponse {
55
+ items: Trigger[];
56
+ total: number;
26
57
  }
27
58
  export declare class TriggersModule {
28
59
  private client;
29
60
  private headers;
30
61
  constructor(client: RawClient, headers: () => Record<string, string>);
31
62
  /**
32
- * List all triggers.
63
+ * List all triggers (workspace-scoped).
33
64
  */
34
65
  list(params?: {
35
66
  workspace_id?: string;
@@ -38,18 +69,28 @@ export declare class TriggersModule {
38
69
  limit?: number;
39
70
  offset?: number;
40
71
  }): Promise<APIResponse<TriggerListResponse>>;
72
+ /**
73
+ * List triggers for a specific agent.
74
+ * Convenience wrapper around list() with agent_id filter.
75
+ */
76
+ listByAgent(agentId: string): Promise<APIResponse<TriggerListResponse>>;
41
77
  /**
42
78
  * Get a trigger by ID.
43
79
  */
44
80
  get(triggerId: string): Promise<APIResponse<Trigger>>;
81
+ /**
82
+ * Get trigger with secret (Law 065 - Security DTO).
83
+ * Use this when you need the webhook_secret for signing.
84
+ */
85
+ getSecret(triggerId: string): Promise<APIResponse<TriggerSecretResponse>>;
45
86
  /**
46
87
  * Create a new trigger.
47
88
  */
48
89
  create(body: {
49
90
  name: string;
50
91
  agent_id: string;
51
- agent_version_id?: string;
52
- trigger_type: "webhook" | "schedule" | "event";
92
+ trigger_type: string;
93
+ template_slug?: string;
53
94
  config?: Record<string, unknown>;
54
95
  }): Promise<APIResponse<Trigger>>;
55
96
  /**
@@ -64,8 +105,11 @@ export declare class TriggersModule {
64
105
  */
65
106
  delete(triggerId: string): Promise<APIResponse<void>>;
66
107
  /**
67
- * Invoke a trigger manually.
108
+ * Test a trigger (server-side execution).
109
+ * Avoids client-side secret exposure - server signs the request.
110
+ * @param triggerId - The trigger to test
111
+ * @param payload - Optional JSON payload (wrapped in { payload: ... } per backend contract)
68
112
  */
69
- invoke(triggerId: string, payload?: unknown): Promise<APIResponse<TriggerInvokeResponse>>;
113
+ test(triggerId: string, payload?: unknown): Promise<APIResponse<TestTriggerResponse>>;
70
114
  }
71
115
  //# sourceMappingURL=triggers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"triggers.d.ts","sourceRoot":"","sources":["../../src/modules/triggers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAc,MAAM,kBAAkB,CAAC;AAI3E,MAAM,WAAW,OAAO;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAChC,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,cAAc;IACX,OAAO,CAAC,MAAM;IAAa,OAAO,CAAC,OAAO;gBAAlC,MAAM,EAAE,SAAS,EAAU,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAEpF;;OAEG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAO7C;;OAEG;IACG,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAO3D;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE;QACf,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;QAC/C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAOjC;;OAEG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE;QAClC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAQjC;;OAEG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAO3D;;OAEG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;CAOlG"}
1
+ {"version":3,"file":"triggers.d.ts","sourceRoot":"","sources":["../../src/modules/triggers.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,12 @@
1
1
  /**
2
- * Triggers Module - Fully Typed
2
+ * Triggers Module - Wave 5 Aligned
3
+ *
4
+ * Provides typed access to trigger management and execution.
5
+ * Follows Law 065 (Security DTO Bifurcation) - secrets only via dedicated endpoint.
3
6
  */
7
+ // =============================================================================
8
+ // Module
9
+ // =============================================================================
4
10
  export class TriggersModule {
5
11
  client;
6
12
  headers;
@@ -9,7 +15,7 @@ export class TriggersModule {
9
15
  this.headers = headers;
10
16
  }
11
17
  /**
12
- * List all triggers.
18
+ * List all triggers (workspace-scoped).
13
19
  */
14
20
  async list(params) {
15
21
  return this.client.GET("/v1/api/triggers", {
@@ -17,6 +23,13 @@ export class TriggersModule {
17
23
  headers: this.headers(),
18
24
  });
19
25
  }
26
+ /**
27
+ * List triggers for a specific agent.
28
+ * Convenience wrapper around list() with agent_id filter.
29
+ */
30
+ async listByAgent(agentId) {
31
+ return this.list({ agent_id: agentId });
32
+ }
20
33
  /**
21
34
  * Get a trigger by ID.
22
35
  */
@@ -26,6 +39,16 @@ export class TriggersModule {
26
39
  headers: this.headers(),
27
40
  });
28
41
  }
42
+ /**
43
+ * Get trigger with secret (Law 065 - Security DTO).
44
+ * Use this when you need the webhook_secret for signing.
45
+ */
46
+ async getSecret(triggerId) {
47
+ return this.client.GET("/v1/api/triggers/{id}/secret", {
48
+ params: { path: { id: triggerId } },
49
+ headers: this.headers(),
50
+ });
51
+ }
29
52
  /**
30
53
  * Create a new trigger.
31
54
  */
@@ -39,7 +62,7 @@ export class TriggersModule {
39
62
  * Update a trigger.
40
63
  */
41
64
  async update(triggerId, body) {
42
- return this.client.PUT("/v1/api/triggers/{id}", {
65
+ return this.client.PATCH("/v1/api/triggers/{id}", {
43
66
  params: { path: { id: triggerId } },
44
67
  body,
45
68
  headers: this.headers(),
@@ -55,12 +78,15 @@ export class TriggersModule {
55
78
  });
56
79
  }
57
80
  /**
58
- * Invoke a trigger manually.
81
+ * Test a trigger (server-side execution).
82
+ * Avoids client-side secret exposure - server signs the request.
83
+ * @param triggerId - The trigger to test
84
+ * @param payload - Optional JSON payload (wrapped in { payload: ... } per backend contract)
59
85
  */
60
- async invoke(triggerId, payload) {
61
- return this.client.POST("/v1/api/triggers/{id}/invoke", {
86
+ async test(triggerId, payload) {
87
+ return this.client.POST("/v1/api/triggers/{id}/test", {
62
88
  params: { path: { id: triggerId } },
63
- body: { payload },
89
+ body: payload !== undefined ? { payload } : undefined,
64
90
  headers: this.headers(),
65
91
  });
66
92
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-os-sdk/client",
3
- "version": "0.4.9",
3
+ "version": "0.5.1",
4
4
  "description": "Official TypeScript SDK for Agent OS platform",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -49,4 +49,4 @@
49
49
  "dist",
50
50
  "src"
51
51
  ]
52
- }
52
+ }
package/src/index.ts CHANGED
@@ -135,7 +135,21 @@ export { CronsModule, type CronJob, type CronJobListResponse } from "./modules/c
135
135
  export { DlqModule, type DlqListResponse, type DlqMessage } from "./modules/dlq.js";
136
136
  export { EvaluationModule, type EvalDataset, type ExampleData, type Experiment } from "./modules/evaluation.js";
137
137
  export { FilesModule, type FileListResponse, type PresignedUpload, type StoredFile } from "./modules/files.js";
138
- export { GraphsModule, type GraphIntrospectionResult, type GraphValidationResult } from "./modules/graphs.js";
138
+ export {
139
+ GraphsModule,
140
+ type GraphsGetResponse,
141
+ type GraphsCommitRequest,
142
+ type GraphsCommitResponse,
143
+ type GraphsConflictPayload,
144
+ type GraphsRevisionsListResponse,
145
+ type GraphsRevisionResponse,
146
+ type GraphsValidateRequest,
147
+ type GraphsValidateResponse,
148
+ type GraphsIntrospectRequest,
149
+ type GraphsIntrospectResponse,
150
+ type GraphsValidationMessage,
151
+ type GraphsValidationResult
152
+ } from "./modules/graphs.js";
139
153
  export { InfoModule, type ServerCapabilities, type ServerInfo } from "./modules/info.js";
140
154
  export { McpModule, type McpServer } from "./modules/mcp.js";
141
155
  export { MeModule, type MeResponse } from "./modules/me.js";
@@ -28,8 +28,6 @@ export interface Agent {
28
28
  live_bundle_id?: string | null;
29
29
  }
30
30
 
31
-
32
-
33
31
  export interface AgentBundle extends AgentBundleSchema { }
34
32
 
35
33
  export interface ImportAgentResponse {
@@ -38,13 +36,6 @@ export interface ImportAgentResponse {
38
36
  versions_imported: number;
39
37
  }
40
38
 
41
- export interface ImportAgentResponse {
42
- agent_id: string;
43
- message: string;
44
- versions_imported: number;
45
- }
46
-
47
-
48
39
  export interface AgentGraphResponse {
49
40
  mermaid?: string;
50
41
  json?: unknown;
@@ -58,10 +49,6 @@ export interface GraphValidationResponse {
58
49
 
59
50
  export type AgentListResponse = PaginatedResponse<Agent>;
60
51
 
61
- // Draft types
62
- export type AgentDraftResponse = components["schemas"]["AgentDraftResponse"];
63
- export type UpdateDraftGraphRequest = components["schemas"]["UpdateDraftGraphRequest"];
64
-
65
52
  export class AgentsModule {
66
53
  constructor(private client: RawClient, private headers: () => Record<string, string>) { }
67
54
 
@@ -191,50 +178,7 @@ export class AgentsModule {
191
178
  });
192
179
  }
193
180
 
194
- /**
195
- * Get the draft graph for an agent (source of truth).
196
- * Studio should use this instead of generating graphs locally.
197
- * @param agentId The agent UUID
198
- * @returns Draft response with graph_json and ETag for subsequent updates
199
- */
200
- async getDraftGraph(agentId: string): Promise<APIResponse<components["schemas"]["AgentDraftResponse"]>> {
201
- return this.client.GET<components["schemas"]["AgentDraftResponse"]>("/v1/api/agents/{id}/draft/graph", {
202
- params: { path: { id: agentId } },
203
- headers: this.headers(),
204
- });
205
- }
206
-
207
- /**
208
- * Update the draft graph for an agent (autosave).
209
- * @param agentId The agent UUID
210
- * @param graph_json The graph specification
211
- * @param expected_ticks The expected ticks for optimistic concurrency (from If-Match)
212
- */
213
- async updateDraftGraph(
214
- agentId: string,
215
- graph_json: Record<string, unknown>,
216
- expected_ticks: number | null
217
- ): Promise<APIResponse<components["schemas"]["AgentDraftResponse"]>> {
218
- // Construct If-Match header
219
- // If expected_ticks is null, we don't send header (or send something else? Logic says If-Match required if strictly following docs)
220
- // But docs say: "Requires If-Match header with ETag from previous GET/PUT".
221
- // If client passes 0, we send "agentId:0".
222
- // If client passes null, maybe it's a force overwrite or initial save? UseCase handles logic.
223
- // We will strictly set If-Match if expected_ticks is number.
224
-
225
- const headers = this.headers();
226
- if (expected_ticks !== null && expected_ticks !== undefined) {
227
- headers["If-Match"] = `"${agentId}:${expected_ticks}"`;
228
- }
229
-
230
- return this.client.PUT<components["schemas"]["AgentDraftResponse"]>("/v1/api/agents/{id}/draft/graph", {
231
- params: { path: { id: agentId } },
232
- body: {
233
- graph_json
234
- } as components["schemas"]["UpdateDraftGraphRequest"],
235
- headers
236
- });
237
- }
181
+ // ======================== Publishing ========================
238
182
 
239
183
  /**
240
184
  * Publish a new version (bundle) of the agent.
@@ -1,62 +1,186 @@
1
1
  /**
2
- * Graphs Module - Validation and Introspection
2
+ * Graphs Module - V2 Graph Specification Management
3
+ *
4
+ * Pure V2 contract - no legacy. All types namespaced with "Graphs" prefix.
3
5
  */
4
6
 
5
- import type { RawClient, APIResponse, components } from "../client/raw.js";
7
+ import type { RawClient, APIResponse } from "../client/raw.js";
6
8
 
7
- export interface GraphValidationResult {
9
+ // ============ Shared Types ============
10
+
11
+ export interface GraphsValidationMessage {
12
+ code: string;
13
+ message: string;
14
+ path?: string;
15
+ node_id?: string;
16
+ severity?: "error" | "warning";
17
+ }
18
+
19
+ export interface GraphsValidationResult {
8
20
  valid: boolean;
9
- errors?: string[];
10
- warnings?: string[];
21
+ errors?: GraphsValidationMessage[];
22
+ }
23
+
24
+ // ============ GET /v2/api/graph/{agentId} ============
25
+
26
+ export interface GraphsGetResponse {
27
+ agent_id: string;
28
+ revision: string;
29
+ canonical_spec: unknown;
30
+ committed_at: string;
31
+ warnings?: GraphsValidationMessage[];
32
+ validation?: GraphsValidationResult;
33
+ }
34
+
35
+ // ============ POST /v2/api/graph/commit ============
36
+
37
+ export interface GraphsCommitRequest {
38
+ agent_id: string;
39
+ proposed_spec: unknown;
40
+ expected_revision?: string;
41
+ source?: string;
42
+ }
43
+
44
+ export type GraphsCommitStatus = "committed" | "no_change";
45
+
46
+ export interface GraphsCommitResponse {
47
+ status: GraphsCommitStatus;
48
+ agent_id: string;
49
+ revision: string;
50
+ canonical_spec: unknown;
51
+ committed_at: string;
52
+ warnings?: GraphsValidationMessage[];
53
+ validation?: GraphsValidationResult;
54
+ }
55
+
56
+ // 409 Conflict body (ProblemDetails.Extensions)
57
+ // Envelope around GET response - agent_id lives in current.agent_id
58
+ export interface GraphsConflictPayload {
59
+ hint: "reload_and_retry";
60
+ expected_revision: string;
61
+ current: GraphsGetResponse;
62
+ }
63
+
64
+ // ============ GET /v2/api/graph/{agentId}/revisions ============
65
+
66
+ export interface GraphsRevisionSummary {
67
+ revision: string;
68
+ created_at: string;
69
+ source?: string;
70
+ }
71
+
72
+ export interface GraphsRevisionsListResponse {
73
+ agent_id: string;
74
+ revisions: GraphsRevisionSummary[];
75
+ }
76
+
77
+ // ============ GET /v2/api/graph/{agentId}/revisions/{revision} ============
78
+
79
+ export interface GraphsRevisionResponse {
80
+ revision: string;
81
+ canonical_spec: unknown;
82
+ created_at: string;
83
+ source?: string;
84
+ warnings?: GraphsValidationMessage[];
85
+ validation?: GraphsValidationResult;
86
+ }
87
+
88
+ // ============ Validation (DP) ============
89
+
90
+ export interface GraphsValidateRequest {
91
+ graph_spec: unknown;
92
+ normalize?: boolean;
93
+ catalog_versions?: Record<string, string>;
94
+ }
95
+
96
+ export interface GraphsValidateResponse {
97
+ valid: boolean;
98
+ canonical_spec_json?: string;
99
+ mermaid?: string;
100
+ nodes?: string[];
101
+ edges?: [string, string][];
102
+ errors?: GraphsValidationMessage[];
103
+ warnings?: GraphsValidationMessage[];
104
+ }
105
+
106
+ // ============ Introspection (DP) ============
107
+
108
+ export interface GraphsIntrospectRequest {
109
+ agent_id?: string;
110
+ graph_spec?: unknown;
111
+ catalog_versions?: Record<string, string>;
11
112
  }
12
113
 
13
- export interface GraphIntrospectionResult {
14
- nodes: Array<{ id: string; type: string; label?: string }>;
15
- edges: Array<{ from: string; to: string }>;
16
- entrypoints?: string[];
114
+ export interface GraphsIntrospectResponse {
115
+ mermaid: string;
116
+ nodes: string[];
117
+ edges: [string, string][];
118
+ graph_type?: string;
17
119
  }
18
120
 
121
+ // ============ Module ============
122
+
19
123
  export class GraphsModule {
20
124
  constructor(private client: RawClient, private headers: () => Record<string, string>) { }
21
125
 
126
+ // ============ V2 Graph Spec (CP) ============
127
+
128
+ /**
129
+ * Get current graph spec by revision.
130
+ * @returns 200 with graph spec, or 404 if not initialized
131
+ */
132
+ async get(agentId: string): Promise<APIResponse<GraphsGetResponse>> {
133
+ return this.client.GET<GraphsGetResponse>(`/v2/api/graph/${agentId}`, {
134
+ headers: this.headers(),
135
+ });
136
+ }
137
+
138
+ /**
139
+ * Commit graph spec atomically.
140
+ * @returns 200 (committed/no_change), or 409 on conflict
141
+ */
142
+ async commit(request: GraphsCommitRequest): Promise<APIResponse<GraphsCommitResponse>> {
143
+ return this.client.POST<GraphsCommitResponse>("/v2/api/graph/commit", {
144
+ body: request,
145
+ headers: this.headers(),
146
+ });
147
+ }
148
+
149
+ /**
150
+ * List revision history for an agent.
151
+ */
152
+ async listRevisions(agentId: string): Promise<APIResponse<GraphsRevisionsListResponse>> {
153
+ return this.client.GET<GraphsRevisionsListResponse>(`/v2/api/graph/${agentId}/revisions`, {
154
+ headers: this.headers(),
155
+ });
156
+ }
157
+
158
+ /**
159
+ * Get a specific revision.
160
+ */
161
+ async getRevision(agentId: string, revision: string): Promise<APIResponse<GraphsRevisionResponse>> {
162
+ return this.client.GET<GraphsRevisionResponse>(`/v2/api/graph/${agentId}/revisions/${revision}`, {
163
+ headers: this.headers(),
164
+ });
165
+ }
166
+
167
+ // ============ Validation (DP proxy) ============
168
+
22
169
  /**
23
170
  * Validate a graph specification.
24
- * Uses canonical GraphValidator for deep validation.
25
171
  */
26
- async validate(body: {
27
- graph_spec: {
28
- type: string;
29
- nodes: Array<{ id: string; type: string; label?: string }>;
30
- edges: Array<{ from: string; to: string }>;
31
- };
32
- /** Catalog versions for referential integrity checks */
33
- catalog_versions?: {
34
- nodes: string;
35
- tools: string;
36
- triggers: string;
37
- };
38
- }): Promise<APIResponse<GraphValidationResult>> {
39
- return this.client.POST<GraphValidationResult>("/v1/api/graphs/validate", {
172
+ async validate(body: GraphsValidateRequest): Promise<APIResponse<GraphsValidateResponse>> {
173
+ return this.client.POST<GraphsValidateResponse>("/v1/api/graphs/validate", {
40
174
  body,
41
175
  headers: this.headers(),
42
176
  });
43
177
  }
44
178
 
45
179
  /**
46
- * Introspect a graph to get its structure.
47
- * Uses canonical GraphValidator with world-fixed context.
180
+ * Introspect a graph structure.
48
181
  */
49
- async introspect(body: {
50
- agent_id?: string;
51
- graph_spec?: Record<string, unknown>;
52
- /** Catalog versions for deterministic introspection */
53
- catalog_versions?: {
54
- nodes: string;
55
- tools: string;
56
- triggers: string;
57
- };
58
- }): Promise<APIResponse<GraphIntrospectionResult>> {
59
- return this.client.POST<GraphIntrospectionResult>("/v1/api/graphs/introspect", {
182
+ async introspect(body: GraphsIntrospectRequest): Promise<APIResponse<GraphsIntrospectResponse>> {
183
+ return this.client.POST<GraphsIntrospectResponse>("/v1/api/graphs/introspect", {
60
184
  body,
61
185
  headers: this.headers(),
62
186
  });
@@ -1,41 +1,82 @@
1
1
  /**
2
- * Triggers Module - Fully Typed
2
+ * Triggers Module - Wave 5 Aligned
3
+ *
4
+ * Provides typed access to trigger management and execution.
5
+ * Follows Law 065 (Security DTO Bifurcation) - secrets only via dedicated endpoint.
3
6
  */
4
7
 
5
- import type { RawClient, APIResponse, components } from "../client/raw.js";
8
+ import type { RawClient, APIResponse } from "../client/raw.js";
6
9
 
7
- type UpdateTriggerRequest = components["schemas"]["UpdateTriggerRequest"];
10
+ // =============================================================================
11
+ // Types - Wave 5 Aligned
12
+ // =============================================================================
8
13
 
9
14
  export interface Trigger {
10
15
  id: string;
11
16
  name: string;
12
17
  workspace_id: string;
13
18
  agent_id: string;
14
- agent_version_id?: string;
15
- trigger_type: "webhook" | "schedule" | "event";
16
- config?: Record<string, unknown>;
17
- webhook_url?: string;
18
- webhook_secret?: string;
19
+ trigger_type: string; // String label, not union - frontend treats as display value
20
+ template_slug?: string;
19
21
  is_active: boolean;
22
+ invoke_url: string;
23
+ request_contract?: TriggerRequestContract;
20
24
  created_at: string;
21
- updated_at: string;
25
+ updated_at: string | null;
26
+ // Law 065: webhook_secret REMOVED - use getSecret() for sensitive data
22
27
  }
23
28
 
24
- export interface TriggerListResponse {
25
- items: Trigger[];
26
- total: number;
29
+ export interface TriggerRequestContract {
30
+ method: string;
31
+ invoke_url: string;
32
+ headers: Record<string, string>;
33
+ signing: SigningContract;
34
+ body_schema?: Record<string, unknown>;
35
+ example_payload?: Record<string, unknown>;
36
+ curl_example: string;
37
+ }
38
+
39
+ export interface SigningContract {
40
+ algorithm: string;
41
+ signature_header: string;
42
+ timestamp_header: string;
43
+ timestamp_format: string;
44
+ string_to_sign: string;
45
+ signature_format: string;
46
+ }
47
+
48
+ export interface TriggerSecretResponse {
49
+ id: string;
50
+ name: string;
51
+ secret_key: string;
52
+ invoke_url: string;
53
+ request_contract?: TriggerRequestContract;
54
+ created_at: string;
27
55
  }
28
56
 
29
- export interface TriggerInvokeResponse {
57
+ export interface TestTriggerResponse {
30
58
  run_id: string;
59
+ trigger_id: string;
60
+ agent_id: string;
61
+ status: string;
31
62
  triggered_at: string;
63
+ reused: boolean;
64
+ }
65
+
66
+ export interface TriggerListResponse {
67
+ items: Trigger[];
68
+ total: number;
32
69
  }
33
70
 
71
+ // =============================================================================
72
+ // Module
73
+ // =============================================================================
74
+
34
75
  export class TriggersModule {
35
76
  constructor(private client: RawClient, private headers: () => Record<string, string>) { }
36
77
 
37
78
  /**
38
- * List all triggers.
79
+ * List all triggers (workspace-scoped).
39
80
  */
40
81
  async list(params?: {
41
82
  workspace_id?: string;
@@ -50,6 +91,14 @@ export class TriggersModule {
50
91
  });
51
92
  }
52
93
 
94
+ /**
95
+ * List triggers for a specific agent.
96
+ * Convenience wrapper around list() with agent_id filter.
97
+ */
98
+ async listByAgent(agentId: string): Promise<APIResponse<TriggerListResponse>> {
99
+ return this.list({ agent_id: agentId });
100
+ }
101
+
53
102
  /**
54
103
  * Get a trigger by ID.
55
104
  */
@@ -60,14 +109,25 @@ export class TriggersModule {
60
109
  });
61
110
  }
62
111
 
112
+ /**
113
+ * Get trigger with secret (Law 065 - Security DTO).
114
+ * Use this when you need the webhook_secret for signing.
115
+ */
116
+ async getSecret(triggerId: string): Promise<APIResponse<TriggerSecretResponse>> {
117
+ return this.client.GET<TriggerSecretResponse>("/v1/api/triggers/{id}/secret", {
118
+ params: { path: { id: triggerId } },
119
+ headers: this.headers(),
120
+ });
121
+ }
122
+
63
123
  /**
64
124
  * Create a new trigger.
65
125
  */
66
126
  async create(body: {
67
127
  name: string;
68
128
  agent_id: string;
69
- agent_version_id?: string;
70
- trigger_type: "webhook" | "schedule" | "event";
129
+ trigger_type: string;
130
+ template_slug?: string;
71
131
  config?: Record<string, unknown>;
72
132
  }): Promise<APIResponse<Trigger>> {
73
133
  return this.client.POST<Trigger>("/v1/api/triggers", {
@@ -83,7 +143,7 @@ export class TriggersModule {
83
143
  name?: string;
84
144
  is_active?: boolean;
85
145
  }): Promise<APIResponse<Trigger>> {
86
- return this.client.PUT<Trigger>("/v1/api/triggers/{id}", {
146
+ return this.client.PATCH<Trigger>("/v1/api/triggers/{id}", {
87
147
  params: { path: { id: triggerId } },
88
148
  body,
89
149
  headers: this.headers(),
@@ -101,12 +161,15 @@ export class TriggersModule {
101
161
  }
102
162
 
103
163
  /**
104
- * Invoke a trigger manually.
164
+ * Test a trigger (server-side execution).
165
+ * Avoids client-side secret exposure - server signs the request.
166
+ * @param triggerId - The trigger to test
167
+ * @param payload - Optional JSON payload (wrapped in { payload: ... } per backend contract)
105
168
  */
106
- async invoke(triggerId: string, payload?: unknown): Promise<APIResponse<TriggerInvokeResponse>> {
107
- return this.client.POST<TriggerInvokeResponse>("/v1/api/triggers/{id}/invoke", {
169
+ async test(triggerId: string, payload?: unknown): Promise<APIResponse<TestTriggerResponse>> {
170
+ return this.client.POST<TestTriggerResponse>("/v1/api/triggers/{id}/test", {
108
171
  params: { path: { id: triggerId } },
109
- body: { payload },
172
+ body: payload !== undefined ? { payload } : undefined,
110
173
  headers: this.headers(),
111
174
  });
112
175
  }