@codeyam/codeyam-cli 0.1.17 → 0.1.19

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 (54) hide show
  1. package/analyzer-template/.build-info.json +6 -6
  2. package/analyzer-template/log.txt +3 -3
  3. package/codeyam-cli/src/cli.js +15 -0
  4. package/codeyam-cli/src/cli.js.map +1 -1
  5. package/codeyam-cli/src/commands/__tests__/editor.stepDispatch.test.js +9 -9
  6. package/codeyam-cli/src/commands/editor.js +455 -257
  7. package/codeyam-cli/src/commands/editor.js.map +1 -1
  8. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js +160 -0
  9. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js.map +1 -1
  10. package/codeyam-cli/src/utils/__tests__/editorEntityHelpers.test.js +66 -0
  11. package/codeyam-cli/src/utils/__tests__/editorEntityHelpers.test.js.map +1 -1
  12. package/codeyam-cli/src/utils/__tests__/editorGuardMiddleware.test.js +67 -0
  13. package/codeyam-cli/src/utils/__tests__/editorGuardMiddleware.test.js.map +1 -0
  14. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js +213 -0
  15. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js.map +1 -1
  16. package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js +16 -1
  17. package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js.map +1 -1
  18. package/codeyam-cli/src/utils/editorAudit.js +44 -14
  19. package/codeyam-cli/src/utils/editorAudit.js.map +1 -1
  20. package/codeyam-cli/src/utils/editorGuard.js +36 -0
  21. package/codeyam-cli/src/utils/editorGuard.js.map +1 -0
  22. package/codeyam-cli/src/utils/editorRecapture.js +109 -0
  23. package/codeyam-cli/src/utils/editorRecapture.js.map +1 -0
  24. package/codeyam-cli/src/utils/editorScenarios.js +1 -1
  25. package/codeyam-cli/src/utils/entityChangeStatus.js +30 -2
  26. package/codeyam-cli/src/utils/entityChangeStatus.js.map +1 -1
  27. package/codeyam-cli/src/utils/scenariosManifest.js +22 -0
  28. package/codeyam-cli/src/utils/scenariosManifest.js.map +1 -1
  29. package/codeyam-cli/src/utils/simulationGateMiddleware.js +9 -0
  30. package/codeyam-cli/src/utils/simulationGateMiddleware.js.map +1 -1
  31. package/codeyam-cli/src/webserver/__tests__/idleDetector.test.js +17 -6
  32. package/codeyam-cli/src/webserver/__tests__/idleDetector.test.js.map +1 -1
  33. package/codeyam-cli/src/webserver/__tests__/stripClaudeCommand.test.js +79 -0
  34. package/codeyam-cli/src/webserver/__tests__/stripClaudeCommand.test.js.map +1 -0
  35. package/codeyam-cli/src/webserver/build/client/assets/api.editor-recapture-stale-l0sNRNKZ.js +1 -0
  36. package/codeyam-cli/src/webserver/build/client/assets/{editor.entity.(_sha)-Bnx7yUP0.js → editor.entity.(_sha)-CGzKlIHg.js} +13 -13
  37. package/codeyam-cli/src/webserver/build/client/assets/globals-Yn9W3zp3.css +1 -0
  38. package/codeyam-cli/src/webserver/build/client/assets/manifest-2ef99f38.js +1 -0
  39. package/codeyam-cli/src/webserver/build/client/assets/{root-DB3O9_9j.js → root-BxUQigda.js} +5 -5
  40. package/codeyam-cli/src/webserver/build/server/assets/{analysisRunner-BMmkgAkg.js → analysisRunner-BPmOG9bE.js} +1 -1
  41. package/codeyam-cli/src/webserver/build/server/assets/{index-DxB0pOSt.js → index-Cd-ufawF.js} +1 -1
  42. package/codeyam-cli/src/webserver/build/server/assets/{init-DLYLaqqP.js → init-CzeBGOto.js} +1 -1
  43. package/codeyam-cli/src/webserver/build/server/assets/{server-build-CcyitQLQ.js → server-build-Dht7CKXY.js} +114 -113
  44. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  45. package/codeyam-cli/src/webserver/build-info.json +5 -5
  46. package/codeyam-cli/src/webserver/terminalServer.js +85 -19
  47. package/codeyam-cli/src/webserver/terminalServer.js.map +1 -1
  48. package/codeyam-cli/templates/__tests__/editor-step-hook.prompt-capture.test.ts +118 -0
  49. package/codeyam-cli/templates/codeyam-editor-claude.md +2 -0
  50. package/codeyam-cli/templates/codeyam-editor-reference.md +1 -1
  51. package/codeyam-cli/templates/editor-step-hook.py +72 -46
  52. package/package.json +1 -1
  53. package/codeyam-cli/src/webserver/build/client/assets/globals-fAqOD9ex.css +0 -1
  54. package/codeyam-cli/src/webserver/build/client/assets/manifest-3157d6b8.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"editorEntityHelpers.test.js","sourceRoot":"","sources":["../../../../../src/utils/__tests__/editorEntityHelpers.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editorEntityHelpers.test.js","sourceRoot":"","sources":["../../../../../src/utils/__tests__/editorEntityHelpers.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import { simulationGateMiddleware } from "../simulationGateMiddleware.js";
2
+ // We only need to test the editor guard logic — mock out the rest of the middleware
3
+ // so it doesn't try to load projects or databases.
4
+ jest.mock('../project', () => ({
5
+ findProjectRoot: () => null,
6
+ }));
7
+ jest.mock('../database', () => ({
8
+ initializeEnvironment: jest.fn(),
9
+ requireBranchAndProject: jest.fn(),
10
+ }));
11
+ jest.mock('../slugUtils', () => ({
12
+ generateProjectSlug: jest.fn(),
13
+ }));
14
+ describe('editor guard in simulationGateMiddleware', () => {
15
+ const originalEnv = process.env.CODEYAM_EDITOR_ACTIVE;
16
+ let exitSpy;
17
+ let errorSpy;
18
+ beforeEach(() => {
19
+ exitSpy = jest
20
+ .spyOn(process, 'exit')
21
+ .mockImplementation(() => undefined);
22
+ errorSpy = jest.spyOn(console, 'error').mockImplementation(() => { });
23
+ });
24
+ afterEach(() => {
25
+ process.env.CODEYAM_EDITOR_ACTIVE = originalEnv;
26
+ if (process.env.CODEYAM_EDITOR_ACTIVE === undefined) {
27
+ delete process.env.CODEYAM_EDITOR_ACTIVE;
28
+ }
29
+ exitSpy.mockRestore();
30
+ errorSpy.mockRestore();
31
+ });
32
+ it('allows `editor` command when CODEYAM_EDITOR_ACTIVE=1', async () => {
33
+ process.env.CODEYAM_EDITOR_ACTIVE = '1';
34
+ await simulationGateMiddleware({ _: ['editor'] });
35
+ expect(exitSpy).not.toHaveBeenCalled();
36
+ });
37
+ it.each(['analyze', 'init', 'verify', 'start', 'stop', 'memory', 'debug'])('blocks `%s` command when CODEYAM_EDITOR_ACTIVE=1', async (command) => {
38
+ process.env.CODEYAM_EDITOR_ACTIVE = '1';
39
+ await simulationGateMiddleware({ _: [command] });
40
+ expect(exitSpy).toHaveBeenCalledWith(1);
41
+ });
42
+ it('error message mentions `codeyam editor` subcommands', async () => {
43
+ process.env.CODEYAM_EDITOR_ACTIVE = '1';
44
+ await simulationGateMiddleware({ _: ['analyze'] });
45
+ const output = errorSpy.mock.calls.map((c) => c[0]).join('\n');
46
+ expect(output).toContain('codeyam editor');
47
+ });
48
+ it('error message mentions `codeyam editor steps`', async () => {
49
+ process.env.CODEYAM_EDITOR_ACTIVE = '1';
50
+ await simulationGateMiddleware({ _: ['analyze'] });
51
+ const output = errorSpy.mock.calls.map((c) => c[0]).join('\n');
52
+ expect(output).toContain('codeyam editor steps');
53
+ });
54
+ it('does not activate guard when CODEYAM_EDITOR_ACTIVE is not set', async () => {
55
+ delete process.env.CODEYAM_EDITOR_ACTIVE;
56
+ // A non-hidden command should pass through without exit
57
+ await simulationGateMiddleware({ _: ['editor'] });
58
+ expect(exitSpy).not.toHaveBeenCalled();
59
+ });
60
+ it('does not block non-hidden commands when env var is absent', async () => {
61
+ delete process.env.CODEYAM_EDITOR_ACTIVE;
62
+ // 'help' is not a hidden command and env var is absent — should pass through
63
+ await simulationGateMiddleware({ _: ['help'] });
64
+ expect(exitSpy).not.toHaveBeenCalled();
65
+ });
66
+ });
67
+ //# sourceMappingURL=editorGuardMiddleware.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editorGuardMiddleware.test.js","sourceRoot":"","sources":["../../../../../src/utils/__tests__/editorGuardMiddleware.test.ts"],"names":[],"mappings":"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"}
@@ -1872,5 +1872,218 @@ describe('entityChangeStatus', () => {
1872
1872
  expect(isIsolationUrl(undefined)).toBe(false);
1873
1873
  });
1874
1874
  });
