alpic 0.0.0-dev.gdddca59 → 0.0.0-dev.gddfe1a5
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__/insights-category.e2e.test.js +3 -2
- 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 +0 -3
- package/dist/__tests__/mock-api.js +0 -75
- package/dist/__tests__/mock-api.js.map +1 -1
- package/dist/__tests__/tunnel.e2e.test.js +14 -67
- package/dist/__tests__/tunnel.e2e.test.js.map +1 -1
- package/dist/commands/audit.js +1 -3
- 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.js +5 -5
- package/dist/commands/environment/delete.js.map +1 -1
- 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 +4 -5
- 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 +5 -6
- package/dist/commands/insights/category/update.js.map +1 -1
- package/dist/commands/insights/feedback/list.js +4 -5
- package/dist/commands/insights/feedback/list.js.map +1 -1
- package/dist/commands/insights/intent/list.js +4 -5
- 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/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 +1 -8
- package/dist/lib/agent-mode.js +26 -25
- package/dist/lib/agent-mode.js.map +1 -1
- package/dist/lib/alpic-command.d.ts +1 -2
- package/dist/lib/alpic-command.js +3 -3
- package/dist/lib/alpic-command.js.map +1 -1
- package/dist/lib/audit.d.ts +0 -1
- package/dist/lib/audit.js +12 -18
- package/dist/lib/audit.js.map +1 -1
- package/dist/lib/base-workflow.d.ts +1 -2
- 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 +1 -3
- 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 +6 -7
- package/dist/lib/resolve.js +18 -23
- package/dist/lib/resolve.js.map +1 -1
- package/dist/lib/telemetry.js +0 -3
- package/dist/lib/telemetry.js.map +1 -1
- package/package.json +17 -18
- package/dist/__tests__/submission.e2e.test.d.ts +0 -1
- package/dist/__tests__/submission.e2e.test.js +0 -173
- package/dist/__tests__/submission.e2e.test.js.map +0 -1
- package/dist/commands/submission/create.d.ts +0 -15
- package/dist/commands/submission/create.js +0 -59
- package/dist/commands/submission/create.js.map +0 -1
- package/dist/commands/submission/inspect.d.ts +0 -10
- package/dist/commands/submission/inspect.js +0 -56
- package/dist/commands/submission/inspect.js.map +0 -1
- package/dist/commands/submission/list.d.ts +0 -13
- package/dist/commands/submission/list.js +0 -63
- package/dist/commands/submission/list.js.map +0 -1
- package/dist/commands/submission/update.d.ts +0 -12
- package/dist/commands/submission/update.js +0 -37
- package/dist/commands/submission/update.js.map +0 -1
- package/dist/lib/submission.d.ts +0 -13
- package/dist/lib/submission.js +0 -52
- package/dist/lib/submission.js.map +0 -1
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { AlpicCommand } from "../../lib/alpic-command.js";
|
|
2
|
-
export declare class SubmissionCreate extends AlpicCommand {
|
|
3
|
-
static description: string;
|
|
4
|
-
static examples: string[];
|
|
5
|
-
static flags: {
|
|
6
|
-
platform: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
-
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
|
-
"environment-id": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
-
"environment-name": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
-
"project-id": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
-
"project-name": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
-
};
|
|
13
|
-
run(): Promise<void>;
|
|
14
|
-
private resolvePlatform;
|
|
15
|
-
}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { AI_PLATFORMS, PLATFORM_LABELS } from "@alpic-ai/api";
|
|
2
|
-
import * as p from "@clack/prompts";
|
|
3
|
-
import { Flags } from "@oclif/core";
|
|
4
|
-
import chalk from "chalk";
|
|
5
|
-
import { api } from "../../api.js";
|
|
6
|
-
import { ERRORS_ONLY, isAgentMode } from "../../lib/agent-mode.js";
|
|
7
|
-
import { AlpicCommand } from "../../lib/alpic-command.js";
|
|
8
|
-
import { environmentFlags, projectFlags, resolveEnvironmentId } from "../../lib/resolve.js";
|
|
9
|
-
import { parsePlatform } from "../../lib/submission.js";
|
|
10
|
-
export class SubmissionCreate extends AlpicCommand {
|
|
11
|
-
static description = "Create a submission package for an environment. Alpic reads the deployed MCP server and prefills every field it can infer.";
|
|
12
|
-
static examples = [
|
|
13
|
-
"<%= config.bin %> submission create --platform chatgpt",
|
|
14
|
-
"<%= config.bin %> submission create --platform claudeai --environment-id <environmentId>",
|
|
15
|
-
"<%= config.bin %> submission create --platform chatgpt --environment-name production --project-name <projectName>",
|
|
16
|
-
"<%= config.bin %> submission create --platform chatgpt --json",
|
|
17
|
-
];
|
|
18
|
-
static flags = {
|
|
19
|
-
...projectFlags,
|
|
20
|
-
...environmentFlags,
|
|
21
|
-
platform: Flags.string({
|
|
22
|
-
description: "The directory the package targets",
|
|
23
|
-
options: [...AI_PLATFORMS],
|
|
24
|
-
}),
|
|
25
|
-
json: Flags.boolean({ description: "Print the unmodified API response as JSON", default: false }),
|
|
26
|
-
};
|
|
27
|
-
async run() {
|
|
28
|
-
const { flags } = await this.parse(SubmissionCreate);
|
|
29
|
-
await this.ensureAuthenticated(flags);
|
|
30
|
-
const environmentId = await resolveEnvironmentId(flags, { silent: flags.json });
|
|
31
|
-
const platform = await this.resolvePlatform(flags);
|
|
32
|
-
const logger = this.logger(flags.json ? ERRORS_ONLY : "all");
|
|
33
|
-
logger.start(`Building the ${PLATFORM_LABELS[platform]} submission package...`);
|
|
34
|
-
const submission = await api.submissions.create.v1({ environmentId, platform });
|
|
35
|
-
logger.stop(`Created ${chalk.cyan(submission.id)} for ${PLATFORM_LABELS[platform]}. ✅`);
|
|
36
|
-
if (flags.json) {
|
|
37
|
-
this.log(JSON.stringify(submission));
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
p.log.info(`Review and complete it with ${chalk.bold(`alpic submission inspect --submission-id ${submission.id}`)}`);
|
|
41
|
-
}
|
|
42
|
-
async resolvePlatform(flags) {
|
|
43
|
-
if (flags.platform !== undefined) {
|
|
44
|
-
return parsePlatform(flags.platform);
|
|
45
|
-
}
|
|
46
|
-
if (flags["non-interactive"] || isAgentMode()) {
|
|
47
|
-
throw new Error("--platform is required in non-interactive mode.");
|
|
48
|
-
}
|
|
49
|
-
const choice = await p.select({
|
|
50
|
-
message: chalk.bold("Choose a directory to submit to"),
|
|
51
|
-
options: AI_PLATFORMS.map((platform) => ({ value: platform, label: PLATFORM_LABELS[platform] })),
|
|
52
|
-
});
|
|
53
|
-
if (p.isCancel(choice)) {
|
|
54
|
-
throw new Error("Cancelled.");
|
|
55
|
-
}
|
|
56
|
-
return choice;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=create.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/submission/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { AlpicCommand } from "../../lib/alpic-command.js";
|
|
2
|
-
export declare class SubmissionInspect extends AlpicCommand {
|
|
3
|
-
static description: string;
|
|
4
|
-
static examples: string[];
|
|
5
|
-
static flags: {
|
|
6
|
-
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
-
"submission-id": import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
-
};
|
|
9
|
-
run(): Promise<void>;
|
|
10
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { PLATFORM_LABELS } from "@alpic-ai/api";
|
|
2
|
-
import { Flags } from "@oclif/core";
|
|
3
|
-
import chalk from "chalk";
|
|
4
|
-
import { api } from "../../api.js";
|
|
5
|
-
import { ERRORS_ONLY } from "../../lib/agent-mode.js";
|
|
6
|
-
import { AlpicCommand } from "../../lib/alpic-command.js";
|
|
7
|
-
import { formatFormDataValue, submissionFlags } from "../../lib/submission.js";
|
|
8
|
-
import { formatTable } from "../../lib/table.js";
|
|
9
|
-
import { formatAgo } from "../../lib/utils.js";
|
|
10
|
-
export class SubmissionInspect extends AlpicCommand {
|
|
11
|
-
static description = "Show a submission package and the fields it carries";
|
|
12
|
-
static examples = [
|
|
13
|
-
"<%= config.bin %> submission inspect --submission-id <submissionId>",
|
|
14
|
-
"<%= config.bin %> submission inspect --submission-id <submissionId> --json",
|
|
15
|
-
];
|
|
16
|
-
static flags = {
|
|
17
|
-
...submissionFlags,
|
|
18
|
-
json: Flags.boolean({ description: "Print the unmodified API response as JSON", default: false }),
|
|
19
|
-
};
|
|
20
|
-
async run() {
|
|
21
|
-
const { flags } = await this.parse(SubmissionInspect);
|
|
22
|
-
await this.ensureAuthenticated(flags);
|
|
23
|
-
const logger = this.logger(flags.json ? ERRORS_ONLY : "all");
|
|
24
|
-
logger.start("Fetching submission...");
|
|
25
|
-
const submission = await api.submissions.get.v1({ submissionId: flags["submission-id"] });
|
|
26
|
-
logger.stop("Submission found");
|
|
27
|
-
if (flags.json) {
|
|
28
|
-
this.log(JSON.stringify(submission));
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
const detailRows = [
|
|
32
|
-
{ label: "ID", value: chalk.cyan(submission.id) },
|
|
33
|
-
{ label: "Platform", value: PLATFORM_LABELS[submission.platform] },
|
|
34
|
-
{ label: "Environment", value: submission.environmentId },
|
|
35
|
-
{ label: "Beacon audit", value: submission.auditId ?? chalk.gray("-") },
|
|
36
|
-
{ label: "Created", value: formatAgo(submission.createdAt) },
|
|
37
|
-
{ label: "Updated", value: formatAgo(submission.updatedAt) },
|
|
38
|
-
];
|
|
39
|
-
console.log(formatTable(detailRows, [
|
|
40
|
-
{ key: "label", header: "", format: (value) => chalk.bold(value) },
|
|
41
|
-
{ key: "value", header: "" },
|
|
42
|
-
]));
|
|
43
|
-
const fieldRows = Object.entries(submission.formData).map(([field, value]) => ({
|
|
44
|
-
field,
|
|
45
|
-
value: formatFormDataValue(value),
|
|
46
|
-
}));
|
|
47
|
-
if (fieldRows.length === 0) {
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
console.log(formatTable(fieldRows, [
|
|
51
|
-
{ key: "field", header: "field", format: (value) => chalk.bold(value) },
|
|
52
|
-
{ key: "value", header: "value" },
|
|
53
|
-
]));
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=inspect.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../../src/commands/submission/inspect.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { AlpicCommand } from "../../lib/alpic-command.js";
|
|
2
|
-
export declare class SubmissionList extends AlpicCommand {
|
|
3
|
-
static description: string;
|
|
4
|
-
static examples: string[];
|
|
5
|
-
static flags: {
|
|
6
|
-
"environment-id": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
-
platform: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
-
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
|
-
"project-id": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
-
"project-name": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
-
};
|
|
12
|
-
run(): Promise<void>;
|
|
13
|
-
}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { AI_PLATFORMS, PLATFORM_LABELS } from "@alpic-ai/api";
|
|
2
|
-
import * as p from "@clack/prompts";
|
|
3
|
-
import { Flags } from "@oclif/core";
|
|
4
|
-
import chalk from "chalk";
|
|
5
|
-
import { api } from "../../api.js";
|
|
6
|
-
import { ERRORS_ONLY } from "../../lib/agent-mode.js";
|
|
7
|
-
import { AlpicCommand } from "../../lib/alpic-command.js";
|
|
8
|
-
import { projectFlags, resolveProjectId } from "../../lib/resolve.js";
|
|
9
|
-
import { parsePlatform } from "../../lib/submission.js";
|
|
10
|
-
import { formatTable } from "../../lib/table.js";
|
|
11
|
-
import { formatAgo, plural } from "../../lib/utils.js";
|
|
12
|
-
export class SubmissionList extends AlpicCommand {
|
|
13
|
-
static description = "List the submission packages of a project";
|
|
14
|
-
static examples = [
|
|
15
|
-
"<%= config.bin %> submission list",
|
|
16
|
-
"<%= config.bin %> submission list --project-id <projectId>",
|
|
17
|
-
"<%= config.bin %> submission list --project-name <projectName>",
|
|
18
|
-
"<%= config.bin %> submission list --environment-id <environmentId> --platform chatgpt",
|
|
19
|
-
"<%= config.bin %> submission list --json",
|
|
20
|
-
];
|
|
21
|
-
static flags = {
|
|
22
|
-
...projectFlags,
|
|
23
|
-
"environment-id": Flags.string({ description: "Filter by environment ID" }),
|
|
24
|
-
platform: Flags.string({ description: "Filter by the directory the package targets", options: [...AI_PLATFORMS] }),
|
|
25
|
-
json: Flags.boolean({ description: "Print the unmodified API response as JSON", default: false }),
|
|
26
|
-
};
|
|
27
|
-
async run() {
|
|
28
|
-
const { flags } = await this.parse(SubmissionList);
|
|
29
|
-
await this.ensureAuthenticated(flags);
|
|
30
|
-
const projectId = await resolveProjectId(flags, { silent: flags.json });
|
|
31
|
-
const logger = this.logger(flags.json ? ERRORS_ONLY : "all");
|
|
32
|
-
logger.start("Fetching submissions...");
|
|
33
|
-
const submissions = await api.submissions.list.v1({
|
|
34
|
-
projectId,
|
|
35
|
-
environmentId: flags["environment-id"],
|
|
36
|
-
platform: flags.platform ? parsePlatform(flags.platform) : undefined,
|
|
37
|
-
});
|
|
38
|
-
logger.stop(`Found ${plural(submissions.length, "submission")}`);
|
|
39
|
-
if (flags.json) {
|
|
40
|
-
this.log(JSON.stringify(submissions));
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
if (submissions.length === 0) {
|
|
44
|
-
p.log.info(`No submissions found. Create one with ${chalk.bold("alpic submission create")}`);
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
const rows = submissions.map((submission) => ({
|
|
48
|
-
id: submission.id,
|
|
49
|
-
platform: PLATFORM_LABELS[submission.platform],
|
|
50
|
-
environment: submission.environmentId,
|
|
51
|
-
audit: submission.auditId ?? "-",
|
|
52
|
-
updated: formatAgo(submission.updatedAt, { short: true }),
|
|
53
|
-
}));
|
|
54
|
-
console.log(formatTable(rows, [
|
|
55
|
-
{ key: "id", header: "id", format: (value) => chalk.cyan(value) },
|
|
56
|
-
{ key: "platform", header: "platform", format: (value) => chalk.bold(value) },
|
|
57
|
-
{ key: "environment", header: "environment", format: (value) => chalk.gray(value) },
|
|
58
|
-
{ key: "audit", header: "beacon audit", format: (value) => chalk.gray(value) },
|
|
59
|
-
{ key: "updated", header: "updated", format: (value) => chalk.gray(value) },
|
|
60
|
-
]));
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=list.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/submission/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,OAAO,cAAe,SAAQ,YAAY;IAC9C,MAAM,CAAU,WAAW,GAAG,2CAA2C,CAAC;IAE1E,MAAM,CAAU,QAAQ,GAAG;QACzB,mCAAmC;QACnC,4DAA4D;QAC5D,gEAAgE;QAChE,uFAAuF;QACvF,0CAA0C;KAC3C,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,YAAY;QACf,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;QAC3E,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,6CAA6C,EAAE,OAAO,EAAE,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC;QAClH,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,2CAA2C,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;KAClG,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEnD,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAEtC,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAExE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC7D,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAExC,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,SAAS;YACT,aAAa,EAAE,KAAK,CAAC,gBAAgB,CAAC;YACtC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;SACrE,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;QAEjE,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,yCAAyC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;YAC7F,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC5C,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC9C,WAAW,EAAE,UAAU,CAAC,aAAa;YACrC,KAAK,EAAE,UAAU,CAAC,OAAO,IAAI,GAAG;YAChC,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;SAC1D,CAAC,CAAC,CAAC;QAEJ,OAAO,CAAC,GAAG,CACT,WAAW,CAAC,IAAI,EAAE;YAChB,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACjE,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC7E,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACnF,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC9E,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;SAC5E,CAAC,CACH,CAAC;IACJ,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { AlpicCommand } from "../../lib/alpic-command.js";
|
|
2
|
-
export declare class SubmissionUpdate extends AlpicCommand {
|
|
3
|
-
static description: string;
|
|
4
|
-
static examples: string[];
|
|
5
|
-
static flags: {
|
|
6
|
-
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
-
"form-data": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
-
"form-data-file": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
-
"submission-id": import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
-
};
|
|
11
|
-
run(): Promise<void>;
|
|
12
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { Flags } from "@oclif/core";
|
|
2
|
-
import chalk from "chalk";
|
|
3
|
-
import { api } from "../../api.js";
|
|
4
|
-
import { ERRORS_ONLY } from "../../lib/agent-mode.js";
|
|
5
|
-
import { AlpicCommand } from "../../lib/alpic-command.js";
|
|
6
|
-
import { formDataFlags, readFormData, submissionFlags } from "../../lib/submission.js";
|
|
7
|
-
export class SubmissionUpdate extends AlpicCommand {
|
|
8
|
-
static description = "Update the fields of a submission package. Only the fields you pass are changed; the rest are left as they are.";
|
|
9
|
-
static examples = [
|
|
10
|
-
"<%= config.bin %> submission update --submission-id <submissionId> --form-data-file ./submission.json",
|
|
11
|
-
'<%= config.bin %> submission update --submission-id <submissionId> --form-data \'{"appName":"Chess"}\'',
|
|
12
|
-
"jq -n '{tagline: \"Play chess in the conversation\"}' | <%= config.bin %> submission update --submission-id <submissionId> --form-data-file -",
|
|
13
|
-
];
|
|
14
|
-
static flags = {
|
|
15
|
-
...submissionFlags,
|
|
16
|
-
...formDataFlags,
|
|
17
|
-
json: Flags.boolean({ description: "Print the unmodified API response as JSON", default: false }),
|
|
18
|
-
};
|
|
19
|
-
async run() {
|
|
20
|
-
const { flags } = await this.parse(SubmissionUpdate);
|
|
21
|
-
const formData = readFormData(flags);
|
|
22
|
-
await this.ensureAuthenticated(flags);
|
|
23
|
-
const submissionId = flags["submission-id"];
|
|
24
|
-
const logger = this.logger(flags.json ? ERRORS_ONLY : "all");
|
|
25
|
-
logger.start("Fetching submission...");
|
|
26
|
-
const submission = await api.submissions.get.v1({ submissionId });
|
|
27
|
-
logger.message("Updating submission...");
|
|
28
|
-
const updated = submission.platform === "chatgpt"
|
|
29
|
-
? await api.submissions.update.v1({ submissionId, platform: "chatgpt", formData })
|
|
30
|
-
: await api.submissions.update.v1({ submissionId, platform: "claudeai", formData });
|
|
31
|
-
logger.stop(`Updated ${chalk.cyan(updated.id)}. ✅`);
|
|
32
|
-
if (flags.json) {
|
|
33
|
-
this.log(JSON.stringify(updated));
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=update.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/submission/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEvF,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IAChD,MAAM,CAAU,WAAW,GACzB,iHAAiH,CAAC;IAEpH,MAAM,CAAU,QAAQ,GAAG;QACzB,uGAAuG;QACvG,wGAAwG;QACxG,+IAA+I;KAChJ,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,eAAe;QAClB,GAAG,aAAa;QAChB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,2CAA2C,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;KAClG,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAErD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAErC,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAEtC,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC7D,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAEvC,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;QAElE,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAEzC,MAAM,OAAO,GACX,UAAU,CAAC,QAAQ,KAAK,SAAS;YAC/B,CAAC,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;YAClF,CAAC,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;QAExF,MAAM,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAEpD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACpC,CAAC;IACH,CAAC"}
|
package/dist/lib/submission.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
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;
|
package/dist/lib/submission.js
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"submission.js","sourceRoot":"","sources":["../../src/lib/submission.ts"],"names":[],"mappings":"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"}
|