@effect-app/cli 2.0.1-beta.9 → 2.1.0-beta.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,35 @@
1
1
  # @effect-app/cli
2
2
 
3
+ ## 2.1.0-beta.14
4
+
5
+ ### Patch Changes
6
+
7
+ - Update effect packages to 4.0.0-beta.52
8
+
9
+ ## 2.1.0-beta.13
10
+
11
+ ### Minor Changes
12
+
13
+ - 97207c0: Add `sync-effect` CLI command to sync the Effect git subtree to the version pinned in package.json manifests.
14
+
15
+ ## 2.0.1-beta.12
16
+
17
+ ### Patch Changes
18
+
19
+ - fac725d: update effect to latest beta
20
+
21
+ ## 2.0.1-beta.11
22
+
23
+ ### Patch Changes
24
+
25
+ - 8267e7d: update to latest effect
26
+
27
+ ## 2.0.1-beta.10
28
+
29
+ ### Patch Changes
30
+
31
+ - 1f9d7da: fix missing toCodecJson usages
32
+
3
33
  ## 2.0.1-beta.9
4
34
 
5
35
  ### Patch Changes
package/dist/gist.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Config, Effect, FileSystem, Layer, Path, Schema, ServiceMap as Context } from "effect";
1
+ import { Config, Context, Effect, FileSystem, Layer, Path, Schema } from "effect";
2
2
  import { RunCommandService } from "./os-command.js";
3
3
  declare const GistError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
4
4
  readonly _tag: "GistError";
@@ -7,7 +7,7 @@ export declare class GistError extends GistError_base<{
7
7
  message: string;
8
8
  }> {
9
9
  }
10
- declare const GistEntry_base: Schema.ExtendableClass<GistEntry, Schema.Struct<{
10
+ declare const GistEntry_base: Schema.Class<GistEntry, Schema.Struct<{
11
11
  readonly description: Schema.String;
12
12
  readonly public: Schema.Boolean;
13
13
  readonly company: Schema.String;
@@ -33,7 +33,7 @@ declare const GistEntryDecoded_base: Schema.Opaque<GistEntryDecoded, Schema.deco
33
33
  readonly path: Schema.String;
34
34
  readonly name: Schema.String;
35
35
  }>>;
36
- }>, typeof GistEntry, never, never>, "Type">;
36
+ }>, typeof GistEntry, never, never>, keyof Schema.Top>;
37
37
  /**
38
38
  * Extended gist entry that validates file_name uniqueness and extracts base filenames.
39
39
  *
@@ -57,7 +57,7 @@ declare const GistEntryDecoded_base: Schema.Opaque<GistEntryDecoded, Schema.deco
57
57
  */
58
58
  export declare class GistEntryDecoded extends GistEntryDecoded_base {
59
59
  }
