@pikku/addon-console 0.12.47 → 0.12.48

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 (115) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/.pikku/addon/agent/index.d.ts +1 -1
  3. package/dist/.pikku/addon/agent/index.js +1 -1
  4. package/dist/.pikku/addon/agent/pikku-agent-map.gen.d.ts +1 -1
  5. package/dist/.pikku/addon/agent/pikku-agent-types.gen.d.ts +1 -1
  6. package/dist/.pikku/addon/agent/pikku-model-aliases.gen.js +1 -1
  7. package/dist/.pikku/addon/agent/pikku-scorer-names.gen.d.ts +1 -1
  8. package/dist/.pikku/addon/auth/auth.types.d.ts +1 -1
  9. package/dist/.pikku/addon/auth/auth.types.js +1 -1
  10. package/dist/.pikku/addon/auth/index.d.ts +1 -1
  11. package/dist/.pikku/addon/auth/index.js +1 -1
  12. package/dist/.pikku/addon/auth/pikku-auth-types.gen.d.ts +1 -1
  13. package/dist/.pikku/addon/auth/pikku-auth-types.gen.js +1 -1
  14. package/dist/.pikku/addon/channel/index.d.ts +1 -1
  15. package/dist/.pikku/addon/channel/index.js +1 -1
  16. package/dist/.pikku/addon/channel/pikku-channel-types.gen.d.ts +1 -1
  17. package/dist/.pikku/addon/channel/pikku-channel-types.gen.js +1 -1
  18. package/dist/.pikku/addon/error/index.d.ts +1 -1
  19. package/dist/.pikku/addon/error/index.js +1 -1
  20. package/dist/.pikku/addon/error/pikku-error-types.gen.d.ts +1 -1
  21. package/dist/.pikku/addon/error/pikku-error-types.gen.js +1 -1
  22. package/dist/.pikku/addon/function/index.d.ts +1 -1
  23. package/dist/.pikku/addon/function/index.js +1 -1
  24. package/dist/.pikku/addon/function/pikku-function-types.gen.d.ts +1 -1
  25. package/dist/.pikku/addon/function/pikku-function-types.gen.js +1 -1
  26. package/dist/.pikku/addon/function/pikku-functions-meta-verbose.gen.json +2 -2
  27. package/dist/.pikku/addon/function/pikku-functions-meta.gen.js +1 -1
  28. package/dist/.pikku/addon/function/pikku-functions-meta.gen.json +2 -2
  29. package/dist/.pikku/addon/function/pikku-functions.gen.js +1 -1
  30. package/dist/.pikku/addon/http/index.d.ts +1 -1
  31. package/dist/.pikku/addon/http/index.js +1 -1
  32. package/dist/.pikku/addon/http/pikku-http-types.gen.d.ts +1 -1
  33. package/dist/.pikku/addon/http/pikku-http-types.gen.js +1 -1
  34. package/dist/.pikku/addon/mcp/index.d.ts +1 -1
  35. package/dist/.pikku/addon/mcp/index.js +1 -1
  36. package/dist/.pikku/addon/mcp/pikku-mcp-types.gen.d.ts +1 -1
  37. package/dist/.pikku/addon/mcp/pikku-mcp-types.gen.js +1 -1
  38. package/dist/.pikku/addon/middleware/index.d.ts +1 -1
  39. package/dist/.pikku/addon/middleware/index.js +1 -1
  40. package/dist/.pikku/addon/middleware/pikku-middleware-types.gen.d.ts +2 -2
  41. package/dist/.pikku/addon/middleware/pikku-middleware-types.gen.d.ts.map +1 -1
  42. package/dist/.pikku/addon/middleware/pikku-middleware-types.gen.js +2 -2
  43. package/dist/.pikku/addon/middleware/pikku-middleware-types.gen.js.map +1 -1
  44. package/dist/.pikku/addon/permissions/pikku-permissions.gen.d.ts +1 -1
  45. package/dist/.pikku/addon/permissions/pikku-permissions.gen.js +1 -1
  46. package/dist/.pikku/addon/pikku-bootstrap-scenarios.gen.d.ts +1 -1
  47. package/dist/.pikku/addon/pikku-bootstrap-scenarios.gen.js +1 -1
  48. package/dist/.pikku/addon/pikku-bootstrap.gen.d.ts +1 -1
  49. package/dist/.pikku/addon/pikku-bootstrap.gen.js +1 -1
  50. package/dist/.pikku/addon/pikku-package.gen.js +1 -1
  51. package/dist/.pikku/addon/pikku-services.gen.d.ts +1 -1
  52. package/dist/.pikku/addon/rpc/pikku-rpc-wirings-map.gen.d.ts +1 -1
  53. package/dist/.pikku/addon/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +1 -1
  54. package/dist/.pikku/addon/rpc/pikku-rpc-wirings-map.remote.gen.d.ts +1 -1
  55. package/dist/.pikku/addon/rpc/pikku-rpc-wirings-meta.internal.gen.js +1 -1
  56. package/dist/.pikku/addon/scenarios/index.d.ts +1 -1
  57. package/dist/.pikku/addon/scenarios/index.js +1 -1
  58. package/dist/.pikku/addon/scenarios/pikku-personas.gen.js +1 -1
  59. package/dist/.pikku/addon/scenarios/pikku-scenario-functions-meta.gen.js +1 -1
  60. package/dist/.pikku/addon/scenarios/pikku-scenario-functions.gen.d.ts +1 -1
  61. package/dist/.pikku/addon/scenarios/pikku-scenario-types.gen.d.ts +3 -3
  62. package/dist/.pikku/addon/scenarios/pikku-scenario-wirings-meta.gen.js +1 -1
  63. package/dist/.pikku/addon/scenarios/pikku-scenario-wirings.gen.d.ts +1 -1
  64. package/dist/.pikku/addon/scenarios/schemas/register.gen.d.ts +1 -1
  65. package/dist/.pikku/addon/scenarios/schemas/register.gen.js +1 -1
  66. package/dist/.pikku/addon/schemas/register.gen.js +1 -1
  67. package/dist/.pikku/addon/schemas/schemas/ScenarioRunRecord.schema.json +1 -1
  68. package/dist/.pikku/addon/scopes/index.d.ts +1 -1
  69. package/dist/.pikku/addon/scopes/index.js +1 -1
  70. package/dist/.pikku/addon/scopes/pikku-personas.gen.js +1 -1
  71. package/dist/.pikku/addon/scopes/pikku-roles.gen.d.ts +1 -1
  72. package/dist/.pikku/addon/scopes/pikku-scope-types.gen.d.ts +1 -1
  73. package/dist/.pikku/addon/scopes/pikku-scope-types.gen.js +1 -1
  74. package/dist/.pikku/addon/scopes/pikku-scopes.gen.d.ts +1 -1
  75. package/dist/.pikku/addon/secrets/index.d.ts +1 -1
  76. package/dist/.pikku/addon/secrets/index.js +1 -1
  77. package/dist/.pikku/addon/secrets/pikku-secret-types.gen.d.ts +1 -1
  78. package/dist/.pikku/addon/secrets/pikku-secret-types.gen.js +1 -1
  79. package/dist/.pikku/addon/secrets/pikku-secrets.gen.d.ts +1 -1
  80. package/dist/.pikku/addon/secrets/pikku-secrets.gen.js +1 -1
  81. package/dist/.pikku/addon/services/pikku-meta-service.gen.d.ts +1 -1
  82. package/dist/.pikku/addon/services/pikku-meta-service.gen.js +1 -1
  83. package/dist/.pikku/addon/setup/index.d.ts +1 -1
  84. package/dist/.pikku/addon/setup/index.js +1 -1
  85. package/dist/.pikku/addon/setup/pikku-addon-setup-types.gen.d.ts +1 -1
  86. package/dist/.pikku/addon/setup/pikku-addon-setup-types.gen.js +1 -1
  87. package/dist/.pikku/addon/setup/pikku-setup-types.gen.d.ts +1 -1
  88. package/dist/.pikku/addon/setup/pikku-setup-types.gen.js +1 -1
  89. package/dist/.pikku/addon/trigger/index.d.ts +1 -1
  90. package/dist/.pikku/addon/trigger/index.js +1 -1
  91. package/dist/.pikku/addon/trigger/pikku-trigger-types.gen.d.ts +1 -1
  92. package/dist/.pikku/addon/trigger/pikku-trigger-types.gen.js +1 -1
  93. package/dist/.pikku/addon/variables/index.d.ts +1 -1
  94. package/dist/.pikku/addon/variables/index.js +1 -1
  95. package/dist/.pikku/addon/variables/pikku-variable-types.gen.d.ts +1 -1
  96. package/dist/.pikku/addon/variables/pikku-variable-types.gen.js +1 -1
  97. package/dist/.pikku/addon/variables/pikku-variables.gen.d.ts +1 -1
  98. package/dist/.pikku/addon/variables/pikku-variables.gen.js +1 -1
  99. package/dist/.pikku/addon/workflow/index.d.ts +1 -1
  100. package/dist/.pikku/addon/workflow/index.js +1 -1
  101. package/dist/.pikku/addon/workflow/pikku-scenario-step-map.gen.d.ts +1 -1
  102. package/dist/.pikku/addon/workflow/pikku-workflow-map.gen.d.ts +1 -1
  103. package/dist/.pikku/addon/workflow/pikku-workflow-types.gen.d.ts +1 -1
  104. package/dist/.pikku/addon/workflow/pikku-workflow-types.gen.js +1 -1
  105. package/dist/.pikku/addon/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
  106. package/dist/.pikku/addon/workflow/pikku-workflow-wirings.gen.d.ts +1 -1
  107. package/dist/.pikku/addon/workflow/pikku-workflow-wirings.gen.js +1 -1
  108. package/dist/src/services/db-schema.service.d.ts.map +1 -1
  109. package/dist/src/services/db-schema.service.js +7 -7
  110. package/dist/src/services/db-schema.service.js.map +1 -1
  111. package/dist/src/services/db-schema.service.test.d.ts +2 -0
  112. package/dist/src/services/db-schema.service.test.d.ts.map +1 -0
  113. package/dist/src/services/db-schema.service.test.js +67 -0
  114. package/dist/src/services/db-schema.service.test.js.map +1 -0
  115. package/package.json +1 -1
