@deepraxis/cli 0.1.0-dev.438035e → 0.1.0-dev.449ac38

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 (5) hide show
  1. package/COMMANDS.md +375 -0
  2. package/LICENSE +202 -67
  3. package/README.md +200 -36
  4. package/dist/praxis.js +348 -5
  5. package/package.json +22 -13
package/dist/praxis.js CHANGED
@@ -101,7 +101,7 @@ var operations = [
101
101
  type: "array",
102
102
  itemType: "object",
103
103
  required: false,
104
- description: "MCP servers this agent connects to. Maximum 20. Names must be unique\nwithin the array. Every server must be referenced by an `mcp_toolset` in\n`tools`; unreferenced servers are rejected. See the\n[MCP connector guide](https://platform.claude.com/docs/en/managed-agents/mcp-connector)."
104
+ description: "Praxis extension: HTTP, SSE or trusted stdio MCP servers paired with mcp_toolset entries and saved with the agent version."
105
105
  },
106
106
  {
107
107
  name: "metadata",
@@ -241,7 +241,7 @@ across all toolsets allowed.`
241
241
  type: "array",
242
242
  itemType: "object",
243
243
  required: false,
244
- description: "MCP servers. Full replacement. Omit to preserve; send empty array or\n`null` to clear. Names must be unique. Maximum 20. Every server must be\nreferenced by an `mcp_toolset` in the agent's resulting `tools`; unreferenced\nservers are rejected. See the\n[MCP connector guide](https://platform.claude.com/docs/en/managed-agents/mcp-connector)."
244
+ description: "Praxis extension: HTTP, SSE or trusted stdio MCP servers paired with mcp_toolset entries and saved with the agent version."
245
245
  },
246
246
  {
247
247
  name: "metadata",
@@ -1492,6 +1492,25 @@ owning account only.`
1492
1492
  type: "string",
1493
1493
  required: false,
1494
1494
  description: "Opaque pagination cursor: pass the next_page value of the previous response unchanged. Omit it for the first page. A cursor from a different query or a malformed one returns 400."
1495
+ },
1496
+ {
1497
+ name: "external_user_id",
1498
+ type: "string",
1499
+ required: false,
1500
+ description: "Filter by an exact end-user identifier (1–128 characters: A-Z, a-z, 0-9, underscore, dot, colon, at sign or hyphen). Keep this filter unchanged when following page."
1501
+ },
1502
+ {
1503
+ name: "source",
1504
+ type: "string",
1505
+ enum: [
1506
+ "kit",
1507
+ "iframe",
1508
+ "hosted",
1509
+ "api",
1510
+ "automation"
1511
+ ],
1512
+ required: false,
1513
+ description: "Filter by session origin: kit, iframe, hosted, api or automation. Keep this filter unchanged when following page."
1495
1514
  }
1496
1515
  ]
1497
1516
  },
