pmx-canvas 0.12.0 → 0.12.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 (28) hide show
  1. package/.github/extensions/pmx-canvas/extension.mjs +1 -0
  2. package/.github/extensions/pmx-canvas/runtime.json +1 -1
  3. package/CHANGELOG.md +14 -0
  4. package/dist/amp-plugin/pmx-canvas/runtime.json +1 -1
  5. package/dist/amp-plugin/pmx-canvas/skills/pmx-canvas/SKILL.md +27 -11
  6. package/dist/amp-plugin/pmx-canvas/skills/pmx-canvas/evals/evals.json +88 -6
  7. package/dist/amp-plugin/pmx-canvas/skills/pmx-canvas/references/full-reference.md +62 -8
  8. package/dist/amp-plugin/pmx-canvas/skills/pmx-canvas/references/installing-pmx-canvas.md +61 -11
  9. package/dist/amp-plugin/pmx-canvas/skills/pmx-canvas/references/tours-and-recording.md +14 -8
  10. package/dist/amp-plugin/pmx-canvas/skills/pmx-canvas/references/workbench-workflows.md +11 -3
  11. package/docs/agent-plugin.md +6 -0
  12. package/docs/amp-plugin.md +3 -4
  13. package/package.json +1 -1
  14. package/plugins/pmx-canvas/com.github.copilot/extensions/pmx-canvas/extension.mjs +1 -0
  15. package/plugins/pmx-canvas/com.github.copilot/extensions/pmx-canvas/runtime.json +1 -1
  16. package/plugins/pmx-canvas/plugin.json +1 -1
  17. package/plugins/pmx-canvas/runtime.json +1 -1
  18. package/skills/pmx-canvas/SKILL.md +27 -11
  19. package/skills/pmx-canvas/evals/evals.json +88 -6
  20. package/skills/pmx-canvas/references/full-reference.md +62 -8
  21. package/skills/pmx-canvas/references/installing-pmx-canvas.md +61 -11
  22. package/skills/pmx-canvas/references/tours-and-recording.md +14 -8
  23. package/skills/pmx-canvas/references/workbench-workflows.md +11 -3
  24. package/skills/web-artifacts-builder/scripts/bundle-artifact.sh +2 -2
  25. package/skills/web-artifacts-builder/scripts/init-artifact.sh +6 -6
  26. package/src/server/canvas-db.ts +13 -2
  27. package/src/server/web-artifacts/scripts/bundle-artifact.sh +2 -2
  28. package/src/server/web-artifacts/scripts/init-artifact.sh +6 -6