@@ -1 +1 @@
1
- { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "environment": { "type": "string" }, "results": { "type": "array", "items": { "$ref": "#/definitions/ScenarioResult" } }, "skipped": { "type": "array", "items": { "$ref": "#/definitions/ScenarioSkip" }, "description": "Scenarios not run at all, each carrying why. A skip is only useful if the reader can tell a browser scenario held back by `--no-browser` from one the project itself quarantined, so the reason travels with the name rather than being assumed by the formatter." }, "hookFailures": { "type": "array", "items": { "type": "string" }, "description": "Feature-level hook failures, which belong to no single scenario." }, "runId": { "type": "string" }, "status": { "$ref": "#/definitions/ScenarioRunStatus" }, "surface": { "type": "string", "description": "The surface the run targeted: `default`, `browser`, …" }, "startedAt": { "type": "string" }, "finishedAt": { "type": "string" } }, "required": ["environment", "hookFailures", "results", "runId", "skipped", "startedAt", "status", "surface"], "additionalProperties": false, "description": "A whole run, as it is stored and read back.\n\n`status` is `running` from the moment the run is created until it finishes, so a console watching a run in progress can tell \"still going\" from \"nothing came back\" — and a run killed halfway stays `running` forever, which is the honest record of what happened to it.", "definitions": { "ScenarioResult": { "type": "object", "properties": { "name": { "type": "string" }, "status": { "type": "string", "enum": ["passed", "failed"] }, "durationMs": { "type": "number" }, "output": {}, "error": { "type": "string" }, "steps": { "type": "array", "items": { "$ref": "#/definitions/ScenarioStepRow" } }, "failure": { "$ref": "#/definitions/ScenarioFailureDetail" }, "scenarioName": { "type": "string", "description": "The scenario registration this ran, which the label alone does not give." }, "feature": { "type": "string", "description": "The feature that grouped it, when one did." }, "tags": { "type": "array", "items": { "type": "string" } }, "artifacts": { "type": "array", "items": { "$ref": "#/definitions/ScenarioArtifact" }, "description": "Images and footage this scenario produced, filed under the run." } }, "required": ["name", "status", "durationMs"], "additionalProperties": false }, "ScenarioStepRow": { "type": "object", "properties": { "sentence": { "type": "string" }, "status": { "type": "string" }, "durationMs": { "type": "number" }, "error": { "type": "string" } }, "required": ["sentence", "status"], "additionalProperties": false, "description": "One step of a run, already joined to the prose that declared it." }, "ScenarioFailureDetail": { "type": "object", "properties": { "sentence": { "type": "string", "description": "The rendered sentence of the failing step; absent if no step failed." }, "message": { "type": "string" }, "stack": { "type": "string" }, "expected": { "type": "boolean", "description": "True when the failure was a deliberate one (a PikkuError). Its message is the whole story, so the stack is noise." }, "browser": { "type": "array", "items": { "$ref": "#/definitions/ScenarioBrowserFailure" } } }, "required": ["message"], "additionalProperties": false, "description": "Everything known about why one scenario failed." }, "ScenarioBrowserFailure": { "type": "object", "properties": { "actor": { "type": "string", "description": "The actor whose window this is." }, "url": { "type": "string", "description": "Where the window was pointed, when the driver can still report it." }, "screenshot": { "type": "string", "description": "Path the screenshot was written to; absent when none could be taken." }, "consoleErrors": { "type": "array", "items": { "type": "string" } }, "pageErrors": { "type": "array", "items": { "type": "string" } }, "failedRequests": { "type": "array", "items": { "type": "string" } }, "apiErrors": { "type": "array", "items": { "type": "string" } } }, "required": ["actor", "consoleErrors", "pageErrors", "failedRequests", "apiErrors"], "additionalProperties": false, "description": "What one actor's window looked like at the moment a scenario failed.\n\nA browser step fails with a selector timeout that says nothing about *why* the page never rendered. The answer is almost always in the page's own errors, which the driver has been collecting all along." }, "ScenarioArtifact": { "type": "object", "properties": { "scenario": { "type": "string", "description": "The scenario label this belongs to, as the report names it." }, "kind": { "$ref": "#/definitions/ScenarioArtifactKind" }, "path": { "type": "string" }, "actor": { "type": "string", "description": "Whose window it was — a two-actor scenario produces two of everything." }, "name": { "type": "string", "description": "The caption the scenario author took a screenshot under." } }, "required": ["scenario", "kind", "path"], "additionalProperties": false, "description": "One image or recording a scenario produced.\n\n`path` is relative to the run's artifact root and always uses forward slashes: it is a content key, not a filesystem path. Locally it resolves under the run's directory; on a hosted project it is the object key in a bucket, and the same record works unchanged." }, "ScenarioArtifactKind": { "type": "string", "enum": ["screenshot", "failure", "video"], "description": "What a run filed, in the order it filed it." }, "ScenarioSkip": { "type": "object", "properties": { "name": { "type": "string" }, "reason": { "type": "string" } }, "required": ["name", "reason"], "additionalProperties": false, "description": "One scenario that was not run, and why." }, "ScenarioRunStatus": { "type": "string", "enum": ["running", "passed", "failed"] } } }
1
+ { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "environment": { "type": "string" }, "results": { "type": "array", "items": { "$ref": "#/definitions/ScenarioResult" } }, "skipped": { "type": "array", "items": { "$ref": "#/definitions/ScenarioSkip" }, "description": "Scenarios not run at all, each carrying why. A skip is only useful if the reader can tell a browser scenario held back by `--no-browser` from one the project itself quarantined, so the reason travels with the name rather than being assumed by the formatter." }, "hookFailures": { "type": "array", "items": { "type": "string" }, "description": "Feature-level hook failures, which belong to no single scenario." }, "runId": { "type": "string" }, "status": { "$ref": "#/definitions/ScenarioRunStatus" }, "surface": { "type": "string", "description": "The surface the run targeted: `default`, `browser`, …" }, "startedAt": { "type": "string" }, "finishedAt": { "type": "string" } }, "required": ["environment", "hookFailures", "results", "runId", "skipped", "startedAt", "status", "surface"], "additionalProperties": false, "description": "A whole run, as it is stored and read back.\n\n`status` is `running` from the moment the run is created until it finishes, so a console watching a run in progress can tell \"still going\" from \"nothing came back\" — and a run killed halfway stays `running` forever, which is the honest record of what happened to it.", "definitions": { "ScenarioResult": { "type": "object", "properties": { "name": { "type": "string" }, "status": { "type": "string", "enum": ["passed", "failed"] }, "durationMs": { "type": "number" }, "output": {}, "error": { "type": "string" }, "steps": { "type": "array", "items": { "$ref": "#/definitions/ScenarioStepRow" } }, "failure": { "$ref": "#/definitions/ScenarioFailureDetail" }, "scenarioName": { "type": "string", "description": "The scenario registration this ran, which the label alone does not give." }, "feature": { "type": "string", "description": "The feature that grouped it, when one did." }, "tags": { "type": "array", "items": { "type": "string" } }, "artifacts": { "type": "array", "items": { "$ref": "#/definitions/ScenarioArtifact" }, "description": "Images and footage this scenario produced, filed under the run." } }, "required": ["name", "status", "durationMs"], "additionalProperties": false }, "ScenarioStepRow": { "type": "object", "properties": { "sentence": { "type": "string" }, "sentenceWithRole": { "type": "string", "description": "The same sentence with the actor's role in it — \"yasser (the founder) signs in\". Set only on the step that first names each actor, and only when a persona declares a job title or a role, so a reader who wants the context picks this and one who wants the bare run picks `sentence`." }, "status": { "type": "string" }, "durationMs": { "type": "number" }, "error": { "type": "string" } }, "required": ["sentence", "status"], "additionalProperties": false, "description": "One step of a run, already joined to the prose that declared it." }, "ScenarioFailureDetail": { "type": "object", "properties": { "sentence": { "type": "string", "description": "The rendered sentence of the failing step; absent if no step failed." }, "message": { "type": "string" }, "stack": { "type": "string" }, "expected": { "type": "boolean", "description": "True when the failure was a deliberate one (a PikkuError). Its message is the whole story, so the stack is noise." }, "browser": { "type": "array", "items": { "$ref": "#/definitions/ScenarioBrowserFailure" } } }, "required": ["message"], "additionalProperties": false, "description": "Everything known about why one scenario failed." }, "ScenarioBrowserFailure": { "type": "object", "properties": { "actor": { "type": "string", "description": "The actor whose window this is." }, "url": { "type": "string", "description": "Where the window was pointed, when the driver can still report it." }, "screenshot": { "type": "string", "description": "Path the screenshot was written to; absent when none could be taken." }, "consoleErrors": { "type": "array", "items": { "type": "string" } }, "pageErrors": { "type": "array", "items": { "type": "string" } }, "failedRequests": { "type": "array", "items": { "type": "string" } }, "apiErrors": { "type": "array", "items": { "type": "string" } } }, "required": ["actor", "consoleErrors", "pageErrors", "failedRequests", "apiErrors"], "additionalProperties": false, "description": "What one actor's window looked like at the moment a scenario failed.\n\nA browser step fails with a selector timeout that says nothing about *why* the page never rendered. The answer is almost always in the page's own errors, which the driver has been collecting all along." }, "ScenarioArtifact": { "type": "object", "properties": { "scenario": { "type": "string", "description": "The scenario label this belongs to, as the report names it." }, "kind": { "$ref": "#/definitions/ScenarioArtifactKind" }, "path": { "type": "string" }, "actor": { "type": "string", "description": "Whose window it was — a two-actor scenario produces two of everything." }, "name": { "type": "string", "description": "The caption the scenario author took a screenshot under." } }, "required": ["scenario", "kind", "path"], "additionalProperties": false, "description": "One image or recording a scenario produced.\n\n`path` is relative to the run's artifact root and always uses forward slashes: it is a content key, not a filesystem path. Locally it resolves under the run's directory; on a hosted project it is the object key in a bucket, and the same record works unchanged." }, "ScenarioArtifactKind": { "type": "string", "enum": ["screenshot", "failure", "video"], "description": "What a run filed, in the order it filed it." }, "ScenarioSkip": { "type": "object", "properties": { "name": { "type": "string" }, "reason": { "type": "string" } }, "required": ["name", "reason"], "additionalProperties": false, "description": "One scenario that was not run, and why." }, "ScenarioRunStatus": { "type": "string", "enum": ["running", "passed", "failed"] } } }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/scopes` resolves here.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/scopes` resolves here.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  /**
5
5
  * This file was generated by the @pikku/cli
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  /**
5
5
  * This file was generated by the @pikku/cli
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  export { defineScope } from '@pikku/core/scope';
5
5
  export { defineSystemRole } from '@pikku/core/role';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  export { defineScope } from '@pikku/core/scope';
5
5
  export { defineSystemRole } from '@pikku/core/role';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  /**
5
5
  * This file was generated by the @pikku/cli
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/secrets` resolves here.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/secrets` resolves here.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  export { defineSecret } from '@pikku/core/secret';
5
5
  //# sourceMappingURL=pikku-secret-types.gen.d.ts.map
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  export { defineSecret } from '@pikku/core/secret';
5
5
  //# sourceMappingURL=pikku-secret-types.gen.js.map
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  import { TypedSecretService as CoreTypedSecretService } from '@pikku/core/services';
5
5
  import type { SecretService } from '@pikku/core/services';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  import { TypedSecretService as CoreTypedSecretService } from '@pikku/core/services';
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  import { LocalMetaService } from '@pikku/core/services/local-meta';
5
5
  export declare class PikkuMetaService extends LocalMetaService {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  import { LocalMetaService } from '@pikku/core/services/local-meta';
5
5
  export class PikkuMetaService extends LocalMetaService {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/setup` resolves here.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/setup` resolves here.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  /**
5
5
  * Addon package types for pikkuAddonConfig and pikkuAddonServices
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  /**
5
5
  * Addon package types for pikkuAddonConfig and pikkuAddonServices
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  /**
5
5
  * Config and service factory definitions, declared once per application
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  /**
5
5
  * Config and service factory definitions, declared once per application
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/trigger` resolves here.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/trigger` resolves here.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  /**
5
5
  * Trigger-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  /**
5
5
  * Trigger-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/variables` resolves here.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/variables` resolves here.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  export { defineVariable } from '@pikku/core/variable';
5
5
  //# sourceMappingURL=pikku-variable-types.gen.d.ts.map
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  export { defineVariable } from '@pikku/core/variable';
5
5
  //# sourceMappingURL=pikku-variable-types.gen.js.map
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  import { TypedVariablesService as CoreTypedVariablesService } from '@pikku/core/services';
5
5
  import type { VariablesService } from '@pikku/core/services';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  import { TypedVariablesService as CoreTypedVariablesService, } from '@pikku/core/services';
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/workflow` resolves here.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/workflow` resolves here.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  /**
5
5
  * Scenario step map: the names `scenario.given/when/then` accepts, with
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  /**
5
5
  * Workflow type map with input/output types for each workflow
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  import { WorkflowCancelledException } from '@pikku/core/workflow';
5
5
  import type { PikkuWorkflowGraphConfig, PikkuWorkflowGraphResult } from '@pikku/core/workflow';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  import { WorkflowCancelledException } from '@pikku/core/workflow';
5
5
  import { pikkuWorkflowGraph as corePikkuWorkflowGraph } from '@pikku/core/workflow';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.125
3
3
  */