@@ -1499,7 +1518,7 @@ owning account only.`
1499
1518
  resource: "agent.sessions",
1500
1519
  method: "create",
1501
1520
  summary: "Create session",
1502
- description: `Create a session: one conversation with an agent, running on a machine. Pass agent as an agent id (latest version) or {id, version, type:"agent"}. Unlike Anthropic Managed Agents, omit environment_id to get a light machine, unless computer_id (explicit, or the agent's default) selects a Computer; pass environment_id for a sandbox recipe. Optional model must be one of the agent's allowed models; optional thinking is {effort: low|medium|high|xhigh|none} or null, where null inherits the agent default and then the model default (none requires the model to allow disabling thinking). Selections are saved before initial_events run; invalid ones return 400 invalid_request_error. Inline agent overrides are not supported. Supports vault_ids, up to 50, owned by the current organization and not archived; credential injection is deferred to a later version. Omitted budget defaults to USD 20; null removes the limit, and a limit object uses a positive integer string of USD cents. Up to 500 file resources can be attached. Use initial_events to send a first user.message in this request, or send messages afterwards with sessions.events.send. The returned status can still be idle before initial events run; read agent.message and the subsequent session.status_idle event to confirm completion.`,
1521
+ description: `Create a session: one conversation with an agent, running on a machine. Pass agent as an agent id (latest version) or {id, version, type:"agent"}. Unlike Anthropic Managed Agents, omit environment_id to get a light machine, unless computer_id (explicit, or the agent's default) selects a Computer; pass environment_id for a sandbox recipe. Optional model must be one of the agent's allowed models; optional thinking is {effort: low|medium|high|xhigh|max|none} or null, where null inherits the agent default and then the model default (none requires the model to allow disabling thinking). Selections are saved before initial_events run; invalid ones return 400 invalid_request_error. Inline agent overrides are not supported. Supports vault_ids, up to 50, owned by the current organization and not archived; credential injection is deferred to a later version. Omitted budget defaults to USD 20; null removes the limit, and a limit object uses a positive integer string of USD cents. Up to 500 file resources can be attached. Use initial_events to send a first user.message in this request, or send messages afterwards with sessions.events.send. The returned status can still be idle before initial events run; read agent.message and the subsequent session.status_idle event to confirm completion.`,
1503
1522
  http: "POST",
1504
1523
  path: "/agent/v1/sessions",
1505
1524
  streaming: "no",
@@ -2159,6 +2178,73 @@ Available only on /agent/v1. Use the message_id field from own-face events, not
2159
2178
  }
2160
2179
  ]
2161
2180
  },
2181
+ {
2182
+ resource: "agent.sessions.runs",
2183
+ method: "deleteFeedback",
2184
+ summary: "Delete Run Feedback",
2185
+ description: `Remove the rating and comment for a run.
2186
+
2187
+ Own-face extension. Use the session id from session creation or listing and the run_id from its events. Requires a readable session and a run belonging to it. Idempotent; returns 204 even when no feedback exists. End users can delete feedback only for their own sessions. Does not delete the run or messages, enter model context, or start another run.`,
2188
+ http: "DELETE",
2189
+ path: "/agent/v1/sessions/{session_id}/runs/{run_id}/feedback",
2190
+ streaming: "no",
2191
+ pagination: false,
2192
+ pathParams: [
2193
+ {
2194
+ name: "session_id",
2195
+ sdkName: "session_id"
2196
+ },
2197
+ {
2198
+ name: "run_id",
2199
+ sdkName: "run_id"
2200
+ }
2201
+ ],
2202
+ query: []
2203
+ },
2204
+ {
2205
+ resource: "agent.sessions.runs.feedback",
2206
+ method: "create",
2207
+ summary: "Set Run Feedback",
2208
+ description: `Submit thumbs up or thumbs down for a run, with an optional comment.
2209
+
2210
+ Own-face extension. Use a readable session and a run_id from its events. Each submission replaces the previous rating and comment; omitted or null comment clears it, while created_at is preserved. Comments allow at most 2000 Unicode characters. End users can submit only for their own sessions. Feedback never enters model context or starts a run. For example, submit {"rating":"positive","comment":"Helpful"}. POST follows Managed Agents resource update conventions; the resource remains unique per session and run.`,
2211
+ http: "POST",
2212
+ path: "/agent/v1/sessions/{session_id}/runs/{run_id}/feedback",
2213
+ streaming: "no",
2214
+ pagination: false,
2215
+ pathParams: [
2216
+ {
2217
+ name: "session_id",
2218
+ sdkName: "session_id"
2219
+ },
2220
+ {
2221
+ name: "run_id",
2222
+ sdkName: "run_id"
2223
+ }
2224
+ ],
2225
+ query: [],
2226
+ body: {
2227
+ required: true,
2228
+ fields: [
2229
+ {
2230
+ name: "rating",
2231
+ type: "string",
2232
+ enum: [
2233
+ "positive",
2234
+ "negative"
2235
+ ],
2236
+ required: true,
2237
+ description: "positive means thumbs up; negative means thumbs down for this run."
2238
+ },
2239
+ {
2240
+ name: "comment",
2241
+ type: "string",
2242
+ required: false,
2243
+ description: "Optional comment, at most 2000 Unicode characters. Omit or send null to clear the previous comment."
2244
+ }
2245
+ ]
2246
+ }
2247
+ },
2162
2248
  {
2163
2249
  resource: "agent.sessions.threads",
2164
2250
  method: "list",
@@ -11599,6 +11685,43 @@ for more details.`
11599
11685
  ],
11600
11686
  query: []
11601
11687
  },
