@asteroidai/cli 1.9.110 → 1.9.115

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 (3) hide show
  1. package/dist/asteroid.js +408 -21
  2. package/dist/core.js +407 -20
  3. package/package.json +1 -1
package/dist/asteroid.js CHANGED
@@ -1162,6 +1162,19 @@ var COMMANDS = [
1162
1162
  readOnly: false,
1163
1163
  destructive: true
1164
1164
  },
1165
+ {
1166
+ command: "event-type list",
1167
+ tool: "event_types_list",
1168
+ title: "List notification event types",
1169
+ description: "List the events a workflow notification rule can match, with the fields each one can filter on, their operators and valid values.",
1170
+ method: "GET",
1171
+ path: "/agents/v2/event-types",
1172
+ args: [],
1173
+ query: [],
1174
+ binary: false,
1175
+ readOnly: true,
1176
+ destructive: false
1177
+ },
1165
1178
  {
1166
1179
  command: "execution activities",
1167
1180
  tool: "execution_activities_get",
@@ -2000,12 +2013,74 @@ var COMMANDS = [
2000
2013
  destructive: false
2001
2014
  },
2002
2015
  {
2003
- command: "model list",
2004
- tool: "models_list",
2005
- title: "List models",
2006
- description: "List the model slugs valid for an agent node's `model` setting, with display name, description and whether the model supports computer use.",
2016
+ command: "integration create",
2017
+ tool: "integration_create",
2018
+ title: "Create a webhook integration",
2019
+ description: "Create a webhook integration. Set `type` to `webhook` and `configuration` to `{type: webhook, url, headers}`. Put a shared secret in a header, such as `Authorization`. Asteroid signs every delivery; verify it with integration_signing_keys_get. Slack is added in the platform app only.",
2020
+ method: "POST",
2021
+ path: "/agents/v2/integrations",
2022
+ args: [],
2023
+ query: [],
2024
+ binary: false,
2025
+ readOnly: false,
2026
+ destructive: false,
2027
+ body: {
2028
+ required: true,
2029
+ contentType: "application/json",
2030
+ fields: [
2031
+ {
2032
+ name: "name",
2033
+ flag: "name",
2034
+ type: "string",
2035
+ required: true
2036
+ },
2037
+ {
2038
+ name: "type",
2039
+ flag: "type",
2040
+ type: "string",
2041
+ required: true,
2042
+ description: "The type of the integration",
2043
+ enum: ["webhook", "slack", "asteroid_management"]
2044
+ },
2045
+ {
2046
+ name: "configuration",
2047
+ flag: "configuration",
2048
+ type: "json",
2049
+ required: true,
2050
+ description: "Configuration for an integration"
2051
+ }
2052
+ ],
2053
+ files: [],
2054
+ credentialOrganization: true
2055
+ }
2056
+ },
2057
+ {
2058
+ command: "integration delete",
2059
+ tool: "integration_delete",
2060
+ title: "Delete an integration",
2061
+ description: "Delete an integration and every workflow notification rule that sends to it.",
2062
+ method: "DELETE",
2063
+ path: "/agents/v2/integrations/{id}",
2064
+ args: [
2065
+ {
2066
+ name: "id",
2067
+ flag: "id",
2068
+ type: "string",
2069
+ required: true
2070
+ }
2071
+ ],
2072
+ query: [],
2073
+ binary: false,
2074
+ readOnly: false,
2075
+ destructive: true
2076
+ },
2077
+ {
2078
+ command: "integration list",
2079
+ tool: "integrations_list",
2080
+ title: "List integrations",
2081
+ description: "List the organization's integrations: webhooks and Slack workspaces. Slack tokens are left out. Use an integration's `id` as `integrationId` in a workflow notification rule.",
2007
2082
  method: "GET",
2008
- path: "/agents/v2/models",
2083
+ path: "/agents/v2/integrations",
2009
2084
  args: [],
2010
2085
  query: [],
2011
2086
  binary: false,
@@ -2013,16 +2088,49 @@ var COMMANDS = [
2013
2088
  destructive: false
2014
2089
  },
2015
2090
  {
2016
- command: "portal-skills add",
2017
- tool: "portal_skills_add",
2018
- title: "Add portal skills",
2019
- description: "Add a portal's skills to an organization, by a `portalId` from `portal_skills_list`. Needs a Startup plan or above. Astro loads the portal's skills once it is added. Adding one the organization already has is a no-op.",
2091
+ command: "integration signing-keys",
2092
+ tool: "integration_signing_keys_get",
2093
+ title: "Get webhook signing keys",
2094
+ description: "Get the public keys that sign webhook deliveries. Verify a delivery against the key named in its `X-Asteroid-Webhook-Key-Id` header.",
2095
+ method: "GET",
2096
+ path: "/agents/v2/integrations/webhook/public-key",
2097
+ args: [],
2098
+ query: [],
2099
+ binary: false,
2100
+ readOnly: true,
2101
+ destructive: false
2102
+ },
2103
+ {
2104
+ command: "integration test",
2105
+ tool: "integration_test",
2106
+ title: "Send a test notification",
2107
+ description: "Send a test notification to an integration, such as a sample event to a webhook URL.",
2020
2108
  method: "POST",
2021
- path: "/agents/v2/portal-skills/{portalId}",
2109
+ path: "/agents/v2/integrations/{id}/test",
2022
2110
  args: [
2023
2111
  {
2024
- name: "portalId",
2025
- flag: "portal-id",
2112
+ name: "id",
2113
+ flag: "id",
2114
+ type: "string",
2115
+ required: true
2116
+ }
2117
+ ],
2118
+ query: [],
2119
+ binary: false,
2120
+ readOnly: false,
2121
+ destructive: false
2122
+ },
2123
+ {
2124
+ command: "integration update",
2125
+ tool: "integration_update",
2126
+ title: "Update a webhook integration",
2127
+ description: "Replace a webhook integration's name and configuration (`{type: webhook, url, headers}`). Slack integrations are edited in the platform app only.",
2128
+ method: "PATCH",
2129
+ path: "/agents/v2/integrations/{id}",
2130
+ args: [
2131
+ {
2132
+ name: "id",
2133
+ flag: "id",
2026
2134
  type: "string",
2027
2135
  required: true
2028
2136
  }
@@ -2030,29 +2138,90 @@ var COMMANDS = [
2030
2138
  query: [],
2031
2139
  binary: false,
2032
2140
  readOnly: false,
2141
+ destructive: false,
2142
+ body: {
2143
+ required: true,
2144
+ contentType: "application/json",
2145
+ fields: [
2146
+ {
2147
+ name: "name",
2148
+ flag: "name",
2149
+ type: "string",
2150
+ required: true
2151
+ },
2152
+ {
2153
+ name: "configuration",
2154
+ flag: "configuration",
2155
+ type: "json",
2156
+ required: true,
2157
+ description: "Configuration for an integration"
2158
+ }
2159
+ ],
2160
+ files: [],
2161
+ credentialOrganization: false
2162
+ }
2163
+ },
2164
+ {
2165
+ command: "model list",
2166
+ tool: "models_list",
2167
+ title: "List models",
2168
+ description: "List the model slugs valid for an agent node's `model` setting, with display name, description and whether the model supports computer use.",
2169
+ method: "GET",
2170
+ path: "/agents/v2/models",
2171
+ args: [],
2172
+ query: [],
2173
+ binary: false,
2174
+ readOnly: true,
2033
2175
  destructive: false
2034
2176
  },
2035
2177
  {
2036
- command: "portal-skills list",
2037
- tool: "portal_skills_list",
2038
- title: "List portal skills",
2039
- description: "List the skills for third-party portals, or only for the portals matching a portal name or task, such as `caloptima eligibility`. A portal skill is general knowledge about how a portal works: sign-in, page quirks, field mappings. Each portal comes with its skill names, and whether the organization has added it. Add one with `portal_skills_add`.",
2178
+ command: "notification list",
2179
+ tool: "notifications_list",
2180
+ title: "List notification rules",
2181
+ description: "List the workflow notification rules across the organization, by workflow name. Filter with `integrationId` or `workflowId`.",
2040
2182
  method: "GET",
2041
- path: "/astro/v2/portal-skills",
2183
+ path: "/agents/v2/notifications",
2042
2184
  args: [],
2043
2185
  query: [
2044
2186
  {
2045
- name: "query",
2046
- flag: "query",
2187
+ name: "integrationId",
2188
+ flag: "integration-id",
2189
+ type: "string",
2190
+ required: false,
2191
+ description: "Only rules that notify this integration."
2192
+ },
2193
+ {
2194
+ name: "workflowId",
2195
+ flag: "workflow-id",
2047
2196
  type: "string",
2048
2197
  required: false,
2049
- description: "A portal name or task, at least three characters. Omit to list every portal with skills."
2198
+ description: "Only this workflow's rules."
2050
2199
  }
2051
2200
  ],
2052
2201
  binary: false,
2053
2202
  readOnly: true,
2054
2203
  destructive: false
2055
2204
  },
2205
+ {
2206
+ command: "portal-skills add",
2207
+ tool: "portal_skills_add",
2208
+ title: "Add portal skills",
2209
+ description: "Add a portal's skills to an organization, by the `portalId` of a portal skill from `skills_list`. Needs a Startup plan or above. Astro loads the portal's skills once it is added, and `skill_get` serves them. Adding one the organization already has is a no-op.",
2210
+ method: "POST",
2211
+ path: "/agents/v2/portal-skills/{portalId}",
2212
+ args: [
2213
+ {
2214
+ name: "portalId",
2215
+ flag: "portal-id",
2216
+ type: "string",
2217
+ required: true
2218
+ }
2219
+ ],
2220
+ query: [],
2221
+ binary: false,
2222
+ readOnly: false,
2223
+ destructive: false
2224
+ },
2056
2225
  {
2057
2226
  command: "profile clear-cache",
2058
2227
  tool: "profile_clear_browser_cache",
@@ -3828,6 +3997,80 @@ var COMMANDS = [
3828
3997
  credentialOrganization: false
3829
3998
  }
3830
3999
  },
4000
+ {
4001
+ command: "skill get",
4002
+ tool: "skill_get",
4003
+ title: "Get skill",
4004
+ description: "Get one skill with the content of every file, SKILL.md first, in the Agent Skills format. A name resolves to the public skill, then a portal's, then the organization's; set `kind` to pick one. A portal skill needs its portal added with `portal_skills_add`. Pass `surface` `mcp` to spell the platform's commands as MCP tools.",
4005
+ method: "GET",
4006
+ path: "/astro/v2/skills/{name}",
4007
+ args: [
4008
+ {
4009
+ name: "name",
4010
+ flag: "name",
4011
+ type: "string",
4012
+ required: true
4013
+ }
4014
+ ],
4015
+ query: [
4016
+ {
4017
+ name: "kind",
4018
+ flag: "kind",
4019
+ type: "string",
4020
+ required: false,
4021
+ description: "Only a skill of this kind.",
4022
+ enum: ["public", "portal", "organization"]
4023
+ },
4024
+ {
4025
+ name: "surface",
4026
+ flag: "surface",
4027
+ type: "string",
4028
+ required: false,
4029
+ description: "The surface the skill is rendered for. Defaults to `cli`.",
4030
+ enum: ["cli", "mcp"]
4031
+ }
4032
+ ],
4033
+ binary: false,
4034
+ readOnly: true,
4035
+ destructive: false
4036
+ },
4037
+ {
4038
+ command: "skill list",
4039
+ tool: "skills_list",
4040
+ title: "List skills",
4041
+ description: "List the skills an organization can load, by kind then name: Asteroid's `public` skills, the `portal` skills (general knowledge of a third-party portal: sign-in, page quirks, field mappings) with whether the organization has added the portal, and the `organization`'s own. Filter with `kind`, or rank by a `query` such as `caloptima eligibility`. Each skill comes with its file paths and digests; `skill_get` returns the content. Add a portal with `portal_skills_add`.",
4042
+ method: "GET",
4043
+ path: "/astro/v2/skills",
4044
+ args: [],
4045
+ query: [
4046
+ {
4047
+ name: "kind",
4048
+ flag: "kind",
4049
+ type: "string",
4050
+ required: false,
4051
+ description: "Only skills of this kind.",
4052
+ enum: ["public", "portal", "organization"]
4053
+ },
4054
+ {
4055
+ name: "query",
4056
+ flag: "query",
4057
+ type: "string",
4058
+ required: false,
4059
+ description: "A skill name, portal name or task, at least three characters. Best matches first."
4060
+ },
4061
+ {
4062
+ name: "surface",
4063
+ flag: "surface",
4064
+ type: "string",
4065
+ required: false,
4066
+ description: "The surface the skills are rendered for. Defaults to `cli`.",
4067
+ enum: ["cli", "mcp"]
4068
+ }
4069
+ ],
4070
+ binary: false,
4071
+ readOnly: true,
4072
+ destructive: false
4073
+ },
3831
4074
  {
3832
4075
  command: "tag create",
3833
4076
  tool: "workflow_tags_create",
@@ -4794,6 +5037,150 @@ var COMMANDS = [
4794
5037
  readOnly: true,
4795
5038
  destructive: false
4796
5039
  },
5040
+ {
5041
+ command: "workflow notification create",
5042
+ tool: "workflow_notification_create",
5043
+ title: "Add a notification rule to a workflow",
5044
+ description: "Send a workflow's events to an integration. `eventRules` omitted sends every event, `[]` sends none, a list sends only matching events (see event_types_list for event types and filter fields). `metadataFilter` sends only executions whose metadata matches every key and value. One rule per integration per workflow.",
5045
+ method: "POST",
5046
+ path: "/agents/v2/workflows/{workflowId}/notifications",
5047
+ args: [
5048
+ {
5049
+ name: "workflowId",
5050
+ flag: "workflow-id",
5051
+ type: "string",
5052
+ required: true
5053
+ }
5054
+ ],
5055
+ query: [],
5056
+ binary: false,
5057
+ readOnly: false,
5058
+ destructive: false,
5059
+ body: {
5060
+ required: true,
5061
+ contentType: "application/json",
5062
+ fields: [
5063
+ {
5064
+ name: "integrationId",
5065
+ flag: "integration-id",
5066
+ type: "string",
5067
+ required: true
5068
+ },
5069
+ {
5070
+ name: "eventRules",
5071
+ flag: "event-rules",
5072
+ type: "json",
5073
+ required: false,
5074
+ description: "Event notification rules. Three possible states: null/omitted (notify on ALL events), [] (notify on NO events), [A,B,C] (notify only on specific events)"
5075
+ },
5076
+ {
5077
+ name: "metadataFilter",
5078
+ flag: "metadata-filter",
5079
+ type: "json",
5080
+ required: false,
5081
+ description: "Metadata filter for execution routing. Only sends notifications for executions whose metadata matches all specified key-value pairs. Null or omitted means no filtering.",
5082
+ record: "string"
5083
+ }
5084
+ ],
5085
+ files: [],
5086
+ credentialOrganization: false
5087
+ }
5088
+ },
5089
+ {
5090
+ command: "workflow notification delete",
5091
+ tool: "workflow_notification_delete",
5092
+ title: "Remove a workflow notification rule",
5093
+ description: "Stop sending a workflow's events to one integration.",
5094
+ method: "DELETE",
5095
+ path: "/agents/v2/workflows/{workflowId}/notifications/{integrationId}",
5096
+ args: [
5097
+ {
5098
+ name: "workflowId",
5099
+ flag: "workflow-id",
5100
+ type: "string",
5101
+ required: true
5102
+ },
5103
+ {
5104
+ name: "integrationId",
5105
+ flag: "integration-id",
5106
+ type: "string",
5107
+ required: true
5108
+ }
5109
+ ],
5110
+ query: [],
5111
+ binary: false,
5112
+ readOnly: false,
5113
+ destructive: true
5114
+ },
5115
+ {
5116
+ command: "workflow notification list",
5117
+ tool: "workflow_notifications_list",
5118
+ title: "List a workflow's notification rules",
5119
+ description: "List the notification rules of a workflow. Each sends events to one integration.",
5120
+ method: "GET",
5121
+ path: "/agents/v2/workflows/{workflowId}/notifications",
5122
+ args: [
5123
+ {
5124
+ name: "workflowId",
5125
+ flag: "workflow-id",
5126
+ type: "string",
5127
+ required: true
5128
+ }
5129
+ ],
5130
+ query: [],
5131
+ binary: false,
5132
+ readOnly: true,
5133
+ destructive: false
5134
+ },
5135
+ {
5136
+ command: "workflow notification update",
5137
+ tool: "workflow_notification_update",
5138
+ title: "Update a workflow notification rule",
5139
+ description: "Replace the `eventRules` and `metadataFilter` of the workflow's rule for one integration. Omitted fields are cleared.",
5140
+ method: "PATCH",
5141
+ path: "/agents/v2/workflows/{workflowId}/notifications/{integrationId}",
5142
+ args: [
5143
+ {
5144
+ name: "workflowId",
5145
+ flag: "workflow-id",
5146
+ type: "string",
5147
+ required: true
5148
+ },
5149
+ {
5150
+ name: "integrationId",
5151
+ flag: "integration-id",
5152
+ type: "string",
5153
+ required: true
5154
+ }
5155
+ ],
5156
+ query: [],
5157
+ binary: false,
5158
+ readOnly: false,
5159
+ destructive: false,
5160
+ body: {
5161
+ required: true,
5162
+ contentType: "application/json",
5163
+ fields: [
5164
+ {
5165
+ name: "eventRules",
5166
+ flag: "event-rules",
5167
+ type: "json",
5168
+ required: false,
5169
+ description: "Event notification rules. Three possible states: null/omitted (notify on ALL events), [] (notify on NO events), [A,B,C] (notify only on specific events)"
5170
+ },
5171
+ {
5172
+ name: "metadataFilter",
5173
+ flag: "metadata-filter",
5174
+ type: "json",
5175
+ required: false,
5176
+ description: "Metadata filter for execution routing. Only sends notifications for executions whose metadata matches all specified key-value pairs. Null or omitted clears any existing filter.",
5177
+ record: "string"
5178
+ }
5179
+ ],
5180
+ files: [],
5181
+ credentialOrganization: false
5182
+ }
5183
+ },
4797
5184
  {
4798
5185
  command: "workflow pull",
4799
5186
  tool: "workflow_files_list",
@@ -6871,7 +7258,7 @@ var ApiError = class extends Error {
6871
7258
  status;
6872
7259
  body;
6873
7260
  };
6874
- var VERSION = "1.9.110";
7261
+ var VERSION = "1.9.115";
6875
7262
  function problem(status, body, fallback) {
6876
7263
  if (body && typeof body === "object") {
6877
7264
  const record2 = body;
package/dist/core.js CHANGED
@@ -1183,6 +1183,19 @@ var COMMANDS = [
1183
1183
  readOnly: false,
1184
1184
  destructive: true
1185
1185
  },
1186
+ {
1187
+ command: "event-type list",
1188
+ tool: "event_types_list",
1189
+ title: "List notification event types",
1190
+ description: "List the events a workflow notification rule can match, with the fields each one can filter on, their operators and valid values.",
1191
+ method: "GET",
1192
+ path: "/agents/v2/event-types",
1193
+ args: [],
1194
+ query: [],
1195
+ binary: false,
1196
+ readOnly: true,
1197
+ destructive: false
1198
+ },
1186
1199
  {
1187
1200
  command: "execution activities",
1188
1201
  tool: "execution_activities_get",
@@ -2021,12 +2034,74 @@ var COMMANDS = [
2021
2034
  destructive: false
2022
2035
  },
2023
2036
  {
2024
- command: "model list",
2025
- tool: "models_list",
2026
- title: "List models",
2027
- description: "List the model slugs valid for an agent node's `model` setting, with display name, description and whether the model supports computer use.",
2037
+ command: "integration create",
2038
+ tool: "integration_create",
2039
+ title: "Create a webhook integration",
2040
+ description: "Create a webhook integration. Set `type` to `webhook` and `configuration` to `{type: webhook, url, headers}`. Put a shared secret in a header, such as `Authorization`. Asteroid signs every delivery; verify it with integration_signing_keys_get. Slack is added in the platform app only.",
2041
+ method: "POST",
2042
+ path: "/agents/v2/integrations",
2043
+ args: [],
2044
+ query: [],
2045
+ binary: false,
2046
+ readOnly: false,
2047
+ destructive: false,
2048
+ body: {
2049
+ required: true,
2050
+ contentType: "application/json",
2051
+ fields: [
2052
+ {
2053
+ name: "name",
2054
+ flag: "name",
2055
+ type: "string",
2056
+ required: true
2057
+ },
2058
+ {
2059
+ name: "type",
2060
+ flag: "type",
2061
+ type: "string",
2062
+ required: true,
2063
+ description: "The type of the integration",
2064
+ enum: ["webhook", "slack", "asteroid_management"]
2065
+ },
2066
+ {
2067
+ name: "configuration",
2068
+ flag: "configuration",
2069
+ type: "json",
2070
+ required: true,
2071
+ description: "Configuration for an integration"
2072
+ }
2073
+ ],
2074
+ files: [],
2075
+ credentialOrganization: true
2076
+ }
2077
+ },
2078
+ {
2079
+ command: "integration delete",
2080
+ tool: "integration_delete",
2081
+ title: "Delete an integration",
2082
+ description: "Delete an integration and every workflow notification rule that sends to it.",
2083
+ method: "DELETE",
2084
+ path: "/agents/v2/integrations/{id}",
2085
+ args: [
2086
+ {
2087
+ name: "id",
2088
+ flag: "id",
2089
+ type: "string",
2090
+ required: true
2091
+ }
2092
+ ],
2093
+ query: [],
2094
+ binary: false,
2095
+ readOnly: false,
2096
+ destructive: true
2097
+ },
2098
+ {
2099
+ command: "integration list",
2100
+ tool: "integrations_list",
2101
+ title: "List integrations",
2102
+ description: "List the organization's integrations: webhooks and Slack workspaces. Slack tokens are left out. Use an integration's `id` as `integrationId` in a workflow notification rule.",
2028
2103
  method: "GET",
2029
- path: "/agents/v2/models",
2104
+ path: "/agents/v2/integrations",
2030
2105
  args: [],
2031
2106
  query: [],
2032
2107
  binary: false,
@@ -2034,16 +2109,49 @@ var COMMANDS = [
2034
2109
  destructive: false
2035
2110
  },
2036
2111
  {
2037
- command: "portal-skills add",
2038
- tool: "portal_skills_add",
2039
- title: "Add portal skills",
2040
- description: "Add a portal's skills to an organization, by a `portalId` from `portal_skills_list`. Needs a Startup plan or above. Astro loads the portal's skills once it is added. Adding one the organization already has is a no-op.",
2112
+ command: "integration signing-keys",
2113
+ tool: "integration_signing_keys_get",
2114
+ title: "Get webhook signing keys",
2115
+ description: "Get the public keys that sign webhook deliveries. Verify a delivery against the key named in its `X-Asteroid-Webhook-Key-Id` header.",
2116
+ method: "GET",
2117
+ path: "/agents/v2/integrations/webhook/public-key",
2118
+ args: [],
2119
+ query: [],
2120
+ binary: false,
2121
+ readOnly: true,
2122
+ destructive: false
2123
+ },
2124
+ {
2125
+ command: "integration test",
2126
+ tool: "integration_test",
2127
+ title: "Send a test notification",
2128
+ description: "Send a test notification to an integration, such as a sample event to a webhook URL.",
2041
2129
  method: "POST",
2042
- path: "/agents/v2/portal-skills/{portalId}",
2130
+ path: "/agents/v2/integrations/{id}/test",
2043
2131
  args: [
2044
2132
  {
2045
- name: "portalId",
2046
- flag: "portal-id",
2133
+ name: "id",
2134
+ flag: "id",
2135
+ type: "string",
2136
+ required: true
2137
+ }
2138
+ ],
2139
+ query: [],
2140
+ binary: false,
2141
+ readOnly: false,
2142
+ destructive: false
2143
+ },
2144
+ {
2145
+ command: "integration update",
2146
+ tool: "integration_update",
2147
+ title: "Update a webhook integration",
2148
+ description: "Replace a webhook integration's name and configuration (`{type: webhook, url, headers}`). Slack integrations are edited in the platform app only.",
2149
+ method: "PATCH",
2150
+ path: "/agents/v2/integrations/{id}",
2151
+ args: [
2152
+ {
2153
+ name: "id",
2154
+ flag: "id",
2047
2155
  type: "string",
2048
2156
  required: true
2049
2157
  }
@@ -2051,29 +2159,90 @@ var COMMANDS = [
2051
2159
  query: [],
2052
2160
  binary: false,
2053
2161
  readOnly: false,
2162
+ destructive: false,
2163
+ body: {
2164
+ required: true,
2165
+ contentType: "application/json",
2166
+ fields: [
2167
+ {
2168
+ name: "name",
2169
+ flag: "name",
2170
+ type: "string",
2171
+ required: true
2172
+ },
2173
+ {
2174
+ name: "configuration",
2175
+ flag: "configuration",
2176
+ type: "json",
2177
+ required: true,
2178
+ description: "Configuration for an integration"
2179
+ }
2180
+ ],
2181
+ files: [],
2182
+ credentialOrganization: false
2183
+ }
2184
+ },
2185
+ {
2186
+ command: "model list",
2187
+ tool: "models_list",
2188
+ title: "List models",
2189
+ description: "List the model slugs valid for an agent node's `model` setting, with display name, description and whether the model supports computer use.",
2190
+ method: "GET",
2191
+ path: "/agents/v2/models",
2192
+ args: [],
2193
+ query: [],
2194
+ binary: false,
2195
+ readOnly: true,
2054
2196
  destructive: false
2055
2197
  },
2056
2198
  {
2057
- command: "portal-skills list",
2058
- tool: "portal_skills_list",
2059
- title: "List portal skills",
2060
- description: "List the skills for third-party portals, or only for the portals matching a portal name or task, such as `caloptima eligibility`. A portal skill is general knowledge about how a portal works: sign-in, page quirks, field mappings. Each portal comes with its skill names, and whether the organization has added it. Add one with `portal_skills_add`.",
2199
+ command: "notification list",
2200
+ tool: "notifications_list",
2201
+ title: "List notification rules",
2202
+ description: "List the workflow notification rules across the organization, by workflow name. Filter with `integrationId` or `workflowId`.",
2061
2203
  method: "GET",
2062
- path: "/astro/v2/portal-skills",
2204
+ path: "/agents/v2/notifications",
2063
2205
  args: [],
2064
2206
  query: [
2065
2207
  {
2066
- name: "query",
2067
- flag: "query",
2208
+ name: "integrationId",
2209
+ flag: "integration-id",
2210
+ type: "string",
2211
+ required: false,
2212
+ description: "Only rules that notify this integration."
2213
+ },
2214
+ {
2215
+ name: "workflowId",
2216
+ flag: "workflow-id",
2068
2217
  type: "string",
2069
2218
  required: false,
2070
- description: "A portal name or task, at least three characters. Omit to list every portal with skills."
2219
+ description: "Only this workflow's rules."
2071
2220
  }
2072
2221
  ],
2073
2222
  binary: false,
2074
2223
  readOnly: true,
2075
2224
  destructive: false
2076
2225
  },
2226
+ {
2227
+ command: "portal-skills add",
2228
+ tool: "portal_skills_add",
2229
+ title: "Add portal skills",
2230
+ description: "Add a portal's skills to an organization, by the `portalId` of a portal skill from `skills_list`. Needs a Startup plan or above. Astro loads the portal's skills once it is added, and `skill_get` serves them. Adding one the organization already has is a no-op.",
2231
+ method: "POST",
2232
+ path: "/agents/v2/portal-skills/{portalId}",
2233
+ args: [
2234
+ {
2235
+ name: "portalId",
2236
+ flag: "portal-id",
2237
+ type: "string",
2238
+ required: true
2239
+ }
2240
+ ],
2241
+ query: [],
2242
+ binary: false,
2243
+ readOnly: false,
2244
+ destructive: false
2245
+ },
2077
2246
  {
2078
2247
  command: "profile clear-cache",
2079
2248
  tool: "profile_clear_browser_cache",
@@ -3849,6 +4018,80 @@ var COMMANDS = [
3849
4018
  credentialOrganization: false
3850
4019
  }
3851
4020
  },
4021
+ {
4022
+ command: "skill get",
4023
+ tool: "skill_get",
4024
+ title: "Get skill",
4025
+ description: "Get one skill with the content of every file, SKILL.md first, in the Agent Skills format. A name resolves to the public skill, then a portal's, then the organization's; set `kind` to pick one. A portal skill needs its portal added with `portal_skills_add`. Pass `surface` `mcp` to spell the platform's commands as MCP tools.",
4026
+ method: "GET",
4027
+ path: "/astro/v2/skills/{name}",
4028
+ args: [
4029
+ {
4030
+ name: "name",
4031
+ flag: "name",
4032
+ type: "string",
4033
+ required: true
4034
+ }
4035
+ ],
4036
+ query: [
4037
+ {
4038
+ name: "kind",
4039
+ flag: "kind",
4040
+ type: "string",
4041
+ required: false,
4042
+ description: "Only a skill of this kind.",
4043
+ enum: ["public", "portal", "organization"]
4044
+ },
4045
+ {
4046
+ name: "surface",
4047
+ flag: "surface",
4048
+ type: "string",
4049
+ required: false,
4050
+ description: "The surface the skill is rendered for. Defaults to `cli`.",
4051
+ enum: ["cli", "mcp"]
4052
+ }
4053
+ ],
4054
+ binary: false,
4055
+ readOnly: true,
4056
+ destructive: false
4057
+ },
4058
+ {
4059
+ command: "skill list",
4060
+ tool: "skills_list",
4061
+ title: "List skills",
4062
+ description: "List the skills an organization can load, by kind then name: Asteroid's `public` skills, the `portal` skills (general knowledge of a third-party portal: sign-in, page quirks, field mappings) with whether the organization has added the portal, and the `organization`'s own. Filter with `kind`, or rank by a `query` such as `caloptima eligibility`. Each skill comes with its file paths and digests; `skill_get` returns the content. Add a portal with `portal_skills_add`.",
4063
+ method: "GET",
4064
+ path: "/astro/v2/skills",
4065
+ args: [],
4066
+ query: [
4067
+ {
4068
+ name: "kind",
4069
+ flag: "kind",
4070
+ type: "string",
4071
+ required: false,
4072
+ description: "Only skills of this kind.",
4073
+ enum: ["public", "portal", "organization"]
4074
+ },
4075
+ {
4076
+ name: "query",
4077
+ flag: "query",
4078
+ type: "string",
4079
+ required: false,
4080
+ description: "A skill name, portal name or task, at least three characters. Best matches first."
4081
+ },
4082
+ {
4083
+ name: "surface",
4084
+ flag: "surface",
4085
+ type: "string",
4086
+ required: false,
4087
+ description: "The surface the skills are rendered for. Defaults to `cli`.",
4088
+ enum: ["cli", "mcp"]
4089
+ }
4090
+ ],
4091
+ binary: false,
4092
+ readOnly: true,
4093
+ destructive: false
4094
+ },
3852
4095
  {
3853
4096
  command: "tag create",
3854
4097
  tool: "workflow_tags_create",
@@ -4815,6 +5058,150 @@ var COMMANDS = [
4815
5058
  readOnly: true,
4816
5059
  destructive: false
4817
5060
  },
5061
+ {
5062
+ command: "workflow notification create",
5063
+ tool: "workflow_notification_create",
5064
+ title: "Add a notification rule to a workflow",
5065
+ description: "Send a workflow's events to an integration. `eventRules` omitted sends every event, `[]` sends none, a list sends only matching events (see event_types_list for event types and filter fields). `metadataFilter` sends only executions whose metadata matches every key and value. One rule per integration per workflow.",
5066
+ method: "POST",
5067
+ path: "/agents/v2/workflows/{workflowId}/notifications",
5068
+ args: [
5069
+ {
5070
+ name: "workflowId",
5071
+ flag: "workflow-id",
5072
+ type: "string",
5073
+ required: true
5074
+ }
5075
+ ],
5076
+ query: [],
5077
+ binary: false,
5078
+ readOnly: false,
5079
+ destructive: false,
5080
+ body: {
5081
+ required: true,
5082
+ contentType: "application/json",
5083
+ fields: [
5084
+ {
5085
+ name: "integrationId",
5086
+ flag: "integration-id",
5087
+ type: "string",
5088
+ required: true
5089
+ },
5090
+ {
5091
+ name: "eventRules",
5092
+ flag: "event-rules",
5093
+ type: "json",
5094
+ required: false,
5095
+ description: "Event notification rules. Three possible states: null/omitted (notify on ALL events), [] (notify on NO events), [A,B,C] (notify only on specific events)"
5096
+ },
5097
+ {
5098
+ name: "metadataFilter",
5099
+ flag: "metadata-filter",
5100
+ type: "json",
5101
+ required: false,
5102
+ description: "Metadata filter for execution routing. Only sends notifications for executions whose metadata matches all specified key-value pairs. Null or omitted means no filtering.",
5103
+ record: "string"
5104
+ }
5105
+ ],
5106
+ files: [],
5107
+ credentialOrganization: false
5108
+ }
5109
+ },
5110
+ {
5111
+ command: "workflow notification delete",
5112
+ tool: "workflow_notification_delete",
5113
+ title: "Remove a workflow notification rule",
5114
+ description: "Stop sending a workflow's events to one integration.",
5115
+ method: "DELETE",
5116
+ path: "/agents/v2/workflows/{workflowId}/notifications/{integrationId}",
5117
+ args: [
5118
+ {
5119
+ name: "workflowId",
5120
+ flag: "workflow-id",
5121
+ type: "string",
5122
+ required: true
5123
+ },
5124
+ {
5125
+ name: "integrationId",
5126
+ flag: "integration-id",
5127
+ type: "string",
5128
+ required: true
5129
+ }
5130
+ ],
5131
+ query: [],
5132
+ binary: false,
5133
+ readOnly: false,
5134
+ destructive: true
5135
+ },
5136
+ {
5137
+ command: "workflow notification list",
5138
+ tool: "workflow_notifications_list",
5139
+ title: "List a workflow's notification rules",
5140
+ description: "List the notification rules of a workflow. Each sends events to one integration.",
5141
+ method: "GET",
5142
+ path: "/agents/v2/workflows/{workflowId}/notifications",
5143
+ args: [
5144
+ {
5145
+ name: "workflowId",
5146
+ flag: "workflow-id",
5147
+ type: "string",
5148
+ required: true
5149
+ }
5150
+ ],
5151
+ query: [],
5152
+ binary: false,
5153
+ readOnly: true,
5154
+ destructive: false
5155
+ },
5156
+ {
5157
+ command: "workflow notification update",
5158
+ tool: "workflow_notification_update",
5159
+ title: "Update a workflow notification rule",
5160
+ description: "Replace the `eventRules` and `metadataFilter` of the workflow's rule for one integration. Omitted fields are cleared.",
5161
+ method: "PATCH",
5162
+ path: "/agents/v2/workflows/{workflowId}/notifications/{integrationId}",
5163
+ args: [
5164
+ {
5165
+ name: "workflowId",
5166
+ flag: "workflow-id",
5167
+ type: "string",
5168
+ required: true
5169
+ },
5170
+ {
5171
+ name: "integrationId",
5172
+ flag: "integration-id",
5173
+ type: "string",
5174
+ required: true
5175
+ }
5176
+ ],
5177
+ query: [],
5178
+ binary: false,
5179
+ readOnly: false,
5180
+ destructive: false,
5181
+ body: {
5182
+ required: true,
5183
+ contentType: "application/json",
5184
+ fields: [
5185
+ {
5186
+ name: "eventRules",
5187
+ flag: "event-rules",
5188
+ type: "json",
5189
+ required: false,
5190
+ description: "Event notification rules. Three possible states: null/omitted (notify on ALL events), [] (notify on NO events), [A,B,C] (notify only on specific events)"
5191
+ },
5192
+ {
5193
+ name: "metadataFilter",
5194
+ flag: "metadata-filter",
5195
+ type: "json",
5196
+ required: false,
5197
+ description: "Metadata filter for execution routing. Only sends notifications for executions whose metadata matches all specified key-value pairs. Null or omitted clears any existing filter.",
5198
+ record: "string"
5199
+ }
5200
+ ],
5201
+ files: [],
5202
+ credentialOrganization: false
5203
+ }
5204
+ },
4818
5205
  {
4819
5206
  command: "workflow pull",
4820
5207
  tool: "workflow_files_list",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@asteroidai/cli",
3
- "version": "1.9.110",
3
+ "version": "1.9.115",
4
4
  "description": "The asteroid command-line interface for the Asteroid platform.",
5
5
  "type": "module",
6
6
  "license": "MIT",