@kodycodes/cli 3.0.1 → 3.0.2

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.
Files changed (29) hide show
  1. package/dist/bin.js +1 -1
  2. package/dist/{chunk-ENB4AFHF.js → chunk-57IZ5V4O.js} +6 -6
  3. package/dist/{chunk-FQDXZCNC.js → chunk-EIFHXJDK.js} +2 -2
  4. package/dist/{chunk-7YWXBKSA.js → chunk-JWDLZGIR.js} +133 -8
  5. package/dist/chunk-JWDLZGIR.js.map +6 -0
  6. package/dist/{chunk-2XKHD5AY.js → chunk-OXDC6GJU.js} +276 -11
  7. package/dist/{chunk-2XKHD5AY.js.map → chunk-OXDC6GJU.js.map} +1 -1
  8. package/dist/{mock-local-deps-HGYWVRFD.js → chunk-UY3U64VR.js} +10 -14
  9. package/dist/chunk-UY3U64VR.js.map +6 -0
  10. package/dist/cli.js +1 -1
  11. package/dist/{dev-command-RS24SIQM.js → dev-command-CNSJ7DRG.js} +34 -6
  12. package/dist/dev-command-CNSJ7DRG.js.map +6 -0
  13. package/dist/{local-execute-JMLNPN5F.js → local-execute-GV6CVM3R.js} +3 -3
  14. package/dist/{local-package-graph-IEU5VLS4.js → local-package-graph-NAZNI2VP.js} +24 -2
  15. package/dist/local-package-graph.d.ts +60 -0
  16. package/dist/{local-package-run-HBZJO3HO.js → local-package-run-JFVEKBVM.js} +11 -4
  17. package/dist/local-package-run.d.ts +40 -0
  18. package/dist/mock-local-deps-XOTGC6SA.js +30 -0
  19. package/dist/mock-local-deps-XOTGC6SA.js.map +6 -0
  20. package/dist/package-local-runtime-source.d.ts +9 -0
  21. package/package.json +1 -1
  22. package/dist/chunk-7YWXBKSA.js.map +0 -6
  23. package/dist/dev-command-RS24SIQM.js.map +0 -6
  24. package/dist/mock-local-deps-HGYWVRFD.js.map +0 -6
  25. /package/dist/{chunk-ENB4AFHF.js.map → chunk-57IZ5V4O.js.map} +0 -0
  26. /package/dist/{chunk-FQDXZCNC.js.map → chunk-EIFHXJDK.js.map} +0 -0
  27. /package/dist/{local-execute-JMLNPN5F.js.map → local-execute-GV6CVM3R.js.map} +0 -0
  28. /package/dist/{local-package-graph-IEU5VLS4.js.map → local-package-graph-NAZNI2VP.js.map} +0 -0
  29. /package/dist/{local-package-run-HBZJO3HO.js.map → local-package-run-JFVEKBVM.js.map} +0 -0
package/dist/bin.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
3
3
  import {
4
4
  runCli
5
- } from "./chunk-ENB4AFHF.js";
5
+ } from "./chunk-57IZ5V4O.js";
6
6
  import "./chunk-2XPH7L2P.js";
7
7
  import "./chunk-SLNAWWQK.js";
8
8
  import "./chunk-YDWTXEKQ.js";
@@ -1473,7 +1473,7 @@ scopes: ${identity.token.scopes.join(", ") || "(none)"}
1473
1473
  });
1474
1474
  }