11688
+ {
11689
+ resource: "organization.feedback",
11690
+ method: "list",
11691
+ summary: "List your organization's feedback",
11692
+ description: "Feedback submitted by your organization, newest first, with phase and unread state. Filter by phase and search titles and message text (case-insensitive). Page with next_page. Requires a valid API key, Console session, or machine token of the organization.",
11693
+ http: "GET",
11694
+ path: "/organization/v1/feedback",
11695
+ streaming: "no",
11696
+ pagination: false,
11697
+ pathParams: [],
11698
+ query: [
11699
+ {
11700
+ name: "phase",
11701
+ type: "string",
11702
+ required: false,
11703
+ description: "Only feedback in these phases: a comma-separated list of open, awaiting_customer, in_progress, resolved or closed, for example open,in_progress; see the phase field of a feedback for what each means."
11704
+ },
11705
+ {
11706
+ name: "query",
11707
+ type: "string",
11708
+ required: false,
11709
+ description: "Case-insensitive text matched against titles and message bodies."
11710
+ },
11711
+ {
11712
+ name: "limit",
11713
+ type: "integer",
11714
+ required: false,
11715
+ description: "Items per page, 1 to 100."
11716
+ },
11717
+ {
11718
+ name: "page",
11719
+ type: "string",
11720
+ required: false,
11721
+ description: "Opaque cursor from next_page of the previous response."
11722
+ }
11723
+ ]
11724
+ },
11602
11725
  {
11603
11726
  resource: "organization.feedback",
11604
11727
  method: "create",
@@ -11643,6 +11766,18 @@ for more details.`
11643
11766
  required: false,
11644
11767
  description: "X-Request-Id from the failed response or the related error event ID."
11645
11768
  },
11769
+ {
11770
+ name: "title",
11771
+ type: "string",
11772
+ required: false,
11773
+ description: "Short summary shown in the feedback list; at most 200 Unicode code points."
11774
+ },
11775
+ {
11776
+ name: "type",
11777
+ type: "string",
11778
+ required: false,
11779
+ description: "Feedback type key enabled in the help settings, such as issue, suggestion, billing or other. Unknown or disabled keys are rejected with INVALID_PARAMS."
11780
+ },
11646
11781
  {
11647
11782
  name: "tags",
11648
11783
  type: "object",
@@ -11675,6 +11810,100 @@ for more details.`
11675
11810
  ]
11676
11811
  }
11677
11812
  },
