@stigmer/cli 3.12.4 → 3.12.5
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/commands/draft.js +4 -2
- package/commands/draft.js.map +1 -1
- package/commands/run.js +4 -2
- package/commands/run.js.map +1 -1
- package/commands/seedpack.d.ts.map +1 -1
- package/commands/seedpack.js +27 -5
- package/commands/seedpack.js.map +1 -1
- package/local/seedpack/apply.d.ts +32 -3
- package/local/seedpack/apply.d.ts.map +1 -1
- package/local/seedpack/apply.js +59 -8
- package/local/seedpack/apply.js.map +1 -1
- package/package.json +5 -5
- package/resources/apply/apply.d.ts.map +1 -1
- package/resources/apply/apply.js +10 -1
- package/resources/apply/apply.js.map +1 -1
- package/resources/connect/connect.d.ts +7 -0
- package/resources/connect/connect.d.ts.map +1 -1
- package/resources/connect/connect.js +47 -30
- package/resources/connect/connect.js.map +1 -1
- package/resources/connect/display.d.ts.map +1 -1
- package/resources/connect/display.js +3 -0
- package/resources/connect/display.js.map +1 -1
- package/resources/run/prepare.d.ts +12 -1
- package/resources/run/prepare.d.ts.map +1 -1
- package/resources/run/prepare.js +27 -2
- package/resources/run/prepare.js.map +1 -1
- package/resources/task-configs.d.ts +15 -0
- package/resources/task-configs.d.ts.map +1 -0
- package/resources/task-configs.js +135 -0
- package/resources/task-configs.js.map +1 -0
- package/resources/validate.d.ts.map +1 -1
- package/resources/validate.js +8 -1
- package/resources/validate.js.map +1 -1
- package/src/commands/draft.ts +4 -2
- package/src/commands/run.ts +4 -2
- package/src/commands/seedpack.ts +27 -5
- package/src/local/seedpack/apply.test.ts +127 -6
- package/src/local/seedpack/apply.ts +69 -9
- package/src/resources/apply/apply.ts +11 -1
- package/src/resources/connect/connect.ts +70 -44
- package/src/resources/connect/display.ts +3 -0
- package/src/resources/run/prepare.test.ts +80 -0
- package/src/resources/run/prepare.ts +41 -1
- package/src/resources/task-configs.test.ts +98 -0
- package/src/resources/task-configs.ts +150 -0
- package/src/resources/validate.test.ts +26 -0
- package/src/resources/validate.ts +10 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/resources/connect/connect.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/resources/connect/connect.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,8EAA8E;AAC9E,uEAAuE;AACvE,6EAA6E;AAC7E,yEAAyE;AACzE,cAAc;AACd,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,4EAA4E;AAC5E,6EAA6E;AAC7E,8EAA8E;AAE9E,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C,OAAO,EAAE,kBAAkB,EAAE,8BAA8B,EAAE,MAAM,uDAAuD,CAAC;AAI3H,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEjG,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAqC9C,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAe,EAAE,IAAoB;IAC1E,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAExE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,MAAM,IAAI,UAAU,CAAC,sDAAsD,CAAC,CAAC;QAC5G,6EAA6E;QAC7E,8EAA8E;QAC9E,gFAAgF;QAChF,IAAI,WAAW,CAAC,MAAM,CAAC;YAAE,MAAM,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5E,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACzF,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QACtD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,qEAAqE;YACrE,uEAAuE;YACvE,iEAAiE;YACjE,IAAI,GAAG,YAAY,0BAA0B;gBAAE,MAAM,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACrF,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,MAAM,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAEjD,MAAM,KAAK,GAAG,MAAM,CAAC,kBAAkB,EAAE;QACvC,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE;QACtC,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,UAAU,EAAE,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC;KACvD,CAAC,CAAC;IACH,OAAO,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,2EAA2E;AAC3E,uEAAuE;AACvE,6EAA6E;AAC7E,0EAA0E;AAC1E,oCAAoC;AACpC,KAAK,UAAU,iBAAiB,CAC9B,MAAe,EACf,MAAiB,EACjB,KAAmB,EACnB,IAAoB;IAEpB,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,YAAY,CAAC;IAC1E,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE;YAC5D,UAAU,EAAE,IAAI,CAAC,aAAa;YAC9B,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;gBACrB,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,IAAI,EAAE,CAAC;YACzD,CAAC;SACF,CAAC,CAAC;QACH,OAAO;YACL,MAAM;YACN,YAAY,EAAE,OAAO,CAAC,MAAM,EAAE,sBAAsB;YACpD,OAAO;YACP,OAAO,EAAE,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,CAAC,GAAG,YAAY,wBAAwB,CAAC;YAAE,MAAM,GAAG,CAAC;QAC1D,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACrC,wEAAwE;YACxE,MAAM,IAAI,YAAY,CACpB,kDAAkD,IAAI,WAAW,IAAI,CAAC,aAAa,GAAG,IAAI,eAAe,EACzG,QAAQ,CAAC,UAAU,EACnB;gBACE,sFAAsF;gBACtF,kDAAkD,IAAI,EAAE;gBACxD,kDAAkD;aACnD,CACF,CAAC;QACJ,CAAC;QACD,uEAAuE;QACvE,0EAA0E;QAC1E,MAAM,IAAI,YAAY,CACpB,8BAA8B,IAAI,2BAA2B,uBAAuB,GAAG,MAAM,UAAU,EACvG,QAAQ,CAAC,UAAU,EACnB;YACE,yDAAyD;YACzD,wDAAwD,IAAI,EAAE;YAC9D,gDAAgD;SACjD,CACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,kBAAkB;AAClB,KAAK,UAAU,gBAAgB,CAAC,MAAe,EAAE,SAAiB,EAAE,GAAW;IAC7E,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,QAAQ,IAAI,EAAE,CAAC;IAC5E,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IACxD,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjE,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,gFAAgF;AAChF,8EAA8E;AAC9E,0EAA0E;AAC1E,4EAA4E;AAC5E,KAAK,UAAU,oBAAoB,CAAC,MAAe,EAAE,MAAiB,EAAE,IAAoB;IAC1F,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO;IAEnC,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAEtC,8EAA8E;IAC9E,+EAA+E;IAC/E,+EAA+E;IAC/E,kCAAkC;IAClC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,MAAM,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,mBAAmB,CACvD,MAAM,CAAC,8BAA8B,EAAE;QACrC,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE;QACrC,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,CAAC,CACH,CAAC;IACF,IAAI,MAAM,CAAC,SAAS;QAAE,OAAO;IAE7B,IAAI,CAAC,IAAI,CAAC,WAAW;QAAE,MAAM,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAEnF,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IACpD,MAAM,YAAY,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AACvF,CAAC;AAED,kFAAkF;AAClF,8EAA8E;AAC9E,kFAAkF;AAClF,oDAAoD;AACpD,SAAS,kBAAkB,CAAC,MAAiB,EAAE,GAA+B;IAC5E,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,aAAa,CAAC;IACpG,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAClD,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,OAAO,IAAI,UAAU,CACnB,eAAe,IAAI,gCAAgC,GAAG,CAAC,YAAY,GAAG,IAAI,wBAAwB;YAChG,yBAAyB,GAAG,CAAC,YAAY,+DAA+D,CAC3G,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,OAAO,IAAI,UAAU,CACnB,eAAe,IAAI,mBAAmB,GAAG,CAAC,YAAY,IAAI,KAAK,yBAAyB,GAAG,CAAC,YAAY,oBAAoB;QAC1H,0DAA0D,GAAG,CAAC,YAAY,kDAAkD,CAC/H,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAiB,EAAE,SAAiB,EAAE,SAAkB;IAClF,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,SAAS,CAAC;IACzE,MAAM,OAAO,GAAG;QACd,sFAAsF;KACvF,CAAC;IACF,0EAA0E;IAC1E,gFAAgF;IAChF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,gEAAgE,IAAI,kBAAkB,CAAC,CAAC;IACvG,CAAC;IACD,OAAO,IAAI,UAAU,CACnB,eAAe,IAAI,2EAA2E;QAC5F,aAAa,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,KAAK;QACpD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CACrB,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,6EAA6E;AAC7E,0DAA0D;AAC1D,SAAS,iBAAiB,CAAC,MAAiB,EAAE,SAAiB;IAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,SAAS,CAAC;IACzE,OAAO,IAAI,UAAU,CACnB,eAAe,IAAI,qFAAqF;QACtG,0FAA0F,IAAI,EAAE,CACnG,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,SAAS,oBAAoB,CAAC,MAAiB,EAAE,SAAiB;IAChE,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,SAAS,CAAC;IACzE,OAAO,IAAI,UAAU,CACnB,eAAe,IAAI,oJAAoJ;QACrK,yEAAyE,IAAI,EAAE,CAClF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,MAAiB;IACtC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,WAAW,CAAC,MAAiB;IACpC,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;AAC/C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../../src/resources/connect/display.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,yDAAyD;AACzD,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAIjD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../../src/resources/connect/display.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,yDAAyD;AACzD,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAIjD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAmBrG"}
|
|
@@ -15,6 +15,9 @@ export function renderConnectResult(result, sink, colorize) {
|
|
|
15
15
|
sink(result.updated !== undefined
|
|
16
16
|
? style.green("✓ Connected — capabilities and tool approvals saved")
|
|
17
17
|
: style.yellow("⚠ Dry run — results not saved to backend"));
|
|
18
|
+
if (result.warning !== undefined) {
|
|
19
|
+
sink(style.yellow(`⚠ ${result.warning}`));
|
|
20
|
+
}
|
|
18
21
|
sink("");
|
|
19
22
|
}
|
|
20
23
|
function transportLine(server) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display.js","sourceRoot":"","sources":["../../../src/resources/connect/display.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"display.js","sourceRoot":"","sources":["../../../src/resources/connect/display.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,11 +49,22 @@ export interface PreparedRun {
|
|
|
49
49
|
readonly mode: RunMode;
|
|
50
50
|
readonly serviceTier: ServiceTierFlag;
|
|
51
51
|
}
|
|
52
|
+
/** Optional behavior switches for {@link prepareAgentExec}. */
|
|
53
|
+
export interface PrepareAgentExecOptions {
|
|
54
|
+
/**
|
|
55
|
+
* When `true` (the caller's backend is Stigmer Cloud) and `--model` is
|
|
56
|
+
* omitted, the model is filled from the caller's account preference
|
|
57
|
+
* (`IdentityAccountPreferences.default_native_model`) via `whoAmI()`.
|
|
58
|
+
* Local mode has no IdentityAccount, so callers pass `false` there and
|
|
59
|
+
* the omitted model keeps resolving to the platform default.
|
|
60
|
+
*/
|
|
61
|
+
readonly cloudBackend?: boolean;
|
|
62
|
+
}
|
|
52
63
|
/**
|
|
53
64
|
* Validate flags and resolve all execution inputs. The `org` is used to inject
|
|
54
65
|
* STIGMER_ORG_ID and the `client` to upload non-workspace attachments.
|
|
55
66
|
*/
|
|
56
|
-
export declare function prepareAgentExec(flags: AgentExecFlags, client: Stigmer, org: string, progress?: ProgressSink): Promise<PreparedRun>;
|
|
67
|
+
export declare function prepareAgentExec(flags: AgentExecFlags, client: Stigmer, org: string, progress?: ProgressSink, options?: PrepareAgentExecOptions): Promise<PreparedRun>;
|
|
57
68
|
/**
|
|
58
69
|
* Parse the `--approve-default` flag to an ApprovalAction. Empty means "no
|
|
59
70
|
* default" (UNSPECIFIED). Mirrors Go's approval.ParseAction, including the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../../src/resources/run/prepare.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8DAA8D,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,8DAA8D,CAAC;AAC9F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4DAA4D,CAAC;AACjG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAG5D,8EAA8E;AAC9E,MAAM,MAAM,OAAO,GAAG,EAAE,GAAG,OAAO,GAAG,MAAM,CAAC;AAE5C;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,EAAE,GAAG,UAAU,GAAG,MAAM,CAAC;AAEvD,mFAAmF;AACnF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;CACvC;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC;IACvC,QAAQ,CAAC,gBAAgB,EAAE,cAAc,EAAE,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;CACvC;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../../src/resources/run/prepare.ts"],"names":[],"mappings":"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"}
|
package/resources/run/prepare.js
CHANGED
|
@@ -15,10 +15,18 @@ import { localWorkspaceRoots, parseWorkspaceEntries } from "./workspace.js";
|
|
|
15
15
|
* Validate flags and resolve all execution inputs. The `org` is used to inject
|
|
16
16
|
* STIGMER_ORG_ID and the `client` to upload non-workspace attachments.
|
|
17
17
|
*/
|
|
18
|
-
export async function prepareAgentExec(flags, client, org, progress) {
|
|
18
|
+
export async function prepareAgentExec(flags, client, org, progress, options) {
|
|
19
19
|
const defaultAction = parseApprovalAction(flags.approveDefault);
|
|
20
20
|
validateMode(flags.mode);
|
|
21
21
|
validateServiceTier(flags.serviceTier);
|
|
22
|
+
// Layered model seed (oss#293 Phase 1.5): an explicit --model always wins;
|
|
23
|
+
// an omitted one fills from the account preference on cloud. `run` and
|
|
24
|
+
// `draft` always create a NEW session (threading lives in `resume`, which
|
|
25
|
+
// does not pass through here), so the fill never injects a native model
|
|
26
|
+
// into an existing cursor-harness session.
|
|
27
|
+
const model = flags.model === "" && options?.cloudBackend === true
|
|
28
|
+
? await resolveModelFromAccountPreference(client)
|
|
29
|
+
: flags.model;
|
|
22
30
|
const workspaceEntries = parseWorkspaceEntries(flags.workspace, flags.branch, flags.commit);
|
|
23
31
|
const runtimeEnv = loadAndMergeEnv({
|
|
24
32
|
envFlags: flags.env,
|
|
@@ -39,12 +47,29 @@ export async function prepareAgentExec(flags, client, org, progress) {
|
|
|
39
47
|
message: flags.message,
|
|
40
48
|
detach: flags.detach,
|
|
41
49
|
verbose: flags.verbose,
|
|
42
|
-
model
|
|
50
|
+
model,
|
|
43
51
|
autoApproveAll: flags.autoApprove,
|
|
44
52
|
mode: flags.mode,
|
|
45
53
|
serviceTier: flags.serviceTier,
|
|
46
54
|
};
|
|
47
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* Best-effort read of the caller's default model for native-harness runs
|
|
58
|
+
* (CLI sessions are native — there is no --harness flag yet, so the cursor
|
|
59
|
+
* default is deliberately not consulted). Any failure — network, auth, a
|
|
60
|
+
* backend without IdentityAccount — resolves to "" and the run proceeds
|
|
61
|
+
* exactly as an unfilled --model does today: a missing preference must
|
|
62
|
+
* never fail a run.
|
|
63
|
+
*/
|
|
64
|
+
async function resolveModelFromAccountPreference(client) {
|
|
65
|
+
try {
|
|
66
|
+
const account = await client.identityAccount.whoAmI();
|
|
67
|
+
return account.spec?.preferences?.defaultNativeModel ?? "";
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
return "";
|
|
71
|
+
}
|
|
72
|
+
}
|
|
48
73
|
/**
|
|
49
74
|
* Parse the `--approve-default` flag to an ApprovalAction. Empty means "no
|
|
50
75
|
* default" (UNSPECIFIED). Mirrors Go's approval.ParseAction, including the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../../src/resources/run/prepare.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,8EAA8E;AAC9E,EAAE;AACF,0EAA0E;AAC1E,4EAA4E;AAC5E,6EAA6E;AAC7E,gFAAgF;AAChF,oEAAoE;AAGpE,OAAO,EAAE,cAAc,EAAE,MAAM,8DAA8D,CAAC;AAG9F,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAqB,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAmB,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../../src/resources/run/prepare.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type DescMessage } from "@bufbuild/protobuf";
|
|
2
|
+
import type { Workflow } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/api_pb";
|
|
3
|
+
import { WorkflowTaskKind } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/enum_pb";
|
|
4
|
+
export declare const TASK_CONFIG_SCHEMAS: ReadonlyMap<WorkflowTaskKind, DescMessage>;
|
|
5
|
+
/**
|
|
6
|
+
* Decodes every task's `task_config` into its kind's typed proto message,
|
|
7
|
+
* throwing on the first config a real apply would reject. Runs on the decoded
|
|
8
|
+
* Workflow message (after the top-level schema decode), so snake_case and
|
|
9
|
+
* json-name spellings are already normalized.
|
|
10
|
+
*
|
|
11
|
+
* A task with no `task_config` is skipped: its absence is a protovalidate
|
|
12
|
+
* required-field violation, which is the server's layer, not decode-truth.
|
|
13
|
+
*/
|
|
14
|
+
export declare function decodeWorkflowTaskConfigs(workflow: Workflow): void;
|
|
15
|
+
//# sourceMappingURL=task-configs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-configs.d.ts","sourceRoot":"","sources":["../../src/resources/task-configs.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,WAAW,EAA4B,MAAM,oBAAoB,CAAC;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uDAAuD,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAC;AA2B1F,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,gBAAgB,EAAE,WAAW,CAwBzE,CAAC;AAEH;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAiBlE"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
// Typed decode of workflow task_config blocks — the offline twin of the
|
|
2
|
+
// server's `unmarshalTaskConfig` (backend/services/stigmer-server/pkg/domain/
|
|
3
|
+
// workflow/converter/unmarshal.go).
|
|
4
|
+
//
|
|
5
|
+
// The Workflow proto models `task_config` as an open google.protobuf.Struct
|
|
6
|
+
// discriminated by `kind`, so the top-level schema decode accepts ANY config
|
|
7
|
+
// payload; a real apply then decodes it into the kind's typed message and
|
|
8
|
+
// rejects what does not fit. Before this module, `stigmer validate` and
|
|
9
|
+
// `apply --dry-run` reported "valid" for configs a real apply refuses
|
|
10
|
+
// (stigmer/stigmer#778).
|
|
11
|
+
//
|
|
12
|
+
// Scope is decode-truth only: field shapes, types, enum membership, unknown
|
|
13
|
+
// fields. Semantic validation (cross-task references, expression namespaces,
|
|
14
|
+
// model registry, protovalidate required-field rules) remains the server's
|
|
15
|
+
// authority via `validateSpec`.
|
|
16
|
+
import { fromJson } from "@bufbuild/protobuf";
|
|
17
|
+
import { WorkflowTaskKind } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/enum_pb";
|
|
18
|
+
import { AgentCallTaskConfigSchema } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/tasks/agent_call_pb";
|
|
19
|
+
import { CallActivityTaskConfigSchema } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/tasks/call_activity_pb";
|
|
20
|
+
import { EmitEventTaskConfigSchema } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/tasks/emit_event_pb";
|
|
21
|
+
import { EvalTaskConfigSchema } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/tasks/eval_pb";
|
|
22
|
+
import { ForTaskConfigSchema } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/tasks/for_pb";
|
|
23
|
+
import { ForkTaskConfigSchema } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/tasks/fork_pb";
|
|
24
|
+
import { GrpcCallTaskConfigSchema } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/tasks/grpc_call_pb";
|
|
25
|
+
import { HttpCallTaskConfigSchema } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/tasks/http_call_pb";
|
|
26
|
+
import { HumanInputTaskConfigSchema } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/tasks/human_input_pb";
|
|
27
|
+
import { ListenTaskConfigSchema } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/tasks/listen_pb";
|
|
28
|
+
import { LlmCallTaskConfigSchema } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/tasks/llm_call_pb";
|
|
29
|
+
import { NotificationTaskConfigSchema } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/tasks/notification_pb";
|
|
30
|
+
import { RaiseTaskConfigSchema } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/tasks/raise_pb";
|
|
31
|
+
import { RunTaskConfigSchema } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/tasks/run_pb";
|
|
32
|
+
import { SetTaskConfigSchema } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/tasks/set_pb";
|
|
33
|
+
import { SwitchTaskConfigSchema } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/tasks/switch_pb";
|
|
34
|
+
import { TransformTaskConfigSchema } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/tasks/transform_pb";
|
|
35
|
+
import { TryTaskConfigSchema } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/tasks/try_pb";
|
|
36
|
+
import { ValidateTaskConfigSchema } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/tasks/validate_pb";
|
|
37
|
+
import { WaitTaskConfigSchema } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/tasks/wait_pb";
|
|
38
|
+
// Exported for the drift test (task-configs.test.ts), which holds this map and
|
|
39
|
+
// the WorkflowTaskKind enum descriptor to strict bidirectional equality — the
|
|
40
|
+
// stigmer/stigmer#353 drift class: a new task kind cannot ship without a CLI
|
|
41
|
+
// schema binding, and a retired kind cannot linger here. The entries mirror
|
|
42
|
+
// the server's `unmarshalTaskConfig` kind switch one-for-one.
|
|
43
|
+
export const TASK_CONFIG_SCHEMAS = new Map([
|
|
44
|
+
[WorkflowTaskKind.set_vars, SetTaskConfigSchema],
|
|
45
|
+
[WorkflowTaskKind.http_call, HttpCallTaskConfigSchema],
|
|
46
|
+
[WorkflowTaskKind.grpc_call, GrpcCallTaskConfigSchema],
|
|
47
|
+
[WorkflowTaskKind.switch_case, SwitchTaskConfigSchema],
|
|
48
|
+
[WorkflowTaskKind.for_each, ForTaskConfigSchema],
|
|
49
|
+
[WorkflowTaskKind.fork, ForkTaskConfigSchema],
|
|
50
|
+
[WorkflowTaskKind.try_catch, TryTaskConfigSchema],
|
|
51
|
+
[WorkflowTaskKind.listen, ListenTaskConfigSchema],
|
|
52
|
+
[WorkflowTaskKind.wait, WaitTaskConfigSchema],
|
|
53
|
+
[WorkflowTaskKind.activity_call, CallActivityTaskConfigSchema],
|
|
54
|
+
[WorkflowTaskKind.raise_error, RaiseTaskConfigSchema],
|
|
55
|
+
[WorkflowTaskKind.run_workflow, RunTaskConfigSchema],
|
|
56
|
+
[WorkflowTaskKind.agent_call, AgentCallTaskConfigSchema],
|
|
57
|
+
[WorkflowTaskKind.llm_call, LlmCallTaskConfigSchema],
|
|
58
|
+
[WorkflowTaskKind.transform, TransformTaskConfigSchema],
|
|
59
|
+
[WorkflowTaskKind.human_input, HumanInputTaskConfigSchema],
|
|
60
|
+
[WorkflowTaskKind.validate, ValidateTaskConfigSchema],
|
|
61
|
+
[WorkflowTaskKind.emit_event, EmitEventTaskConfigSchema],
|
|
62
|
+
[WorkflowTaskKind.notification, NotificationTaskConfigSchema],
|
|
63
|
+
[WorkflowTaskKind.eval, EvalTaskConfigSchema],
|
|
64
|
+
]);
|
|
65
|
+
/**
|
|
66
|
+
* Decodes every task's `task_config` into its kind's typed proto message,
|
|
67
|
+
* throwing on the first config a real apply would reject. Runs on the decoded
|
|
68
|
+
* Workflow message (after the top-level schema decode), so snake_case and
|
|
69
|
+
* json-name spellings are already normalized.
|
|
70
|
+
*
|
|
71
|
+
* A task with no `task_config` is skipped: its absence is a protovalidate
|
|
72
|
+
* required-field violation, which is the server's layer, not decode-truth.
|
|
73
|
+
*/
|
|
74
|
+
export function decodeWorkflowTaskConfigs(workflow) {
|
|
75
|
+
for (const task of workflow.spec?.tasks ?? []) {
|
|
76
|
+
if (task.taskConfig === undefined)
|
|
77
|
+
continue;
|
|
78
|
+
const schema = TASK_CONFIG_SCHEMAS.get(task.kind);
|
|
79
|
+
if (schema === undefined)
|
|
80
|
+
continue; // unspecified/unknown kind — the server's layer reports it
|
|
81
|
+
// protobuf-es represents google.protobuf.Struct fields as plain JSON, so
|
|
82
|
+
// the Struct's content feeds the per-kind decode directly.
|
|
83
|
+
const config = normalizeTaskConfigShorthands(task.kind, task.taskConfig);
|
|
84
|
+
try {
|
|
85
|
+
fromJson(schema, config, { ignoreUnknownFields: false });
|
|
86
|
+
}
|
|
87
|
+
catch (err) {
|
|
88
|
+
throw new Error(`task '${task.name}' (${WorkflowTaskKind[task.kind]}): invalid task_config: ${err.message}`);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Rewrites user-friendly DSL forms to the shapes the proto decode expects —
|
|
94
|
+
* the twin of the server's `normalizeEnumShorthands` (unmarshal.go): agent_call
|
|
95
|
+
* harness shorthands ("cursor" → "HARNESS_CURSOR"), run_config service-tier
|
|
96
|
+
* shorthands ("fast" → "SERVICE_TIER_FAST"), and the environment_refs kind
|
|
97
|
+
* default (an omitted kind means environment). Without this twin the offline
|
|
98
|
+
* decode would be STRICTER than a real apply and fail valid manifests.
|
|
99
|
+
*/
|
|
100
|
+
function normalizeTaskConfigShorthands(kind, config) {
|
|
101
|
+
if (kind !== WorkflowTaskKind.agent_call || !isJsonObject(config)) {
|
|
102
|
+
return config;
|
|
103
|
+
}
|
|
104
|
+
const normalized = { ...config };
|
|
105
|
+
if (typeof normalized.harness === "string") {
|
|
106
|
+
const harness = HARNESS_SHORTHANDS[normalized.harness.toLowerCase()];
|
|
107
|
+
if (harness !== undefined)
|
|
108
|
+
normalized.harness = harness;
|
|
109
|
+
}
|
|
110
|
+
if (isJsonObject(normalized.run_config)) {
|
|
111
|
+
const runConfig = { ...normalized.run_config };
|
|
112
|
+
if (typeof runConfig.service_tier === "string") {
|
|
113
|
+
const tier = SERVICE_TIER_SHORTHANDS[runConfig.service_tier.toLowerCase()];
|
|
114
|
+
if (tier !== undefined)
|
|
115
|
+
runConfig.service_tier = tier;
|
|
116
|
+
}
|
|
117
|
+
normalized.run_config = runConfig;
|
|
118
|
+
}
|
|
119
|
+
if (Array.isArray(normalized.environment_refs)) {
|
|
120
|
+
normalized.environment_refs = normalized.environment_refs.map((ref) => isJsonObject(ref) && ref.kind === undefined ? { ...ref, kind: "environment" } : ref);
|
|
121
|
+
}
|
|
122
|
+
return normalized;
|
|
123
|
+
}
|
|
124
|
+
const HARNESS_SHORTHANDS = {
|
|
125
|
+
native: "HARNESS_NATIVE",
|
|
126
|
+
cursor: "HARNESS_CURSOR",
|
|
127
|
+
};
|
|
128
|
+
const SERVICE_TIER_SHORTHANDS = {
|
|
129
|
+
standard: "SERVICE_TIER_STANDARD",
|
|
130
|
+
fast: "SERVICE_TIER_FAST",
|
|
131
|
+
};
|
|
132
|
+
function isJsonObject(value) {
|
|
133
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=task-configs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-configs.js","sourceRoot":"","sources":["../../src/resources/task-configs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/resources/validate.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,WAAW,EAAY,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAIhF,OAAO,EAAE,eAAe,EAAE,MAAM,qFAAqF,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/resources/validate.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,WAAW,EAAY,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAIhF,OAAO,EAAE,eAAe,EAAE,MAAM,qFAAqF,CAAC;AAQtH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,eAAe,EAAE,WAAW,CAKrE,CAAC;AAEH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW,GAAG,SAAS,CAEhF;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,GAAG,IAAI,CAW/E"}
|
package/resources/validate.js
CHANGED
|
@@ -10,6 +10,7 @@ import { McpServerSchema } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1
|
|
|
10
10
|
import { WorkflowSchema } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/api_pb";
|
|
11
11
|
import { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
|
|
12
12
|
import { ProjectSchema } from "@stigmer/protos/ai/stigmer/tenancy/project/v1/api_pb";
|
|
13
|
+
import { decodeWorkflowTaskConfigs } from "./task-configs.js";
|
|
13
14
|
// Exported for the verb/dispatch conformance suite (registry/registry.test.ts),
|
|
14
15
|
// which holds this map and the matrix's Verb.Validate promises to strict
|
|
15
16
|
// bidirectional equality — the stigmer/stigmer#353 drift class. Command code
|
|
@@ -27,6 +28,12 @@ export function schemaForValidate(kind) {
|
|
|
27
28
|
export function validateDocument(schema, document) {
|
|
28
29
|
// ignoreUnknownFields mirrors the server's lenient unmarshal: forward-compat
|
|
29
30
|
// fields a newer server adds should not fail a slightly older CLI.
|
|
30
|
-
fromJson(schema, document, { ignoreUnknownFields: true });
|
|
31
|
+
const message = fromJson(schema, document, { ignoreUnknownFields: true });
|
|
32
|
+
// Workflows carry per-kind typed configs inside an open Struct that the
|
|
33
|
+
// top-level decode cannot see into — decode them too, so validate stops
|
|
34
|
+
// passing configs a real apply rejects (stigmer/stigmer#778).
|
|
35
|
+
if (schema === WorkflowSchema) {
|
|
36
|
+
decodeWorkflowTaskConfigs(message);
|
|
37
|
+
}
|
|
31
38
|
}
|
|
32
39
|
//# sourceMappingURL=validate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/resources/validate.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,EAAE;AACF,gFAAgF;AAChF,8EAA8E;AAC9E,6EAA6E;AAC7E,qDAAqD;AAErD,OAAO,EAAoB,QAAQ,EAAkB,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,wDAAwD,CAAC;AACzF,OAAO,
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/resources/validate.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,EAAE;AACF,gFAAgF;AAChF,8EAA8E;AAC9E,6EAA6E;AAC7E,qDAAqD;AAErD,OAAO,EAAoB,QAAQ,EAAkB,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,wDAAwD,CAAC;AACzF,OAAO,EAAiB,cAAc,EAAE,MAAM,uDAAuD,CAAC;AACtG,OAAO,EAAE,eAAe,EAAE,MAAM,qFAAqF,CAAC;AACtH,OAAO,EAAE,aAAa,EAAE,MAAM,sDAAsD,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,gFAAgF;AAChF,yEAAyE;AACzE,6EAA6E;AAC7E,yEAAyE;AACzE,MAAM,CAAC,MAAM,gBAAgB,GAA8C,IAAI,GAAG,CAA+B;IAC/G,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC;IACpC,CAAC,eAAe,CAAC,QAAQ,EAAE,cAAc,CAAC;IAC1C,CAAC,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC;IAC7C,CAAC,eAAe,CAAC,OAAO,EAAE,aAAa,CAAC;CACzC,CAAC,CAAC;AAEH,MAAM,UAAU,iBAAiB,CAAC,IAAqB;IACrD,OAAO,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,gBAAgB,CAAC,MAAmB,EAAE,QAAmB;IACvE,6EAA6E;IAC7E,mEAAmE;IACnE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1E,wEAAwE;IACxE,wEAAwE;IACxE,8DAA8D;IAC9D,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;QAC9B,yBAAyB,CAAC,OAAmB,CAAC,CAAC;IACjD,CAAC;AACH,CAAC"}
|
package/src/commands/draft.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
// unless detached or a local workspace is in play.
|
|
9
9
|
|
|
10
10
|
import type { Command } from "commander";
|
|
11
|
-
import { ensureAuthenticated, resolveOrganization } from "../config/index.js";
|
|
11
|
+
import { ensureAuthenticated, isCloudMode, resolveOrganization } from "../config/index.js";
|
|
12
12
|
import { UsageError } from "../errors/index.js";
|
|
13
13
|
import { addAgentExecFlags, type AgentExecOptions, toAgentExecFlags } from "./agent-exec-flags.js";
|
|
14
14
|
import { globalOrg } from "./shared.js";
|
|
@@ -73,7 +73,9 @@ async function runDraft(config: DraftConfig, options: DraftFlags, command: Comma
|
|
|
73
73
|
|
|
74
74
|
const agent = await resolveDraftAgent(resolveAgentRef, client.stigmer, config);
|
|
75
75
|
|
|
76
|
-
const prepared = await prepareAgentExec(toAgentExecFlags(options), client.stigmer, org, stderrProgress()
|
|
76
|
+
const prepared = await prepareAgentExec(toAgentExecFlags(options), client.stigmer, org, stderrProgress(), {
|
|
77
|
+
cloudBackend: isCloudMode(client.config),
|
|
78
|
+
});
|
|
77
79
|
|
|
78
80
|
if (prepared.attachments.length + prepared.workspaceFileRefs.length > 0) {
|
|
79
81
|
process.stderr.write(`Attached ${prepared.attachments.length + prepared.workspaceFileRefs.length} file(s) as context\n`);
|
package/src/commands/run.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// the differ) load lazily inside the action so `--help` stays fast (DD-001).
|
|
6
6
|
|
|
7
7
|
import type { Command } from "commander";
|
|
8
|
-
import { ensureAuthenticated, resolveOrganization } from "../config/index.js";
|
|
8
|
+
import { ensureAuthenticated, isCloudMode, resolveOrganization } from "../config/index.js";
|
|
9
9
|
import { UsageError } from "../errors/index.js";
|
|
10
10
|
import { interactiveBrowseEnabled } from "../resources/picker/tty.js";
|
|
11
11
|
import { addAgentExecFlags, type AgentExecOptions } from "./agent-exec-flags.js";
|
|
@@ -171,7 +171,9 @@ async function runResolvedAgent(
|
|
|
171
171
|
const { executeResolvedAgent } = await import("../resources/run/agent-exec.js");
|
|
172
172
|
const { toAgentExecFlags } = await import("./agent-exec-flags.js");
|
|
173
173
|
|
|
174
|
-
const prepared = await prepareAgentExec(toAgentExecFlags(options), client.stigmer, org, stderrProgress()
|
|
174
|
+
const prepared = await prepareAgentExec(toAgentExecFlags(options), client.stigmer, org, stderrProgress(), {
|
|
175
|
+
cloudBackend: isCloudMode(client.config),
|
|
176
|
+
});
|
|
175
177
|
await executeResolvedAgent({
|
|
176
178
|
agent,
|
|
177
179
|
prepared,
|
package/src/commands/seedpack.ts
CHANGED
|
@@ -3,7 +3,10 @@
|
|
|
3
3
|
// The seedpack (system agents, skills, MCP servers, workflows under the
|
|
4
4
|
// "stigmer" org) is applied automatically on `stigmer up` in local mode; these
|
|
5
5
|
// commands bootstrap it explicitly against whatever backend is configured
|
|
6
|
-
// (local or cloud). Apply is idempotent
|
|
6
|
+
// (local or cloud). Apply is content-hash idempotent: in cloud mode the truth
|
|
7
|
+
// is the stigmer.ai/seedpack-hash label on the server's seedpack Project (any
|
|
8
|
+
// machine sees the same applied state — cloud#429); in local mode it is a
|
|
9
|
+
// marker file in the data dir, which lives and dies with the local backend.
|
|
7
10
|
//
|
|
8
11
|
// Heavy modules load lazily inside the action so `--help` stays fast (DD-001).
|
|
9
12
|
|
|
@@ -50,7 +53,11 @@ async function runApply(flags: ApplyFlags): Promise<void> {
|
|
|
50
53
|
info: (line) => process.stderr.write(`${line}\n`),
|
|
51
54
|
warn: (line) => process.stderr.write(`${line}\n`),
|
|
52
55
|
},
|
|
53
|
-
{
|
|
56
|
+
{
|
|
57
|
+
markerDir: markerDir(),
|
|
58
|
+
force: flags.force === true,
|
|
59
|
+
useServerHash: isCloudMode(load()),
|
|
60
|
+
},
|
|
54
61
|
);
|
|
55
62
|
|
|
56
63
|
const label = backendLabel();
|
|
@@ -61,11 +68,26 @@ async function runApply(flags: ApplyFlags): Promise<void> {
|
|
|
61
68
|
}
|
|
62
69
|
|
|
63
70
|
async function runStatus(flags: OutputFlags): Promise<void> {
|
|
64
|
-
const { seedpackContentHash } = await import("../local/seedpack/apply.js");
|
|
71
|
+
const { readServerSeedpackHash, resolveSeedpackOrg, seedpackContentHash } = await import("../local/seedpack/apply.js");
|
|
65
72
|
const { readMarker } = await import("../local/seedpack/content.js");
|
|
66
73
|
|
|
67
74
|
const hash = seedpackContentHash();
|
|
68
|
-
|
|
75
|
+
|
|
76
|
+
// Cloud mode asks the server (the label on the seedpack Project) so status
|
|
77
|
+
// is truthful from ANY machine, not just the one that last ran apply.
|
|
78
|
+
let stored: string | null;
|
|
79
|
+
let storedLabel: string;
|
|
80
|
+
if (isCloudMode(load())) {
|
|
81
|
+
const { connectBackend } = await import("../backend.js");
|
|
82
|
+
const { ensureAuthenticated } = await import("../config/index.js");
|
|
83
|
+
const client = connectBackend();
|
|
84
|
+
ensureAuthenticated(client.config);
|
|
85
|
+
stored = await readServerSeedpackHash(client.stigmer, resolveSeedpackOrg());
|
|
86
|
+
storedLabel = "Applied Hash (server)";
|
|
87
|
+
} else {
|
|
88
|
+
stored = readMarker(markerDir());
|
|
89
|
+
storedLabel = "Applied Hash";
|
|
90
|
+
}
|
|
69
91
|
|
|
70
92
|
const result = CommandResult.success("Seedpack status");
|
|
71
93
|
const section = result.addSection("");
|
|
@@ -74,7 +96,7 @@ async function runStatus(flags: OutputFlags): Promise<void> {
|
|
|
74
96
|
if (stored === null) {
|
|
75
97
|
section.field("Status", "Not applied (run 'stigmer seedpack apply')");
|
|
76
98
|
} else {
|
|
77
|
-
section.field(
|
|
99
|
+
section.field(storedLabel, stored);
|
|
78
100
|
section.field("Status", stored === hash ? "Up to date" : "Outdated (run 'stigmer seedpack apply' to update)");
|
|
79
101
|
}
|
|
80
102
|
renderResult(result, resultFormat(flags));
|