60
- declare const GistYAML_base: Schema.ExtendableClass<GistYAML, Schema.Struct<{
60
+ declare const GistYAML_base: Schema.Class<GistYAML, Schema.Struct<{
61
61
  readonly gists: Schema.optional<Schema.NullOr<Schema.$Record<Schema.String, typeof GistEntryDecoded>>>;
62
62
  readonly settings: Schema.Struct<{
63
63
  readonly token_env: Schema.String;
@@ -66,7 +66,7 @@ declare const GistYAML_base: Schema.ExtendableClass<GistYAML, Schema.Struct<{
66
66
  }>, {}>;
67
67
  export declare class GistYAML extends GistYAML_base {
68
68
  }
69
- declare const GistCacheEntry_base: Schema.ExtendableClass<GistCacheEntry, Schema.Struct<{
69
+ declare const GistCacheEntry_base: Schema.Class<GistCacheEntry, Schema.Struct<{
70
70
  readonly name: Schema.String;
71
71
  readonly id: Schema.String;
72
72
  }>, {}>;
@@ -380,12 +380,12 @@ declare class GHGistService extends GHGistService_base {
380
380
  declare const GistHandler_base: Context.ServiceClass<GistHandler, "GistHandler", {
381
381
  handler: (args_0: {
382
382
  YAMLPath: string;
383
- }) => Effect.Effect<undefined, import("effect/PlatformError").PlatformError | GistError | GistCacheOfCompanyNotFound | GistYAMLError | Schema.SchemaError | Config.ConfigError, never>;
383
+ }) => Effect.Effect<undefined, import("effect/PlatformError").PlatformError | GistError | Schema.SchemaError | GistCacheOfCompanyNotFound | GistYAMLError | Config.ConfigError, never>;
384
384
  }> & {
385
385
  readonly make: Effect.Effect<{
386
386
  handler: (args_0: {
387
387
  YAMLPath: string;
388
- }) => Effect.Effect<undefined, import("effect/PlatformError").PlatformError | GistError | GistCacheOfCompanyNotFound | GistYAMLError | Schema.SchemaError | Config.ConfigError, never>;
388
+ }) => Effect.Effect<undefined, import("effect/PlatformError").PlatformError | GistError | Schema.SchemaError | GistCacheOfCompanyNotFound | GistYAMLError | Config.ConfigError, never>;
389
389
  }, never, Path.Path | FileSystem.FileSystem | GHGistService>;
390
390
  };
391
391
  export declare class GistHandler extends GistHandler_base {
@@ -1 +1 @@
1
- {"version":3,"file":"gist.d.ts","sourceRoot":"","sources":["../src/gist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gist.d.ts","sourceRoot":"","sources":["../src/gist.ts"],"names":[],"mappings":"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"}
package/dist/gist.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable no-constant-binary-expression */
2
2
  /* eslint-disable no-empty-pattern */
3
3
  // import necessary modules from the libraries
4
- import { Array, Config, Data, Effect, FileSystem, Layer, Option, Path, pipe, Redacted, Result, Schema, SchemaIssue, SchemaTransformation, ServiceMap as Context, SynchronizedRef } from "effect";
4
+ import { Array, Config, Context, Data, Effect, FileSystem, Layer, Option, Path, pipe, Redacted, Result, Schema, SchemaIssue, SchemaTransformation, SynchronizedRef } from "effect";
5
5
  import * as yaml from "js-yaml";
6
6
  import path from "path";
7
7
  import { RunCommandService } from "./os-command.js";
@@ -192,7 +192,7 @@ class GHGistService extends Context.Service()("GHGistService", {
192
192
  }
193
193
  else {
194
194
  const cacheContent = yield* runGetStringSuppressed(`gh gist view ${gist_id} -f "${company}.json"`);
195
- const entries = yield* pipe(cacheContent, Schema.decodeUnknownEffect(Schema.fromJsonString(GistCacheEntries)), Effect.orDie);
195
+ const entries = yield* pipe(cacheContent, Schema.decodeUnknownEffect(Schema.fromJsonString(Schema.toCodecJson(GistCacheEntries))), Effect.orDie);
196
196
  return new GistCache({ entries, gist_id, company });
197
197
  }
198
198
  }, (_, company) => _.pipe(Effect.catchTag("GistCacheNotFound", Effect.fnUntraced(function* () {
@@ -207,7 +207,7 @@ class GHGistService extends Context.Service()("GHGistService", {
207
207
  return yield* loadGistCache(company, { recCacheCompany: true });
208
208
  }))));
209
209
  const saveGistCache = Effect.fn("effa-cli.gist.saveGistCache")(function* (cache) {
210
- const cacheJson = yield* pipe(cache.entries, Schema.encodeUnknownEffect(Schema.fromJsonString(GistCacheEntries)),
210
+ const cacheJson = yield* pipe(cache.entries, Schema.encodeUnknownEffect(Schema.fromJsonString(Schema.toCodecJson(GistCacheEntries))),
211
211
  // cannot recover from parse errors in any case, better to die here instead of cluttering the signature
212
212
  Effect.orDie);
213
213
  yield* runGetExitCodeSuppressed(`echo '${cacheJson}' | gh gist edit ${cache.gist_id} -f ${cache.company}.json -`);
@@ -571,4 +571,4 @@ export class GistHandler extends Context.Service()("GistHandler", {
571
571
  static DefaultWithoutDependencies = Layer.effect(this, this.make);
572
572
  static Default = this.DefaultWithoutDependencies.pipe(Layer.provide(GHGistService.Default));
573
573
  }
574
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9naXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtEQUFrRDtBQUNsRCxxQ0FBcUM7QUFDckMsOENBQThDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxJQUFJLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFFaE0sT0FBTyxLQUFLLElBQUksTUFBTSxTQUFTLENBQUE7QUFDL0IsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFBO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRW5ELE1BQU0sT0FBTyxTQUFVLFNBQVEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQXNCO0NBQUc7QUFFcEYsRUFBRTtBQUNGLEVBQUU7QUFDRixVQUFVO0FBQ1YsRUFBRTtBQUVGLE1BQU0sT0FBTyxTQUFVLFNBQVEsTUFBTSxDQUFDLEtBQUssQ0FBWSxXQUFXLENBQUMsQ0FBQztJQUNsRSxXQUFXLEVBQUUsTUFBTSxDQUFDLE1BQU07SUFDMUIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPO0lBQ3RCLE9BQU8sRUFBRSxNQUFNLENBQUMsTUFBTTtJQUN0QixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0NBQ25DLENBQUM7Q0FBRztBQUVMOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUNILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxNQUFNLENBQUMsTUFBTSxFQUFvQixDQUNyRSxTQUFTLENBQUMsSUFBSSxDQUNaLE1BQU0sQ0FBQyxRQUFRLENB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
574
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9naXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtEQUFrRDtBQUNsRCxxQ0FBcUM7QUFDckMsOENBQThDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUVsTCxPQUFPLEtBQUssSUFBSSxNQUFNLFNBQVMsQ0FBQTtBQUMvQixPQUFPLElBQUksTUFBTSxNQUFNLENBQUE7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFbkQsTUFBTSxPQUFPLFNBQVUsU0FBUSxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBc0I7Q0FBRztBQUVwRixFQUFFO0FBQ0YsRUFBRTtBQUNGLFVBQVU7QUFDVixFQUFFO0FBRUYsTUFBTSxPQUFPLFNBQVUsU0FBUSxNQUFNLENBQUMsS0FBSyxDQUFZLFdBQVcsQ0FBQyxDQUFDO0lBQ2xFLFdBQVcsRUFBRSxNQUFNLENBQUMsTUFBTTtJQUMxQixNQUFNLEVBQUUsTUFBTSxDQUFDLE9BQU87SUFDdEIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxNQUFNO0lBQ3RCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7Q0FDbkMsQ0FBQztDQUFHO0FBRUw7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBQ0gsTUFBTSxPQUFPLGdCQUFpQixTQUFRLE1BQU0sQ0FBQyxNQUFNLEVBQW9CLENBQ3JFLFNBQVMsQ0FBQyxJQUFJLENBQ1osTUFBTSxDQUFDLFFBQVEsQ0FDYixNQUFNLENB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
package/dist/index.js CHANGED
@@ -9,6 +9,7 @@ import { GistHandler } from "./gist.js";
9
9
  import { RunCommandService } from "./os-command.js";
10
10
  import { packages } from "./shared.js";
11
11
  import { patchArgvForWrapCommands } from "./argv-patch.js";
12
+ import { syncEffectSubtree } from "./sync-effect-subtree.js";
12
13
  patchArgvForWrapCommands(process.argv);
13
14
  NodeRuntime.runMain(Effect
14
15
  .fn("effa-cli")(function* () {
@@ -441,6 +442,24 @@ NodeRuntime.runMain(Effect
441
442
  yield* Effect.logInfo("Cleanup operation completed");
442
443
  }))
443
444
  .pipe(Command.withDescription("Nuclear cleanup command: removes all generated files and cleans the workspace"));
445
+ const syncEffect = Command
446
+ .make("sync-effect", {
447
+ manifests: Flag.string("manifests").pipe(Flag.withAlias("m"), Flag.optional, Flag.withDescription("Comma-separated list of package.json paths to scan (default: package.json)")),
448
+ prefix: Flag.string("prefix").pipe(Flag.optional, Flag.withDescription("Subtree prefix (default: repos/effect)")),
449
+ remote: Flag.string("remote").pipe(Flag.optional, Flag.withDescription("Git remote name (default: effect-smol)")),
450
+ remoteUrl: Flag.string("remote-url").pipe(Flag.optional, Flag.withDescription("Git remote URL (default: https://github.com/Effect-TS/effect-smol.git)"))
451
+ }, Effect.fn("effa-cli.sync-effect")(function* ({ manifests, prefix, remote, remoteUrl }) {
452
+ yield* syncEffectSubtree({
453
+ manifestPaths: Option.match(manifests, {
454
+ onNone: () => ["package.json"],
455
+ onSome: (m) => m.split(",").map((p) => p.trim())
456
+ }),
457
+ subtreePrefix: Option.getOrElse(prefix, () => "repos/effect"),
458
+ remoteName: Option.getOrElse(remote, () => "effect-smol"),
459
+ remoteUrl: Option.getOrElse(remoteUrl, () => "https://github.com/Effect-TS/effect-smol.git")
460
+ });
461
+ }))
462
+ .pipe(Command.withDescription("Sync the Effect subtree to the version pinned in package.json"));
444
463
  // configure CLI
445
464
  return yield* Command.run(Command
446
465
  .make("effa")
@@ -453,10 +472,11 @@ NodeRuntime.runMain(Effect
453
472
  packagejson,
454
473
  packagejsonPackages,
455
474
  gist,
456
- nuke
475
+ nuke,
476
+ syncEffect
457
477
  ])), {
458
478
  version: "v1.0.0"
459
479
  });
460
480
  })()
461
481
  .pipe(Effect.scoped, Effect.provide(Layer.provideMerge(Layer.merge(GistHandler.Default, RunCommandService.Default), NodeServices.layer))));
462
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0RBQWtEO0FBQ2xELHFDQUFxQztBQUNyQyw4Q0FBOEM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQ3hFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFdEMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFMUQsd0JBQXdCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0FBRXRDLFdBQVcsQ0FBQyxPQUFPLENBQ2pCLE1BQU07S0FDSCxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUE7SUFDdkMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQTtJQUM3QixNQUFNLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxDQUFDLDRCQUE0QixDQUFBO0lBQ2pFLE1BQU0sRUFBRSxjQUFjLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxpQkFBaUIs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
482
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0RBQWtEO0FBQ2xELHFDQUFxQztBQUNyQyw4Q0FBOEM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQ3hFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFdEMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFNUQsd0JBQXdCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0FBRXRDLFdBQVcsQ0FBQyxPQUFPLENBQ2pCLE1BQU07S0FDSCxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUE7SUFDdkMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQTtJQUM3QixNQUFNLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxDQUFDLDRCQUE0QixDQUFBO0lBQ2pFLE1B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
@@ -1,4 +1,4 @@
1
- import { Effect, Layer, ServiceMap as Context } from "effect";
1
+ import { Context, Effect, Layer } from "effect";
2
2
  import { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner";
3
3
  declare const RunCommandService_base: Context.ServiceClass<RunCommandService, "RunCommandService", {
4
4
  runGetExitCode: (cmd: string, cwd?: string) => Effect.Effect<import("effect/unstable/process/ChildProcessSpawner").ExitCode, import("effect/PlatformError").PlatformError, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"os-command.d.ts","sourceRoot":"","sources":["../src/os-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,OAAO,EAAE,MAAM,QAAQ,CAAA;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;;0BAoBhD,MAAM,QAAQ,MAAM;wBActB,MAAM,QAAQ,MAAM;;;8BAdlB,MAAM,QAAQ,MAAM;4BActB,MAAM,QAAQ,MAAM;;;AAhCnD;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,sBAsCrC;IACA,MAAM,CAAC,OAAO,6DAAgC;CAC/C"}
1
+ {"version":3,"file":"os-command.d.ts","sourceRoot":"","sources":["../src/os-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAE/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;;0BAoBhD,MAAM,QAAQ,MAAM;wBActB,MAAM,QAAQ,MAAM;;;8BAdlB,MAAM,QAAQ,MAAM;4BActB,MAAM,QAAQ,MAAM;;;AAhCnD;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,sBAsCrC;IACA,MAAM,CAAC,OAAO,6DAAgC;CAC/C"}
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable no-constant-binary-expression */
2
2
  /* eslint-disable no-empty-pattern */
3
- import { Effect, Layer, ServiceMap as Context } from "effect";
3
+ import { Context, Effect, Layer } from "effect";
4
4
  import { ChildProcess } from "effect/unstable/process";
5
5
  import { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner";
6
6
  /**
@@ -40,4 +40,4 @@ export class RunCommandService extends Context.Service()("RunCommandService", {
40
40
  }) {
41
41
  static Default = Layer.effect(this, this.make);
42
42
  }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3MtY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9vcy1jb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtEQUFrRDtBQUNsRCxxQ0FBcUM7QUFDckMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxJQUFJLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkNBQTZDLENBQUE7QUFFakY7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxPQUFPLENBQUMsT0FBTyxFQUFxQixDQUFDLG1CQUFtQixFQUFFO0lBQy9GLElBQUksRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUN4QixrREFBa0Q7UUFDbEQsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsbUJBQW1CLENBQUE7UUFFMUM7Ozs7Ozs7V0FPRztRQUNILE1BQU0sY0FBYyxHQUFHLENBQUMsR0FBVyxFQUFFLEdBQVksRUFBRSxFQUFFLENBQ25ELE9BQU87YUFDSixRQUFRLENBQ1AsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FDcEYsQ0FBQTtRQUVMOzs7Ozs7O1dBT0c7UUFDSCxNQUFNLFlBQVksR0FBRyxDQUFDLEdBQVcsRUFBRSxHQUFZLEVBQUUsRUFBRSxDQUNqRCxPQUFPO2FBQ0osTUFBTSxDQUNMLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FDOUMsQ0FBQTtRQUVMLE9BQU87WUFDTCxjQUFjO1lBQ2QsWUFBWTtTQUNiLENBQUE7SUFDSCxDQUFDLENBQUM7Q0FDSCxDQUFDO0lBQ0EsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUEifQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3MtY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9vcy1jb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtEQUFrRDtBQUNsRCxxQ0FBcUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTtBQUVqRjs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLGlCQUFrQixTQUFRLE9BQU8sQ0FBQyxPQUFPLEVBQXFCLENBQUMsbUJBQW1CLEVBQUU7SUFDL0YsSUFBSSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQ3hCLGtEQUFrRDtRQUNsRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQTtRQUUxQzs7Ozs7OztXQU9HO1FBQ0gsTUFBTSxjQUFjLEdBQUcsQ0FBQyxHQUFXLEVBQUUsR0FBWSxFQUFFLEVBQUUsQ0FDbkQsT0FBTzthQUNKLFFBQVEsQ0FDUCxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUNwRixDQUFBO1FBRUw7Ozs7Ozs7V0FPRztRQUNILE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBVyxFQUFFLEdBQVksRUFBRSxFQUFFLENBQ2pELE9BQU87YUFDSixNQUFNLENBQ0wsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUM5QyxDQUFBO1FBRUwsT0FBTztZQUNMLGNBQWM7WUFDZCxZQUFZO1NBQ2IsQ0FBQTtJQUNILENBQUMsQ0FBQztDQUNILENBQUM7SUFDQSxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQSJ9
@@ -0,0 +1,10 @@
1
+ import { Effect, FileSystem } from "effect";
2
+ import { RunCommandService } from "./os-command.js";
3
+ export interface SyncEffectConfig {
4
+ readonly manifestPaths: ReadonlyArray<string>;
5
+ readonly subtreePrefix: string;
6
+ readonly remoteName: string;
7
+ readonly remoteUrl: string;
8
+ }
9
+ export declare const syncEffectSubtree: (config: SyncEffectConfig) => Effect.Effect<undefined, import("effect/PlatformError").PlatformError | Error, FileSystem.FileSystem | RunCommandService>;
10
+ //# sourceMappingURL=sync-effect-subtree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-effect-subtree.d.ts","sourceRoot":"","sources":["../src/sync-effect-subtree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAU,MAAM,QAAQ,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEnD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC7C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AASD,eAAO,MAAM,iBAAiB,yJAuG5B,CAAA"}
@@ -0,0 +1,75 @@
1
+ import { Effect, FileSystem, Option } from "effect";
2
+ import { RunCommandService } from "./os-command.js";
3
+ const depSections = ["dependencies", "devDependencies", "peerDependencies", "optionalDependencies"];
4
+ const normalizeVersion = (range) => {
5
+ const match = range.match(/\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?/);
6
+ return match?.[0];
7
+ };
8
+ export const syncEffectSubtree = Effect.fnUntraced(function* (config) {
9
+ const fs = yield* FileSystem.FileSystem;
10
+ const { runGetExitCode, runGetString } = yield* RunCommandService;
11
+ const versionMentions = [];
12
+ for (const manifestPath of config.manifestPaths) {
13
+ if (!(yield* fs.exists(manifestPath)))
14
+ continue;
15
+ const manifest = JSON.parse(yield* fs.readFileString(manifestPath));
16
+ for (const section of depSections) {
17
+ const deps = (manifest[section] ?? {});
18
+ for (const [name, range] of Object.entries(deps)) {
19
+ if (name !== "effect" && !name.startsWith("@effect/"))
20
+ continue;
21
+ const normalized = normalizeVersion(String(range));
22
+ if (!normalized)
23
+ continue;
24
+ versionMentions.push({ manifestPath, section, name, range: String(range), normalized });
25
+ }
26
+ }
27
+ }
28
+ const effectPackageMentions = versionMentions.filter((e) => e.name === "effect");
29
+ const versionsFromEffectPackage = [...new Set(effectPackageMentions.map((e) => e.normalized))];
30
+ const versionsFromEffectScope = [
31
+ ...new Set(versionMentions
32
+ .filter((e) => e.name.startsWith("@effect/") && e.normalized.startsWith("4."))
33
+ .map((e) => e.normalized))
34
+ ];
35
+ const versions = versionsFromEffectPackage.length > 0
36
+ ? versionsFromEffectPackage
37
+ : versionsFromEffectScope;
38
+ if (versions.length === 0) {
39
+ return yield* Effect.fail(new Error("Could not find any effect/@effect dependency versions in manifests"));
40
+ }
41
+ if (versions.length > 1) {
42
+ const details = (effectPackageMentions.length > 0 ? effectPackageMentions : versionMentions)
43
+ .map((e) => `${e.manifestPath} (${e.section}) ${e.name}: ${e.range}`)
44
+ .join("\n");
45
+ return yield* Effect.fail(new Error(`Found multiple Effect versions. Please align first:\n${details}`));
46
+ }
47
+ const version = versions[0];
48
+ const candidateRefs = [
49
+ `effect@${version}`,
50
+ `@effect/effect@${version}`,
51
+ `@effect/ai-anthropic@${version}`
52
+ ];
53
+ // ensure remote exists
54
+ const remoteResult = yield* runGetString(`git remote get-url ${config.remoteName}`).pipe(Effect.option);
55
+ if (Option.isNone(remoteResult)) {
56
+ yield* runGetExitCode(`git remote add ${config.remoteName} ${config.remoteUrl}`);
57
+ }
58
+ yield* runGetExitCode(`git fetch ${config.remoteName} --tags`);
59
+ let ref;
60
+ for (const candidate of candidateRefs) {
61
+ const tagResult = yield* runGetString(`git ls-remote --exit-code --tags ${config.remoteName} refs/tags/${candidate}`)
62
+ .pipe(Effect.option);
63
+ if (Option.isSome(tagResult)) {
64
+ ref = candidate;
65
+ break;
66
+ }
67
+ }
68
+ if (!ref) {
69
+ return yield* Effect.fail(new Error(`No matching tag found for version ${version}. Tried: ${candidateRefs.join(", ")}`));
70
+ }
71
+ yield* Effect.logInfo(`Using effect version: ${version}`);
72
+ yield* Effect.logInfo(`Using subtree ref: ${ref}`);
73
+ yield* runGetExitCode(`git -c status.showUntrackedFiles=no subtree pull --prefix=${config.subtreePrefix} ${config.remoteName} ${ref} --squash`);
74
+ });
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1lZmZlY3Qtc3VidHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zeW5jLWVmZmVjdC1zdWJ0cmVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQVNuRCxNQUFNLFdBQVcsR0FBRyxDQUFDLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsQ0FBVSxDQUFBO0FBRTVHLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxLQUFhLEVBQUUsRUFBRTtJQUN6QyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUE7SUFDOUQsT0FBTyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNuQixDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFDLE1BQXdCO0lBQ25GLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUE7SUFDdkMsTUFBTSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQTtJQUVqRSxNQUFNLGVBQWUsR0FNaEIsRUFBRSxDQUFBO0lBRVAsS0FBSyxNQUFNLFlBQVksSUFBSSxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDaEQsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUFFLFNBQVE7UUFFL0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxD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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-app/cli",
3
- "version": "2.0.1-beta.9",
3
+ "version": "2.1.0-beta.14",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "bin": {
@@ -9,8 +9,8 @@
9
9
  "effect-app-cli": "./bin.js"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-node": "^4.0.0-beta.43",
13
- "effect": "^4.0.0-beta.43",
12
+ "@effect/platform-node": "^4.0.0-beta.52",
13
+ "effect": "^4.0.0-beta.52",
14
14
  "js-yaml": "4.1.1",
15
15
  "node-watch": "^0.7.4"
16
16
  },
@@ -20,8 +20,8 @@
20
20
  "json5": "^2.2.3",
21
21
  "typescript": "~6.0.2",
22
22
  "vitest": "^4.1.3",
23
- "effect-app": "4.0.0-beta.59",
24
- "@effect-app/eslint-shared-config": "0.5.7-beta.7"
23
+ "@effect-app/eslint-shared-config": "0.6.0-beta.10",
24
+ "effect-app": "4.0.0-beta.118"
25
25
  },
26
26
  "typesVersions": {
27
27
  "*": {
@@ -54,6 +54,10 @@
54
54
  "./shared": {
55
55
  "types": "./dist/shared.d.ts",
56
56
  "default": "./dist/shared.js"
57
+ },
58
+ "./sync-effect-subtree": {
59
+ "types": "./dist/sync-effect-subtree.d.ts",
60
+ "default": "./dist/sync-effect-subtree.js"
57
61
  }
58
62
  },
59
63
  "gitHead": "bd8e27eea3eff97db8739d577d67e7336c078d28",
package/src/gist.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable no-constant-binary-expression */
2
2
  /* eslint-disable no-empty-pattern */
3
3
  // import necessary modules from the libraries
4
- import { Array, Config, Data, Effect, FileSystem, Layer, Option, Path, pipe, Redacted, Result, Schema, SchemaIssue, SchemaTransformation, ServiceMap as Context, SynchronizedRef } from "effect"
4
+ import { Array, Config, Context, Data, Effect, FileSystem, Layer, Option, Path, pipe, Redacted, Result, Schema, SchemaIssue, SchemaTransformation, SynchronizedRef } from "effect"
5
5
 
6
6
  import * as yaml from "js-yaml"
7
7
  import path from "path"
@@ -256,7 +256,7 @@ class GHGistService extends Context.Service<GHGistService>()("GHGistService", {
256
256
 
257
257
  const entries = yield* pipe(
258
258
  cacheContent,
259
- Schema.decodeUnknownEffect(Schema.fromJsonString(GistCacheEntries)),
259
+ Schema.decodeUnknownEffect(Schema.fromJsonString(Schema.toCodecJson(GistCacheEntries))),
260
260
  Effect.orDie
261
261
  )
262
262
 
@@ -301,7 +301,7 @@ class GHGistService extends Context.Service<GHGistService>()("GHGistService", {
301
301
  function*(cache: GistCache) {
302
302
  const cacheJson = yield* pipe(
303
303
  cache.entries,
304
- Schema.encodeUnknownEffect(Schema.fromJsonString(GistCacheEntries)),
304
+ Schema.encodeUnknownEffect(Schema.fromJsonString(Schema.toCodecJson(GistCacheEntries))),
305
305
  // cannot recover from parse errors in any case, better to die here instead of cluttering the signature
306
306
  Effect.orDie
307
307
  )
package/src/index.ts CHANGED
@@ -11,6 +11,7 @@ import { RunCommandService } from "./os-command.js"
11
11
  import { packages } from "./shared.js"
12
12
 
13
13
  import { patchArgvForWrapCommands } from "./argv-patch.js"
14
+ import { syncEffectSubtree } from "./sync-effect-subtree.js"
14
15
 
15
16
  patchArgvForWrapCommands(process.argv)
16
17
 
@@ -693,6 +694,46 @@ NodeRuntime.runMain(
693
694
  )
694
695
  .pipe(Command.withDescription("Nuclear cleanup command: removes all generated files and cleans the workspace"))
695
696
 
697
+ const syncEffect = Command
698
+ .make(
699
+ "sync-effect",
700
+ {
701
+ manifests: Flag.string("manifests").pipe(
702
+ Flag.withAlias("m"),
703
+ Flag.optional,
704
+ Flag.withDescription(
705
+ "Comma-separated list of package.json paths to scan (default: package.json)"
706
+ )
707
+ ),
708
+ prefix: Flag.string("prefix").pipe(
709
+ Flag.optional,
710
+ Flag.withDescription("Subtree prefix (default: repos/effect)")
711
+ ),
712
+ remote: Flag.string("remote").pipe(
713
+ Flag.optional,
714
+ Flag.withDescription("Git remote name (default: effect-smol)")
715
+ ),
716
+ remoteUrl: Flag.string("remote-url").pipe(
717
+ Flag.optional,
718
+ Flag.withDescription(
719
+ "Git remote URL (default: https://github.com/Effect-TS/effect-smol.git)"
720
+ )
721
+ )
722
+ },
723
+ Effect.fn("effa-cli.sync-effect")(function*({ manifests, prefix, remote, remoteUrl }) {
724
+ yield* syncEffectSubtree({
725
+ manifestPaths: Option.match(manifests, {
726
+ onNone: () => ["package.json"],
727
+ onSome: (m) => m.split(",").map((p) => p.trim())
728
+ }),
729
+ subtreePrefix: Option.getOrElse(prefix, () => "repos/effect"),
730
+ remoteName: Option.getOrElse(remote, () => "effect-smol"),
731
+ remoteUrl: Option.getOrElse(remoteUrl, () => "https://github.com/Effect-TS/effect-smol.git")
732
+ })
733
+ })
734
+ )
735
+ .pipe(Command.withDescription("Sync the Effect subtree to the version pinned in package.json"))
736
+
696
737
  // configure CLI
697
738
  return yield* Command.run(
698
739
  Command
@@ -706,7 +747,8 @@ NodeRuntime.runMain(
706
747
  packagejson,
707
748
  packagejsonPackages,
708
749
  gist,
709
- nuke
750
+ nuke,
751
+ syncEffect
710
752
  ])),
711
753
  {
712
754
  version: "v1.0.0"
package/src/os-command.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable no-constant-binary-expression */
2
2
  /* eslint-disable no-empty-pattern */
3
- import { Effect, Layer, ServiceMap as Context } from "effect"
3
+ import { Context, Effect, Layer } from "effect"
4
4
  import { ChildProcess } from "effect/unstable/process"
5
5
  import { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner"
6
6
 
@@ -0,0 +1,121 @@
1
+ import { Effect, FileSystem, Option } from "effect"
2
+ import { RunCommandService } from "./os-command.js"
3
+
4
+ export interface SyncEffectConfig {
5
+ readonly manifestPaths: ReadonlyArray<string>
6
+ readonly subtreePrefix: string
7
+ readonly remoteName: string
8
+ readonly remoteUrl: string
9
+ }
10
+
11
+ const depSections = ["dependencies", "devDependencies", "peerDependencies", "optionalDependencies"] as const
12
+
13
+ const normalizeVersion = (range: string) => {
14
+ const match = range.match(/\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?/)
15
+ return match?.[0]
16
+ }
17
+
18
+ export const syncEffectSubtree = Effect.fnUntraced(function*(config: SyncEffectConfig) {
19
+ const fs = yield* FileSystem.FileSystem
20
+ const { runGetExitCode, runGetString } = yield* RunCommandService
21
+
22
+ const versionMentions: Array<{
23
+ manifestPath: string
24
+ section: string
25
+ name: string
26
+ range: string
27
+ normalized: string
28
+ }> = []
29
+
30
+ for (const manifestPath of config.manifestPaths) {
31
+ if (!(yield* fs.exists(manifestPath))) continue
32
+
33
+ const manifest = JSON.parse(yield* fs.readFileString(manifestPath))
34
+
35
+ for (const section of depSections) {
36
+ const deps = (manifest[section] ?? {}) as Record<string, string>
37
+
38
+ for (const [name, range] of Object.entries(deps)) {
39
+ if (name !== "effect" && !name.startsWith("@effect/")) continue
40
+
41
+ const normalized = normalizeVersion(String(range))
42
+ if (!normalized) continue
43
+
44
+ versionMentions.push({ manifestPath, section, name, range: String(range), normalized })
45
+ }
46
+ }
47
+ }
48
+
49
+ const effectPackageMentions = versionMentions.filter((e) => e.name === "effect")
50
+
51
+ const versionsFromEffectPackage = [...new Set(effectPackageMentions.map((e) => e.normalized))]
52
+
53
+ const versionsFromEffectScope = [
54
+ ...new Set(
55
+ versionMentions
56
+ .filter((e) => e.name.startsWith("@effect/") && e.normalized.startsWith("4."))
57
+ .map((e) => e.normalized)
58
+ )
59
+ ]
60
+
61
+ const versions = versionsFromEffectPackage.length > 0
62
+ ? versionsFromEffectPackage
63
+ : versionsFromEffectScope
64
+
65
+ if (versions.length === 0) {
66
+ return yield* Effect.fail(
67
+ new Error("Could not find any effect/@effect dependency versions in manifests")
68
+ )
69
+ }
70
+
71
+ if (versions.length > 1) {
72
+ const details = (effectPackageMentions.length > 0 ? effectPackageMentions : versionMentions)
73
+ .map((e) => `${e.manifestPath} (${e.section}) ${e.name}: ${e.range}`)
74
+ .join("\n")
75
+
76
+ return yield* Effect.fail(
77
+ new Error(`Found multiple Effect versions. Please align first:\n${details}`)
78
+ )
79
+ }
80
+
81
+ const version = versions[0]
82
+ const candidateRefs = [
83
+ `effect@${version}`,
84
+ `@effect/effect@${version}`,
85
+ `@effect/ai-anthropic@${version}`
86
+ ]
87
+
88
+ // ensure remote exists
89
+ const remoteResult = yield* runGetString(`git remote get-url ${config.remoteName}`).pipe(Effect.option)
90
+
91
+ if (Option.isNone(remoteResult)) {
92
+ yield* runGetExitCode(`git remote add ${config.remoteName} ${config.remoteUrl}`)
93
+ }
94
+
95
+ yield* runGetExitCode(`git fetch ${config.remoteName} --tags`)
96
+
97
+ let ref: string | undefined
98
+ for (const candidate of candidateRefs) {
99
+ const tagResult = yield* runGetString(
100
+ `git ls-remote --exit-code --tags ${config.remoteName} refs/tags/${candidate}`
101
+ )
102
+ .pipe(Effect.option)
103
+
104
+ if (Option.isSome(tagResult)) {
105
+ ref = candidate
106
+ break
107
+ }
108
+ }
109
+
110
+ if (!ref) {
111
+ return yield* Effect.fail(
112
+ new Error(`No matching tag found for version ${version}. Tried: ${candidateRefs.join(", ")}`)
113
+ )
114
+ }
115
+
116
+ yield* Effect.logInfo(`Using effect version: ${version}`)
117
+ yield* Effect.logInfo(`Using subtree ref: ${ref}`)
118
+ yield* runGetExitCode(
119
+ `git -c status.showUntrackedFiles=no subtree pull --prefix=${config.subtreePrefix} ${config.remoteName} ${ref} --squash`
120
+ )
121
+ })