@@ -69,21 +69,21 @@ function replay_filtered_stderr() {
69
69
 
70
70
  function run_with_filtered_stderr() {
71
71
  local stderr_file
72
+ local status
72
73
  stderr_file="$(mktemp)"
73
74
  if "$@" 2>"$stderr_file"; then
74
- replay_filtered_stderr "$stderr_file"
75
- rm -f "$stderr_file"
76
- return 0
75
+ status=0
76
+ else
77
+ status=$?
77
78
  fi
78
79
 
79
- local status=$?
80
80
  replay_filtered_stderr "$stderr_file"
81
81
  rm -f "$stderr_file"
82
82
  return "$status"
83
83
  }
84
84
 
85
85
  function run_pnpm_quiet() {
86
- run_with_filtered_stderr "${PNPM_CMD[@]}" --silent "$@"
86
+ run_with_filtered_stderr "${PNPM_CMD[@]}" --reporter=append-only "$@"
87
87
  }
88
88
 
89
89
  function run_pnpm_allow_build() {
@@ -92,7 +92,7 @@ function run_pnpm_allow_build() {
92
92
  for package_name in "${ALLOWED_BUILD_PACKAGES[@]}"; do
93
93
  allow_build_args+=(--allow-build="$package_name")
94
94
  done
95
- run_with_filtered_stderr "${PNPM_CMD[@]}" --silent "$@" "${allow_build_args[@]}"
95
+ run_with_filtered_stderr "${PNPM_CMD[@]}" --reporter=append-only "$@" "${allow_build_args[@]}"
96
96
  }
97
97
 
98
98
  RUNTIME_INFO="$(detect_runtime_major)"
@@ -482,6 +482,19 @@ export function openCanvasDb(dbPath: string, options: OpenCanvasDbOptions = {}):
482
482
  // worth the fsync.
483
483
  db.exec('PRAGMA synchronous=FULL');
484
484
  if (needsBoardsMigration(db)) migrateToBoards(db, dbPath, options.migratedBoardName ?? 'Board');
485
+ const empty = !db.query("SELECT 1 FROM sqlite_master WHERE type = 'table' LIMIT 1").get();
486
+ if (empty) {
487
+ // One durable commit for a fresh schema. Another initializer may win the
488
+ // lock first, so all schema checks still run inside the transaction.
489
+ db.transaction(() => initializeCanvasSchema(db)).immediate();
490
+ } else {
491
+ // Current databases must remain readable while another connection writes.
492
+ initializeCanvasSchema(db);
493
+ }
494
+ return db;
495
+ }
496
+
497
+ function initializeCanvasSchema(db: Database): void {
485
498
  db.exec(SCHEMA_SQL);
486
499
  db.exec(CONTEXT_READS_SCHEMA_SQL);
487
500
 
@@ -561,8 +574,6 @@ export function openCanvasDb(dbPath: string, options: OpenCanvasDbOptions = {}):
561
574
  if (!row) {
562
575
  db.run('INSERT INTO meta (key, value) VALUES (?, ?)', ['schema_version', String(SCHEMA_VERSION)]);
563
576
  }
564
-
565
- return db;
566
577
  }
567
578
 
568
579
  // ── Many boards migration (schema 1 → 2) ────────────────────────
@@ -68,7 +68,7 @@ function run_with_filtered_stderr() {
68
68
  }
69
69
 
70
70
  function run_pnpm_quiet() {
71
- run_with_filtered_stderr "${PNPM_CMD[@]}" --silent "$@"
71
+ run_with_filtered_stderr "${PNPM_CMD[@]}" --reporter=append-only "$@"
72
72
  }
73
73
 
74
74
  function run_pnpm_allow_build() {
@@ -77,7 +77,7 @@ function run_pnpm_allow_build() {
77
77
  for package_name in "${ALLOWED_BUILD_PACKAGES[@]}"; do
78
78
  allow_build_args+=(--allow-build="$package_name")
79
79
  done
80
- run_with_filtered_stderr "${PNPM_CMD[@]}" --silent "$@" "${allow_build_args[@]}"
80
+ run_with_filtered_stderr "${PNPM_CMD[@]}" --reporter=append-only "$@" "${allow_build_args[@]}"
81
81
  }
82
82
 
83
83
  function package_has_dependency() {
@@ -70,21 +70,21 @@ function replay_filtered_stderr() {
70
70
 
71
71
  function run_with_filtered_stderr() {
72
72
  local stderr_file
73
+ local status
73
74
  stderr_file="$(mktemp)"
74
75
  if "$@" 2>"$stderr_file"; then
75
- replay_filtered_stderr "$stderr_file"
76
- rm -f "$stderr_file"
77
- return 0
76
+ status=0
77
+ else
78
+ status=$?
78
79
  fi
79
80
 
80
- local status=$?
81
81
  replay_filtered_stderr "$stderr_file"
82
82
  rm -f "$stderr_file"
83
83
  return "$status"
84
84
  }
85
85
 
86
86
  function run_pnpm_quiet() {
87
- run_with_filtered_stderr "${PNPM_CMD[@]}" --silent "$@"
87
+ run_with_filtered_stderr "${PNPM_CMD[@]}" --reporter=append-only "$@"
88
88
  }
89
89
 
90
90
  function run_pnpm_allow_build() {
@@ -93,7 +93,7 @@ function run_pnpm_allow_build() {
93
93
  for package_name in "${ALLOWED_BUILD_PACKAGES[@]}"; do
94
94
  allow_build_args+=(--allow-build="$package_name")
95
95
  done
96
- run_with_filtered_stderr "${PNPM_CMD[@]}" --silent "$@" "${allow_build_args[@]}"
96
+ run_with_filtered_stderr "${PNPM_CMD[@]}" --reporter=append-only "$@" "${allow_build_args[@]}"
97
97
  }
98
98
 
99
99
  RUNTIME_INFO="$(detect_runtime_major)"