1475
1475
  if (localPackageRun) {
1476
- const { buildLocalPackageContext, runLocalPackageModule } = await import("./local-package-run-HBZJO3HO.js");
1476
+ const { buildLocalPackageContext, runLocalPackageModule } = await import("./local-package-run-JFVEKBVM.js");
1477
1477
  const result2 = await runLocalPackageModule({
1478
1478
  modulePath: localPackageRun.modulePath,
1479
1479
  params: args.params,
@@ -1517,7 +1517,7 @@ scopes: ${identity.token.scopes.join(", ") || "(none)"}
1517
1517
  packageRootForMocks = void 0;
1518
1518
  }
1519
1519
  }
1520
- const result = local ? await (await import("./local-execute-JMLNPN5F.js")).runLocalExecute({
1520
+ const result = local ? await (await import("./local-execute-GV6CVM3R.js")).runLocalExecute({
1521
1521
  code: args.code,
1522
1522
  ...modulePath !== void 0 ? { modulePath } : {},
1523
1523
  params: args.params,
@@ -1575,7 +1575,7 @@ scopes: ${identity.token.scopes.join(", ") || "(none)"}
1575
1575
  return result.isError ? 1 : 0;
1576
1576
  } catch (error) {
1577
1577
  if (json && local) {
1578
- const { LocalPackageGraphError, packageGraphErrorToolResult } = await import("./local-package-graph-IEU5VLS4.js");
1578
+ const { LocalPackageGraphError, packageGraphErrorToolResult } = await import("./local-package-graph-NAZNI2VP.js");
1579
1579
  if (error instanceof LocalPackageGraphError) {
1580
1580
  const redacted = redactError(error).message;
1581
1581
  const result = packageGraphErrorToolResult(error);
@@ -1605,7 +1605,7 @@ scopes: ${identity.token.scopes.join(", ") || "(none)"}
1605
1605
  runDevServe,
1606
1606
  runDevWebhook,
1607
1607
  tryAttachedDevFetch
1608
- } = await import("./dev-command-RS24SIQM.js");
1608
+ } = await import("./dev-command-CNSJ7DRG.js");
1609
1609
  const target = resolveTarget({
1610
1610
  command: "dev",
1611
1611
  flag: typeof parsed.values.target === "string" ? parsed.values.target : void 0
@@ -1632,7 +1632,7 @@ scopes: ${identity.token.scopes.join(", ") || "(none)"}
1632
1632
  { parsePackageCheckResult, PublishChecksAuthError }
1633
1633
  ] = await Promise.all([
1634
1634
  import("./open-api-client-5BQMPAQY.js"),
1635
- import("./dev-command-RS24SIQM.js")
1635
+ import("./dev-command-CNSJ7DRG.js")
1636
1636
  ]);
1637
1637
  let token2;
1638
1638
  try {
@@ -2306,4 +2306,4 @@ export {
2306
2306
  resolvePackagePublishTarget,
2307
2307
  shouldUseApiToken
2308
2308
  };
2309
- //# sourceMappingURL=chunk-ENB4AFHF.js.map
2309
+ //# sourceMappingURL=chunk-57IZ5V4O.js.map
@@ -3,7 +3,7 @@ import {
3
3
  localExecuteGatewayFetchShimModuleName,
4
4
  localWorkerModuleNames,
5
5
  runSecretHeader
6
- } from "./chunk-2XKHD5AY.js";
6
+ } from "./chunk-OXDC6GJU.js";
7
7
  import {
8
8
  redact
9
9
  } from "./chunk-CASGRYOF.js";
@@ -475,4 +475,4 @@ export {
475
475
  assertLocalPackageScopedSecretWriteAllowed,
476
476
  installMockFetchShimModules
477
477
  };
478
- //# sourceMappingURL=chunk-FQDXZCNC.js.map
478
+ //# sourceMappingURL=chunk-EIFHXJDK.js.map
@@ -4,11 +4,15 @@ import {
4
4
  forwardLocalGatewayFetchStream,
5
5
  installMockFetchShimModules,
6
6
  startLocalRuntimeBridge
7
- } from "./chunk-FQDXZCNC.js";
7
+ } from "./chunk-EIFHXJDK.js";
8
8
  import {
9
9
  resolveMockFetchGateway,
10
10
  tryHandleMockGatewayFetchCall
11
11
  } from "./chunk-V7TJUMHF.js";
12
+ import {
13
+ parseKodyPackageSpecifier,
14
+ tryLoadSelfManifest
15
+ } from "./chunk-UY3U64VR.js";
12
16
  import {
13
17
  bundleLocalUserModule
14
18
  } from "./chunk-7RLOLQIT.js";
@@ -24,10 +28,13 @@ import {
24
28
  runSecretEnvVar,
25
29
  runSecretHeader,
26
30
  writePackageModuleFiles
27
- } from "./chunk-2XKHD5AY.js";
31
+ } from "./chunk-OXDC6GJU.js";
28
32
  import {
29
33
  redact
30
34
  } from "./chunk-CASGRYOF.js";
35
+ import {
36
+ callOpenApiOperation
37
+ } from "./chunk-5YWQO43I.js";
31
38
  import {
32
39
  ensureWorkerdBinary
33
40
  } from "./chunk-PWWN6JI2.js";
@@ -156,6 +163,8 @@ function splitHostPort(hostHeader) {
156
163
  // src/package-local-runtime-source.ts
157
164
  function createPackageLocalRuntimeModuleSource(input) {
158
165
  const ctxLiteral = JSON.stringify(input.packageContext);
166
+ const packageBinding = typeof input.packageBinding === "string" && input.packageBinding.startsWith("kpb1.") ? input.packageBinding : null;
167
+ const packageBindingLiteral = JSON.stringify(packageBinding);
159
168
  const storageBlock = input.mockStorage ? `
160
169
  export function packageStorage() {
161
170
  return {
@@ -222,6 +231,10 @@ export const packageContext = Object.freeze(${ctxLiteral});
222
231
  export const email = null;
223
232
  export const events = null;
224
233
 
234
+ // Signed binding from package-graph only (never a bare package UUID). Origin
235
+ // verifies via authorizeLocalExecutePackageBinding.
236
+ const __kodyPackageBinding = ${packageBindingLiteral};
237
+
225
238
  const __kodyNullBodyStatuses = new Set([204, 205, 304]);
226
239
 
227
240
  function __kodyBytesToBase64(bytes) {
@@ -300,6 +313,7 @@ export async function createAuthenticatedFetch(providerName) {
300
313
  }
301
314
  const result = await __kodyCall(['kody', 'authenticatedFetch'], [{
302
315
  providerName: name,
316
+ ...(__kodyPackageBinding ? { packageId: __kodyPackageBinding } : {}),
303
317
  request: {
304
318
  url,
305
319
  method,
@@ -352,7 +366,11 @@ export const secretHeaders = {
352
366
  };
353
367
 
354
368
  export async function oauthClientCredentials(input) {
355
- return await __kodyCall(['kody', 'oauthClientCredentials'], [input ?? {}]);
369
+ const { packageId: _ignored, ...rest } = input ?? {};
370
+ return await __kodyCall(['kody', 'oauthClientCredentials'], [{
371
+ ...rest,
372
+ ...(__kodyPackageBinding ? { packageId: __kodyPackageBinding } : {}),
373
+ }]);
356
374
  }
357
375
 
358
376
  ${credentialClientRuntimeSource}
@@ -675,6 +693,33 @@ async function runLocalPackageModule(input) {
675
693
  ...input.packageRoot ? { packageRoot: input.packageRoot } : {},
676
694
  onStatus: input.onStatus
677
695
  });
696
+ const boundPackage = await resolveLocalPackageBinding({
697
+ graph: packageGraph,
698
+ kodyId: input.packageContext.kodyId,
699
+ packageRoot: input.packageRoot,
700
+ apiUrl: input.apiUrl,
701
+ token: input.token,
702
+ ...input.org ? { org: input.org } : {},
703
+ ...input.depResolve ? {
704
+ listClient: {
705
+ apiUrl: input.depResolve.apiUrl,
706
+ token: input.depResolve.token,
707
+ ...input.depResolve.org ? { org: input.depResolve.org } : {},
708
+ fetchFn: input.depResolve.fetchFn ?? input.fetchFn
709
+ }
710
+ } : {
711
+ listClient: {
712
+ apiUrl: input.apiUrl,
713
+ token: input.token,
714
+ ...input.org ? { org: input.org } : {},
715
+ fetchFn: input.fetchFn
716
+ }
717
+ }
718
+ });
719
+ const packageContext = boundPackage ? {
720
+ ...input.packageContext,
721
+ packageId: boundPackage.packageId
722
+ } : input.packageContext;
678
723
  bridge = await startLocalRuntimeBridge({
679
724
  runSecret,
680
725
  forwardCall: async (call, signal) => {
@@ -728,8 +773,9 @@ async function runLocalPackageModule(input) {
728
773
  await writeFile(
729
774
  join(workDir, files.runtime),
730
775
  createPackageLocalRuntimeModuleSource({
731
- packageContext: input.packageContext,
732
- mockStorage: input.target === "mock"
776
+ packageContext,
777
+ mockStorage: input.target === "mock",
778
+ ...boundPackage?.packageBinding ? { packageBinding: boundPackage.packageBinding } : {}
733
779
  })
734
780
  );
735
781
  await writeFile(
@@ -797,8 +843,9 @@ async function runLocalPackageModule(input) {
797
843
  }
798
844
  function buildLocalPackageContext(input) {
799
845
  const appBasePath = input.appBasePath ?? "";
846
+ const packageId = typeof input.packageId === "string" && input.packageId.trim() ? input.packageId.trim() : `local:${input.kodyId}`;
800
847
  return {
801
- packageId: input.packageId ?? `local:${input.kodyId}`,
848
+ packageId,
802
849
  kodyId: input.kodyId,
803
850
  sourceId: `local:${input.kodyId}`,
804
851
  publishedCommit: null,
@@ -808,6 +855,82 @@ function buildLocalPackageContext(input) {
808
855
  clientModuleUrl: input.clientModuleUrl ?? null
809
856
  };
810
857
  }
858
+ async function resolveLocalPackageBinding(input) {
859
+ const packageBindings = input.graph.packageBindings ?? {};
860
+ const packageIdsByImport = input.graph.packageIdsByImport ?? {};
861
+ if (Object.keys(packageBindings).length === 0) return null;
862
+ let packageName;
863
+ if (input.packageRoot) {
864
+ const manifest = await tryLoadSelfManifest(input.packageRoot);
865
+ packageName = manifest?.name;
866
+ }
867
+ for (const [specifier, packageId] of Object.entries(packageIdsByImport)) {
868
+ if (!packageIdMatchesLocalPackage({
869
+ specifier,
870
+ kodyId: input.kodyId,
871
+ packageName
872
+ })) {
873
+ continue;
874
+ }
875
+ const binding2 = packageBindings[packageId];
876
+ if (typeof binding2 === "string" && binding2.startsWith("kpb1.")) {
877
+ return { packageId, packageBinding: binding2 };
878
+ }
879
+ }
880
+ const listedId = await resolvePackageIdViaPackageList({
881
+ kodyId: input.kodyId,
882
+ packageName,
883
+ client: input.listClient ?? {
884
+ apiUrl: input.apiUrl,
885
+ token: input.token,
886
+ ...input.org ? { org: input.org } : {}
887
+ }
888
+ });
889
+ if (!listedId) return null;
890
+ const binding = packageBindings[listedId];
891
+ if (typeof binding === "string" && binding.startsWith("kpb1.")) {
892
+ return { packageId: listedId, packageBinding: binding };
893
+ }
894
+ return null;
895
+ }
896
+ function packageIdMatchesLocalPackage(input) {
897
+ const parsed = parseKodyPackageSpecifier(input.specifier);
898
+ if (!parsed) {
899
+ if (input.specifier === `kody:${input.kodyId}` || input.specifier.startsWith(`kody:${input.kodyId}/`)) {
900
+ return true;
901
+ }
902
+ return false;
903
+ }
904
+ if (input.packageName) {
905
+ return parsed.packageName === input.packageName;
906
+ }
907
+ return parsed.packageName === input.kodyId;
908
+ }
909
+ async function resolvePackageIdViaPackageList(input) {
910
+ try {
911
+ const listed = await callOpenApiOperation({
912
+ apiUrl: input.client.apiUrl,
913
+ token: input.client.token,
914
+ operationId: "packageList",
915
+ params: {},
916
+ ...input.client.org ? { org: input.client.org } : {},
917
+ ...input.client.fetchFn ? { fetchFn: input.client.fetchFn } : {}
918
+ });
919
+ const packages = listed.packages ?? [];
920
+ if (input.packageName) {
921
+ const byName = packages.filter((pkg) => pkg.name === input.packageName);
922
+ if (byName.length === 1) return byName[0].package_id;
923
+ return null;
924
+ }
925
+ const byKodyId = packages.filter(
926
+ (pkg) => pkg.kody_id === input.kodyId || pkg.name === input.kodyId
927
+ );
928
+ if (byKodyId.length === 1) return byKodyId[0].package_id;
929
+ } catch {
930
+ return null;
931
+ }
932
+ return null;
933
+ }
811
934
  function cleanupOnSignal(cleanup) {
812
935
  const signals = ["SIGINT", "SIGTERM", "SIGHUP"];
813
936
  const release = () => {
@@ -923,6 +1046,8 @@ export {
923
1046
  createPackageLocalRuntimeModuleSource,
924
1047
  createPackageAppEntrySource,
925
1048
  runLocalPackageModule,
926
- buildLocalPackageContext
1049
+ buildLocalPackageContext,
1050
+ resolveLocalPackageBinding,
1051
+ packageIdMatchesLocalPackage
927
1052
  };
928
- //# sourceMappingURL=chunk-7YWXBKSA.js.map
1053
+ //# sourceMappingURL=chunk-JWDLZGIR.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/local-package-run.ts", "../src/dev/dev-protocol.ts", "../src/dev/dev-proxy-origin.ts", "../src/package-local-runtime-source.ts"],
4
+ "mappings": "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",
5
+ "names": ["response", "binding"]
6
+ }
@@ -876,6 +876,108 @@ function synthesizePackageGraphEntry(imports) {
876
876
  export default async function main() {}
877
877
  `;
878
878
  }
879
+ var packageRuntimeModulePrefix = ".__kody_virtual__/package-runtime";
880
+ function decodePathKey(value) {
881
+ const bytes = value.match(/[0-9a-f]{2}/gi);
882
+ if (!bytes || bytes.join("") !== value) return null;
883
+ try {
884
+ return new TextDecoder().decode(
885
+ new Uint8Array(bytes.map((byte) => Number.parseInt(byte, 16)))
886
+ );
887
+ } catch {
888
+ return null;
889
+ }
890
+ }
891
+ function encodePathKey(value) {
892
+ return Array.from(
893
+ new TextEncoder().encode(value),
894
+ (byte) => byte.toString(16).padStart(2, "0")
895
+ ).join("");
896
+ }
897
+ function parsePackageRuntimeModulePathPackageId(modulePath) {
898
+ const normalized = modulePath.replace(/\\/g, "/").replace(/^\/+/, "");
899
+ const prefix = `${packageRuntimeModulePrefix}/`;
900
+ const isPackageRuntimePath = normalized.startsWith(prefix) || normalized.includes(`/${prefix}`);
901
+ if (!isPackageRuntimePath) return null;
902
+ const fileName = normalized.slice(normalized.lastIndexOf("/") + 1);
903
+ if (!fileName.endsWith(".js")) return null;
904
+ return decodePathKey(fileName.slice(0, -".js".length));
905
+ }
906
+ function packageRuntimeFacadeImportSpecifier(packageId) {
907
+ return `/${packageRuntimeModulePrefix}/${encodePathKey(packageId)}.js`;
908
+ }
909
+ function resolvePackageRuntimeFacadeImportSpecifier(graph, packageId) {
910
+ let best = null;
911
+ for (const module of graph.modules) {
912
+ if (parsePackageRuntimeModulePathPackageId(module.name) !== packageId) {
913
+ continue;
914
+ }
915
+ const specifier = module.name.startsWith("/") ? module.name : `/${module.name}`;
916
+ if (best === null || specifier.length < best.length) {
917
+ best = specifier;
918
+ }
919
+ }
920
+ return best;
921
+ }
922
+ async function rewriteLocalModulesToPackageFacades(graph) {
923
+ const packageIdsByImport = graph.packageIdsByImport ?? {};
924
+ if (Object.keys(packageIdsByImport).length === 0) {
925
+ return graph;
926
+ }
927
+ const flatAlias = localWorkerModuleNames.runtimeFlatAlias;
928
+ const flatAliasAbsolute = `/${flatAlias}`;
929
+ const modules = [];
930
+ for (const module of graph.modules) {
931
+ if (!module.name.startsWith("kody:@")) {
932
+ modules.push(module);
933
+ continue;
934
+ }
935
+ const packageId = packageIdsByImport[module.name];
936
+ if (!packageId) {
937
+ modules.push(module);
938
+ continue;
939
+ }
940
+ const facadeSpecifier = resolvePackageRuntimeFacadeImportSpecifier(
941
+ graph,
942
+ packageId
943
+ );
944
+ if (!facadeSpecifier) {
945
+ modules.push(module);
946
+ continue;
947
+ }
948
+ const rewritten = await rewriteRuntimeAliasImports(
949
+ module.esModule,
950
+ flatAlias,
951
+ flatAliasAbsolute,
952
+ facadeSpecifier
953
+ );
954
+ modules.push(
955
+ rewritten === module.esModule ? module : { name: module.name, esModule: rewritten }
956
+ );
957
+ }
958
+ return { ...graph, modules };
959
+ }
960
+ async function rewriteRuntimeAliasImports(esModule, flatAlias, flatAliasAbsolute, facadeSpecifier) {
961
+ await esModuleLexerReady;
962
+ const edits = parseModuleImports(esModule).filter((im) => typeof im.specifier === "string").map((im) => {
963
+ const specifier = im.specifier;
964
+ if (specifier !== flatAlias && specifier !== flatAliasAbsolute) {
965
+ return null;
966
+ }
967
+ return { start: im.start, end: im.end, facadeSpecifier };
968
+ }).filter(
969
+ (edit) => edit !== null
970
+ ).sort((a, b) => b.start - a.start);
971
+ if (edits.length === 0) return esModule;
972
+ let out = esModule;
973
+ for (const edit of edits) {
974
+ const raw = esModule.slice(edit.start, edit.end);
975
+ const quote = raw.startsWith("'") || raw.startsWith('"') ? raw[0] : null;
976
+ const replacement = quote ? `${quote}${edit.facadeSpecifier}${quote}` : edit.facadeSpecifier;
977
+ out = `${out.slice(0, edit.start)}${replacement}${out.slice(edit.end)}`;
978
+ }
979
+ return out;
980
+ }
879
981
  function isTypeOnlyImport(im) {
880
982
  if (im.type === "dynamic") return im.probablyTypeOnly === true;
881
983
  return im.typeOnly === true;
@@ -1011,7 +1113,12 @@ async function writePackageModuleFiles(workDir, graph, writeFile, joinPath) {
1011
1113
  async function resolveLocalPackageGraph(input) {
1012
1114
  const imports = await listSavedPackageImports(input.code);
1013
1115
  if (input.depResolve && imports.length === 0 && !await hasLiteralDynamicSavedPackageImports(input.code)) {
1014
- return { modules: [], imports: [] };
1116
+ return {
1117
+ modules: [],
1118
+ imports: [],
1119
+ packageBindings: {},
1120
+ packageIdsByImport: {}
1121
+ };
1015
1122
  }
1016
1123
  let localModules = [];
1017
1124
  let unresolved = imports;
@@ -1019,7 +1126,7 @@ async function resolveLocalPackageGraph(input) {
1019
1126
  mergePackageGraphs,
1020
1127
  resolveLocalPackageModules,
1021
1128
  tryLoadSelfManifest
1022
- } = await import("./mock-local-deps-HGYWVRFD.js");
1129
+ } = await import("./mock-local-deps-XOTGC6SA.js");
1023
1130
  if (imports.length > 0 && input.packageRoot) {
1024
1131
  const selfManifest = await tryLoadSelfManifest(input.packageRoot);
1025
1132
  const local = await resolveLocalPackageModules({
@@ -1030,8 +1137,13 @@ async function resolveLocalPackageGraph(input) {
1030
1137
  });
1031
1138
  localModules = local.modules;
1032
1139
  unresolved = local.unresolved;
1033
- if (unresolved.length === 0 && (input.depResolve !== void 0 || isLikelyMockBearer(input.token))) {
1034
- return { modules: localModules, imports };
1140
+ if (unresolved.length === 0 && input.depResolve === void 0 && isLikelyMockBearer(input.token)) {
1141
+ return {
1142
+ modules: localModules,
1143
+ imports,
1144
+ packageBindings: {},
1145
+ packageIdsByImport: {}
1146
+ };
1035
1147
  }
1036
1148
  }
1037
1149
  if (unresolved.length > 0 && !input.depResolve && isLikelyMockBearer(input.token)) {
@@ -1056,14 +1168,140 @@ async function resolveLocalPackageGraph(input) {
1056
1168
  `Resolving ${unresolved.length} kody:@ dependenc${unresolved.length === 1 ? "y" : "ies"} from published package-graph (mock keeps storage/credentials local)\u2026`
1057
1169
  );
1058
1170
  }
1059
- const published = await fetchLocalPackageGraph({
1171
+ const localOnlyFallback = localModules.length > 0 && unresolved.length === 0 && input.depResolve !== void 0 ? {
1172
+ modules: localModules,
1173
+ imports,
1174
+ packageBindings: {},
1175
+ packageIdsByImport: {}
1176
+ } : null;
1177
+ let published;
1178
+ try {
1179
+ published = await fetchLocalPackageGraph({
1180
+ ...client,
1181
+ code: input.code,
1182
+ conversationId: input.conversationId,
1183
+ ...localModules.length > 0 ? { requiredImports: unresolved } : {}
1184
+ });
1185
+ } catch (error) {
1186
+ if (localOnlyFallback) {
1187
+ input.onStatus?.(
1188
+ "Package bindings unavailable; continuing with local modules unbound."
1189
+ );
1190
+ return localOnlyFallback;
1191
+ }
1192
+ throw error;
1193
+ }
1194
+ if (localModules.length === 0) return published;
1195
+ const withLocalBindings = await probeLocalPackageBindings({
1060
1196
  ...client,
1061
- code: input.code,
1062
1197
  conversationId: input.conversationId,
1063
- ...localModules.length > 0 ? { requiredImports: unresolved } : {}
1198
+ localModules,
1199
+ published
1064
1200
  });
1065
- if (localModules.length === 0) return published;
1066
- return mergePackageGraphs(localModules, published);
1201
+ return rewriteLocalModulesToPackageFacades(
1202
+ mergePackageGraphs(localModules, withLocalBindings)
1203
+ );
1204
+ }
1205
+ async function probeLocalPackageBindings(input) {
1206
+ const knownIds = input.published.packageIdsByImport ?? {};
1207
+ const probeImports = [
1208
+ ...new Set(
1209
+ input.localModules.map((module) => module.name).filter(
1210
+ (name) => name.startsWith("kody:@") && knownIds[name] === void 0
1211
+ )
1212
+ )
1213
+ ];
1214
+ if (probeImports.length === 0) return input.published;
1215
+ let merged = input.published;
1216
+ for (const specifier of probeImports) {
1217
+ try {
1218
+ const probed = await fetchLocalPackageGraph({
1219
+ apiUrl: input.apiUrl,
1220
+ token: input.token,
1221
+ code: synthesizePackageGraphEntry([specifier]),
1222
+ requiredImports: [specifier],
1223
+ ...input.org ? { org: input.org } : {},
1224
+ ...input.fetchFn ? { fetchFn: input.fetchFn } : {},
1225
+ ...input.conversationId !== void 0 ? { conversationId: input.conversationId } : {},
1226
+ ...input.signal ? { signal: input.signal } : {}
1227
+ });
1228
+ merged = mergePackageGraphBindings(merged, probed);
1229
+ } catch (error) {
1230
+ if (!isPackageGraphResolutionError(error)) throw error;
1231
+ }
1232
+ }
1233
+ return embedMergedBindingsInPrimaryShim(merged);
1234
+ }
1235
+ function mergePackageGraphBindings(base, probed) {
1236
+ const byName = /* @__PURE__ */ new Map();
1237
+ for (const module of base.modules) byName.set(module.name, module);
1238
+ for (const module of probed.modules) {
1239
+ if (module.name.startsWith("kody:@")) continue;
1240
+ if (isLocalExecuteGatewayFetchShimModuleName(module.name)) continue;
1241
+ if (isRootPackageRuntimeFacadeModuleName(module.name)) {
1242
+ byName.set(module.name, module);
1243
+ }
1244
+ }
1245
+ return {
1246
+ modules: [...byName.values()],
1247
+ imports: base.imports,
1248
+ packageBindings: {
1249
+ ...base.packageBindings,
1250
+ ...probed.packageBindings
1251
+ },
1252
+ packageIdsByImport: {
1253
+ ...base.packageIdsByImport,
1254
+ ...probed.packageIdsByImport
1255
+ }
1256
+ };
1257
+ }
1258
+ function isLocalExecuteGatewayFetchShimModuleName(moduleName) {
1259
+ if (moduleName === localExecuteGatewayFetchShimModuleName) return true;
1260
+ return moduleName.endsWith(`/${localExecuteGatewayFetchShimModuleName}`) || moduleName.includes(`/${localExecuteGatewayFetchShimModuleName}/`);
1261
+ }
1262
+ function isRootPackageRuntimeFacadeModuleName(moduleName) {
1263
+ const normalized = moduleName.replace(/\\/g, "/").replace(/^\/+/, "");
1264
+ const prefix = `${packageRuntimeModulePrefix}/`;
1265
+ if (!normalized.startsWith(prefix) || !normalized.endsWith(".js")) {
1266
+ return false;
1267
+ }
1268
+ const rest = normalized.slice(prefix.length, -".js".length);
1269
+ return rest.length > 0 && !rest.includes("/");
1270
+ }
1271
+ function embedMergedBindingsInPrimaryShim(graph) {
1272
+ const packageBindings = graph.packageBindings ?? {};
1273
+ if (Object.keys(packageBindings).length === 0) return graph;
1274
+ const modules = graph.modules.map((module) => {
1275
+ if (!isLocalExecuteGatewayFetchShimModuleName(module.name)) return module;
1276
+ const rewritten = rewritePackageBindingsLiteral(
1277
+ module.esModule,
1278
+ packageBindings
1279
+ );
1280
+ return rewritten === module.esModule ? module : { name: module.name, esModule: rewritten };
1281
+ });
1282
+ return { ...graph, modules };
1283
+ }
1284
+ var packageBindingsLiteralPattern = /const __kodyPackageBindings = \{[\s\S]*?\n\};/;
1285
+ function createPackageBindingsLiteral(bindings) {
1286
+ const entries = Object.entries(bindings).filter(
1287
+ ([packageId, binding]) => packageId && packageId !== "__proto__" && typeof binding === "string" && binding
1288
+ ).sort(([left], [right]) => left.localeCompare(right)).map(
1289
+ ([packageId, binding]) => ` ${JSON.stringify(packageId)}: ${JSON.stringify(binding)},`
1290
+ );
1291
+ return `{
1292
+ __proto__: null,
1293
+ ${entries.join("\n")}${entries.length ? "\n" : ""}}`;
1294
+ }
1295
+ function rewritePackageBindingsLiteral(esModule, bindings) {
1296
+ if (!packageBindingsLiteralPattern.test(esModule)) return esModule;
1297
+ return esModule.replace(
1298
+ packageBindingsLiteralPattern,
1299
+ `const __kodyPackageBindings = ${createPackageBindingsLiteral(bindings)};`
1300
+ );
1301
+ }
1302
+ function isPackageGraphResolutionError(error) {
1303
+ if (!(error instanceof LocalPackageGraphError)) return false;
1304
+ return error.code === "package_import_unresolved" || error.code === "package_import_unpublished" || error.code === "incomplete_package_graph" || error.code === "not_found" || error.status === 400 || error.status === 404 || error.status === 422;
1067
1305
  }
1068
1306
  function isLikelyMockBearer(token) {
1069
1307
  return token === "mock" || token.startsWith("kody_mock_");
@@ -1152,7 +1390,23 @@ function parsePackageGraphBody(body, imports) {
1152
1390
  modules.push({ name: entry.name, esModule });
1153
1391
  }
1154
1392
  const reportedImports = Array.isArray(body.imports) ? body.imports.filter((value) => typeof value === "string") : imports;
1155
- return { modules, imports: reportedImports };
1393
+ const packageBindings = parseStringRecord(body.packageBindings);
1394
+ const packageIdsByImport = parseStringRecord(body.packageIdsByImport);
1395
+ return {
1396
+ modules,
1397
+ imports: reportedImports,
1398
+ packageBindings,
1399
+ packageIdsByImport
1400
+ };
1401
+ }
1402
+ function parseStringRecord(value) {
1403
+ if (!isRecord(value)) return {};
1404
+ const out = {};
1405
+ for (const [key, entry] of Object.entries(value)) {
1406
+ if (!key || key === "__proto__") continue;
1407
+ if (typeof entry === "string" && entry) out[key] = entry;
1408
+ }
1409
+ return out;
1156
1410
  }
1157
1411
  function describePackageGraphFailure(status, body, url, imports, token) {
1158
1412
  const failure = readErrorBody(body);
@@ -1262,6 +1516,13 @@ export {
1262
1516
  localPackageGraphPlatformIssueUrl,
1263
1517
  packageGraphInlineCodePreferImportsChars,
1264
1518
  synthesizePackageGraphEntry,
1519
+ packageRuntimeModulePrefix,
1520
+ decodePathKey,
1521
+ encodePathKey,
1522
+ parsePackageRuntimeModulePathPackageId,
1523
+ packageRuntimeFacadeImportSpecifier,
1524
+ resolvePackageRuntimeFacadeImportSpecifier,
1525
+ rewriteLocalModulesToPackageFacades,
1265
1526
  listSavedPackageImports,
1266
1527
  hasSavedPackageImports,
1267
1528
  hasLiteralDynamicSavedPackageImports,
@@ -1275,6 +1536,10 @@ export {
1275
1536
  localExecuteGatewayFetchShimModuleName,
1276
1537
  writePackageModuleFiles,
1277
1538
  resolveLocalPackageGraph,
1539
+ mergePackageGraphBindings,
1540
+ isRootPackageRuntimeFacadeModuleName,
1541
+ embedMergedBindingsInPrimaryShim,
1542
+ createPackageBindingsLiteral,
1278
1543
  fetchLocalPackageGraph
1279
1544
  };
1280
- //# sourceMappingURL=chunk-2XKHD5AY.js.map
1545
+ //# sourceMappingURL=chunk-OXDC6GJU.js.map