@thinkingai/ae-cli 6.0.55 → 6.0.57
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 +35 -6
- package/README.zh.md +35 -6
- package/bin/ae-cli.js +5 -0
- package/bin/runtime-capabilities.json +5 -0
- package/cli-installation-guide.md +24 -3
- package/dist/{auth-RQBO6MTY.js → auth-YEIJLBFY.js} +61 -19
- package/dist/{automation-VAAQBM7Y.js → automation-NAR5DDGL.js} +94 -38
- package/dist/{capability-JRIFC4AJ.js → capability-P7DD4Q73.js} +50 -21
- package/dist/{chunk-5XJYLEVC.js → chunk-72NJKS7O.js} +4 -4
- package/dist/chunk-752BSLZC.js +222 -0
- package/dist/{chunk-RGYPSEYD.js → chunk-7ABK2PEJ.js} +3 -3
- package/dist/{chunk-Q5US7JC5.js → chunk-7JAVT5TK.js} +3 -3
- package/dist/{chunk-GHXZK54S.js → chunk-H3K5UGYC.js} +41 -13
- package/dist/{chunk-OP44TT4H.js → chunk-IN7KKL6K.js} +4 -2
- package/dist/{chunk-VZZNLV3I.js → chunk-JCWM2TYP.js} +61 -15
- package/dist/{chunk-S6M42KND.js → chunk-JEUXDY3B.js} +1 -1
- package/dist/{chunk-ZL7SGNIA.js → chunk-JNVVJ273.js} +58 -46
- package/dist/chunk-N6XBLRB7.js +105 -0
- package/dist/{chunk-AP7YP2NX.js → chunk-OAWPT7VP.js} +2 -2
- package/dist/{chunk-7KU2WNQE.js → chunk-QEMQKVHW.js} +37 -15
- package/dist/{chunk-CT7QDJS6.js → chunk-QVRIDN42.js} +2 -2
- package/dist/{chunk-RPBOAQQQ.js → chunk-QZUVLFNR.js} +1 -1
- package/dist/{chunk-3YVEAZUN.js → chunk-RJHGDWSC.js} +32 -21
- package/dist/{chunk-374V5R6N.js → chunk-TKVVACEJ.js} +6 -4
- package/dist/chunk-TULINOLS.js +2283 -0
- package/dist/chunk-YVG6QD3V.js +233 -0
- package/dist/{chunk-WNGFSIOB.js → chunk-Z3Q2AEIN.js} +237 -86
- package/dist/chunk-ZGIYG473.js +132 -0
- package/dist/{community-report-client-PEERQCX2.js → community-report-client-TJVCLZ3K.js} +1 -1
- package/dist/compat-check-PMEGUPZU.js +32 -0
- package/dist/{config-SICKWZ2A.js → config-VWVPR4WW.js} +43 -10
- package/dist/{context-NGVFPCBK.js → context-F6FCGTF3.js} +4 -4
- package/dist/{data-integration-BCLQFTGU.js → data-integration-6UAZO4GG.js} +207 -24
- package/dist/evaluation-4LO2O4AF.js +3714 -0
- package/dist/index.js +343 -79
- package/dist/{local-data-upload-client-TWMHFLUA.js → local-data-upload-client-KCMG6J62.js} +1 -1
- package/dist/{memory-CQKH2JAV.js → memory-HHPX3NF2.js} +6 -6
- package/dist/{metadata-EMFGUI2W.js → metadata-HEQQEEG3.js} +17 -9
- package/dist/{model-VX5M2CJ6.js → model-7UHGWYVR.js} +4 -4
- package/dist/{personal-semantic-preference-SLWVVYZ4.js → personal-semantic-preference-V4L6ZWR2.js} +7 -6
- package/dist/{project-semantic-DPSZBKQD.js → project-semantic-NKHKJX6M.js} +7 -6
- package/dist/{sync-RZIAV37C.js → sync-ZJMXCRIN.js} +8 -7
- package/dist/{te-agent-AORRE2FM.js → te-agent-WBKIFEQD.js} +757 -94
- package/dist/{te-analysis-ISXKJKRT.js → te-analysis-ADX7RKO4.js} +578 -94
- package/dist/{te-community-42M7ICDO.js → te-community-PREDRXG3.js} +722 -228
- package/dist/{te-dataops-BNKNZ4F2.js → te-dataops-ITWJHO2U.js} +9 -6
- package/dist/{te-engage-BZE3MBKT.js → te-engage-VE2NUH5V.js} +7 -6
- package/dist/{te-kb-ULATOTQ3.js → te-kb-WSMOW7WS.js} +407 -83
- package/dist/{te-system-UGHVKBVV.js → te-system-YM657FKO.js} +6 -6
- package/dist/{te-team-YA6SNOJ3.js → te-team-T2WRLOOD.js} +64 -41
- package/dist/{things-DTCOQIQB.js → things-6QOMFXOG.js} +7 -7
- package/dist/{update-ESNYKUVR.js → update-I4MOUYOX.js} +11 -7
- package/dist/{workspace-JEOHKFPX.js → workspace-LYDAP647.js} +6 -6
- package/package.json +25 -11
- package/skills/ae-agent/SKILL.md +20 -3
- package/skills/ae-agent/references/command_index.md +8 -0
- package/skills/ae-agent/references/resource-package.md +57 -0
- package/skills/ae-analysis/SKILL.md +23 -10
- package/skills/ae-analysis/references/adhoc_export.md +1 -1
- package/skills/ae-analysis/references/agent_review_preflight.md +55 -10
- package/skills/ae-analysis/references/agent_review_priorities_comparisons.md +5 -3
- package/skills/ae-analysis/references/agent_review_submit_to_page.md +60 -24
- package/skills/ae-analysis/references/ai_models/event.md +58 -2
- package/skills/ae-analysis/references/ai_models/rank_list.md +1 -0
- package/skills/ae-analysis/references/ai_models/retention.md +2 -0
- package/skills/ae-analysis/references/ai_models/revenue.md +2 -0
- package/skills/ae-analysis/references/analysis_data_export.md +11 -1
- package/skills/ae-analysis/references/asset_batch_info_export.md +2 -2
- package/skills/ae-analysis/references/asset_batch_sql_export.md +2 -2
- package/skills/ae-analysis/references/asset_export.md +1 -1
- package/skills/ae-analysis/references/bi_panel_page_data_export.md +1 -1
- package/skills/ae-analysis/references/check_export.md +1 -1
- package/skills/ae-analysis/references/command_index.md +39 -26
- package/skills/ae-analysis/references/dashboard_report_data_export.md +2 -0
- package/skills/ae-analysis/references/dashboard_report_get.md +6 -2
- package/skills/ae-analysis/references/dashboard_report_update.md +24 -5
- package/skills/ae-analysis/references/feedback_submit.md +1 -1
- package/skills/ae-analysis/references/governance_recommendation_export.md +40 -18
- package/skills/ae-analysis/references/governance_recommendation_run_update.md +13 -0
- package/skills/ae-analysis/references/live_data_export.md +1 -1
- package/skills/ae-analysis/references/metric_create.md +29 -0
- package/skills/ae-analysis/references/metric_get.md +2 -0
- package/skills/ae-analysis/references/metric_update.md +2 -0
- package/skills/ae-analysis/references/operation_record_export.md +1 -1
- package/skills/ae-analysis/references/plan_change_log_export.md +1 -1
- package/skills/ae-analysis/references/plan_export.md +1 -1
- package/skills/ae-analysis/references/project_info_get.md +4 -0
- package/skills/ae-analysis/references/project_member_group_add_members.md +35 -0
- package/skills/ae-analysis/references/project_member_group_create.md +25 -0
- package/skills/ae-analysis/references/project_member_group_delete.md +34 -0
- package/skills/ae-analysis/references/project_member_group_list.md +29 -0
- package/skills/ae-analysis/references/project_member_group_members.md +28 -0
- package/skills/ae-analysis/references/project_member_group_remove_members.md +35 -0
- package/skills/ae-analysis/references/project_member_group_rename.md +26 -0
- package/skills/ae-analysis/references/project_semantic_knowledge_wiki.md +9 -1
- package/skills/ae-analysis/references/project_semantic_knowledge_wiki_plan_schema.md +6 -1
- package/skills/ae-analysis/references/report_data_export.md +1 -1
- package/skills/ae-analysis/references/scenario_append.md +31 -0
- package/skills/ae-analysis/references/scenario_begin.md +11 -0
- package/skills/ae-analysis/references/scenario_collect.md +43 -0
- package/skills/ae-analysis/references/scenario_evaluation.md +18 -0
- package/skills/ae-analysis/references/scenario_get.md +15 -0
- package/skills/ae-analysis/references/scenario_list.md +64 -0
- package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/build-project-semantic-wiki.mjs +73 -4
- package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/company-kb.mjs +14 -1
- package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/default-compile-schema.md +5 -1
- package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/execution-contract.mjs +173 -0
- package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/generate-build-ir.mjs +109 -64
- package/skills/ae-automation/SKILL.md +2 -2
- package/skills/ae-automation/references/cli.md +18 -1
- package/skills/ae-capability/SKILL.md +7 -3
- package/skills/ae-community/SKILL.md +77 -27
- package/skills/ae-community/references/community-analyzing-theme-comment.md +10 -8
- package/skills/ae-community/references/community-data-quality.md +68 -0
- package/skills/ae-community/references/community-query-evidence.md +85 -0
- package/skills/ae-community/references/community-scenario-capabilities.md +137 -0
- package/skills/ae-community/references/community-weekly-report.md +6 -3
- package/skills/ae-community/references/get_channel_info.md +7 -4
- package/skills/ae-community/references/get_comment_tag_analysis.md +3 -3
- package/skills/ae-community/references/get_comments_summary.md +4 -4
- package/skills/ae-community/references/get_corpus_tags.md +3 -3
- package/skills/ae-community/references/get_daily_summary.md +3 -3
- package/skills/ae-community/references/get_hot_topics.md +3 -3
- package/skills/ae-community/references/get_livestream_analysis.md +3 -3
- package/skills/ae-community/references/get_livestream_detail.md +4 -4
- package/skills/ae-community/references/get_livestream_list.md +3 -3
- package/skills/ae-community/references/get_livestream_overview.md +3 -3
- package/skills/ae-community/references/get_livestream_room_metrics.md +3 -3
- package/skills/ae-community/references/get_livestream_rooms.md +3 -3
- package/skills/ae-community/references/get_overview_metrics.md +3 -3
- package/skills/ae-community/references/get_post_detail.md +4 -4
- package/skills/ae-community/references/get_risk_content.md +5 -5
- package/skills/ae-community/references/get_sentiment_overview.md +4 -4
- package/skills/ae-community/references/get_tag_trends.md +3 -3
- package/skills/ae-community/references/get_topic_detail.md +3 -3
- package/skills/ae-community/references/list_sources.md +28 -0
- package/skills/ae-community/references/list_spaces.md +39 -0
- package/skills/ae-community/references/search_posts.md +21 -7
- package/skills/ae-data-integration/SKILL.md +6 -4
- package/skills/ae-data-integration/references/error-handling.md +1 -0
- package/skills/ae-data-integration/references/handoff.md +1 -1
- package/skills/ae-data-integration/references/sink-upload.md +11 -0
- package/skills/ae-data-integration/references/source-inspect.md +2 -1
- package/skills/ae-data-integration/references/transform.md +1 -1
- package/skills/ae-data-integration/references/ue-mapping.md +1 -1
- package/skills/ae-evaluation/SKILL.md +83 -0
- package/skills/ae-evaluation/references/access-and-members.md +55 -0
- package/skills/ae-evaluation/references/connections.md +78 -0
- package/skills/ae-evaluation/references/datasets.md +57 -0
- package/skills/ae-evaluation/references/evaluators.md +81 -0
- package/skills/ae-evaluation/references/files.md +33 -0
- package/skills/ae-evaluation/references/integrations.md +39 -0
- package/skills/ae-evaluation/references/runs.md +160 -0
- package/skills/ae-evaluation/references/schedules.md +31 -0
- package/skills/ae-kb/SKILL.md +33 -6
- package/skills/ae-kb/references/publication.md +81 -0
- package/skills/ae-kb/references/query-workflow.md +14 -1
- package/skills/ae-metadata/SKILL.md +3 -2
- package/skills/ae-metadata/references/metadata_data_table_download.md +7 -1
- package/skills/ae-metadata/references/metadata_data_table_get.md +37 -0
- package/skills/ae-team/SKILL.md +2 -2
- package/skills/ae-team/references/run-start.md +1 -0
- package/skills/ae-team/references/run-watch.md +7 -5
- package/skills/ae-things/SKILL.md +53 -51
- package/skills/ae-things/references/cli.md +56 -54
- package/skills/ae-things-progress/SKILL.md +20 -20
- package/skills/ae-things-review/SKILL.md +19 -19
- package/dist/chunk-6VNIR4AP.js +0 -1422
- package/dist/chunk-CI24BDR2.js +0 -43
|
@@ -7,12 +7,12 @@ import {
|
|
|
7
7
|
waitForAnalysisRun,
|
|
8
8
|
withAsyncArtifactLifecycle,
|
|
9
9
|
withInterruptSignal
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-7ABK2PEJ.js";
|
|
11
11
|
import {
|
|
12
12
|
createCapabilityCommand,
|
|
13
13
|
definitionIntentSnapshotFlag,
|
|
14
14
|
modelDefinitionIntentSnapshotFlag
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-TKVVACEJ.js";
|
|
16
16
|
import {
|
|
17
17
|
registerCapabilityGatewayRoute,
|
|
18
18
|
resolveGatewayDomain
|
|
@@ -30,18 +30,19 @@ import {
|
|
|
30
30
|
uploadInputFile,
|
|
31
31
|
validateCapability,
|
|
32
32
|
validateCapabilityWithEnvelope
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-JCWM2TYP.js";
|
|
34
34
|
import {
|
|
35
35
|
withOutputMetadata
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-752BSLZC.js";
|
|
37
37
|
import "./chunk-Y74WTIKJ.js";
|
|
38
|
+
import "./chunk-TULINOLS.js";
|
|
38
39
|
import {
|
|
39
40
|
getCliToken
|
|
40
|
-
} from "./chunk-
|
|
41
|
-
import "./chunk-
|
|
41
|
+
} from "./chunk-H3K5UGYC.js";
|
|
42
|
+
import "./chunk-JNVVJ273.js";
|
|
42
43
|
import {
|
|
43
44
|
CliValidationError
|
|
44
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-Z3Q2AEIN.js";
|
|
45
46
|
|
|
46
47
|
// src/commands/te-analysis/capability-shared.ts
|
|
47
48
|
var ANALYSIS_GATEWAY_CLI_SERVICES = /* @__PURE__ */ new Set(["project", "system"]);
|
|
@@ -229,7 +230,7 @@ var asyncTimeoutSecondsFlag = {
|
|
|
229
230
|
name: "timeout-seconds",
|
|
230
231
|
type: "number",
|
|
231
232
|
required: false,
|
|
232
|
-
desc: "Async runtime in seconds.
|
|
233
|
+
desc: "Async runtime in seconds. Omit to use the server default (usually 21600 / 6 hours). This CLI accepts explicit values up to 21600; inspect the capability for the server default/max and use capability run for larger allowed values. Cancel with analysis query cancel --run-id <run_id>.",
|
|
233
234
|
min: 1,
|
|
234
235
|
max: 21600
|
|
235
236
|
};
|
|
@@ -1647,7 +1648,7 @@ var recordIdFlag = { name: "record-id", type: "number", required: false, desc: "
|
|
|
1647
1648
|
var governanceExportFlags = (format) => [
|
|
1648
1649
|
requestIdFlag,
|
|
1649
1650
|
{ ...artifactFormatFlag, desc: `Artifact format: ${format}. This capability supports only ${format}.` },
|
|
1650
|
-
{ ...asyncTimeoutSecondsFlag, max: 7200, desc: "Async export runtime in seconds.
|
|
1651
|
+
{ ...asyncTimeoutSecondsFlag, max: 7200, desc: "Async export runtime in seconds. Omit to use the server-provided default. This CLI accepts explicit values up to 7200; inspect the capability for the server default/max and use capability run for larger allowed values." }
|
|
1651
1652
|
];
|
|
1652
1653
|
var governanceExportFields = ["request_id", "format", "timeout_seconds"];
|
|
1653
1654
|
var readers = {
|
|
@@ -2120,6 +2121,33 @@ var metadataCatalogList = createAnalysisMetaCapabilityCommand({
|
|
|
2120
2121
|
var commands10 = [metadataCatalogList, metadataCatalogExport];
|
|
2121
2122
|
var catalog_default = commands10;
|
|
2122
2123
|
|
|
2124
|
+
// src/commands/te-analysis/meta/governance-recommendation/run-update.ts
|
|
2125
|
+
var metadataGovernanceRecommendationRunUpdate = createAnalysisMetaCapabilityCommand({
|
|
2126
|
+
resource: "governance-recommendation",
|
|
2127
|
+
command: "run-update",
|
|
2128
|
+
capabilityId: "metadata.governance_recommendation.run_update",
|
|
2129
|
+
description: "Renew or finish your tracked recommendation workflow; it does not cancel Agent execution.",
|
|
2130
|
+
risk: "write",
|
|
2131
|
+
flags: [
|
|
2132
|
+
projectIdFlag,
|
|
2133
|
+
{ name: "run-id", type: "string", required: true, desc: "Exact run_id returned by the tracked export." },
|
|
2134
|
+
{ name: "status", type: "string", required: true, desc: "HEARTBEAT, SUCCEEDED, FAILED or CANCELLED. Finish only after the actual workflow has ended." },
|
|
2135
|
+
{ name: "reason", type: "string", required: false, desc: "Short non-sensitive result or failure reason; never include credentials or raw logs." }
|
|
2136
|
+
],
|
|
2137
|
+
buildInput: (ctx) => {
|
|
2138
|
+
const status = ctx.str("status");
|
|
2139
|
+
if (!["HEARTBEAT", "SUCCEEDED", "FAILED", "CANCELLED"].includes(status)) {
|
|
2140
|
+
throw new Error("--status must be HEARTBEAT, SUCCEEDED, FAILED or CANCELLED.");
|
|
2141
|
+
}
|
|
2142
|
+
return {
|
|
2143
|
+
...projectInput(ctx),
|
|
2144
|
+
run_id: ctx.str("run-id"),
|
|
2145
|
+
status,
|
|
2146
|
+
...ctx.str("reason") ? { reason: ctx.str("reason") } : {}
|
|
2147
|
+
};
|
|
2148
|
+
}
|
|
2149
|
+
});
|
|
2150
|
+
|
|
2123
2151
|
// src/commands/te-analysis/meta/governance-recommendation/export.ts
|
|
2124
2152
|
var windowDaysFlag = {
|
|
2125
2153
|
name: "window-days",
|
|
@@ -2154,7 +2182,9 @@ var GOVERNANCE_RECOMMENDATION_EXPORT_HELP = [
|
|
|
2154
2182
|
"- The Agent turns that package into a submit-to-page draft with batch ai_summary, presentation_snapshot, per-item ai_summary/reasons, copied evidence_snapshot, copied source links, and relations.",
|
|
2155
2183
|
"- work_units are deterministic evidence containers from Common. They are not final page groups; the Agent clusters selected assets into one or more business-domain topics.",
|
|
2156
2184
|
"- For report and SQL items, use packaged evidence_snapshot.analysis first. Call analysis-meta agent-review evidence only for explicit definition/analysis gaps or draft validation.",
|
|
2157
|
-
"-
|
|
2185
|
+
"- Ordinary recommendations need concise reasons, a core evidence-backed report measure/calculation, business-domain/subtopic grouping, and a focused page-material review. Full definition audits, per-item comparisons and exhaustive SQL explanations are not the default; use them only for explicit audit intent or affected risk items.",
|
|
2186
|
+
"- For real page-review submission, start with --limit 20, select currently uncertified assets by business value and evidence, and expand to --limit 50 then --limit 100 only when the remaining pending review assets or visible business domains are too few.",
|
|
2187
|
+
"- Do not query review history to select candidates. Previously recommended, pending, rejected, or deferred proposals do not exclude a currently uncertified asset from manual recommendation.",
|
|
2158
2188
|
"- Expansion increases business-domain coverage; it must not submit every pending asset found. Keep a daily review capacity target such as 20-50 pending assets, hard cap around 80, and select about 3-6 visible domains.",
|
|
2159
2189
|
"- When candidates exceed the cap, rank by impact, heat, user count, dependency breadth, and under-covered domains; keep only direct context needed for selected pending assets and report overflow for later batches.",
|
|
2160
2190
|
"- Draft only business domains with pending review assets. Completed/authenticated assets are necessary context under those visible domains, not standalone work and not a reason to display a zero-pending domain.",
|
|
@@ -2167,14 +2197,28 @@ var metadataGovernanceRecommendationExport = createAnalysisMetaCapabilityCommand
|
|
|
2167
2197
|
capabilityId: "metadata.governance_recommendation.export",
|
|
2168
2198
|
description: "Export the material package for CLI Agent asset-authentication and metric-recommendation review.",
|
|
2169
2199
|
helpText: GOVERNANCE_RECOMMENDATION_EXPORT_HELP,
|
|
2170
|
-
flags: [
|
|
2200
|
+
flags: [
|
|
2201
|
+
projectIdFlag,
|
|
2202
|
+
windowDaysFlag,
|
|
2203
|
+
limitFlag2,
|
|
2204
|
+
includeCompletedFlag,
|
|
2205
|
+
{ name: "track-run", type: "boolean", required: false, desc: "Track the complete recommendation workflow through page submission or explicit run-update. Default: false for compatibility." },
|
|
2206
|
+
{ name: "run-id", type: "string", required: false, desc: "Continue the same tracked workflow when expanding evidence. Requires --track-run true." }
|
|
2207
|
+
],
|
|
2171
2208
|
risk: "read",
|
|
2172
|
-
buildInput: (ctx) =>
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
|
|
2209
|
+
buildInput: (ctx) => {
|
|
2210
|
+
if (ctx.str("run-id") && optionalBoolean(ctx, "track-run") !== true) {
|
|
2211
|
+
throw new Error("--run-id requires --track-run true.");
|
|
2212
|
+
}
|
|
2213
|
+
return compactInput({
|
|
2214
|
+
...projectInput(ctx),
|
|
2215
|
+
window_days: optionalNumber(ctx, "window-days"),
|
|
2216
|
+
limit: optionalNumber(ctx, "limit"),
|
|
2217
|
+
include_completed: optionalBoolean(ctx, "include-completed"),
|
|
2218
|
+
track_run: optionalBoolean(ctx, "track-run"),
|
|
2219
|
+
run_id: ctx.str("run-id") || void 0
|
|
2220
|
+
});
|
|
2221
|
+
},
|
|
2178
2222
|
postProcess: (result, _input, ctx) => {
|
|
2179
2223
|
normalizeResourceUrlFields(result, resolvePublicWebHost(ctx.host()), ctx.host());
|
|
2180
2224
|
return result;
|
|
@@ -3003,6 +3047,7 @@ var metadataGovernanceRecommendationDecisions = createAnalysisMetaCapabilityComm
|
|
|
3003
3047
|
|
|
3004
3048
|
// src/commands/te-analysis/meta/governance-recommendation/index.ts
|
|
3005
3049
|
var commands11 = [
|
|
3050
|
+
metadataGovernanceRecommendationRunUpdate,
|
|
3006
3051
|
metadataGovernanceRecommendationExport,
|
|
3007
3052
|
metadataGovernanceRecommendationSubmit,
|
|
3008
3053
|
metadataGovernanceRecommendationAutoReview,
|
|
@@ -3089,22 +3134,26 @@ var SUBMIT_TO_PAGE_HELP = [
|
|
|
3089
3134
|
"- This command creates an asset certification review draft for humans. It never approves, certifies, retries, or creates metrics.",
|
|
3090
3135
|
"- Use --input-file for real drafts. The file is JSON; --project-id and --client-request-id come from CLI flags so replays keep one stable operation key.",
|
|
3091
3136
|
"- Build the file from review_material_package, preserving candidate assets, heat evidence, source_link/evidence_links, relations, report/AI-model definitions, target_revision, and hashes.",
|
|
3092
|
-
"- For dashboard items, preserve optional space_id/space_name from the
|
|
3137
|
+
"- For dashboard items, preserve optional space_id/space_name only from the authoritative packaged evidence_snapshot.definition.config, together with target_revision. Never synthesize or patch definition from space display facts. For older exports missing dashboard definition/revision, fetch analysis-meta agent-review evidence first. Not every dashboard has a space; do not invent or require one.",
|
|
3093
3138
|
"- For recurring recommendation jobs, build the draft from the latest sufficient export: start at top-20 hot dashboards, expand to top-50/top-100 only when filtering leaves too few pending review assets or visible business domains, and record the final scope in batch ai_summary.",
|
|
3139
|
+
"- Do not query review history to select candidates. Select currently uncertified assets by business value and evidence, regardless of earlier recommendations or review decisions. Submission creates human review material only.",
|
|
3094
3140
|
"- Expansion is for coverage, not unlimited workload. Target about 20-50 pending assets per daily batch, cap around 80, and balance roughly 3-6 visible domains with per-domain quotas before adding context.",
|
|
3095
3141
|
"- If more pending candidates exist, submit the ranked slice and record overflow counts/domains in batch ai_summary for later batches.",
|
|
3096
3142
|
"- presentation_snapshot should display only business-domain topics that contain pending review assets. Authenticated/completed assets may appear as context under those topics, but must not create standalone zero-pending topics.",
|
|
3097
3143
|
"- Do not author long page-visible AI summaries for hidden topics or pure authenticated context. Copy evidence, links, signals, and relations for context; spend Agent interpretation on visible domains and pending review assets.",
|
|
3098
3144
|
"- Scripts may assemble transport JSON and copy evidence, but page-visible ai_summary and analysis_explanation text must be Agent-written interpretation from verified evidence, not generated boilerplate.",
|
|
3099
|
-
"- Follow agent_review_preflight.md
|
|
3100
|
-
"-
|
|
3145
|
+
"- Ordinary recommendations use concise item reasons and core report meaning. Follow agent_review_preflight.md for one focused independent review of every business topic/subtopic and identified risks, plus whole-packet programmatic evidence checks. Do not repeat a full definition audit or polish copy through routine correction rounds. Full audits require explicit audit intent; LOCAL_ONLY never submits.",
|
|
3146
|
+
"- Priorities are optional for ordinary recommendations. Load agent_review_priorities_comparisons.md only for a priority request, concrete comparison/conflict clues, or a full audit. Do not require comparisons or comparison_review for unexamined ordinary items; absence never proves no conflict. Supplied comparisons retain both-side evidence and classification; only POSSIBLE_CONFLICT merits a conflict badge.",
|
|
3147
|
+
"- Each new topic and second-level business subtopic must include semantic_basis with business_question, grouping_reason, and evidence_item_ids from that topic or group respectively. These are Agent-authored interpretations; legacy packets without these optional fields remain accepted.",
|
|
3148
|
+
"- Follow the Business Topics and Subtopics contract in agent_review_submit_to_page.md: business domain -> business subtopic -> dashboards -> reports -> metadata. Group dashboards answering the same subtopic question together; never create one group per source dashboard by iteration or just rename those groups. Single-dashboard groups need a definition-based reason, not a minimum-count workaround.",
|
|
3101
3149
|
"- presentation_snapshot.topics is one or more business-domain topics. Each topic must use groups[].items; do not use top-level topics[].items or raw Common work_units as the page grouping.",
|
|
3102
3150
|
"- relations should let the page render dashboard -> report -> metadata with contains/uses edges. Use an empty relations array only when the package truly has no known parent-child evidence.",
|
|
3103
3151
|
"- Each submitted item must keep source_link or evidence_links[].url so reviewers can jump to source evidence.",
|
|
3104
3152
|
"- item.ai_summary.summary is the per-item recommendation reason. It must cite concrete item evidence, not generic review boilerplate. batch ai_summary.summary is only the batch overview.",
|
|
3105
3153
|
"- When submitting manual_review_handoff leftovers, copy manual_review_handoff.auto_review_trace into source_metadata.auto_review_trace so page audit records include the assets already certified automatically.",
|
|
3106
|
-
"- For
|
|
3107
|
-
"-
|
|
3154
|
+
"- For ordinary reports, one concise, factual core measure or calculation with resolvable evidence_snapshot.analysis refs is sufficient. Preserve packaged analysis and target_revision; do not require exhaustive SQL projection explanations. A purpose-only summary is incomplete and is rejected locally before dispatch.",
|
|
3155
|
+
"- Write concise business Chinese describing purpose, recommendation basis, core meaning and known material risks; metadata dependencies need only their role and specific risks. Keep raw SQL and implementation details in evidence_snapshot. Complete field-by-field explanations remain available for explicitly requested full audits.",
|
|
3156
|
+
"- Run local structure/evidence checks once, then submit once and read detail once. Remote --validate or --dry-run remains available for uncertain inputs or new contracts, not a routine extra step. Authorization, source links, identity, and core report evidence checks remain enforced.",
|
|
3108
3157
|
"- The command output includes review_page_url when review_url is present. Return review_page_url to the user; do not prepend the Common/API host to review_url yourself.",
|
|
3109
3158
|
"",
|
|
3110
3159
|
"Input-file JSON shape:",
|
|
@@ -3124,8 +3173,9 @@ var SUBMIT_TO_PAGE_HELP = [
|
|
|
3124
3173
|
' "name": "<business-domain-name>",',
|
|
3125
3174
|
' "groups": [{',
|
|
3126
3175
|
' "id": "<second-level-group-id>",',
|
|
3127
|
-
' "name": "<
|
|
3128
|
-
' "
|
|
3176
|
+
' "name": "<business-subtopic-name>",',
|
|
3177
|
+
' "semantic_basis": { "business_question": "<specific business question>", "grouping_reason": "<shared meaning and boundary from sibling subtopics>", "evidence_item_ids": ["<supporting item id in this group>"] },',
|
|
3178
|
+
' "items": [{ "id": "<dashboard item id>" }, { "id": "<another related dashboard item id>" }, { "id": "<report item id>" }]',
|
|
3129
3179
|
" }]",
|
|
3130
3180
|
" }],",
|
|
3131
3181
|
' "relations": [{ "parent": "<dashboard item id>", "child": "<report item id>", "type": "contains" }, { "parent": "<report item id>", "child": "<metadata item id>", "type": "uses" }],',
|
|
@@ -3332,11 +3382,13 @@ function validatePresentation(presentation, itemIds) {
|
|
|
3332
3382
|
const displayed = /* @__PURE__ */ new Set();
|
|
3333
3383
|
for (const topicValue of array2(presentation.topics, "presentation_snapshot.topics")) {
|
|
3334
3384
|
const topic = object(topicValue, "presentation_snapshot.topics[]");
|
|
3385
|
+
const topicItemIds = /* @__PURE__ */ new Set();
|
|
3335
3386
|
if ("items" in topic) {
|
|
3336
3387
|
throw new Error("presentation_snapshot.topics[] must use groups[].items, not top-level items.");
|
|
3337
3388
|
}
|
|
3338
3389
|
for (const groupValue of array2(topic.groups, "presentation_snapshot.topics[].groups")) {
|
|
3339
3390
|
const group = object(groupValue, "presentation_snapshot.topics[].groups[]");
|
|
3391
|
+
const groupItemIds = /* @__PURE__ */ new Set();
|
|
3340
3392
|
if (typeof group.id !== "string" || !group.id.trim() || typeof group.name !== "string" || !group.name.trim()) {
|
|
3341
3393
|
throw new Error("presentation_snapshot.topics[].groups[] requires nonempty string id and name.");
|
|
3342
3394
|
}
|
|
@@ -3349,6 +3401,32 @@ function validatePresentation(presentation, itemIds) {
|
|
|
3349
3401
|
throw new Error("presentation_snapshot references an unknown client_item_id.");
|
|
3350
3402
|
}
|
|
3351
3403
|
displayed.add(item.id);
|
|
3404
|
+
topicItemIds.add(item.id);
|
|
3405
|
+
groupItemIds.add(item.id);
|
|
3406
|
+
}
|
|
3407
|
+
if (group.semantic_basis !== void 0) {
|
|
3408
|
+
const basis = object(group.semantic_basis, "presentation_snapshot.topics[].groups[].semantic_basis");
|
|
3409
|
+
for (const field of ["business_question", "grouping_reason"]) {
|
|
3410
|
+
if (typeof basis[field] !== "string" || !basis[field].trim()) {
|
|
3411
|
+
throw new Error(`group.semantic_basis.${field} must explain the business meaning of this subtopic.`);
|
|
3412
|
+
}
|
|
3413
|
+
}
|
|
3414
|
+
const references = array2(basis.evidence_item_ids, "group.semantic_basis.evidence_item_ids");
|
|
3415
|
+
if (!references.length || references.some((id) => typeof id !== "string" || !groupItemIds.has(id))) {
|
|
3416
|
+
throw new Error("group.semantic_basis.evidence_item_ids must reference items displayed in the same group.");
|
|
3417
|
+
}
|
|
3418
|
+
}
|
|
3419
|
+
}
|
|
3420
|
+
if (topic.semantic_basis !== void 0) {
|
|
3421
|
+
const basis = object(topic.semantic_basis, "presentation_snapshot.topics[].semantic_basis");
|
|
3422
|
+
for (const field of ["business_question", "grouping_reason"]) {
|
|
3423
|
+
if (typeof basis[field] !== "string" || !String(basis[field]).trim()) {
|
|
3424
|
+
throw new Error(`semantic_basis.${field} must explain the business meaning of this topic.`);
|
|
3425
|
+
}
|
|
3426
|
+
}
|
|
3427
|
+
const references = array2(basis.evidence_item_ids, "semantic_basis.evidence_item_ids");
|
|
3428
|
+
if (!references.length || references.some((id) => typeof id !== "string" || !topicItemIds.has(id))) {
|
|
3429
|
+
throw new Error("semantic_basis.evidence_item_ids must reference items displayed in the same topic.");
|
|
3352
3430
|
}
|
|
3353
3431
|
}
|
|
3354
3432
|
}
|
|
@@ -4989,11 +5067,11 @@ var dashboardReportGet = createAnalysisCapabilityCommand({
|
|
|
4989
5067
|
resource: "dashboard-report",
|
|
4990
5068
|
command: "get",
|
|
4991
5069
|
capabilityId: "analysis.dashboard_report.get",
|
|
4992
|
-
description: "Get
|
|
5070
|
+
description: "Get one analysis-board report card frame size, saved grid position, dashboard layout version, and event presentation; not the source report definition.",
|
|
4993
5071
|
flags: [
|
|
4994
5072
|
projectIdFlag,
|
|
4995
5073
|
{ name: "dashboard-id", type: "number", required: true, desc: "Dashboard containing the report card." },
|
|
4996
|
-
{ name: "report-id", type: "number", required: true, desc: "Existing
|
|
5074
|
+
{ name: "report-id", type: "number", required: true, desc: "Existing report ID on that dashboard. Event cards also return chart and table presentation." }
|
|
4997
5075
|
],
|
|
4998
5076
|
risk: "read",
|
|
4999
5077
|
buildInput: (ctx) => ({
|
|
@@ -5008,11 +5086,15 @@ var dashboardReportUpdate = createAnalysisCapabilityCommand({
|
|
|
5008
5086
|
resource: "dashboard-report",
|
|
5009
5087
|
command: "update",
|
|
5010
5088
|
capabilityId: "analysis.dashboard_report.update",
|
|
5011
|
-
description: "Update one
|
|
5089
|
+
description: "Update one analysis-board report card frame size or grid position, or an event card presentation, without changing its source definition or other dashboards.",
|
|
5012
5090
|
flags: [
|
|
5013
5091
|
projectIdFlag,
|
|
5014
5092
|
{ name: "dashboard-id", type: "number", required: true, desc: "Dashboard containing the report card." },
|
|
5015
|
-
{ name: "report-id", type: "number", required: true, desc: "Existing
|
|
5093
|
+
{ name: "report-id", type: "number", required: true, desc: "Existing report ID on that dashboard. Chart and table settings require an event report." },
|
|
5094
|
+
{ name: "frame-size", type: "string", required: false, desc: "Card frame size: medium or large. Omit to preserve. Requires the current --reports-version from dashboard-report get." },
|
|
5095
|
+
{ name: "position-x", type: "number", required: false, desc: "Zero-based horizontal grid coordinate, 0..19 on a 20-column board. Supply with --position-y and --reports-version. Must fit the saved card width; occupied destinations are rejected." },
|
|
5096
|
+
{ name: "position-y", type: "number", required: false, desc: "Zero-based vertical grid coordinate, 0..10000, not pixels. Supply with --position-x and --reports-version. Requires an initialized saved board layout; the page may vertically compact gaps." },
|
|
5097
|
+
{ name: "reports-version", type: "number", required: false, desc: "Fresh dashboard layout version from dashboard-report get. Required for frame-size or position changes; stale versions are rejected without partial writes. This is not the source report version." },
|
|
5016
5098
|
{ name: "chart-type", type: "string", required: false, desc: "Card chart type: line, combo, bar, stacked, cumulative, pie, or table. Combo inherits existing source-report series; this command cannot edit series. A pure line card requires resetting source combo first. Gateway validates compatibility with the saved event definition." },
|
|
5017
5099
|
{ name: "table-layout", type: "string", required: false, desc: "Table layout: date, event, or group. Omit to preserve it." },
|
|
5018
5100
|
{ name: "date-outside", type: "boolean", required: false, desc: "Show dates outside the table. True requires a grouped table with a non-date layout; also choose event/group layout when inherited. Pass false to clear, omit to preserve." }
|
|
@@ -5022,8 +5104,35 @@ var dashboardReportUpdate = createAnalysisCapabilityCommand({
|
|
|
5022
5104
|
const chartType = optionalString(ctx, "chart-type");
|
|
5023
5105
|
const tableLayout = optionalString(ctx, "table-layout");
|
|
5024
5106
|
const dateOutside = optionalBoolean(ctx, "date-outside");
|
|
5025
|
-
|
|
5026
|
-
|
|
5107
|
+
const frameSize = optionalString(ctx, "frame-size");
|
|
5108
|
+
const x = optionalNumber(ctx, "position-x");
|
|
5109
|
+
const y = optionalNumber(ctx, "position-y");
|
|
5110
|
+
const version = optionalNumber(ctx, "reports-version");
|
|
5111
|
+
if (frameSize !== void 0 && !["medium", "large"].includes(frameSize)) {
|
|
5112
|
+
throw new Error("--frame-size must be medium or large.");
|
|
5113
|
+
}
|
|
5114
|
+
if (x === void 0 !== (y === void 0)) {
|
|
5115
|
+
throw new Error("--position-x and --position-y must be supplied together.");
|
|
5116
|
+
}
|
|
5117
|
+
for (const [name, value] of [["position-x", x], ["position-y", y], ["reports-version", version]]) {
|
|
5118
|
+
if (value !== void 0 && (!Number.isSafeInteger(value) || value < 0)) {
|
|
5119
|
+
throw new Error(`--${name} must be a non-negative safe integer.`);
|
|
5120
|
+
}
|
|
5121
|
+
}
|
|
5122
|
+
if (x !== void 0 && x >= 20) {
|
|
5123
|
+
throw new Error("--position-x must be between 0 and 19 and fit the saved card width.");
|
|
5124
|
+
}
|
|
5125
|
+
if (y !== void 0 && y > 1e4) {
|
|
5126
|
+
throw new Error("--position-y must be between 0 and 10000.");
|
|
5127
|
+
}
|
|
5128
|
+
if (version === Number.MAX_SAFE_INTEGER) {
|
|
5129
|
+
throw new Error("--reports-version must be safely incrementable; reread the dashboard version.");
|
|
5130
|
+
}
|
|
5131
|
+
if ((frameSize !== void 0 || x !== void 0) && version === void 0) {
|
|
5132
|
+
throw new Error("--reports-version from dashboard-report get is required for frame-size or position changes.");
|
|
5133
|
+
}
|
|
5134
|
+
if (chartType === void 0 && tableLayout === void 0 && dateOutside === void 0 && frameSize === void 0 && x === void 0) {
|
|
5135
|
+
throw new Error("At least one of --chart-type, --table-layout, --date-outside, --frame-size, or --position-x/--position-y is required.");
|
|
5027
5136
|
}
|
|
5028
5137
|
if (chartType !== void 0 && !["line", "combo", "bar", "stacked", "cumulative", "pie", "table"].includes(chartType)) {
|
|
5029
5138
|
throw new Error("--chart-type must be line, combo, bar, stacked, cumulative, pie, or table.");
|
|
@@ -5032,16 +5141,23 @@ var dashboardReportUpdate = createAnalysisCapabilityCommand({
|
|
|
5032
5141
|
throw new Error("--table-layout must be date, event, or group.");
|
|
5033
5142
|
}
|
|
5034
5143
|
},
|
|
5035
|
-
buildInput: (ctx) =>
|
|
5036
|
-
|
|
5037
|
-
dashboard_id: ctx.num("dashboard-id"),
|
|
5038
|
-
report_id: ctx.num("report-id"),
|
|
5039
|
-
presentation: compactInput({
|
|
5144
|
+
buildInput: (ctx) => {
|
|
5145
|
+
const presentation = compactInput({
|
|
5040
5146
|
chart_type: optionalString(ctx, "chart-type"),
|
|
5041
5147
|
table_layout: optionalString(ctx, "table-layout"),
|
|
5042
5148
|
date_outside: optionalBoolean(ctx, "date-outside")
|
|
5043
|
-
})
|
|
5044
|
-
|
|
5149
|
+
});
|
|
5150
|
+
const x = optionalNumber(ctx, "position-x");
|
|
5151
|
+
return compactInput({
|
|
5152
|
+
...projectInput(ctx),
|
|
5153
|
+
dashboard_id: ctx.num("dashboard-id"),
|
|
5154
|
+
report_id: ctx.num("report-id"),
|
|
5155
|
+
frame_size: optionalString(ctx, "frame-size"),
|
|
5156
|
+
position: x === void 0 ? void 0 : { x, y: optionalNumber(ctx, "position-y") },
|
|
5157
|
+
reports_version: optionalNumber(ctx, "reports-version"),
|
|
5158
|
+
presentation: Object.keys(presentation).length === 0 ? void 0 : presentation
|
|
5159
|
+
});
|
|
5160
|
+
}
|
|
5045
5161
|
});
|
|
5046
5162
|
|
|
5047
5163
|
// src/commands/te-analysis/dashboard-report/index.ts
|
|
@@ -8278,6 +8394,165 @@ var commands54 = [
|
|
|
8278
8394
|
];
|
|
8279
8395
|
var member_candidate_default = commands54;
|
|
8280
8396
|
|
|
8397
|
+
// src/commands/te-analysis/project/member-group/shared.ts
|
|
8398
|
+
var MAX_ID = 2147483647;
|
|
8399
|
+
var memberGroupProjectIdFlag = { ...projectIdFlag, min: 1, max: MAX_ID };
|
|
8400
|
+
var memberGroupIdFlag = {
|
|
8401
|
+
name: "group-id",
|
|
8402
|
+
type: "number",
|
|
8403
|
+
required: true,
|
|
8404
|
+
min: 1,
|
|
8405
|
+
max: MAX_ID,
|
|
8406
|
+
desc: "Project member-group ID from project member-group list."
|
|
8407
|
+
};
|
|
8408
|
+
var memberGroupNameFlag = {
|
|
8409
|
+
name: "group-name",
|
|
8410
|
+
type: "string",
|
|
8411
|
+
required: true,
|
|
8412
|
+
desc: "Member-group name, from 1 to 80 characters."
|
|
8413
|
+
};
|
|
8414
|
+
var memberGroupUserIdsFlag = {
|
|
8415
|
+
name: "user-ids",
|
|
8416
|
+
type: "json",
|
|
8417
|
+
required: true,
|
|
8418
|
+
desc: "JSON array of 1 to 1000 positive user IDs. Verify IDs with project member list or member-group members. Changes only these group memberships."
|
|
8419
|
+
};
|
|
8420
|
+
var memberGroupPaginationFlags = [
|
|
8421
|
+
{ name: "limit", type: "number", min: 1, max: 1e3, desc: "Page size, from 1 to 1000. Default: 100." },
|
|
8422
|
+
{ name: "offset", type: "number", min: 0, desc: "Zero-based row offset. Default: 0." }
|
|
8423
|
+
];
|
|
8424
|
+
function integer(ctx, flag, min, max = MAX_ID) {
|
|
8425
|
+
const value = ctx.num(flag);
|
|
8426
|
+
if (!Number.isSafeInteger(value) || value < min || value > max) {
|
|
8427
|
+
throw new CliValidationError(`--${flag} must be an integer between ${min} and ${max}.`);
|
|
8428
|
+
}
|
|
8429
|
+
return value;
|
|
8430
|
+
}
|
|
8431
|
+
function memberGroupProjectInput(ctx) {
|
|
8432
|
+
return { project_id: integer(ctx, "project-id", 1) };
|
|
8433
|
+
}
|
|
8434
|
+
function memberGroupInput(ctx) {
|
|
8435
|
+
return { ...memberGroupProjectInput(ctx), group_id: integer(ctx, "group-id", 1) };
|
|
8436
|
+
}
|
|
8437
|
+
function memberGroupPaginationInput(ctx) {
|
|
8438
|
+
return {
|
|
8439
|
+
...ctx.str("limit") ? { limit: integer(ctx, "limit", 1, 1e3) } : {},
|
|
8440
|
+
...ctx.str("offset") ? { offset: integer(ctx, "offset", 0) } : {}
|
|
8441
|
+
};
|
|
8442
|
+
}
|
|
8443
|
+
function memberGroupNameInput(ctx) {
|
|
8444
|
+
const name = ctx.str("group-name");
|
|
8445
|
+
if (!name.trim() || name.length > 80) {
|
|
8446
|
+
throw new CliValidationError("--group-name must contain 1 to 80 characters and must not be blank.");
|
|
8447
|
+
}
|
|
8448
|
+
return { group_name: name };
|
|
8449
|
+
}
|
|
8450
|
+
function memberGroupChangeInput(ctx) {
|
|
8451
|
+
const input = memberGroupInput(ctx);
|
|
8452
|
+
let userIds;
|
|
8453
|
+
try {
|
|
8454
|
+
userIds = ctx.json("user-ids");
|
|
8455
|
+
} catch {
|
|
8456
|
+
throw new CliValidationError("--user-ids must be a JSON array of positive user IDs.");
|
|
8457
|
+
}
|
|
8458
|
+
if (!Array.isArray(userIds) || userIds.length === 0 || userIds.length > 1e3 || userIds.some((id) => !Number.isSafeInteger(id) || id < 1 || id > MAX_ID)) {
|
|
8459
|
+
throw new CliValidationError("--user-ids must contain 1 to 1000 positive integer user IDs.");
|
|
8460
|
+
}
|
|
8461
|
+
return { ...input, user_ids: userIds, yes: true };
|
|
8462
|
+
}
|
|
8463
|
+
|
|
8464
|
+
// src/commands/te-analysis/project/member-group/add-members.ts
|
|
8465
|
+
var projectMemberGroupAddMembers = createAnalysisCapabilityCommand({
|
|
8466
|
+
resource: "project member-group",
|
|
8467
|
+
command: "add-members",
|
|
8468
|
+
capabilityId: "project.member_group.add_members",
|
|
8469
|
+
description: "Add existing project members to a member group while preserving its other members and settings.",
|
|
8470
|
+
helpText: "Group membership can grant access to shared assets. Discover user IDs with project member list and review --dry-run before confirming with --yes.",
|
|
8471
|
+
flags: [memberGroupProjectIdFlag, memberGroupIdFlag, memberGroupUserIdsFlag],
|
|
8472
|
+
risk: "high-risk-write",
|
|
8473
|
+
buildInput: memberGroupChangeInput
|
|
8474
|
+
});
|
|
8475
|
+
|
|
8476
|
+
// src/commands/te-analysis/project/member-group/create.ts
|
|
8477
|
+
var projectMemberGroupCreate = createAnalysisCapabilityCommand({
|
|
8478
|
+
resource: "project member-group",
|
|
8479
|
+
command: "create",
|
|
8480
|
+
capabilityId: "project.member_group.create",
|
|
8481
|
+
description: "Create an empty project member group without automatic enrollment of new project members.",
|
|
8482
|
+
flags: [memberGroupProjectIdFlag, memberGroupNameFlag],
|
|
8483
|
+
risk: "write",
|
|
8484
|
+
buildInput: (ctx) => ({ ...memberGroupProjectInput(ctx), ...memberGroupNameInput(ctx) })
|
|
8485
|
+
});
|
|
8486
|
+
|
|
8487
|
+
// src/commands/te-analysis/project/member-group/delete.ts
|
|
8488
|
+
var projectMemberGroupDelete = createAnalysisCapabilityCommand({
|
|
8489
|
+
resource: "project member-group",
|
|
8490
|
+
command: "delete",
|
|
8491
|
+
capabilityId: "project.member_group.delete",
|
|
8492
|
+
description: "Delete a project member group while retaining its company and project members.",
|
|
8493
|
+
helpText: "Deleting a member group can revoke access to shared assets. Review --dry-run before confirming with --yes.",
|
|
8494
|
+
flags: [memberGroupProjectIdFlag, memberGroupIdFlag],
|
|
8495
|
+
risk: "high-risk-write",
|
|
8496
|
+
buildInput: (ctx) => ({ ...memberGroupInput(ctx), yes: true })
|
|
8497
|
+
});
|
|
8498
|
+
|
|
8499
|
+
// src/commands/te-analysis/project/member-group/list.ts
|
|
8500
|
+
var projectMemberGroupList = createAnalysisCapabilityCommand({
|
|
8501
|
+
resource: "project member-group",
|
|
8502
|
+
command: "list",
|
|
8503
|
+
capabilityId: "project.member_group.list",
|
|
8504
|
+
description: "List project member groups, their default-join settings, and member counts.",
|
|
8505
|
+
flags: [memberGroupProjectIdFlag, ...memberGroupPaginationFlags],
|
|
8506
|
+
risk: "read",
|
|
8507
|
+
buildInput: (ctx) => ({ ...memberGroupProjectInput(ctx), ...memberGroupPaginationInput(ctx) })
|
|
8508
|
+
});
|
|
8509
|
+
|
|
8510
|
+
// src/commands/te-analysis/project/member-group/members.ts
|
|
8511
|
+
var projectMemberGroupMembers = createAnalysisCapabilityCommand({
|
|
8512
|
+
resource: "project member-group",
|
|
8513
|
+
command: "members",
|
|
8514
|
+
capabilityId: "project.member_group.members",
|
|
8515
|
+
description: "List members of one project member group with pagination.",
|
|
8516
|
+
flags: [memberGroupProjectIdFlag, memberGroupIdFlag, ...memberGroupPaginationFlags],
|
|
8517
|
+
risk: "read",
|
|
8518
|
+
buildInput: (ctx) => ({ ...memberGroupInput(ctx), ...memberGroupPaginationInput(ctx) })
|
|
8519
|
+
});
|
|
8520
|
+
|
|
8521
|
+
// src/commands/te-analysis/project/member-group/remove-members.ts
|
|
8522
|
+
var projectMemberGroupRemoveMembers = createAnalysisCapabilityCommand({
|
|
8523
|
+
resource: "project member-group",
|
|
8524
|
+
command: "remove-members",
|
|
8525
|
+
capabilityId: "project.member_group.remove_members",
|
|
8526
|
+
description: "Remove selected members from a member group while preserving its other members and settings.",
|
|
8527
|
+
helpText: "Group membership can grant access to shared assets. This removes group memberships only; project and company accounts are retained. Review --dry-run before confirming with --yes.",
|
|
8528
|
+
flags: [memberGroupProjectIdFlag, memberGroupIdFlag, memberGroupUserIdsFlag],
|
|
8529
|
+
risk: "high-risk-write",
|
|
8530
|
+
buildInput: memberGroupChangeInput
|
|
8531
|
+
});
|
|
8532
|
+
|
|
8533
|
+
// src/commands/te-analysis/project/member-group/rename.ts
|
|
8534
|
+
var projectMemberGroupRename = createAnalysisCapabilityCommand({
|
|
8535
|
+
resource: "project member-group",
|
|
8536
|
+
command: "rename",
|
|
8537
|
+
capabilityId: "project.member_group.rename",
|
|
8538
|
+
description: "Rename a project member group while preserving all members and default-join settings.",
|
|
8539
|
+
flags: [memberGroupProjectIdFlag, memberGroupIdFlag, memberGroupNameFlag],
|
|
8540
|
+
risk: "write",
|
|
8541
|
+
buildInput: (ctx) => ({ ...memberGroupInput(ctx), ...memberGroupNameInput(ctx) })
|
|
8542
|
+
});
|
|
8543
|
+
|
|
8544
|
+
// src/commands/te-analysis/project/member-group/index.ts
|
|
8545
|
+
var commands55 = [
|
|
8546
|
+
projectMemberGroupAddMembers,
|
|
8547
|
+
projectMemberGroupCreate,
|
|
8548
|
+
projectMemberGroupDelete,
|
|
8549
|
+
projectMemberGroupList,
|
|
8550
|
+
projectMemberGroupMembers,
|
|
8551
|
+
projectMemberGroupRemoveMembers,
|
|
8552
|
+
projectMemberGroupRename
|
|
8553
|
+
];
|
|
8554
|
+
var member_group_default = commands55;
|
|
8555
|
+
|
|
8281
8556
|
// src/commands/te-analysis/project/member-handover/export.ts
|
|
8282
8557
|
var projectMemberHandoverExport = createAnalysisCapabilityCommand({
|
|
8283
8558
|
resource: "project member-handover",
|
|
@@ -8317,11 +8592,11 @@ var projectMemberHandoverRun = createAnalysisCapabilityCommand({
|
|
|
8317
8592
|
});
|
|
8318
8593
|
|
|
8319
8594
|
// src/commands/te-analysis/project/member-handover/index.ts
|
|
8320
|
-
var
|
|
8595
|
+
var commands56 = [
|
|
8321
8596
|
projectMemberHandoverExport,
|
|
8322
8597
|
projectMemberHandoverRun
|
|
8323
8598
|
];
|
|
8324
|
-
var member_handover_default =
|
|
8599
|
+
var member_handover_default = commands56;
|
|
8325
8600
|
|
|
8326
8601
|
// src/commands/te-analysis/project/member-receiver/list.ts
|
|
8327
8602
|
var projectMemberReceiverList = createAnalysisCapabilityCommand({
|
|
@@ -8339,10 +8614,10 @@ var projectMemberReceiverList = createAnalysisCapabilityCommand({
|
|
|
8339
8614
|
});
|
|
8340
8615
|
|
|
8341
8616
|
// src/commands/te-analysis/project/member-receiver/index.ts
|
|
8342
|
-
var
|
|
8617
|
+
var commands57 = [
|
|
8343
8618
|
projectMemberReceiverList
|
|
8344
8619
|
];
|
|
8345
|
-
var member_receiver_default =
|
|
8620
|
+
var member_receiver_default = commands57;
|
|
8346
8621
|
|
|
8347
8622
|
// src/commands/te-analysis/project/owner/update.ts
|
|
8348
8623
|
var projectOwnerUpdate = createAnalysisCapabilityCommand({
|
|
@@ -8368,10 +8643,10 @@ var projectOwnerUpdate = createAnalysisCapabilityCommand({
|
|
|
8368
8643
|
});
|
|
8369
8644
|
|
|
8370
8645
|
// src/commands/te-analysis/project/owner/index.ts
|
|
8371
|
-
var
|
|
8646
|
+
var commands58 = [
|
|
8372
8647
|
projectOwnerUpdate
|
|
8373
8648
|
];
|
|
8374
|
-
var owner_default =
|
|
8649
|
+
var owner_default = commands58;
|
|
8375
8650
|
|
|
8376
8651
|
// src/commands/te-analysis/project/permission-binding/list.ts
|
|
8377
8652
|
var projectPermissionBindingList = createAnalysisCapabilityCommand({
|
|
@@ -8393,10 +8668,10 @@ var projectPermissionBindingList = createAnalysisCapabilityCommand({
|
|
|
8393
8668
|
});
|
|
8394
8669
|
|
|
8395
8670
|
// src/commands/te-analysis/project/permission-binding/index.ts
|
|
8396
|
-
var
|
|
8671
|
+
var commands59 = [
|
|
8397
8672
|
projectPermissionBindingList
|
|
8398
8673
|
];
|
|
8399
|
-
var permission_binding_default =
|
|
8674
|
+
var permission_binding_default = commands59;
|
|
8400
8675
|
|
|
8401
8676
|
// src/commands/te-analysis/project/receive-status/update.ts
|
|
8402
8677
|
var projectReceiveStatusUpdate = createAnalysisCapabilityCommand({
|
|
@@ -8417,10 +8692,10 @@ var projectReceiveStatusUpdate = createAnalysisCapabilityCommand({
|
|
|
8417
8692
|
});
|
|
8418
8693
|
|
|
8419
8694
|
// src/commands/te-analysis/project/receive-status/index.ts
|
|
8420
|
-
var
|
|
8695
|
+
var commands60 = [
|
|
8421
8696
|
projectReceiveStatusUpdate
|
|
8422
8697
|
];
|
|
8423
|
-
var receive_status_default =
|
|
8698
|
+
var receive_status_default = commands60;
|
|
8424
8699
|
|
|
8425
8700
|
// src/commands/te-analysis/project/role/delete.ts
|
|
8426
8701
|
var projectRoleDelete = createAnalysisCapabilityCommand({
|
|
@@ -8512,13 +8787,13 @@ var projectRoleUpsert = createAnalysisCapabilityCommand({
|
|
|
8512
8787
|
});
|
|
8513
8788
|
|
|
8514
8789
|
// src/commands/te-analysis/project/role/index.ts
|
|
8515
|
-
var
|
|
8790
|
+
var commands61 = [
|
|
8516
8791
|
projectRoleDelete,
|
|
8517
8792
|
projectRoleGet,
|
|
8518
8793
|
projectRoleList,
|
|
8519
8794
|
projectRoleUpsert
|
|
8520
8795
|
];
|
|
8521
|
-
var role_default =
|
|
8796
|
+
var role_default = commands61;
|
|
8522
8797
|
|
|
8523
8798
|
// src/commands/te-analysis/project/role-function/list.ts
|
|
8524
8799
|
var projectRoleFunctionList = createAnalysisCapabilityCommand({
|
|
@@ -8544,10 +8819,10 @@ var projectRoleFunctionList = createAnalysisCapabilityCommand({
|
|
|
8544
8819
|
});
|
|
8545
8820
|
|
|
8546
8821
|
// src/commands/te-analysis/project/role-function/index.ts
|
|
8547
|
-
var
|
|
8822
|
+
var commands62 = [
|
|
8548
8823
|
projectRoleFunctionList
|
|
8549
8824
|
];
|
|
8550
|
-
var role_function_default =
|
|
8825
|
+
var role_function_default = commands62;
|
|
8551
8826
|
|
|
8552
8827
|
// src/commands/te-analysis/project/role-user/list.ts
|
|
8553
8828
|
var projectRoleUserList = createAnalysisCapabilityCommand({
|
|
@@ -8567,10 +8842,10 @@ var projectRoleUserList = createAnalysisCapabilityCommand({
|
|
|
8567
8842
|
});
|
|
8568
8843
|
|
|
8569
8844
|
// src/commands/te-analysis/project/role-user/index.ts
|
|
8570
|
-
var
|
|
8845
|
+
var commands63 = [
|
|
8571
8846
|
projectRoleUserList
|
|
8572
8847
|
];
|
|
8573
|
-
var role_user_default =
|
|
8848
|
+
var role_user_default = commands63;
|
|
8574
8849
|
|
|
8575
8850
|
// src/commands/te-analysis/project/timezone/get.ts
|
|
8576
8851
|
var projectTimezoneGet = createAnalysisCapabilityCommand({
|
|
@@ -8708,12 +8983,12 @@ function isObject(value) {
|
|
|
8708
8983
|
}
|
|
8709
8984
|
|
|
8710
8985
|
// src/commands/te-analysis/project/timezone/index.ts
|
|
8711
|
-
var
|
|
8986
|
+
var commands64 = [
|
|
8712
8987
|
projectTimezoneGet,
|
|
8713
8988
|
projectTimezoneOverview,
|
|
8714
8989
|
projectTimezoneUpdate
|
|
8715
8990
|
];
|
|
8716
|
-
var timezone_default =
|
|
8991
|
+
var timezone_default = commands64;
|
|
8717
8992
|
|
|
8718
8993
|
// src/commands/te-analysis/project/user-id-items/update.ts
|
|
8719
8994
|
var projectUserIdItemsUpdate = createAnalysisCapabilityCommand({
|
|
@@ -8733,13 +9008,13 @@ var projectUserIdItemsUpdate = createAnalysisCapabilityCommand({
|
|
|
8733
9008
|
});
|
|
8734
9009
|
|
|
8735
9010
|
// src/commands/te-analysis/project/user-id-items/index.ts
|
|
8736
|
-
var
|
|
9011
|
+
var commands65 = [
|
|
8737
9012
|
projectUserIdItemsUpdate
|
|
8738
9013
|
];
|
|
8739
|
-
var user_id_items_default =
|
|
9014
|
+
var user_id_items_default = commands65;
|
|
8740
9015
|
|
|
8741
9016
|
// src/commands/te-analysis/project/index.ts
|
|
8742
|
-
var
|
|
9017
|
+
var commands66 = [
|
|
8743
9018
|
...access_detail_default,
|
|
8744
9019
|
...data_power_default,
|
|
8745
9020
|
...entity_default2,
|
|
@@ -8749,6 +9024,7 @@ var commands65 = [
|
|
|
8749
9024
|
...mark_time_default,
|
|
8750
9025
|
...member_default,
|
|
8751
9026
|
...member_candidate_default,
|
|
9027
|
+
...member_group_default,
|
|
8752
9028
|
...member_handover_default,
|
|
8753
9029
|
...member_receiver_default,
|
|
8754
9030
|
...owner_default,
|
|
@@ -8760,7 +9036,7 @@ var commands65 = [
|
|
|
8760
9036
|
...timezone_default,
|
|
8761
9037
|
...user_id_items_default
|
|
8762
9038
|
];
|
|
8763
|
-
var project_default =
|
|
9039
|
+
var project_default = commands66;
|
|
8764
9040
|
|
|
8765
9041
|
// src/commands/te-analysis/tracking/shared.ts
|
|
8766
9042
|
function createTrackingCapabilityCommand(config) {
|
|
@@ -9491,7 +9767,7 @@ function counts(plan, value) {
|
|
|
9491
9767
|
}
|
|
9492
9768
|
|
|
9493
9769
|
// src/commands/te-analysis/tracking/plan/index.ts
|
|
9494
|
-
var
|
|
9770
|
+
var commands67 = [
|
|
9495
9771
|
trackingPlanGet,
|
|
9496
9772
|
trackingPlanSaveItems,
|
|
9497
9773
|
trackingPlanDeleteItems,
|
|
@@ -9501,7 +9777,7 @@ var commands66 = [
|
|
|
9501
9777
|
trackingPlanSyncFromMeta,
|
|
9502
9778
|
trackingPlanSyncDisplayNames
|
|
9503
9779
|
];
|
|
9504
|
-
var plan_default =
|
|
9780
|
+
var plan_default = commands67;
|
|
9505
9781
|
|
|
9506
9782
|
// src/commands/te-analysis/tracking/sdk-sample/generate.ts
|
|
9507
9783
|
var trackingSdkSampleGenerate = createTrackingCapabilityCommand({
|
|
@@ -9515,10 +9791,10 @@ var trackingSdkSampleGenerate = createTrackingCapabilityCommand({
|
|
|
9515
9791
|
});
|
|
9516
9792
|
|
|
9517
9793
|
// src/commands/te-analysis/tracking/sdk-sample/index.ts
|
|
9518
|
-
var
|
|
9794
|
+
var commands68 = [
|
|
9519
9795
|
trackingSdkSampleGenerate
|
|
9520
9796
|
];
|
|
9521
|
-
var sdk_sample_default =
|
|
9797
|
+
var sdk_sample_default = commands68;
|
|
9522
9798
|
|
|
9523
9799
|
// src/commands/te-analysis/tracking/plan-change-log/list.ts
|
|
9524
9800
|
var trackingPlanChangeLogList = createTrackingCapabilityCommand({
|
|
@@ -9544,11 +9820,11 @@ var trackingPlanChangeLogExport = createTrackingCapabilityCommand({
|
|
|
9544
9820
|
});
|
|
9545
9821
|
|
|
9546
9822
|
// src/commands/te-analysis/tracking/plan-change-log/index.ts
|
|
9547
|
-
var
|
|
9823
|
+
var commands69 = [
|
|
9548
9824
|
trackingPlanChangeLogList,
|
|
9549
9825
|
trackingPlanChangeLogExport
|
|
9550
9826
|
];
|
|
9551
|
-
var plan_change_log_default =
|
|
9827
|
+
var plan_change_log_default = commands69;
|
|
9552
9828
|
|
|
9553
9829
|
// src/commands/te-analysis/tracking/check/run.ts
|
|
9554
9830
|
var trackingCheckRun = createTrackingCapabilityCommand({
|
|
@@ -9622,7 +9898,7 @@ var trackingCheckExport = createTrackingCapabilityCommand({
|
|
|
9622
9898
|
});
|
|
9623
9899
|
|
|
9624
9900
|
// src/commands/te-analysis/tracking/check/index.ts
|
|
9625
|
-
var
|
|
9901
|
+
var commands70 = [
|
|
9626
9902
|
trackingCheckRun,
|
|
9627
9903
|
trackingCheckList,
|
|
9628
9904
|
trackingCheckGet,
|
|
@@ -9630,7 +9906,7 @@ var commands69 = [
|
|
|
9630
9906
|
trackingCheckDelete,
|
|
9631
9907
|
trackingCheckExport
|
|
9632
9908
|
];
|
|
9633
|
-
var check_default =
|
|
9909
|
+
var check_default = commands70;
|
|
9634
9910
|
|
|
9635
9911
|
// src/commands/te-analysis/tracking/ingest/summary.ts
|
|
9636
9912
|
var trackingIngestSummary = createTrackingCapabilityCommand({
|
|
@@ -9644,10 +9920,10 @@ var trackingIngestSummary = createTrackingCapabilityCommand({
|
|
|
9644
9920
|
});
|
|
9645
9921
|
|
|
9646
9922
|
// src/commands/te-analysis/tracking/ingest/index.ts
|
|
9647
|
-
var
|
|
9923
|
+
var commands71 = [
|
|
9648
9924
|
trackingIngestSummary
|
|
9649
9925
|
];
|
|
9650
|
-
var ingest_default =
|
|
9926
|
+
var ingest_default = commands71;
|
|
9651
9927
|
|
|
9652
9928
|
// src/commands/te-analysis/tracking/ingest-error/list.ts
|
|
9653
9929
|
var trackingIngestErrorList = createTrackingCapabilityCommand({
|
|
@@ -9661,10 +9937,10 @@ var trackingIngestErrorList = createTrackingCapabilityCommand({
|
|
|
9661
9937
|
});
|
|
9662
9938
|
|
|
9663
9939
|
// src/commands/te-analysis/tracking/ingest-error/index.ts
|
|
9664
|
-
var
|
|
9940
|
+
var commands72 = [
|
|
9665
9941
|
trackingIngestErrorList
|
|
9666
9942
|
];
|
|
9667
|
-
var ingest_error_default =
|
|
9943
|
+
var ingest_error_default = commands72;
|
|
9668
9944
|
|
|
9669
9945
|
// src/commands/te-analysis/tracking/live-data/list.ts
|
|
9670
9946
|
var trackingLiveDataList = createTrackingCapabilityCommand({
|
|
@@ -9690,11 +9966,11 @@ var trackingLiveDataExport = createTrackingCapabilityCommand({
|
|
|
9690
9966
|
});
|
|
9691
9967
|
|
|
9692
9968
|
// src/commands/te-analysis/tracking/live-data/index.ts
|
|
9693
|
-
var
|
|
9969
|
+
var commands73 = [
|
|
9694
9970
|
trackingLiveDataList,
|
|
9695
9971
|
trackingLiveDataExport
|
|
9696
9972
|
];
|
|
9697
|
-
var live_data_default =
|
|
9973
|
+
var live_data_default = commands73;
|
|
9698
9974
|
|
|
9699
9975
|
// src/commands/te-analysis/tracking/event-blacklist/list.ts
|
|
9700
9976
|
var trackingEventBlacklistList = createTrackingCapabilityCommand({
|
|
@@ -9730,12 +10006,12 @@ var trackingEventBlacklistUpdate = createTrackingCapabilityCommand({
|
|
|
9730
10006
|
});
|
|
9731
10007
|
|
|
9732
10008
|
// src/commands/te-analysis/tracking/event-blacklist/index.ts
|
|
9733
|
-
var
|
|
10009
|
+
var commands74 = [
|
|
9734
10010
|
trackingEventBlacklistList,
|
|
9735
10011
|
trackingEventBlacklistAdd,
|
|
9736
10012
|
trackingEventBlacklistUpdate
|
|
9737
10013
|
];
|
|
9738
|
-
var event_blacklist_default =
|
|
10014
|
+
var event_blacklist_default = commands74;
|
|
9739
10015
|
|
|
9740
10016
|
// src/commands/te-analysis/tracking/debug-device/add.ts
|
|
9741
10017
|
var trackingDebugDeviceAdd = createTrackingCapabilityCommand({
|
|
@@ -9778,12 +10054,12 @@ var trackingDebugDeviceSelect = createTrackingCapabilityCommand({
|
|
|
9778
10054
|
});
|
|
9779
10055
|
|
|
9780
10056
|
// src/commands/te-analysis/tracking/debug-device/index.ts
|
|
9781
|
-
var
|
|
10057
|
+
var commands75 = [
|
|
9782
10058
|
trackingDebugDeviceList,
|
|
9783
10059
|
trackingDebugDeviceAdd,
|
|
9784
10060
|
trackingDebugDeviceSelect
|
|
9785
10061
|
];
|
|
9786
|
-
var debug_device_default =
|
|
10062
|
+
var debug_device_default = commands75;
|
|
9787
10063
|
|
|
9788
10064
|
// src/commands/te-analysis/tracking/debug-data/list.ts
|
|
9789
10065
|
var debugStartTimeFlag = {
|
|
@@ -9842,11 +10118,11 @@ function isRecord3(value) {
|
|
|
9842
10118
|
}
|
|
9843
10119
|
|
|
9844
10120
|
// src/commands/te-analysis/tracking/debug-data/index.ts
|
|
9845
|
-
var
|
|
9846
|
-
var debug_data_default =
|
|
10121
|
+
var commands76 = [trackingDebugDataList];
|
|
10122
|
+
var debug_data_default = commands76;
|
|
9847
10123
|
|
|
9848
10124
|
// src/commands/te-analysis/tracking/index.ts
|
|
9849
|
-
var
|
|
10125
|
+
var commands77 = [
|
|
9850
10126
|
...plan_default,
|
|
9851
10127
|
...sdk_sample_default,
|
|
9852
10128
|
...plan_change_log_default,
|
|
@@ -9858,7 +10134,7 @@ var commands76 = [
|
|
|
9858
10134
|
...debug_device_default,
|
|
9859
10135
|
...debug_data_default
|
|
9860
10136
|
];
|
|
9861
|
-
var tracking_default =
|
|
10137
|
+
var tracking_default = commands77;
|
|
9862
10138
|
|
|
9863
10139
|
// src/commands/te-analysis/alert/shared.ts
|
|
9864
10140
|
var alertIdFlag = {
|
|
@@ -9971,7 +10247,7 @@ var analysisAlertStop = createAnalysisCapabilityCommand({
|
|
|
9971
10247
|
});
|
|
9972
10248
|
|
|
9973
10249
|
// src/commands/te-analysis/alert/index.ts
|
|
9974
|
-
var
|
|
10250
|
+
var commands78 = [
|
|
9975
10251
|
analysisAlertList,
|
|
9976
10252
|
analysisAlertGet,
|
|
9977
10253
|
analysisAlertCreate,
|
|
@@ -9980,7 +10256,7 @@ var commands77 = [
|
|
|
9980
10256
|
analysisAlertStart,
|
|
9981
10257
|
analysisAlertStop
|
|
9982
10258
|
];
|
|
9983
|
-
var alert_default =
|
|
10259
|
+
var alert_default = commands78;
|
|
9984
10260
|
|
|
9985
10261
|
// src/commands/te-analysis/alert-detail/list.ts
|
|
9986
10262
|
var analysisAlertDetailList = createAnalysisCapabilityCommand({
|
|
@@ -9994,10 +10270,10 @@ var analysisAlertDetailList = createAnalysisCapabilityCommand({
|
|
|
9994
10270
|
});
|
|
9995
10271
|
|
|
9996
10272
|
// src/commands/te-analysis/alert-detail/index.ts
|
|
9997
|
-
var
|
|
10273
|
+
var commands79 = [
|
|
9998
10274
|
analysisAlertDetailList
|
|
9999
10275
|
];
|
|
10000
|
-
var alert_detail_default =
|
|
10276
|
+
var alert_detail_default = commands79;
|
|
10001
10277
|
|
|
10002
10278
|
// src/commands/te-analysis/alert-job/list.ts
|
|
10003
10279
|
var analysisAlertJobList = createAnalysisCapabilityCommand({
|
|
@@ -10011,10 +10287,10 @@ var analysisAlertJobList = createAnalysisCapabilityCommand({
|
|
|
10011
10287
|
});
|
|
10012
10288
|
|
|
10013
10289
|
// src/commands/te-analysis/alert-job/index.ts
|
|
10014
|
-
var
|
|
10290
|
+
var commands80 = [
|
|
10015
10291
|
analysisAlertJobList
|
|
10016
10292
|
];
|
|
10017
|
-
var alert_job_default =
|
|
10293
|
+
var alert_job_default = commands80;
|
|
10018
10294
|
|
|
10019
10295
|
// src/commands/te-analysis/alert-notice-config/list.ts
|
|
10020
10296
|
var analysisAlertNoticeConfigList = createAnalysisCapabilityCommand({
|
|
@@ -10028,10 +10304,10 @@ var analysisAlertNoticeConfigList = createAnalysisCapabilityCommand({
|
|
|
10028
10304
|
});
|
|
10029
10305
|
|
|
10030
10306
|
// src/commands/te-analysis/alert-notice-config/index.ts
|
|
10031
|
-
var
|
|
10307
|
+
var commands81 = [
|
|
10032
10308
|
analysisAlertNoticeConfigList
|
|
10033
10309
|
];
|
|
10034
|
-
var alert_notice_config_default =
|
|
10310
|
+
var alert_notice_config_default = commands81;
|
|
10035
10311
|
|
|
10036
10312
|
// src/commands/te-analysis/system/shared.ts
|
|
10037
10313
|
import { readFileSync as readFileSync3, statSync as statSync3 } from "fs";
|
|
@@ -11116,14 +11392,14 @@ var systemUsageCommands = [
|
|
|
11116
11392
|
];
|
|
11117
11393
|
|
|
11118
11394
|
// src/commands/te-analysis/system/index.ts
|
|
11119
|
-
var
|
|
11395
|
+
var commands82 = [
|
|
11120
11396
|
...systemUsageCommands,
|
|
11121
11397
|
...systemIdentityCommands,
|
|
11122
11398
|
...systemSecurityCommands,
|
|
11123
11399
|
...systemMonitoringCommands,
|
|
11124
11400
|
...systemConfigurationCommands
|
|
11125
11401
|
];
|
|
11126
|
-
var system_default =
|
|
11402
|
+
var system_default = commands82;
|
|
11127
11403
|
|
|
11128
11404
|
// src/commands/te-analysis/feedback/submit.ts
|
|
11129
11405
|
import { createHash as createHash4, randomUUID as randomUUID2 } from "crypto";
|
|
@@ -11208,6 +11484,213 @@ var analysisFeedbackSubmit = createAnalysisCapabilityCommand({
|
|
|
11208
11484
|
// src/commands/te-analysis/feedback/index.ts
|
|
11209
11485
|
var feedback_default = [analysisFeedbackSubmit];
|
|
11210
11486
|
|
|
11487
|
+
// src/commands/te-analysis/scenario/index.ts
|
|
11488
|
+
function text2(value, field, max) {
|
|
11489
|
+
if (typeof value !== "string" || !value.trim() || value.length > max) throw new CliValidationError(`${field} must be nonblank and at most ${max} characters.`);
|
|
11490
|
+
return value;
|
|
11491
|
+
}
|
|
11492
|
+
function scenarioInput(ctx, append = false) {
|
|
11493
|
+
const agent = readCliAgentContext();
|
|
11494
|
+
const session = text2(agent.agent_session_id ?? "", "agent_session_id", 191);
|
|
11495
|
+
const questionId = text2(ctx.str("question-id") || (!append ? agent.agent_turn_id ?? "" : ""), "question-id", 191);
|
|
11496
|
+
const projectId = ctx.optionalNum("project-id");
|
|
11497
|
+
if (projectId !== void 0 && (!Number.isInteger(projectId) || projectId <= 0)) throw new CliValidationError("project-id must be a positive integer.");
|
|
11498
|
+
const input = {
|
|
11499
|
+
agent_session_id: session,
|
|
11500
|
+
question_id: questionId,
|
|
11501
|
+
...projectId !== void 0 ? { project_id: projectId } : {}
|
|
11502
|
+
};
|
|
11503
|
+
const entryType = append ? text2(ctx.str("entry-type"), "entry-type", 32) : "answer";
|
|
11504
|
+
if (!["answer", "user_feedback", "answer_revision"].includes(entryType) || append && entryType === "answer") {
|
|
11505
|
+
throw new CliValidationError("entry-type must be user_feedback or answer_revision.");
|
|
11506
|
+
}
|
|
11507
|
+
if (append) {
|
|
11508
|
+
input.entry_type = entryType;
|
|
11509
|
+
input.entry_id = text2(ctx.str("entry-id") || (agent.agent_turn_id ? `${agent.agent_turn_id}:${entryType}` : ""), "entry-id", 191);
|
|
11510
|
+
input.target_answer_id = text2(ctx.str("target-answer-id"), "target-answer-id", 191);
|
|
11511
|
+
input.text = text2(ctx.str("text"), "text", entryType === "user_feedback" ? 4096 : 16384);
|
|
11512
|
+
} else {
|
|
11513
|
+
input.question = text2(ctx.str("question"), "question", 8192);
|
|
11514
|
+
input.answer = text2(ctx.str("answer"), "answer", 16384);
|
|
11515
|
+
}
|
|
11516
|
+
if (entryType !== "user_feedback") {
|
|
11517
|
+
if (append && ctx.str("user-message")) input.user_message = text2(ctx.str("user-message"), "user-message", 4096);
|
|
11518
|
+
input.answer_id = text2(ctx.str("answer-id") || (agent.agent_turn_id ? `answer:${agent.agent_turn_id}` : ""), "answer-id", 191);
|
|
11519
|
+
if (input.answer_id === input.target_answer_id) throw new CliValidationError("A revision requires a new answer-id; target-answer-id must preserve the previous answer.");
|
|
11520
|
+
const path = ctx.json("query-path");
|
|
11521
|
+
if (!Array.isArray(path) || !path.length || path.length > 64) throw new CliValidationError("query-path must contain 1..64 ordered CLI call references.");
|
|
11522
|
+
for (const step of path) {
|
|
11523
|
+
if (!step || typeof step !== "object" || Array.isArray(step) || Object.keys(step).some((key) => !["capability_id", "invocation_id", "client_request_id", "purpose"].includes(key)) || typeof step.capability_id !== "string" || !/^[a-z][a-z0-9_]*\.[a-z][a-z0-9_]*\.[a-z][a-z0-9_]*$/.test(step.capability_id) || ["analysis.scenario.collect", "analysis.scenario.append", "analysis.feedback.submit"].includes(step.capability_id) || step.invocation_id === void 0 && step.client_request_id === void 0) {
|
|
11524
|
+
throw new CliValidationError("Each query-path step requires a capability_id and an existing invocation_id or client_request_id; only optional purpose is accepted. Do not include query inputs or results.");
|
|
11525
|
+
}
|
|
11526
|
+
for (const key of ["invocation_id", "client_request_id"]) if (step[key] !== void 0) text2(step[key], key, 191);
|
|
11527
|
+
if (step.purpose !== void 0) text2(step.purpose, "purpose", 256);
|
|
11528
|
+
}
|
|
11529
|
+
if (!path.some((step) => analysisQueryCapabilities.has(step.capability_id))) throw new CliValidationError("query-path must reference at least one attempted analysis data query.");
|
|
11530
|
+
if (JSON.stringify(path).length > 2e4) throw new CliValidationError("query-path must be at most 20000 characters.");
|
|
11531
|
+
input.query_path = path;
|
|
11532
|
+
const started = ctx.str("start-time");
|
|
11533
|
+
if (started) input.duration_ms = scenarioDuration(started);
|
|
11534
|
+
} else if (ctx.json("query-path") !== void 0 || ctx.str("answer-id") || ctx.str("user-message") || ctx.str("start-time")) {
|
|
11535
|
+
throw new CliValidationError("user_feedback records user text and its target only; do not attach an answer or query path.");
|
|
11536
|
+
}
|
|
11537
|
+
return input;
|
|
11538
|
+
}
|
|
11539
|
+
function scenarioTransportInput(ctx, append = false) {
|
|
11540
|
+
const input = scenarioInput(ctx, append);
|
|
11541
|
+
const field = append ? "text" : "answer";
|
|
11542
|
+
const original = input[field];
|
|
11543
|
+
const bytes = Buffer.from(original, "utf8");
|
|
11544
|
+
if (bytes.toString("utf8") !== original) {
|
|
11545
|
+
throw new CliValidationError(`${field} must contain valid Unicode text.`);
|
|
11546
|
+
}
|
|
11547
|
+
return { ...input, [field]: bytes.toString("base64"), content_encoding: "base64" };
|
|
11548
|
+
}
|
|
11549
|
+
var commonFlags2 = [
|
|
11550
|
+
{ name: "start-time", type: "string", desc: "Exact start_time returned by scenario begin for this answer. CLI computes one question-to-answer duration; omit if not captured." },
|
|
11551
|
+
{ name: "question-id", type: "string", desc: "Stable original scenario turn ID. Collect defaults to current turn; append must reuse the original ID." },
|
|
11552
|
+
{ name: "answer-id", type: "string", desc: "Actual answer identifier; defaults to answer:<current-turn-id>. Revisions need a new ID." },
|
|
11553
|
+
{ name: "query-path", type: "json", desc: "1..64 ordered references: [{capability_id,invocation_id?,client_request_id?,purpose?}]. Prefer only returned meta.invocation_id; fallback to returned gateway meta.client_request_id, never business request_id. One analysis data-query step required. Inputs/status/timing come from existing call telemetry. Never include query results." },
|
|
11554
|
+
{ name: "project-id", type: "number", desc: "Source analysis project. Collection is skipped if omitted or the project has not explicitly enabled scenario samples." }
|
|
11555
|
+
];
|
|
11556
|
+
function withProjectCollectionPolicy(command) {
|
|
11557
|
+
return {
|
|
11558
|
+
...command,
|
|
11559
|
+
execute: async (ctx) => {
|
|
11560
|
+
const input = scenarioInput(ctx, command.command === "append");
|
|
11561
|
+
const skipped = (reason) => withOutputMetadata({
|
|
11562
|
+
accepted: false,
|
|
11563
|
+
skipped: true,
|
|
11564
|
+
reason,
|
|
11565
|
+
question_id: input.question_id,
|
|
11566
|
+
...input.answer_id ? { answer_id: input.answer_id } : {},
|
|
11567
|
+
...input.entry_id ? { entry_id: input.entry_id } : {},
|
|
11568
|
+
...input.target_answer_id ? { target_answer_id: input.target_answer_id } : {},
|
|
11569
|
+
event_name: command.command === "append" ? "cli_analysis_scenario_entry" : "cli_analysis_scenario",
|
|
11570
|
+
delivery: "best_effort"
|
|
11571
|
+
}, { capability_id: command.capabilityId });
|
|
11572
|
+
if (input.project_id === void 0) return skipped("PROJECT_REQUIRED");
|
|
11573
|
+
try {
|
|
11574
|
+
const policy = await executeCapabilityWithEnvelope(ctx.host(), "analysis", "project.info.get", {
|
|
11575
|
+
project_id: input.project_id
|
|
11576
|
+
});
|
|
11577
|
+
if (policy.data?.analysis_scenario_collection_enabled !== true) {
|
|
11578
|
+
return skipped("PROJECT_COLLECTION_DISABLED");
|
|
11579
|
+
}
|
|
11580
|
+
} catch {
|
|
11581
|
+
return skipped("PROJECT_COLLECTION_CONFIG_UNAVAILABLE");
|
|
11582
|
+
}
|
|
11583
|
+
return command.execute(ctx);
|
|
11584
|
+
}
|
|
11585
|
+
};
|
|
11586
|
+
}
|
|
11587
|
+
var scenarioCollect = withProjectCollectionPolicy(createAnalysisCapabilityCommand({
|
|
11588
|
+
resource: "scenario",
|
|
11589
|
+
command: "collect",
|
|
11590
|
+
capabilityId: "analysis.scenario.collect",
|
|
11591
|
+
risk: "write",
|
|
11592
|
+
description: "Collect one whole scenario question, exact final answer and ordered CLI call references. Multiple CLI calls belong to one question_id. No self-evaluation.",
|
|
11593
|
+
flags: [
|
|
11594
|
+
...commonFlags2,
|
|
11595
|
+
{ name: "question", type: "string", required: true, sensitive: true, desc: "Original user scenario question and confirmed clarifications; up to 8192 characters." },
|
|
11596
|
+
{ name: "answer", type: "string", required: true, sensitive: true, desc: "Exact answer text to deliver, not a summary. Up to 16384 characters. Deliver the same text after collection." }
|
|
11597
|
+
],
|
|
11598
|
+
buildInput: (ctx) => scenarioTransportInput(ctx)
|
|
11599
|
+
}));
|
|
11600
|
+
var scenarioAppend = withProjectCollectionPolicy(createAnalysisCapabilityCommand({
|
|
11601
|
+
resource: "scenario",
|
|
11602
|
+
command: "append",
|
|
11603
|
+
capabilityId: "analysis.scenario.append",
|
|
11604
|
+
risk: "write",
|
|
11605
|
+
description: "Append verbatim user feedback or the exact substantive follow-up answer, including a recheck with unchanged conclusions, preserving earlier answers. This is not a new scenario.",
|
|
11606
|
+
flags: [
|
|
11607
|
+
...commonFlags2,
|
|
11608
|
+
{ name: "entry-type", type: "string", required: true, desc: "user_feedback or answer_revision." },
|
|
11609
|
+
{ name: "target-answer-id", type: "string", required: true, desc: "Existing answer being questioned or revised. Never overwrite it." },
|
|
11610
|
+
{ name: "text", type: "string", required: true, sensitive: true, desc: "Verbatim user feedback (up to 4096) or exact revised answer (up to 16384); no judgment of whether feedback is right." },
|
|
11611
|
+
{ name: "entry-id", type: "string", desc: "Stable append ID; defaults to current-turn-id:entry-type. Preserve on retries, independent of text edits." },
|
|
11612
|
+
{ name: "user-message", type: "string", sensitive: true, desc: "For answer_revision only: exact triggering follow-up request, up to 4096 characters, when not already captured as user_feedback. Preserve scope changes without inventing negative feedback." }
|
|
11613
|
+
],
|
|
11614
|
+
buildInput: (ctx) => scenarioTransportInput(ctx, true)
|
|
11615
|
+
}));
|
|
11616
|
+
function scenarioDuration(start, now = Date.now()) {
|
|
11617
|
+
const millis = Date.parse(start);
|
|
11618
|
+
if (!/^\d{4}-\d{2}-\d{2}T.*(?:Z|[+-]\d{2}:\d{2})$/.test(start) || !Number.isFinite(millis) || !(/* @__PURE__ */ new Date(`${start.slice(0, 10)}T00:00:00Z`)).toISOString().startsWith(start.slice(0, 10)) || millis > now || now - millis > 7776e6) {
|
|
11619
|
+
throw new CliValidationError("start-time must be a real ISO-8601 timestamp within the last 90 days, copied from scenario begin.");
|
|
11620
|
+
}
|
|
11621
|
+
return now - millis;
|
|
11622
|
+
}
|
|
11623
|
+
var scenarioBegin = {
|
|
11624
|
+
service: "analysis",
|
|
11625
|
+
resource: "scenario",
|
|
11626
|
+
command: "begin",
|
|
11627
|
+
risk: "read",
|
|
11628
|
+
usesAeHost: false,
|
|
11629
|
+
description: "Capture the start of this question locally. No network request or file write. Reuse start_time when collecting the ready answer.",
|
|
11630
|
+
flags: [],
|
|
11631
|
+
execute: async () => ({ start_time: (/* @__PURE__ */ new Date()).toISOString() })
|
|
11632
|
+
};
|
|
11633
|
+
function scenarioListInput(ctx) {
|
|
11634
|
+
const input = {};
|
|
11635
|
+
for (const [flag, min, max, fallback] of [
|
|
11636
|
+
["project-id", 1, 2147483647, void 0],
|
|
11637
|
+
["days", 1, 90, 7],
|
|
11638
|
+
["limit", 1, 50, 20],
|
|
11639
|
+
["offset", 0, 2147483647, 0]
|
|
11640
|
+
]) {
|
|
11641
|
+
const value = ctx.str(flag) === "" ? fallback : Number(ctx.str(flag));
|
|
11642
|
+
if (value === void 0 || !Number.isInteger(value) || value < min || value > max) {
|
|
11643
|
+
throw new CliValidationError(`${flag} must be an integer between ${min} and ${max}.`);
|
|
11644
|
+
}
|
|
11645
|
+
input[flag.replaceAll("-", "_")] = value;
|
|
11646
|
+
}
|
|
11647
|
+
const end = ctx.str("end-time");
|
|
11648
|
+
if (end) {
|
|
11649
|
+
if (!/^\d{4}-\d{2}-\d{2}T.*(?:Z|[+-]\d{2}:\d{2})$/.test(end) || !Number.isFinite(Date.parse(end)) || !(/* @__PURE__ */ new Date(`${end.slice(0, 10)}T00:00:00Z`)).toISOString().startsWith(end.slice(0, 10))) {
|
|
11650
|
+
throw new CliValidationError("end-time must be an ISO-8601 timestamp with a timezone.");
|
|
11651
|
+
}
|
|
11652
|
+
input.end_time = end;
|
|
11653
|
+
}
|
|
11654
|
+
return input;
|
|
11655
|
+
}
|
|
11656
|
+
var scenarioList = createAnalysisCapabilityCommand({
|
|
11657
|
+
resource: "scenario",
|
|
11658
|
+
command: "list",
|
|
11659
|
+
capabilityId: "analysis.scenario.list",
|
|
11660
|
+
risk: "read",
|
|
11661
|
+
description: "Read archived scenario questions with optional answer duration, exact answers, feedback and revisions. Follow the scenario review Skill for semantic deduplication and badcase assessment.",
|
|
11662
|
+
flags: [
|
|
11663
|
+
{ name: "project-id", type: "number", required: true, desc: "Project to review. Requires project configuration permission to read collected content." },
|
|
11664
|
+
{ name: "days", type: "number", desc: "Recent calendar days including today in the deployment timezone. Default 7; range 1..90." },
|
|
11665
|
+
{ name: "limit", type: "number", desc: "Complete scenarios per page. Default 20; range 1..50." },
|
|
11666
|
+
{ name: "offset", type: "number", desc: "Scenario offset. Default 0; follow meta.next_offset until meta.has_more is false." },
|
|
11667
|
+
{ name: "end-time", type: "string", desc: "Exclusive ISO-8601 snapshot boundary. Reuse the first response meta.end_time and the same days on every subsequent page." }
|
|
11668
|
+
],
|
|
11669
|
+
buildInput: scenarioListInput
|
|
11670
|
+
});
|
|
11671
|
+
function scenarioGetInput(ctx) {
|
|
11672
|
+
const { limit, offset, ...input } = scenarioListInput(ctx);
|
|
11673
|
+
for (const key of ["open-id", "agent-session-id", "question-id"]) {
|
|
11674
|
+
input[key.replaceAll("-", "_")] = text2(ctx.str(key), key, 191);
|
|
11675
|
+
}
|
|
11676
|
+
return input;
|
|
11677
|
+
}
|
|
11678
|
+
var scenarioGet = createAnalysisCapabilityCommand({
|
|
11679
|
+
resource: "scenario",
|
|
11680
|
+
command: "get",
|
|
11681
|
+
capabilityId: "analysis.scenario.get",
|
|
11682
|
+
risk: "read",
|
|
11683
|
+
description: "Read one archived question with answer duration and linked CLI inputs, execution results, costs and errors. Missing evidence stays explicit.",
|
|
11684
|
+
flags: [
|
|
11685
|
+
...scenarioList.flags.filter((flag) => !["limit", "offset"].includes(flag.name)),
|
|
11686
|
+
{ name: "open-id", type: "string", required: true, desc: "Exact initial.open_id from scenario list. Project configuration permission is still required." },
|
|
11687
|
+
{ name: "agent-session-id", type: "string", required: true, desc: "Exact initial.agent_session_id from scenario list." },
|
|
11688
|
+
{ name: "question-id", type: "string", required: true, desc: "Exact initial.question_id from scenario list." }
|
|
11689
|
+
],
|
|
11690
|
+
buildInput: scenarioGetInput
|
|
11691
|
+
});
|
|
11692
|
+
var scenario_default = [scenarioBegin, scenarioCollect, scenarioAppend, scenarioList, scenarioGet];
|
|
11693
|
+
|
|
11211
11694
|
// src/commands/te-analysis/index.ts
|
|
11212
11695
|
registerCapabilityGatewayRoute("analysis", { gatewayDomain: "analysis" });
|
|
11213
11696
|
registerCapabilityGatewayRoute("project", { gatewayDomain: "analysis" });
|
|
@@ -11255,10 +11738,11 @@ var baseCommands = [
|
|
|
11255
11738
|
...alert_job_default,
|
|
11256
11739
|
...alert_notice_config_default,
|
|
11257
11740
|
...system_default,
|
|
11258
|
-
...feedback_default
|
|
11741
|
+
...feedback_default,
|
|
11742
|
+
...scenario_default
|
|
11259
11743
|
];
|
|
11260
|
-
var
|
|
11261
|
-
var te_analysis_default =
|
|
11744
|
+
var commands83 = [...baseCommands];
|
|
11745
|
+
var te_analysis_default = commands83;
|
|
11262
11746
|
export {
|
|
11263
11747
|
baseCommands,
|
|
11264
11748
|
te_analysis_default as default
|