@penpair/core 0.2.0 → 0.3.0

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 (101) hide show
  1. package/dist/adapters.js +58 -11
  2. package/dist/approvals.js +143 -29
  3. package/dist/atomic-output.js +9 -4
  4. package/dist/audit-rules.js +345 -79
  5. package/dist/backup-note.js +29 -8
  6. package/dist/baseline-coverage.js +169 -35
  7. package/dist/baselines-config.js +119 -29
  8. package/dist/baselines.js +280 -57
  9. package/dist/cli-arguments.js +18 -6
  10. package/dist/cli-main.js +1621 -392
  11. package/dist/client.d.ts +5 -2
  12. package/dist/client.js +127 -28
  13. package/dist/command-result.js +341 -52
  14. package/dist/coordination.js +91 -29
  15. package/dist/credentials.js +57 -13
  16. package/dist/deep-check.js +56 -12
  17. package/dist/design-spec.js +189 -49
  18. package/dist/endpoint.js +102 -34
  19. package/dist/export.js +86 -18
  20. package/dist/file-archive.js +33 -7
  21. package/dist/file-guard.js +29 -11
  22. package/dist/formats.js +215 -14
  23. package/dist/index.d.ts +8 -7
  24. package/dist/index.js +8 -7
  25. package/dist/inspection.d.ts +1 -1
  26. package/dist/inspection.js +378 -65
  27. package/dist/instance/config-schema.js +400 -41
  28. package/dist/instance/config.js +101 -30
  29. package/dist/instance/connect.js +151 -44
  30. package/dist/instance/connection.d.ts +26 -5
  31. package/dist/instance/connection.js +194 -21
  32. package/dist/instance/gitignore.js +5 -2
  33. package/dist/instance/init.js +32 -7
  34. package/dist/instance/runner.js +32 -10
  35. package/dist/instance/setup.js +46 -13
  36. package/dist/instance/tty.js +26 -8
  37. package/dist/journal.d.ts +10 -0
  38. package/dist/journal.js +212 -49
  39. package/dist/kit-smoke.js +82 -20
  40. package/dist/kit-source.js +10 -40
  41. package/dist/kit.js +102 -34
  42. package/dist/layout-policy.d.ts +2 -0
  43. package/dist/layout-policy.js +86 -0
  44. package/dist/layout.d.ts +7 -1
  45. package/dist/layout.js +27 -70
  46. package/dist/live-smoke.js +13 -4
  47. package/dist/local-profile.js +2 -1
  48. package/dist/mcp-server.js +360 -47
  49. package/dist/native-api.js +47 -11
  50. package/dist/onboard.js +33 -7
  51. package/dist/operation.d.ts +2 -2
  52. package/dist/operation.js +279 -69
  53. package/dist/page-session.d.ts +23 -0
  54. package/dist/page-session.js +142 -0
  55. package/dist/png.js +18 -3
  56. package/dist/portable-tokens.js +254 -57
  57. package/dist/probe.d.ts +1 -1
  58. package/dist/probe.js +48 -11
  59. package/dist/project-input.js +24 -10
  60. package/dist/project-snippets.js +18 -6
  61. package/dist/project-status.js +133 -24
  62. package/dist/registry.js +217 -60
  63. package/dist/run-file.js +129 -30
  64. package/dist/shots.js +108 -26
  65. package/dist/skill-instructions.js +91 -22
  66. package/dist/skills.js +129 -39
  67. package/dist/snippet.js +27 -7
  68. package/dist/snippets/read.js +8 -2
  69. package/dist/structure-snapshot.d.ts +12 -0
  70. package/dist/structure-snapshot.js +439 -85
  71. package/dist/token-edit.js +219 -64
  72. package/dist/token-projection.d.ts +56 -0
  73. package/dist/token-projection.js +286 -0
  74. package/dist/tokens-diff.js +125 -32
  75. package/dist/version.d.ts +1 -1
  76. package/dist/version.js +1 -1
  77. package/package.json +1 -1
  78. package/skills/penpair-design/SKILL.md +3 -0
  79. package/skills/penpair-design/references/penpot-plugin-gotchas.md +2 -2
  80. package/skills/penpair-design/references/project-facts.md +2 -0
  81. package/skills/penpair-handoff/SKILL.md +2 -0
  82. package/skills/penpair-handoff/references/comparison-companion.md +13 -0
  83. package/skills/penpair-handoff/references/handoff-flow.md +2 -0
  84. package/skills/penpair-recipes/SKILL.md +5 -0
  85. package/skills/penpair-setup/SKILL.md +3 -1
  86. package/dist/cli.d.ts +0 -2
  87. package/dist/cli.js +0 -3
  88. package/dist/docker/lifecycle.d.ts +0 -96
  89. package/dist/docker/lifecycle.js +0 -273
  90. package/dist/docker/secrets.d.ts +0 -11
  91. package/dist/docker/secrets.js +0 -38
  92. package/dist/docker/template.d.ts +0 -8
  93. package/dist/docker/template.js +0 -158
  94. package/dist/docker-profile.d.ts +0 -114
  95. package/dist/docker-profile.js +0 -18
  96. package/dist/instance/lifecycle.d.ts +0 -129
  97. package/dist/instance/lifecycle.js +0 -336
  98. package/dist/instance/secrets.d.ts +0 -11
  99. package/dist/instance/secrets.js +0 -38
  100. package/dist/instance/template.d.ts +0 -8
  101. package/dist/instance/template.js +0 -158
