@skyphusion-labs/vivijure-core 1.8.1 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -41,6 +41,7 @@ export * from "./scatter-notify.js";
41
41
  export * from "./lora-bundle.js";
42
42
  export * from "./cast-loras.js";
43
43
  export * from "./cast-lora-train.js";
44
+ export * from "./runpod-route.js";
44
45
  export * from "./runpod-submit.js";
45
46
  export * from "./beat-analyze.js";
46
47
  export * from "./render-sweep.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,GAAG,EACR,KAAK,gBAAgB,EACrB,+BAA+B,EAC/B,oBAAoB,EACpB,YAAY,GACb,MAAM,qBAAqB,CAAC;AAE7B,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EACL,OAAO,EACP,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,QAAQ,EACR,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEnF,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,UAAU,GACX,MAAM,sBAAsB,CAAC;AAE9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1D,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,YAAY,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,GAAG,EACR,KAAK,gBAAgB,EACrB,+BAA+B,EAC/B,oBAAoB,EACpB,YAAY,GACb,MAAM,qBAAqB,CAAC;AAE7B,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EACL,OAAO,EACP,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,QAAQ,EACR,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEnF,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,UAAU,GACX,MAAM,sBAAsB,CAAC;AAE9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1D,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,YAAY,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -38,6 +38,7 @@ export * from "./scatter-notify.js";
38
38
  export * from "./lora-bundle.js";
39
39
  export * from "./cast-loras.js";
40
40
  export * from "./cast-lora-train.js";
41
+ export * from "./runpod-route.js";
41
42
  export * from "./runpod-submit.js";
42
43
  export * from "./beat-analyze.js";
43
44
  export * from "./render-sweep.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,aAAa,EAiBb,+BAA+B,EAC/B,oBAAoB,EACpB,YAAY,GACb,MAAM,qBAAqB,CAAC;AAE7B,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EACL,OAAO,EACP,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,QAAQ,EACR,mBAAmB,EACnB,kBAAkB,GAGnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAwB,MAAM,wBAAwB,CAAC;AASnF,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,cAAc,CAAC;AAC7B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAgB,MAAM,UAAU,CAAC;AAC1D,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAE7B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,aAAa,EAiBb,+BAA+B,EAC/B,oBAAoB,EACpB,YAAY,GACb,MAAM,qBAAqB,CAAC;AAE7B,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EACL,OAAO,EACP,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,QAAQ,EACR,mBAAmB,EACnB,kBAAkB,GAGnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAwB,MAAM,wBAAwB,CAAC;AASnF,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,cAAc,CAAC;AAC7B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAgB,MAAM,UAAU,CAAC;AAC1D,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAE7B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
