@agent-os-sdk/client 0.4.8 → 0.5.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.
@@ -125,6 +125,17 @@ export declare class AgentsModule {
125
125
  * @param expected_ticks The expected ticks for optimistic concurrency (from If-Match)
126
126
  */
127
127
  updateDraftGraph(agentId: string, graph_json: Record<string, unknown>, expected_ticks: number | null): Promise<APIResponse<components["schemas"]["AgentDraftResponse"]>>;
128
+ /**
129
+ * Publish a new version (bundle) of the agent.
130
+ * @param agentId The agent UUID
131
+ * @param graph_spec The graph specification to publish
132
+ * @param options Optional settings: version_label for tagging, set_as_live to make this the active version
133
+ * @returns Bundle response with version details
134
+ */
135
+ publish(agentId: string, graph_spec: Record<string, unknown>, options?: {
136
+ version_label?: string | null;
137
+ set_as_live?: boolean;
138
+ }): Promise<APIResponse<components["schemas"]["BundleResponse"]>>;
128
139
  }
129
140
  export {};
130
141
  //# sourceMappingURL=agents.d.ts.map
@@ -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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"}
@@ -153,4 +153,22 @@ export class AgentsModule {
153
153
  headers
154
154
  });
155
155
  }
156
+ /**
157
+ * Publish a new version (bundle) of the agent.
158
+ * @param agentId The agent UUID
159
+ * @param graph_spec The graph specification to publish
160
+ * @param options Optional settings: version_label for tagging, set_as_live to make this the active version
161
+ * @returns Bundle response with version details
162
+ */
163
+ async publish(agentId, graph_spec, options) {
164
+ return this.client.POST("/v1/api/agents/{id}/publish", {
165
+ params: { path: { id: agentId } },
166
+ body: {
167
+ graph_spec,
168
+ version_label: options?.version_label ?? null,
169
+ set_as_live: options?.set_as_live ?? true
170
+ },
171
+ headers: this.headers()
172
+ });
173
+ }
156
174
  }
@@ -50,6 +50,11 @@ export type BuilderChatRequest = {
50
50
  message: string;
51
51
  /** Thread ID for conversation continuity */
52
52
  thread_id?: string;
53
+ /** Chat history for context (optional, sent from frontend) */
54
+ history?: {
55
+ role: 'user' | 'assistant';
56
+ content: string;
57
+ }[];
53
58
  /** Optional ETag for concurrency control */
54
59
  base_graph_etag?: string;
55
60
  };
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/modules/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/modules/builder.ts"],"names":[],"mappings":"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"}
@@ -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.8",
3
+ "version": "0.5.0",
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
+ }
@@ -236,5 +236,27 @@ export class AgentsModule {
236
236
  });
237
237
  }
238
238
 
239
+ /**
240
+ * Publish a new version (bundle) of the agent.
241
+ * @param agentId The agent UUID
242
+ * @param graph_spec The graph specification to publish
243
+ * @param options Optional settings: version_label for tagging, set_as_live to make this the active version
244
+ * @returns Bundle response with version details
245
+ */
246
+ async publish(
247
+ agentId: string,
248
+ graph_spec: Record<string, unknown>,
249
+ options?: { version_label?: string | null; set_as_live?: boolean }
250
+ ): Promise<APIResponse<components["schemas"]["BundleResponse"]>> {
251
+ return this.client.POST<components["schemas"]["BundleResponse"]>("/v1/api/agents/{id}/publish", {
252
+ params: { path: { id: agentId } },
253
+ body: {
254
+ graph_spec,
255
+ version_label: options?.version_label ?? null,
256
+ set_as_live: options?.set_as_live ?? true
257
+ },
258
+ headers: this.headers()
259
+ });
260
+ }
239
261
 
240
262
  }
@@ -54,6 +54,8 @@ export type BuilderChatRequest = {
54
54
  message: string;
55
55
  /** Thread ID for conversation continuity */
56
56
  thread_id?: string;
57
+ /** Chat history for context (optional, sent from frontend) */
58
+ history?: { role: 'user' | 'assistant'; content: string }[];
57
59
  /** Optional ETag for concurrency control */
58
60
  base_graph_etag?: string;
59
61
  };
@@ -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
  }