@pikku/addon-console 0.12.46 → 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.
- package/CHANGELOG.md +37 -0
- package/dist/.pikku/addon/agent/index.d.ts +1 -1
- package/dist/.pikku/addon/agent/index.js +1 -1
- package/dist/.pikku/addon/agent/pikku-agent-map.gen.d.ts +1 -1
- package/dist/.pikku/addon/agent/pikku-agent-types.gen.d.ts +1 -1
- package/dist/.pikku/addon/agent/pikku-model-aliases.gen.js +1 -1
- package/dist/.pikku/addon/agent/pikku-scorer-names.gen.d.ts +1 -1
- package/dist/.pikku/addon/auth/auth.types.d.ts +1 -1
- package/dist/.pikku/addon/auth/auth.types.js +1 -1
- package/dist/.pikku/addon/auth/index.d.ts +1 -1
- package/dist/.pikku/addon/auth/index.js +1 -1
- package/dist/.pikku/addon/auth/pikku-auth-types.gen.d.ts +1 -1
- package/dist/.pikku/addon/auth/pikku-auth-types.gen.js +1 -1
- package/dist/.pikku/addon/channel/index.d.ts +1 -1
- package/dist/.pikku/addon/channel/index.js +1 -1
- package/dist/.pikku/addon/channel/pikku-channel-types.gen.d.ts +1 -1
- package/dist/.pikku/addon/channel/pikku-channel-types.gen.js +1 -1
- package/dist/.pikku/addon/error/index.d.ts +1 -1
- package/dist/.pikku/addon/error/index.js +1 -1
- package/dist/.pikku/addon/error/pikku-error-types.gen.d.ts +1 -1
- package/dist/.pikku/addon/error/pikku-error-types.gen.js +1 -1
- package/dist/.pikku/addon/function/index.d.ts +1 -1
- package/dist/.pikku/addon/function/index.js +1 -1
- package/dist/.pikku/addon/function/pikku-function-types.gen.d.ts +1 -1
- package/dist/.pikku/addon/function/pikku-function-types.gen.js +1 -1
- package/dist/.pikku/addon/function/pikku-functions-meta-verbose.gen.json +76 -2
- package/dist/.pikku/addon/function/pikku-functions-meta.gen.js +1 -1
- package/dist/.pikku/addon/function/pikku-functions-meta.gen.json +56 -2
- package/dist/.pikku/addon/function/pikku-functions.gen.js +5 -1
- package/dist/.pikku/addon/function/pikku-functions.gen.js.map +1 -1
- package/dist/.pikku/addon/http/index.d.ts +1 -1
- package/dist/.pikku/addon/http/index.js +1 -1
- package/dist/.pikku/addon/http/pikku-http-types.gen.d.ts +1 -1
- package/dist/.pikku/addon/http/pikku-http-types.gen.js +1 -1
- package/dist/.pikku/addon/mcp/index.d.ts +1 -1
- package/dist/.pikku/addon/mcp/index.js +1 -1
- package/dist/.pikku/addon/mcp/pikku-mcp-types.gen.d.ts +1 -1
- package/dist/.pikku/addon/mcp/pikku-mcp-types.gen.js +1 -1
- package/dist/.pikku/addon/middleware/index.d.ts +1 -1
- package/dist/.pikku/addon/middleware/index.js +1 -1
- package/dist/.pikku/addon/middleware/pikku-middleware-types.gen.d.ts +2 -2
- package/dist/.pikku/addon/middleware/pikku-middleware-types.gen.d.ts.map +1 -1
- package/dist/.pikku/addon/middleware/pikku-middleware-types.gen.js +2 -2
- package/dist/.pikku/addon/middleware/pikku-middleware-types.gen.js.map +1 -1
- package/dist/.pikku/addon/permissions/pikku-permissions.gen.d.ts +1 -1
- package/dist/.pikku/addon/permissions/pikku-permissions.gen.js +1 -1
- package/dist/.pikku/addon/pikku-bootstrap-scenarios.gen.d.ts +1 -1
- package/dist/.pikku/addon/pikku-bootstrap-scenarios.gen.js +1 -1
- package/dist/.pikku/addon/pikku-bootstrap.gen.d.ts +1 -1
- package/dist/.pikku/addon/pikku-bootstrap.gen.js +1 -1
- package/dist/.pikku/addon/pikku-package.gen.js +1 -1
- package/dist/.pikku/addon/pikku-services.gen.d.ts +3 -3
- package/dist/.pikku/addon/pikku-services.gen.d.ts.map +1 -1
- package/dist/.pikku/addon/pikku-services.gen.js +1 -1
- package/dist/.pikku/addon/pikku-services.gen.js.map +1 -1
- package/dist/.pikku/addon/rpc/pikku-rpc-wirings-map.gen.d.ts +5 -1
- package/dist/.pikku/addon/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +5 -1
- package/dist/.pikku/addon/rpc/pikku-rpc-wirings-map.remote.gen.d.ts +3 -1
- package/dist/.pikku/addon/rpc/pikku-rpc-wirings-meta.internal.gen.js +1 -1
- package/dist/.pikku/addon/rpc/pikku-rpc-wirings-meta.internal.gen.json +2 -0
- package/dist/.pikku/addon/scenarios/index.d.ts +1 -1
- package/dist/.pikku/addon/scenarios/index.js +1 -1
- package/dist/.pikku/addon/scenarios/pikku-personas.gen.d.ts +11 -0
- package/dist/.pikku/addon/scenarios/pikku-personas.gen.d.ts.map +1 -1
- package/dist/.pikku/addon/scenarios/pikku-personas.gen.js +12 -1
- package/dist/.pikku/addon/scenarios/pikku-personas.gen.js.map +1 -1
- package/dist/.pikku/addon/scenarios/pikku-scenario-functions-meta.gen.js +1 -1
- package/dist/.pikku/addon/scenarios/pikku-scenario-functions.gen.d.ts +1 -1
- package/dist/.pikku/addon/scenarios/pikku-scenario-types.gen.d.ts +3 -3
- package/dist/.pikku/addon/scenarios/pikku-scenario-wirings-meta.gen.js +1 -1
- package/dist/.pikku/addon/scenarios/pikku-scenario-wirings.gen.d.ts +1 -1
- package/dist/.pikku/addon/scenarios/schemas/register.gen.d.ts +1 -1
- package/dist/.pikku/addon/scenarios/schemas/register.gen.js +1 -1
- package/dist/.pikku/addon/schemas/register.gen.js +5 -1
- package/dist/.pikku/addon/schemas/register.gen.js.map +1 -1
- package/dist/.pikku/addon/schemas/schemas/GetVirtualUserSchedulesOutput.schema.json +1 -0
- package/dist/.pikku/addon/schemas/schemas/ScenarioRunRecord.schema.json +1 -1
- package/dist/.pikku/addon/schemas/schemas/SetVirtualUserScheduleInput.schema.json +1 -0
- package/dist/.pikku/addon/scopes/index.d.ts +1 -1
- package/dist/.pikku/addon/scopes/index.js +1 -1
- package/dist/.pikku/addon/scopes/pikku-personas.gen.js +1 -1
- package/dist/.pikku/addon/scopes/pikku-roles.gen.d.ts +1 -1
- package/dist/.pikku/addon/scopes/pikku-scope-types.gen.d.ts +1 -1
- package/dist/.pikku/addon/scopes/pikku-scope-types.gen.js +1 -1
- package/dist/.pikku/addon/scopes/pikku-scopes-meta.gen.json +3 -0
- package/dist/.pikku/addon/scopes/pikku-scopes.gen.d.ts +2 -2
- package/dist/.pikku/addon/scopes/pikku-scopes.gen.d.ts.map +1 -1
- package/dist/.pikku/addon/scopes/pikku-scopes.gen.js.map +1 -1
- package/dist/.pikku/addon/secrets/index.d.ts +1 -1
- package/dist/.pikku/addon/secrets/index.js +1 -1
- package/dist/.pikku/addon/secrets/pikku-secret-types.gen.d.ts +1 -1
- package/dist/.pikku/addon/secrets/pikku-secret-types.gen.js +1 -1
- package/dist/.pikku/addon/secrets/pikku-secrets.gen.d.ts +1 -1
- package/dist/.pikku/addon/secrets/pikku-secrets.gen.js +1 -1
- package/dist/.pikku/addon/services/pikku-meta-service.gen.d.ts +1 -1
- package/dist/.pikku/addon/services/pikku-meta-service.gen.js +1 -1
- package/dist/.pikku/addon/setup/index.d.ts +1 -1
- package/dist/.pikku/addon/setup/index.js +1 -1
- package/dist/.pikku/addon/setup/pikku-addon-setup-types.gen.d.ts +1 -1
- package/dist/.pikku/addon/setup/pikku-addon-setup-types.gen.js +1 -1
- package/dist/.pikku/addon/setup/pikku-setup-types.gen.d.ts +1 -1
- package/dist/.pikku/addon/setup/pikku-setup-types.gen.js +1 -1
- package/dist/.pikku/addon/trigger/index.d.ts +1 -1
- package/dist/.pikku/addon/trigger/index.js +1 -1
- package/dist/.pikku/addon/trigger/pikku-trigger-types.gen.d.ts +1 -1
- package/dist/.pikku/addon/trigger/pikku-trigger-types.gen.js +1 -1
- package/dist/.pikku/addon/variables/index.d.ts +1 -1
- package/dist/.pikku/addon/variables/index.js +1 -1
- package/dist/.pikku/addon/variables/pikku-variable-types.gen.d.ts +1 -1
- package/dist/.pikku/addon/variables/pikku-variable-types.gen.js +1 -1
- package/dist/.pikku/addon/variables/pikku-variables.gen.d.ts +1 -1
- package/dist/.pikku/addon/variables/pikku-variables.gen.js +1 -1
- package/dist/.pikku/addon/workflow/index.d.ts +1 -1
- package/dist/.pikku/addon/workflow/index.js +1 -1
- package/dist/.pikku/addon/workflow/pikku-scenario-step-map.gen.d.ts +1 -1
- package/dist/.pikku/addon/workflow/pikku-workflow-map.gen.d.ts +1 -1
- package/dist/.pikku/addon/workflow/pikku-workflow-types.gen.d.ts +1 -1
- package/dist/.pikku/addon/workflow/pikku-workflow-types.gen.js +1 -1
- package/dist/.pikku/addon/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
- package/dist/.pikku/addon/workflow/pikku-workflow-wirings.gen.d.ts +1 -1
- package/dist/.pikku/addon/workflow/pikku-workflow-wirings.gen.js +1 -1
- package/dist/src/functions/get-virtual-user-schedules.function.d.ts +16 -0
- package/dist/src/functions/get-virtual-user-schedules.function.d.ts.map +1 -0
- package/dist/src/functions/get-virtual-user-schedules.function.js +33 -0
- package/dist/src/functions/get-virtual-user-schedules.function.js.map +1 -0
- package/dist/src/functions/set-virtual-user-schedule.function.d.ts +37 -0
- package/dist/src/functions/set-virtual-user-schedule.function.d.ts.map +1 -0
- package/dist/src/functions/set-virtual-user-schedule.function.js +29 -0
- package/dist/src/functions/set-virtual-user-schedule.function.js.map +1 -0
- package/dist/src/scopes.js +3 -0
- package/dist/src/scopes.js.map +1 -1
- package/dist/src/services/db-schema.service.d.ts.map +1 -1
- package/dist/src/services/db-schema.service.js +7 -7
- package/dist/src/services/db-schema.service.js.map +1 -1
- package/dist/src/services/db-schema.service.test.d.ts +2 -0
- package/dist/src/services/db-schema.service.test.d.ts.map +1 -0
- package/dist/src/services/db-schema.service.test.js +67 -0
- package/dist/src/services/db-schema.service.test.js.map +1 -0
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This file was generated by @pikku/cli@0.12.
|
|
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
|
|
@@ -12,7 +12,7 @@ import type { FlatScope } from '@pikku/core/scope';
|
|
|
12
12
|
* matched against this by `verifyScopes` — `admin:*` on a session satisfies
|
|
13
13
|
* any `admin:...` requirement.
|
|
14
14
|
*/
|
|
15
|
-
export type ScopeId = 'pikku' | 'pikku:*' | 'pikku:console' | 'pikku:console:*' | 'pikku:console:addons' | 'pikku:console:addons:*' | 'pikku:console:addons:install' | 'pikku:console:addons:read' | 'pikku:console:agents' | 'pikku:console:agents:*' | 'pikku:console:agents:manage' | 'pikku:console:agents:read' | 'pikku:console:code' | 'pikku:console:code:*' | 'pikku:console:code:write' | 'pikku:console:credentials' | 'pikku:console:credentials:*' | 'pikku:console:credentials:read' | 'pikku:console:db' | 'pikku:console:db:*' | 'pikku:console:db:read' | 'pikku:console:emails' | 'pikku:console:emails:*' | 'pikku:console:emails:read' | 'pikku:console:emails:write' | 'pikku:console:knowledge' | 'pikku:console:knowledge:*' | 'pikku:console:knowledge:read' | 'pikku:console:scenarios' | 'pikku:console:scenarios:*' | 'pikku:console:scenarios:manage' | 'pikku:console:scenarios:read' | 'pikku:console:secrets' | 'pikku:console:secrets:*' | 'pikku:console:secrets:read' | 'pikku:console:secrets:write' | 'pikku:console:security' | 'pikku:console:security:*' | 'pikku:console:security:read' | 'pikku:console:security:run' | 'pikku:console:variables' | 'pikku:console:variables:*' | 'pikku:console:variables:read' | 'pikku:console:variables:write' | 'pikku:console:virtualUsers' | 'pikku:console:virtualUsers:*' | 'pikku:console:virtualUsers:read' | 'pikku:console:virtualUsers:run' | 'pikku:console:wirings' | 'pikku:console:wirings:*' | 'pikku:console:wirings:read' | 'pikku:console:workflows' | 'pikku:console:workflows:*' | 'pikku:console:workflows:manage' | 'pikku:console:workflows:read';
|
|
15
|
+
export type ScopeId = 'pikku' | 'pikku:*' | 'pikku:console' | 'pikku:console:*' | 'pikku:console:addons' | 'pikku:console:addons:*' | 'pikku:console:addons:install' | 'pikku:console:addons:read' | 'pikku:console:agents' | 'pikku:console:agents:*' | 'pikku:console:agents:manage' | 'pikku:console:agents:read' | 'pikku:console:code' | 'pikku:console:code:*' | 'pikku:console:code:write' | 'pikku:console:credentials' | 'pikku:console:credentials:*' | 'pikku:console:credentials:read' | 'pikku:console:db' | 'pikku:console:db:*' | 'pikku:console:db:read' | 'pikku:console:emails' | 'pikku:console:emails:*' | 'pikku:console:emails:read' | 'pikku:console:emails:write' | 'pikku:console:knowledge' | 'pikku:console:knowledge:*' | 'pikku:console:knowledge:read' | 'pikku:console:scenarios' | 'pikku:console:scenarios:*' | 'pikku:console:scenarios:manage' | 'pikku:console:scenarios:read' | 'pikku:console:secrets' | 'pikku:console:secrets:*' | 'pikku:console:secrets:read' | 'pikku:console:secrets:write' | 'pikku:console:security' | 'pikku:console:security:*' | 'pikku:console:security:read' | 'pikku:console:security:run' | 'pikku:console:variables' | 'pikku:console:variables:*' | 'pikku:console:variables:read' | 'pikku:console:variables:write' | 'pikku:console:virtualUsers' | 'pikku:console:virtualUsers:*' | 'pikku:console:virtualUsers:read' | 'pikku:console:virtualUsers:run' | 'pikku:console:virtualUsers:schedule' | 'pikku:console:wirings' | 'pikku:console:wirings:*' | 'pikku:console:wirings:read' | 'pikku:console:workflows' | 'pikku:console:workflows:*' | 'pikku:console:workflows:manage' | 'pikku:console:workflows:read';
|
|
16
16
|
export interface ScopeMeta {
|
|
17
17
|
id: ScopeId;
|
|
18
18
|
displayName?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pikku-scopes.gen.d.ts","sourceRoot":"","sources":["../../../../.pikku/addon/scopes/pikku-scopes.gen.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAwB,MAAM,mBAAmB,CAAA;AAIxE;;;;;;GAMG;AACH,MAAM,MAAM,OAAO,GACf,OAAO,GACP,SAAS,GACT,eAAe,GACf,iBAAiB,GACjB,sBAAsB,GACtB,wBAAwB,GACxB,8BAA8B,GAC9B,2BAA2B,GAC3B,sBAAsB,GACtB,wBAAwB,GACxB,6BAA6B,GAC7B,2BAA2B,GAC3B,oBAAoB,GACpB,sBAAsB,GACtB,0BAA0B,GAC1B,2BAA2B,GAC3B,6BAA6B,GAC7B,gCAAgC,GAChC,kBAAkB,GAClB,oBAAoB,GACpB,uBAAuB,GACvB,sBAAsB,GACtB,wBAAwB,GACxB,2BAA2B,GAC3B,4BAA4B,GAC5B,yBAAyB,GACzB,2BAA2B,GAC3B,8BAA8B,GAC9B,yBAAyB,GACzB,2BAA2B,GAC3B,gCAAgC,GAChC,8BAA8B,GAC9B,uBAAuB,GACvB,yBAAyB,GACzB,4BAA4B,GAC5B,6BAA6B,GAC7B,wBAAwB,GACxB,0BAA0B,GAC1B,6BAA6B,GAC7B,4BAA4B,GAC5B,yBAAyB,GACzB,2BAA2B,GAC3B,8BAA8B,GAC9B,+BAA+B,GAC/B,4BAA4B,GAC5B,8BAA8B,GAC9B,iCAAiC,GACjC,gCAAgC,GAChC,uBAAuB,GACvB,yBAAyB,GACzB,4BAA4B,GAC5B,yBAAyB,GACzB,2BAA2B,GAC3B,gCAAgC,GAChC,8BAA8B,CAAA;AAElC,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,OAAO,CAAA;IACX,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,MAAM,EAAE,SAAS,EAE7B,CAAA;AAMD,2EAA2E;AAC3E,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAWjD,CAAA"}
|
|
1
|
+
{"version":3,"file":"pikku-scopes.gen.d.ts","sourceRoot":"","sources":["../../../../.pikku/addon/scopes/pikku-scopes.gen.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAwB,MAAM,mBAAmB,CAAA;AAIxE;;;;;;GAMG;AACH,MAAM,MAAM,OAAO,GACf,OAAO,GACP,SAAS,GACT,eAAe,GACf,iBAAiB,GACjB,sBAAsB,GACtB,wBAAwB,GACxB,8BAA8B,GAC9B,2BAA2B,GAC3B,sBAAsB,GACtB,wBAAwB,GACxB,6BAA6B,GAC7B,2BAA2B,GAC3B,oBAAoB,GACpB,sBAAsB,GACtB,0BAA0B,GAC1B,2BAA2B,GAC3B,6BAA6B,GAC7B,gCAAgC,GAChC,kBAAkB,GAClB,oBAAoB,GACpB,uBAAuB,GACvB,sBAAsB,GACtB,wBAAwB,GACxB,2BAA2B,GAC3B,4BAA4B,GAC5B,yBAAyB,GACzB,2BAA2B,GAC3B,8BAA8B,GAC9B,yBAAyB,GACzB,2BAA2B,GAC3B,gCAAgC,GAChC,8BAA8B,GAC9B,uBAAuB,GACvB,yBAAyB,GACzB,4BAA4B,GAC5B,6BAA6B,GAC7B,wBAAwB,GACxB,0BAA0B,GAC1B,6BAA6B,GAC7B,4BAA4B,GAC5B,yBAAyB,GACzB,2BAA2B,GAC3B,8BAA8B,GAC9B,+BAA+B,GAC/B,4BAA4B,GAC5B,8BAA8B,GAC9B,iCAAiC,GACjC,gCAAgC,GAChC,qCAAqC,GACrC,uBAAuB,GACvB,yBAAyB,GACzB,4BAA4B,GAC5B,yBAAyB,GACzB,2BAA2B,GAC3B,gCAAgC,GAChC,8BAA8B,CAAA;AAElC,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,OAAO,CAAA;IACX,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,MAAM,EAAE,SAAS,EAE7B,CAAA;AAMD,2EAA2E;AAC3E,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAWjD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pikku-scopes.gen.js","sourceRoot":"","sources":["../../../../.pikku/addon/scopes/pikku-scopes.gen.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,WAAW,MAAM,8BAA8B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"pikku-scopes.gen.js","sourceRoot":"","sources":["../../../../.pikku/addon/scopes/pikku-scopes.gen.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,WAAW,MAAM,8BAA8B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAyE5E;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,MAAM,GAAgB,uBAAuB,CACxD,MAAM,CAAC,MAAM,CAAC,WAAmC,CAAC,CACnD,CAAA;AAED,MAAM,aAAa,GAA2B;IAC5C,OAAO,EAAE,eAAe;CACzB,CAAA;AAED,2EAA2E;AAC3E,MAAM,CAAC,MAAM,WAAW,GAA8B,MAAM,CAAC,WAAW,CACtE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE;IACR;QACE,EAAE,EAAE,KAAK,CAAC,EAAa;QACvB,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,CAAC,CAAC,EAAE,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;YAC1C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjE;CACF,CAAC,CACH,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This file was generated by @pikku/cli@0.12.
|
|
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';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which personas are on a clock, and when each is next due.
|
|
3
|
+
*
|
|
4
|
+
* Read off the host's own `virtualUserScheduleStore` rather than through the
|
|
5
|
+
* scaffolded RPC, so a project that wired the store sees its cadences whether
|
|
6
|
+
* or not it turned `scaffold.virtualUser` on — the same reasoning as
|
|
7
|
+
* `getVirtualUserRuns`, and the reason both are readable while neither can be
|
|
8
|
+
* changed from here without the scaffold.
|
|
9
|
+
*
|
|
10
|
+
* Returns rows and nothing else. What each persona *declares* is already in the
|
|
11
|
+
* meta the console loads, so pairing the two is the client's to do — sending a
|
|
12
|
+
* second copy of the declarations down here would only give it two answers that
|
|
13
|
+
* can disagree.
|
|
14
|
+
*/
|
|
15
|
+
export declare const getVirtualUserSchedules: import("#pikku/addon/function").PikkuFunctionConfig<void, any[], "rpc" | "session", import("#pikku/addon/function").PikkuFunction<void, any[], "rpc" | "session", import("#pikku/addon/function").WiredServices> | import("#pikku/addon/function").PikkuFunctionSessionless<void, any[], "rpc" | "session", import("#pikku/addon/function").WiredServices, unknown>, undefined, undefined>;
|
|
16
|
+
//# sourceMappingURL=get-virtual-user-schedules.function.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-virtual-user-schedules.function.d.ts","sourceRoot":"","sources":["../../../src/functions/get-virtual-user-schedules.function.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,uBAAuB,4XAiBlC,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { pikkuFunc } from '#pikku/addon/function';
|
|
2
|
+
/**
|
|
3
|
+
* Which personas are on a clock, and when each is next due.
|
|
4
|
+
*
|
|
5
|
+
* Read off the host's own `virtualUserScheduleStore` rather than through the
|
|
6
|
+
* scaffolded RPC, so a project that wired the store sees its cadences whether
|
|
7
|
+
* or not it turned `scaffold.virtualUser` on — the same reasoning as
|
|
8
|
+
* `getVirtualUserRuns`, and the reason both are readable while neither can be
|
|
9
|
+
* changed from here without the scaffold.
|
|
10
|
+
*
|
|
11
|
+
* Returns rows and nothing else. What each persona *declares* is already in the
|
|
12
|
+
* meta the console loads, so pairing the two is the client's to do — sending a
|
|
13
|
+
* second copy of the declarations down here would only give it two answers that
|
|
14
|
+
* can disagree.
|
|
15
|
+
*/
|
|
16
|
+
export const getVirtualUserSchedules = pikkuFunc({
|
|
17
|
+
title: 'Get Virtual User Schedules',
|
|
18
|
+
description: 'Returns the recorded virtual user cadences: which personas are enabled, how often they run, and when each is next due.',
|
|
19
|
+
expose: true,
|
|
20
|
+
scopes: ['pikku:console:virtualUsers:read'],
|
|
21
|
+
func: async ({ virtualUserScheduleStore }) => {
|
|
22
|
+
if (!virtualUserScheduleStore) {
|
|
23
|
+
return [];
|
|
24
|
+
}
|
|
25
|
+
const schedules = await virtualUserScheduleStore.list();
|
|
26
|
+
return schedules.map((schedule) => ({
|
|
27
|
+
...schedule,
|
|
28
|
+
nextRunAt: schedule.nextRunAt.toISOString(),
|
|
29
|
+
lastRunAt: schedule.lastRunAt ? schedule.lastRunAt.toISOString() : null,
|
|
30
|
+
}));
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=get-virtual-user-schedules.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-virtual-user-schedules.function.js","sourceRoot":"","sources":["../../../src/functions/get-virtual-user-schedules.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEjD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAc;IAC5D,KAAK,EAAE,4BAA4B;IACnC,WAAW,EACT,wHAAwH;IAC1H,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,CAAC,iCAAiC,CAAC;IAC3C,IAAI,EAAE,KAAK,EAAE,EAAE,wBAAwB,EAAE,EAAE,EAAE;QAC3C,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAA;QACX,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAAC,IAAI,EAAE,CAAA;QACvD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAClC,GAAG,QAAQ;YACX,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE;YAC3C,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;SACxE,CAAC,CAAC,CAAA;IACL,CAAC;CACF,CAAC,CAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Changes how often a persona uses the application on its own.
|
|
3
|
+
*
|
|
4
|
+
* Dispatches the project's own scaffolded `setVirtualUserSchedule` rather than
|
|
5
|
+
* writing the row here: that function refuses an undeclared persona and one
|
|
6
|
+
* declared as acted upon, and a second copy of those rules in the console would
|
|
7
|
+
* eventually disagree with the first. So reading a cadence needs only the
|
|
8
|
+
* store, while changing one needs the scaffold — and the absence is reported as
|
|
9
|
+
* the missing scaffold it is.
|
|
10
|
+
*
|
|
11
|
+
* SECURITY: its own scope, and the most powerful one on this screen. Starting a
|
|
12
|
+
* run spends money once with a caller present to see it; writing a schedule
|
|
13
|
+
* spends it repeatedly with nobody there.
|
|
14
|
+
*/
|
|
15
|
+
export declare const setVirtualUserSchedule: import("#pikku/addon/function").PikkuFunctionConfig<{
|
|
16
|
+
persona: string;
|
|
17
|
+
enabled?: boolean;
|
|
18
|
+
disposition?: string;
|
|
19
|
+
goals?: string[];
|
|
20
|
+
minIntervalMs?: number;
|
|
21
|
+
maxIntervalMs?: number;
|
|
22
|
+
}, unknown, "rpc" | "session", import("#pikku/addon/function").PikkuFunction<{
|
|
23
|
+
persona: string;
|
|
24
|
+
enabled?: boolean;
|
|
25
|
+
disposition?: string;
|
|
26
|
+
goals?: string[];
|
|
27
|
+
minIntervalMs?: number;
|
|
28
|
+
maxIntervalMs?: number;
|
|
29
|
+
}, unknown, "rpc" | "session", import("#pikku/addon/function").WiredServices> | import("#pikku/addon/function").PikkuFunctionSessionless<{
|
|
30
|
+
persona: string;
|
|
31
|
+
enabled?: boolean;
|
|
32
|
+
disposition?: string;
|
|
33
|
+
goals?: string[];
|
|
34
|
+
minIntervalMs?: number;
|
|
35
|
+
maxIntervalMs?: number;
|
|
36
|
+
}, unknown, "rpc" | "session", import("#pikku/addon/function").WiredServices, unknown>, undefined, undefined>;
|
|
37
|
+
//# sourceMappingURL=set-virtual-user-schedule.function.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-virtual-user-schedule.function.d.ts","sourceRoot":"","sources":["../../../src/functions/set-virtual-user-schedule.function.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sBAAsB;aAEtB,MAAM;cACL,OAAO;kBACH,MAAM;YACZ,MAAM,EAAE;oBACA,MAAM;oBACN,MAAM;;aALb,MAAM;cACL,OAAO;kBACH,MAAM;YACZ,MAAM,EAAE;oBACA,MAAM;oBACN,MAAM;;aALb,MAAM;cACL,OAAO;kBACH,MAAM;YACZ,MAAM,EAAE;oBACA,MAAM;oBACN,MAAM;6GAkBxB,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { pikkuFunc } from '#pikku/addon/function';
|
|
2
|
+
/**
|
|
3
|
+
* Changes how often a persona uses the application on its own.
|
|
4
|
+
*
|
|
5
|
+
* Dispatches the project's own scaffolded `setVirtualUserSchedule` rather than
|
|
6
|
+
* writing the row here: that function refuses an undeclared persona and one
|
|
7
|
+
* declared as acted upon, and a second copy of those rules in the console would
|
|
8
|
+
* eventually disagree with the first. So reading a cadence needs only the
|
|
9
|
+
* store, while changing one needs the scaffold — and the absence is reported as
|
|
10
|
+
* the missing scaffold it is.
|
|
11
|
+
*
|
|
12
|
+
* SECURITY: its own scope, and the most powerful one on this screen. Starting a
|
|
13
|
+
* run spends money once with a caller present to see it; writing a schedule
|
|
14
|
+
* spends it repeatedly with nobody there.
|
|
15
|
+
*/
|
|
16
|
+
export const setVirtualUserSchedule = pikkuFunc({
|
|
17
|
+
title: 'Set a Virtual User Schedule',
|
|
18
|
+
description: 'Says how often a declared persona should use this application on its own. Every field left out keeps what it already had.',
|
|
19
|
+
expose: true,
|
|
20
|
+
scopes: ['pikku:console:virtualUsers:schedule'],
|
|
21
|
+
func: async ({ metaService }, input, { rpc }) => {
|
|
22
|
+
const rpcs = await metaService?.getRpcMeta();
|
|
23
|
+
if (!rpcs?.setVirtualUserSchedule) {
|
|
24
|
+
throw new Error('This application has no setVirtualUserSchedule function — turn on `scaffold.virtualUser` in pikku.config.json and run `pikku all` to generate it.');
|
|
25
|
+
}
|
|
26
|
+
return await rpc.exposed('setVirtualUserSchedule', input);
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=set-virtual-user-schedule.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-virtual-user-schedule.function.js","sourceRoot":"","sources":["../../../src/functions/set-virtual-user-schedule.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEjD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,SAAS,CAU7C;IACA,KAAK,EAAE,6BAA6B;IACpC,WAAW,EACT,2HAA2H;IAC7H,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,CAAC,qCAAqC,CAAC;IAC/C,IAAI,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QAC9C,MAAM,IAAI,GAAG,MAAM,WAAW,EAAE,UAAU,EAAE,CAAA;QAC5C,IAAI,CAAC,IAAI,EAAE,sBAAsB,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,mJAAmJ,CACpJ,CAAA;QACH,CAAC;QACD,OAAO,MAAM,GAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAA;IAC5D,CAAC;CACF,CAAC,CAAA"}
|
package/dist/src/scopes.js
CHANGED
package/dist/src/scopes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scopes.js","sourceRoot":"","sources":["../../src/scopes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scopes.js","sourceRoot":"","sources":["../../src/scopes.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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(
|
|
3
|
-
if (
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
return
|
|
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":"AA0CA,iFAAiF;AAEjF,SAAS,iBAAiB,CAAC,
|
|
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 @@
|
|
|
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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"}
|