4
4
  import { pikkuState } from '@pikku/core/state';
5
5
  const workflowsMeta = {};
@@ -1,5 +1,5 @@
1
1
  export {};
2
2
  /**
3
- * This file was generated by @pikku/cli@0.12.120
3
+ * This file was generated by @pikku/cli@0.12.125
4
4
  */
5
5
  //# sourceMappingURL=pikku-workflow-wirings.gen.d.ts.map
@@ -1,5 +1,5 @@
1
1
  export {};
2
2
  /**
3
- * This file was generated by @pikku/cli@0.12.120
3
+ * This file was generated by @pikku/cli@0.12.125
4
4
  */
5
5
  //# sourceMappingURL=pikku-workflow-wirings.gen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"db-schema.service.d.ts","sourceRoot":"","sources":["../../../src/services/db-schema.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEvD,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,CAAA;AAEpE,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,EAAE,OAAO,CAAA;IACrB,cAAc,EAAE,cAAc,CAAA;IAC9B,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,QAAQ,EAAE,CAAA;IACnB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,OAAO,EAAE,CAAA;IACjB,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB;AAwED,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAE/C,SAAS,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CAgC5C"}
1
+ {"version":3,"file":"db-schema.service.d.ts","sourceRoot":"","sources":["../../../src/services/db-schema.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEvD,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,CAAA;AAEpE,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,EAAE,OAAO,CAAA;IACrB,cAAc,EAAE,cAAc,CAAA;IAC9B,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,QAAQ,EAAE,CAAA;IACnB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,OAAO,EAAE,CAAA;IACjB,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB;AAsFD,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAE/C,SAAS,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CAgC5C"}
@@ -1,10 +1,10 @@
1
1
  // ── Helpers ───────────────────────────────────────────────────────────────────
2
- function classificationFor(visibility) {
3
- if (visibility === 'public' ||
4
- visibility === 'private' ||
5
- visibility === 'pii' ||
6
- visibility === 'secret')
7
- return visibility;
2
+ function classificationFor(security) {
3
+ if (security === 'public' ||
4
+ security === 'private' ||
5
+ security === 'pii' ||
6
+ security === 'secret')
7
+ return security;
8
8
  return 'private';
9
9
  }
10
10
  function camelToSnake(s) {
@@ -51,7 +51,7 @@ export class DbSchemaService {
51
51
  type: c.type,
52
52
  nullable: c.nullable,
53
53
  isPrimaryKey: c.isPrimaryKey,
54
- classification: classificationFor(ann?.visibility),
54
+ classification: classificationFor(ann?.security ?? ann?.visibility),
55
55
  };
56
56
  if (ann?.description)
57
57
  col.description = ann.description;
@@ -1 +1 @@
1
- {"version":3,"file":"db-schema.service.js","sourceRoot":"","sources":["../../../src/services/db-schema.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db-schema.service.js","sourceRoot":"","sources":["../../../src/services/db-schema.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=db-schema.service.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-schema.service.test.d.ts","sourceRoot":"","sources":["../../../src/services/db-schema.service.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,67 @@
1
+ import { describe, test } from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import { DbSchemaService } from './db-schema.service.js';
4
+ const SCHEMA = {
5
+ tables: [
6
+ {
7
+ name: 'question',
8
+ columns: [
9
+ { name: 'body', type: 'TEXT', nullable: false, isPrimaryKey: false },
10
+ {
11
+ name: 'attendee_id',
12
+ type: 'TEXT',
13
+ nullable: false,
14
+ isPrimaryKey: false,
15
+ },
16
+ ],
17
+ },
18
+ ],
19
+ enums: [],
20
+ };
21
+ const makeMetaService = (annotations) => ({
22
+ readFile: async (path) => {
23
+ if (path === 'db/pikku-db-schema.gen.json')
24
+ return JSON.stringify(SCHEMA);
25
+ if (path === 'db/annotations.gen.json')
26
+ return JSON.stringify(annotations);
27
+ return null;
28
+ },
29
+ });
30
+ const classifications = async (annotations) => {
31
+ const service = new DbSchemaService(makeMetaService(annotations));
32
+ const schema = await service.getSchema();
33
+ return Object.fromEntries(schema.tables[0].columns.map((c) => [c.name, c.classification]));
34
+ };
35
+ describe('DbSchemaService.getSchema', () => {
36
+ test('reads the privacy level from `security`, as annotations.gen.json writes it', async () => {
37
+ // The sidecar is a verbatim dump of db/annotations.ts, so this is the shape
38
+ // a project actually has. Reading the wrong key here is invisible: every
39
+ // column silently falls back to `private` and the console looks like it is
40
+ // working.
41
+ assert.deepEqual(await classifications({
42
+ question: {
43
+ body: { security: 'public' },
44
+ attendee_id: { security: 'private', classification: 'hash' },
45
+ },
46
+ }), { body: 'public', attendee_id: 'private' });
47
+ });
48
+ test('still reads `visibility` from a sidecar an older CLI generated', async () => {
49
+ assert.deepEqual(await classifications({
50
+ question: {
51
+ body: { visibility: 'public' },
52
+ attendee_id: { visibility: 'pii', classification: 'hash' },
53
+ },
54
+ }), { body: 'public', attendee_id: 'pii' });
55
+ });
56
+ test('never reads the privacy level out of `classification`, which is the anonymize strategy', async () => {
57
+ // `classification: 'hash'` means "hash this when anonymizing", not a level.
58
+ // An unannotated column is `private` — the safe default, not the loud one.
59
+ assert.deepEqual(await classifications({
60
+ question: {
61
+ body: { classification: 'fake:name' },
62
+ attendee_id: {},
63
+ },
64
+ }), { body: 'private', attendee_id: 'private' });
65
+ });
66
+ });
67
+ //# sourceMappingURL=db-schema.service.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-schema.service.test.js","sourceRoot":"","sources":["../../../src/services/db-schema.service.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pikku/addon-console",
3
- "version": "0.12.47",
3
+ "version": "0.12.48",
4
4
  "description": "Console addon for Pikku — functions powering the Pikku Console UI",
5
5
  "type": "module",
6
6
  "imports": {