alpic 1.170.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.
- package/dist/__tests__/audit.e2e.test.js +1 -1
- package/dist/__tests__/audit.e2e.test.js.map +1 -1
- package/dist/__tests__/environment-delete.e2e.test.d.ts +1 -0
- package/dist/__tests__/environment-delete.e2e.test.js +95 -0
- package/dist/__tests__/environment-delete.e2e.test.js.map +1 -0
- package/dist/__tests__/insights-category.e2e.test.js +2 -3
- package/dist/__tests__/insights-category.e2e.test.js.map +1 -1
- package/dist/__tests__/insights.e2e.test.js +2 -2
- package/dist/__tests__/insights.e2e.test.js.map +1 -1
- package/dist/__tests__/mock-api.d.ts +3 -0
- package/dist/__tests__/mock-api.js +82 -0
- package/dist/__tests__/mock-api.js.map +1 -1
- package/dist/__tests__/submission.e2e.test.d.ts +1 -0
- package/dist/__tests__/submission.e2e.test.js +146 -0
- package/dist/__tests__/submission.e2e.test.js.map +1 -0
- package/dist/commands/audit.js +3 -1
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/deploy.js +11 -11
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/deployment/list.js +3 -3
- package/dist/commands/deployment/list.js.map +1 -1
- package/dist/commands/environment/delete.d.ts +13 -0
- package/dist/commands/environment/delete.js +45 -0
- package/dist/commands/environment/delete.js.map +1 -0
- package/dist/commands/environment/inspect.js +3 -3
- package/dist/commands/environment/inspect.js.map +1 -1
- package/dist/commands/environment/list.js +3 -3
- package/dist/commands/environment/list.js.map +1 -1
- package/dist/commands/insights/category/create.js +5 -5
- package/dist/commands/insights/category/create.js.map +1 -1
- package/dist/commands/insights/category/delete.js +3 -3
- package/dist/commands/insights/category/delete.js.map +1 -1
- package/dist/commands/insights/category/link.js +3 -3
- package/dist/commands/insights/category/link.js.map +1 -1
- package/dist/commands/insights/category/list.js +5 -4
- package/dist/commands/insights/category/list.js.map +1 -1
- package/dist/commands/insights/category/unlink.js +3 -3
- package/dist/commands/insights/category/unlink.js.map +1 -1
- package/dist/commands/insights/category/update.js +6 -5
- package/dist/commands/insights/category/update.js.map +1 -1
- package/dist/commands/insights/feedback/list.js +5 -4
- package/dist/commands/insights/feedback/list.js.map +1 -1
- package/dist/commands/insights/intent/list.js +5 -4
- package/dist/commands/insights/intent/list.js.map +1 -1
- package/dist/commands/link.js +3 -3
- package/dist/commands/link.js.map +1 -1
- package/dist/commands/project/inspect.js +3 -3
- package/dist/commands/project/inspect.js.map +1 -1
- package/dist/commands/project/list.js +3 -3
- package/dist/commands/project/list.js.map +1 -1
- package/dist/commands/submission/create.d.ts +15 -0
- package/dist/commands/submission/create.js +59 -0
- package/dist/commands/submission/create.js.map +1 -0
- package/dist/commands/submission/inspect.d.ts +10 -0
- package/dist/commands/submission/inspect.js +56 -0
- package/dist/commands/submission/inspect.js.map +1 -0
- package/dist/commands/submission/update.d.ts +12 -0
- package/dist/commands/submission/update.js +37 -0
- package/dist/commands/submission/update.js.map +1 -0
- package/dist/commands/team/inspect.js +8 -8
- package/dist/commands/team/inspect.js.map +1 -1
- package/dist/commands/team/list.js +3 -3
- package/dist/commands/team/list.js.map +1 -1
- package/dist/commands/tunnel.js +5 -5
- package/dist/commands/tunnel.js.map +1 -1
- package/dist/lib/agent-mode.d.ts +8 -1
- package/dist/lib/agent-mode.js +25 -26
- package/dist/lib/agent-mode.js.map +1 -1
- package/dist/lib/alpic-command.d.ts +2 -1
- package/dist/lib/alpic-command.js +3 -3
- package/dist/lib/alpic-command.js.map +1 -1
- package/dist/lib/audit.d.ts +1 -0
- package/dist/lib/audit.js +18 -12
- package/dist/lib/audit.js.map +1 -1
- package/dist/lib/base-workflow.d.ts +2 -1
- package/dist/lib/base-workflow.js +3 -3
- package/dist/lib/base-workflow.js.map +1 -1
- package/dist/lib/deployment.js +12 -12
- package/dist/lib/deployment.js.map +1 -1
- package/dist/lib/environment-variable.js +13 -13
- package/dist/lib/environment-variable.js.map +1 -1
- package/dist/lib/insights.d.ts +3 -1
- package/dist/lib/insights.js +5 -5
- package/dist/lib/insights.js.map +1 -1
- package/dist/lib/link.js +4 -4
- package/dist/lib/link.js.map +1 -1
- package/dist/lib/playground.js +25 -25
- package/dist/lib/playground.js.map +1 -1
- package/dist/lib/publish.js +3 -3
- package/dist/lib/publish.js.map +1 -1
- package/dist/lib/resolve.d.ts +7 -6
- package/dist/lib/resolve.js +23 -18
- package/dist/lib/resolve.js.map +1 -1
- package/dist/lib/submission.d.ts +13 -0
- package/dist/lib/submission.js +52 -0
- package/dist/lib/submission.js.map +1 -0
- package/package.json +10 -10
package/dist/lib/resolve.d.ts
CHANGED
|
@@ -6,19 +6,20 @@ export declare const environmentFlags: {
|
|
|
6
6
|
"environment-id": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
7
|
"environment-name": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
8
|
};
|
|
9
|
+
type ResolveOptions = {
|
|
10
|
+
skipLocalConfig?: boolean;
|
|
11
|
+
silent?: boolean;
|
|
12
|
+
};
|
|
9
13
|
export declare const resolveProjectId: (flags: {
|
|
10
14
|
"project-id"?: string;
|
|
11
15
|
"project-name"?: string;
|
|
12
16
|
"non-interactive"?: boolean;
|
|
13
|
-
}, options?:
|
|
14
|
-
skipLocalConfig?: boolean;
|
|
15
|
-
}) => Promise<string>;
|
|
17
|
+
}, options?: ResolveOptions) => Promise<string>;
|
|
16
18
|
export declare const resolveEnvironmentId: (flags: {
|
|
17
19
|
"environment-id"?: string;
|
|
18
20
|
"environment-name"?: string;
|
|
19
21
|
"project-id"?: string;
|
|
20
22
|
"project-name"?: string;
|
|
21
23
|
"non-interactive"?: boolean;
|
|
22
|
-
}, options?:
|
|
23
|
-
|
|
24
|
-
}) => Promise<string>;
|
|
24
|
+
}, options?: ResolveOptions) => Promise<string>;
|
|
25
|
+
export {};
|
package/dist/lib/resolve.js
CHANGED
|
@@ -2,7 +2,7 @@ import * as p from "@clack/prompts";
|
|
|
2
2
|
import { Flags } from "@oclif/core";
|
|
3
3
|
import chalk from "chalk";
|
|
4
4
|
import { api } from "../api.js";
|
|
5
|
-
import {
|
|
5
|
+
import { createLogger, ERRORS_ONLY, isAgentMode } from "./agent-mode.js";
|
|
6
6
|
import { alpic } from "./alpic-sdk.js";
|
|
7
7
|
export const projectFlags = {
|
|
8
8
|
"project-id": Flags.string({ description: "The ID of the project", exclusive: ["project-name"] }),
|
|
@@ -12,15 +12,20 @@ export const environmentFlags = {
|
|
|
12
12
|
"environment-id": Flags.string({ description: "The ID of the environment", exclusive: ["environment-name"] }),
|
|
13
13
|
"environment-name": Flags.string({ description: "The name of the environment", exclusive: ["environment-id"] }),
|
|
14
14
|
};
|
|
15
|
+
const info = (options, message) => {
|
|
16
|
+
if (!options.silent) {
|
|
17
|
+
p.log.info(message);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
15
20
|
export const resolveProjectId = async (flags, options = {}) => {
|
|
16
21
|
if (flags["project-id"]) {
|
|
17
22
|
return flags["project-id"];
|
|
18
23
|
}
|
|
19
24
|
if (flags["project-name"]) {
|
|
20
|
-
const
|
|
21
|
-
|
|
25
|
+
const logger = createLogger(options.silent ? ERRORS_ONLY : "all");
|
|
26
|
+
logger.start("Resolving project by name...");
|
|
22
27
|
const projects = await api.projects.list.v1();
|
|
23
|
-
|
|
28
|
+
logger.stop("");
|
|
24
29
|
const matches = projects.filter((project) => project.name === flags["project-name"]);
|
|
25
30
|
if (matches.length === 0) {
|
|
26
31
|
throw new Error(`No project found with name "${flags["project-name"]}".`);
|
|
@@ -32,23 +37,23 @@ export const resolveProjectId = async (flags, options = {}) => {
|
|
|
32
37
|
if (!project) {
|
|
33
38
|
throw new Error(`No project found with name "${flags["project-name"]}".`);
|
|
34
39
|
}
|
|
35
|
-
|
|
40
|
+
info(options, `Resolved project "${project.name}" ${chalk.dim(`(${project.id})`)}`);
|
|
36
41
|
return project.id;
|
|
37
42
|
}
|
|
38
43
|
if (!options.skipLocalConfig) {
|
|
39
44
|
const projectId = alpic.projects.loadConfig()?.projectId;
|
|
40
45
|
if (projectId !== undefined) {
|
|
41
|
-
|
|
46
|
+
info(options, `Using project id from .alpic config: ${chalk.bold(projectId)}`);
|
|
42
47
|
return projectId;
|
|
43
48
|
}
|
|
44
49
|
}
|
|
45
50
|
if (flags["non-interactive"] || isAgentMode()) {
|
|
46
51
|
throw new Error("No project specified. Use --project-id or --project-name.");
|
|
47
52
|
}
|
|
48
|
-
const
|
|
49
|
-
|
|
53
|
+
const logger = createLogger(options.silent ? ERRORS_ONLY : "all");
|
|
54
|
+
logger.start("Fetching projects...");
|
|
50
55
|
const projects = await api.projects.list.v1();
|
|
51
|
-
|
|
56
|
+
logger.stop("");
|
|
52
57
|
if (projects.length === 0) {
|
|
53
58
|
throw new Error("No projects found.");
|
|
54
59
|
}
|
|
@@ -69,7 +74,7 @@ export const resolveEnvironmentId = async (flags, options = {}) => {
|
|
|
69
74
|
if (flags["environment-name"]) {
|
|
70
75
|
let projectId = flags["project-id"];
|
|
71
76
|
if (!projectId && flags["project-name"]) {
|
|
72
|
-
projectId = await resolveProjectId({ "project-name": flags["project-name"], "non-interactive": flags["non-interactive"] },
|
|
77
|
+
projectId = await resolveProjectId({ "project-name": flags["project-name"], "non-interactive": flags["non-interactive"] }, options);
|
|
73
78
|
}
|
|
74
79
|
if (!projectId && !options.skipLocalConfig) {
|
|
75
80
|
projectId = alpic.projects.loadConfig()?.projectId;
|
|
@@ -77,23 +82,23 @@ export const resolveEnvironmentId = async (flags, options = {}) => {
|
|
|
77
82
|
if (!projectId) {
|
|
78
83
|
throw new Error("Cannot resolve --environment-name without a project context. Use --environment-id directly, or provide --project-id or --project-name.");
|
|
79
84
|
}
|
|
80
|
-
const
|
|
81
|
-
|
|
85
|
+
const logger = createLogger(options.silent ? ERRORS_ONLY : "all");
|
|
86
|
+
logger.start("Resolving environment by name...");
|
|
82
87
|
const project = await api.projects.get.v1({ projectId });
|
|
83
|
-
|
|
88
|
+
logger.stop("");
|
|
84
89
|
const match = project.environments.find((env) => env.name === flags["environment-name"]);
|
|
85
90
|
if (!match) {
|
|
86
91
|
const identifier = flags["project-name"] ?? projectId;
|
|
87
92
|
throw new Error(`No environment found with name "${flags["environment-name"]}" in project "${identifier}".`);
|
|
88
93
|
}
|
|
89
|
-
|
|
94
|
+
info(options, `Resolved environment "${match.name}" ${chalk.dim(`(${match.id})`)}`);
|
|
90
95
|
return match.id;
|
|
91
96
|
}
|
|
92
97
|
if (!options.skipLocalConfig) {
|
|
93
98
|
const localConfig = alpic.projects.loadConfig();
|
|
94
99
|
const environmentId = localConfig?.environmentId;
|
|
95
100
|
if (environmentId !== undefined) {
|
|
96
|
-
|
|
101
|
+
info(options, `Using environment id from .alpic config: ${chalk.bold(environmentId)}`);
|
|
97
102
|
return environmentId;
|
|
98
103
|
}
|
|
99
104
|
}
|
|
@@ -101,10 +106,10 @@ export const resolveEnvironmentId = async (flags, options = {}) => {
|
|
|
101
106
|
throw new Error("No environment specified. Use --environment-id.");
|
|
102
107
|
}
|
|
103
108
|
const projectId = await resolveProjectId(flags, options);
|
|
104
|
-
const
|
|
105
|
-
|
|
109
|
+
const logger = createLogger(options.silent ? ERRORS_ONLY : "all");
|
|
110
|
+
logger.start("Fetching environments...");
|
|
106
111
|
const project = await api.projects.get.v1({ projectId });
|
|
107
|
-
|
|
112
|
+
logger.stop("");
|
|
108
113
|
if (project.environments.length === 0) {
|
|
109
114
|
throw new Error("No environments found in this project.");
|
|
110
115
|
}
|
package/dist/lib/resolve.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/lib/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/lib/resolve.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const parsePlatform: (platform: string) => "chatgpt" | "claudeai";
|
|
2
|
+
export declare const submissionFlags: {
|
|
3
|
+
"submission-id": import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
4
|
+
};
|
|
5
|
+
export declare const formDataFlags: {
|
|
6
|
+
"form-data": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
+
"form-data-file": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
};
|
|
9
|
+
export declare const readFormData: (flags: {
|
|
10
|
+
"form-data"?: string;
|
|
11
|
+
"form-data-file"?: string;
|
|
12
|
+
}) => object;
|
|
13
|
+
export declare const formatFormDataValue: (value: unknown) => string;
|
|
@@ -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.
|
|
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,25 +25,25 @@
|
|
|
25
25
|
"author": "Alpic",
|
|
26
26
|
"license": "ISC",
|
|
27
27
|
"dependencies": {
|
|
28
|
+
"@alpic-ai/api": "1.172.0",
|
|
29
|
+
"@alpic-ai/sdk": "1.172.0",
|
|
28
30
|
"@clack/prompts": "^1.7.0",
|
|
29
|
-
"@oclif/core": "^
|
|
31
|
+
"@oclif/core": "^5.0.0",
|
|
30
32
|
"@orpc/client": "^1.15.0",
|
|
31
33
|
"@orpc/contract": "^1.15.0",
|
|
32
34
|
"@orpc/openapi-client": "^1.15.0",
|
|
33
|
-
"@sentry/node": "^10.
|
|
35
|
+
"@sentry/node": "^10.73.0",
|
|
34
36
|
"@t3-oss/env-core": "^0.13.11",
|
|
35
|
-
"@vercel/detect-agent": "^1.2.
|
|
37
|
+
"@vercel/detect-agent": "^1.2.5",
|
|
36
38
|
"chalk": "^6.0.0",
|
|
37
39
|
"ci-info": "^4.4.0",
|
|
38
40
|
"envfile": "^7.1.0",
|
|
39
41
|
"jwt-decode": "^4.0.0",
|
|
40
|
-
"open": "^11.0.
|
|
41
|
-
"posthog-node": "^5.
|
|
42
|
+
"open": "^11.0.2",
|
|
43
|
+
"posthog-node": "^5.51.6",
|
|
42
44
|
"semver": "^7.8.5",
|
|
43
45
|
"undici": "^6.27.0",
|
|
44
|
-
"zod": "^4.4
|
|
45
|
-
"@alpic-ai/api": "1.170.0",
|
|
46
|
-
"@alpic-ai/sdk": "1.170.0"
|
|
46
|
+
"zod": "^4.5.4"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@orpc/openapi": "^1.15.0",
|
|
@@ -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": "^
|
|
64
|
+
"vitest": "^5.0.0"
|
|
65
65
|
},
|
|
66
66
|
"bin": {
|
|
67
67
|
"alpic": "bin/run.js"
|