1875
+ // ── buildReverseDependencyGraph: filePath-based importer resolution ────
1876
+ describe('buildReverseDependencyGraph — filePath-based resolution', () => {
1877
+ it('should resolve importer via filePath when DB name differs from display name', () => {
1878
+ // In Margo Reader: ArticleTable's importedBy lists "LibraryPage" as importer name
1879
+ // under filePath "app/library/page.tsx". But the entity list has name "Library"
1880
+ // with filePath "app/library/page.tsx". The reverse graph should map
1881
+ // ArticleTable → {"Library"} (not "LibraryPage").
1882
+ const entities = [
1883
+ {
1884
+ name: 'ArticleTable',
1885
+ filePath: 'app/components/ArticleTable.tsx',
1886
+ importedBy: {
1887
+ 'app/library/page.tsx': {
1888
+ LibraryPage: { shas: ['sha1'] },
1889
+ },
1890
+ },
1891
+ },
1892
+ {
1893
+ name: 'Library',
1894
+ filePath: 'app/library/page.tsx',
1895
+ },
1896
+ ];
1897
+ const graph = buildReverseDependencyGraph(entities);
1898
+ expect(graph.get('ArticleTable')).toEqual(new Set(['Library']));
1899
+ });
1900
+ it('should fall back to DB importer name when filePath has no matching entity', () => {
1901
+ // When the importer filePath doesn't match any entity in the list,
1902
+ // fall back to the DB's importer name.
1903
+ const entities = [
1904
+ {
1905
+ name: 'Button',
1906
+ filePath: 'components/Button.tsx',
1907
+ importedBy: {
1908
+ 'components/UnknownPage.tsx': {
1909
+ SomeComponent: { shas: ['sha1'] },
1910
+ },
1911
+ },
1912
+ },
1913
+ ];
1914
+ const graph = buildReverseDependencyGraph(entities);
1915
+ expect(graph.get('Button')).toEqual(new Set(['SomeComponent']));
1916
+ });
1917
+ it('should resolve multiple importers via filePath correctly', () => {
1918
+ const entities = [
1919
+ {
1920
+ name: 'ArticleTableRow',
1921
+ filePath: 'app/components/ArticleTableRow.tsx',
1922
+ importedBy: {
1923
+ 'app/components/ArticleTable.tsx': {
1924
+ ArticleTable: { shas: ['sha1'] },
1925
+ },
1926
+ 'app/library/page.tsx': {
1927
+ LibraryPage: { shas: ['sha2'] },
1928
+ },
1929
+ },
1930
+ },
1931
+ {
1932
+ name: 'ArticleTable',
1933
+ filePath: 'app/components/ArticleTable.tsx',
1934
+ },
1935
+ {
1936
+ name: 'Library',
1937
+ filePath: 'app/library/page.tsx',
1938
+ },
1939
+ ];
1940
+ const graph = buildReverseDependencyGraph(entities);
1941
+ expect(graph.get('ArticleTableRow')).toEqual(new Set(['ArticleTable', 'Library']));
1942
+ });
1943
+ });
1944
+ // ── buildEntityInfosFromScenarios: filePath-based metadata matching ────
1945
+ describe('buildEntityInfosFromScenarios — filePath-based metadata matching', () => {
1946
+ it('should attach importedBy metadata when entity names differ but filePaths match', () => {
1947
+ // Page scenario with displayName "Library" but DB entity named "LibraryPage"
1948
+ // with filePath "app/library/page.tsx". The metadata lookup should match by
1949
+ // filePath and attach importedBy.
1950
+ const scenarios = [
1951
+ {
1952
+ componentName: null,
1953
+ componentPath: null,
1954
+ pageFilePath: 'app/library/page.tsx',
1955
+ url: '/library',
1956
+ displayName: 'Library',
1957
+ },
1958
+ ];
1959
+ const entitiesWithMetadata = [
1960
+ {
1961
+ name: 'LibraryPage',
1962
+ filePath: 'app/library/page.tsx',
1963
+ metadata: {
1964
+ importedBy: {
1965
+ 'app/layout.tsx': {
1966
+ RootLayout: { shas: ['sha1'] },
1967
+ },
1968
+ },
1969
+ },
1970
+ },
1971
+ ];
1972
+ const result = buildEntityInfosFromScenarios(scenarios, {}, entitiesWithMetadata);
1973
+ expect(result).toHaveLength(1);
1974
+ expect(result[0].name).toBe('Library');
1975
+ expect(result[0].importedBy).toEqual({
1976
+ 'app/layout.tsx': {
1977
+ RootLayout: { shas: ['sha1'] },
1978
+ },
1979
+ });
1980
+ });
1981
+ it('should prefer name match over filePath match in multi-entity files', () => {
1982
+ // Bug: app/components/ArticleTable.tsx exports both Props (rowid 33) and
1983
+ // ArticleTable (rowid 34). find() with OR condition matches Props first
1984
+ // via filePath, so ArticleTable gets Props' importedBy (missing the
1985
+ // critical ArticleTable → LibraryPage edge). Fix: try name match first.
1986
+ const scenarios = [
1987
+ {
1988
+ componentName: 'ArticleTable',
1989
+ componentPath: 'app/components/ArticleTable.tsx',
1990
+ },
1991
+ ];
1992
+ const entitiesWithMetadata = [
1993
+ {
1994
+ name: 'Props',
1995
+ filePath: 'app/components/ArticleTable.tsx',
1996
+ metadata: {
1997
+ importedBy: {
1998
+ 'app/components/ArticleTable.tsx': {
1999
+ ArticleTable: { shas: ['sha-internal'] },
2000
+ },
2001
+ },
2002
+ },
2003
+ },
2004
+ {
2005
+ name: 'ArticleTable',
2006
+ filePath: 'app/components/ArticleTable.tsx',
2007
+ metadata: {
2008
+ importedBy: {
2009
+ 'app/library/page.tsx': {
2010
+ LibraryPage: { shas: ['sha1'] },
2011
+ },
2012
+ },
2013
+ },
2014
+ },
2015
+ ];
2016
+ const result = buildEntityInfosFromScenarios(scenarios, {}, entitiesWithMetadata);
2017
+ expect(result).toHaveLength(1);
2018
+ expect(result[0].name).toBe('ArticleTable');
2019
+ // Must get ArticleTable's importedBy (LibraryPage), NOT Props' importedBy
2020
+ expect(result[0].importedBy).toEqual({
2021
+ 'app/library/page.tsx': {
2022
+ LibraryPage: { shas: ['sha1'] },
2023
+ },
2024
+ });
2025
+ });
2026
+ it('should still match by name when names are identical', () => {
2027
+ const scenarios = [
2028
+ {
2029
+ componentName: 'ArticleTable',
2030
+ componentPath: 'app/components/ArticleTable.tsx',
2031
+ },
2032
+ ];
2033
+ const entitiesWithMetadata = [
2034
+ {
2035
+ name: 'ArticleTable',
2036
+ filePath: 'app/components/ArticleTable.tsx',
2037
+ metadata: {
2038
+ importedBy: {
2039
+ 'app/library/page.tsx': {
2040
+ LibraryPage: { shas: ['sha1'] },
2041
+ },
2042
+ },
2043
+ },
2044
+ },
2045
+ ];
2046
+ const result = buildEntityInfosFromScenarios(scenarios, {}, entitiesWithMetadata);
2047
+ expect(result[0].importedBy).toBeDefined();
2048
+ });
2049
+ });
2050
+ // ── End-to-end: filePath resolution enables impact propagation ────
2051
+ describe('end-to-end: filePath resolution enables page impact detection', () => {
2052
+ it('should detect Library page as impacted when ArticleTable is edited', () => {
2053
+ // This is the Margo Reader bug: ArticleTable is edited, Library page
2054
+ // should be detected as impacted because ArticleTable's importedBy
2055
+ // metadata shows it's imported by "app/library/page.tsx" → "Library".
2056
+ const changedFiles = new Map([
2057
+ ['app/components/ArticleTable.tsx', 'edited'],
2058
+ ]);
2059
+ const entities = [
2060
+ {
2061
+ name: 'ArticleTable',
2062
+ filePath: 'app/components/ArticleTable.tsx',
2063
+ importedBy: {
2064
+ 'app/library/page.tsx': {
2065
+ LibraryPage: { shas: ['sha1'] },
2066
+ },
2067
+ },
2068
+ },
2069
+ {
2070
+ name: 'Library',
2071
+ filePath: 'app/library/page.tsx',
2072
+ },
2073
+ ];
2074
+ const result = computeEntityChangeStatus(changedFiles, entities);
2075
+ expect(result['ArticleTable']).toEqual({ status: 'edited' });
2076
+ expect(result['Library']).toEqual({
2077
+ status: 'impacted',
2078
+ impactedBy: [
2079
+ {
2080
+ name: 'ArticleTable',
2081
+ filePath: 'app/components/ArticleTable.tsx',
2082
+ changeType: 'edited',
2083
+ },
2084
+ ],
2085
+ });
2086
+ });
2087
+ });
1875
2088
  });
1876
2089
  //# sourceMappingURL=entityChangeStatus.test.js.map