alpic 1.171.0 → 1.172.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.
Files changed (93) hide show
  1. package/dist/__tests__/audit.e2e.test.js +1 -1
  2. package/dist/__tests__/audit.e2e.test.js.map +1 -1
  3. package/dist/__tests__/insights-category.e2e.test.js +2 -3
  4. package/dist/__tests__/insights-category.e2e.test.js.map +1 -1
  5. package/dist/__tests__/insights.e2e.test.js +2 -2
  6. package/dist/__tests__/insights.e2e.test.js.map +1 -1
  7. package/dist/__tests__/mock-api.d.ts +3 -0
  8. package/dist/__tests__/mock-api.js +58 -0
  9. package/dist/__tests__/mock-api.js.map +1 -1
  10. package/dist/__tests__/submission.e2e.test.d.ts +1 -0
  11. package/dist/__tests__/submission.e2e.test.js +146 -0
  12. package/dist/__tests__/submission.e2e.test.js.map +1 -0
  13. package/dist/commands/audit.js +3 -1
  14. package/dist/commands/audit.js.map +1 -1
  15. package/dist/commands/deploy.js +11 -11
  16. package/dist/commands/deploy.js.map +1 -1
  17. package/dist/commands/deployment/list.js +3 -3
  18. package/dist/commands/deployment/list.js.map +1 -1
  19. package/dist/commands/environment/delete.js +5 -5
  20. package/dist/commands/environment/delete.js.map +1 -1
  21. package/dist/commands/environment/inspect.js +3 -3
  22. package/dist/commands/environment/inspect.js.map +1 -1
  23. package/dist/commands/environment/list.js +3 -3
  24. package/dist/commands/environment/list.js.map +1 -1
  25. package/dist/commands/insights/category/create.js +5 -5
  26. package/dist/commands/insights/category/create.js.map +1 -1
  27. package/dist/commands/insights/category/delete.js +3 -3
  28. package/dist/commands/insights/category/delete.js.map +1 -1
  29. package/dist/commands/insights/category/link.js +3 -3
  30. package/dist/commands/insights/category/link.js.map +1 -1
  31. package/dist/commands/insights/category/list.js +5 -4
  32. package/dist/commands/insights/category/list.js.map +1 -1
  33. package/dist/commands/insights/category/unlink.js +3 -3
  34. package/dist/commands/insights/category/unlink.js.map +1 -1
  35. package/dist/commands/insights/category/update.js +6 -5
  36. package/dist/commands/insights/category/update.js.map +1 -1
  37. package/dist/commands/insights/feedback/list.js +5 -4
  38. package/dist/commands/insights/feedback/list.js.map +1 -1
  39. package/dist/commands/insights/intent/list.js +5 -4
  40. package/dist/commands/insights/intent/list.js.map +1 -1
  41. package/dist/commands/link.js +3 -3
  42. package/dist/commands/link.js.map +1 -1
  43. package/dist/commands/project/inspect.js +3 -3
  44. package/dist/commands/project/inspect.js.map +1 -1
  45. package/dist/commands/project/list.js +3 -3
  46. package/dist/commands/project/list.js.map +1 -1
  47. package/dist/commands/submission/create.d.ts +15 -0
  48. package/dist/commands/submission/create.js +59 -0
  49. package/dist/commands/submission/create.js.map +1 -0
  50. package/dist/commands/submission/inspect.d.ts +10 -0
  51. package/dist/commands/submission/inspect.js +56 -0
  52. package/dist/commands/submission/inspect.js.map +1 -0
  53. package/dist/commands/submission/update.d.ts +12 -0
  54. package/dist/commands/submission/update.js +37 -0
  55. package/dist/commands/submission/update.js.map +1 -0
  56. package/dist/commands/team/inspect.js +8 -8
  57. package/dist/commands/team/inspect.js.map +1 -1
  58. package/dist/commands/team/list.js +3 -3
  59. package/dist/commands/team/list.js.map +1 -1
  60. package/dist/commands/tunnel.js +5 -5
  61. package/dist/commands/tunnel.js.map +1 -1
  62. package/dist/lib/agent-mode.d.ts +8 -1
  63. package/dist/lib/agent-mode.js +25 -26
  64. package/dist/lib/agent-mode.js.map +1 -1
  65. package/dist/lib/alpic-command.d.ts +2 -1
  66. package/dist/lib/alpic-command.js +3 -3
  67. package/dist/lib/alpic-command.js.map +1 -1
  68. package/dist/lib/audit.d.ts +1 -0
  69. package/dist/lib/audit.js +18 -12
  70. package/dist/lib/audit.js.map +1 -1
  71. package/dist/lib/base-workflow.d.ts +2 -1
  72. package/dist/lib/base-workflow.js +3 -3
  73. package/dist/lib/base-workflow.js.map +1 -1
  74. package/dist/lib/deployment.js +12 -12
  75. package/dist/lib/deployment.js.map +1 -1
  76. package/dist/lib/environment-variable.js +13 -13
  77. package/dist/lib/environment-variable.js.map +1 -1
  78. package/dist/lib/insights.d.ts +3 -1
  79. package/dist/lib/insights.js +5 -5
  80. package/dist/lib/insights.js.map +1 -1
  81. package/dist/lib/link.js +4 -4
  82. package/dist/lib/link.js.map +1 -1
  83. package/dist/lib/playground.js +25 -25
  84. package/dist/lib/playground.js.map +1 -1
  85. package/dist/lib/publish.js +3 -3
  86. package/dist/lib/publish.js.map +1 -1
  87. package/dist/lib/resolve.d.ts +7 -6
  88. package/dist/lib/resolve.js +23 -18
  89. package/dist/lib/resolve.js.map +1 -1
  90. package/dist/lib/submission.d.ts +13 -0
  91. package/dist/lib/submission.js +52 -0
  92. package/dist/lib/submission.js.map +1 -0
  93. package/package.json +7 -7
