@indigoai-us/hq-cli 5.345.106 → 5.345.108
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/CHANGELOG.md +25 -0
- package/assets/scaffold/core/scripts/hq-task.mjs +259 -0
- package/assets/scaffold/core/scripts/hq-task.sh +31 -0
- package/assets/scaffold/core/scripts/pipeline-worker-table.sh +285 -0
- package/dist/command-catalog.generated.d.ts +175 -6
- package/dist/command-catalog.generated.js +209 -6
- package/dist/commands/auth.js +42 -0
- package/dist/commands/capacity.d.ts +1 -1
- package/dist/commands/capacity.js +74 -11
- package/dist/commands/core-checkpoint-stop-gate-native.js +17 -5
- package/dist/commands/core-hq-task-fast.d.ts +4 -0
- package/dist/commands/core-hq-task-fast.js +11 -0
- package/dist/commands/core-hq-task-native.d.ts +20 -0
- package/dist/commands/core-hq-task-native.js +275 -0
- package/dist/commands/core-native-bucket-c-flag.d.ts +3 -0
- package/dist/commands/core-native-bucket-c-flag.js +6 -0
- package/dist/commands/core-native-family-flag.d.ts +0 -2
- package/dist/commands/core-native-family-flag.js +0 -4
- package/dist/commands/core-native-pipeline-flag.d.ts +3 -0
- package/dist/commands/core-native-pipeline-flag.js +6 -0
- package/dist/commands/core-ontology-native.js +24 -30
- package/dist/commands/core-pipeline-workers-command.d.ts +3 -0
- package/dist/commands/core-pipeline-workers-command.js +37 -0
- package/dist/commands/core-pipeline-workers-native.d.ts +13 -0
- package/dist/commands/core-pipeline-workers-native.js +361 -0
- package/dist/commands/core.js +12 -10
- package/dist/commands/lanes.js +104 -19
- package/dist/commands/outposts.d.ts +5 -0
- package/dist/commands/outposts.js +5 -0
- package/dist/fast-scaffold.d.ts +1 -1
- package/dist/fast-scaffold.js +13 -5
- package/dist/hq-cloud-sync-runner/bin/sync-runner.js +56015 -63476
- package/dist/hq-cloud-sync-runner/package.json +1 -1
- package/dist/lib/capacity/ledger.d.ts +1 -0
- package/dist/lib/capacity/ledger.js +10 -0
- package/dist/lib/capacity/route.d.ts +146 -0
- package/dist/lib/capacity/route.js +452 -0
- package/dist/lib/daemon/remote-control-pools.d.ts +2 -2
- package/dist/lib/flag-registry-worker-source.generated.d.ts +1 -1
- package/dist/lib/flag-registry-worker-source.generated.js +1 -1
- package/dist/lib/lanes/reconcile.js +4 -0
- package/dist/lib/lanes/remote-control-lane.d.ts +33 -0
- package/dist/lib/lanes/remote-control-lane.js +276 -0
- package/dist/lib/lanes/spawn.d.ts +5 -0
- package/dist/lib/lanes/spawn.js +65 -14
- package/dist/lib/lanes/store.js +11 -4
- package/dist/lib/lanes/types.d.ts +22 -4
- package/dist/lib/lanes/types.js +1 -1
- package/dist/lib/lanes/watcher.js +8 -1
- package/dist/utils/cognito-session.d.ts +12 -4
- package/dist/utils/cognito-session.js +42 -9
- package/dist/utils/token-keychain.d.ts +96 -0
- package/dist/utils/token-keychain.js +218 -0
- package/package.json +2 -2
- package/assets/scaffold/core/scripts/ontology-audience-grant.sh +0 -81
- package/assets/scaffold/core/scripts/ontology-brief.mjs +0 -93
- package/assets/scaffold/core/scripts/ontology-candidate.sh +0 -100
- package/assets/scaffold/core/scripts/ontology-garden.mjs +0 -327
- package/assets/scaffold/core/scripts/ontology-source-worklist.sh +0 -226
- package/assets/scaffold/core/scripts/source-yaml-validate.sh +0 -36
package/dist/commands/lanes.js
CHANGED
|
@@ -73,6 +73,7 @@ import { createLaneMesh, emitLaneDecisionEvents, emitLaneTerminalStateEvent, lan
|
|
|
73
73
|
import { sessionIdFromEnv } from "../lib/mesh/live/session-identity.js";
|
|
74
74
|
import { listLaneReviews } from "../lib/lanes/reviews.js";
|
|
75
75
|
import { effectiveAccountHome } from "../lib/lanes/account-home.js";
|
|
76
|
+
import { remoteControlSelectionConfig, remoteControlSessionHome } from "../lib/lanes/remote-control-lane.js";
|
|
76
77
|
import { AccountResolutionError, compareLaneQueueOrder, LANE_PROVIDERS, LANE_STATES, QUESTION_STATUSES, SENIOR_KINDS, accountStatus, appendCappedHistory, canonicalizeHome, createLane, decideAdmission, defaultLivenessDeps, defaultSystemdUserDir, defaultThrottleDeps, installReconcileTimer, providerPathEnv, probeDrainHookRegistration, isLanesError, isLaneVersionConflict, isTerminalLaneState, isFinishedResumableHireChild, childrenHoldingHireGrantCarve, laneHoldsHireGrantCarve, assignedChildHireGrants, hireGrantCapacityError, planHireGrantBackfill, terminalChildResumeHireGrantError, withHireGrantAdmission, laneStoryLedgerEnabled, syncLaneToProjectStoryLedger, removeLaneFromProjectStoryLedger, validateProjectStories, buildLaneStatusSnapshot, formatLaneStatusHuman, listLaneIds, listQuestionIds, loadLanesConfig, laneRunsHere, MAX_LANE_DEPTH, MONITOR_ERROR_EXIT_CODE, readLiveMonitorEvidence, resolveMachineIdentity as lookupMachineIdentity, loadLivenessIndex, parseLaneProvider, parseLaneRecord, parseLaneState, parseQuestionRecord, parseSeniorKind, readAllLanes, readLane, sanitizeHostComponent, retryUpdateLane, syncLaneRecordFromOwner, readQuestion, resolveAccount, resolveLaneWorker, ignoredWorkerProfileFields, loadWorkerProfile, loadWorkerProfileWithRegistry, registryWorkerRecord, runReconcilePass, DEAD_HOST_MS, sessionLiveness, tryReadLane, uninstallReconcileTimer, updateLane, updateQuestion, dropboxDir, laneDeliveryMechanism, hasActiveAdmissionReservation, hasActivePendingResume, hasRecordedSessionId, hasEarlierEligibleQueuedLane, laneAdmissionCapReason, providerSupportsSessionResume, providerSessionPortable, isFailedQuotaKeepAliveLane, sessionNotPortableMessage, withLaneAdmissionLock, withAllLaneAdmissionLocks, readWorkerRunResult, resumeCommandRefusal, withLaneHireLocks, raiseLaneQuestion, sha256Text, } from "../lib/lanes/index.js";
|
|
77
78
|
import { laneStories, storyWarning, } from "../lib/lanes/stories.js";
|
|
78
79
|
import { resolveLaneKeepAlive } from "../lib/lanes/profile.js";
|
|
@@ -84,6 +85,8 @@ import { writeQuestionBody } from "../lib/lanes/questions.js";
|
|
|
84
85
|
import { compactionAfterUsage, } from "../lib/lanes/compaction.js";
|
|
85
86
|
import { parseCliEffort, resolveLaneEffort, } from "../lib/lanes/effort.js";
|
|
86
87
|
import { LanesError } from "../lib/lanes/errors.js";
|
|
88
|
+
import { LedgerCorrupt, capacityOptionsFromEnv, readNow, rebuildNow, } from "../lib/capacity/ledger.js";
|
|
89
|
+
import { pickAccount } from "../lib/capacity/route.js";
|
|
87
90
|
import { readLatestEnvelopeRecord } from "../lib/lanes/watcher.js";
|
|
88
91
|
import { loadQuotaState, quotaBlockFor } from "../lib/lanes/quota.js";
|
|
89
92
|
import { SESSION_MOVE_REASON } from "../lib/lanes/move-account.js";
|
|
@@ -3261,9 +3264,61 @@ async function runCreate(ctx, opts) {
|
|
|
3261
3264
|
if (!briefFile) {
|
|
3262
3265
|
throw new LanesError("missing_brief_file", "--brief-file is required", {});
|
|
3263
3266
|
}
|
|
3264
|
-
|
|
3267
|
+
let explicitProvider = opts.provider
|
|
3265
3268
|
? parseLaneProvider(opts.provider)
|
|
3266
3269
|
: undefined;
|
|
3270
|
+
let autoAccountPick;
|
|
3271
|
+
let autoChosenProvider;
|
|
3272
|
+
let autoChosenAccount;
|
|
3273
|
+
if (opts.account !== undefined && opts.account.trim() === "auto") {
|
|
3274
|
+
const ledgerOptions = capacityOptionsFromEnv(ctx.env);
|
|
3275
|
+
let view;
|
|
3276
|
+
try {
|
|
3277
|
+
view = readNow(ledgerOptions);
|
|
3278
|
+
}
|
|
3279
|
+
catch (err) {
|
|
3280
|
+
if (err instanceof LedgerCorrupt) {
|
|
3281
|
+
view = rebuildNow(ledgerOptions);
|
|
3282
|
+
}
|
|
3283
|
+
else {
|
|
3284
|
+
throw new LanesError("capacity_unavailable", `Cannot route --account auto: ${err instanceof Error ? err.message : String(err)}`, {});
|
|
3285
|
+
}
|
|
3286
|
+
}
|
|
3287
|
+
const routeConfig = loadLanesConfig(hqRoot);
|
|
3288
|
+
let routeLanes = [];
|
|
3289
|
+
let routeLanesError = null;
|
|
3290
|
+
try {
|
|
3291
|
+
routeLanes = readAllLanes(hqRoot);
|
|
3292
|
+
}
|
|
3293
|
+
catch (err) {
|
|
3294
|
+
routeLanesError = err instanceof Error ? err.message : String(err);
|
|
3295
|
+
}
|
|
3296
|
+
const result = pickAccount({
|
|
3297
|
+
view,
|
|
3298
|
+
lanes: routeLanes,
|
|
3299
|
+
lanesConfig: routeConfig,
|
|
3300
|
+
...(explicitProvider ? { providers: [explicitProvider] } : {}),
|
|
3301
|
+
model: opts.model ?? null,
|
|
3302
|
+
now: ctx.now(),
|
|
3303
|
+
lanesError: routeLanesError,
|
|
3304
|
+
});
|
|
3305
|
+
if (!result.ok || !result.pick) {
|
|
3306
|
+
const resetSuffix = result.next_reset ? `; next reset ${result.next_reset}` : "";
|
|
3307
|
+
throw new LanesError("no_account_with_room", `No account has room${resetSuffix}`, {
|
|
3308
|
+
next_reset: result.next_reset,
|
|
3309
|
+
request: result.request,
|
|
3310
|
+
});
|
|
3311
|
+
}
|
|
3312
|
+
autoChosenProvider = parseLaneProvider(result.pick.provider);
|
|
3313
|
+
autoChosenAccount = result.pick.account;
|
|
3314
|
+
autoAccountPick = {
|
|
3315
|
+
why: result.pick.why,
|
|
3316
|
+
headroom: result.pick.headroom,
|
|
3317
|
+
score: result.pick.score,
|
|
3318
|
+
};
|
|
3319
|
+
opts = { ...opts, account: autoChosenAccount, provider: autoChosenProvider };
|
|
3320
|
+
explicitProvider = autoChosenProvider;
|
|
3321
|
+
}
|
|
3267
3322
|
if (opts.outpost !== undefined && opts.outpost !== "") {
|
|
3268
3323
|
const requested = opts.outpost.trim();
|
|
3269
3324
|
let known;
|
|
@@ -3350,6 +3405,9 @@ async function runCreate(ctx, opts) {
|
|
|
3350
3405
|
if (opts.loop === true && (opts.outpost?.trim() || requestedPlacement?.kind === "outpost" || defaultPlacement?.kind === "outpost")) {
|
|
3351
3406
|
throw new LanesError("loop_lane_outpost_unsupported", "Loop lanes currently require the local host", { outpost_id: opts.outpost?.trim() ?? (requestedPlacement?.kind === "outpost" ? requestedPlacement.id : defaultPlacement?.kind === "outpost" ? defaultPlacement.id : undefined) });
|
|
3352
3407
|
}
|
|
3408
|
+
if (opts.remoteControl === true && (opts.outpost?.trim() || requestedPlacement?.kind === "outpost" || defaultPlacement?.kind === "outpost")) {
|
|
3409
|
+
throw new LanesError("remote_control_outpost_unsupported", "--remote-control requires the local daemon account pools", {});
|
|
3410
|
+
}
|
|
3353
3411
|
let placementCompanyResolved = false;
|
|
3354
3412
|
let placementCompany;
|
|
3355
3413
|
let placementGate;
|
|
@@ -3391,8 +3449,11 @@ async function runCreate(ctx, opts) {
|
|
|
3391
3449
|
const profile = resolvedWorker?.profile;
|
|
3392
3450
|
const provider = explicitProvider ??
|
|
3393
3451
|
profile?.meta.provider ??
|
|
3394
|
-
parseLaneProvider("codex");
|
|
3395
|
-
|
|
3452
|
+
parseLaneProvider(opts.remoteControl === true ? "claude" : "codex");
|
|
3453
|
+
if (opts.remoteControl === true && provider !== "claude") {
|
|
3454
|
+
throw new LanesError("remote_control_requires_claude", "--remote-control requires a Claude lane", { provider });
|
|
3455
|
+
}
|
|
3456
|
+
const continuityEnabled = opts.remoteControl !== true && opts.worker !== undefined && await readLanesRegistryFlagFailOpen(LANE_WORKER_CONTINUITY_FLAG, { company: company ?? meshCompany, env: ctx.env, defaultValue: true });
|
|
3396
3457
|
let workerContinuity = continuityEnabled
|
|
3397
3458
|
? findWorkerContinuityLane(loadAllLanes(hqRoot), {
|
|
3398
3459
|
senior,
|
|
@@ -3424,7 +3485,10 @@ async function runCreate(ctx, opts) {
|
|
|
3424
3485
|
path: briefAbs,
|
|
3425
3486
|
});
|
|
3426
3487
|
}
|
|
3427
|
-
const
|
|
3488
|
+
const loadedConfig = loadLanesConfig(hqRoot);
|
|
3489
|
+
const config = opts.remoteControl === true
|
|
3490
|
+
? remoteControlSelectionConfig(loadedConfig, ctx.env)
|
|
3491
|
+
: loadedConfig;
|
|
3428
3492
|
let outpostId = opts.outpost?.trim() || undefined;
|
|
3429
3493
|
let placementHostOverride;
|
|
3430
3494
|
let placementBalanceHostOverride;
|
|
@@ -3458,7 +3522,9 @@ async function runCreate(ctx, opts) {
|
|
|
3458
3522
|
inheritedPlacement = callerLane.placement_default;
|
|
3459
3523
|
}
|
|
3460
3524
|
}
|
|
3461
|
-
const placementToApply =
|
|
3525
|
+
const placementToApply = opts.remoteControl === true
|
|
3526
|
+
? { kind: "local" }
|
|
3527
|
+
: requestedPlacement ?? inheritedPlacement;
|
|
3462
3528
|
const outpostTargets = new Set();
|
|
3463
3529
|
if (placementToApply?.kind === "outpost")
|
|
3464
3530
|
outpostTargets.add(placementToApply.id);
|
|
@@ -3785,6 +3851,9 @@ async function runCreate(ctx, opts) {
|
|
|
3785
3851
|
if (opts.loop === true && host.kind === "outpost") {
|
|
3786
3852
|
throw new LanesError("loop_lane_outpost_unsupported", "Loop lanes currently require the local host", { outpost_id: host.id });
|
|
3787
3853
|
}
|
|
3854
|
+
if (opts.remoteControl === true && host.kind === "outpost") {
|
|
3855
|
+
throw new LanesError("remote_control_outpost_unsupported", "--remote-control requires the local daemon account pools", { outpost_id: host.id });
|
|
3856
|
+
}
|
|
3788
3857
|
// Repeat the busy check while holding provider admission serialization so
|
|
3789
3858
|
// two concurrent creates cannot both claim one worker's provider thread.
|
|
3790
3859
|
if (continuityEnabled) {
|
|
@@ -3947,6 +4016,7 @@ async function runCreate(ctx, opts) {
|
|
|
3947
4016
|
...(opts.loop === true ? { loop_mode: true } : {}),
|
|
3948
4017
|
...(keepAlive ? { keep_alive_opted_in_at: createdAt } : {}),
|
|
3949
4018
|
provider,
|
|
4019
|
+
...(opts.remoteControl === true ? { remote_control: true } : {}),
|
|
3950
4020
|
...(workerContinuity.resumable && workerContinuity.previous
|
|
3951
4021
|
? {
|
|
3952
4022
|
provider_session_id: workerContinuity.previous.provider_session_id,
|
|
@@ -3959,18 +4029,23 @@ async function runCreate(ctx, opts) {
|
|
|
3959
4029
|
},
|
|
3960
4030
|
}
|
|
3961
4031
|
: {}),
|
|
3962
|
-
provider_source:
|
|
3963
|
-
? "
|
|
3964
|
-
:
|
|
3965
|
-
? "
|
|
3966
|
-
:
|
|
4032
|
+
provider_source: autoAccountPick !== undefined
|
|
4033
|
+
? "auto"
|
|
4034
|
+
: explicitProvider !== undefined
|
|
4035
|
+
? "cli"
|
|
4036
|
+
: profile?.meta.provider !== undefined
|
|
4037
|
+
? "profile"
|
|
4038
|
+
: "default",
|
|
3967
4039
|
account: pinnedAccount,
|
|
3968
|
-
account_source:
|
|
3969
|
-
? "
|
|
3970
|
-
:
|
|
3971
|
-
? "
|
|
3972
|
-
:
|
|
4040
|
+
account_source: autoAccountPick !== undefined
|
|
4041
|
+
? "auto"
|
|
4042
|
+
: accountWasExplicit
|
|
4043
|
+
? "cli"
|
|
4044
|
+
: profileAccount !== undefined
|
|
4045
|
+
? "profile"
|
|
4046
|
+
: "balanced",
|
|
3973
4047
|
...(accountSelection !== undefined ? { account_selection: accountSelection } : {}),
|
|
4048
|
+
...(autoAccountPick !== undefined ? { account_pick: autoAccountPick } : {}),
|
|
3974
4049
|
...(defaultPlacement !== undefined
|
|
3975
4050
|
? { placement_default: defaultPlacement }
|
|
3976
4051
|
: {}),
|
|
@@ -4204,6 +4279,7 @@ async function runCreate(ctx, opts) {
|
|
|
4204
4279
|
priority: started.priority,
|
|
4205
4280
|
provider: started.provider,
|
|
4206
4281
|
account: started.account ?? null,
|
|
4282
|
+
...(started.account_pick !== undefined ? { account_pick: started.account_pick } : {}),
|
|
4207
4283
|
model: started.model ?? null,
|
|
4208
4284
|
effort: started.effort ?? null,
|
|
4209
4285
|
effort_source: started.effort_source ?? null,
|
|
@@ -7208,13 +7284,18 @@ async function prepareAccountMove(ctx, lane, input) {
|
|
|
7208
7284
|
throw new LanesError("no_provider_session", `Lane ${laneId} has no recorded provider session id, so there is no session to move`, { lane_id: laneId, provider: lane.provider });
|
|
7209
7285
|
}
|
|
7210
7286
|
const sessionId = lane.provider_session_id;
|
|
7211
|
-
const
|
|
7287
|
+
const loadedConfig = loadLanesConfig(hqRoot);
|
|
7288
|
+
const config = lane.remote_control === true
|
|
7289
|
+
? remoteControlSelectionConfig(loadedConfig, ctx.env)
|
|
7290
|
+
: loadedConfig;
|
|
7212
7291
|
const providerCfg = config.providers[lane.provider];
|
|
7213
7292
|
const targetCfg = providerCfg.accounts[target];
|
|
7214
7293
|
if (targetCfg === undefined) {
|
|
7215
7294
|
throw new AccountResolutionError("unknown_account", `Unknown account ${JSON.stringify(target)} for ${lane.provider}. Configured: ${Object.keys(providerCfg.accounts).join(", ") || "(none)"}`, { provider: lane.provider, account: target, enabled: Object.keys(providerCfg.accounts).filter((id) => providerCfg.accounts[id]?.enabled) });
|
|
7216
7295
|
}
|
|
7217
|
-
const targetHome =
|
|
7296
|
+
const targetHome = lane.remote_control === true
|
|
7297
|
+
? remoteControlSessionHome(config, ctx.hostname())
|
|
7298
|
+
: effectiveAccountHome(targetCfg, ctx.hostname()).home;
|
|
7218
7299
|
if (!targetCfg.enabled) {
|
|
7219
7300
|
throw new AccountResolutionError("account_disabled", `Account ${JSON.stringify(target)} is disabled${targetCfg.disabled_reason ? `: ${targetCfg.disabled_reason}` : ""}`, { provider: lane.provider, account: target, reason: targetCfg.disabled_reason ?? "" });
|
|
7220
7301
|
}
|
|
@@ -7375,7 +7456,10 @@ async function selectAutomaticClaudeResumeAccount(ctx, lane, workerProfile, opti
|
|
|
7375
7456
|
if (lane.provider !== "claude")
|
|
7376
7457
|
return undefined;
|
|
7377
7458
|
const hqRoot = ctx.hqRoot();
|
|
7378
|
-
const
|
|
7459
|
+
const loadedConfig = loadLanesConfig(hqRoot);
|
|
7460
|
+
const config = lane.remote_control === true
|
|
7461
|
+
? remoteControlSelectionConfig(loadedConfig, ctx.env)
|
|
7462
|
+
: loadedConfig;
|
|
7379
7463
|
const currentConfig = lane.account === undefined
|
|
7380
7464
|
? undefined
|
|
7381
7465
|
: config.providers.claude.accounts[lane.account];
|
|
@@ -9646,7 +9730,8 @@ export function registerLanesCommand(parent, deps = {}) {
|
|
|
9646
9730
|
.option("--fresh-thread", "Skip worker continuity and start a cold provider session")
|
|
9647
9731
|
.option("--loop", "Keep one worker lane registered to process queued phase envelopes")
|
|
9648
9732
|
.option("--provider <name>", "claude | codex | grok")
|
|
9649
|
-
.option("--
|
|
9733
|
+
.option("--remote-control", "Open a Claude lane in Remote Control using account a for login and the selected account for inference")
|
|
9734
|
+
.option("--account <id>", "Provider account id, or 'auto' to pick the account with the most room (all accounts are one pool across companies)")
|
|
9650
9735
|
.option("--model <id>", "Model id for the provider CLI")
|
|
9651
9736
|
.option("--effort <level>", "Effort level; claude: low|medium|high|xhigh|max, codex: minimal|low|medium|high|xhigh|max|ultra, grok: low|medium|high|xhigh")
|
|
9652
9737
|
.option("--senior <ref>", "session:<id> | lane:<id> | user")
|
|
@@ -12,6 +12,11 @@
|
|
|
12
12
|
* `vaultApiFetch` satisfies hq-cloud's `OutpostTransport` structurally — the
|
|
13
13
|
* option bags match field-for-field — so it is passed straight through with no
|
|
14
14
|
* adapter shim.
|
|
15
|
+
*
|
|
16
|
+
* Company Outposts (`--company`, `jobs register`) are part of that same command
|
|
17
|
+
* tree. This adapter does not grow a second copy. The accepted revision, the
|
|
18
|
+
* catalog price, and the company payer are printed by hq-cloud. The /schedule
|
|
19
|
+
* skill text is a follow-up and is not changed here.
|
|
15
20
|
*/
|
|
16
21
|
import type { Command } from "commander";
|
|
17
22
|
import type { ReplicaSyncDependencies } from "@indigoai-us/hq-cloud/outposts/node";
|
|
@@ -12,6 +12,11 @@
|
|
|
12
12
|
* `vaultApiFetch` satisfies hq-cloud's `OutpostTransport` structurally — the
|
|
13
13
|
* option bags match field-for-field — so it is passed straight through with no
|
|
14
14
|
* adapter shim.
|
|
15
|
+
*
|
|
16
|
+
* Company Outposts (`--company`, `jobs register`) are part of that same command
|
|
17
|
+
* tree. This adapter does not grow a second copy. The accepted revision, the
|
|
18
|
+
* catalog price, and the company payer are printed by hq-cloud. The /schedule
|
|
19
|
+
* skill text is a follow-up and is not changed here.
|
|
15
20
|
*/
|
|
16
21
|
import { loadCachedTokens } from "@indigoai-us/hq-cloud";
|
|
17
22
|
import { registerOutpostsCommand as registerOutpostsCommandFromCloud } from "@indigoai-us/hq-cloud/outposts/cli";
|
package/dist/fast-scaffold.d.ts
CHANGED
|
@@ -63,7 +63,7 @@ export declare function coreCommandHasPathOperands(argv: readonly string[]): boo
|
|
|
63
63
|
/** Apply the manifest's operand rule to a copied process.argv vector. */
|
|
64
64
|
export declare function normalizeCorePathOperands(argv: readonly string[], platform?: NodeJS.Platform, convertPath?: (value: string) => string): string[];
|
|
65
65
|
/** Family kill switches whose owner-approved default is enabled. */
|
|
66
|
-
export declare const CORE_NATIVE_DEFAULT_ON_FAMILY_FLAGS: readonly ["core-native-session", "core-native-hook-helpers", "core-native-policy", "core-native-utilities", "core-native-jobs", "core-native-
|
|
66
|
+
export declare const CORE_NATIVE_DEFAULT_ON_FAMILY_FLAGS: readonly ["core-native-session", "core-native-hook-helpers", "core-native-policy", "core-native-utilities", "core-native-jobs", "core-native-handoff", "core-native-bucket-c", "core-native-delegate"];
|
|
67
67
|
export declare function isDefaultOnFastFamily(flagKey: string): boolean;
|
|
68
68
|
/** The relocated scripts that qualify for the entrypoint fast path. */
|
|
69
69
|
export declare const FAST_SCAFFOLD_SCRIPTS: readonly FastScaffoldScript[];
|
package/dist/fast-scaffold.js
CHANGED
|
@@ -152,8 +152,8 @@ export const CORE_NATIVE_DEFAULT_ON_FAMILY_FLAGS = [
|
|
|
152
152
|
"core-native-policy",
|
|
153
153
|
"core-native-utilities",
|
|
154
154
|
"core-native-jobs",
|
|
155
|
-
"core-native-ontology",
|
|
156
155
|
"core-native-handoff",
|
|
156
|
+
"core-native-bucket-c",
|
|
157
157
|
"core-native-delegate",
|
|
158
158
|
];
|
|
159
159
|
const defaultOnFamilyFlags = new Set(CORE_NATIVE_DEFAULT_ON_FAMILY_FLAGS);
|
|
@@ -606,11 +606,7 @@ export const FAST_SCAFFOLD_SCRIPTS = [
|
|
|
606
606
|
modulePath: "./commands/core-ontology-native.js",
|
|
607
607
|
exportName: "runOntologyNativeFast",
|
|
608
608
|
flagKey: "hq-core-native-fast-route",
|
|
609
|
-
familyFlagKey: "core-native-ontology",
|
|
610
|
-
asset: `core/scripts/${name === "audience-grant" ? "ontology-audience-grant" : name === "source-worklist" ? "ontology-source-worklist" : name === "source-yaml-validate" ? "source-yaml-validate" : `ontology-${name}`}.${name === "brief" || name === "garden" ? "mjs" : "sh"}`,
|
|
611
609
|
root: name === "source-yaml-validate" ? "cwd" : "live",
|
|
612
|
-
shellCwd: "caller",
|
|
613
|
-
shellHqRoot: name === "source-yaml-validate" ? "none" : "live",
|
|
614
610
|
})),
|
|
615
611
|
{
|
|
616
612
|
name: "audit-log",
|
|
@@ -713,6 +709,18 @@ export const FAST_SCAFFOLD_SCRIPTS = [
|
|
|
713
709
|
shellHqRoot: "live",
|
|
714
710
|
requiresNodeNetworkCompatibility: true,
|
|
715
711
|
},
|
|
712
|
+
{
|
|
713
|
+
name: "hq-task",
|
|
714
|
+
kind: "native",
|
|
715
|
+
modulePath: "./commands/core-hq-task-fast.js",
|
|
716
|
+
exportName: "runHqTaskFast",
|
|
717
|
+
flagKey: "hq-core-native-fast-route",
|
|
718
|
+
familyFlagKey: "core-native-bucket-c",
|
|
719
|
+
asset: "core/scripts/hq-task.sh",
|
|
720
|
+
root: "live",
|
|
721
|
+
shellCwd: "live",
|
|
722
|
+
shellHqRoot: "live",
|
|
723
|
+
},
|
|
716
724
|
];
|
|
717
725
|
/**
|
|
718
726
|
* Parse the small, non-ambiguous `hq secrets env` surface for the gated entry
|