@ms-cloudpack/api-server 0.60.2 → 0.61.1

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 (71) hide show
  1. package/lib/apis/addPackageOverride.d.ts +1 -1
  2. package/lib/apis/addPackageOverride.d.ts.map +1 -1
  3. package/lib/apis/addPackageOverride.js.map +1 -1
  4. package/lib/apis/ensurePackageBundled.d.ts +4 -4
  5. package/lib/apis/ensurePackageBundled.d.ts.map +1 -1
  6. package/lib/apis/ensurePackageBundled.js +6 -15
  7. package/lib/apis/ensurePackageBundled.js.map +1 -1
  8. package/lib/apis/getSessionId.d.ts +1 -1
  9. package/lib/apis/getSessionId.d.ts.map +1 -1
  10. package/lib/apis/getSessionId.js.map +1 -1
  11. package/lib/apis/linkPath.d.ts +1 -1
  12. package/lib/apis/linkPath.d.ts.map +1 -1
  13. package/lib/apis/linkPath.js.map +1 -1
  14. package/lib/apis/openConfigEditor.d.ts +1 -1
  15. package/lib/apis/openConfigEditor.d.ts.map +1 -1
  16. package/lib/apis/openConfigEditor.js.map +1 -1
  17. package/lib/apis/openFilePath.d.ts +1 -1
  18. package/lib/apis/openFilePath.d.ts.map +1 -1
  19. package/lib/apis/openFilePath.js.map +1 -1
  20. package/lib/apis/reportSpan.d.ts +1 -1
  21. package/lib/apis/reportSpan.d.ts.map +1 -1
  22. package/lib/apis/reportSpan.js.map +1 -1
  23. package/lib/apis/restartAllTasks.d.ts +1 -1
  24. package/lib/apis/restartAllTasks.d.ts.map +1 -1
  25. package/lib/apis/restartAllTasks.js.map +1 -1
  26. package/lib/apis/restartTask.d.ts +1 -1
  27. package/lib/apis/restartTask.d.ts.map +1 -1
  28. package/lib/apis/restartTask.js.map +1 -1
  29. package/lib/apis/syncDownload.d.ts +5 -2
  30. package/lib/apis/syncDownload.d.ts.map +1 -1
  31. package/lib/apis/syncDownload.js +4 -2
  32. package/lib/apis/syncDownload.js.map +1 -1
  33. package/lib/apis/syncUpload.d.ts +7 -4
  34. package/lib/apis/syncUpload.d.ts.map +1 -1
  35. package/lib/apis/syncUpload.js +30 -13
  36. package/lib/apis/syncUpload.js.map +1 -1
  37. package/lib/apis/unlinkPath.d.ts +1 -1
  38. package/lib/apis/unlinkPath.d.ts.map +1 -1
  39. package/lib/apis/unlinkPath.js.map +1 -1
  40. package/lib/apis/validatePackageOverride.d.ts +1 -1
  41. package/lib/apis/validatePackageOverride.d.ts.map +1 -1
  42. package/lib/apis/validatePackageOverride.js.map +1 -1
  43. package/lib/common/createApiContext.d.ts +3 -2
  44. package/lib/common/createApiContext.d.ts.map +1 -1
  45. package/lib/common/createApiContext.js +4 -8
  46. package/lib/common/createApiContext.js.map +1 -1
  47. package/lib/task-scheduler/TaskScheduler.d.ts +1 -1
  48. package/lib/task-scheduler/TaskScheduler.d.ts.map +1 -1
  49. package/lib/types/ApiParams.d.ts +9 -6
  50. package/lib/types/ApiParams.d.ts.map +1 -1
  51. package/lib/types/ApiParams.js.map +1 -1
  52. package/lib/types/Context.d.ts +10 -6
  53. package/lib/types/Context.d.ts.map +1 -1
  54. package/lib/types/Context.js.map +1 -1
  55. package/lib/utilities/addOverride.d.ts +2 -2
  56. package/lib/utilities/addOverride.d.ts.map +1 -1
  57. package/lib/utilities/addOverride.js.map +1 -1
  58. package/lib/utilities/createBundleTask.d.ts.map +1 -1
  59. package/lib/utilities/createBundleTask.js +2 -4
  60. package/lib/utilities/createBundleTask.js.map +1 -1
  61. package/lib/utilities/createRemoteCacheClient.d.ts +3 -3
  62. package/lib/utilities/createRemoteCacheClient.d.ts.map +1 -1
  63. package/lib/utilities/createRemoteCacheClient.js +3 -4
  64. package/lib/utilities/createRemoteCacheClient.js.map +1 -1
  65. package/lib/utilities/notifyReload.d.ts +2 -2
  66. package/lib/utilities/notifyReload.d.ts.map +1 -1
  67. package/lib/utilities/notifyReload.js.map +1 -1
  68. package/lib/utilities/validateOverride.d.ts +2 -2
  69. package/lib/utilities/validateOverride.d.ts.map +1 -1
  70. package/lib/utilities/validateOverride.js.map +1 -1
  71. package/package.json +12 -12
@@ -3,7 +3,7 @@ import type { ApiParams } from '../types/ApiParams.js';
3
3
  /**
4
4
  * Adds an override to the Cloudpack config.
5
5
  */