@@ -29,6 +29,23 @@ export interface OrchestratorEnv {
29
29
  R2_S3_ACCESS_KEY_ID?: unknown;
30
30
  R2_S3_SECRET_ACCESS_KEY?: unknown;
31
31
  R2_S3_BUCKET?: unknown;
32
+ /**
33
+ * The control-plane RunPod proxy pair (cp#321). DECLARED for exactly the reason the comment
34
+ * above gives: the index signature would type-check either way, and an undeclared binding is
35
+ * invisible to every reader and to the compiler -- which is how `RUNPOD_ENDPOINT_ID` ended up
36
+ * on an Env nothing reads.
37
+ *
38
+ * `RUNPOD_PROXY_BASE` is the plane's public origin plus `/api/runpod/v2`, bound plain_text and
39
+ * ONLY for `runpod_mode = 'shared'`. `RUNPOD_PROXY_TOKEN` is the per-tenant plane credential,
40
+ * bound as a secret. BOUND-ness of the base is the whole branch: bound means every RunPod call
41
+ * goes through the plane and this Worker holds no RunPod key; unbound is the untouched direct
42
+ * path, which is the self-host door and is permanently supported. It is never a failover.
43
+ *
44
+ * `unknown` for the same reason as the R2 quartet above: either may be a plain string or a
45
+ * Secrets Store handle, and both are resolved through `runpodRoute` in src/runpod-route.ts.
46
+ */
47
+ RUNPOD_PROXY_BASE?: unknown;
48
+ RUNPOD_PROXY_TOKEN?: unknown;
32
49
  /** Plain config vars (FILM_CLIP_DURATION_FLOOR, VPC bindings, etc.). */
33
50
  [key: string]: unknown;
34
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator-context.d.ts","sourceRoot":"","sources":["../../src/platform/orchestrator-context.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,mFAAmF;AACnF,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,oBAAoB,EAAE,gBAIlC,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,QAAQ,CAAC;IACb,UAAU,EAAE,QAAQ,CAAC;IACrB,EAAE,EAAE,QAAQ,CAAC;IACb,SAAS,EAAE,eAAe,CAAC;IAC3B;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wEAAwE;IACxE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,2EAA2E;AAC3E,MAAM,MAAM,GAAG,GAAG,eAAe,CAAC;AAElC,oEAAoE;AACpE,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,QAAQ,GAAG,eAAe,CAenF"}
1
+ {"version":3,"file":"orchestrator-context.d.ts","sourceRoot":"","sources":["../../src/platform/orchestrator-context.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,mFAAmF;AACnF,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,oBAAoB,EAAE,gBAIlC,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,QAAQ,CAAC;IACb,UAAU,EAAE,QAAQ,CAAC;IACrB,EAAE,EAAE,QAAQ,CAAC;IACb,SAAS,EAAE,eAAe,CAAC;IAC3B;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;;;;;;;;;OAcG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,wEAAwE;IACxE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,2EAA2E;AAC3E,MAAM,MAAM,GAAG,GAAG,eAAe,CAAC;AAElC,oEAAoE;AACpE,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,QAAQ,GAAG,eAAe,CAenF"}
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator-context.js","sourceRoot":"","sources":["../../src/platform/orchestrator-context.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,4EAA4E;AAG5E,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAOpD,MAAM,CAAC,MAAM,oBAAoB,GAAqB;IACpD,SAAS,CAAC,OAAO;QACf,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;CACF,CAAC;AAiCF,oEAAoE;AACpE,MAAM,UAAU,+BAA+B,CAAC,QAAkB;IAChE,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAoB,CAAC;IACvD,GAAG,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;IACrB,GAAG,CAAC,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChD,GAAG,CAAC,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3C,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;IACnC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzD,IAAI,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC5C,CAAC;IACD,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"orchestrator-context.js","sourceRoot":"","sources":["../../src/platform/orchestrator-context.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,4EAA4E;AAG5E,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAOpD,MAAM,CAAC,MAAM,oBAAoB,GAAqB;IACpD,SAAS,CAAC,OAAO;QACf,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;CACF,CAAC;AAkDF,oEAAoE;AACpE,MAAM,UAAU,+BAA+B,CAAC,QAAkB;IAChE,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAoB,CAAC;IACvD,GAAG,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;IACrB,GAAG,CAAC,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChD,GAAG,CAAC,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3C,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;IACnC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzD,IAAI,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC5C,CAAC;IACD,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,116 @@
1
+ import { type SecretsStoreSecret } from "./secret-store.js";
2
+ /** RunPod's own API base. The value every caller used unconditionally before this file existed. */
3
+ export declare const RUNPOD_DIRECT_BASE = "https://api.runpod.ai/v2";
4
+ /**
5
+ * Attribution header the plane reads off a submit (`MODULE_HEADER` in
6
+ * vivijure-control-plane/src/runpod-proxy-routes.ts). TENANT-ASSERTED and treated as such upstream:
7
+ * it labels a metering row, it never prices one. Sent anyway, because without it every proxied job
8
+ * lands in the plane's ledger with a null module and the meter cannot say what the spend was for.
9
+ */
10
+ export declare const RUNPOD_MODULE_HEADER = "x-vivijure-module";
11
+ export interface RunpodRoute {
12
+ /** Absolute base with no trailing slash. Append `/<endpointId>` then a RunPod verb suffix. */
13
+ readonly base: string;
14
+ /** The bearer to present: the plane token when proxied, the RunPod key when direct. */
15
+ readonly credential: string;
16
+ /** True when RUNPOD_PROXY_BASE was bound. Read it for DIAGNOSIS, never to pick a fallback. */
17
+ readonly proxied: boolean;
18
+ }
19
+ /**
20
+ * Decide the route for one request.
21
+ *
22
+ * `proxyBase` is whitespace-trimmed and trailing slashes are stripped, because a plain_text binding
23
+ * is hand-configured and a stray `/` would produce `//<endpoint>` -- a URL that still resolves on
24
+ * most stacks and would make this untestable by inspection.
25
+ *
26
+ * An all-whitespace `RUNPOD_PROXY_BASE` is treated as UNBOUND rather than as a proxy base of "".
27
+ * The alternative is a caller that thinks it is proxied and builds `/<endpoint>/run` as a relative
28
+ * URL, which throws deep inside fetch rather than at the guard that exists to catch it.
29
+ */
30
+ export declare function resolveRunpodRoute(proxyBase: string | undefined, proxyToken: string, apiKey: string): RunpodRoute;
31
+ /** `<base>/<endpointId>`. The four RunPod verb suffixes append to this unchanged, on both routes. */
32
+ export declare function runpodEndpointUrl(route: RunpodRoute, endpointId: string): string;
33
+ /**
34
+ * Headers for a RunPod call. The module name is attribution only and is omitted on the direct
35
+ * route, where nothing reads it and adding a header to a vendor request buys nothing.
36
+ */
37
+ export declare function runpodHeaders(route: RunpodRoute, moduleName?: string): Record<string, string>;
38
+ /**
39
+ * Classify an absent credential HONESTLY, preserving the cf#114 distinction on both routes.
40
+ *
41
+ * cf#114: the endpoint id is a plain_text binding written at UPLOAD while the credential is a
42
+ * secret written LATER, so endpoint-present + credential-absent is diagnostic of PROPAGATION, not
43
+ * of misconfiguration. Saying "not configured" about it once sent a real tenant chasing a
44
+ * correctly-configured credential.
45
+ *
46
+ * The proxied route inherits that shape exactly -- RUNPOD_PROXY_BASE is plain_text at upload,
47
+ * RUNPOD_PROXY_TOKEN is a secret installed after -- and it gets its OWN message naming its OWN
48
+ * bindings. A proxied caller reporting "RUNPOD_API_KEY not configured" would send an operator to
49
+ * look for a key that must not exist on that worker at all.
50
+ */
51
+ export declare function runpodCredentialProblem(route: RunpodRoute, endpointPresent: boolean): string | null;
52
+ /**
53
+ * The NAME of the binding that carries this route's credential.
54
+ *
55
+ * Where the whole credential guard is one inline `if (!credential)`, what it needs is the right
56
+ * NOUN. Naming RUNPOD_API_KEY on a proxied worker would point an operator at a binding that must
57
+ * not exist there, which is the same class of lie cf#114 was filed about.
58
+ */
59
+ export declare function runpodCredentialName(route: RunpodRoute): string;
60
+ /** The bindings this helper reads. Widened to `| string` because callers already pass a plain
61
+ * string in tests and local dev, and a resolver that only understood Secrets Store would make the
62
+ * proxied path the one path no test could drive. */
63
+ export interface RunpodRouteEnv {
64
+ RUNPOD_API_KEY?: SecretsStoreSecret | string;
65
+ /** Plain_text, bound by the plane for `runpod_mode = 'shared'` tenants only. */
66
+ RUNPOD_PROXY_BASE?: SecretsStoreSecret | string;
67
+ /** Secret, the per-tenant `vjp1.<tenant>.<mac>` plane credential. */
68
+ RUNPOD_PROXY_TOKEN?: SecretsStoreSecret | string;
69
+ }
70
+ /**
71
+ * Resolve the route for this request from the environment.
72
+ *
73
+ * BOTH credentials are read every time, deliberately. Reading only the one the branch will use
74
+ * would make the caller unable to say which binding it was missing, which is the whole content of
75
+ * the cf#114 diagnosis. The unused one is dropped on the floor and never leaves this function.
76
+ *
77
+ * `RUNPOD_PROXY_BASE` is read through `secretValue` too, even though the plane binds it as
78
+ * plain_text. A plain string returns byte-for-byte; a Secrets Store handle would otherwise
79
+ * stringify to `[object Object]`, which is truthy, which would put a caller on the proxied branch
80
+ * with a garbage base. Accepting both shapes costs nothing and removes that failure entirely.
81
+ */
82
+ export declare function runpodRoute(env: RunpodRouteEnv): Promise<RunpodRoute>;
83
+ /** Emitted by the plane on a plane-AUTHORED refusal; its value is the reason. Must stay byte-equal
84
+ * to `PLANE_REFUSAL_HEADER` in vivijure-control-plane/src/runpod-proxy-poll.ts. */
85
+ export declare const PLANE_REFUSAL_HEADER = "x-vivijure-plane-refusal";
86
+ /** Only what this needs off a Response, so a test can hand in a plain object and so nothing here
87
+ * depends on the body having parsed. A refusal body always parses today; that is a property of the
88
+ * plane's current code, not of the contract, and this check must not rest on it. */
89
+ export interface PlaneRefusalCarrier {
90
+ readonly headers: {
91
+ get(name: string): string | null;
92
+ };
93
+ }
94
+ /**
95
+ * The reason the PLANE refused, or null if this is not a plane refusal.
96
+ *
97
+ * Null covers three genuinely different things and all three must keep today's behaviour: the
98
+ * direct route (no plane exists), a normal proxied response, and a proxy 502 saying it could not
99
+ * reach RunPod. Only the header separates the plane's own refusal from everything else.
100
+ */
101
+ export declare function planeRefusalReason(route: RunpodRoute, resp: PlaneRefusalCarrier): string | null;
102
+ /**
103
+ * The error text for a refused call. ONE wording for every consumer, so an operator seeing it in a
104
+ * render row learns the same thing whichever caller produced it, and so the sentence cannot drift
105
+ * into a dozen variants. Names the plane explicitly: the single most expensive misreading available
106
+ * here is "RunPod is down" when the answer is our own plane.
107
+ *
108
+ * `what` DEFAULTS TO "poll" so this returns the cf wording BYTE-FOR-BYTE when called with two
109
+ * arguments, which is what makes cf's adoption of this file a pure import swap rather than a
110
+ * user-visible string change. The default arm is pinned by a test against the literal cf sentence.
111
+ * Core reaches RunPod for submit and cancel as well as poll, and "refused this poll" on a submit
112
+ * would be a small lie in an error an operator reads at exactly the wrong moment; the poll tail
113
+ * ("not observable until it clears") is likewise only true of a poll.
114
+ */
115
+ export declare function planeRefusalError(subject: string, reason: string, what?: string): string;
116
+ //# sourceMappingURL=runpod-route.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runpod-route.d.ts","sourceRoot":"","sources":["../src/runpod-route.ts"],"names":[],"mappings":"AAqEA,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEzE,mGAAmG;AACnG,eAAO,MAAM,kBAAkB,6BAA6B,CAAC;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AAExD,MAAM,WAAW,WAAW;IAC1B,8FAA8F;IAC9F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uFAAuF;IACvF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,8FAA8F;IAC9F,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,WAAW,CAIb;AAUD,qGAAqG;AACrG,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAI7F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAUnG;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAE/D;AAED;;qDAEqD;AACrD,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAAC;IAC7C,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAAC;IAChD,qEAAqE;IACrE,kBAAkB,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAAC;CAClD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAO3E;AA6BD;oFACoF;AACpF,eAAO,MAAM,oBAAoB,6BAA6B,CAAC;AAE/D;;qFAEqF;AACrF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE;QAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CACxD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,mBAAmB,GAAG,MAAM,GAAG,IAAI,CAS/F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,MAAe,GAAG,MAAM,CAchG"}
@@ -0,0 +1,248 @@
1
+ // Where a RunPod call actually goes, and what credential it carries (cp#321, cp#288, cf#394).
2
+ //
3
+ // PROVENANCE, and it is the whole reason this file sits in core rather than in a host. This is
4
+ // `vivijure-cf@d84e413:modules/_shared/runpod-route.ts` MOVED here under the cp#321 ruling:
5
+ //
6
+ // > move cf's `modules/_shared/runpod-route.ts` INTO core and have both sides import it.
7
+ // > Do NOT write a second implementation.
8
+ //
9
+ // A second copy would be cf#403 committed deliberately: a suite that constructs both halves of a
10
+ // cross-repo contract from its own copy cannot detect a rename on the other side, so both halves
11
+ // move together in the test and independently in production. cf imports these symbols from here;
12
+ // their NAMES are therefore part of the published surface and are not free to change.
13
+ //
14
+ // ------------------------------------------------------------------------------------------------
15
+ // WHY THIS EXISTS. On the shared hosted tier no tenant-namespace script may hold a RunPod
16
+ // credential (CLAUDE.md, Conrad 2026-08-02: a consumer reaches RunPod through our product or not at
17
+ // all, BYOK excepted). The control plane therefore stands a proxy in front of RunPod: the tenant
18
+ // worker calls the plane, the plane holds the pool key and calls RunPod.
19
+ //
20
+ // The plane deliberately mounted that proxy at RUNPOD'S OWN URL SHAPE
21
+ // (vivijure-control-plane/src/runpod-proxy-route-match.ts) -- `<base>/<endpoint>` plus `/run`,
22
+ // `/status/<id>`, `/cancel/<id>` or `/health`, byte-identical suffixes -- so the caller-side change
23
+ // is a base string and a bearer, and not a rewrite of every call site.
24
+ //
25
+ // ------------------------------------------------------------------------------------------------
26
+ // THE BRANCH IS ON `RUNPOD_PROXY_BASE` BEING BOUND. IT IS NOT A FAILOVER, AND THAT DISTINCTION IS
27
+ // THE WHOLE SAFETY ARGUMENT.
28
+ //
29
+ // bound -> proxied. Bearer is the plane token. We never touch api.runpod.ai.
30
+ // unbound -> direct. Bearer is RUNPOD_API_KEY, byte-for-byte the behaviour that shipped before.
31
+ //
32
+ // It must NEVER become "the proxy failed, so fall back to the direct key". A shared tenant that
33
+ // could fall back to a direct key is a shared tenant holding a RunPod credential, which is the exact
34
+ // thing the proxy exists to make impossible. A proxied caller with a missing or broken token
35
+ // REFUSES HONESTLY; it does not find another way to RunPod.
36
+ //
37
+ // ORDERING, and it is load-bearing (cf#394, cp#321): the consumer learns this base BEFORE the plane
38
+ // stops installing the RunPod key. Reversed, every hosted render breaks. That is why the unbound
39
+ // branch is the untouched original path and why this file ships ahead of any plane change. Stated as
40
+ // an invariant rather than as a status, because a status goes stale: a caller with the pair bound
41
+ // takes the proxied branch and a caller without it takes the direct branch, at every point in the
42
+ // rollout, and BOTH are permanent.
43
+ //
44
+ // THE UNBOUND BRANCH IS A PRODUCT, NOT A MIGRATION CRUTCH. Read the word "fallback" here as
45
+ // "the self-host door", because that is what it is. The estate ships TWO products (Conrad,
46
+ // 2026-08-03): individual self-hosters running on their own infrastructure with their own RunPod
47
+ // account, and shared hosted tenants reaching RunPod through the plane. The unbound path is the
48
+ // entire first product and it is permanently supported. Nobody should ever propose deleting it once
49
+ // the plane half lands -- doing so would remove the self-host door, not finish a migration.
50
+ //
51
+ // PARITY follows from that rather than being a separate promise: dedicated, BYO and self-host bind
52
+ // nothing here, so their path does not change at all. A self-hoster must never need our plane to
53
+ // render, and this file guarantees that by construction rather than by assertion.
54
+ //
55
+ // ------------------------------------------------------------------------------------------------
56
+ // CROSS-REPO CONTRACT. Two binding names, and the plane must bind exactly these:
57
+ //
58
+ // RUNPOD_PROXY_BASE plain_text, the plane's public origin + `/api/runpod/v2` (no trailing
59
+ // slash required; one is tolerated). Bound ONLY for runpod_mode = 'shared'.
60
+ // RUNPOD_PROXY_TOKEN secret, the per-tenant `vjp1.<tenant>.<mac>` credential minted by
61
+ // vivijure-control-plane/src/runpod-proxy-auth.ts mintTenantProxyToken.
62
+ //
63
+ // WHAT NO TEST IN THIS REPO CAN SEE, stated rather than papered over: core is not a dependency of
64
+ // vivijure-control-plane and vice versa, so the constants below are checked against the plane by
65
+ // STRING, not by import. A rename on the plane side is invisible here. The cf half of that gap is
66
+ // closed by construction -- cf imports these symbols rather than declaring its own -- and closing
67
+ // the plane half needs the plane to publish its constants, which is not this change.
68
+ // ------------------------------------------------------------------------------------------------
69
+ import { secretValue } from "./secret-store.js";
70
+ /** RunPod's own API base. The value every caller used unconditionally before this file existed. */
71
+ export const RUNPOD_DIRECT_BASE = "https://api.runpod.ai/v2";
72
+ /**
73
+ * Attribution header the plane reads off a submit (`MODULE_HEADER` in
74
+ * vivijure-control-plane/src/runpod-proxy-routes.ts). TENANT-ASSERTED and treated as such upstream:
75
+ * it labels a metering row, it never prices one. Sent anyway, because without it every proxied job
76
+ * lands in the plane's ledger with a null module and the meter cannot say what the spend was for.
77
+ */
78
+ export const RUNPOD_MODULE_HEADER = "x-vivijure-module";
79
+ /**
80
+ * Decide the route for one request.
81
+ *
82
+ * `proxyBase` is whitespace-trimmed and trailing slashes are stripped, because a plain_text binding
83
+ * is hand-configured and a stray `/` would produce `//<endpoint>` -- a URL that still resolves on
84
+ * most stacks and would make this untestable by inspection.
85
+ *
86
+ * An all-whitespace `RUNPOD_PROXY_BASE` is treated as UNBOUND rather than as a proxy base of "".
87
+ * The alternative is a caller that thinks it is proxied and builds `/<endpoint>/run` as a relative
88
+ * URL, which throws deep inside fetch rather than at the guard that exists to catch it.
89
+ */
90
+ export function resolveRunpodRoute(proxyBase, proxyToken, apiKey) {
91
+ const base = stripTrailingSlashes((proxyBase ?? "").trim());
92
+ if (base)
93
+ return { base, credential: proxyToken, proxied: true };
94
+ return { base: RUNPOD_DIRECT_BASE, credential: apiKey, proxied: false };
95
+ }
96
+ /** Strip trailing ASCII '/' without a regex (CodeQL: ReDoS on /\/+$/ over env input). Mirrors the
97
+ * helper in runpod-submit.ts, which cannot be imported here without a cycle. */
98
+ function stripTrailingSlashes(s) {
99
+ let end = s.length;
100
+ while (end > 0 && s.charCodeAt(end - 1) === 47)
101
+ end -= 1;
102
+ return end === s.length ? s : s.slice(0, end);
103
+ }
104
+ /** `<base>/<endpointId>`. The four RunPod verb suffixes append to this unchanged, on both routes. */
105
+ export function runpodEndpointUrl(route, endpointId) {
106
+ return route.base + "/" + endpointId;
107
+ }
108
+ /**
109
+ * Headers for a RunPod call. The module name is attribution only and is omitted on the direct
110
+ * route, where nothing reads it and adding a header to a vendor request buys nothing.
111
+ */
112
+ export function runpodHeaders(route, moduleName) {
113
+ const h = { authorization: "Bearer " + route.credential };
114
+ if (route.proxied && moduleName)
115
+ h[RUNPOD_MODULE_HEADER] = moduleName;
116
+ return h;
117
+ }
118
+ /**
119
+ * Classify an absent credential HONESTLY, preserving the cf#114 distinction on both routes.
120
+ *
121
+ * cf#114: the endpoint id is a plain_text binding written at UPLOAD while the credential is a
122
+ * secret written LATER, so endpoint-present + credential-absent is diagnostic of PROPAGATION, not
123
+ * of misconfiguration. Saying "not configured" about it once sent a real tenant chasing a
124
+ * correctly-configured credential.
125
+ *
126
+ * The proxied route inherits that shape exactly -- RUNPOD_PROXY_BASE is plain_text at upload,
127
+ * RUNPOD_PROXY_TOKEN is a secret installed after -- and it gets its OWN message naming its OWN
128
+ * bindings. A proxied caller reporting "RUNPOD_API_KEY not configured" would send an operator to
129
+ * look for a key that must not exist on that worker at all.
130
+ */
131
+ export function runpodCredentialProblem(route, endpointPresent) {
132
+ const credentialName = runpodCredentialName(route);
133
+ if (route.credential && endpointPresent)
134
+ return null;
135
+ if (endpointPresent)
136
+ return "credential not yet visible on this worker version (retry shortly)";
137
+ // FOURTH BRANCH, and it is the whole point of splitting these: credential present, endpoint
138
+ // absent. Naming the credential here would report a binding that is FINE as unconfigured, which
139
+ // is cf#114's own failure committed inside the function written to prevent it -- an operator sent
140
+ // to check a token that is sitting right there, while the thing actually missing goes unnamed.
141
+ if (route.credential)
142
+ return "RUNPOD_ENDPOINT_ID not configured";
143
+ return `${credentialName} / RUNPOD_ENDPOINT_ID not configured`;
144
+ }
145
+ /**
146
+ * The NAME of the binding that carries this route's credential.
147
+ *
148
+ * Where the whole credential guard is one inline `if (!credential)`, what it needs is the right
149
+ * NOUN. Naming RUNPOD_API_KEY on a proxied worker would point an operator at a binding that must
150
+ * not exist there, which is the same class of lie cf#114 was filed about.
151
+ */
152
+ export function runpodCredentialName(route) {
153
+ return route.proxied ? "RUNPOD_PROXY_TOKEN" : "RUNPOD_API_KEY";
154
+ }
155
+ /**
156
+ * Resolve the route for this request from the environment.
157
+ *
158
+ * BOTH credentials are read every time, deliberately. Reading only the one the branch will use
159
+ * would make the caller unable to say which binding it was missing, which is the whole content of
160
+ * the cf#114 diagnosis. The unused one is dropped on the floor and never leaves this function.
161
+ *
162
+ * `RUNPOD_PROXY_BASE` is read through `secretValue` too, even though the plane binds it as
163
+ * plain_text. A plain string returns byte-for-byte; a Secrets Store handle would otherwise
164
+ * stringify to `[object Object]`, which is truthy, which would put a caller on the proxied branch
165
+ * with a garbage base. Accepting both shapes costs nothing and removes that failure entirely.
166
+ */
167
+ export async function runpodRoute(env) {
168
+ const [proxyBase, proxyToken, apiKey] = await Promise.all([
169
+ secretValue(env.RUNPOD_PROXY_BASE),
170
+ secretValue(env.RUNPOD_PROXY_TOKEN),
171
+ secretValue(env.RUNPOD_API_KEY),
172
+ ]);
173
+ return resolveRunpodRoute(proxyBase, proxyToken, apiKey);
174
+ }
175
+ // ------------------------------------------------------------------------------------------------
176
+ // THE THIRD STATE ON THE POLL PATH (cf#398, the cf-side half of cp#288).
177
+ //
178
+ // THE DEFECT THIS CLOSES. A poll that handles an unreadable upstream by reporting "still pending"
179
+ // was correct while the upstream was RunPod: a blip means ask again. Once the upstream is OURS, the
180
+ // identical code turns a degraded, mid-deploy or refusing plane into a job that never completes and
181
+ // never errors. That is why the plane emits a HEADER rather than an error body: a refusal it
182
+ // authored is distinguishable from a vendor response it merely relayed.
183
+ //
184
+ // WHAT THE PLANE ACTUALLY SENDS. Measured at vivijure-control-plane@1da6075, all non-2xx, none of
185
+ // them a pass-through of an upstream response:
186
+ //
187
+ // poll runpod-proxy-poll-routes.ts unauthorized 401, endpoint_not_allowed 403
188
+ // poll runpod-proxy-poll.ts credential-unavailable 503
189
+ // submit runpod-proxy-routes.ts unauthorized 401, unknown_tenant/tenant_not_live/
190
+ // tenant_suspended/not_shared_mode/endpoint_not_allowed 403,
191
+ // bad_body 400, plus a 503 planeUnavailable
192
+ //
193
+ // A transport failure REACHING RunPod is deliberately NOT given the header: it returns 502 with no
194
+ // header, because mislabelling a vendor hiccup as our outage is a different wrong answer, not a fix.
195
+ //
196
+ // GATED ON `route.proxied`, and that is not belt-and-braces. The header means "our plane refused".
197
+ // On the direct route there is no plane, so honouring a header that arrives from api.runpod.ai
198
+ // would let a vendor response change a self-hoster's outcome. Gating it makes the self-host door
199
+ // provably untouched by this change rather than untouched by assertion.
200
+ // ------------------------------------------------------------------------------------------------
201
+ /** Emitted by the plane on a plane-AUTHORED refusal; its value is the reason. Must stay byte-equal
202
+ * to `PLANE_REFUSAL_HEADER` in vivijure-control-plane/src/runpod-proxy-poll.ts. */
203
+ export const PLANE_REFUSAL_HEADER = "x-vivijure-plane-refusal";
204
+ /**
205
+ * The reason the PLANE refused, or null if this is not a plane refusal.
206
+ *
207
+ * Null covers three genuinely different things and all three must keep today's behaviour: the
208
+ * direct route (no plane exists), a normal proxied response, and a proxy 502 saying it could not
209
+ * reach RunPod. Only the header separates the plane's own refusal from everything else.
210
+ */
211
+ export function planeRefusalReason(route, resp) {
212
+ if (!route.proxied)
213
+ return null;
214
+ const raw = resp.headers.get(PLANE_REFUSAL_HEADER);
215
+ if (!raw)
216
+ return null;
217
+ // Trimmed and bounded because this string is rendered into a render row. A blank header is not a
218
+ // reason and is treated as no refusal at all; the plane never emits one, and inventing a refusal
219
+ // out of an empty header would fail a job on a header a proxy stripped the value from.
220
+ const reason = raw.trim().slice(0, 120);
221
+ return reason || null;
222
+ }
223
+ /**
224
+ * The error text for a refused call. ONE wording for every consumer, so an operator seeing it in a
225
+ * render row learns the same thing whichever caller produced it, and so the sentence cannot drift
226
+ * into a dozen variants. Names the plane explicitly: the single most expensive misreading available
227
+ * here is "RunPod is down" when the answer is our own plane.
228
+ *
229
+ * `what` DEFAULTS TO "poll" so this returns the cf wording BYTE-FOR-BYTE when called with two
230
+ * arguments, which is what makes cf's adoption of this file a pure import swap rather than a
231
+ * user-visible string change. The default arm is pinned by a test against the literal cf sentence.
232
+ * Core reaches RunPod for submit and cancel as well as poll, and "refused this poll" on a submit
233
+ * would be a small lie in an error an operator reads at exactly the wrong moment; the poll tail
234
+ * ("not observable until it clears") is likewise only true of a poll.
235
+ */
236
+ export function planeRefusalError(subject, reason, what = "poll") {
237
+ const tail = what === "poll"
238
+ ? " and the job is not observable until it clears."
239
+ : " and it did not reach RunPod.";
240
+ return (subject +
241
+ ": the control plane refused this " +
242
+ what +
243
+ " (" +
244
+ reason +
245
+ "). This is a plane refusal, not a RunPod failure," +
246
+ tail);
247
+ }
248
+ //# sourceMappingURL=runpod-route.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runpod-route.js","sourceRoot":"","sources":["../src/runpod-route.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { Env } from "./platform/orchestrator-context.js";
2
+ import { type RunpodRoute } from "./runpod-route.js";
2
3
  export declare function coerceQualityTier(t: unknown): "draft" | "standard" | "final" | undefined;
3
4
  export interface RenderSubmitArgs {
4
5
  project?: string;
@@ -89,9 +90,9 @@ export declare function normalizeRenderOverrides(raw: unknown): Record<string, u
89
90
  export declare function buildRegenShotPayload(args: RegenShotArgs): {
90
91
  input: RegenShotJobInput;
91
92
  };
92
- export declare function buildSubmitUrl(endpointId: string): string;
93
- export declare function buildStatusUrl(endpointId: string, jobId: string): string;
94
- export declare function buildCancelUrl(endpointId: string, jobId: string): string;
93
+ export declare function buildSubmitUrl(endpointId: string, route?: RunpodRoute): string;
94
+ export declare function buildStatusUrl(endpointId: string, jobId: string, route?: RunpodRoute): string;
95
+ export declare function buildCancelUrl(endpointId: string, jobId: string, route?: RunpodRoute): string;
95
96
  export declare function isValidJobId(jobId: string): boolean;
96
97
  export declare function normalizeRunpodResponse(raw: unknown): RunpodJobView | null;
97
98
  export interface RunpodTransportOpts {
@@ -113,6 +114,8 @@ export type RunpodResult = {
113
114
  interface RunpodRequestSpec {
114
115
  method: "GET" | "POST";
115
116
  url: string;
117
+ route?: RunpodRoute;
118
+ moduleName?: string;
116
119
  body?: string;
117
120
  label: string;
118
121
  }
@@ -120,6 +123,12 @@ export declare function runpodRequest(env: Env, spec: RunpodRequestSpec, opts?:
120
123
  export declare function submitRenderJob(env: Env, args: RenderSubmitArgs, opts?: RunpodTransportOpts): Promise<RunpodResult>;
121
124
  export declare function submitFinalizeJob(env: Env, args: FinalizeArgs, opts?: RunpodTransportOpts): Promise<RunpodResult>;
122
125
  export declare function submitRegenShotJob(env: Env, args: RegenShotArgs, opts?: RunpodTransportOpts): Promise<RunpodResult>;
126
+ /** Absolute http(s) door URL, no userinfo / metadata hosts. Null when unset/invalid. */
127
+ export declare function normalizeLocalBackendUrl(raw: string): string | null;
128
+ export declare function resolveLocalBackendUrl(env: Env): Promise<string | null>;
129
+ export declare function resolveLocalBackendToken(env: Env): Promise<string>;
130
+ export declare function localDoorConfigured(env: Env): Promise<boolean>;
131
+ export declare function pollLocalDoorJob(env: Env, jobId: string, opts?: RunpodTransportOpts): Promise<RunpodResult>;
123
132
  export declare function submitTrainLoraJob(env: Env, args: TrainLoraArgs, opts?: RunpodTransportOpts): Promise<RunpodResult>;
124
133
  export declare function submitTrainWanLoraJob(env: Env, args: TrainLoraArgs, opts?: RunpodTransportOpts): Promise<RunpodResult>;
125
134
  export declare function cancelRenderJob(env: Env, jobId: string, opts?: RunpodTransportOpts): Promise<RunpodResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"runpod-submit.d.ts","sourceRoot":"","sources":["../src/runpod-submit.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oCAAoC,CAAC;AAW9D,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAKxF;AAGD,MAAM,WAAW,gBAAgB;IAE/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;IAO7C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAS1C,aAAa,CAAC,EAAE,OAAO,CAAC;IAOxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAKzC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAKD,MAAM,WAAW,cAAc;IAK7B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IAInB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAG1C,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAOD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAOD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAO1C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAOD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAKlB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAI3C,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAC/B;AAMD,MAAM,MAAM,YAAY,GACpB,UAAU,GACV,aAAa,GACb,WAAW,GACX,QAAQ,GACR,WAAW,GACX,WAAW,CAAC;AAKhB,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAUD,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAIpE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG;IAAE,KAAK,EAAE,cAAc,CAAA;CAAE,CA0CpF;AAKD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG;IAAE,KAAK,EAAE,gBAAgB,CAAA;CAAE,CAyBpF;AAKD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,GAAG;IAAE,KAAK,EAAE,iBAAiB,CAAA;CAAE,CASvF;AAID,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,aAAa,GAAG;IAAE,KAAK,EAAE,iBAAiB,CAAA;CAAE,CAI1F;AAoBD,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,OAAO,GACX,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAarC;AAMD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,GAAG;IAAE,KAAK,EAAE,iBAAiB,CAAA;CAAE,CAQvF;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAExE;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAExE;AAQD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnD;AAKD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI,CAuB1E;AA2BD,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GACjC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAElD,UAAU,iBAAiB;IACzB,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IAGZ,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,KAAK,EAAE,MAAM,CAAC;CACf;AAwBD,wBAAsB,aAAa,CACjC,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,iBAAiB,EACvB,IAAI,GAAE,mBAAwB,GAC7B,OAAO,CAAC,YAAY,CAAC,CAsFvB;AA0ED,wBAAsB,eAAe,CACnC,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,gBAAgB,EACtB,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,YAAY,CAAC,CAUvB;AAGD,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,YAAY,EAClB,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,YAAY,CAAC,CAUvB;AAID,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,aAAa,EACnB,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,YAAY,CAAC,CAUvB;AAID,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,aAAa,EACnB,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,YAAY,CAAC,CAUvB;AAMD,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,aAAa,EACnB,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,YAAY,CAAC,CAavB;AAeD,wBAAsB,eAAe,CACnC,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,YAAY,CAAC,CAYvB;AAGD,wBAAsB,aAAa,CACjC,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,YAAY,CAAC,CAUvB;AAGD,wBAAsB,aAAa,CACjC,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,YAAY,CAAC,CAIvB;AAGD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,YAAY,GAAG,SAAS,EACjC,UAAU,EAAE,YAAY,GACvB,YAAY,CAId;AAOD,wBAAsB,eAAe,CACnC,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,YAAY,CAAC,CAavB;AAcD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd;AAID,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI,CA2BrE"}
1
+ {"version":3,"file":"runpod-submit.d.ts","sourceRoot":"","sources":["../src/runpod-submit.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@
17
17
  // envelope { id, status, output?, error?, executionTime?, delayTime? }.
18
18
  import { secretValue } from "./secret-store.js";
19
19
  import { reconcileRunpodEndpointWorkersMax } from "./runpod-endpoint-reconcile.js";
20
+ import { RUNPOD_DIRECT_BASE, planeRefusalError, planeRefusalReason, runpodCredentialName, runpodEndpointUrl, runpodHeaders, runpodRoute, } from "./runpod-route.js";
20
21
  // Quality tier normalizer / validator (v0.156.3). The render tiers are keyframe (a
21
22
  // separate keyframesOnly flag) plus three real generation tiers the pod's `for_tier`
22
23
  // genuinely distinguishes: draft (4-step distilled), standard (8-step keyframe + 20-step
@@ -33,7 +34,12 @@ export function coerceQualityTier(t) {
33
34
  return "final";
34
35
  return undefined;
35
36
  }
36
- const RUNPOD_BASE = "https://api.runpod.ai";
37
+ // The DIRECT route: RunPod itself, no credential resolved yet. Every URL builder below defaults to
38
+ // it, so a caller that has not resolved a route gets byte-for-byte the URLs this file has always
39
+ // produced (`https://api.runpod.ai/v2/<endpoint>/...`). The credential is empty here on purpose --
40
+ // these builders produce URLs and must never carry a secret. See src/runpod-route.ts for why the
41
+ // branch is on RUNPOD_PROXY_BASE being BOUND and is never a failover.
42
+ const DIRECT_ROUTE = { base: RUNPOD_DIRECT_BASE, credential: "", proxied: false };
37
43
  // Bundle key shape (mirrors bundle-assembler.assembleBundle's output):
38
44
  // bundles/<projectName>.tar.gz
39
45
  // Extracts <projectName> for the rp_handler `project` field when the caller
@@ -187,14 +193,18 @@ export function buildRegenShotPayload(args) {
187
193
  };
188
194
  return { input };
189
195
  }
190
- export function buildSubmitUrl(endpointId) {
191
- return `${RUNPOD_BASE}/v2/${endpointId}/run`;
196
+ // The three verb URLs. `route` is OPTIONAL and defaults to the direct route, which keeps every
197
+ // existing caller (including vivijure-cf's transport tests, which pass a hand-written direct URL)
198
+ // byte-identical. The proxy is mounted at RunPod's own suffixes, so the only thing that changes
199
+ // between the two routes is the base.
200
+ export function buildSubmitUrl(endpointId, route = DIRECT_ROUTE) {
201
+ return `${runpodEndpointUrl(route, endpointId)}/run`;
192
202
  }
193
- export function buildStatusUrl(endpointId, jobId) {
194
- return `${RUNPOD_BASE}/v2/${endpointId}/status/${jobId}`;
203
+ export function buildStatusUrl(endpointId, jobId, route = DIRECT_ROUTE) {
204
+ return `${runpodEndpointUrl(route, endpointId)}/status/${jobId}`;
195
205
  }
196
- export function buildCancelUrl(endpointId, jobId) {
197
- return `${RUNPOD_BASE}/v2/${endpointId}/cancel/${jobId}`;
206
+ export function buildCancelUrl(endpointId, jobId, route = DIRECT_ROUTE) {
207
+ return `${runpodEndpointUrl(route, endpointId)}/cancel/${jobId}`;
198
208
  }
199
209
  // Validate a job id at the route boundary so a malformed id does not
200
210
  // produce a RunPod 404 we have to translate back. RunPod ids are
@@ -275,22 +285,20 @@ function backoffDelayMs(attempt, baseMs, random) {
275
285
  // transient failure up to maxAttempts with jittered backoff; returns a terminal
276
286
  // 4xx immediately.
277
287
  export async function runpodRequest(env, spec, opts = {}) {
278
- const apiKey = await secretValue(env.RUNPOD_API_KEY);
279
- if (!apiKey) {
280
- return {
281
- ok: false,
282
- error: "RUNPOD_API_KEY must be set on the Worker (Secrets Store binding or npx wrangler secret put)",
283
- };
284
- }
288
+ const route = spec.route ?? (await runpodRoute(env));
289
+ const credentialErr = runpodMissingCredential(route);
290
+ if (credentialErr)
291
+ return credentialErr;
292
+ const originErr = runpodRouteOriginMismatch(route, spec.url);
293
+ if (originErr)
294
+ return originErr;
285
295
  const fetchImpl = opts.fetchImpl ?? fetch;
286
296
  const sleep = opts.sleep ?? defaultSleep;
287
297
  const random = opts.random ?? Math.random;
288
298
  const maxAttempts = opts.maxAttempts ?? RUNPOD_MAX_ATTEMPTS;
289
299
  const backoffBaseMs = opts.backoffBaseMs ?? RUNPOD_BACKOFF_BASE_MS;
290
300
  const timeoutMs = opts.timeoutMs ?? RUNPOD_TIMEOUT_MS;
291
- const headers = {
292
- authorization: `Bearer ${apiKey}`,
293
- };
301
+ const headers = runpodHeaders(route, spec.moduleName);
294
302
  if (spec.body !== undefined)
295
303
  headers["content-type"] = "application/json";
296
304
  // Carried across attempts so a final transient HTTP failure surfaces the
@@ -341,6 +349,20 @@ export async function runpodRequest(env, spec, opts = {}) {
341
349
  };
342
350
  }
343
351
  if (!resp.ok) {
352
+ // OUR plane refusing is not RunPod failing, and only the header separates them (cp#288). A
353
+ // proxy 502 -- the plane could not REACH RunPod -- deliberately carries no header and so
354
+ // falls through to the vendor wording below, because relabelling a vendor hiccup as our
355
+ // outage is a different wrong answer rather than a fix. Gated on `route.proxied` inside
356
+ // planeRefusalReason, so a header arriving from api.runpod.ai can never change a
357
+ // self-hoster's outcome.
358
+ const refusal = planeRefusalReason(route, resp);
359
+ if (refusal) {
360
+ return {
361
+ ok: false,
362
+ error: planeRefusalError("vivijure-core", refusal, spec.label),
363
+ status: resp.status,
364
+ };
365
+ }
344
366
  const errStr = raw && typeof raw === "object" && "error" in raw
345
367
  ? String(raw.error)
346
368
  : `HTTP ${resp.status}`;
@@ -364,6 +386,53 @@ function runpodMissingEndpoint() {
364
386
  error: "RUNPOD_ENDPOINT_ID must be set on the Worker (Secrets Store binding or npx wrangler secret put)",
365
387
  };
366
388
  }
389
+ /**
390
+ * A missing CREDENTIAL, named as the binding this route actually reads.
391
+ *
392
+ * On the direct route this returns the exact sentence this file has always returned, because a
393
+ * self-hoster's diagnostic must not change. On the proxied route naming RUNPOD_API_KEY would send
394
+ * an operator hunting a key that MUST NOT exist on that Worker -- the noun comes from
395
+ * runpodCredentialName so the two can never drift apart. Returns null when the credential is
396
+ * present, so the call site reads as a guard rather than as a boolean.
397
+ */
398
+ function runpodMissingCredential(route) {
399
+ if (route.credential)
400
+ return null;
401
+ if (route.proxied) {
402
+ return {
403
+ ok: false,
404
+ error: `${runpodCredentialName(route)} must be set on the Worker (the control plane installs it ` +
405
+ `after upload; this Worker is proxied and must not hold a RunPod key)`,
406
+ };
407
+ }
408
+ return {
409
+ ok: false,
410
+ error: `${runpodCredentialName(route)} must be set on the Worker (Secrets Store binding or npx wrangler secret put)`,
411
+ };
412
+ }
413
+ /**
414
+ * REFUSE a URL that does not belong to the route whose credential we are about to present.
415
+ *
416
+ * This is the one failure a route-carrying transport can have that nothing downstream would
417
+ * report: a caller that built its URL against api.runpod.ai on a Worker whose environment is
418
+ * proxied would send the PLANE token to RunPod. It fails closed and names the condition, rather
419
+ * than producing a 401 from a vendor that the caller then reads as a credential problem.
420
+ *
421
+ * It cannot fire on the direct route with a URL from the builders above (same base, byte for
422
+ * byte), which is why the existing external callers are unaffected -- and it is negative-tested
423
+ * with a proxied route against a direct URL, because a guard nobody has watched refuse is not a
424
+ * guard.
425
+ */
426
+ function runpodRouteOriginMismatch(route, url) {
427
+ if (url.startsWith(`${route.base}/`))
428
+ return null;
429
+ return {
430
+ ok: false,
431
+ error: `RunPod route mismatch: this Worker resolves to ${route.proxied ? "the control-plane proxy" : "RunPod directly"} ` +
432
+ `(${route.base}) and the request URL does not start there. Refusing rather than presenting ` +
433
+ `this route's credential to another origin.`,
434
+ };
435
+ }
367
436
  /** Parse optional RUNPOD_WORKERS_MAX (cf#61 idle reconcile spec). Unset/invalid => skip reconcile. */
368
437
  function parseWorkersMaxSpec(raw) {
369
438
  if (typeof raw === "number" && Number.isFinite(raw) && raw > 0)
@@ -396,17 +465,23 @@ async function reconcileEndpointIfConfigured(env, apiKey, endpointId, opts) {
396
465
  return { ok: false, error: msg, status: rec.status };
397
466
  }
398
467
  async function submitToRunpodEndpoint(env, endpointId, body, label, opts) {
399
- const apiKey = await secretValue(env.RUNPOD_API_KEY);
400
- if (!apiKey) {
401
- return {
402
- ok: false,
403
- error: "RUNPOD_API_KEY must be set on the Worker (Secrets Store binding or npx wrangler secret put)",
404
- };
468
+ const route = await runpodRoute(env);
469
+ const credentialErr = runpodMissingCredential(route);
470
+ if (credentialErr)
471
+ return credentialErr;
472
+ // The workers-max reconcile is an ACCOUNT-level call to rest.runpod.io (see
473
+ // runpod-endpoint-reconcile.ts), not one of the four verbs the plane proxy serves, and a
474
+ // proxied tenant holds no RunPod key by design. Presenting the plane token to rest.runpod.io
475
+ // would 401; routing it through the proxy is impossible because the proxy has no such verb --
476
+ // deliberately, since endpoint configuration on a SHARED pool endpoint is ours to own and not a
477
+ // tenant's to set. So it is SKIPPED, not attempted and swallowed, and the skip is silent
478
+ // because there is nothing for a tenant operator to do about it.
479
+ if (!route.proxied) {
480
+ const reconcileErr = await reconcileEndpointIfConfigured(env, route.credential, endpointId, opts);
481
+ if (reconcileErr)
482
+ return reconcileErr;
405
483
  }
406
- const reconcileErr = await reconcileEndpointIfConfigured(env, apiKey, endpointId, opts);
407
- if (reconcileErr)
408
- return reconcileErr;
409
- return runpodRequest(env, { method: "POST", url: buildSubmitUrl(endpointId), body, label }, opts);
484
+ return runpodRequest(env, { method: "POST", url: buildSubmitUrl(endpointId, route), body, label, route }, opts);
410
485
  }
411
486
  // Submit a job to the vivijure-serverless RunPod endpoint. Returns the
412
487
  // normalized view or a transport error. Does not throw on HTTP 4xx / 5xx; the
@@ -433,13 +508,184 @@ export async function submitRegenShotJob(env, args, opts) {
433
508
  return runpodMissingEndpoint();
434
509
  return submitToRunpodEndpoint(env, endpointId, JSON.stringify(buildRegenShotPayload(args)), "regen submit", opts);
435
510
  }
436
- // v0.57.0: submit a standalone LoRA training job. Differs only in the payload
437
- // builder.
511
+ // ---------- Local-door SDXL train (homelab; no RunPod) ----------
512
+ //
513
+ // vivijure-local-12gb / 16gb accept action:train_lora on the same /run + /status
514
+ // surface as i2v_clip. Prefer LOCAL_BACKEND_URL when set so cast train stays on
515
+ // own silicon; fall back to RUNPOD_ENDPOINT_ID only when the door is not wired.
516
+ /** Strip trailing ASCII '/' without a regex (CodeQL: ReDoS on /\/+$/ over env input). */
517
+ function stripTrailingSlashes(s) {
518
+ let end = s.length;
519
+ while (end > 0 && s.charCodeAt(end - 1) === 47)
520
+ end -= 1;
521
+ return end === s.length ? s : s.slice(0, end);
522
+ }
523
+ /** Absolute http(s) door URL, no userinfo / metadata hosts. Null when unset/invalid. */
524
+ export function normalizeLocalBackendUrl(raw) {
525
+ const trimmed = stripTrailingSlashes(raw.trim());
526
+ if (!trimmed)
527
+ return null;
528
+ let u;
529
+ try {
530
+ u = new URL(trimmed);
531
+ }
532
+ catch {
533
+ return null;
534
+ }
535
+ if (u.protocol !== "http:" && u.protocol !== "https:")
536
+ return null;
537
+ if (u.username || u.password)
538
+ return null;
539
+ let hostname = u.hostname.toLowerCase();
540
+ if (hostname.endsWith("."))
541
+ hostname = hostname.slice(0, -1);
542
+ if (hostname === "metadata.google.internal" || hostname.endsWith(".metadata.google.internal")) {
543
+ return null;
544
+ }
545
+ if (hostname === "169.254.169.254" || hostname.startsWith("169.254."))
546
+ return null;
547
+ if (u.pathname.includes(".."))
548
+ return null;
549
+ const path = u.pathname === "/" ? "" : stripTrailingSlashes(u.pathname);
550
+ return `${u.protocol}//${u.host}${path}`;
551
+ }
552
+ export async function resolveLocalBackendUrl(env) {
553
+ const raw = await secretValue(env.LOCAL_BACKEND_URL);
554
+ return normalizeLocalBackendUrl(raw);
555
+ }
556
+ export async function resolveLocalBackendToken(env) {
557
+ return (await secretValue(env.LOCAL_BACKEND_TOKEN)).trim();
558
+ }
559
+ export async function localDoorConfigured(env) {
560
+ return Boolean(await resolveLocalBackendUrl(env));
561
+ }
562
+ async function submitToLocalDoor(env, body, label, opts) {
563
+ const baseUrl = await resolveLocalBackendUrl(env);
564
+ if (!baseUrl) {
565
+ return {
566
+ ok: false,
567
+ error: "LOCAL_BACKEND_URL must be set (homelab door for SDXL cast train) or wire RUNPOD_ENDPOINT_ID",
568
+ };
569
+ }
570
+ const token = await resolveLocalBackendToken(env);
571
+ const fetchImpl = opts?.fetchImpl ?? fetch;
572
+ const timeoutMs = opts?.timeoutMs ?? RUNPOD_TIMEOUT_MS;
573
+ const headers = { "content-type": "application/json" };
574
+ if (token)
575
+ headers.authorization = `Bearer ${token}`;
576
+ try {
577
+ const resp = await fetchImpl(`${baseUrl}/run`, {
578
+ method: "POST",
579
+ headers,
580
+ body,
581
+ signal: AbortSignal.timeout(timeoutMs),
582
+ });
583
+ let raw;
584
+ try {
585
+ raw = await resp.json();
586
+ }
587
+ catch {
588
+ return {
589
+ ok: false,
590
+ error: `local-door ${label} returned non-JSON (HTTP ${resp.status})`,
591
+ status: resp.status,
592
+ };
593
+ }
594
+ if (!resp.ok) {
595
+ const err = raw && typeof raw === "object" && typeof raw.error === "string"
596
+ ? raw.error
597
+ : `local-door ${label} failed (HTTP ${resp.status})`;
598
+ return { ok: false, error: err, status: resp.status };
599
+ }
600
+ const id = raw && typeof raw === "object" && typeof raw.id === "string"
601
+ ? raw.id
602
+ : "";
603
+ if (!id || !isValidJobId(id)) {
604
+ return { ok: false, error: `local-door ${label} returned no job id` };
605
+ }
606
+ // Door /run only returns { id }; status is IN_QUEUE until the serial worker picks it up.
607
+ return {
608
+ ok: true,
609
+ view: { jobId: id, status: "IN_QUEUE", statusRaw: "IN_QUEUE" },
610
+ };
611
+ }
612
+ catch (e) {
613
+ return {
614
+ ok: false,
615
+ error: `local-door ${label} transport failed: ${e.message}`,
616
+ };
617
+ }
618
+ }
619
+ export async function pollLocalDoorJob(env, jobId, opts) {
620
+ if (!isValidJobId(jobId)) {
621
+ return { ok: false, error: "invalid job id", status: 400 };
622
+ }
623
+ const baseUrl = await resolveLocalBackendUrl(env);
624
+ if (!baseUrl) {
625
+ return { ok: false, error: "LOCAL_BACKEND_URL not configured", status: 404 };
626
+ }
627
+ const token = await resolveLocalBackendToken(env);
628
+ const fetchImpl = opts?.fetchImpl ?? fetch;
629
+ const timeoutMs = opts?.timeoutMs ?? RUNPOD_TIMEOUT_MS;
630
+ const headers = {};
631
+ if (token)
632
+ headers.authorization = `Bearer ${token}`;
633
+ try {
634
+ const resp = await fetchImpl(`${baseUrl}/status/${encodeURIComponent(jobId)}`, {
635
+ method: "GET",
636
+ headers,
637
+ signal: AbortSignal.timeout(timeoutMs),
638
+ });
639
+ let raw;
640
+ try {
641
+ raw = await resp.json();
642
+ }
643
+ catch {
644
+ return {
645
+ ok: false,
646
+ error: `local-door poll returned non-JSON (HTTP ${resp.status})`,
647
+ status: resp.status,
648
+ };
649
+ }
650
+ if (resp.status === 404) {
651
+ return { ok: false, error: "local-door job not found", status: 404 };
652
+ }
653
+ if (!resp.ok) {
654
+ const err = raw && typeof raw === "object" && typeof raw.error === "string"
655
+ ? raw.error
656
+ : `local-door poll failed (HTTP ${resp.status})`;
657
+ return { ok: false, error: err, status: resp.status };
658
+ }
659
+ // Door status envelope is RunPod-compatible: { id, status, output?, error? }.
660
+ const view = normalizeRunpodResponse(raw);
661
+ if (!view) {
662
+ return { ok: false, error: "local-door poll returned unparseable status envelope" };
663
+ }
664
+ return { ok: true, view };
665
+ }
666
+ catch (e) {
667
+ return {
668
+ ok: false,
669
+ error: `local-door poll transport failed: ${e.message}`,
670
+ };
671
+ }
672
+ }
673
+ // v0.57.0: submit a standalone LoRA training job. Prefers the local door when
674
+ // LOCAL_BACKEND_URL is set (homelab SDXL train on own silicon); otherwise the
675
+ // RunPod render endpoint.
438
676
  export async function submitTrainLoraJob(env, args, opts) {
677
+ const body = JSON.stringify(buildTrainLoraPayload(args));
678
+ if (await localDoorConfigured(env)) {
679
+ return submitToLocalDoor(env, body, "train-lora submit", opts);
680
+ }
439
681
  const endpointId = await secretValue(env.RUNPOD_ENDPOINT_ID);
440
- if (!endpointId)
441
- return runpodMissingEndpoint();
442
- return submitToRunpodEndpoint(env, endpointId, JSON.stringify(buildTrainLoraPayload(args)), "train-lora submit", opts);
682
+ if (!endpointId) {
683
+ return {
684
+ ok: false,
685
+ error: "SDXL cast train needs LOCAL_BACKEND_URL (homelab door) or RUNPOD_ENDPOINT_ID (cloud render EP)",
686
+ };
687
+ }
688
+ return submitToRunpodEndpoint(env, endpointId, body, "train-lora submit", opts);
443
689
  }
444
690
  // Submit a Wan 2.2 A14B LoRA training job to the DEDICATED Wan-training endpoint (the lead's
445
691
  // deploy-shape call, cf#29): its 80GB-card GPU-hours are isolated from the render endpoint's
@@ -466,18 +712,22 @@ export async function cancelRenderJob(env, jobId, opts) {
466
712
  const endpointId = await secretValue(env.RUNPOD_ENDPOINT_ID);
467
713
  if (!endpointId)
468
714
  return runpodMissingEndpoint();
715
+ const route = await runpodRoute(env);
469
716
  return runpodRequest(env, {
470
717
  method: "POST",
471
- url: buildCancelUrl(endpointId, jobId),
718
+ url: buildCancelUrl(endpointId, jobId, route),
472
719
  label: "cancel",
720
+ route,
473
721
  }, opts);
474
722
  }
475
723
  // Poll one job on a specific RunPod endpoint (shared by render + Wan-train status checks).
476
724
  export async function pollRunpodJob(env, endpointId, jobId, opts) {
725
+ const route = await runpodRoute(env);
477
726
  return runpodRequest(env, {
478
727
  method: "GET",
479
- url: buildStatusUrl(endpointId, jobId),
728
+ url: buildStatusUrl(endpointId, jobId, route),
480
729
  label: "poll",
730
+ route,
481
731
  }, opts);
482
732
  }
483
733
  // Poll one job's status on the render endpoint.
@@ -495,11 +745,12 @@ export function mergeCastLoraPollResults(wanPoll, renderPoll) {
495
745
  return wanPoll;
496
746
  return renderPoll;
497
747
  }
498
- // Poll a cast LoRA training job. Wan trains submit to RUNPOD_WAN_TRAIN_ENDPOINT_ID; SDXL trains
499
- // submit to RUNPOD_ENDPOINT_ID. RunPod job ids are scoped per endpoint, so a Wan job 404s on the
500
- // render endpoint (the /lora-status 502 users saw). Try the Wan train endpoint first when configured;
501
- // a 404 there means "not this endpoint's job" and we fall through to the render endpoint. Any
502
- // non-404 from either endpoint is authoritative.
748
+ // Poll a cast LoRA training job. Order:
749
+ // 1. Wan train EP (when wired) -- dual-expert A14B jobs live only there
750
+ // 2. Local door (when LOCAL_BACKEND_URL wired) -- homelab SDXL train
751
+ // 3. RunPod render EP -- cloud SDXL train
752
+ // Job ids are scoped per backend, so a 404 means "not this backend" and we fall through.
753
+ // Any non-404 from a tried backend is authoritative.
503
754
  export async function pollCastLoraJob(env, jobId, opts) {
504
755
  const wanEndpointId = await secretValue(env.RUNPOD_WAN_TRAIN_ENDPOINT_ID);
505
756
  let wanPoll;
@@ -510,8 +761,25 @@ export async function pollCastLoraJob(env, jobId, opts) {
510
761
  if (wanPoll.status !== 404)
511
762
  return wanPoll;
512
763
  }
764
+ let localPoll;
765
+ if (await localDoorConfigured(env)) {
766
+ localPoll = await pollLocalDoorJob(env, jobId, opts);
767
+ if (localPoll.ok)
768
+ return localPoll;
769
+ if (localPoll.status !== 404)
770
+ return localPoll;
771
+ }
772
+ const endpointId = await secretValue(env.RUNPOD_ENDPOINT_ID);
773
+ if (!endpointId) {
774
+ // No cloud render EP: surface local 404 (or wan) rather than "missing endpoint" if we tried door.
775
+ if (localPoll)
776
+ return localPoll;
777
+ if (wanPoll)
778
+ return wanPoll;
779
+ return runpodMissingEndpoint();
780
+ }
513
781
  const renderPoll = await pollRenderJob(env, jobId, opts);
514
- return mergeCastLoraPollResults(wanPoll, renderPoll);
782
+ return mergeCastLoraPollResults(wanPoll ?? localPoll, renderPoll);
515
783
  }
516
784
  // Pod returns snake_case; normalize to the camelCase Worker shape. Returns
517
785
  // null on a shape that is not a recognizable beat plan (no valid `mode`).
@@ -1 +1 @@
1
- {"version":3,"file":"runpod-submit.js","sourceRoot":"","sources":["../src/runpod-submit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runpod-submit.js","sourceRoot":"","sources":["../src/runpod-submit.ts"],"names":[],"mappings":"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"}
package/dist/tar.d.ts CHANGED
@@ -2,6 +2,14 @@ export interface TarFile {
2
2
  name: string;
3
3
  content: Uint8Array;
4
4
  mode?: number;
5
+ /**
6
+ * Unix seconds written into the ustar header.
7
+ * Default is 0 (epoch), NOT wall-clock: tar header bytes are hashed into
8
+ * content-addressed bundle keys (assembleBundle / bundleKeyFor). A
9
+ * Date.now() default made two byte-identical assemblies disagree whenever
10
+ * they straddled a second boundary (cf#460). Pass an explicit mtime only
11
+ * when a consumer deliberately needs wall-clock semantics.
12
+ */
5
13
  mtime?: number;
6
14
  }
7
15
  export declare function readTar(bytes: Uint8Array): TarFile[];
package/dist/tar.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tar.d.ts","sourceRoot":"","sources":["../src/tar.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,UAAU,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAqGD,wBAAgB,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,EAAE,CA8BpD;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,UAAU,CAsBpD"}
1
+ {"version":3,"file":"tar.d.ts","sourceRoot":"","sources":["../src/tar.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,UAAU,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAqGD,wBAAgB,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,EAAE,CA8BpD;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,UAAU,CAsBpD"}
package/dist/tar.js CHANGED
@@ -67,8 +67,8 @@ function buildHeader(file) {
67
67
  writeOctal(header, 116, 8, 0);
68
68
  // size @ 124, width 12
69
69
  writeOctal(header, 124, 12, file.content.length);
70
- // mtime @ 136, width 12 (Unix seconds)
71
- const mtime = file.mtime ?? Math.floor(Date.now() / 1000);
70
+ // mtime @ 136, width 12 (Unix seconds). Default epoch -- see TarFile.mtime.
71
+ const mtime = file.mtime ?? 0;
72
72
  writeOctal(header, 136, 12, mtime);
73
73
  // typeflag @ 156: "0" for regular file
74
74
  header[156] = 0x30;
package/dist/tar.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tar.js","sourceRoot":"","sources":["../src/tar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tar.js","sourceRoot":"","sources":["../src/tar.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyphusion-labs/vivijure-core",
3
- "version": "1.8.1",
3
+ "version": "1.10.0",
4
4
  "description": "Shared Vivijure orchestration unifying vivijure-cf and vivijure-local: module registry, film pipeline, Platform ICD.",
5
5
  "license": "AGPL-3.0-only",
6
6
  "type": "module",