@kindgi/cli 0.1.11-rc.0 → 0.2.0-rc.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/README.md +77 -33
- package/dist/build/containerfile.d.ts +2 -0
- package/dist/build/containerfile.d.ts.map +1 -1
- package/dist/build/containerfile.js +14 -3
- package/dist/build/containerfile.js.map +1 -1
- package/dist/build/defaults.d.ts +2 -0
- package/dist/build/defaults.d.ts.map +1 -1
- package/dist/build/defaults.js +8 -0
- package/dist/build/defaults.js.map +1 -1
- package/dist/build/hosted.d.ts +2 -9
- package/dist/build/hosted.d.ts.map +1 -1
- package/dist/build/hosted.js +4 -2
- package/dist/build/hosted.js.map +1 -1
- package/dist/build/pack-blocks.d.ts +51 -0
- package/dist/build/pack-blocks.d.ts.map +1 -0
- package/dist/build/pack-blocks.js +98 -0
- package/dist/build/pack-blocks.js.map +1 -0
- package/dist/build/runners.d.ts +5 -1
- package/dist/build/runners.d.ts.map +1 -1
- package/dist/cli.js +4 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/adapters.d.ts.map +1 -1
- package/dist/commands/adapters.js +12 -6
- package/dist/commands/adapters.js.map +1 -1
- package/dist/commands/agents.js +8 -8
- package/dist/commands/agents.js.map +1 -1
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +155 -39
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/blocks.d.ts.map +1 -1
- package/dist/commands/blocks.js +1 -1
- package/dist/commands/blocks.js.map +1 -1
- package/dist/commands/build.d.ts +17 -6
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +136 -89
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/connection-apps.d.ts +3 -0
- package/dist/commands/connection-apps.d.ts.map +1 -0
- package/dist/commands/connection-apps.js +239 -0
- package/dist/commands/connection-apps.js.map +1 -0
- package/dist/commands/connections.d.ts +44 -0
- package/dist/commands/connections.d.ts.map +1 -0
- package/dist/commands/connections.js +385 -0
- package/dist/commands/connections.js.map +1 -0
- package/dist/commands/conversations.js +1 -1
- package/dist/commands/conversations.js.map +1 -1
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +178 -97
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/dev.d.ts +10 -0
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +177 -87
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/doctor.js +7 -7
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/env-scoped.d.ts.map +1 -1
- package/dist/commands/env-scoped.js +37 -22
- package/dist/commands/env-scoped.js.map +1 -1
- package/dist/commands/env.d.ts.map +1 -1
- package/dist/commands/env.js +35 -22
- package/dist/commands/env.js.map +1 -1
- package/dist/commands/eval-runs.js +6 -6
- package/dist/commands/eval-runs.js.map +1 -1
- package/dist/commands/eval-suites.js +9 -9
- package/dist/commands/eval-suites.js.map +1 -1
- package/dist/commands/exports.d.ts.map +1 -1
- package/dist/commands/exports.js +35 -9
- package/dist/commands/exports.js.map +1 -1
- package/dist/commands/feedback.d.ts.map +1 -1
- package/dist/commands/feedback.js +4 -3
- package/dist/commands/feedback.js.map +1 -1
- package/dist/commands/gate-policies.d.ts.map +1 -1
- package/dist/commands/gate-policies.js +7 -7
- package/dist/commands/gate-policies.js.map +1 -1
- package/dist/commands/helpers.d.ts +9 -0
- package/dist/commands/helpers.d.ts.map +1 -1
- package/dist/commands/helpers.js +20 -0
- package/dist/commands/helpers.js.map +1 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +8 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/init.d.ts +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +57 -45
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/judge-classes.js +4 -4
- package/dist/commands/judge-classes.js.map +1 -1
- package/dist/commands/judging-queue.d.ts +3 -0
- package/dist/commands/judging-queue.d.ts.map +1 -0
- package/dist/commands/judging-queue.js +105 -0
- package/dist/commands/judging-queue.js.map +1 -0
- package/dist/commands/judging-rules.d.ts +3 -0
- package/dist/commands/judging-rules.d.ts.map +1 -0
- package/dist/commands/judging-rules.js +351 -0
- package/dist/commands/judging-rules.js.map +1 -0
- package/dist/commands/judgments.d.ts.map +1 -1
- package/dist/commands/judgments.js +78 -36
- package/dist/commands/judgments.js.map +1 -1
- package/dist/commands/key.d.ts.map +1 -1
- package/dist/commands/key.js +107 -9
- package/dist/commands/key.js.map +1 -1
- package/dist/commands/license.d.ts.map +1 -1
- package/dist/commands/license.js +67 -15
- package/dist/commands/license.js.map +1 -1
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +4 -4
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/people.js +8 -14
- package/dist/commands/people.js.map +1 -1
- package/dist/commands/promote.js +1 -1
- package/dist/commands/promote.js.map +1 -1
- package/dist/commands/proposals.d.ts.map +1 -1
- package/dist/commands/proposals.js +83 -30
- package/dist/commands/proposals.js.map +1 -1
- package/dist/commands/run-waits.d.ts +68 -19
- package/dist/commands/run-waits.d.ts.map +1 -1
- package/dist/commands/run-waits.js +82 -8
- package/dist/commands/run-waits.js.map +1 -1
- package/dist/commands/runs.d.ts.map +1 -1
- package/dist/commands/runs.js +70 -30
- package/dist/commands/runs.js.map +1 -1
- package/dist/commands/schedules.d.ts.map +1 -1
- package/dist/commands/schedules.js +35 -12
- package/dist/commands/schedules.js.map +1 -1
- package/dist/commands/secrets-copy.d.ts.map +1 -1
- package/dist/commands/secrets-copy.js +20 -12
- package/dist/commands/secrets-copy.js.map +1 -1
- package/dist/commands/secrets.d.ts.map +1 -1
- package/dist/commands/secrets.js +13 -8
- package/dist/commands/secrets.js.map +1 -1
- package/dist/commands/sign-in.js +2 -2
- package/dist/commands/sign-in.js.map +1 -1
- package/dist/commands/sites.d.ts.map +1 -1
- package/dist/commands/sites.js +13 -6
- package/dist/commands/sites.js.map +1 -1
- package/dist/commands/skills.d.ts +54 -3
- package/dist/commands/skills.d.ts.map +1 -1
- package/dist/commands/skills.js +169 -38
- package/dist/commands/skills.js.map +1 -1
- package/dist/commands/tokens.d.ts.map +1 -1
- package/dist/commands/tokens.js +9 -1
- package/dist/commands/tokens.js.map +1 -1
- package/dist/commands/upgrade.d.ts.map +1 -1
- package/dist/commands/upgrade.js +9 -8
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/commands/webhooks.d.ts.map +1 -1
- package/dist/commands/webhooks.js +62 -24
- package/dist/commands/webhooks.js.map +1 -1
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +18 -3
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts +12 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +2 -0
- package/dist/context.js.map +1 -1
- package/dist/deploy/pack-blocks-gate.d.ts +12 -0
- package/dist/deploy/pack-blocks-gate.d.ts.map +1 -0
- package/dist/deploy/pack-blocks-gate.js +34 -0
- package/dist/deploy/pack-blocks-gate.js.map +1 -0
- package/dist/deploy/post.d.ts +9 -0
- package/dist/deploy/post.d.ts.map +1 -1
- package/dist/deploy/post.js +20 -3
- package/dist/deploy/post.js.map +1 -1
- package/dist/dev/defaults.d.ts.map +1 -1
- package/dist/dev/defaults.js +8 -1
- package/dist/dev/defaults.js.map +1 -1
- package/dist/dev/dev-only-imports.d.ts +7 -4
- package/dist/dev/dev-only-imports.d.ts.map +1 -1
- package/dist/dev/dev-only-imports.js +5 -5
- package/dist/dev/dev-only-imports.js.map +1 -1
- package/dist/dev/log-view.d.ts +4 -4
- package/dist/dev/log-view.d.ts.map +1 -1
- package/dist/dev/log-view.js +4 -4
- package/dist/dev/log-view.js.map +1 -1
- package/dist/dev/pack-service.d.ts +7 -1
- package/dist/dev/pack-service.d.ts.map +1 -1
- package/dist/dev/pack-service.js +36 -3
- package/dist/dev/pack-service.js.map +1 -1
- package/dist/dev/preview-expiry.d.ts +6 -7
- package/dist/dev/preview-expiry.d.ts.map +1 -1
- package/dist/dev/preview-expiry.js +7 -8
- package/dist/dev/preview-expiry.js.map +1 -1
- package/dist/dev/providers.d.ts +2 -1
- package/dist/dev/providers.d.ts.map +1 -1
- package/dist/dev/providers.js +28 -12
- package/dist/dev/providers.js.map +1 -1
- package/dist/dev/runners.d.ts +19 -0
- package/dist/dev/runners.d.ts.map +1 -1
- package/dist/dev/runtime-container.d.ts.map +1 -1
- package/dist/dev/runtime-container.js +2 -2
- package/dist/dev/runtime-container.js.map +1 -1
- package/dist/dev/runtime-env.d.ts +2 -1
- package/dist/dev/runtime-env.d.ts.map +1 -1
- package/dist/dev/runtime-env.js +5 -5
- package/dist/dev/runtime-env.js.map +1 -1
- package/dist/dev/runtime-image.d.ts +2 -2
- package/dist/dev/runtime-image.d.ts.map +1 -1
- package/dist/dev/runtime-image.js +2 -2
- package/dist/dev/runtime-image.js.map +1 -1
- package/dist/dev/runtime-registry.d.ts +8 -10
- package/dist/dev/runtime-registry.d.ts.map +1 -1
- package/dist/dev/runtime-registry.js +27 -27
- package/dist/dev/runtime-registry.js.map +1 -1
- package/dist/dev/sandbox/index.js +1 -1
- package/dist/dev/sandbox/notices.d.ts +2 -0
- package/dist/dev/sandbox/notices.d.ts.map +1 -1
- package/dist/dev/sandbox/notices.js +5 -2
- package/dist/dev/sandbox/notices.js.map +1 -1
- package/dist/env/defaults.d.ts.map +1 -1
- package/dist/env/defaults.js +3 -1
- package/dist/env/defaults.js.map +1 -1
- package/dist/env/pack-env-plan.d.ts +4 -0
- package/dist/env/pack-env-plan.d.ts.map +1 -1
- package/dist/env/pack-env-plan.js +8 -2
- package/dist/env/pack-env-plan.js.map +1 -1
- package/dist/exports/create.d.ts +2 -0
- package/dist/exports/create.d.ts.map +1 -1
- package/dist/exports/create.js +10 -2
- package/dist/exports/create.js.map +1 -1
- package/dist/exports/plan.d.ts.map +1 -1
- package/dist/exports/plan.js +20 -0
- package/dist/exports/plan.js.map +1 -1
- package/dist/feedback/store.d.ts.map +1 -1
- package/dist/feedback/store.js +8 -19
- package/dist/feedback/store.js.map +1 -1
- package/dist/help.d.ts +6 -0
- package/dist/help.d.ts.map +1 -1
- package/dist/help.js +35 -1
- package/dist/help.js.map +1 -1
- package/dist/init/agent-access.d.ts +3 -2
- package/dist/init/agent-access.d.ts.map +1 -1
- package/dist/init/agent-access.js +5 -1
- package/dist/init/agent-access.js.map +1 -1
- package/dist/init/augment-scaffolder.d.ts +7 -0
- package/dist/init/augment-scaffolder.d.ts.map +1 -1
- package/dist/init/augment-scaffolder.js +15 -14
- package/dist/init/augment-scaffolder.js.map +1 -1
- package/dist/init/dependency-specs.d.ts +1 -0
- package/dist/init/dependency-specs.d.ts.map +1 -1
- package/dist/init/dependency-specs.js +27 -7
- package/dist/init/dependency-specs.js.map +1 -1
- package/dist/init/java-augment.d.ts +3 -0
- package/dist/init/java-augment.d.ts.map +1 -1
- package/dist/init/java-augment.js +16 -15
- package/dist/init/java-augment.js.map +1 -1
- package/dist/init/python-augment.d.ts +3 -0
- package/dist/init/python-augment.d.ts.map +1 -1
- package/dist/init/python-augment.js +15 -14
- package/dist/init/python-augment.js.map +1 -1
- package/dist/init/scala-augment.d.ts +8 -1
- package/dist/init/scala-augment.d.ts.map +1 -1
- package/dist/init/scala-augment.js +32 -17
- package/dist/init/scala-augment.js.map +1 -1
- package/dist/key/defaults.d.ts.map +1 -1
- package/dist/key/defaults.js +6 -1
- package/dist/key/defaults.js.map +1 -1
- package/dist/key/runners.d.ts +4 -1
- package/dist/key/runners.d.ts.map +1 -1
- package/dist/license/renew.d.ts +6 -0
- package/dist/license/renew.d.ts.map +1 -1
- package/dist/license/renew.js +8 -5
- package/dist/license/renew.js.map +1 -1
- package/dist/main.d.ts +10 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +19 -5
- package/dist/main.js.map +1 -1
- package/dist/output.d.ts +6 -0
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +8 -0
- package/dist/output.js.map +1 -1
- package/dist/parse.d.ts +1 -1
- package/dist/parse.d.ts.map +1 -1
- package/dist/parse.js +1 -1
- package/dist/parse.js.map +1 -1
- package/dist/private-file.d.ts +23 -0
- package/dist/private-file.d.ts.map +1 -0
- package/dist/private-file.js +65 -0
- package/dist/private-file.js.map +1 -0
- package/dist/progress-head.d.ts +13 -0
- package/dist/progress-head.d.ts.map +1 -0
- package/dist/progress-head.js +30 -0
- package/dist/progress-head.js.map +1 -0
- package/dist/progress-lines.d.ts +29 -0
- package/dist/progress-lines.d.ts.map +1 -0
- package/dist/progress-lines.js +35 -0
- package/dist/progress-lines.js.map +1 -0
- package/dist/sdk-skills/kindgi-authoring-agents/SKILL.md +6 -6
- package/dist/sdk-skills/kindgi-authoring-flows/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-authoring-guardrails/SKILL.md +2 -2
- package/dist/sdk-skills/kindgi-authoring-mcp-servers/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-authoring-providers/SKILL.md +3 -3
- package/dist/sdk-skills/kindgi-authoring-tools/SKILL.md +39 -6
- package/dist/sdk-skills/kindgi-fix-corrections/SKILL.md +262 -0
- package/dist/sdk-skills/kindgi-framework-feedback/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-getting-started/SKILL.md +43 -9
- package/dist/sdk-skills/kindgi-java-authoring-agents/SKILL.md +5 -5
- package/dist/sdk-skills/kindgi-java-authoring-flows/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-java-authoring-guardrails/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-java-authoring-tools/SKILL.md +91 -9
- package/dist/sdk-skills/kindgi-java-getting-started/SKILL.md +38 -9
- package/dist/sdk-skills/kindgi-python-authoring-agents/SKILL.md +4 -4
- package/dist/sdk-skills/kindgi-python-authoring-flows/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-python-authoring-guardrails/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-python-authoring-tools/SKILL.md +43 -8
- package/dist/sdk-skills/kindgi-python-getting-started/SKILL.md +39 -11
- package/dist/sdk-skills/kindgi-scala-authoring-agents/SKILL.md +5 -5
- package/dist/sdk-skills/kindgi-scala-authoring-flows/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-scala-authoring-guardrails/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-scala-authoring-tools/SKILL.md +82 -7
- package/dist/sdk-skills/kindgi-scala-getting-started/SKILL.md +38 -9
- package/dist/sdk-skills/kindgi-using/SKILL.md +50 -21
- package/dist/templates/drupal/AGENTS.md +2 -1
- package/dist/templates/follow-up/.nvmrc +1 -0
- package/dist/templates/follow-up/AGENTS.md +83 -0
- package/dist/templates/follow-up/README.md.tmpl +111 -0
- package/dist/templates/follow-up/agents/follow-up/index.test.ts.tmpl +26 -0
- package/dist/templates/follow-up/agents/follow-up/index.ts.tmpl +53 -0
- package/dist/templates/follow-up/gitignore +8 -0
- package/dist/templates/follow-up/kindgi.config.ts.tmpl +45 -0
- package/dist/templates/follow-up/package.json.tmpl +30 -0
- package/dist/templates/follow-up/pnpm-workspace.yaml +9 -0
- package/dist/templates/follow-up/tools/gmail-send/index.test.ts.tmpl +60 -0
- package/dist/templates/follow-up/tools/gmail-send/index.ts.tmpl +14 -0
- package/dist/templates/follow-up/tsconfig.json.tmpl +27 -0
- package/dist/templates/follow-up/vitest.config.ts.tmpl +14 -0
- package/dist/templates/java/AGENTS.md +2 -1
- package/dist/templates/minimal/AGENTS.md +2 -1
- package/dist/templates/python/AGENTS.md +2 -1
- package/dist/templates/sample/AGENTS.md +2 -1
- package/dist/templates/scala/AGENTS.md +2 -1
- package/dist/templates/woocommerce/AGENTS.md +12 -3
- package/dist/templates/woocommerce/README.md.tmpl +29 -5
- package/dist/templates/woocommerce/agents/store-agent/index.test.ts.tmpl +38 -7
- package/dist/templates/woocommerce/agents/store-agent/index.ts.tmpl +7 -12
- package/dist/templates/woocommerce/blocks/store-agent-prompt.json.tmpl +10 -0
- package/dist/templates/woocommerce/blocks/store-agent-prompt.liquid.tmpl +7 -0
- package/dist/templates/woocommerce/kindgi.config.ts.tmpl +1 -0
- package/dist/value-target.d.ts +4 -2
- package/dist/value-target.d.ts.map +1 -1
- package/dist/value-target.js +8 -5
- package/dist/value-target.js.map +1 -1
- package/package.json +13 -13
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
// Copyright (C) 2026 Kindgi Inc.
|
|
3
|
+
import { UsageError } from '../errors.js';
|
|
4
|
+
import { integerFlag, listFlag, projectIdFlag, requiredPositional, runSdk, stringFlag, timeFlag, } from './helpers.js';
|
|
5
|
+
/** The run outcome `--status` matches; a rule takes `completed` only. */
|
|
6
|
+
const RUN_STATUSES = ['completed'];
|
|
7
|
+
const PROJECT_OPTION = {
|
|
8
|
+
project: {
|
|
9
|
+
type: 'string',
|
|
10
|
+
description: "The project the rule is in. Without it, the tenant's Default project.",
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
/** The flags that say which runs a rule matches, shared by create, update and preview. */
|
|
14
|
+
const WHEN_OPTIONS = {
|
|
15
|
+
agent: { type: 'string', multiple: true, description: 'Match runs of this agent (repeatable).' },
|
|
16
|
+
flow: { type: 'string', multiple: true, description: 'Match runs of this flow (repeatable).' },
|
|
17
|
+
'agent-version': {
|
|
18
|
+
type: 'string',
|
|
19
|
+
multiple: true,
|
|
20
|
+
description: "Match runs of this agent version exactly, or `live` for runs that got the agent's live version (repeatable).",
|
|
21
|
+
},
|
|
22
|
+
status: {
|
|
23
|
+
type: 'string',
|
|
24
|
+
multiple: true,
|
|
25
|
+
description: 'Match runs by how they ended. Only `completed` is accepted — a correction needs a completed run, so `failed` and `cancelled` are refused.',
|
|
26
|
+
},
|
|
27
|
+
'include-dry-runs': {
|
|
28
|
+
type: 'boolean',
|
|
29
|
+
description: 'Also match dry runs; off by default. Replays never match.',
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
/** The share `--sample`, a number greater than 0 and at most 1. */
|
|
33
|
+
function sampleFlag(ctx) {
|
|
34
|
+
const raw = stringFlag(ctx, 'sample');
|
|
35
|
+
if (raw === undefined)
|
|
36
|
+
return undefined;
|
|
37
|
+
const n = Number(raw);
|
|
38
|
+
if (!Number.isFinite(n) || n <= 0 || n > 1) {
|
|
39
|
+
throw new UsageError(`--sample must be a share greater than 0 and at most 1, got "${raw}"`);
|
|
40
|
+
}
|
|
41
|
+
return n;
|
|
42
|
+
}
|
|
43
|
+
/** Whether any match flag is given, so an `update` replaces the rule's `when` whole. */
|
|
44
|
+
function hasWhenFlags(ctx) {
|
|
45
|
+
return (listFlag(ctx, 'agent').length > 0 ||
|
|
46
|
+
listFlag(ctx, 'flow').length > 0 ||
|
|
47
|
+
listFlag(ctx, 'agent-version').length > 0 ||
|
|
48
|
+
listFlag(ctx, 'status').length > 0 ||
|
|
49
|
+
ctx.options['include-dry-runs'] === true);
|
|
50
|
+
}
|
|
51
|
+
/** The `when` a rule matches, built from the match flags. Absent fields don't narrow. */
|
|
52
|
+
function whenFromFlags(ctx) {
|
|
53
|
+
const agentIds = listFlag(ctx, 'agent');
|
|
54
|
+
const flowIds = listFlag(ctx, 'flow');
|
|
55
|
+
const versions = listFlag(ctx, 'agent-version');
|
|
56
|
+
const status = listFlag(ctx, 'status');
|
|
57
|
+
for (const s of status) {
|
|
58
|
+
if (!RUN_STATUSES.includes(s)) {
|
|
59
|
+
throw new UsageError(`--status takes only 'completed' (a correction needs a completed run), got "${s}"`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return {
|
|
63
|
+
...(agentIds.length > 0 && { agentIds }),
|
|
64
|
+
...(flowIds.length > 0 && { flowIds }),
|
|
65
|
+
...(versions.length > 0 && { versions }),
|
|
66
|
+
...(status.length > 0 && { status: status }),
|
|
67
|
+
...(ctx.options['include-dry-runs'] === true && { includeDryRuns: true }),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
const create = {
|
|
71
|
+
kind: 'leaf',
|
|
72
|
+
name: 'create',
|
|
73
|
+
description: 'Create a judging rule: which of the project’s finished runs a person is asked to correct, and how many to queue.',
|
|
74
|
+
usage: 'kindgi judging-rules create --name=<name> [--project=<id>] [--agent=<id>] [--flow=<id>] [--agent-version=<v>] [--status=completed] [--include-dry-runs] [--sample=<0-1>] [--max-open=<n>] [--class=<judge-class-id>] [--disabled] [--queue-last=<n>] [--queue-since=<time>]',
|
|
75
|
+
optionSpec: {
|
|
76
|
+
...PROJECT_OPTION,
|
|
77
|
+
name: { type: 'string', description: 'A name for the rule. Required.' },
|
|
78
|
+
...WHEN_OPTIONS,
|
|
79
|
+
sample: {
|
|
80
|
+
type: 'string',
|
|
81
|
+
description: 'The share of matching runs to queue, greater than 0 and at most 1 (default 1). The same runs every time, by run and rule id.',
|
|
82
|
+
},
|
|
83
|
+
'max-open': {
|
|
84
|
+
type: 'string',
|
|
85
|
+
description: 'Add nothing while this rule has this many open items. Without it, no cap.',
|
|
86
|
+
},
|
|
87
|
+
class: {
|
|
88
|
+
type: 'string',
|
|
89
|
+
description: 'The judge class whose correction closes an item. Without it, any correction closes it.',
|
|
90
|
+
},
|
|
91
|
+
disabled: { type: 'boolean', description: 'Create the rule disabled (it matches nothing).' },
|
|
92
|
+
'queue-last': {
|
|
93
|
+
type: 'string',
|
|
94
|
+
description: "Also queue the rule's matches among the last N finished runs, right after creating it (1 to 1000).",
|
|
95
|
+
},
|
|
96
|
+
'queue-since': {
|
|
97
|
+
type: 'string',
|
|
98
|
+
description: 'Also queue the rule’s matches among runs finished at or after this time (an ISO 8601 time with a zone, or a date).',
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
run: (ctx) => runSdk(ctx, 'judging-rules create', async () => {
|
|
102
|
+
const name = stringFlag(ctx, 'name');
|
|
103
|
+
if (name === undefined)
|
|
104
|
+
throw new UsageError('--name=<name> is required');
|
|
105
|
+
const projectId = await projectIdFlag(ctx);
|
|
106
|
+
const sample = sampleFlag(ctx);
|
|
107
|
+
const maxOpen = integerFlag(ctx, 'max-open');
|
|
108
|
+
const judgeClassId = stringFlag(ctx, 'class');
|
|
109
|
+
const spec = {
|
|
110
|
+
name,
|
|
111
|
+
when: whenFromFlags(ctx),
|
|
112
|
+
...(sample !== undefined && { sample }),
|
|
113
|
+
...(maxOpen !== undefined && { maxOpen }),
|
|
114
|
+
...(judgeClassId !== undefined && { judgeClassId }),
|
|
115
|
+
...(ctx.options.disabled === true && { enabled: false }),
|
|
116
|
+
};
|
|
117
|
+
const rule = await ctx.client().projects.judgingRules.create(projectId, spec);
|
|
118
|
+
const last = integerFlag(ctx, 'queue-last');
|
|
119
|
+
const since = timeFlag(ctx, 'queue-since');
|
|
120
|
+
if (last === undefined && since === undefined)
|
|
121
|
+
return rule;
|
|
122
|
+
const queued = await ctx.client().projects.judgingRules.queueRecent(projectId, rule.ruleId, {
|
|
123
|
+
...(last !== undefined && { last }),
|
|
124
|
+
...(since !== undefined && { since }),
|
|
125
|
+
});
|
|
126
|
+
return { rule, queued };
|
|
127
|
+
}),
|
|
128
|
+
};
|
|
129
|
+
const list = {
|
|
130
|
+
kind: 'leaf',
|
|
131
|
+
name: 'list',
|
|
132
|
+
description: 'List the project’s live judging rules (their latest versions), oldest first.',
|
|
133
|
+
usage: 'kindgi judging-rules list [--project=<id>] [--limit=<n>] [--cursor=<c>]',
|
|
134
|
+
optionSpec: {
|
|
135
|
+
...PROJECT_OPTION,
|
|
136
|
+
limit: { type: 'string', description: 'The most rules to return.' },
|
|
137
|
+
cursor: {
|
|
138
|
+
type: 'string',
|
|
139
|
+
description: "Resume after this cursor, from the previous page's `nextCursor`.",
|
|
140
|
+
},
|
|
141
|
+
},
|
|
142
|
+
run: (ctx) => runSdk(ctx, 'judging-rules list', async () => {
|
|
143
|
+
const projectId = await projectIdFlag(ctx);
|
|
144
|
+
const limit = integerFlag(ctx, 'limit');
|
|
145
|
+
const cursor = stringFlag(ctx, 'cursor');
|
|
146
|
+
return await ctx.client().projects.judgingRules.list(projectId, {
|
|
147
|
+
...(limit !== undefined && { limit }),
|
|
148
|
+
...(cursor !== undefined && { cursor }),
|
|
149
|
+
});
|
|
150
|
+
}),
|
|
151
|
+
};
|
|
152
|
+
const show = {
|
|
153
|
+
kind: 'leaf',
|
|
154
|
+
name: 'show',
|
|
155
|
+
description: 'Show a judging rule’s latest version.',
|
|
156
|
+
usage: 'kindgi judging-rules show <rule-id> [--project=<id>]',
|
|
157
|
+
optionSpec: { ...PROJECT_OPTION },
|
|
158
|
+
run: (ctx) => runSdk(ctx, 'judging-rules show', async () => {
|
|
159
|
+
const ruleId = requiredPositional(ctx, 0, 'rule-id');
|
|
160
|
+
const projectId = await projectIdFlag(ctx);
|
|
161
|
+
return await ctx.client().projects.judgingRules.get(projectId, ruleId);
|
|
162
|
+
}),
|
|
163
|
+
};
|
|
164
|
+
/** Refuse the `update` flag pairs that contradict each other. */
|
|
165
|
+
function refuseConflictingUpdateFlags(ctx) {
|
|
166
|
+
if (integerFlag(ctx, 'max-open') !== undefined && ctx.options['clear-max-open'] === true) {
|
|
167
|
+
throw new UsageError('Give --max-open or --clear-max-open, not both');
|
|
168
|
+
}
|
|
169
|
+
if (stringFlag(ctx, 'class') !== undefined && ctx.options['clear-class'] === true) {
|
|
170
|
+
throw new UsageError('Give --class or --clear-class, not both');
|
|
171
|
+
}
|
|
172
|
+
if (ctx.options.enable === true && ctx.options.disable === true) {
|
|
173
|
+
throw new UsageError('Give --enable or --disable, not both');
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
/** The patch an `update` sends: the given fields replaced, `when` whole. Refuses an empty change. */
|
|
177
|
+
function patchFromFlags(ctx) {
|
|
178
|
+
refuseConflictingUpdateFlags(ctx);
|
|
179
|
+
const name = stringFlag(ctx, 'name');
|
|
180
|
+
const sample = sampleFlag(ctx);
|
|
181
|
+
const maxOpen = integerFlag(ctx, 'max-open');
|
|
182
|
+
const judgeClassId = stringFlag(ctx, 'class');
|
|
183
|
+
const patch = {
|
|
184
|
+
...(name !== undefined && { name }),
|
|
185
|
+
...(hasWhenFlags(ctx) && { when: whenFromFlags(ctx) }),
|
|
186
|
+
...(sample !== undefined && { sample }),
|
|
187
|
+
...(maxOpen !== undefined && { maxOpen }),
|
|
188
|
+
...(ctx.options['clear-max-open'] === true && { maxOpen: null }),
|
|
189
|
+
...(judgeClassId !== undefined && { judgeClassId }),
|
|
190
|
+
...(ctx.options['clear-class'] === true && { judgeClassId: null }),
|
|
191
|
+
...(ctx.options.enable === true && { enabled: true }),
|
|
192
|
+
...(ctx.options.disable === true && { enabled: false }),
|
|
193
|
+
};
|
|
194
|
+
if (Object.keys(patch).length === 0) {
|
|
195
|
+
throw new UsageError('Give at least one change: --name, a match flag, --sample, --max-open/--clear-max-open, --class/--clear-class, or --enable/--disable');
|
|
196
|
+
}
|
|
197
|
+
return patch;
|
|
198
|
+
}
|
|
199
|
+
const update = {
|
|
200
|
+
kind: 'leaf',
|
|
201
|
+
name: 'update',
|
|
202
|
+
description: 'Change a judging rule: a new version with the given fields replaced. The match flags replace the rule’s `when` whole.',
|
|
203
|
+
usage: 'kindgi judging-rules update <rule-id> [--project=<id>] [--name=<name>] [--agent=<id>] [--flow=<id>] [--agent-version=<v>] [--status=completed] [--include-dry-runs] [--sample=<0-1>] [--max-open=<n> | --clear-max-open] [--class=<id> | --clear-class] [--enable | --disable]',
|
|
204
|
+
optionSpec: {
|
|
205
|
+
...PROJECT_OPTION,
|
|
206
|
+
name: { type: 'string', description: 'A new name for the rule.' },
|
|
207
|
+
...WHEN_OPTIONS,
|
|
208
|
+
sample: { type: 'string', description: 'A new sample share, greater than 0 and at most 1.' },
|
|
209
|
+
'max-open': { type: 'string', description: 'A new open-items cap.' },
|
|
210
|
+
'clear-max-open': { type: 'boolean', description: 'Remove the open-items cap.' },
|
|
211
|
+
class: { type: 'string', description: 'A new judge class whose correction closes an item.' },
|
|
212
|
+
'clear-class': {
|
|
213
|
+
type: 'boolean',
|
|
214
|
+
description: 'Remove the judge class; any correction closes an item.',
|
|
215
|
+
},
|
|
216
|
+
enable: { type: 'boolean', description: 'Enable the rule.' },
|
|
217
|
+
disable: { type: 'boolean', description: 'Disable the rule.' },
|
|
218
|
+
},
|
|
219
|
+
run: (ctx) => runSdk(ctx, 'judging-rules update', async () => {
|
|
220
|
+
const ruleId = requiredPositional(ctx, 0, 'rule-id');
|
|
221
|
+
const projectId = await projectIdFlag(ctx);
|
|
222
|
+
const patch = patchFromFlags(ctx);
|
|
223
|
+
return await ctx.client().projects.judgingRules.update(projectId, ruleId, patch);
|
|
224
|
+
}),
|
|
225
|
+
};
|
|
226
|
+
const remove = {
|
|
227
|
+
kind: 'leaf',
|
|
228
|
+
name: 'remove',
|
|
229
|
+
description: 'Unregister a judging rule, so it queues nothing more. Its queued items stay.',
|
|
230
|
+
usage: 'kindgi judging-rules remove <rule-id> [--project=<id>]',
|
|
231
|
+
optionSpec: { ...PROJECT_OPTION },
|
|
232
|
+
run: (ctx) => runSdk(ctx, 'judging-rules remove', async () => {
|
|
233
|
+
const ruleId = requiredPositional(ctx, 0, 'rule-id');
|
|
234
|
+
const projectId = await projectIdFlag(ctx);
|
|
235
|
+
return await ctx.client().projects.judgingRules.unregister(projectId, ruleId);
|
|
236
|
+
}),
|
|
237
|
+
};
|
|
238
|
+
const versions = {
|
|
239
|
+
kind: 'leaf',
|
|
240
|
+
name: 'versions',
|
|
241
|
+
description: 'List every version of a judging rule, newest first.',
|
|
242
|
+
usage: 'kindgi judging-rules versions <rule-id> [--project=<id>] [--limit=<n>] [--cursor=<c>]',
|
|
243
|
+
optionSpec: {
|
|
244
|
+
...PROJECT_OPTION,
|
|
245
|
+
limit: { type: 'string', description: 'The most versions to return.' },
|
|
246
|
+
cursor: {
|
|
247
|
+
type: 'string',
|
|
248
|
+
description: "Resume after this cursor, from the previous page's `nextCursor`.",
|
|
249
|
+
},
|
|
250
|
+
},
|
|
251
|
+
run: (ctx) => runSdk(ctx, 'judging-rules versions', async () => {
|
|
252
|
+
const ruleId = requiredPositional(ctx, 0, 'rule-id');
|
|
253
|
+
const projectId = await projectIdFlag(ctx);
|
|
254
|
+
const limit = integerFlag(ctx, 'limit');
|
|
255
|
+
const cursor = stringFlag(ctx, 'cursor');
|
|
256
|
+
return await ctx.client().projects.judgingRules.versions(projectId, ruleId, {
|
|
257
|
+
...(limit !== undefined && { limit }),
|
|
258
|
+
...(cursor !== undefined && { cursor }),
|
|
259
|
+
});
|
|
260
|
+
}),
|
|
261
|
+
};
|
|
262
|
+
const results = {
|
|
263
|
+
kind: 'leaf',
|
|
264
|
+
name: 'results',
|
|
265
|
+
description: 'A judging rule’s results since a time, by the rule’s version and the agent’s, never pooled.',
|
|
266
|
+
usage: 'kindgi judging-rules results <rule-id> [--project=<id>] [--since=<time>]',
|
|
267
|
+
optionSpec: {
|
|
268
|
+
...PROJECT_OPTION,
|
|
269
|
+
since: {
|
|
270
|
+
type: 'string',
|
|
271
|
+
description: 'Only runs queued (or skipped by the cap) at or after this time (an ISO 8601 time with a zone, or a date).',
|
|
272
|
+
},
|
|
273
|
+
},
|
|
274
|
+
run: (ctx) => runSdk(ctx, 'judging-rules results', async () => {
|
|
275
|
+
const ruleId = requiredPositional(ctx, 0, 'rule-id');
|
|
276
|
+
const projectId = await projectIdFlag(ctx);
|
|
277
|
+
const since = timeFlag(ctx, 'since');
|
|
278
|
+
return await ctx.client().projects.judgingRules.results(projectId, ruleId, since);
|
|
279
|
+
}),
|
|
280
|
+
};
|
|
281
|
+
const preview = {
|
|
282
|
+
kind: 'leaf',
|
|
283
|
+
name: 'preview',
|
|
284
|
+
description: 'What a rule would queue among the project’s recent runs, without queueing anything.',
|
|
285
|
+
usage: 'kindgi judging-rules preview [--project=<id>] [--agent=<id>] [--flow=<id>] [--agent-version=<v>] [--status=completed] [--include-dry-runs] [--sample=<0-1>] [--last=<n>] [--rule=<rule-id>]',
|
|
286
|
+
optionSpec: {
|
|
287
|
+
...PROJECT_OPTION,
|
|
288
|
+
...WHEN_OPTIONS,
|
|
289
|
+
sample: {
|
|
290
|
+
type: 'string',
|
|
291
|
+
description: 'The sample share to preview with, greater than 0 and at most 1.',
|
|
292
|
+
},
|
|
293
|
+
last: {
|
|
294
|
+
type: 'string',
|
|
295
|
+
description: 'How many recent runs to look at, 1 to 500 (default 100).',
|
|
296
|
+
},
|
|
297
|
+
rule: {
|
|
298
|
+
type: 'string',
|
|
299
|
+
description: "An existing rule's id: sample as it does, so the count is exactly what it would take.",
|
|
300
|
+
},
|
|
301
|
+
},
|
|
302
|
+
run: (ctx) => runSdk(ctx, 'judging-rules preview', async () => {
|
|
303
|
+
const projectId = await projectIdFlag(ctx);
|
|
304
|
+
const sample = sampleFlag(ctx);
|
|
305
|
+
const last = integerFlag(ctx, 'last');
|
|
306
|
+
const ruleId = stringFlag(ctx, 'rule');
|
|
307
|
+
return await ctx.client().projects.judgingRules.preview(projectId, {
|
|
308
|
+
...whenFromFlags(ctx),
|
|
309
|
+
...(sample !== undefined && { sample }),
|
|
310
|
+
...(last !== undefined && { last }),
|
|
311
|
+
...(ruleId !== undefined && { ruleId }),
|
|
312
|
+
});
|
|
313
|
+
}),
|
|
314
|
+
};
|
|
315
|
+
const queueRecent = {
|
|
316
|
+
kind: 'leaf',
|
|
317
|
+
name: 'queue-recent',
|
|
318
|
+
description: 'Queue the rule’s matches among recent runs, to catch it up on runs that ended before it was there. The open-items cap is not applied.',
|
|
319
|
+
usage: 'kindgi judging-rules queue-recent <rule-id> [--project=<id>] [--last=<n>] [--since=<time>]',
|
|
320
|
+
optionSpec: {
|
|
321
|
+
...PROJECT_OPTION,
|
|
322
|
+
last: {
|
|
323
|
+
type: 'string',
|
|
324
|
+
description: "This many of the project's most recent finished runs, 1 to 1000 (newest first).",
|
|
325
|
+
},
|
|
326
|
+
since: {
|
|
327
|
+
type: 'string',
|
|
328
|
+
description: 'Runs finished at or after this time (an ISO 8601 time with a zone, or a date). Give --last and/or --since.',
|
|
329
|
+
},
|
|
330
|
+
},
|
|
331
|
+
run: (ctx) => runSdk(ctx, 'judging-rules queue-recent', async () => {
|
|
332
|
+
const ruleId = requiredPositional(ctx, 0, 'rule-id');
|
|
333
|
+
const projectId = await projectIdFlag(ctx);
|
|
334
|
+
const last = integerFlag(ctx, 'last');
|
|
335
|
+
const since = timeFlag(ctx, 'since');
|
|
336
|
+
if (last === undefined && since === undefined) {
|
|
337
|
+
throw new UsageError('Give --last=<n> and/or --since=<time>');
|
|
338
|
+
}
|
|
339
|
+
return await ctx.client().projects.judgingRules.queueRecent(projectId, ruleId, {
|
|
340
|
+
...(last !== undefined && { last }),
|
|
341
|
+
...(since !== undefined && { since }),
|
|
342
|
+
});
|
|
343
|
+
}),
|
|
344
|
+
};
|
|
345
|
+
export const judgingRulesCommand = {
|
|
346
|
+
kind: 'group',
|
|
347
|
+
name: 'judging-rules',
|
|
348
|
+
description: "A project's judging rules — which finished runs a person is asked to correct (create / list / show / update / remove / versions / results / preview / queue-recent).",
|
|
349
|
+
subcommands: [create, list, show, update, remove, versions, results, preview, queueRecent],
|
|
350
|
+
};
|
|
351
|
+
//# sourceMappingURL=judging-rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"judging-rules.js","sourceRoot":"","sources":["../../src/commands/judging-rules.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"judgments.d.ts","sourceRoot":"","sources":["../../src/commands/judgments.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"judgments.d.ts","sourceRoot":"","sources":["../../src/commands/judgments.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,YAAY,CAAC;AAuNvD,eAAO,MAAM,gBAAgB,EAAE,OAM9B,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
2
|
// Copyright (C) 2026 Kindgi Inc.
|
|
3
|
+
import { CORRECTION_ITEM } from '@kindgi/types';
|
|
3
4
|
import { UsageError } from '../errors.js';
|
|
4
|
-
import { integerFlag, requiredPositional, runSdk, stringFlag } from './helpers.js';
|
|
5
|
+
import { integerFlag, readJsonInput, requiredPositional, runSdk, stringFlag } from './helpers.js';
|
|
5
6
|
const VERDICTS = ['yes', 'no'];
|
|
6
7
|
/** The string flags given, under their request field names (`{ class: 'judgeClassId' }`). */
|
|
7
8
|
function givenFlags(ctx, fields) {
|
|
@@ -13,58 +14,99 @@ function givenFlags(ctx, fields) {
|
|
|
13
14
|
}
|
|
14
15
|
return out;
|
|
15
16
|
}
|
|
17
|
+
/** The optional `--correction` flag, parsed from JSON or `@<file>`. */
|
|
18
|
+
async function correctionFlag(ctx) {
|
|
19
|
+
const text = stringFlag(ctx, 'correction');
|
|
20
|
+
return text === undefined ? undefined : (await readJsonInput(text));
|
|
21
|
+
}
|
|
22
|
+
/** The judged item for an ordinary judgment, from `--item`/`--pointer`/`--rank`. */
|
|
23
|
+
function ordinaryItem(ctx) {
|
|
24
|
+
const key = stringFlag(ctx, 'item');
|
|
25
|
+
if (key === undefined)
|
|
26
|
+
throw new UsageError('--item=<key> is required');
|
|
27
|
+
const rank = integerFlag(ctx, 'rank');
|
|
28
|
+
if (rank !== undefined && rank < 0)
|
|
29
|
+
throw new UsageError('--rank must be 0 or more');
|
|
30
|
+
const pointer = ctx.options.pointer;
|
|
31
|
+
return {
|
|
32
|
+
key,
|
|
33
|
+
// An empty pointer is valid: the whole output.
|
|
34
|
+
...(typeof pointer === 'string' && { pointer }),
|
|
35
|
+
...(rank !== undefined && { rank }),
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* The one reserved item a correction rides on — the whole output — so it counts
|
|
40
|
+
* once per run per expert. `--item`, `--pointer` or `--rank`, if given, may only
|
|
41
|
+
* name that whole-output item; `--rank` never applies, so it is refused.
|
|
42
|
+
*/
|
|
43
|
+
function correctionItem(ctx) {
|
|
44
|
+
const key = stringFlag(ctx, 'item');
|
|
45
|
+
if (key !== undefined && key !== CORRECTION_ITEM.key) {
|
|
46
|
+
throw new UsageError(`--correction is recorded under --item=${CORRECTION_ITEM.key}; drop --item or set it to that`);
|
|
47
|
+
}
|
|
48
|
+
const pointer = ctx.options.pointer;
|
|
49
|
+
if (typeof pointer === 'string' && pointer !== CORRECTION_ITEM.pointer) {
|
|
50
|
+
throw new UsageError('--correction covers the whole output; drop --pointer');
|
|
51
|
+
}
|
|
52
|
+
if (integerFlag(ctx, 'rank') !== undefined) {
|
|
53
|
+
throw new UsageError('--correction covers the whole output; drop --rank');
|
|
54
|
+
}
|
|
55
|
+
return { key: CORRECTION_ITEM.key, pointer: CORRECTION_ITEM.pointer };
|
|
56
|
+
}
|
|
16
57
|
const add = {
|
|
17
58
|
kind: 'leaf',
|
|
18
59
|
name: 'add',
|
|
19
|
-
description: "
|
|
20
|
-
usage: 'kindgi judgments add --run=<run-id> --item=<key> [--pointer=<json-pointer>] [--rank=<n>] (--yes | --no) [--reason=<text>] [--class=<judge-class-id>] [--participant=<id>]',
|
|
60
|
+
description: "Correct one item of a finished run's output: mark the answer right (`--yes`) or wrong (`--no`), with an optional reason. Correcting the same item again as the same caller replaces the earlier correction.",
|
|
61
|
+
usage: 'kindgi judgments add --run=<run-id> --item=<key> [--pointer=<json-pointer>] [--rank=<n>] (--yes | --no) [--reason=<text>] [--correction=<json-or-@file>] [--class=<judge-class-id>] [--participant=<id>]',
|
|
21
62
|
optionSpec: {
|
|
22
|
-
run: { type: 'string', description: 'The run whose output is
|
|
63
|
+
run: { type: 'string', description: 'The run whose output is corrected. Required.' },
|
|
23
64
|
item: {
|
|
24
65
|
type: 'string',
|
|
25
|
-
description: 'Your stable id for the
|
|
66
|
+
description: 'Your stable id for the corrected item, e.g. a matched case id. Required.',
|
|
26
67
|
},
|
|
27
68
|
pointer: {
|
|
28
69
|
type: 'string',
|
|
29
|
-
description: "Where the item is in the run's output, as a JSON Pointer such as `/matches/2`. Its value is kept with the
|
|
70
|
+
description: "Where the item is in the run's output, as a JSON Pointer such as `/matches/2`. Its value is kept with the correction.",
|
|
30
71
|
},
|
|
31
72
|
rank: { type: 'string', description: "The item's position in a ranked list (0 = first)." },
|
|
32
|
-
yes: {
|
|
33
|
-
|
|
34
|
-
|
|
73
|
+
yes: {
|
|
74
|
+
type: 'boolean',
|
|
75
|
+
description: 'Mark the item right (the verdict `yes`). Give `--yes` or `--no`.',
|
|
76
|
+
},
|
|
77
|
+
no: {
|
|
78
|
+
type: 'boolean',
|
|
79
|
+
description: 'Mark the item wrong (the verdict `no`). Give `--yes` or `--no`.',
|
|
80
|
+
},
|
|
81
|
+
reason: { type: 'string', description: 'Why, recorded with the correction.' },
|
|
82
|
+
correction: {
|
|
83
|
+
type: 'string',
|
|
84
|
+
description: 'What the agent should have done, as JSON or `@<file>`: `{ "calls": [{ "tool": "<tool-id>", "args": { … } }], "notCalled": ["<tool-id>"] }`. `args` are the partial top-level fields to compare (those left out are not compared); `notCalled` lists tools that should not have been called at all. Graded on a replay. Recorded against the whole output, so a later correction of the same run by the same caller replaces it; `--item`/`--pointer`/`--rank` aren\'t needed.',
|
|
85
|
+
},
|
|
35
86
|
class: {
|
|
36
87
|
type: 'string',
|
|
37
|
-
description: 'The judge class id to record the
|
|
88
|
+
description: 'The judge class id to record the correction under. Without one, the correction is unclassified.',
|
|
38
89
|
},
|
|
39
90
|
participant: {
|
|
40
91
|
type: 'string',
|
|
41
|
-
description: 'Your opaque id for the end user who
|
|
92
|
+
description: 'Your opaque id for the end user who corrected, when you correct on their behalf.',
|
|
42
93
|
},
|
|
43
94
|
},
|
|
44
95
|
run: (ctx) => runSdk(ctx, 'judgments add', async () => {
|
|
45
96
|
const runId = stringFlag(ctx, 'run');
|
|
46
97
|
if (runId === undefined)
|
|
47
98
|
throw new UsageError('--run=<run-id> is required');
|
|
48
|
-
const key = stringFlag(ctx, 'item');
|
|
49
|
-
if (key === undefined)
|
|
50
|
-
throw new UsageError('--item=<key> is required');
|
|
51
99
|
const yes = ctx.options.yes === true;
|
|
52
100
|
const no = ctx.options.no === true;
|
|
53
101
|
if (yes === no)
|
|
54
102
|
throw new UsageError('Give exactly one of --yes or --no');
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
throw new UsageError('--rank must be 0 or more');
|
|
58
|
-
const pointer = ctx.options.pointer;
|
|
103
|
+
const correction = await correctionFlag(ctx);
|
|
104
|
+
const item = correction === undefined ? ordinaryItem(ctx) : correctionItem(ctx);
|
|
59
105
|
return await ctx.client().judgments.create({
|
|
60
106
|
runId,
|
|
61
|
-
item
|
|
62
|
-
key,
|
|
63
|
-
// An empty pointer is valid: the whole output.
|
|
64
|
-
...(typeof pointer === 'string' && { pointer }),
|
|
65
|
-
...(rank !== undefined && { rank }),
|
|
66
|
-
},
|
|
107
|
+
item,
|
|
67
108
|
verdict: yes ? 'yes' : 'no',
|
|
109
|
+
...(correction !== undefined && { correction }),
|
|
68
110
|
...givenFlags(ctx, {
|
|
69
111
|
reason: 'reason',
|
|
70
112
|
class: 'judgeClassId',
|
|
@@ -76,26 +118,26 @@ const add = {
|
|
|
76
118
|
const list = {
|
|
77
119
|
kind: 'leaf',
|
|
78
120
|
name: 'list',
|
|
79
|
-
description: 'List
|
|
121
|
+
description: 'List corrections, newest first (replaced and removed ones are left out).',
|
|
80
122
|
usage: 'kindgi judgments list [--run=<run-id>] [--agent=<id> [--agent-version=<v>]] [--flow=<id>] [--verdict=yes|no] [--class=<judge-class-id>] [--participant=<id>] [--project=<id>] [--limit=<n>] [--cursor=<c>]',
|
|
81
123
|
optionSpec: {
|
|
82
|
-
run: { type: 'string', description: 'Only
|
|
83
|
-
agent: { type: 'string', description: 'Only
|
|
124
|
+
run: { type: 'string', description: 'Only corrections of this run.' },
|
|
125
|
+
agent: { type: 'string', description: 'Only corrections of runs of this agent.' },
|
|
84
126
|
'agent-version': {
|
|
85
127
|
type: 'string',
|
|
86
|
-
description: 'Only
|
|
128
|
+
description: 'Only corrections of runs of this agent version. Needs `--agent`.',
|
|
87
129
|
},
|
|
88
|
-
flow: { type: 'string', description: 'Only
|
|
130
|
+
flow: { type: 'string', description: 'Only corrections of runs of this flow.' },
|
|
89
131
|
verdict: { type: 'string', description: 'Only this verdict: `yes` or `no`.' },
|
|
90
|
-
class: { type: 'string', description: 'Only
|
|
132
|
+
class: { type: 'string', description: 'Only corrections under this judge class id.' },
|
|
91
133
|
participant: {
|
|
92
134
|
type: 'string',
|
|
93
|
-
description: "Only
|
|
135
|
+
description: "Only corrections made for this end user's opaque id.",
|
|
94
136
|
},
|
|
95
|
-
project: { type: 'string', description: 'Only
|
|
137
|
+
project: { type: 'string', description: 'Only corrections in this project.' },
|
|
96
138
|
limit: {
|
|
97
139
|
type: 'string',
|
|
98
|
-
description: 'The most
|
|
140
|
+
description: 'The most corrections to return (default 25, at most 100).',
|
|
99
141
|
},
|
|
100
142
|
cursor: {
|
|
101
143
|
type: 'string',
|
|
@@ -133,7 +175,7 @@ const list = {
|
|
|
133
175
|
const show = {
|
|
134
176
|
kind: 'leaf',
|
|
135
177
|
name: 'show',
|
|
136
|
-
description: "Show a
|
|
178
|
+
description: "Show a correction with the stored copies of the run's input and output, and the corrected item's value.",
|
|
137
179
|
usage: 'kindgi judgments show <judgment-id>',
|
|
138
180
|
run: (ctx) => runSdk(ctx, 'judgments show', async () => {
|
|
139
181
|
const id = requiredPositional(ctx, 0, 'judgment-id');
|
|
@@ -143,7 +185,7 @@ const show = {
|
|
|
143
185
|
const remove = {
|
|
144
186
|
kind: 'leaf',
|
|
145
187
|
name: 'remove',
|
|
146
|
-
description: 'Remove a
|
|
188
|
+
description: 'Remove a correction.',
|
|
147
189
|
usage: 'kindgi judgments remove <judgment-id>',
|
|
148
190
|
run: (ctx) => runSdk(ctx, 'judgments remove', async () => {
|
|
149
191
|
const id = requiredPositional(ctx, 0, 'judgment-id');
|
|
@@ -154,7 +196,7 @@ const remove = {
|
|
|
154
196
|
export const judgmentsCommand = {
|
|
155
197
|
kind: 'group',
|
|
156
198
|
name: 'judgments',
|
|
157
|
-
description: "
|
|
199
|
+
description: "Correct items of a run's output, marking them right or wrong (add / list / show / remove).",
|
|
158
200
|
subcommands: [add, list, show, remove],
|
|
159
201
|
};
|
|
160
202
|
//# sourceMappingURL=judgments.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"judgments.js","sourceRoot":"","sources":["../../src/commands/judgments.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAGjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"judgments.js","sourceRoot":"","sources":["../../src/commands/judgments.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../src/commands/key.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../src/commands/key.ts"],"names":[],"mappings":"AA8CA,OAAO,KAAK,EAAE,OAAO,EAA8B,MAAM,YAAY,CAAC;AAwlBtE,eAAO,MAAM,UAAU,EAAE,OAMxB,CAAC"}
|