11813
+ {
11814
+ resource: "organization.feedback.counts",
11815
+ method: "list",
11816
+ summary: "Count your organization's feedback by phase",
11817
+ description: "How many of your organization's feedback are in each phase, for status tabs. Counts never include another organization's feedback.",
11818
+ http: "GET",
11819
+ path: "/organization/v1/feedback/counts",
11820
+ streaming: "no",
11821
+ pagination: false,
11822
+ pathParams: [],
11823
+ query: []
11824
+ },
11825
+ {
11826
+ resource: "organization.feedback",
11827
+ method: "retrieve",
11828
+ summary: "Get one of your organization's feedback",
11829
+ description: "Read one feedback submitted by your organization with its current phase and first-response timing. Another organization's feedback answers 404 FEEDBACK_NOT_FOUND exactly like a missing one.",
11830
+ http: "GET",
11831
+ path: "/organization/v1/feedback/{id}",
11832
+ streaming: "no",
11833
+ pagination: false,
11834
+ pathParams: [
11835
+ {
11836
+ name: "id",
11837
+ sdkName: "id"
11838
+ }
11839
+ ],
11840
+ query: []
11841
+ },
11842
+ {
11843
+ resource: "organization.feedback.messages",
11844
+ method: "list",
11845
+ summary: "List the messages of a feedback",
11846
+ description: "The conversation of one feedback in time order: your messages, support replies and system events. Internal support notes are never returned. Page with next_page.",
11847
+ http: "GET",
11848
+ path: "/organization/v1/feedback/{id}/messages",
11849
+ streaming: "no",
11850
+ pagination: false,
11851
+ pathParams: [
11852
+ {
11853
+ name: "id",
11854
+ sdkName: "id"
11855
+ }
11856
+ ],
11857
+ query: [
11858
+ {
11859
+ name: "limit",
11860
+ type: "integer",
11861
+ required: false,
11862
+ description: "Items per page, 1 to 100."
11863
+ },
11864
+ {
11865
+ name: "page",
11866
+ type: "string",
11867
+ required: false,
11868
+ description: "Opaque cursor from next_page of the previous response."
11869
+ }
11870
+ ]
11871
+ },
11872
+ {
11873
+ resource: "organization.feedback.messages",
11874
+ method: "create",
11875
+ summary: "Reply on a feedback",
11876
+ description: "Add your message to a feedback conversation, for example to answer a question from support. A reply while the phase is awaiting_customer moves it to in_progress and notifies support.",
11877
+ http: "POST",
11878
+ path: "/organization/v1/feedback/{id}/messages",
11879
+ streaming: "no",
11880
+ pagination: false,
11881
+ pathParams: [
11882
+ {
11883
+ name: "id",
11884
+ sdkName: "id"
11885
+ }
11886
+ ],
11887
+ query: [],
11888
+ body: {
11889
+ required: true,
11890
+ fields: [
11891
+ {
11892
+ name: "body",
11893
+ type: "string",
11894
+ required: true,
11895
+ description: "Markdown text; at most 4096 Unicode code points."
11896
+ },
11897
+ {
11898
+ name: "attachments",
11899
+ type: "array",
11900
+ itemType: "object",
11901
+ required: false,
11902
+ description: "Up to five attachments; decoded bytes must not exceed 10 MiB each or 20 MiB in total."
11903
+ }
11904
+ ]
11905
+ }
11906
+ },
11678
11907
  {
11679
11908
  resource: "organization.usage",
11680
11909
  method: "list",
@@ -14897,6 +15126,36 @@ var createClient = (config = {}) => {
14897
15126
  var client = createClient(createConfig({ baseUrl: "https://api.deepraxis.com" }));
14898
15127
 
14899
15128
  // ../../packages/sdk/typescript/src/generated/sdk.gen.ts
15129
+ var deleteRunFeedback = (options) => (options.client ?? client).delete({
15130
+ security: [{
15131
+ key: "BearerAuth",
15132
+ scheme: "bearer",
15133
+ type: "http"
15134
+ }, {
15135
+ key: "ApiKeyAuth",
15136
+ name: "X-API-Key",
15137
+ type: "apiKey"
15138
+ }],
15139
+ url: "/agent/v1/sessions/{session_id}/runs/{run_id}/feedback",
15140
+ ...options
15141
+ });
15142
+ var setRunFeedback = (options) => (options.client ?? client).post({
15143
+ security: [{
15144
+ key: "BearerAuth",
15145
+ scheme: "bearer",
15146
+ type: "http"
15147
+ }, {
15148
+ key: "ApiKeyAuth",
15149
+ name: "X-API-Key",
15150
+ type: "apiKey"
15151
+ }],
15152
+ url: "/agent/v1/sessions/{session_id}/runs/{run_id}/feedback",
15153
+ ...options,
15154
+ headers: {
15155
+ "Content-Type": "application/json",
15156
+ ...options.headers
15157
+ }
15158
+ });
14900
15159
  var listEmbedTokens = (options) => (options?.client ?? client).get({
14901
15160
  security: [{
14902
15161
  key: "BearerAuth",
@@ -15946,6 +16205,19 @@ var countResponseInputTokens = (options) => (options.client ?? client).post({
15946
16205
  ...options.headers
15947
16206
  }
15948
16207
  });
16208
+ var listOrganizationFeedback = (options) => (options?.client ?? client).get({
16209
+ security: [{
16210
+ key: "BearerAuth",
16211
+ scheme: "bearer",
16212
+ type: "http"
16213
+ }, {
16214
+ key: "ApiKeyAuth",
16215
+ name: "X-API-Key",
16216
+ type: "apiKey"
16217
+ }],
16218
+ url: "/organization/v1/feedback",
16219
+ ...options
16220
+ });
15949
16221
  var createOrganizationFeedback = (options) => (options.client ?? client).post({
15950
16222
  security: [{
15951
16223
  key: "BearerAuth",
@@ -15963,6 +16235,62 @@ var createOrganizationFeedback = (options) => (options.client ?? client).post({
15963
16235
  ...options.headers
15964
16236
  }
15965
16237
  });
16238
+ var getOrganizationFeedbackCounts = (options) => (options?.client ?? client).get({
16239
+ security: [{
16240
+ key: "BearerAuth",
16241
+ scheme: "bearer",
16242
+ type: "http"
16243
+ }, {
16244
+ key: "ApiKeyAuth",
16245
+ name: "X-API-Key",
16246
+ type: "apiKey"
16247
+ }],
16248
+ url: "/organization/v1/feedback/counts",
16249
+ ...options
16250
+ });
16251
+ var getOrganizationFeedback = (options) => (options.client ?? client).get({
16252
+ security: [{
16253
+ key: "BearerAuth",
16254
+ scheme: "bearer",
16255
+ type: "http"
16256
+ }, {
16257
+ key: "ApiKeyAuth",
16258
+ name: "X-API-Key",
16259
+ type: "apiKey"
16260
+ }],
16261
+ url: "/organization/v1/feedback/{id}",
16262
+ ...options
16263
+ });
16264
+ var listOrganizationFeedbackMessages = (options) => (options.client ?? client).get({
16265
+ security: [{
16266
+ key: "BearerAuth",
16267
+ scheme: "bearer",
16268
+ type: "http"
16269
+ }, {
16270
+ key: "ApiKeyAuth",
16271
+ name: "X-API-Key",
16272
+ type: "apiKey"
16273
+ }],
16274
+ url: "/organization/v1/feedback/{id}/messages",
16275
+ ...options
16276
+ });
16277
+ var createOrganizationFeedbackMessage = (options) => (options.client ?? client).post({
16278
+ security: [{
16279
+ key: "BearerAuth",
16280
+ scheme: "bearer",
16281
+ type: "http"
16282
+ }, {
16283
+ key: "ApiKeyAuth",
16284
+ name: "X-API-Key",
16285
+ type: "apiKey"
16286
+ }],
16287
+ url: "/organization/v1/feedback/{id}/messages",
16288
+ ...options,
16289
+ headers: {
16290
+ "Content-Type": "application/json",
16291
+ ...options.headers
16292
+ }
16293
+ });
15966
16294
  var listOrganizationCosts = (options) => (options.client ?? client).get({
15967
16295
  security: [{
15968
16296
  key: "BearerAuth",
@@ -19798,6 +20126,12 @@ function createAgent(transport) {
19798
20126
  retrieve: bind(transport, sessionsRetrieve),
19799
20127
  retrieveCompact: bind(transport, getSessionCompaction),
19800
20128
  retrieveContext: bind(transport, getSessionContext),
20129
+ runs: {
20130
+ deleteFeedback: bind(transport, deleteRunFeedback),
20131
+ feedback: {
20132
+ create: bind(transport, setRunFeedback)
20133
+ }
20134
+ },
19801
20135
  threads: {
19802
20136
  archive: bind(transport, aliasOperation(sessionsThreadsArchive, { query: { session_id: "query_session_id" } })),
19803
20137
  events: {
@@ -20272,7 +20606,16 @@ function createOrganization(transport) {
20272
20606
  retrieve: bind(transport, getOrganizationEvent)
20273
20607
  },
20274
20608
  feedback: {
20275
- create: bind(transport, createOrganizationFeedback)
20609
+ counts: {
20610
+ list: bind(transport, getOrganizationFeedbackCounts)
20611
+ },
20612
+ create: bind(transport, createOrganizationFeedback),
20613
+ list: bind(transport, listOrganizationFeedback),
20614
+ messages: {
20615
+ create: bind(transport, createOrganizationFeedbackMessage),
20616
+ list: bind(transport, listOrganizationFeedbackMessages)
20617
+ },
20618
+ retrieve: bind(transport, getOrganizationFeedback)
20276
20619
  },
20277
20620
  usage: {
20278
20621
  list: bind(transport, listOrganizationUsage)
@@ -22462,7 +22805,7 @@ function startProgress(ctx, write = (text) => writeOutput({ stderr: text })) {
22462
22805
  }
22463
22806
 
22464
22807
  // src/main.ts
22465
- var version = "0.1.0-dev.438035e";
22808
+ var version = "0.1.0-dev.449ac38";
22466
22809
  var commands = commandTree(operations);
22467
22810
  var manual = [["login"], ["logout"], ["whoami"], ["org", "list"], ["org", "switch"], ["api"], ["skill"]];
22468
22811
  function route(argv) {
package/package.json CHANGED
@@ -1,26 +1,35 @@
1
1
  {
2
2
  "name": "@deepraxis/cli",
3
- "version": "0.1.0-dev.438035e",
3
+ "version": "0.1.0-dev.449ac38",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "praxis": "dist/praxis.js"
7
7
  },
8
- "description": "Praxis CLI for the Deepraxis public API",
9
- "license": "SEE LICENSE IN LICENSE",
10
- "repository": {
11
- "type": "git",
12
- "url": "git+https://github.com/Deepraxis/Praxis.git",
13
- "directory": "apps/cli"
14
- },
8
+ "description": "The official command line for Praxis (知行云): models, agents, sandboxes, search and data from one terminal.",
9
+ "license": "Apache-2.0",
15
10
  "engines": {
16
11
  "node": ">=20"
17
12
  },
18
- "publishConfig": {
19
- "access": "public"
20
- },
21
13
  "files": [
22
14
  "dist",
23
15
  "README.md",
24
- "LICENSE"
25
- ]
16
+ "LICENSE",
17
+ "COMMANDS.md"
18
+ ],
19
+ "homepage": "https://deepraxis.com",
20
+ "keywords": [
21
+ "praxis",
22
+ "deepraxis",
23
+ "cli",
24
+ "ai",
25
+ "agents",
26
+ "llm",
27
+ "sandbox",
28
+ "ai-agents",
29
+ "claude-code"
30
+ ],
31
+ "author": "Deepractice",
32
+ "publishConfig": {
33
+ "access": "public"
34
+ }
26
35
  }