@@ -0,0 +1,52 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { AI_PLATFORMS } from "@alpic-ai/api";
3
+ import { Flags } from "@oclif/core";
4
+ const MAX_FIELD_VALUE_LENGTH = 80;
5
+ const STDIN_FILE_DESCRIPTOR = 0;
6
+ export const parsePlatform = (platform) => {
7
+ const match = AI_PLATFORMS.find((candidate) => candidate === platform);
8
+ if (match === undefined) {
9
+ throw new Error(`Invalid platform: ${platform}`);
10
+ }
11
+ return match;
12
+ };
13
+ export const submissionFlags = {
14
+ "submission-id": Flags.string({ description: "The ID of the submission package", required: true }),
15
+ };
16
+ export const formDataFlags = {
17
+ "form-data": Flags.string({
18
+ description: "The submission fields as a JSON object",
19
+ exclusive: ["form-data-file"],
20
+ }),
21
+ "form-data-file": Flags.string({
22
+ description: "Path to a JSON file holding the submission fields; use - to read stdin",
23
+ exclusive: ["form-data"],
24
+ }),
25
+ };
26
+ export const readFormData = (flags) => {
27
+ const source = flags["form-data-file"]
28
+ ? readFileSync(flags["form-data-file"] === "-" ? STDIN_FILE_DESCRIPTOR : flags["form-data-file"], "utf8")
29
+ : flags["form-data"];
30
+ if (source === undefined) {
31
+ throw new Error("No form data provided. Use --form-data or --form-data-file.");
32
+ }
33
+ let parsed;
34
+ try {
35
+ parsed = JSON.parse(source);
36
+ }
37
+ catch (error) {
38
+ throw new Error(`Form data is not valid JSON: ${error instanceof Error ? error.message : String(error)}`);
39
+ }
40
+ if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
41
+ throw new Error("Form data must be a JSON object of submission fields.");
42
+ }
43
+ return parsed;
44
+ };
45
+ export const formatFormDataValue = (value) => {
46
+ if (value === null || value === undefined || value === "") {
47
+ return "-";
48
+ }
49
+ const formatted = typeof value === "string" ? value : JSON.stringify(value);
50
+ return formatted.length <= MAX_FIELD_VALUE_LENGTH ? formatted : `${formatted.slice(0, MAX_FIELD_VALUE_LENGTH - 1)}…`;
51
+ };
52
+ //# sourceMappingURL=submission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submission.js","sourceRoot":"","sources":["../../src/lib/submission.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "alpic",
3
- "version": "1.171.0",
3
+ "version": "1.172.0",
4
4
  "description": "The command-line interface for Alpic",
5
5
  "homepage": "https://alpic.ai",
6
6
  "preferGlobal": true,
@@ -25,14 +25,14 @@
25
25
  "author": "Alpic",
26
26
  "license": "ISC",
27
27
  "dependencies": {
28
- "@alpic-ai/api": "1.171.0",
29
- "@alpic-ai/sdk": "1.171.0",
28
+ "@alpic-ai/api": "1.172.0",
29
+ "@alpic-ai/sdk": "1.172.0",
30
30
  "@clack/prompts": "^1.7.0",
31
- "@oclif/core": "^4.14.0",
31
+ "@oclif/core": "^5.0.0",
32
32
  "@orpc/client": "^1.15.0",
33
33
  "@orpc/contract": "^1.15.0",
34
34
  "@orpc/openapi-client": "^1.15.0",
35
- "@sentry/node": "^10.72.0",
35
+ "@sentry/node": "^10.73.0",
36
36
  "@t3-oss/env-core": "^0.13.11",
37
37
  "@vercel/detect-agent": "^1.2.5",
38
38
  "chalk": "^6.0.0",
@@ -40,7 +40,7 @@
40
40
  "envfile": "^7.1.0",
41
41
  "jwt-decode": "^4.0.0",
42
42
  "open": "^11.0.2",
43
- "posthog-node": "^5.51.4",
43
+ "posthog-node": "^5.51.6",
44
44
  "semver": "^7.8.5",
45
45
  "undici": "^6.27.0",
46
46
  "zod": "^4.5.4"
@@ -61,7 +61,7 @@
61
61
  "shx": "^0.4.0",
62
62
  "ts-node": "^10.9.2",
63
63
  "typescript": "^6.0.3",
64
- "vitest": "^4.1.11"
64
+ "vitest": "^5.0.0"
65
65
  },
66
66
  "bin": {
67
67
  "alpic": "bin/run.js"