@@ -1,158 +0,0 @@
1
- /**
2
- * The compose file for one instance. It follows the official Penpot compose file; the local changes are the defaults
3
- * worth keeping: a pinned version, ports bound to 127.0.0.1, telemetry off, secrets only from `.env`, local mail capture,
4
- * the MCP server on. Container ports of the database, cache, admin console, exporter and MCP are not published; the
5
- * MCP is reached through the frontend at /mcp/stream.
6
- */
7
- export function renderCompose(config) {
8
- const { frontend, mail } = config.ports;
9
- return `# Generated by penpair. Edit penpair.config.json and run \`penpair init\` again instead of editing this file.
10
- x-flags: &penpot-flags
11
- PENPOT_FLAGS: disable-email-verification enable-smtp enable-prepl-server disable-secure-session-cookies enable-mcp enable-admin-console
12
-
13
- x-uri: &penpot-public-uri
14
- PENPOT_PUBLIC_URI: http://localhost:${frontend}
15
-
16
- x-body-size: &penpot-http-body-size
17
- PENPOT_HTTP_SERVER_MAX_BODY_SIZE: 367001600
18
- PENPOT_HTTP_SERVER_MAX_MULTIPART_BODY_SIZE: 367001600
19
-
20
- x-secret-key: &penpot-secret-key
21
- PENPOT_SECRET_KEY: \${PENPOT_SECRET_KEY:?Set PENPOT_SECRET_KEY in .env}
22
-
23
- x-database: &penpot-database
24
- PENPOT_DATABASE_URI: postgresql://penpot-postgres/penpot
25
- PENPOT_DATABASE_USERNAME: penpot
26
- PENPOT_DATABASE_PASSWORD: \${PENPOT_DATABASE_PASSWORD:?Set PENPOT_DATABASE_PASSWORD in .env}
27
-
28
- networks:
29
- penpot:
30
-
31
- volumes:
32
- penpot_postgres_v15:
33
- penpot_assets:
34
-
35
- services:
36
- penpot-frontend:
37
- image: "penpotapp/frontend:\${PENPOT_VERSION:-${config.penpotVersion}}"
38
- restart: always
39
- ports:
40
- - "127.0.0.1:${frontend}:8080"
41
- volumes:
42
- - penpot_assets:/opt/data/assets
43
- depends_on:
44
- - penpot-backend
45
- - penpot-admin-console
46
- - penpot-mcp
47
- - penpot-exporter
48
- networks:
49
- - penpot
50
- environment:
51
- << : [*penpot-flags, *penpot-http-body-size, *penpot-public-uri]
52
- PENPOT_ADMIN_CONSOLE_URI: http://penpot-admin-console:3000
53
-
54
- penpot-backend:
55
- image: "penpotapp/backend:\${PENPOT_VERSION:-${config.penpotVersion}}"
56
- restart: always
57
- volumes:
58
- - penpot_assets:/opt/data/assets
59
- depends_on:
60
- penpot-postgres:
61
- condition: service_healthy
62
- penpot-valkey:
63
- condition: service_healthy
64
- networks:
65
- - penpot
66
- environment:
67
- << : [*penpot-flags, *penpot-public-uri, *penpot-http-body-size, *penpot-secret-key, *penpot-database]
68
- PENPOT_ADMIN_CONSOLE_URI: http://penpot-admin-console:3000
69
- PENPOT_REDIS_URI: redis://penpot-valkey/0
70
- PENPOT_OBJECTS_STORAGE_BACKEND: fs
71
- PENPOT_OBJECTS_STORAGE_FS_DIRECTORY: /opt/data/assets
72
- PENPOT_TELEMETRY_ENABLED: "false"
73
- PENPOT_TELEMETRY_REFERER: compose
74
- PENPOT_SMTP_DEFAULT_FROM: no-reply@example.com
75
- PENPOT_SMTP_DEFAULT_REPLY_TO: no-reply@example.com
76
- PENPOT_SMTP_HOST: penpot-mailcatch
77
- PENPOT_SMTP_PORT: 1025
78
- PENPOT_SMTP_USERNAME:
79
- PENPOT_SMTP_PASSWORD:
80
- PENPOT_SMTP_TLS: "false"
81
- PENPOT_SMTP_SSL: "false"
82
-
83
- penpot-admin-console:
84
- image: "penpotapp/admin-console:\${PENPOT_VERSION:-${config.penpotVersion}}"
85
- restart: always
86
- depends_on:
87
- penpot-postgres:
88
- condition: service_healthy
89
- networks:
90
- - penpot
91
- environment:
92
- << : [*penpot-public-uri, *penpot-secret-key, *penpot-database]
93
- PENPOT_INTERNAL_URI: http://penpot-frontend:8080
94
-
95
- penpot-mcp:
96
- image: "penpotapp/mcp:\${PENPOT_VERSION:-${config.penpotVersion}}"
97
- restart: always
98
- networks:
99
- - penpot
100
-
101
- penpot-exporter:
102
- image: "penpotapp/exporter:\${PENPOT_VERSION:-${config.penpotVersion}}"
103
- restart: always
104
- depends_on:
105
- penpot-valkey:
106
- condition: service_healthy
107
- networks:
108
- - penpot
109
- environment:
110
- << : [*penpot-flags, *penpot-secret-key, *penpot-public-uri]
111
- PENPOT_INTERNAL_URI: http://penpot-frontend:8080
112
- PENPOT_REDIS_URI: redis://penpot-valkey/0
113
-
114
- penpot-postgres:
115
- image: "postgres:15"
116
- restart: always
117
- stop_signal: SIGINT
118
- healthcheck:
119
- test: ["CMD-SHELL", "pg_isready -U penpot"]
120
- interval: 2s
121
- timeout: 10s
122
- retries: 5
123
- start_period: 2s
124
- volumes:
125
- - penpot_postgres_v15:/var/lib/postgresql/data
126
- networks:
127
- - penpot
128
- environment:
129
- - POSTGRES_INITDB_ARGS=--data-checksums
130
- - POSTGRES_DB=penpot
131
- - POSTGRES_USER=penpot
132
- - POSTGRES_PASSWORD=\${PENPOT_DATABASE_PASSWORD:?Set PENPOT_DATABASE_PASSWORD in .env}
133
-
134
- penpot-valkey:
135
- image: valkey/valkey:8.1
136
- restart: always
137
- healthcheck:
138
- test: ["CMD-SHELL", "valkey-cli ping | grep PONG"]
139
- interval: 1s
140
- timeout: 3s
141
- retries: 5
142
- start_period: 3s
143
- networks:
144
- - penpot
145
- environment:
146
- - VALKEY_EXTRA_FLAGS=--maxmemory 128mb --maxmemory-policy volatile-lfu
147
-
148
- penpot-mailcatch:
149
- image: sj26/mailcatcher:latest
150
- restart: always
151
- expose:
152
- - '1025'
153
- ports:
154
- - "127.0.0.1:${mail}:1080"
155
- networks:
156
- - penpot
157
- `;
158
- }