@ethlete/agent-rules 0.1.0-next.12 → 0.1.0-next.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,19 @@
1
1
  # @ethlete/agent-rules
2
2
 
3
+ ## 0.1.0-next.14
4
+
5
+ ### Minor Changes
6
+
7
+ - [#3075](https://github.com/ethlete-io/ethdk/pull/3075) [`1d38e7e`](https://github.com/ethlete-io/ethdk/commit/1d38e7e0a025769f065d8ca7d506cb75ad89139a) Thanks [@github-actions](https://github.com/apps/github-actions)! - `et update` moves the `@ethlete/*` packages to a newer version, runs the codemods those versions
8
+ declare in their own `migrations.json`, and reports what needs a decision or an agent.
9
+
10
+ ## 0.1.0-next.13
11
+
12
+ ### Minor Changes
13
+
14
+ - [`b6fe4be`](https://github.com/ethlete-io/ethdk/commit/b6fe4beae010aaa2e0e367d636f6759442983395) Thanks [@TomTomB](https://github.com/TomTomB)! - `sdkSourcePath`, `apiRepoPaths` and `apiRepoBranches` moved to `ethlete.config.local.json`, owned by
15
+ `@ethlete/cli`. The old file is still read, and reports where they went.
16
+
3
17
  ## 0.1.0-next.12
4
18
 
5
19
  ### Patch Changes
package/README.md CHANGED
@@ -393,15 +393,13 @@ from `AGENTS.md`, which `sync` already writes.
393
393
 
394
394
  ## Per-machine local config
395
395
 
396
- A gitignored `ethlete-agents.config.local.json` at the repo root holds the values that
397
- differ per developer, without touching any committed file:
396
+ A gitignored `ethlete-agents.config.local.json` at the repo root holds the agent behaviour
397
+ that differs per developer, without touching any committed file:
398
398
 
399
399
  ```json
400
400
  {
401
401
  "disableHooks": true,
402
- "sdkSourcePath": "/absolute/path/to/ethlete-sdk",
403
- "apiRepoPaths": { "hub": "../fut-hub-backend", "*": "../shared-backend" },
404
- "apiRepoBranches": { "hub": "develop", "*": "main" }
402
+ "disableAutoHandoffSave": true
405
403
  }
406
404
  ```
407
405
 
@@ -411,26 +409,20 @@ differ per developer, without touching any committed file:
411
409
  - **`disableAutoHandoffSave`** - keeps the `context-warning` hook's tiered warnings but
412
410
  drops the auto-mode escalation: at the critical tier it recommends `/ethlete-handoff`
413
411
  instead of saving the handoff file itself.
414
- - **`sdkSourcePath`** - a local `ethlete-sdk` checkout. The `sdk-source` and
415
- `sdk-local-build` skills read it when the agent needs the SDK's own sources, or has to
416
- build the SDK and install it here through a `file:` dependency. A relative path is
417
- resolved from the repo root.
418
- - **`apiRepoPaths`** - one checkout per app, keyed by the app's project name
419
- (`{ "hub": "../fut-hub-backend" }`). The `api-source` skill reads it to confirm a
420
- response shape, a status code or an enum in the API's own source instead of guessing it
421
- from the client. Relative paths resolve from the repo root. Matching is exact; use the
422
- explicit `"*"` key only when apps intentionally share a checkout.
423
- - **`apiRepoBranches`** - the expected backend branch per app. It uses the same exact-key
424
- and explicit `"*"` fallback rules. Omit it when branch identity is not part of the
425
- environment contract; the source guide then treats the current branch as context.
426
412
 
427
413
  Everything in this file is read at runtime, never by `sync`: the generated files stay
428
414
  identical on every machine and in CI, which is what lets `check` diff them. That is also
429
- why the file takes nothing beyond these keys - `sync`/`check` warn about unknown keys,
430
- about an `sdkSourcePath` that is missing or is not an SDK checkout, and about an
431
- `apiRepoPaths` entry that is not a directory, and invalid `apiRepoBranches` values. Add
415
+ why the file takes nothing beyond these keys - `sync`/`check` warn about unknown keys. Add
432
416
  the filename to your repo's `.gitignore`.
433
417
 
418
+ ### Where the sibling checkouts live
419
+
420
+ `sdkSourcePath`, `apiRepoPaths` and `apiRepoBranches` used to live in the file above. They
421
+ moved to `ethlete.config.local.json`, which [`@ethlete/cli`](../cli/README.md) owns, because
422
+ `et api` needs the same values the skills do. `sync`/`check` still read that file and warn
423
+ about a path that is missing or is not the checkout it claims to be, and they tell you to
424
+ move any of the three keys still found in the agents file.
425
+
434
426
  ## Authoring content
435
427
 
436
428
  `content/rules/<name>.md` for short, always-loaded rules; `content/skills/<name>/SKILL.md`
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: api-source
3
- description: How to read the source of the API an app in this repo talks to, from a local backend checkout named in ethlete-agents.config.local.json. Read when a response shape, a status code, an error body, an enum or an auth rule has to be confirmed rather than guessed - and never edit that checkout as part of work in this repo.
3
+ description: How to read the source of the API an app in this repo talks to, from a local backend checkout named in ethlete.config.local.json. Read when a response shape, a status code, an error body, an enum or an auth rule has to be confirmed rather than guessed - and never edit that checkout as part of work in this repo.
4
4
  kind: skill
5
5
  scope: consumer
6
6
  ---
@@ -26,7 +26,7 @@ the checkout is not deployed until the API team ships it.
26
26
 
27
27
  One repository can hold several apps, each with its own API, so the paths are a map from
28
28
  app to checkout. They are per machine, so the map lives in the gitignored
29
- `ethlete-agents.config.local.json` at the repo root:
29
+ `ethlete.config.local.json` at the repo root:
30
30
 
31
31
  ```json
32
32
  {
@@ -41,6 +41,9 @@ app to checkout. They are per machine, so the map lives in the gitignored
41
41
  }
42
42
  ```
43
43
 
44
+ Older checkouts still keep these keys in `ethlete-agents.config.local.json`. Read that file as a
45
+ fallback when `ethlete.config.local.json` is absent.
46
+
44
47
  Read that file before searching anywhere. The rules:
45
48
 
46
49
  - **The key is the app** as this repo names it - the workspace project name, which is
@@ -17,7 +17,7 @@ published yet, or when you are iterating on it.
17
17
 
18
18
  ## 1. Prerequisites
19
19
 
20
- - The checkout path comes from `sdkSourcePath` in `ethlete-agents.config.local.json`;
20
+ - The checkout path comes from `sdkSourcePath` in `ethlete.config.local.json`;
21
21
  {%skill:sdk-source%} covers resolving it and what to check before trusting it.
22
22
  - The checkout has its dependencies installed (`yarn install` in the checkout root - the
23
23
  SDK repo is a Yarn 4 workspace).
@@ -21,7 +21,7 @@ first. Reach for the source when the docs genuinely cannot answer the question:
21
21
 
22
22
  ## 1. Resolve the checkout
23
23
 
24
- The path is per machine, so it lives in the gitignored `ethlete-agents.config.local.json`
24
+ The path is per machine, so it lives in the gitignored `ethlete.config.local.json`
25
25
  at the repo root:
26
26
 
27
27
  ```json
@@ -30,6 +30,9 @@ at the repo root:
30
30
  }
31
31
  ```
32
32
 
33
+ Older checkouts still keep this key in `ethlete-agents.config.local.json`. Read that file as a
34
+ fallback when `ethlete.config.local.json` is absent.
35
+
33
36
  Read that file before searching anywhere. A relative path is resolved from the repo root.
34
37
 
35
38
  If the file or the key is missing, **do not guess a path** and do not clone the
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: sdk-update
3
+ description: Update the @ethlete/* packages in this repo with `et update`, and work the migration tasks it leaves behind - the codemods it runs itself, the recommendations a human must decide, and the tasks written as a prompt for you. Read whenever this repo moves to a newer @ethlete version, when a task list under .ethlete/update is present, or when the user asks you to apply an SDK migration.
4
+ kind: skill
5
+ scope: consumer
6
+ requires: ['@ethlete/cli']
7
+ vars: [docsBaseUrl, lintCommand]
8
+ ---
9
+
10
+ # Updating the @ethlete SDK
11
+
12
+ `et update` moves this repo's `@ethlete/*` dependencies to a newer version and runs the migrations
13
+ those versions ship. Never bump an `@ethlete/*` range by hand: the version that lands is what selects
14
+ the migrations, so a hand-written bump skips every one of them silently.
15
+
16
+ ## 1. See what is pending
17
+
18
+ ```bash
19
+ yarn et update --check
20
+ ```
21
+
22
+ It prints one line per package, `installed → target`, and exits 1 while an update is pending. It
23
+ writes nothing. The target follows the dist tag the installed version is on: a repo on a `-next`
24
+ prerelease stays on `next`.
25
+
26
+ Name a package to limit the run, short or in full:
27
+
28
+ ```bash
29
+ yarn et update core # only @ethlete/core
30
+ yarn et update core --to 5.0.0-next.55
31
+ yarn et update --tag latest # leave the prerelease line
32
+ ```
33
+
34
+ ## 2. Run it
35
+
36
+ The working tree must be clean - the codemods rewrite files, and you need a diff you can read.
37
+ Commit or stash first, then:
38
+
39
+ ```bash
40
+ yarn et update
41
+ ```
42
+
43
+ In order, it writes the new ranges into `package.json`, runs the install, reads the migrations out of
44
+ the freshly installed packages, runs every codemod, and writes what is left to `.ethlete/update`.
45
+
46
+ If the install or a codemod fails, the run stops and leaves `.ethlete/update/pending.json` behind.
47
+ Fix the cause, then continue - do not start over, or the migrations of the versions already installed
48
+ are skipped:
49
+
50
+ ```bash
51
+ yarn et update --continue
52
+ ```
53
+
54
+ ## 3. Work the task list
55
+
56
+ Two files describe what is left. Read the JSON one when you work through the list yourself:
57
+
58
+ | File | What it holds |
59
+ | --------------------------------- | --------------------------------------------------------------------- |
60
+ | `.ethlete/update/tasks.md` | The report for a human: what moved, what applied, what is left |
61
+ | `.ethlete/update/tasks.json` | The same tasks as data: `kind`, `instructionsFile`, `docsUrl` |
62
+ | `.ethlete/update/<pkg>-<name>.md` | One task in full: what moved, plus the instructions the package ships |
63
+
64
+ Every task carries a `kind`, and the kind decides who acts:
65
+
66
+ - **`assisted`** - written for you. The task file states one change to apply across this repo. Read the
67
+ whole file before the first edit, then apply it. These are the changes no codemod can make, so expect
68
+ a decision per call site rather than one pattern.
69
+ - **`manual`** - a recommendation for the developer. It needs a product or design decision, or a
70
+ command with answers only they have. Do not guess the answer. Report the task and what it needs.
71
+ - **`unsupported`** - a codemod that could not run here, because this repo has no Nx. The task carries
72
+ the exact command. Ask before running it: it rewrites files.
73
+
74
+ ## 4. Finish
75
+
76
+ 1. Run the type check and `{%lintCommand%}` for every project you changed.
77
+ 2. Run the tests that cover what you touched.
78
+ 3. Delete the task files you finished under `.ethlete/update`, and leave the ones you could not decide.
79
+ 4. Tell the user, per task: what you changed, and what still needs their decision.
80
+
81
+ ## Rules
82
+
83
+ - **Never invent a migration.** Only the tasks in `.ethlete/update` and the guides they link are real.
84
+ A rewrite you reasoned out from a version number is a guess.
85
+ - **Never edit the generated report to make it look done.** Deleting a finished task file is right;
86
+ deleting an entry you did not work is not.
87
+ - **One task at a time.** Each has its own diff, so a failure stays readable.
88
+ - The version notes and every guide a task links live at {%docsBaseUrl%}.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ethlete/agent-rules",
3
- "version": "0.1.0-next.12",
3
+ "version": "0.1.0-next.14",
4
4
  "license": "MIT",
5
5
  "type": "commonjs",
6
6
  "exports": {
@@ -43,13 +43,9 @@ export type SyncConfig = {
43
43
  * - `disableAutoHandoffSave: true` keeps the context-warning hook's normal tiered messages (including
44
44
  * in auto mode), but at the critical tier in auto mode it falls back to just recommending
45
45
  * a handoff instead of writing the handoff file automatically.
46
- * - `sdkSourcePath` points at a local `ethlete-sdk` checkout, which the SDK source and local-build
47
- * skills read when they need the SDK's own sources instead of the published package.
48
- * - `apiRepoPaths` maps an app in this repo to the checkout of the API it talks to (`{ "hub":
49
- * "../fut-hub-backend" }`), which the api-source skill reads to answer a question about the
50
- * server instead of guessing it from the client.
51
- * - `apiRepoBranches` optionally maps each app to the backend branch that should represent its
52
- * deployed development environment. Both maps may use `"*"` as an explicit shared fallback.
46
+ *
47
+ * Where the sibling checkouts live (`sdkSourcePath`, `apiRepoPaths`, `apiRepoBranches`) is not here:
48
+ * it moved to `@ethlete/cli`'s `ethlete.config.local.json`, because `et` reads the same values.
53
49
  *
54
50
  * No secret belongs here any more. Jira is reached through the Timetrack app, which holds the token
55
51
  * in the machine's keychain — one secret per machine rather than one per checkout.
@@ -57,9 +53,6 @@ export type SyncConfig = {
57
53
  export type LocalConfig = {
58
54
  disableHooks?: boolean | string[];
59
55
  disableAutoHandoffSave?: boolean;
60
- sdkSourcePath?: string;
61
- apiRepoPaths?: Record<string, string>;
62
- apiRepoBranches?: Record<string, string>;
63
56
  };
64
57
  export type LocalConfigState = {
65
58
  exists: false;
@@ -71,7 +64,17 @@ export type LocalConfigState = {
71
64
  valid: true;
72
65
  config: LocalConfig;
73
66
  unknownKeys: string[];
67
+ movedKeys: string[];
74
68
  };
69
+ export declare const LOCAL_CONFIG_KEYS: (keyof LocalConfig)[];
70
+ /**
71
+ * Repo topology moved to `@ethlete/cli`'s `ethlete.config.local.json`, because `et` needs it too.
72
+ * Still recognised here so a checkout that has not moved them yet gets told where they went
73
+ * instead of an "unsupported key" warning.
74
+ */
75
+ export declare const MOVED_LOCAL_CONFIG_KEYS: string[];
76
+ /** Named only to point a migration at it. `@ethlete/cli` owns the file and validates its values. */
77
+ export declare const TOPOLOGY_CONFIG_FILE_NAME = "ethlete.config.local.json";
75
78
  export declare const readLocalConfig: (root: string) => LocalConfigState;
76
79
  /**
77
80
  * Emit for the agents a repo already uses. `codex` is always included: `AGENTS.md` is the
package/src/lib/config.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadConfig = exports.detectTargets = exports.readLocalConfig = exports.LOCAL_CONFIG_FILE_NAME = exports.CONFIG_FILE_NAME = exports.AGENT_TARGETS = void 0;
3
+ exports.loadConfig = exports.detectTargets = exports.readLocalConfig = exports.TOPOLOGY_CONFIG_FILE_NAME = exports.MOVED_LOCAL_CONFIG_KEYS = exports.LOCAL_CONFIG_KEYS = exports.LOCAL_CONFIG_FILE_NAME = exports.CONFIG_FILE_NAME = exports.AGENT_TARGETS = void 0;
4
4
  const fs_1 = require("fs");
5
5
  const path_1 = require("path");
6
6
  const commitlint_1 = require("./commitlint");
@@ -15,13 +15,15 @@ const readRawConfig = (root) => {
15
15
  return {};
16
16
  return JSON.parse((0, fs_1.readFileSync)(path, 'utf8'));
17
17
  };
18
- const LOCAL_CONFIG_KEYS = [
19
- 'disableHooks',
20
- 'disableAutoHandoffSave',
21
- 'sdkSourcePath',
22
- 'apiRepoPaths',
23
- 'apiRepoBranches',
24
- ];
18
+ exports.LOCAL_CONFIG_KEYS = ['disableHooks', 'disableAutoHandoffSave'];
19
+ /**
20
+ * Repo topology moved to `@ethlete/cli`'s `ethlete.config.local.json`, because `et` needs it too.
21
+ * Still recognised here so a checkout that has not moved them yet gets told where they went
22
+ * instead of an "unsupported key" warning.
23
+ */
24
+ exports.MOVED_LOCAL_CONFIG_KEYS = ['sdkSourcePath', 'apiRepoPaths', 'apiRepoBranches'];
25
+ /** Named only to point a migration at it. `@ethlete/cli` owns the file and validates its values. */
26
+ exports.TOPOLOGY_CONFIG_FILE_NAME = 'ethlete.config.local.json';
25
27
  const readLocalConfig = (root) => {
26
28
  const path = (0, path_1.join)(root, exports.LOCAL_CONFIG_FILE_NAME);
27
29
  if (!(0, fs_1.existsSync)(path))
@@ -36,8 +38,10 @@ const readLocalConfig = (root) => {
36
38
  if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed))
37
39
  return { exists: true, valid: false };
38
40
  const config = parsed;
39
- const unknownKeys = Object.keys(config).filter((key) => !LOCAL_CONFIG_KEYS.includes(key));
40
- return { exists: true, valid: true, config, unknownKeys };
41
+ const keys = Object.keys(config);
42
+ const movedKeys = keys.filter((key) => exports.MOVED_LOCAL_CONFIG_KEYS.includes(key));
43
+ const unknownKeys = keys.filter((key) => !exports.LOCAL_CONFIG_KEYS.includes(key) && !movedKeys.includes(key));
44
+ return { exists: true, valid: true, config, unknownKeys, movedKeys };
41
45
  };
42
46
  exports.readLocalConfig = readLocalConfig;
43
47
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/config.ts"],"names":[],"mappings":"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"}
package/src/lib/plan.js CHANGED
@@ -67,63 +67,6 @@ const claudeMdImportsAgentsMd = (root) => {
67
67
  return /^@AGENTS\.md\s*$/m.test((0, fs_1.readFileSync)(path, 'utf8'));
68
68
  };
69
69
  exports.claudeMdImportsAgentsMd = claudeMdImportsAgentsMd;
70
- /** Marks a directory as an `ethlete-sdk` checkout rather than some other folder. */
71
- const SDK_CHECKOUT_MARKERS = ['libs/components', 'libs/core', 'libs/agent-rules'];
72
- const describeSdkSourcePath = (options) => {
73
- const { root, value } = options;
74
- if (value === undefined)
75
- return [];
76
- if (typeof value !== 'string' || value.trim().length === 0) {
77
- return [`${config_1.LOCAL_CONFIG_FILE_NAME} has an invalid "sdkSourcePath" — use a path to an ethlete-sdk checkout.`];
78
- }
79
- const absolute = (0, path_1.resolve)(root, value);
80
- if (!(0, fs_1.existsSync)(absolute)) {
81
- return [`${config_1.LOCAL_CONFIG_FILE_NAME} points "sdkSourcePath" at ${absolute}, which does not exist.`];
82
- }
83
- if (SDK_CHECKOUT_MARKERS.some((marker) => !(0, fs_1.existsSync)((0, path_1.join)(absolute, marker)))) {
84
- return [`${config_1.LOCAL_CONFIG_FILE_NAME} points "sdkSourcePath" at ${absolute}, which is not an ethlete-sdk checkout.`];
85
- }
86
- return [];
87
- };
88
- /**
89
- * An API repo can be any stack, so there is no marker to check the way an SDK checkout has one —
90
- * only that every entry names an app and points at a directory that is there.
91
- */
92
- const describeApiRepoPaths = (options) => {
93
- const { root, value } = options;
94
- if (value === undefined)
95
- return [];
96
- if (typeof value !== 'object' || value === null || Array.isArray(value)) {
97
- return [
98
- `${config_1.LOCAL_CONFIG_FILE_NAME} has an invalid "apiRepoPaths" value — use an object mapping an app name to its API repo path.`,
99
- ];
100
- }
101
- return Object.entries(value).flatMap(([app, path]) => {
102
- if (typeof path !== 'string' || path.trim().length === 0) {
103
- return [`${config_1.LOCAL_CONFIG_FILE_NAME} has an invalid "apiRepoPaths.${app}" value — use a path to the API repo.`];
104
- }
105
- const absolute = (0, path_1.resolve)(root, path);
106
- if (!(0, fs_1.existsSync)(absolute)) {
107
- return [`${config_1.LOCAL_CONFIG_FILE_NAME} points "apiRepoPaths.${app}" at ${absolute}, which does not exist.`];
108
- }
109
- if (!(0, fs_1.statSync)(absolute).isDirectory()) {
110
- return [`${config_1.LOCAL_CONFIG_FILE_NAME} points "apiRepoPaths.${app}" at ${absolute}, which is not a directory.`];
111
- }
112
- return [];
113
- });
114
- };
115
- const describeApiRepoBranches = (value) => {
116
- if (value === undefined)
117
- return [];
118
- if (typeof value !== 'object' || value === null || Array.isArray(value)) {
119
- return [
120
- `${config_1.LOCAL_CONFIG_FILE_NAME} has an invalid "apiRepoBranches" value — use an object mapping an app name to its expected API branch.`,
121
- ];
122
- }
123
- return Object.entries(value).flatMap(([app, branch]) => typeof branch === 'string' && branch.trim().length > 0
124
- ? []
125
- : [`${config_1.LOCAL_CONFIG_FILE_NAME} has an invalid "apiRepoBranches.${app}" value — use a non-empty branch name.`]);
126
- };
127
70
  /**
128
71
  * The local file only affects runtime behavior, never sync output — so the warnings here are about
129
72
  * the mistakes that would otherwise fail silently: a file the hooks can't parse, a key that
@@ -139,11 +82,12 @@ const collectLocalConfigWarnings = (root) => {
139
82
  }
140
83
  const warnings = [];
141
84
  if (local.unknownKeys.length > 0) {
142
- warnings.push(`${config_1.LOCAL_CONFIG_FILE_NAME} contains unsupported key(s): ${local.unknownKeys.join(', ')} — the local file supports "disableHooks", "disableAutoHandoffSave", "sdkSourcePath", "apiRepoPaths" and "apiRepoBranches"; it never changes what sync writes.`);
85
+ warnings.push(`${config_1.LOCAL_CONFIG_FILE_NAME} contains unsupported key(s): ${local.unknownKeys.join(', ')} — the local file supports ${config_1.LOCAL_CONFIG_KEYS.map((key) => `"${key}"`).join(' and ')}; it never changes what sync writes.`);
86
+ }
87
+ if (local.movedKeys.length > 0) {
88
+ warnings.push(`${config_1.LOCAL_CONFIG_FILE_NAME} still holds ${local.movedKeys.map((key) => `"${key}"`).join(', ')} — move ` +
89
+ `${local.movedKeys.length === 1 ? 'it' : 'them'} to ${config_1.TOPOLOGY_CONFIG_FILE_NAME}, which \`et\` reads too.`);
143
90
  }
144
- warnings.push(...describeSdkSourcePath({ root, value: local.config.sdkSourcePath }));
145
- warnings.push(...describeApiRepoPaths({ root, value: local.config.apiRepoPaths }));
146
- warnings.push(...describeApiRepoBranches(local.config.apiRepoBranches));
147
91
  const disable = local.config.disableHooks;
148
92
  if (disable !== undefined && typeof disable !== 'boolean' && !Array.isArray(disable)) {
149
93
  warnings.push(`${config_1.LOCAL_CONFIG_FILE_NAME} has an invalid "disableHooks" value — use true or an array of hook names; hooks stay enabled.`);
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/plan.ts"],"names":[],"mappings":"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"}