6
- export declare function addPackageOverride(params: ApiParams<OverrideOptions, 'bus' | 'taskRunner' | 'packages' | 'session' | 'packageHashes' | 'telemetryClient'>): Promise<boolean>;
6
+ export declare function addPackageOverride(params: ApiParams<OverrideOptions, 'bus' | 'packageHashes' | 'packages' | 'taskRunner' | 'telemetryClient', 'config' | 'incrementTargetVersion' | 'resolveMap' | 'sequence'>): Promise<boolean>;
7
7
  export declare namespace addPackageOverride {
8
8
  var procedure: import("@trpc/server").TRPCMutationProcedure<{
9
9
  input: OverrideOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"addPackageOverride.d.ts","sourceRoot":"","sources":["../../src/apis/addPackageOverride.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAWvD;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,SAAS,CACf,eAAe,EACf,KAAK,GAAG,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,eAAe,GAAG,iBAAiB,CACpF,GACA,OAAO,CAAC,OAAO,CAAC,CAqBlB;yBA1BqB,kBAAkB"}
1
+ {"version":3,"file":"addPackageOverride.d.ts","sourceRoot":"","sources":["../../src/apis/addPackageOverride.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAWvD;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,SAAS,CACf,eAAe,EACf,KAAK,GAAG,eAAe,GAAG,UAAU,GAAG,YAAY,GAAG,iBAAiB,EACvE,QAAQ,GAAG,wBAAwB,GAAG,YAAY,GAAG,UAAU,CAChE,GACA,OAAO,CAAC,OAAO,CAAC,CAqBlB;yBA3BqB,kBAAkB"}
@@ -1 +1 @@
1
- {"version":3,"file":"addPackageOverride.js","sourceRoot":"","sources":["../../src/apis/addPackageOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,MAAM,0BAA0B,GAAG,iBAAiB,CAAkB;IACpE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAGC;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAC9B,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC;IACnF,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjF,IAAI,KAAK,IAAI,aAAa,EAAE,CAAC;QAC3B,wFAAwF;QACxF,MAAM,aAAa,CAAC,GAAG,CAAC;YACtB,WAAW,EAAE,KAAK,CAAC,IAAI;YACvB,sBAAsB,EAAE,KAAK;YAC7B,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;QACH,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,gFAAgF;QAChF,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;YAC/C,uEAAuE;YACvE,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,YAAY,CAAC,EAAE,MAAM,EAAE,sBAAsB,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,kBAAkB,CAAC,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { publicProcedure } from '../trpc/common.js';\nimport { addOverride } from '../utilities/addOverride.js';\nimport { notifyReload } from '../utilities/notifyReload.js';\nimport type { OverrideOptions } from '../types/OverrideOptions.js';\nimport type { ApiParams } from '../types/ApiParams.js';\nimport { errorEntrySource } from '../data/busSources.js';\nimport { matchingZodObject } from '../utilities/matchingZodObject.js';\n\nconst ZodAddPackageOverrideInput = matchingZodObject<OverrideOptions>({\n packageName: z.string(),\n importPath: z.string(),\n version: z.string().optional(),\n issuerUrl: z.string().optional(),\n});\n\n/**\n * Adds an override to the Cloudpack config.\n */\nexport async function addPackageOverride(\n params: ApiParams<\n OverrideOptions,\n 'bus' | 'taskRunner' | 'packages' | 'session' | 'packageHashes' | 'telemetryClient'\n >,\n): Promise<boolean> {\n const { input, ctx } = params;\n const { session, bus, packages, taskRunner, packageHashes, telemetryClient } = ctx;\n const { addedOverride, entry } = await addOverride(input, { session, packages });\n if (entry && addedOverride) {\n // The import map hash needs to be recalculated to ensure that the client is up to date.\n await packageHashes.get({\n packagePath: entry.path,\n isSourceHashingEnabled: false,\n shouldRecalculate: true,\n });\n taskRunner.remove(entry.path);\n // Incrementing the target version will cause the import map to be recalculated.\n session.incrementTargetVersion(entry.path);\n if (session.config.features?.autoUpdateEntries) {\n // We can clear the error message now that the override has been added.\n bus.publish(errorEntrySource, '');\n }\n await notifyReload({ reason: 'add-package-override' }, { bus, session, telemetryClient });\n }\n return addedOverride;\n}\n\naddPackageOverride.procedure = publicProcedure.input(ZodAddPackageOverrideInput).mutation(addPackageOverride);\n"]}
1
+ {"version":3,"file":"addPackageOverride.js","sourceRoot":"","sources":["../../src/apis/addPackageOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,MAAM,0BAA0B,GAAG,iBAAiB,CAAkB;IACpE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAIC;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAC9B,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC;IACnF,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjF,IAAI,KAAK,IAAI,aAAa,EAAE,CAAC;QAC3B,wFAAwF;QACxF,MAAM,aAAa,CAAC,GAAG,CAAC;YACtB,WAAW,EAAE,KAAK,CAAC,IAAI;YACvB,sBAAsB,EAAE,KAAK;YAC7B,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;QACH,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,gFAAgF;QAChF,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;YAC/C,uEAAuE;YACvE,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,YAAY,CAAC,EAAE,MAAM,EAAE,sBAAsB,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,kBAAkB,CAAC,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { publicProcedure } from '../trpc/common.js';\nimport { addOverride } from '../utilities/addOverride.js';\nimport { notifyReload } from '../utilities/notifyReload.js';\nimport type { OverrideOptions } from '../types/OverrideOptions.js';\nimport type { ApiParams } from '../types/ApiParams.js';\nimport { errorEntrySource } from '../data/busSources.js';\nimport { matchingZodObject } from '../utilities/matchingZodObject.js';\n\nconst ZodAddPackageOverrideInput = matchingZodObject<OverrideOptions>({\n packageName: z.string(),\n importPath: z.string(),\n version: z.string().optional(),\n issuerUrl: z.string().optional(),\n});\n\n/**\n * Adds an override to the Cloudpack config.\n */\nexport async function addPackageOverride(\n params: ApiParams<\n OverrideOptions,\n 'bus' | 'packageHashes' | 'packages' | 'taskRunner' | 'telemetryClient',\n 'config' | 'incrementTargetVersion' | 'resolveMap' | 'sequence'\n >,\n): Promise<boolean> {\n const { input, ctx } = params;\n const { session, bus, packages, taskRunner, packageHashes, telemetryClient } = ctx;\n const { addedOverride, entry } = await addOverride(input, { session, packages });\n if (entry && addedOverride) {\n // The import map hash needs to be recalculated to ensure that the client is up to date.\n await packageHashes.get({\n packagePath: entry.path,\n isSourceHashingEnabled: false,\n shouldRecalculate: true,\n });\n taskRunner.remove(entry.path);\n // Incrementing the target version will cause the import map to be recalculated.\n session.incrementTargetVersion(entry.path);\n if (session.config.features?.autoUpdateEntries) {\n // We can clear the error message now that the override has been added.\n bus.publish(errorEntrySource, '');\n }\n await notifyReload({ reason: 'add-package-override' }, { bus, session, telemetryClient });\n }\n return addedOverride;\n}\n\naddPackageOverride.procedure = publicProcedure.input(ZodAddPackageOverrideInput).mutation(addPackageOverride);\n"]}
@@ -60,13 +60,13 @@ export interface EnsurePackageBundledOutput {
60
60
  /** Results of bundling dependencies */
61
61
  dependencies: Promise<EnsurePackageBundledResult[]>;
62
62
  }
63
+ /**
64
+ * Context for `ensurePackageBundled`. `bus` and `watcher` are only needed if `shouldWatch` is true.
65
+ */
63
66
  export type EnsurePackageBundledContext = WithOptional<Context, 'bus' | 'watcher'>;
64
67
  /**
65
68
  * Checks if the package is bundled or needs bundling, and returns the result.
66
69
  * For internal packages, we also notify the watcher to monitor for code changes.
67
70
  */
68
- export declare function ensurePackageBundled(params: {
69
- input: EnsurePackageBundledInput;
70
- ctx: EnsurePackageBundledContext;
71
- }): Promise<EnsurePackageBundledOutput>;
71
+ export declare function ensurePackageBundled(input: EnsurePackageBundledInput, ctx: EnsurePackageBundledContext): Promise<EnsurePackageBundledOutput>;
72
72
  //# sourceMappingURL=ensurePackageBundled.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ensurePackageBundled.d.ts","sourceRoot":"","sources":["../../src/apis/ensurePackageBundled.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAElF;;GAEG;AACH,MAAM,WAAW,yBACf,SAAQ,IAAI,CAAC,aAAa,EAAE,YAAY,GAAG,SAAS,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;IACnG,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,sDAAsD;IACtD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wCAAwC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mCAAmC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kCAAkC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wFAAwF;IACxF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,0BACf,SAAQ,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,CAAC;IACvG,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,2FAA2F;IAC3F,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,sCAAsC;IACtC,MAAM,EAAE,0BAA0B,CAAC;IACnC,uCAAuC;IACvC,YAAY,EAAE,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAAC;CACrD;AAED,MAAM,MAAM,2BAA2B,GAAG,YAAY,CAAC,OAAO,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC;AAEnF;;;GAGG;AAEH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IACjD,KAAK,EAAE,yBAAyB,CAAC;IACjC,GAAG,EAAE,2BAA2B,CAAC;CAClC,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAyDtC"}
1
+ {"version":3,"file":"ensurePackageBundled.d.ts","sourceRoot":"","sources":["../../src/apis/ensurePackageBundled.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAElF;;GAEG;AACH,MAAM,WAAW,yBACf,SAAQ,IAAI,CAAC,aAAa,EAAE,YAAY,GAAG,SAAS,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;IACnG,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,sDAAsD;IACtD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wCAAwC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mCAAmC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kCAAkC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wFAAwF;IACxF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,0BACf,SAAQ,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,CAAC;IACvG,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,2FAA2F;IAC3F,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,sCAAsC;IACtC,MAAM,EAAE,0BAA0B,CAAC;IACnC,uCAAuC;IACvC,YAAY,EAAE,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,YAAY,CAAC,OAAO,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC;AAEnF;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,yBAAyB,EAChC,GAAG,EAAE,2BAA2B,GAC/B,OAAO,CAAC,0BAA0B,CAAC,CAoDrC"}
@@ -6,16 +6,14 @@ import { getConsumedDependencies } from '../utilities/getConsumedDependencies.js
6
6
  * Checks if the package is bundled or needs bundling, and returns the result.
7
7
  * For internal packages, we also notify the watcher to monitor for code changes.
8
8
  */
9
- // This is not actually a tRPC API, but it follows the same signature for now.
10
- export async function ensurePackageBundled(params) {
11
- const { input, ctx } = params;
9
+ export async function ensurePackageBundled(input, ctx) {
12
10
  const results = [];
13
11
  const visited = new Set();
14
12
  // Bundle the package itself
15
13
  let result;
16
14
  let mainDependencies;
17
15
  try {
18
- ({ result, dependencyInputs: mainDependencies } = await ensurePackageBundledInternal({ input, ctx, visited }));
16
+ ({ result, dependencyInputs: mainDependencies } = await ensurePackageBundledInternal({ ...input, visited }, ctx));
19
17
  }
20
18
  catch (err) {
21
19
  return {
@@ -31,11 +29,7 @@ export async function ensurePackageBundled(params) {
31
29
  const enqueue = (dependencyInputs) => {
32
30
  for (const dependencyInput of dependencyInputs) {
33
31
  pending++;
34
- void ensurePackageBundledInternal({
35
- input: dependencyInput,
36
- ctx,
37
- visited,
38
- })
32
+ void ensurePackageBundledInternal({ ...dependencyInput, visited }, ctx)
39
33
  .then((dependencyBundleResult) => {
40
34
  // Save result and enqueue this dep's deps
41
35
  results.push(dependencyBundleResult.result);
@@ -61,13 +55,10 @@ export async function ensurePackageBundled(params) {
61
55
  dependencies,
62
56
  };
63
57
  }
64
- async function ensurePackageBundledInternal(params) {
65
- const { input, ctx, visited } = params;
66
- const { name, version, shouldWatch, disableSourceMaps, outputPath, shouldGetBundleInfo, shouldRerun, shouldForce, disableCache, isIncremental, useHashAsId, priority, targetEnvironment = 'browser', } = input;
58
+ async function ensurePackageBundledInternal(params, ctx) {
67
59
  const { taskRunner, session, watcher, packageHashes, bus, telemetryClient } = ctx;
68
60
  const { resolveMap, config } = session;
69
- const { features } = config;
70
- const enqueueDependencies = input.enqueueDependencies ?? features?.enqueueDependencies;
61
+ const { name, version, shouldWatch, disableSourceMaps = config.features?.disableSourceMaps, enqueueDependencies = config.features?.enqueueDependencies, outputPath, shouldGetBundleInfo, shouldRerun, shouldForce, disableCache, isIncremental, useHashAsId, priority, targetEnvironment = 'browser', visited, } = params;
71
62
  const dependencyInputs = [];
72
63
  visited.add(`${name}@${version}`);
73
64
  // First, we find the resolve map entry. This helps us resolve the physical location of the package
@@ -107,7 +98,7 @@ async function ensurePackageBundledInternal(params) {
107
98
  isIncremental,
108
99
  outputPath,
109
100
  version,
110
- disableSourceMaps: disableSourceMaps ?? features?.disableSourceMaps,
101
+ disableSourceMaps,
111
102
  shouldGetBundleInfo: shouldGetBundleInfo || enqueueDependencies,
112
103
  disableCache,
113
104
  mode: config.mode,
@@ -1 +1 @@
1
- {"version":3,"file":"ensurePackageBundled.js","sourceRoot":"","sources":["../../src/apis/ensurePackageBundled.ts"],"names":[],"mappings":"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","sourcesContent":["import { findResolveMapEntry } from '@ms-cloudpack/package-utilities';\nimport { notifyReload } from '../utilities/notifyReload.js';\nimport type { BundleRequest } from '../types/BundleRequest.js';\nimport { createBundleTask } from '../utilities/createBundleTask.js';\nimport type { Context } from '../types/Context.js';\nimport type { WatchOptions } from '@ms-cloudpack/file-watcher';\nimport { getConsumedDependencies } from '../utilities/getConsumedDependencies.js';\nimport type { TargetEnvironment, WithOptional } from '@ms-cloudpack/common-types';\n\n/**\n * Input for `ensurePackageBundled`.\n */\nexport interface EnsurePackageBundledInput\n extends Pick<BundleRequest, 'outputPath' | 'version' | 'disableSourceMaps' | 'shouldGetBundleInfo'> {\n /** Package name */\n name: string;\n /**\n * Target environment for the bundle.\n * @default 'browser'\n */\n targetEnvironment?: TargetEnvironment;\n /** Whether to also ensure dependencies are bundled */\n enqueueDependencies?: boolean;\n /** Whether to re-run the bundle task */\n shouldRerun?: boolean;\n /**\n * Whether to watch for changes (internal packages only).\n * NOTE: requires `ctx.bus` and `ctx.watcher` to be set.\n */\n shouldWatch?: boolean;\n /** Whether to force re-bundling */\n shouldForce?: boolean;\n /** Whether to disable caching. */\n disableCache?: boolean;\n /** Whether to support incremental rebuilds. Defaults to true for internal libraries. */\n isIncremental?: boolean;\n /**\n * Whether to use a hash as the bundle id instead of the path.\n * Reduces performance when used with shouldForce as it hashes twice,\n * but eliminates task cache artifacts when handling many apps.\n */\n useHashAsId?: boolean;\n /** Priority for bundling. Greater priority will be scheduled first (defaults to 0). */\n priority?: number;\n}\n\n/**\n * Result of ensuring a single package is bundled.\n */\nexport interface EnsurePackageBundledResult\n extends Omit<NonNullable<BundleRequest['result']>, 'rebuild' | 'dispose' | 'bundlerName' | 'inputPath'> {\n /** Package name */\n name: string;\n /** Package version */\n version: string;\n /** Package dependency names (prod and peer) */\n dependencies?: string[];\n /** Whether the package is external (not defined in this repo). Unset if it's not found. */\n isExternal?: boolean;\n /** Absolute path of the package. Will be unset if the package couldn't be found. */\n inputPath?: string;\n}\n\n/**\n * Complete output for `ensurePackageBundled`.\n */\nexport interface EnsurePackageBundledOutput {\n /** Result of bundling this package */\n result: EnsurePackageBundledResult;\n /** Results of bundling dependencies */\n dependencies: Promise<EnsurePackageBundledResult[]>;\n}\n\nexport type EnsurePackageBundledContext = WithOptional<Context, 'bus' | 'watcher'>;\n\n/**\n * Checks if the package is bundled or needs bundling, and returns the result.\n * For internal packages, we also notify the watcher to monitor for code changes.\n */\n// This is not actually a tRPC API, but it follows the same signature for now.\nexport async function ensurePackageBundled(params: {\n input: EnsurePackageBundledInput;\n ctx: EnsurePackageBundledContext;\n}): Promise<EnsurePackageBundledOutput> {\n const { input, ctx } = params;\n const results: EnsurePackageBundledResult[] = [];\n const visited = new Set<`${string}@${string}`>();\n\n // Bundle the package itself\n let result: EnsurePackageBundledResult;\n let mainDependencies: EnsurePackageBundledInput[];\n try {\n ({ result, dependencyInputs: mainDependencies } = await ensurePackageBundledInternal({ input, ctx, visited }));\n } catch (err) {\n return {\n result: getErrorResult(input, err),\n dependencies: Promise.resolve([]),\n };\n }\n\n // Enqueue main dependencies\n // TODO: should processing this queue have a rate limit? right now if enqueueDependencies is enabled,\n // `await dependencies` will fire off all deps at once.\n let pending = 0;\n const dependencies = new Promise<EnsurePackageBundledResult[]>((resolve) => {\n const enqueue = (dependencyInputs: EnsurePackageBundledInput[]) => {\n for (const dependencyInput of dependencyInputs) {\n pending++;\n\n void ensurePackageBundledInternal({\n input: dependencyInput,\n ctx,\n visited,\n })\n .then((dependencyBundleResult) => {\n // Save result and enqueue this dep's deps\n results.push(dependencyBundleResult.result);\n enqueue(dependencyBundleResult.dependencyInputs);\n })\n .catch((err) => {\n // If there's an error (most likely that the dependency wasn't found in the resolve map),\n // save it in a result instead of throwing. This generally gives better logging.\n results.push(getErrorResult(dependencyInput, err));\n })\n .then(() => {\n pending--;\n if (!pending) {\n resolve(results);\n }\n });\n }\n };\n\n enqueue(mainDependencies);\n });\n\n return {\n result,\n dependencies,\n };\n}\n\nasync function ensurePackageBundledInternal(\n params: Parameters<typeof ensurePackageBundled>[0] & {\n visited: Set<`${string}@${string}`>;\n },\n): Promise<{ result: EnsurePackageBundledResult; dependencyInputs: EnsurePackageBundledInput[] }> {\n const { input, ctx, visited } = params;\n const {\n name,\n version,\n shouldWatch,\n disableSourceMaps,\n outputPath,\n shouldGetBundleInfo,\n shouldRerun,\n shouldForce,\n disableCache,\n isIncremental,\n useHashAsId,\n priority,\n targetEnvironment = 'browser',\n } = input;\n const { taskRunner, session, watcher, packageHashes, bus, telemetryClient } = ctx;\n const { resolveMap, config } = session;\n const { features } = config;\n const enqueueDependencies = input.enqueueDependencies ?? features?.enqueueDependencies;\n const dependencyInputs: EnsurePackageBundledInput[] = [];\n\n visited.add(`${name}@${version}`);\n\n // First, we find the resolve map entry. This helps us resolve the physical location of the package\n // according to the resolveMap used in the session. (This can change based on linking.)\n const packageEntry = findResolveMapEntry({ packageName: name, version, resolveMap });\n\n if (!packageEntry) {\n throw new Error(`Could not find package ${name} in the resolve map.`);\n }\n\n const isExternal = !!packageEntry.isExternal;\n\n let hash: string | undefined = undefined;\n let sourceHash: string | undefined = undefined;\n\n if (useHashAsId) {\n // If we are using the hash as the task id, we need to calculate it once and pass it to the task\n // to prevent a race condition in which we get a different hash than the one used in the task id.\n hash = await packageHashes.get({\n packagePath: packageEntry.path,\n isSourceHashingEnabled: false,\n shouldRecalculate: true,\n });\n\n if (!packageEntry.isExternal) {\n // We only need the source hash for internal packages for cache validation.\n sourceHash = await packageHashes.get({\n packagePath: packageEntry.path,\n isSourceHashingEnabled: true,\n shouldRecalculate: true,\n });\n }\n }\n\n const bundleRequest: BundleRequest = {\n // TODO: David had this as follows--think about what it should be\n // id: hash ?? `${packageEntry.path}--env:${targetEnvironment}`,\n id: (useHashAsId && hash) || packageEntry.path,\n packagePath: packageEntry.path,\n packageName: name,\n targetEnvironment,\n isExternal,\n isIncremental,\n outputPath,\n version,\n disableSourceMaps: disableSourceMaps ?? features?.disableSourceMaps,\n shouldGetBundleInfo: shouldGetBundleInfo || enqueueDependencies,\n disableCache,\n mode: config.mode,\n };\n\n // Make priority negative to have retry count set to positive values.\n const retryCount = priority ? -1 * priority : undefined;\n\n const task = createBundleTask({ bundleRequest, force: shouldForce, hash, sourceHash, retryCount }, ctx);\n\n // TODO: Add lage scheduling back.\n const { result } = await taskRunner.add<BundleRequest>(task, { rerun: shouldRerun, priority });\n\n if (!result) {\n throw new Error('Bundle failed, no result');\n }\n\n // For internal packages, make sure we're watching the source to re-trigger bundling.\n if (shouldWatch && !isExternal) {\n if (!bus || !watcher) {\n throw new Error('bus and watcher must be provided in context if shouldWatch is true (this is a bug).');\n }\n\n const definition = await ctx.packages.get(packageEntry.path);\n const watchOptions: WatchOptions = {\n id: bundleRequest.id,\n path: packageEntry.path,\n watchPaths: definition.cloudpack?.inputPaths,\n };\n\n const onPackageChange = async () => {\n const watchedResult = await taskRunner.add<BundleRequest>(task, { rerun: true });\n\n // If the result was successful, notify potential clients for reload.\n if (watchedResult.result?.errors?.length === 0) {\n await notifyReload({ reason: 'on-package-change' }, { bus, session, telemetryClient });\n }\n };\n watcher.watch(watchOptions, () => {\n void onPackageChange();\n });\n }\n\n // If enabled, enqueue dependencies.\n if (enqueueDependencies && result.info) {\n for (const dependencyName of getConsumedDependencies(result.info)) {\n const dependencyVersion = packageEntry.dependencies[dependencyName];\n\n // If we've already visited this package from another package, skip it.\n if (visited.has(`${dependencyName}@${dependencyVersion}`)) {\n continue;\n }\n\n dependencyInputs.push({\n name: dependencyName,\n version: dependencyVersion,\n shouldWatch,\n enqueueDependencies,\n });\n }\n }\n\n return {\n result: {\n version,\n name,\n isExternal,\n ...result,\n },\n dependencyInputs,\n };\n}\n\nfunction getErrorResult(input: EnsurePackageBundledInput, error: unknown): EnsurePackageBundledResult {\n const text = `Error thrown while bundling: ${error instanceof Error ? error.stack || error.message : error}`;\n return {\n name: input.name,\n version: input.version,\n errors: [{ text, source: 'ensurePackageBundled' }],\n };\n}\n\n// This function doesn't have an attached procedure because it's never called via the TRPC server.\n"]}
1
+ {"version":3,"file":"ensurePackageBundled.js","sourceRoot":"","sources":["../../src/apis/ensurePackageBundled.ts"],"names":[],"mappings":"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","sourcesContent":["import { findResolveMapEntry } from '@ms-cloudpack/package-utilities';\nimport { notifyReload } from '../utilities/notifyReload.js';\nimport type { BundleRequest } from '../types/BundleRequest.js';\nimport { createBundleTask } from '../utilities/createBundleTask.js';\nimport type { Context } from '../types/Context.js';\nimport type { WatchOptions } from '@ms-cloudpack/file-watcher';\nimport { getConsumedDependencies } from '../utilities/getConsumedDependencies.js';\nimport type { TargetEnvironment, WithOptional } from '@ms-cloudpack/common-types';\n\n/**\n * Input for `ensurePackageBundled`.\n */\nexport interface EnsurePackageBundledInput\n extends Pick<BundleRequest, 'outputPath' | 'version' | 'disableSourceMaps' | 'shouldGetBundleInfo'> {\n /** Package name */\n name: string;\n /**\n * Target environment for the bundle.\n * @default 'browser'\n */\n targetEnvironment?: TargetEnvironment;\n /** Whether to also ensure dependencies are bundled */\n enqueueDependencies?: boolean;\n /** Whether to re-run the bundle task */\n shouldRerun?: boolean;\n /**\n * Whether to watch for changes (internal packages only).\n * NOTE: requires `ctx.bus` and `ctx.watcher` to be set.\n */\n shouldWatch?: boolean;\n /** Whether to force re-bundling */\n shouldForce?: boolean;\n /** Whether to disable caching. */\n disableCache?: boolean;\n /** Whether to support incremental rebuilds. Defaults to true for internal libraries. */\n isIncremental?: boolean;\n /**\n * Whether to use a hash as the bundle id instead of the path.\n * Reduces performance when used with shouldForce as it hashes twice,\n * but eliminates task cache artifacts when handling many apps.\n */\n useHashAsId?: boolean;\n /** Priority for bundling. Greater priority will be scheduled first (defaults to 0). */\n priority?: number;\n}\n\n/**\n * Result of ensuring a single package is bundled.\n */\nexport interface EnsurePackageBundledResult\n extends Omit<NonNullable<BundleRequest['result']>, 'rebuild' | 'dispose' | 'bundlerName' | 'inputPath'> {\n /** Package name */\n name: string;\n /** Package version */\n version: string;\n /** Package dependency names (prod and peer) */\n dependencies?: string[];\n /** Whether the package is external (not defined in this repo). Unset if it's not found. */\n isExternal?: boolean;\n /** Absolute path of the package. Will be unset if the package couldn't be found. */\n inputPath?: string;\n}\n\n/**\n * Complete output for `ensurePackageBundled`.\n */\nexport interface EnsurePackageBundledOutput {\n /** Result of bundling this package */\n result: EnsurePackageBundledResult;\n /** Results of bundling dependencies */\n dependencies: Promise<EnsurePackageBundledResult[]>;\n}\n\n/**\n * Context for `ensurePackageBundled`. `bus` and `watcher` are only needed if `shouldWatch` is true.\n */\nexport type EnsurePackageBundledContext = WithOptional<Context, 'bus' | 'watcher'>;\n\n/**\n * Checks if the package is bundled or needs bundling, and returns the result.\n * For internal packages, we also notify the watcher to monitor for code changes.\n */\nexport async function ensurePackageBundled(\n input: EnsurePackageBundledInput,\n ctx: EnsurePackageBundledContext,\n): Promise<EnsurePackageBundledOutput> {\n const results: EnsurePackageBundledResult[] = [];\n const visited = new Set<`${string}@${string}`>();\n\n // Bundle the package itself\n let result: EnsurePackageBundledResult;\n let mainDependencies: EnsurePackageBundledInput[];\n try {\n ({ result, dependencyInputs: mainDependencies } = await ensurePackageBundledInternal({ ...input, visited }, ctx));\n } catch (err) {\n return {\n result: getErrorResult(input, err),\n dependencies: Promise.resolve([]),\n };\n }\n\n // Enqueue main dependencies\n // TODO: should processing this queue have a rate limit? right now if enqueueDependencies is enabled,\n // `await dependencies` will fire off all deps at once.\n let pending = 0;\n const dependencies = new Promise<EnsurePackageBundledResult[]>((resolve) => {\n const enqueue = (dependencyInputs: EnsurePackageBundledInput[]) => {\n for (const dependencyInput of dependencyInputs) {\n pending++;\n\n void ensurePackageBundledInternal({ ...dependencyInput, visited }, ctx)\n .then((dependencyBundleResult) => {\n // Save result and enqueue this dep's deps\n results.push(dependencyBundleResult.result);\n enqueue(dependencyBundleResult.dependencyInputs);\n })\n .catch((err) => {\n // If there's an error (most likely that the dependency wasn't found in the resolve map),\n // save it in a result instead of throwing. This generally gives better logging.\n results.push(getErrorResult(dependencyInput, err));\n })\n .then(() => {\n pending--;\n if (!pending) {\n resolve(results);\n }\n });\n }\n };\n\n enqueue(mainDependencies);\n });\n\n return {\n result,\n dependencies,\n };\n}\n\nasync function ensurePackageBundledInternal(\n params: EnsurePackageBundledInput & {\n visited: Set<`${string}@${string}`>;\n },\n ctx: EnsurePackageBundledContext,\n): Promise<{ result: EnsurePackageBundledResult; dependencyInputs: EnsurePackageBundledInput[] }> {\n const { taskRunner, session, watcher, packageHashes, bus, telemetryClient } = ctx;\n const { resolveMap, config } = session;\n const {\n name,\n version,\n shouldWatch,\n disableSourceMaps = config.features?.disableSourceMaps,\n enqueueDependencies = config.features?.enqueueDependencies,\n outputPath,\n shouldGetBundleInfo,\n shouldRerun,\n shouldForce,\n disableCache,\n isIncremental,\n useHashAsId,\n priority,\n targetEnvironment = 'browser',\n visited,\n } = params;\n\n const dependencyInputs: EnsurePackageBundledInput[] = [];\n\n visited.add(`${name}@${version}`);\n\n // First, we find the resolve map entry. This helps us resolve the physical location of the package\n // according to the resolveMap used in the session. (This can change based on linking.)\n const packageEntry = findResolveMapEntry({ packageName: name, version, resolveMap });\n\n if (!packageEntry) {\n throw new Error(`Could not find package ${name} in the resolve map.`);\n }\n\n const isExternal = !!packageEntry.isExternal;\n\n let hash: string | undefined = undefined;\n let sourceHash: string | undefined = undefined;\n\n if (useHashAsId) {\n // If we are using the hash as the task id, we need to calculate it once and pass it to the task\n // to prevent a race condition in which we get a different hash than the one used in the task id.\n hash = await packageHashes.get({\n packagePath: packageEntry.path,\n isSourceHashingEnabled: false,\n shouldRecalculate: true,\n });\n\n if (!packageEntry.isExternal) {\n // We only need the source hash for internal packages for cache validation.\n sourceHash = await packageHashes.get({\n packagePath: packageEntry.path,\n isSourceHashingEnabled: true,\n shouldRecalculate: true,\n });\n }\n }\n\n const bundleRequest: BundleRequest = {\n // TODO: David had this as follows--think about what it should be\n // id: hash ?? `${packageEntry.path}--env:${targetEnvironment}`,\n id: (useHashAsId && hash) || packageEntry.path,\n packagePath: packageEntry.path,\n packageName: name,\n targetEnvironment,\n isExternal,\n isIncremental,\n outputPath,\n version,\n disableSourceMaps,\n shouldGetBundleInfo: shouldGetBundleInfo || enqueueDependencies,\n disableCache,\n mode: config.mode,\n };\n\n // Make priority negative to have retry count set to positive values.\n const retryCount = priority ? -1 * priority : undefined;\n\n const task = createBundleTask({ bundleRequest, force: shouldForce, hash, sourceHash, retryCount }, ctx);\n\n // TODO: Add lage scheduling back.\n const { result } = await taskRunner.add<BundleRequest>(task, { rerun: shouldRerun, priority });\n\n if (!result) {\n throw new Error('Bundle failed, no result');\n }\n\n // For internal packages, make sure we're watching the source to re-trigger bundling.\n if (shouldWatch && !isExternal) {\n if (!bus || !watcher) {\n throw new Error('bus and watcher must be provided in context if shouldWatch is true (this is a bug).');\n }\n\n const definition = await ctx.packages.get(packageEntry.path);\n const watchOptions: WatchOptions = {\n id: bundleRequest.id,\n path: packageEntry.path,\n watchPaths: definition.cloudpack?.inputPaths,\n };\n\n const onPackageChange = async () => {\n const watchedResult = await taskRunner.add<BundleRequest>(task, { rerun: true });\n\n // If the result was successful, notify potential clients for reload.\n if (watchedResult.result?.errors?.length === 0) {\n await notifyReload({ reason: 'on-package-change' }, { bus, session, telemetryClient });\n }\n };\n watcher.watch(watchOptions, () => {\n void onPackageChange();\n });\n }\n\n // If enabled, enqueue dependencies.\n if (enqueueDependencies && result.info) {\n for (const dependencyName of getConsumedDependencies(result.info)) {\n const dependencyVersion = packageEntry.dependencies[dependencyName];\n\n // If we've already visited this package from another package, skip it.\n if (visited.has(`${dependencyName}@${dependencyVersion}`)) {\n continue;\n }\n\n dependencyInputs.push({\n name: dependencyName,\n version: dependencyVersion,\n shouldWatch,\n enqueueDependencies,\n });\n }\n }\n\n return {\n result: {\n version,\n name,\n isExternal,\n ...result,\n },\n dependencyInputs,\n };\n}\n\nfunction getErrorResult(input: EnsurePackageBundledInput, error: unknown): EnsurePackageBundledResult {\n const text = `Error thrown while bundling: ${error instanceof Error ? error.stack || error.message : error}`;\n return {\n name: input.name,\n version: input.version,\n errors: [{ text, source: 'ensurePackageBundled' }],\n };\n}\n\n// This function doesn't have an attached procedure because it's never called via the TRPC server.\n"]}
@@ -2,7 +2,7 @@ import { z } from 'zod';
2
2
  import type { ApiParams } from '../types/ApiParams.js';
3
3
  declare const ZodGetSessionIdOutput: z.ZodUnion<[z.ZodString, z.ZodUndefined]>;
4
4
  type GetSessionIdOutput = z.infer<typeof ZodGetSessionIdOutput>;
5
- export declare function getSessionId(params: ApiParams<void, 'session'>): GetSessionIdOutput;
5
+ export declare function getSessionId(params: ApiParams<void, 'session', 'id'>): GetSessionIdOutput;
6
6
  export declare namespace getSessionId {
7
7
  var procedure: import("@trpc/server").TRPCQueryProcedure<{
8
8
  input: void;
@@ -1 +1 @@
1
- {"version":3,"file":"getSessionId.d.ts","sourceRoot":"","sources":["../../src/apis/getSessionId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,QAAA,MAAM,qBAAqB,2CAA+B,CAAC;AAC3D,KAAK,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEhE,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,kBAAkB,CAEnF;yBAFe,YAAY"}
1
+ {"version":3,"file":"getSessionId.d.ts","sourceRoot":"","sources":["../../src/apis/getSessionId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,QAAA,MAAM,qBAAqB,2CAA+B,CAAC;AAC3D,KAAK,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEhE,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,kBAAkB,CAEzF;yBAFe,YAAY"}
@@ -1 +1 @@
1
- {"version":3,"file":"getSessionId.js","sourceRoot":"","sources":["../../src/apis/getSessionId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;AAG3D,MAAM,UAAU,YAAY,CAAC,MAAkC;IAC7D,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;AAChC,CAAC;AAED,2CAA2C;AAC3C,YAAY,CAAC,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { publicProcedure } from '../trpc/common.js';\nimport type { ApiParams } from '../types/ApiParams.js';\n\nconst ZodGetSessionIdOutput = z.string().or(z.undefined());\ntype GetSessionIdOutput = z.infer<typeof ZodGetSessionIdOutput>;\n\nexport function getSessionId(params: ApiParams<void, 'session'>): GetSessionIdOutput {\n return params.ctx.session?.id;\n}\n\n// Attach a trpc procedure to the function.\ngetSessionId.procedure = publicProcedure.output(ZodGetSessionIdOutput).query(getSessionId);\n"]}
1
+ {"version":3,"file":"getSessionId.js","sourceRoot":"","sources":["../../src/apis/getSessionId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;AAG3D,MAAM,UAAU,YAAY,CAAC,MAAwC;IACnE,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;AAChC,CAAC;AAED,2CAA2C;AAC3C,YAAY,CAAC,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { publicProcedure } from '../trpc/common.js';\nimport type { ApiParams } from '../types/ApiParams.js';\n\nconst ZodGetSessionIdOutput = z.string().or(z.undefined());\ntype GetSessionIdOutput = z.infer<typeof ZodGetSessionIdOutput>;\n\nexport function getSessionId(params: ApiParams<void, 'session', 'id'>): GetSessionIdOutput {\n return params.ctx.session?.id;\n}\n\n// Attach a trpc procedure to the function.\ngetSessionId.procedure = publicProcedure.output(ZodGetSessionIdOutput).query(getSessionId);\n"]}
@@ -3,7 +3,7 @@ import { type LinkPathInput, type LinkPathOutput } from '../types/LinkPath.js';
3
3
  /**
4
4
  * Links a path to the session.
5
5
  */
6
- export declare function linkPath(params: ApiParams<LinkPathInput, 'session' | 'reporter' | 'bus' | 'telemetryClient'>): Promise<LinkPathOutput>;
6
+ export declare function linkPath(params: ApiParams<LinkPathInput, 'bus' | 'reporter' | 'telemetryClient', 'addLinkedPath' | 'incrementSessionVersion' | 'linkedPaths' | 'projectName' | 'resolveMap' | 'sequence'>): Promise<LinkPathOutput>;
7
7
  export declare namespace linkPath {
8
8
  var procedure: import("@trpc/server").TRPCQueryProcedure<{
9
9
  input: {
@@ -1 +1 @@
1
- {"version":3,"file":"linkPath.d.ts","sourceRoot":"","sources":["../../src/apis/linkPath.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAuC,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGpH;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,SAAS,CAAC,aAAa,EAAE,SAAS,GAAG,UAAU,GAAG,KAAK,GAAG,iBAAiB,CAAC,GACnF,OAAO,CAAC,cAAc,CAAC,CAmBzB;yBArBqB,QAAQ"}
1
+ {"version":3,"file":"linkPath.d.ts","sourceRoot":"","sources":["../../src/apis/linkPath.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAuC,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGpH;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,SAAS,CACf,aAAa,EACb,KAAK,GAAG,UAAU,GAAG,iBAAiB,EACtC,eAAe,GAAG,yBAAyB,GAAG,aAAa,GAAG,aAAa,GAAG,YAAY,GAAG,UAAU,CACxG,GACA,OAAO,CAAC,cAAc,CAAC,CAmBzB;yBAzBqB,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"linkPath.js","sourceRoot":"","sources":["../../src/apis/linkPath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAA2C,MAAM,sBAAsB,CAAC;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAoF;IAEpF,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAC9B,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAC7B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC;IAExD,IAAI,MAAM,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;IAClF,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,oBAAoB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACzE,IAAI,CAAC;QACH,MAAM,eAAe,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;YACnE,8BAA8B;YAC9B,MAAM,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACjD,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChF,OAAO,CAAC,uBAAuB,EAAE,CAAC;YAClC,MAAM,YAAY,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,QAAQ,CAAC,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC","sourcesContent":["import { publicProcedure } from '../trpc/common.js';\nimport type { ApiParams } from '../types/ApiParams.js';\nimport { ZodLinkPathInput, ZodLinkPathOutput, type LinkPathInput, type LinkPathOutput } from '../types/LinkPath.js';\nimport { notifyReload } from '../utilities/notifyReload.js';\n\n/**\n * Links a path to the session.\n */\nexport async function linkPath(\n params: ApiParams<LinkPathInput, 'session' | 'reporter' | 'bus' | 'telemetryClient'>,\n): Promise<LinkPathOutput> {\n const { input, ctx } = params;\n const { linkedPath } = input;\n const { session, reporter, bus, telemetryClient } = ctx;\n\n let result = { resolveMap: session.resolveMap, linkedPaths: session.linkedPaths };\n const task = reporter.addTask(`Linking paths in ${session.projectName}`);\n try {\n await telemetryClient.tracer.startActiveSpan('LINK_PATH', async () => {\n // Add linked paths to session\n result = await session.addLinkedPath(linkedPath);\n task.complete({ status: 'complete', message: `Linked paths`, forceShow: true });\n session.incrementSessionVersion();\n await notifyReload({ reason: 'link-path' }, { bus, session, telemetryClient });\n });\n } catch (e) {\n task.complete({ status: 'fail', message: `Failed to link paths`, forceShow: true });\n }\n return result;\n}\n\nlinkPath.procedure = publicProcedure.input(ZodLinkPathInput).output(ZodLinkPathOutput).query(linkPath);\n"]}
1
+ {"version":3,"file":"linkPath.js","sourceRoot":"","sources":["../../src/apis/linkPath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAA2C,MAAM,sBAAsB,CAAC;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAIC;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAC9B,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAC7B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC;IAExD,IAAI,MAAM,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;IAClF,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,oBAAoB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACzE,IAAI,CAAC;QACH,MAAM,eAAe,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;YACnE,8BAA8B;YAC9B,MAAM,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACjD,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChF,OAAO,CAAC,uBAAuB,EAAE,CAAC;YAClC,MAAM,YAAY,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,QAAQ,CAAC,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC","sourcesContent":["import { publicProcedure } from '../trpc/common.js';\nimport type { ApiParams } from '../types/ApiParams.js';\nimport { ZodLinkPathInput, ZodLinkPathOutput, type LinkPathInput, type LinkPathOutput } from '../types/LinkPath.js';\nimport { notifyReload } from '../utilities/notifyReload.js';\n\n/**\n * Links a path to the session.\n */\nexport async function linkPath(\n params: ApiParams<\n LinkPathInput,\n 'bus' | 'reporter' | 'telemetryClient',\n 'addLinkedPath' | 'incrementSessionVersion' | 'linkedPaths' | 'projectName' | 'resolveMap' | 'sequence'\n >,\n): Promise<LinkPathOutput> {\n const { input, ctx } = params;\n const { linkedPath } = input;\n const { session, reporter, bus, telemetryClient } = ctx;\n\n let result = { resolveMap: session.resolveMap, linkedPaths: session.linkedPaths };\n const task = reporter.addTask(`Linking paths in ${session.projectName}`);\n try {\n await telemetryClient.tracer.startActiveSpan('LINK_PATH', async () => {\n // Add linked paths to session\n result = await session.addLinkedPath(linkedPath);\n task.complete({ status: 'complete', message: `Linked paths`, forceShow: true });\n session.incrementSessionVersion();\n await notifyReload({ reason: 'link-path' }, { bus, session, telemetryClient });\n });\n } catch (e) {\n task.complete({ status: 'fail', message: `Failed to link paths`, forceShow: true });\n }\n return result;\n}\n\nlinkPath.procedure = publicProcedure.input(ZodLinkPathInput).output(ZodLinkPathOutput).query(linkPath);\n"]}
@@ -1,5 +1,5 @@
1
1
  import type { ApiParams } from '../types/ApiParams.js';
2
- export declare function openConfigEditor(params: ApiParams<void, 'session'>): Promise<void>;
2
+ export declare function openConfigEditor(params: ApiParams<void, 'session', 'config'>): Promise<void>;
3
3
  export declare namespace openConfigEditor {
4
4
  var procedure: import("@trpc/server").TRPCMutationProcedure<{
5
5
  input: void;
@@ -1 +1 @@
1
- {"version":3,"file":"openConfigEditor.d.ts","sourceRoot":"","sources":["../../src/apis/openConfigEditor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxF;yBALqB,gBAAgB"}
1
+ {"version":3,"file":"openConfigEditor.d.ts","sourceRoot":"","sources":["../../src/apis/openConfigEditor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAKlG;yBALqB,gBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"openConfigEditor.js","sourceRoot":"","sources":["../../src/apis/openConfigEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAkC;IACvE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;IAC9C,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IAEjD,QAAQ,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,2CAA2C;AAC3C,gBAAgB,CAAC,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC","sourcesContent":["import { ensureAppConfig } from '@ms-cloudpack/config';\nimport { execSync } from 'child_process';\nimport { publicProcedure } from '../trpc/common.js';\nimport type { ApiParams } from '../types/ApiParams.js';\n\nexport async function openConfigEditor(params: ApiParams<void, 'session'>): Promise<void> {\n const cwd = params.ctx.session.config.appPath;\n const appConfigPath = await ensureAppConfig(cwd);\n\n execSync(`code --goto ${JSON.stringify(appConfigPath)}`, { cwd });\n}\n\n// Attach a trpc procedure to the function.\nopenConfigEditor.procedure = publicProcedure.mutation(openConfigEditor);\n"]}
1
+ {"version":3,"file":"openConfigEditor.js","sourceRoot":"","sources":["../../src/apis/openConfigEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAA4C;IACjF,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;IAC9C,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IAEjD,QAAQ,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,2CAA2C;AAC3C,gBAAgB,CAAC,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC","sourcesContent":["import { ensureAppConfig } from '@ms-cloudpack/config';\nimport { execSync } from 'child_process';\nimport { publicProcedure } from '../trpc/common.js';\nimport type { ApiParams } from '../types/ApiParams.js';\n\nexport async function openConfigEditor(params: ApiParams<void, 'session', 'config'>): Promise<void> {\n const cwd = params.ctx.session.config.appPath;\n const appConfigPath = await ensureAppConfig(cwd);\n\n execSync(`code --goto ${JSON.stringify(appConfigPath)}`, { cwd });\n}\n\n// Attach a trpc procedure to the function.\nopenConfigEditor.procedure = publicProcedure.mutation(openConfigEditor);\n"]}
@@ -11,7 +11,7 @@ declare const ZodOpenFilePathInput: z.ZodObject<{
11
11
  relativePath?: string | undefined;
12
12
  }>;
13
13
  export type OpenFilePathInput = z.infer<typeof ZodOpenFilePathInput>;
14
- export declare function openFilePath(params: ApiParams<OpenFilePathInput, 'session'>): Promise<void>;
14
+ export declare function openFilePath(params: ApiParams<OpenFilePathInput, 'session', 'config'>): Promise<void>;
15
15
  export declare namespace openFilePath {
16
16
  var procedure: import("@trpc/server").TRPCMutationProcedure<{
17
17
  input: {
@@ -1 +1 @@
1
- {"version":3,"file":"openFilePath.d.ts","sourceRoot":"","sources":["../../src/apis/openFilePath.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIvD,QAAA,MAAM,oBAAoB;;;;;;;;;EAGxB,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAErE,wBAAsB,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,iBAAiB,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAajG;yBAbqB,YAAY"}
1
+ {"version":3,"file":"openFilePath.d.ts","sourceRoot":"","sources":["../../src/apis/openFilePath.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIvD,QAAA,MAAM,oBAAoB;;;;;;;;;EAGxB,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAErE,wBAAsB,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,iBAAiB,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAa3G;yBAbqB,YAAY"}
@@ -1 +1 @@
1
- {"version":3,"file":"openFilePath.js","sourceRoot":"","sources":["../../src/apis/openFilePath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAGjC,MAAM,IAAI,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;AAErC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAGH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAA+C;IAChF,MAAM,EACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,EACjC,GAAG,EAAE,EAAE,OAAO,EAAE,GACjB,GAAG,MAAM,CAAC;IACX,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC;IAEpD,OAAO,CAAC,GAAG,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,QAAQ,EAAE,IAAI,OAAO,CAAC;IACpC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnD,MAAM,IAAI,CAAC,GAAG,WAAW,IAAI,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,2CAA2C;AAC3C,YAAY,CAAC,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC","sourcesContent":["import { publicProcedure } from '../trpc/common.js';\nimport { z } from 'zod';\nimport { join } from 'path';\nimport { platform } from 'os';\nimport { exec as execCallback } from 'child_process';\nimport { promisify } from 'util';\nimport type { ApiParams } from '../types/ApiParams.js';\n\nconst exec = promisify(execCallback);\n\nconst ZodOpenFilePathInput = z.object({\n rootPath: z.string(),\n relativePath: z.string().optional(),\n});\nexport type OpenFilePathInput = z.infer<typeof ZodOpenFilePathInput>;\n\nexport async function openFilePath(params: ApiParams<OpenFilePathInput, 'session'>): Promise<void> {\n const {\n input: { rootPath, relativePath },\n ctx: { session },\n } = params;\n const fullPath = join(rootPath, relativePath || '');\n\n console.log(`Opening path: ${fullPath}`);\n const win32 = platform() == 'win32';\n const openCommand = win32 ? 'start' : 'open';\n const shell = win32 ? 'powershell.exe' : undefined;\n\n await exec(`${openCommand} ${fullPath}`, { cwd: session.config.appPath, shell });\n}\n\n// Attach a trpc procedure to the function.\nopenFilePath.procedure = publicProcedure.input(ZodOpenFilePathInput).mutation(openFilePath);\n"]}
1
+ {"version":3,"file":"openFilePath.js","sourceRoot":"","sources":["../../src/apis/openFilePath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAGjC,MAAM,IAAI,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;AAErC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAGH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAyD;IAC1F,MAAM,EACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,EACjC,GAAG,EAAE,EAAE,OAAO,EAAE,GACjB,GAAG,MAAM,CAAC;IACX,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC;IAEpD,OAAO,CAAC,GAAG,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,QAAQ,EAAE,IAAI,OAAO,CAAC;IACpC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnD,MAAM,IAAI,CAAC,GAAG,WAAW,IAAI,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,2CAA2C;AAC3C,YAAY,CAAC,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC","sourcesContent":["import { publicProcedure } from '../trpc/common.js';\nimport { z } from 'zod';\nimport { join } from 'path';\nimport { platform } from 'os';\nimport { exec as execCallback } from 'child_process';\nimport { promisify } from 'util';\nimport type { ApiParams } from '../types/ApiParams.js';\n\nconst exec = promisify(execCallback);\n\nconst ZodOpenFilePathInput = z.object({\n rootPath: z.string(),\n relativePath: z.string().optional(),\n});\nexport type OpenFilePathInput = z.infer<typeof ZodOpenFilePathInput>;\n\nexport async function openFilePath(params: ApiParams<OpenFilePathInput, 'session', 'config'>): Promise<void> {\n const {\n input: { rootPath, relativePath },\n ctx: { session },\n } = params;\n const fullPath = join(rootPath, relativePath || '');\n\n console.log(`Opening path: ${fullPath}`);\n const win32 = platform() == 'win32';\n const openCommand = win32 ? 'start' : 'open';\n const shell = win32 ? 'powershell.exe' : undefined;\n\n await exec(`${openCommand} ${fullPath}`, { cwd: session.config.appPath, shell });\n}\n\n// Attach a trpc procedure to the function.\nopenFilePath.procedure = publicProcedure.input(ZodOpenFilePathInput).mutation(openFilePath);\n"]}
@@ -20,7 +20,7 @@ export type SpanInput = z.infer<typeof SpanInput>;
20
20
  /**
21
21
  * Report spans to the telemetry client. This is useful for reporting spans that were captured in the browser.
22
22
  */
23
- export declare function reportSpan(params: ApiParams<SpanInput, 'telemetryClient' | 'session'>): void;
23
+ export declare function reportSpan(params: ApiParams<SpanInput, 'telemetryClient', 'sequence'>): void;
24
24
  export declare namespace reportSpan {
25
25
  var procedure: import("@trpc/server").TRPCMutationProcedure<{
26
26
  input: {
@@ -1 +1 @@
1
- {"version":3,"file":"reportSpan.d.ts","sourceRoot":"","sources":["../../src/apis/reportSpan.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;EAKb,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,iBAAiB,GAAG,SAAS,CAAC,GAAG,IAAI,CAc5F;yBAde,UAAU"}
1
+ {"version":3,"file":"reportSpan.d.ts","sourceRoot":"","sources":["../../src/apis/reportSpan.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;EAKb,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,iBAAiB,EAAE,UAAU,CAAC,GAAG,IAAI,CAc5F;yBAde,UAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"reportSpan.js","sourceRoot":"","sources":["../../src/apis/reportSpan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;CACjF,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,MAA2D;IACpF,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAC9B,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;IACzC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAEvD,eAAe,CAAC,MAAM;SACnB,SAAS,CAAC,IAAI,EAAE;QACf,UAAU,EAAE;YACV,GAAG,UAAU;YACb,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B;QACD,SAAS;KACV,CAAC;SACD,GAAG,CAAC,OAAO,CAAC,CAAC;AAClB,CAAC;AAED,2CAA2C;AAC3C,UAAU,CAAC,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC","sourcesContent":["import { publicProcedure } from '../trpc/common.js';\nimport { z } from 'zod';\nimport type { ApiParams } from '../types/ApiParams.js';\n\nconst SpanInput = z.object({\n name: z.string(),\n startTime: z.number(),\n endTime: z.number(),\n attributes: z.optional(z.record(z.union([z.string(), z.number(), z.boolean()]))),\n});\n\nexport type SpanInput = z.infer<typeof SpanInput>;\n\n/**\n * Report spans to the telemetry client. This is useful for reporting spans that were captured in the browser.\n */\nexport function reportSpan(params: ApiParams<SpanInput, 'telemetryClient' | 'session'>): void {\n const { input, ctx } = params;\n const { telemetryClient, session } = ctx;\n const { name, endTime, startTime, attributes } = input;\n\n telemetryClient.tracer\n .startSpan(name, {\n attributes: {\n ...attributes,\n sequence: session.sequence,\n },\n startTime,\n })\n .end(endTime);\n}\n\n// Attach a trpc procedure to the function.\nreportSpan.procedure = publicProcedure.input(SpanInput).mutation(reportSpan);\n"]}
1
+ {"version":3,"file":"reportSpan.js","sourceRoot":"","sources":["../../src/apis/reportSpan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;CACjF,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,MAA2D;IACpF,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAC9B,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;IACzC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAEvD,eAAe,CAAC,MAAM;SACnB,SAAS,CAAC,IAAI,EAAE;QACf,UAAU,EAAE;YACV,GAAG,UAAU;YACb,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B;QACD,SAAS;KACV,CAAC;SACD,GAAG,CAAC,OAAO,CAAC,CAAC;AAClB,CAAC;AAED,2CAA2C;AAC3C,UAAU,CAAC,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC","sourcesContent":["import { publicProcedure } from '../trpc/common.js';\nimport { z } from 'zod';\nimport type { ApiParams } from '../types/ApiParams.js';\n\nconst SpanInput = z.object({\n name: z.string(),\n startTime: z.number(),\n endTime: z.number(),\n attributes: z.optional(z.record(z.union([z.string(), z.number(), z.boolean()]))),\n});\n\nexport type SpanInput = z.infer<typeof SpanInput>;\n\n/**\n * Report spans to the telemetry client. This is useful for reporting spans that were captured in the browser.\n */\nexport function reportSpan(params: ApiParams<SpanInput, 'telemetryClient', 'sequence'>): void {\n const { input, ctx } = params;\n const { telemetryClient, session } = ctx;\n const { name, endTime, startTime, attributes } = input;\n\n telemetryClient.tracer\n .startSpan(name, {\n attributes: {\n ...attributes,\n sequence: session.sequence,\n },\n startTime,\n })\n .end(endTime);\n}\n\n// Attach a trpc procedure to the function.\nreportSpan.procedure = publicProcedure.input(SpanInput).mutation(reportSpan);\n"]}
@@ -1,5 +1,5 @@
1
1
  import type { ApiParams } from '../types/ApiParams.js';
2
- export declare function restartAllTasks(params: ApiParams<void, 'session' | 'bus' | 'taskRunner' | 'telemetryClient'>): Promise<void>;
2
+ export declare function restartAllTasks(params: ApiParams<void, 'bus' | 'taskRunner' | 'telemetryClient', 'cachePath' | 'incrementSessionVersion' | 'sequence'>): Promise<void>;
3
3
  export declare namespace restartAllTasks {
4
4
  var procedure: import("@trpc/server").TRPCMutationProcedure<{
5
5
  input: void;
@@ -1 +1 @@
1
- {"version":3,"file":"restartAllTasks.d.ts","sourceRoot":"","sources":["../../src/apis/restartAllTasks.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,wBAAsB,eAAe,CACnC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,YAAY,GAAG,iBAAiB,CAAC,GAC5E,OAAO,CAAC,IAAI,CAAC,CAmBf;yBArBqB,eAAe"}
1
+ {"version":3,"file":"restartAllTasks.d.ts","sourceRoot":"","sources":["../../src/apis/restartAllTasks.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,wBAAsB,eAAe,CACnC,MAAM,EAAE,SAAS,CACf,IAAI,EACJ,KAAK,GAAG,YAAY,GAAG,iBAAiB,EACxC,WAAW,GAAG,yBAAyB,GAAG,UAAU,CACrD,GACA,OAAO,CAAC,IAAI,CAAC,CAmBf;yBAzBqB,eAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"restartAllTasks.js","sourceRoot":"","sources":["../../src/apis/restartAllTasks.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAA6E;IAE7E,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC;IAE1D,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAEjD,gCAAgC;IAChC,qFAAqF;IACrF,MAAM,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/D,6CAA6C;IAC7C,gDAAgD;IAChD,UAAU,CAAC,KAAK,EAAE,CAAC;IAEnB,0BAA0B;IAC1B,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAElC,MAAM,YAAY,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;AACzF,CAAC;AAED,eAAe,CAAC,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC","sourcesContent":["import fsPromises from 'fs/promises';\nimport { publicProcedure } from '../trpc/common.js';\nimport { notifyReload } from '../utilities/notifyReload.js';\nimport type { ApiParams } from '../types/ApiParams.js';\n\nexport async function restartAllTasks(\n params: ApiParams<void, 'session' | 'bus' | 'taskRunner' | 'telemetryClient'>,\n): Promise<void> {\n const { ctx } = params;\n const { session, bus, taskRunner, telemetryClient } = ctx;\n\n console.debug('ApiServer: Restarting all tasks');\n\n // Clear entire cloudpack cache.\n // TODO: should this really be clearing everything, even stuff not used for this app?\n await fsPromises.rm(session.cachePath, { recursive: true });\n await fsPromises.mkdir(session.cachePath, { recursive: true });\n\n // All tasks can be removed as notifyReload()\n // will cause the client to add the tasks again.\n taskRunner.clear();\n\n // Update session version.\n session.incrementSessionVersion();\n\n await notifyReload({ reason: 'restart-all-tasks' }, { bus, session, telemetryClient });\n}\n\nrestartAllTasks.procedure = publicProcedure.mutation(restartAllTasks);\n"]}
1
+ {"version":3,"file":"restartAllTasks.js","sourceRoot":"","sources":["../../src/apis/restartAllTasks.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAIC;IAED,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC;IAE1D,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAEjD,gCAAgC;IAChC,qFAAqF;IACrF,MAAM,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/D,6CAA6C;IAC7C,gDAAgD;IAChD,UAAU,CAAC,KAAK,EAAE,CAAC;IAEnB,0BAA0B;IAC1B,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAElC,MAAM,YAAY,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;AACzF,CAAC;AAED,eAAe,CAAC,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC","sourcesContent":["import fsPromises from 'fs/promises';\nimport { publicProcedure } from '../trpc/common.js';\nimport { notifyReload } from '../utilities/notifyReload.js';\nimport type { ApiParams } from '../types/ApiParams.js';\n\nexport async function restartAllTasks(\n params: ApiParams<\n void,\n 'bus' | 'taskRunner' | 'telemetryClient',\n 'cachePath' | 'incrementSessionVersion' | 'sequence'\n >,\n): Promise<void> {\n const { ctx } = params;\n const { session, bus, taskRunner, telemetryClient } = ctx;\n\n console.debug('ApiServer: Restarting all tasks');\n\n // Clear entire cloudpack cache.\n // TODO: should this really be clearing everything, even stuff not used for this app?\n await fsPromises.rm(session.cachePath, { recursive: true });\n await fsPromises.mkdir(session.cachePath, { recursive: true });\n\n // All tasks can be removed as notifyReload()\n // will cause the client to add the tasks again.\n taskRunner.clear();\n\n // Update session version.\n session.incrementSessionVersion();\n\n await notifyReload({ reason: 'restart-all-tasks' }, { bus, session, telemetryClient });\n}\n\nrestartAllTasks.procedure = publicProcedure.mutation(restartAllTasks);\n"]}
@@ -15,7 +15,7 @@ export type RestartTaskInput = z.infer<typeof ZodRestartTaskInput>;
15
15
  * Remove the record of a specific task (usually bundle result) and notify the client to reload,
16
16
  * which will trigger the task to be re-run.
17
17
  */
18
- export declare function restartTask(params: ApiParams<RestartTaskInput, 'session' | 'bus' | 'taskRunner' | 'telemetryClient'>): Promise<void>;
18
+ export declare function restartTask(params: ApiParams<RestartTaskInput, 'bus' | 'taskRunner' | 'telemetryClient', 'incrementTargetVersion' | 'sequence'>): Promise<void>;
19
19
  export declare namespace restartTask {
20
20
  var procedure: import("@trpc/server").TRPCMutationProcedure<{
21
21
  input: {
@@ -1 +1 @@
1
- {"version":3,"file":"restartTask.d.ts","sourceRoot":"","sources":["../../src/apis/restartTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,QAAA,MAAM,mBAAmB;;;;;;;;;EAGvB,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEnE;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,SAAS,CAAC,gBAAgB,EAAE,SAAS,GAAG,KAAK,GAAG,YAAY,GAAG,iBAAiB,CAAC,GACxF,OAAO,CAAC,IAAI,CAAC,CASf;yBAXqB,WAAW"}
1
+ {"version":3,"file":"restartTask.d.ts","sourceRoot":"","sources":["../../src/apis/restartTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,QAAA,MAAM,mBAAmB;;;;;;;;;EAGvB,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEnE;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,SAAS,CAAC,gBAAgB,EAAE,KAAK,GAAG,YAAY,GAAG,iBAAiB,EAAE,wBAAwB,GAAG,UAAU,CAAC,GACnH,OAAO,CAAC,IAAI,CAAC,CASf;yBAXqB,WAAW"}
@@ -1 +1 @@
1
- {"version":3,"file":"restartTask.js","sourceRoot":"","sources":["../../src/apis/restartTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAGH;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAyF;IAEzF,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAC9B,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAChC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC;IAE1D,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;IAClD,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtB,OAAO,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,YAAY,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;AACpF,CAAC;AAED,2CAA2C;AAC3C,WAAW,CAAC,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { publicProcedure } from '../trpc/common.js';\nimport { notifyReload } from '../utilities/notifyReload.js';\nimport type { ApiParams } from '../types/ApiParams.js';\n\nconst ZodRestartTaskInput = z.object({\n id: z.string(),\n inputPath: z.string(),\n});\nexport type RestartTaskInput = z.infer<typeof ZodRestartTaskInput>;\n\n/**\n * Remove the record of a specific task (usually bundle result) and notify the client to reload,\n * which will trigger the task to be re-run.\n */\nexport async function restartTask(\n params: ApiParams<RestartTaskInput, 'session' | 'bus' | 'taskRunner' | 'telemetryClient'>,\n): Promise<void> {\n const { input, ctx } = params;\n const { id, inputPath } = input;\n const { session, bus, taskRunner, telemetryClient } = ctx;\n\n console.debug(`ApiServer: Restarting task ${id}`);\n taskRunner.remove(id);\n session.incrementTargetVersion(inputPath);\n await notifyReload({ reason: 'restart-task' }, { bus, session, telemetryClient });\n}\n\n// Attach a trpc procedure to the function.\nrestartTask.procedure = publicProcedure.input(ZodRestartTaskInput).mutation(restartTask);\n"]}
1
+ {"version":3,"file":"restartTask.js","sourceRoot":"","sources":["../../src/apis/restartTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAGH;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAoH;IAEpH,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAC9B,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAChC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC;IAE1D,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;IAClD,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtB,OAAO,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,YAAY,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;AACpF,CAAC;AAED,2CAA2C;AAC3C,WAAW,CAAC,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { publicProcedure } from '../trpc/common.js';\nimport { notifyReload } from '../utilities/notifyReload.js';\nimport type { ApiParams } from '../types/ApiParams.js';\n\nconst ZodRestartTaskInput = z.object({\n id: z.string(),\n inputPath: z.string(),\n});\nexport type RestartTaskInput = z.infer<typeof ZodRestartTaskInput>;\n\n/**\n * Remove the record of a specific task (usually bundle result) and notify the client to reload,\n * which will trigger the task to be re-run.\n */\nexport async function restartTask(\n params: ApiParams<RestartTaskInput, 'bus' | 'taskRunner' | 'telemetryClient', 'incrementTargetVersion' | 'sequence'>,\n): Promise<void> {\n const { input, ctx } = params;\n const { id, inputPath } = input;\n const { session, bus, taskRunner, telemetryClient } = ctx;\n\n console.debug(`ApiServer: Restarting task ${id}`);\n taskRunner.remove(id);\n session.incrementTargetVersion(inputPath);\n await notifyReload({ reason: 'restart-task' }, { bus, session, telemetryClient });\n}\n\n// Attach a trpc procedure to the function.\nrestartTask.procedure = publicProcedure.input(ZodRestartTaskInput).mutation(restartTask);\n"]}
@@ -1,4 +1,7 @@
1
- import type { ApiParams } from '../types/ApiParams.js';
1
+ import type { PartialContext } from '../types/Context.js';
2
2
  import type { SyncResult } from '../types/SyncResult.js';
3
- export declare function syncDownload(params: ApiParams<undefined, 'session' | 'packages' | 'reporter' | 'telemetryClient' | 'packageHashes' | 'remoteCacheClient'>): Promise<SyncResult>;
3
+ /**
4
+ * Download all available packages in the current app's resolve map from the remote cache.
5
+ */
6
+ export declare function syncDownload(input: undefined, ctx: PartialContext<'packages' | 'packageHashes' | 'remoteCacheClient' | 'telemetryClient', 'cachePath' | 'config' | 'resolveMap'>): Promise<SyncResult>;
4
7
  //# sourceMappingURL=syncDownload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"syncDownload.d.ts","sourceRoot":"","sources":["../../src/apis/syncDownload.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,CACf,SAAS,EACT,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,iBAAiB,GAAG,eAAe,GAAG,mBAAmB,CAChG,GACA,OAAO,CAAC,UAAU,CAAC,CAuBrB"}
1
+ {"version":3,"file":"syncDownload.d.ts","sourceRoot":"","sources":["../../src/apis/syncDownload.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD;;GAEG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,cAAc,CACjB,UAAU,GAAG,eAAe,GAAG,mBAAmB,GAAG,iBAAiB,EACtE,WAAW,GAAG,QAAQ,GAAG,YAAY,CACtC,GACA,OAAO,CAAC,UAAU,CAAC,CAsBrB"}
@@ -2,8 +2,10 @@ import { getPackagesToSync } from '../utilities/getPackagesToSync.js';
2
2
  import { PerfMeasurementSyncDownload } from '../performance/markers.js';
3
3
  import { getRemoteCachePromiseResultCounts } from '../utilities/getRemoteCachePromiseResultCounts.js';
4
4
  import { ensureRemoteCacheEnabled } from '../utilities/ensureRemoteCacheEnabled.js';
5
- export async function syncDownload(params) {
6
- const { ctx } = params;
5
+ /**
6
+ * Download all available packages in the current app's resolve map from the remote cache.
7
+ */
8
+ export async function syncDownload(input, ctx) {
7
9
  const { telemetryClient, remoteCacheClient: client, session } = ctx;
8
10
  ensureRemoteCacheEnabled(session.config);
9
11
  if (!client) {
@@ -1 +1 @@
1
- {"version":3,"file":"syncDownload.js","sourceRoot":"","sources":["../../src/apis/syncDownload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,iCAAiC,EAAE,MAAM,mDAAmD,CAAC;AAEtG,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAEpF,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAGC;IAED,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IACvB,MAAM,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;IAEpE,wBAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,MAAM,eAAe,CAAC,MAAM,CAAC,eAAe,CAAC,2BAA2B,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC9F,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAEpD,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;QAE1E,6FAA6F;QAC7F,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAE3D,MAAM,MAAM,GAAG,iCAAiC,CAAC,cAAc,CAAC,CAAC;QACjE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE3B,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kGAAkG","sourcesContent":["import { getPackagesToSync } from '../utilities/getPackagesToSync.js';\nimport type { ApiParams } from '../types/ApiParams.js';\nimport { PerfMeasurementSyncDownload } from '../performance/markers.js';\nimport { getRemoteCachePromiseResultCounts } from '../utilities/getRemoteCachePromiseResultCounts.js';\nimport type { SyncResult } from '../types/SyncResult.js';\nimport { ensureRemoteCacheEnabled } from '../utilities/ensureRemoteCacheEnabled.js';\n\nexport async function syncDownload(\n params: ApiParams<\n undefined,\n 'session' | 'packages' | 'reporter' | 'telemetryClient' | 'packageHashes' | 'remoteCacheClient'\n >,\n): Promise<SyncResult> {\n const { ctx } = params;\n const { telemetryClient, remoteCacheClient: client, session } = ctx;\n\n ensureRemoteCacheEnabled(session.config);\n\n if (!client) {\n throw new Error('Remote cache client is required to sync upload');\n }\n\n return await telemetryClient.tracer.startActiveSpan(PerfMeasurementSyncDownload, async (span) => {\n const packagesToSync = await getPackagesToSync(ctx);\n\n const downloads = packagesToSync.map((pkg) => client.downloadFolder(pkg));\n\n // Do not reject if there is a failure. Failed downloads will be logged in the task reporter.\n const promiseResults = await Promise.allSettled(downloads);\n\n const result = getRemoteCachePromiseResultCounts(promiseResults);\n span.setAttributes(result);\n\n return result;\n });\n}\n\n// This function doesn't have an attached procedure because it's never called via the TRPC server.\n"]}
1
+ {"version":3,"file":"syncDownload.js","sourceRoot":"","sources":["../../src/apis/syncDownload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,iCAAiC,EAAE,MAAM,mDAAmD,CAAC;AAEtG,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAEpF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAgB,EAChB,GAGC;IAED,MAAM,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;IAEpE,wBAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,MAAM,eAAe,CAAC,MAAM,CAAC,eAAe,CAAC,2BAA2B,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC9F,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAEpD,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;QAE1E,6FAA6F;QAC7F,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAE3D,MAAM,MAAM,GAAG,iCAAiC,CAAC,cAAc,CAAC,CAAC;QACjE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE3B,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kGAAkG","sourcesContent":["import { getPackagesToSync } from '../utilities/getPackagesToSync.js';\nimport type { PartialContext } from '../types/Context.js';\nimport { PerfMeasurementSyncDownload } from '../performance/markers.js';\nimport { getRemoteCachePromiseResultCounts } from '../utilities/getRemoteCachePromiseResultCounts.js';\nimport type { SyncResult } from '../types/SyncResult.js';\nimport { ensureRemoteCacheEnabled } from '../utilities/ensureRemoteCacheEnabled.js';\n\n/**\n * Download all available packages in the current app's resolve map from the remote cache.\n */\nexport async function syncDownload(\n input: undefined,\n ctx: PartialContext<\n 'packages' | 'packageHashes' | 'remoteCacheClient' | 'telemetryClient',\n 'cachePath' | 'config' | 'resolveMap'\n >,\n): Promise<SyncResult> {\n const { telemetryClient, remoteCacheClient: client, session } = ctx;\n\n ensureRemoteCacheEnabled(session.config);\n\n if (!client) {\n throw new Error('Remote cache client is required to sync upload');\n }\n\n return await telemetryClient.tracer.startActiveSpan(PerfMeasurementSyncDownload, async (span) => {\n const packagesToSync = await getPackagesToSync(ctx);\n\n const downloads = packagesToSync.map((pkg) => client.downloadFolder(pkg));\n\n // Do not reject if there is a failure. Failed downloads will be logged in the task reporter.\n const promiseResults = await Promise.allSettled(downloads);\n\n const result = getRemoteCachePromiseResultCounts(promiseResults);\n span.setAttributes(result);\n\n return result;\n });\n}\n\n// This function doesn't have an attached procedure because it's never called via the TRPC server.\n"]}
@@ -1,7 +1,10 @@
1
1
  import { type EnsurePackageBundledContext } from './ensurePackageBundled.js';
2
2
  import type { SyncResult } from '../types/SyncResult.js';
3
- export declare function syncUpload(params: {
4
- input: undefined;
5
- ctx: Omit<EnsurePackageBundledContext, 'bus' | 'watcher'>;
6
- }): Promise<SyncResult>;
3
+ import type { LoginMethod } from '@ms-cloudpack/remote-cache';
4
+ /**
5
+ * Bundle the current app and its dependencies, and upload them to the remote cache.
6
+ */
7
+ export declare function syncUpload(input: {
8
+ login: LoginMethod;
9
+ }, ctx: Omit<EnsurePackageBundledContext, 'bus' | 'watcher'>): Promise<SyncResult>;
7
10
  //# sourceMappingURL=syncUpload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"syncUpload.d.ts","sourceRoot":"","sources":["../../src/apis/syncUpload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAUnG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIzD,wBAAsB,UAAU,CAAC,MAAM,EAAE;IACvC,KAAK,EAAE,SAAS,CAAC;IACjB,GAAG,EAAE,IAAI,CAAC,2BAA2B,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC;CAC3D,GAAG,OAAO,CAAC,UAAU,CAAC,CAmEtB"}
1
+ {"version":3,"file":"syncUpload.d.ts","sourceRoot":"","sources":["../../src/apis/syncUpload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAUnG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D;;GAEG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE;IAAE,KAAK,EAAE,WAAW,CAAA;CAAE,EAC7B,GAAG,EAAE,IAAI,CAAC,2BAA2B,EAAE,KAAK,GAAG,SAAS,CAAC,GACxD,OAAO,CAAC,UAAU,CAAC,CAuFrB"}
@@ -9,29 +9,29 @@ import { getBundleLocation } from '../utilities/getBundleLocation.js';
9
9
  import { cp } from 'fs/promises';
10
10
  import objectHash from 'object-hash';
11
11
  import { ensureRemoteCacheEnabled } from '../utilities/ensureRemoteCacheEnabled.js';
12
- // This is not actually a tRPC API, but it follows the same signature for now.
13
- export async function syncUpload(params) {
14
- const { ctx } = params;
12
+ import { getRemoteCachePackageId } from '../utilities/getRemoteCachePackageId.js';
13
+ /**
14
+ * Bundle the current app and its dependencies, and upload them to the remote cache.
15
+ */
16
+ export async function syncUpload(input, ctx) {
17
+ const { login } = input;
15
18
  const { session, telemetryClient, taskRunner, remoteCacheClient: client } = ctx;
16
19
  const { config } = session;
17
20
  const { appPath } = config;
21
+ const { remoteCache: remoteCacheConfig } = config;
18
22
  const syncInternalPackages = config?.features?.syncInternalPackages ?? false;
19
23
  ensureRemoteCacheEnabled(config);
20
24
  if (!client) {
21
25
  throw new Error('Remote cache client is required to sync upload');
22
26
  }
27
+ if (!remoteCacheConfig) {
28
+ throw new Error('Remote cache configuration is required to sync upload');
29
+ }
23
30
  // Glob pattern for the files to upload.
24
31
  const globMatches = ['**/*', '!**/*-input.json', '!**/*-output.json'];
25
32
  return await telemetryClient.tracer.startActiveSpan(PerfMeasurementSyncUpload, async (span) => {
26
- const { name, version } = await ctx.packages.get(appPath);
27
- const { dependencies, result: bundleResult } = await ensurePackageBundled({
28
- input: {
29
- name,
30
- version,
31
- enqueueDependencies: true,
32
- },
33
- ctx,
34
- });
33
+ const { name, version, description } = await ctx.packages.get(appPath);
34
+ const { dependencies, result: bundleResult } = await ensurePackageBundled({ name, version, enqueueDependencies: true }, ctx);
35
35
  const bundledPackages = [bundleResult, ...(await dependencies)];
36
36
  const packagesToUpload = await Promise.all(bundledPackages
37
37
  .filter((p) => p.inputPath && (p.isExternal || syncInternalPackages))
@@ -39,7 +39,8 @@ export async function syncUpload(params) {
39
39
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- verified above that it's set
40
40
  { packagePath: p.inputPath }, ctx)));
41
41
  if (config.features?.enableCloudHosted) {
42
- const appOutputPath = (await getBundleLocation({ packagePath: appPath }, ctx)).path;
42
+ const appBundleLocation = await getBundleLocation({ packagePath: appPath }, ctx);
43
+ const appOutputPath = appBundleLocation.path;
43
44
  const destinationFolder = path.join(appOutputPath, '__cloudpack');
44
45
  const routesPath = path.join(destinationFolder, 'routes');
45
46
  for (const route of config.routes ?? []) {
@@ -50,6 +51,22 @@ export async function syncUpload(params) {
50
51
  await cp(staticPath, path.join(folderPath, route.staticPath), { recursive: true });
51
52
  }
52
53
  }
54
+ const { createAppRegistryClient } = await import('@ms-cloudpack/remote-cache');
55
+ const appRegistryClient = await createAppRegistryClient({
56
+ context: ctx,
57
+ options: { cachePath: session.cachePath, loginMethod: login },
58
+ });
59
+ await appRegistryClient.registerApp({
60
+ name,
61
+ // Using the current date and time as the version, because most apps are not versioned.
62
+ version: new Date().toISOString().slice(16).replace('T', ' '),
63
+ resourceId: await getRemoteCachePackageId({ packagePath: appPath }, ctx),
64
+ storageAccount: remoteCacheConfig.storageAccount,
65
+ container: remoteCacheConfig.container,
66
+ tenantId: remoteCacheConfig.tenantId,
67
+ description,
68
+ localBundleFolderName: appBundleLocation.folderName,
69
+ });
53
70
  }
54
71
  const uploads = packagesToUpload.map((pkg) => taskRunner.add(createUploadTask({ client, options: { ...pkg, globMatches } })));
55
72
  // Do not reject if there is a failure. Failed uploads will be logged in the task reporter.