@toa.io/definitions 1.0.0-alpha.305 → 1.0.0-alpha.307
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/digest/extensions.configuration.json +1 -1
- package/digest/extensions.exposition.json +1 -1
- package/digest/extensions.introspection.json +1 -1
- package/digest/extensions.realtime.json +1 -1
- package/package.json +3 -3
- package/schemas/extensions.introspection/annotation.cos.yaml +13 -2
- package/transpiled/extensions.introspection/annotation.d.ts +23 -20
- package/transpiled/extensions.introspection/annotation.js +20 -23
- package/transpiled/extensions.introspection/annotation.js.map +1 -1
- package/transpiled/extensions.introspection/components.js +17 -1
- package/transpiled/extensions.introspection/components.js.map +1 -1
- package/transpiled/extensions.introspection/const.d.ts +42 -6
- package/transpiled/extensions.introspection/const.js +40 -6
- package/transpiled/extensions.introspection/const.js.map +1 -1
- package/transpiled/extensions.introspection/deployment.d.ts +2 -2
- package/transpiled/extensions.introspection/deployment.js +20 -3
- package/transpiled/extensions.introspection/deployment.js.map +1 -1
- package/transpiled/extensions.introspection/manifest.d.ts +2 -1
- package/transpiled/extensions.introspection/manifest.js +3 -7
- package/transpiled/extensions.introspection/manifest.js.map +1 -1
- package/transpiled/extensions.introspection/schemas.d.ts +1 -2
- package/transpiled/extensions.introspection/schemas.js +0 -1
- package/transpiled/extensions.introspection/schemas.js.map +1 -1
- package/transpiled/index.d.ts +1 -0
- package/transpiled/index.js +1 -0
- package/transpiled/index.js.map +1 -1
- package/transpiled/map.d.ts +9 -0
- package/transpiled/map.js +10 -0
- package/transpiled/map.js.map +1 -0
- package/schemas/extensions.introspection/declaration.cos.yaml +0 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"label":"introspection-edges","manifest":{"namespace":"introspection","name":"edges","entity":{"associated":true,"properties":{"src":{"description":"What caused the call — another operation, an event, or a service","type":"object","properties":{"namespace":{"type":"string"},"component":{"type":"string"},"operation":{"type":"string"},"event":{"type":"string"},"service":{"type":"string"}}},"dst":{"description":"What was called","type":"object","required":["namespace","component","operation"],"properties":{"namespace":{"type":"string"},"component":{"type":"string"},"operation":{"type":"string"}}},"sample":{"description":"The last call observed on this edge","type":"object","required":["at","outcome"],"properties":{"at":{"type":"integer"},"input":{},"outcome":{"type":"string"}}},"id":{"type":"string","pattern":"^[a-fA-F0-9]{32}$"},"VERSION":{"type":"integer","minimum":0},"CREATED":{"type":"integer","format":"epoch-millis"},"UPDATED":{"type":"integer","format":"epoch-millis"},"DELETED":{"type":"integer","format":"epoch-millis","nullable":true},"REGION":{"type":"integer","minimum":0}},"required":["src","dst","id","VERSION","CREATED","UPDATED","DELETED","REGION"],"storage":"@toa.io/storages.mongodb","migrations":[{"id":"system:0000-property-names","steps":[{"update":{"filter":{"_version":{"$exists":true}},"update":{"$rename":{"_version":"VERSION","_created":"CREATED","_updated":"UPDATED","_deleted":"DELETED"}}}}],"prototype":"system"},{"id":"system:0001-epoch-millis","steps":[{"update":{"filter":{"CREATED":{"$type":"number"}},"update":[{"$set":{"CREATED":{"$toDate":{"$toLong":"$CREATED"}},"UPDATED":{"$toDate":{"$toLong":"$UPDATED"}},"DELETED":{"$toDate":{"$toLong":"$DELETED"}}}}]}}],"prototype":"system"},{"id":"system:0002-region","steps":[{"update":{"filter":{"REGION":{"$exists":false}},"update":{"$set":{"REGION":0}}}}],"prototype":"system"}],"custom":false},"operations":{"merge":{"concurrency":"retry","input":{"type":"object","properties":{"edges":{"description":"What each replica observed since its last flush, by edge id","type":"object","additionalProperties":{"type":"object","properties":{"src":{"description":"What caused the call — another operation, an event, or a service","type":"object","properties":{"namespace":{"type":"string"},"component":{"type":"string"},"operation":{"type":"string"},"event":{"type":"string"},"service":{"type":"string"}}},"dst":{"description":"What was called","type":"object","required":["namespace","component","operation"],"properties":{"namespace":{"type":"string"},"component":{"type":"string"},"operation":{"type":"string"}}},"sample":{"description":"The last call observed on this edge","type":"object","required":["at","outcome"],"properties":{"at":{"type":"integer"},"input":{},"outcome":{"type":"string"}}}},"required":["src","dst"]}}},"required":["edges"]},"type":"transition","scope":"objects","bridge":"@toa.io/bridges.node","output":{},"bindings":["@toa.io/bindings.amqp"]},"assign":{"type":"assignment","scope":"changeset","output":{},"bindings":["@toa.io/bindings.amqp"]},"ensure":{"type":"effect","scope":"object","output":{},"bindings":["@toa.io/bindings.amqp"]},"enumerate":{"type":"observation","scope":"objects","output":{},"bindings":["@toa.io/bindings.amqp"]},"observe":{"type":"observation","scope":"object","output":{},"bindings":["@toa.io/bindings.amqp"]},"stream":{"type":"observation","scope":"stream","output":{},"bindings":["@toa.io/bindings.amqp"]},"terminate":{"type":"assignment","scope":"changeset","output":{},"bindings":["@toa.io/bindings.amqp"]}},"path":"@toa.io/extensions.introspection/components/introspection.edges","bindings":["@toa.io/bindings.amqp"],"bridge":"@toa.io/bridges.node","extensions":{"@toa.io/extensions.telemetry":{},"@toa.io/extensions.fetch":null,"@toa.io/extensions.introspection":false,"@toa.io/extensions.exposition":{"routes":[{"path":"/introspection/edges","node":{"routes":[{"path":"/","node":{"routes":[{"path":"/:id","node":{"routes":[],"methods":[{"verb":"GET","mapping":{"endpoint":"observe","query":{},"paged":false,"namespace":"introspection","component":"edges"},"directives":[]}],"directives":[]}}],"methods":[{"verb":"GET","mapping":{"endpoint":"enumerate","query":{"limit":{"value":10000,"range":[1,10000]}},"paged":true,"namespace":"introspection","component":"edges"},"directives":[]}],"directives":[{"family":"auth","name":"role","value":"system:introspection"},{"family":"io","name":"output","value":true},{"family":"cache","name":"control","value":"max-age=60, public"}]}}],"methods":[],"directives":[],"isolated":true}}],"methods":[],"directives":[]}},"version":"a9bac400","prototype":{"prototype":null,"path":"@toa.io/prototype","operations":{"transit":{"bridge":"@toa.io/bridges.node"},"assign":{"bridge":"@toa.io/bridges.node"},"ensure":{"bridge":"@toa.io/bridges.node"},"enumerate":{"bridge":"@toa.io/bridges.node"},"observe":{"bridge":"@toa.io/bridges.node"},"stream":{"bridge":"@toa.io/bridges.node"},"terminate":{"bridge":"@toa.io/bridges.node"}}},"events":{"created":{"conditioned":true,"subjective":false,"path":"@toa.io/prototype","bridge":"@toa.io/bridges.node","binding":"@toa.io/bindings.amqp"},"deleted":{"conditioned":true,"subjective":false,"path":"@toa.io/prototype","bridge":"@toa.io/bridges.node","binding":"@toa.io/bindings.amqp"},"sync":{"conditioned":false,"subjective":false,"path":"@toa.io/prototype","bridge":"@toa.io/bridges.node","binding":"@toa.io/bindings.amqp"},"updated":{"conditioned":true,"subjective":false,"path":"@toa.io/prototype","bridge":"@toa.io/bridges.node","binding":"@toa.io/bindings.amqp"}}}},{"label":"introspection-nodes","manifest":{"namespace":"introspection","name":"nodes","entity":{"associated":true,"properties":{"version":{"type":"string"},"entity":{},"operations":{},"events":{},"receivers":{},"extensions":{},"namespace":{"type":"string"},"component":{"type":"string"},"id":{"type":"string","pattern":"^[a-fA-F0-9]{32}$"},"VERSION":{"type":"integer","minimum":0},"CREATED":{"type":"integer","format":"epoch-millis"},"UPDATED":{"type":"integer","format":"epoch-millis"},"DELETED":{"type":"integer","format":"epoch-millis","nullable":true},"REGION":{"type":"integer","minimum":0}},"required":["namespace","component","id","VERSION","CREATED","UPDATED","DELETED","REGION"],"storage":"@toa.io/storages.mongodb","migrations":[{"id":"system:0000-property-names","steps":[{"update":{"filter":{"_version":{"$exists":true}},"update":{"$rename":{"_version":"VERSION","_created":"CREATED","_updated":"UPDATED","_deleted":"DELETED"}}}}],"prototype":"system"},{"id":"system:0001-epoch-millis","steps":[{"update":{"filter":{"CREATED":{"$type":"number"}},"update":[{"$set":{"CREATED":{"$toDate":{"$toLong":"$CREATED"}},"UPDATED":{"$toDate":{"$toLong":"$UPDATED"}},"DELETED":{"$toDate":{"$toLong":"$DELETED"}}}}]}}],"prototype":"system"},{"id":"system:0002-region","steps":[{"update":{"filter":{"REGION":{"$exists":false}},"update":{"$set":{"REGION":0}}}}],"prototype":"system"}],"custom":false},"operations":{"merge":{"concurrency":"retry","input":{"type":"object","properties":{"nodes":{"description":"What each announced component describes of itself, by its id","type":"object","additionalProperties":{"type":"object","properties":{"version":{"type":"string"},"entity":{},"operations":{},"events":{},"receivers":{},"extensions":{},"namespace":{"type":"string"},"component":{"type":"string"}},"required":["namespace","component"]}}},"required":["nodes"]},"type":"transition","scope":"objects","bridge":"@toa.io/bridges.node","output":{},"bindings":["@toa.io/bindings.amqp"]},"assign":{"type":"assignment","scope":"changeset","output":{},"bindings":["@toa.io/bindings.amqp"]},"ensure":{"type":"effect","scope":"object","output":{},"bindings":["@toa.io/bindings.amqp"]},"enumerate":{"type":"observation","scope":"objects","output":{},"bindings":["@toa.io/bindings.amqp"]},"observe":{"type":"observation","scope":"object","output":{},"bindings":["@toa.io/bindings.amqp"]},"stream":{"type":"observation","scope":"stream","output":{},"bindings":["@toa.io/bindings.amqp"]},"terminate":{"type":"assignment","scope":"changeset","output":{},"bindings":["@toa.io/bindings.amqp"]}},"path":"@toa.io/extensions.introspection/components/introspection.nodes","bindings":["@toa.io/bindings.amqp"],"bridge":"@toa.io/bridges.node","extensions":{"@toa.io/extensions.telemetry":{},"@toa.io/extensions.fetch":null,"@toa.io/extensions.introspection":false,"@toa.io/extensions.exposition":{"routes":[{"path":"/introspection/nodes","node":{"routes":[{"path":"/","node":{"routes":[{"path":"/:id","node":{"routes":[],"methods":[{"verb":"GET","mapping":{"endpoint":"observe","query":{},"paged":false,"namespace":"introspection","component":"nodes"},"directives":[]}],"directives":[]}}],"methods":[{"verb":"GET","mapping":{"endpoint":"enumerate","query":{"limit":{"value":1000,"range":[1,1000]}},"paged":true,"namespace":"introspection","component":"nodes"},"directives":[]}],"directives":[{"family":"auth","name":"role","value":"system:introspection"},{"family":"io","name":"output","value":true},{"family":"cache","name":"control","value":"max-age=60, public"}]}}],"methods":[],"directives":[],"isolated":true}}],"methods":[],"directives":[]}},"version":"a85adfe3","prototype":{"prototype":null,"path":"@toa.io/prototype","operations":{"transit":{"bridge":"@toa.io/bridges.node"},"assign":{"bridge":"@toa.io/bridges.node"},"ensure":{"bridge":"@toa.io/bridges.node"},"enumerate":{"bridge":"@toa.io/bridges.node"},"observe":{"bridge":"@toa.io/bridges.node"},"stream":{"bridge":"@toa.io/bridges.node"},"terminate":{"bridge":"@toa.io/bridges.node"}}},"events":{"created":{"conditioned":true,"subjective":false,"path":"@toa.io/prototype","bridge":"@toa.io/bridges.node","binding":"@toa.io/bindings.amqp"},"deleted":{"conditioned":true,"subjective":false,"path":"@toa.io/prototype","bridge":"@toa.io/bridges.node","binding":"@toa.io/bindings.amqp"},"sync":{"conditioned":false,"subjective":false,"path":"@toa.io/prototype","bridge":"@toa.io/bridges.node","binding":"@toa.io/bindings.amqp"},"updated":{"conditioned":true,"subjective":false,"path":"@toa.io/prototype","bridge":"@toa.io/bridges.node","binding":"@toa.io/bindings.amqp"}}}}]
|
|
1
|
+
[{"label":"introspection-edges","manifest":{"namespace":"introspection","name":"edges","entity":{"associated":true,"properties":{"src":{"description":"What caused the call — another operation, an event, or a service","type":"object","properties":{"namespace":{"type":"string"},"component":{"type":"string"},"operation":{"type":"string"},"event":{"type":"string"},"service":{"type":"string"}}},"dst":{"description":"What was called","type":"object","required":["namespace","component","operation"],"properties":{"namespace":{"type":"string"},"component":{"type":"string"},"operation":{"type":"string"}}},"id":{"type":"string","pattern":"^[a-fA-F0-9]{32}$"},"VERSION":{"type":"integer","minimum":0},"CREATED":{"type":"integer","format":"epoch-millis"},"UPDATED":{"type":"integer","format":"epoch-millis"},"DELETED":{"type":"integer","format":"epoch-millis","nullable":true},"REGION":{"type":"integer","minimum":0}},"required":["src","dst","id","VERSION","CREATED","UPDATED","DELETED","REGION"],"storage":"@toa.io/storages.mongodb","migrations":[{"id":"system:0000-property-names","steps":[{"update":{"filter":{"_version":{"$exists":true}},"update":{"$rename":{"_version":"VERSION","_created":"CREATED","_updated":"UPDATED","_deleted":"DELETED"}}}}],"prototype":"system"},{"id":"system:0001-epoch-millis","steps":[{"update":{"filter":{"CREATED":{"$type":"number"}},"update":[{"$set":{"CREATED":{"$toDate":{"$toLong":"$CREATED"}},"UPDATED":{"$toDate":{"$toLong":"$UPDATED"}},"DELETED":{"$toDate":{"$toLong":"$DELETED"}}}}]}}],"prototype":"system"},{"id":"system:0002-region","steps":[{"update":{"filter":{"REGION":{"$exists":false}},"update":{"$set":{"REGION":0}}}}],"prototype":"system"}],"custom":false},"operations":{"merge":{"concurrency":"retry","input":{"type":"object","properties":{"edges":{"description":"What each replica observed since its last flush, by edge id","type":"object","additionalProperties":{"type":"object","properties":{"src":{"description":"What caused the call — another operation, an event, or a service","type":"object","properties":{"namespace":{"type":"string"},"component":{"type":"string"},"operation":{"type":"string"},"event":{"type":"string"},"service":{"type":"string"}}},"dst":{"description":"What was called","type":"object","required":["namespace","component","operation"],"properties":{"namespace":{"type":"string"},"component":{"type":"string"},"operation":{"type":"string"}}}},"required":["src","dst"]}}},"required":["edges"]},"type":"transition","scope":"objects","bridge":"@toa.io/bridges.node","output":{},"bindings":["@toa.io/bindings.amqp"]},"assign":{"type":"assignment","scope":"changeset","output":{},"bindings":["@toa.io/bindings.amqp"]},"ensure":{"type":"effect","scope":"object","output":{},"bindings":["@toa.io/bindings.amqp"]},"enumerate":{"type":"observation","scope":"objects","output":{},"bindings":["@toa.io/bindings.amqp"]},"observe":{"type":"observation","scope":"object","output":{},"bindings":["@toa.io/bindings.amqp"]},"stream":{"type":"observation","scope":"stream","output":{},"bindings":["@toa.io/bindings.amqp"]},"terminate":{"type":"assignment","scope":"changeset","output":{},"bindings":["@toa.io/bindings.amqp"]}},"path":"@toa.io/extensions.introspection/components/introspection.edges","bindings":["@toa.io/bindings.amqp"],"bridge":"@toa.io/bridges.node","extensions":{"@toa.io/extensions.telemetry":{},"@toa.io/extensions.fetch":null,"@toa.io/extensions.introspection":false,"@toa.io/extensions.exposition":{"routes":[{"path":"/introspection/edges","node":{"routes":[{"path":"/","node":{"routes":[{"path":"/:id","node":{"routes":[],"methods":[{"verb":"GET","mapping":{"endpoint":"observe","query":{},"paged":false,"namespace":"introspection","component":"edges"},"directives":[]}],"directives":[]}}],"methods":[{"verb":"GET","mapping":{"endpoint":"enumerate","query":{"limit":{"value":10000,"range":[1,10000]}},"paged":true,"namespace":"introspection","component":"edges"},"directives":[]}],"directives":[{"family":"auth","name":"role","value":"system:introspection"},{"family":"io","name":"output","value":true},{"family":"cache","name":"control","value":"max-age=60, public"}]}}],"methods":[],"directives":[],"isolated":true}}],"methods":[],"directives":[]}},"version":"fab9050a","prototype":{"prototype":null,"path":"@toa.io/prototype","operations":{"transit":{"bridge":"@toa.io/bridges.node"},"assign":{"bridge":"@toa.io/bridges.node"},"ensure":{"bridge":"@toa.io/bridges.node"},"enumerate":{"bridge":"@toa.io/bridges.node"},"observe":{"bridge":"@toa.io/bridges.node"},"stream":{"bridge":"@toa.io/bridges.node"},"terminate":{"bridge":"@toa.io/bridges.node"}}},"events":{"created":{"conditioned":true,"subjective":false,"path":"@toa.io/prototype","bridge":"@toa.io/bridges.node","binding":"@toa.io/bindings.amqp"},"deleted":{"conditioned":true,"subjective":false,"path":"@toa.io/prototype","bridge":"@toa.io/bridges.node","binding":"@toa.io/bindings.amqp"},"sync":{"conditioned":false,"subjective":false,"path":"@toa.io/prototype","bridge":"@toa.io/bridges.node","binding":"@toa.io/bindings.amqp"},"updated":{"conditioned":true,"subjective":false,"path":"@toa.io/prototype","bridge":"@toa.io/bridges.node","binding":"@toa.io/bindings.amqp"}}}},{"label":"introspection-nodes","manifest":{"namespace":"introspection","name":"nodes","entity":{"associated":true,"properties":{"version":{"type":"string"},"entity":{},"operations":{},"events":{},"receivers":{},"extensions":{},"namespace":{"type":"string"},"component":{"type":"string"},"id":{"type":"string","pattern":"^[a-fA-F0-9]{32}$"},"VERSION":{"type":"integer","minimum":0},"CREATED":{"type":"integer","format":"epoch-millis"},"UPDATED":{"type":"integer","format":"epoch-millis"},"DELETED":{"type":"integer","format":"epoch-millis","nullable":true},"REGION":{"type":"integer","minimum":0}},"required":["namespace","component","id","VERSION","CREATED","UPDATED","DELETED","REGION"],"storage":"@toa.io/storages.mongodb","migrations":[{"id":"system:0000-property-names","steps":[{"update":{"filter":{"_version":{"$exists":true}},"update":{"$rename":{"_version":"VERSION","_created":"CREATED","_updated":"UPDATED","_deleted":"DELETED"}}}}],"prototype":"system"},{"id":"system:0001-epoch-millis","steps":[{"update":{"filter":{"CREATED":{"$type":"number"}},"update":[{"$set":{"CREATED":{"$toDate":{"$toLong":"$CREATED"}},"UPDATED":{"$toDate":{"$toLong":"$UPDATED"}},"DELETED":{"$toDate":{"$toLong":"$DELETED"}}}}]}}],"prototype":"system"},{"id":"system:0002-region","steps":[{"update":{"filter":{"REGION":{"$exists":false}},"update":{"$set":{"REGION":0}}}}],"prototype":"system"}],"custom":false},"operations":{"merge":{"concurrency":"retry","input":{"type":"object","properties":{"nodes":{"description":"What each announced component describes of itself, by its id","type":"object","additionalProperties":{"type":"object","properties":{"version":{"type":"string"},"entity":{},"operations":{},"events":{},"receivers":{},"extensions":{},"namespace":{"type":"string"},"component":{"type":"string"}},"required":["namespace","component"]}}},"required":["nodes"]},"type":"transition","scope":"objects","bridge":"@toa.io/bridges.node","output":{},"bindings":["@toa.io/bindings.amqp"]},"assign":{"type":"assignment","scope":"changeset","output":{},"bindings":["@toa.io/bindings.amqp"]},"ensure":{"type":"effect","scope":"object","output":{},"bindings":["@toa.io/bindings.amqp"]},"enumerate":{"type":"observation","scope":"objects","output":{},"bindings":["@toa.io/bindings.amqp"]},"observe":{"type":"observation","scope":"object","output":{},"bindings":["@toa.io/bindings.amqp"]},"stream":{"type":"observation","scope":"stream","output":{},"bindings":["@toa.io/bindings.amqp"]},"terminate":{"type":"assignment","scope":"changeset","output":{},"bindings":["@toa.io/bindings.amqp"]}},"path":"@toa.io/extensions.introspection/components/introspection.nodes","bindings":["@toa.io/bindings.amqp"],"bridge":"@toa.io/bridges.node","extensions":{"@toa.io/extensions.telemetry":{},"@toa.io/extensions.fetch":null,"@toa.io/extensions.introspection":false,"@toa.io/extensions.exposition":{"routes":[{"path":"/introspection/nodes","node":{"routes":[{"path":"/","node":{"routes":[{"path":"/:id","node":{"routes":[],"methods":[{"verb":"GET","mapping":{"endpoint":"observe","query":{},"paged":false,"namespace":"introspection","component":"nodes"},"directives":[]}],"directives":[]}}],"methods":[{"verb":"GET","mapping":{"endpoint":"enumerate","query":{"limit":{"value":1000,"range":[1,1000]}},"paged":true,"namespace":"introspection","component":"nodes"},"directives":[]}],"directives":[{"family":"auth","name":"role","value":"system:introspection"},{"family":"io","name":"output","value":true},{"family":"cache","name":"control","value":"max-age=60, public"}]}}],"methods":[],"directives":[],"isolated":true}}],"methods":[],"directives":[]}},"version":"9885a051","prototype":{"prototype":null,"path":"@toa.io/prototype","operations":{"transit":{"bridge":"@toa.io/bridges.node"},"assign":{"bridge":"@toa.io/bridges.node"},"ensure":{"bridge":"@toa.io/bridges.node"},"enumerate":{"bridge":"@toa.io/bridges.node"},"observe":{"bridge":"@toa.io/bridges.node"},"stream":{"bridge":"@toa.io/bridges.node"},"terminate":{"bridge":"@toa.io/bridges.node"}}},"events":{"created":{"conditioned":true,"subjective":false,"path":"@toa.io/prototype","bridge":"@toa.io/bridges.node","binding":"@toa.io/bindings.amqp"},"deleted":{"conditioned":true,"subjective":false,"path":"@toa.io/prototype","bridge":"@toa.io/bridges.node","binding":"@toa.io/bindings.amqp"},"sync":{"conditioned":false,"subjective":false,"path":"@toa.io/prototype","bridge":"@toa.io/bridges.node","binding":"@toa.io/bindings.amqp"},"updated":{"conditioned":true,"subjective":false,"path":"@toa.io/prototype","bridge":"@toa.io/bridges.node","binding":"@toa.io/bindings.amqp"}}}},{"label":"introspection-signals","manifest":{"namespace":"introspection","name":"signals","entity":{"properties":{"type":{"description":"What the processes are being told to do","type":"string","enum":["halt","stop"]},"seconds":{"description":"How long every process stays disconnected before it builds itself again","type":"integer","minimum":0},"quiescence":{"description":"How long the deployment is given to go quiet before the map is read","type":"integer","minimum":0},"grace":{"description":"How long a process that has found the deployment busy waits before it leaves","type":"integer","minimum":2,"maximum":120},"signal":{"description":"The halt a stop answers","type":"string"},"id":{"type":"string","pattern":"^[a-fA-F0-9]{32}$"},"VERSION":{"type":"integer","minimum":0},"CREATED":{"type":"integer","format":"epoch-millis"},"UPDATED":{"type":"integer","format":"epoch-millis"},"DELETED":{"type":"integer","format":"epoch-millis","nullable":true},"REGION":{"type":"integer","minimum":0}},"required":["type","seconds","quiescence","id","VERSION","CREATED","UPDATED","DELETED","REGION"],"storage":"@toa.io/storages.mongodb","migrations":[{"id":"system:0000-property-names","steps":[{"update":{"filter":{"_version":{"$exists":true}},"update":{"$rename":{"_version":"VERSION","_created":"CREATED","_updated":"UPDATED","_deleted":"DELETED"}}}}],"prototype":"system"},{"id":"system:0001-epoch-millis","steps":[{"update":{"filter":{"CREATED":{"$type":"number"}},"update":[{"$set":{"CREATED":{"$toDate":{"$toLong":"$CREATED"}},"UPDATED":{"$toDate":{"$toLong":"$UPDATED"}},"DELETED":{"$toDate":{"$toLong":"$DELETED"}}}}]}}],"prototype":"system"},{"id":"system:0002-region","steps":[{"update":{"filter":{"REGION":{"$exists":false}},"update":{"$set":{"REGION":0}}}}],"prototype":"system"}],"associated":false,"custom":false},"operations":{"create":{"description":"Tell every process of this deployment to do something.","query":false,"forward":"transit","input":{"type":"object","properties":{"type":{"type":"string"},"seconds":{"type":"integer"},"quiescence":{"type":"integer"},"grace":{"type":"integer"},"signal":{"type":"string"}},"required":["type","seconds","quiescence"]},"concurrency":"retry","type":"transition","scope":"object","output":{},"bindings":["@toa.io/bindings.amqp"]},"transit":{"concurrency":"retry","input":{"type":"object","properties":{"type":{"type":"string"},"seconds":{"type":"integer"},"quiescence":{"type":"integer"},"grace":{"type":"integer"},"signal":{"type":"string"}},"required":["type","seconds","quiescence"]},"type":"transition","scope":"object","output":{},"bindings":["@toa.io/bindings.amqp"]},"configuration":{"description":"What a signal of this deployment may ask for, in seconds.","output":{"type":"object","properties":{"halt":{"type":"object","properties":{"duration":{"type":"array","items":{"type":"integer"},"minItems":2,"maxItems":2},"quiescence":{"type":"array","items":{"type":"integer"},"minItems":2,"maxItems":2}},"required":["duration","quiescence"]}}},"type":"computation","scope":"none","bridge":"@toa.io/bridges.node","query":false,"bindings":["@toa.io/bindings.amqp"]},"assign":{"type":"assignment","scope":"changeset","output":{},"bindings":["@toa.io/bindings.amqp"]},"ensure":{"type":"effect","scope":"object","output":{},"bindings":["@toa.io/bindings.amqp"]},"enumerate":{"type":"observation","scope":"objects","output":{},"bindings":["@toa.io/bindings.amqp"]},"observe":{"type":"observation","scope":"object","output":{},"bindings":["@toa.io/bindings.amqp"]},"stream":{"type":"observation","scope":"stream","output":{},"bindings":["@toa.io/bindings.amqp"]},"terminate":{"type":"assignment","scope":"changeset","output":{},"bindings":["@toa.io/bindings.amqp"]}},"path":"@toa.io/extensions.introspection/components/introspection.signals","bindings":["@toa.io/bindings.amqp"],"bridge":"@toa.io/bridges.node","extensions":{"@toa.io/extensions.telemetry":{},"@toa.io/extensions.fetch":null,"@toa.io/extensions.introspection":false,"@toa.io/extensions.exposition":{"routes":[{"path":"/introspection/signals","node":{"routes":[{"path":"/","node":{"routes":[],"methods":[{"verb":"GET","mapping":{"endpoint":"configuration","query":null,"paged":false,"namespace":"introspection","component":"signals"},"directives":[]},{"verb":"POST","mapping":{"endpoint":"create","query":null,"paged":false,"namespace":"introspection","component":"signals"},"directives":[]}],"directives":[{"family":"auth","name":"role","value":"system:halt"},{"family":"io","name":"output","value":true}]}}],"methods":[],"directives":[],"isolated":true}}],"methods":[],"directives":[]}},"version":"c927e495","prototype":{"prototype":null,"path":"@toa.io/prototype","operations":{"transit":{"bridge":"@toa.io/bridges.node"},"assign":{"bridge":"@toa.io/bridges.node"},"ensure":{"bridge":"@toa.io/bridges.node"},"enumerate":{"bridge":"@toa.io/bridges.node"},"observe":{"bridge":"@toa.io/bridges.node"},"stream":{"bridge":"@toa.io/bridges.node"},"terminate":{"bridge":"@toa.io/bridges.node"}}},"events":{"created":{"conditioned":true,"subjective":false,"path":"@toa.io/prototype","bridge":"@toa.io/bridges.node","binding":"@toa.io/bindings.amqp"},"deleted":{"conditioned":true,"subjective":false,"path":"@toa.io/prototype","bridge":"@toa.io/bridges.node","binding":"@toa.io/bindings.amqp"},"sync":{"conditioned":false,"subjective":false,"path":"@toa.io/prototype","bridge":"@toa.io/bridges.node","binding":"@toa.io/bindings.amqp"},"updated":{"conditioned":true,"subjective":false,"path":"@toa.io/prototype","bridge":"@toa.io/bridges.node","binding":"@toa.io/bindings.amqp"}}}}]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"label":"realtime-streams","manifest":{"namespace":"realtime","name":"streams","operations":{"create":{"input":{"properties":{"key":{"type":"string"},"token":{"type":"string"}},"type":"object"},"type":"effect","scope":"none","bridge":"@toa.io/bridges.node","query":false,"output":{},"bindings":["@toa.io/bindings.amqp"]},"push":{"output":{"type":"null"},"bindings":[],"input":{"properties":{"data":{},"key":{"type":"string"},"event":{"type":"string"}},"type":"object","required":["key","event"]},"type":"effect","scope":"none","bridge":"@toa.io/bridges.node","query":false}},"path":"@toa.io/extensions.realtime/components/realtime.streams","bindings":["@toa.io/bindings.amqp"],"bridge":"@toa.io/bridges.node","prototype":null,"extensions":{"@toa.io/extensions.telemetry":{},"@toa.io/extensions.fetch":null,"@toa.io/extensions.introspection":{},"@toa.io/extensions.exposition":{"routes":[{"path":"/realtime/streams","node":{"routes":[{"path":"/:key","node":{"routes":[],"methods":[{"verb":"GET","mapping":{"endpoint":"create","query":null,"paged":false,"namespace":"realtime","component":"streams"},"directives":[{"family":"io","name":"readonly","value":false}]}],"directives":[{"family":"auth","name":"id","value":"key"}]}}],"methods":[],"directives":[]}}],"methods":[],"directives":[]},"@toa.io/extensions.configuration":{"schema":{"properties":{"maxlen":{"type":"number"},"expire":{"type":"number"}},"type":"object","required":["maxlen","expire"]},"defaults":{"maxlen":1000,"expire":300}},"@toa.io/extensions.state":null,"@toa.io/extensions.stash":null},"version":"
|
|
1
|
+
[{"label":"realtime-streams","manifest":{"namespace":"realtime","name":"streams","operations":{"create":{"input":{"properties":{"key":{"type":"string"},"token":{"type":"string"}},"type":"object"},"type":"effect","scope":"none","bridge":"@toa.io/bridges.node","query":false,"output":{},"bindings":["@toa.io/bindings.amqp"]},"push":{"output":{"type":"null"},"bindings":[],"input":{"properties":{"data":{},"key":{"type":"string"},"event":{"type":"string"}},"type":"object","required":["key","event"]},"type":"effect","scope":"none","bridge":"@toa.io/bridges.node","query":false}},"path":"@toa.io/extensions.realtime/components/realtime.streams","bindings":["@toa.io/bindings.amqp"],"bridge":"@toa.io/bridges.node","prototype":null,"extensions":{"@toa.io/extensions.telemetry":{},"@toa.io/extensions.fetch":null,"@toa.io/extensions.introspection":{},"@toa.io/extensions.exposition":{"routes":[{"path":"/realtime/streams","node":{"routes":[{"path":"/:key","node":{"routes":[],"methods":[{"verb":"GET","mapping":{"endpoint":"create","query":null,"paged":false,"namespace":"realtime","component":"streams"},"directives":[{"family":"io","name":"readonly","value":false}]}],"directives":[{"family":"auth","name":"id","value":"key"}]}}],"methods":[],"directives":[]}}],"methods":[],"directives":[]},"@toa.io/extensions.configuration":{"schema":{"properties":{"maxlen":{"type":"number"},"expire":{"type":"number"}},"type":"object","required":["maxlen","expire"]},"defaults":{"maxlen":1000,"expire":300}},"@toa.io/extensions.state":null,"@toa.io/extensions.stash":null},"version":"e959f550"}}]
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toa.io/definitions",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.307",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "What Toa packages declare, read without running them",
|
|
6
6
|
"author": "temich <tema.gurtovoy@gmail.com>",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"./*": "./transpiled/*/index.js"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@toa.io/core": "1.0.0-alpha.
|
|
47
|
+
"@toa.io/core": "1.0.0-alpha.306",
|
|
48
48
|
"openspan": "1.0.0-alpha.305",
|
|
49
49
|
"oxc-parser": "0.149.0"
|
|
50
50
|
},
|
|
@@ -56,5 +56,5 @@
|
|
|
56
56
|
"optional": true
|
|
57
57
|
}
|
|
58
58
|
},
|
|
59
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "d5f4b2e97e315ba8ab657039d0407565c96e34bc"
|
|
60
60
|
}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# context.toa.yaml introspection annotation
|
|
2
2
|
properties:
|
|
3
|
-
samples:
|
|
4
|
-
type: boolean
|
|
5
3
|
interval:
|
|
6
4
|
type: integer
|
|
7
5
|
minimum: 1
|
|
@@ -10,6 +8,19 @@ properties:
|
|
|
10
8
|
minimum: 1
|
|
11
9
|
ui:
|
|
12
10
|
type: boolean
|
|
11
|
+
halt:
|
|
12
|
+
# `true` takes what the runtime holds a halt to; a pair of seconds narrows it
|
|
13
|
+
type: [boolean, object]
|
|
14
|
+
properties:
|
|
15
|
+
duration: &bounds
|
|
16
|
+
type: array
|
|
17
|
+
items:
|
|
18
|
+
type: integer
|
|
19
|
+
minimum: 0
|
|
20
|
+
minItems: 2
|
|
21
|
+
maxItems: 2
|
|
22
|
+
quiescence: *bounds
|
|
23
|
+
additionalProperties: false
|
|
13
24
|
resources:
|
|
14
25
|
# `null` deploys the service without any, which every deployment has to state one way
|
|
15
26
|
# or the other — see `migrations/262.md`.
|
|
@@ -1,40 +1,43 @@
|
|
|
1
|
+
import type { Bounds } from './const.ts';
|
|
1
2
|
import type { Resources } from '@toa.io/operations';
|
|
2
3
|
/** `context.toa.yaml` */
|
|
3
4
|
export type Annotation = false | {
|
|
4
|
-
/** Capture real payloads. Off by default: this is production data. */
|
|
5
|
-
samples?: boolean;
|
|
6
5
|
/** Flush period, seconds. */
|
|
7
6
|
interval?: number;
|
|
8
7
|
/** Flush as soon as this many distinct edges are buffered. */
|
|
9
8
|
threshold?: number;
|
|
10
9
|
/** Publish the UI. On by default. */
|
|
11
10
|
ui?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Accept halt signals. Off by default: a stop button for the whole deployment,
|
|
13
|
+
* reachable over HTTP, is a thing an application asks for rather than inherits.
|
|
14
|
+
*
|
|
15
|
+
* `true` takes what the runtime holds a halt to; an object narrows it, because how long
|
|
16
|
+
* a deployment needs to drain and how long it can afford to be down are its own.
|
|
17
|
+
*/
|
|
18
|
+
halt?: boolean | Halt;
|
|
12
19
|
resources?: Resources;
|
|
13
20
|
};
|
|
14
|
-
/**
|
|
15
|
-
export
|
|
16
|
-
|
|
17
|
-
|
|
21
|
+
/** What a halt of this deployment may ask for, seconds. */
|
|
22
|
+
export interface Halt {
|
|
23
|
+
/** how long it may stay down */
|
|
24
|
+
duration?: Bounds;
|
|
25
|
+
/** how long it may be given to go quiet before the map is read */
|
|
26
|
+
quiescence?: Bounds;
|
|
27
|
+
}
|
|
28
|
+
/** `manifest.toa.yaml`: a component is on the map, or it declares itself off it. */
|
|
29
|
+
export type Declaration = false | Record<string, never>;
|
|
18
30
|
/** What `deployment()` encodes into the environment. */
|
|
19
31
|
export interface Options {
|
|
20
|
-
samples: boolean;
|
|
21
32
|
interval: number;
|
|
22
33
|
threshold: number;
|
|
23
34
|
ui: boolean;
|
|
35
|
+
halt: boolean;
|
|
36
|
+
/** what a halt may ask to stay down for */
|
|
37
|
+
duration: Bounds;
|
|
38
|
+
/** what it may ask to go quiet for */
|
|
39
|
+
quiescence: Bounds;
|
|
24
40
|
}
|
|
25
|
-
/** The effective per-component decision. */
|
|
26
|
-
export interface Settings {
|
|
27
|
-
enabled: boolean;
|
|
28
|
-
samples: boolean;
|
|
29
|
-
}
|
|
30
|
-
export declare const DISABLED: Settings;
|
|
31
41
|
export declare function options(annotation?: Annotation): Options;
|
|
32
42
|
/** Reads what `deployment()` has put into the environment. */
|
|
33
43
|
export declare function environment(): Options | null;
|
|
34
|
-
export declare function component(declaration: Declaration | null | undefined): Declaration;
|
|
35
|
-
/**
|
|
36
|
-
* Both levels must agree, and either can veto: the context is the environment
|
|
37
|
-
* ceiling, the manifest is the component's own call. A component handling
|
|
38
|
-
* personal data opts out for good, and no context flag overrides that.
|
|
39
|
-
*/
|
|
40
|
-
export declare function settings(namespace: string, declaration: Declaration, opts: Options | null): Settings;
|
|
@@ -1,15 +1,31 @@
|
|
|
1
|
-
import { DEFAULT_INTERVAL, DEFAULT_THRESHOLD,
|
|
1
|
+
import { DEFAULT_INTERVAL, DEFAULT_THRESHOLD, DURATION, ENV, QUIESCENCE } from './const.js';
|
|
2
2
|
import { environment as variables } from '@toa.io/generic';
|
|
3
|
-
export const DISABLED = { enabled: false, samples: false };
|
|
4
3
|
export function options(annotation) {
|
|
5
4
|
const declaration = annotation === undefined || annotation === false ? {} : annotation;
|
|
5
|
+
const halt = declaration.halt === undefined || declaration.halt === false ? {} : declaration.halt;
|
|
6
6
|
return {
|
|
7
|
-
samples: declaration.samples === true,
|
|
8
7
|
interval: declaration.interval ?? DEFAULT_INTERVAL,
|
|
9
8
|
threshold: declaration.threshold ?? DEFAULT_THRESHOLD,
|
|
10
|
-
ui: declaration.ui !== false
|
|
9
|
+
ui: declaration.ui !== false,
|
|
10
|
+
halt: declaration.halt !== undefined && declaration.halt !== false,
|
|
11
|
+
duration: bounds(halt === true ? undefined : halt.duration, DURATION, 'duration'),
|
|
12
|
+
quiescence: bounds(halt === true ? undefined : halt.quiescence, QUIESCENCE, 'quiescence')
|
|
11
13
|
};
|
|
12
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* What the deployment says a halt may ask for, or what the runtime holds one to. Checked here
|
|
17
|
+
* rather than in the schema, which can say that a pair is two non-negative integers and cannot
|
|
18
|
+
* say that the first is the smaller.
|
|
19
|
+
*/
|
|
20
|
+
function bounds(declared, fallback, name) {
|
|
21
|
+
if (declared === undefined)
|
|
22
|
+
return fallback;
|
|
23
|
+
const [min, max] = declared;
|
|
24
|
+
if (min >= max)
|
|
25
|
+
throw new Error(`Invalid introspection annotation: 'halt.${name}' is [${min}, ${max}], ` +
|
|
26
|
+
'and the first of a pair is the smaller');
|
|
27
|
+
return [min, max];
|
|
28
|
+
}
|
|
13
29
|
/** Reads what `deployment()` has put into the environment. */
|
|
14
30
|
export function environment() {
|
|
15
31
|
const value = variables.get(ENV);
|
|
@@ -17,23 +33,4 @@ export function environment() {
|
|
|
17
33
|
return null;
|
|
18
34
|
return JSON.parse(value);
|
|
19
35
|
}
|
|
20
|
-
export function component(declaration) {
|
|
21
|
-
if (declaration === false)
|
|
22
|
-
return false;
|
|
23
|
-
// predefined extensions arrive as null for components that say nothing
|
|
24
|
-
if (declaration === null || declaration === undefined)
|
|
25
|
-
return {};
|
|
26
|
-
return declaration.samples === undefined ? {} : { samples: declaration.samples };
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Both levels must agree, and either can veto: the context is the environment
|
|
30
|
-
* ceiling, the manifest is the component's own call. A component handling
|
|
31
|
-
* personal data opts out for good, and no context flag overrides that.
|
|
32
|
-
*/
|
|
33
|
-
export function settings(namespace, declaration, opts) {
|
|
34
|
-
if (opts === null || declaration === false)
|
|
35
|
-
return DISABLED;
|
|
36
|
-
const samples = opts.samples && declaration.samples !== false && !DENIED.has(namespace);
|
|
37
|
-
return { enabled: true, samples };
|
|
38
|
-
}
|
|
39
36
|
//# sourceMappingURL=annotation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotation.js","sourceRoot":"","sources":["../../source/extensions.introspection/annotation.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"annotation.js","sourceRoot":"","sources":["../../source/extensions.introspection/annotation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,GAAG,EACH,UAAU,EACX,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,WAAW,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAgD1D,MAAM,UAAU,OAAO,CAAC,UAAuB;IAC7C,MAAM,WAAW,GAAG,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAA;IACtF,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,KAAK,SAAS,IAAI,WAAW,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAA;IAEjG,OAAO;QACL,QAAQ,EAAE,WAAW,CAAC,QAAQ,IAAI,gBAAgB;QAClD,SAAS,EAAE,WAAW,CAAC,SAAS,IAAI,iBAAiB;QACrD,EAAE,EAAE,WAAW,CAAC,EAAE,KAAK,KAAK;QAC5B,IAAI,EAAE,WAAW,CAAC,IAAI,KAAK,SAAS,IAAI,WAAW,CAAC,IAAI,KAAK,KAAK;QAClE,QAAQ,EAAE,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC;QACjF,UAAU,EAAE,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC;KAC1F,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,MAAM,CAAC,QAA4B,EAAE,QAAgB,EAAE,IAAY;IAC1E,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAA;IAE3C,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAA;IAE3B,IAAI,GAAG,IAAI,GAAG;QACZ,MAAM,IAAI,KAAK,CAAC,2CAA2C,IAAI,SAAS,GAAG,KAAK,GAAG,KAAK;YACtF,wCAAwC,CAAC,CAAA;IAE7C,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AACnB,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,WAAW;IACzB,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAEhC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IAEpC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAY,CAAA;AACrC,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { components as digest } from '../digest/read.js';
|
|
2
|
+
import { NAMESPACE, SIGNALS } from './const.js';
|
|
3
|
+
const SIGNALS_LABEL = `${NAMESPACE}-${SIGNALS}`;
|
|
2
4
|
/**
|
|
3
5
|
* The extension is predefined, so an application that turns introspection off
|
|
4
6
|
* must not end up with the explorer components — nor with the exposition
|
|
@@ -7,6 +9,20 @@ import { components as digest } from '../digest/read.js';
|
|
|
7
9
|
export function components(annotation) {
|
|
8
10
|
if (annotation === false)
|
|
9
11
|
return { labels: [], manifests: [] };
|
|
10
|
-
|
|
12
|
+
const components = digest('extensions.introspection');
|
|
13
|
+
if (annotation !== undefined && annotation.halt === true)
|
|
14
|
+
return components;
|
|
15
|
+
/*
|
|
16
|
+
* A deployment that has not asked for halts has nothing to post one to. What the component
|
|
17
|
+
* is reachable over is HTTP, and what it does is stop the whole deployment, so it is not a
|
|
18
|
+
* thing to deploy and leave unlistened to.
|
|
19
|
+
*/
|
|
20
|
+
const index = components.labels.indexOf(SIGNALS_LABEL);
|
|
21
|
+
if (index === -1)
|
|
22
|
+
return components;
|
|
23
|
+
return {
|
|
24
|
+
labels: components.labels.filter((_, n) => n !== index),
|
|
25
|
+
manifests: components.manifests.filter((_, n) => n !== index)
|
|
26
|
+
};
|
|
11
27
|
}
|
|
12
28
|
//# sourceMappingURL=components.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.js","sourceRoot":"","sources":["../../source/extensions.introspection/components.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,MAAM,EAAmB,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"components.js","sourceRoot":"","sources":["../../source/extensions.introspection/components.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,MAAM,EAAmB,MAAM,mBAAmB,CAAA;AAEzE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAE/C,MAAM,aAAa,GAAG,GAAG,SAAS,IAAI,OAAO,EAAE,CAAA;AAE/C;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,UAAuB;IAChD,IAAI,UAAU,KAAK,KAAK;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAA;IAE9D,MAAM,UAAU,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAA;IAErD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,UAAU,CAAA;IAE3E;;;;OAIG;IACH,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;IAEtD,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,UAAU,CAAA;IAEnC,OAAO;QACL,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC;QACvD,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC;KAC9D,CAAA;AACH,CAAC"}
|
|
@@ -22,9 +22,45 @@ export declare const ANNOUNCE_INTERVAL = 1800000;
|
|
|
22
22
|
* can hold must be bounded regardless of what peers send.
|
|
23
23
|
*/
|
|
24
24
|
export declare const MAX_EDGES = 4096;
|
|
25
|
-
/**
|
|
26
|
-
export declare const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
/** The signals component, and the event a process halts on. */
|
|
26
|
+
export declare const SIGNALS = "signals";
|
|
27
|
+
export declare const SIGNAL = "introspection.signals.created";
|
|
28
|
+
/**
|
|
29
|
+
* How long a halt may be asked to stay down for, seconds, where the deployment says nothing.
|
|
30
|
+
*
|
|
31
|
+
* The floor is what a teardown costs — a gateway drains for ten seconds and the broker shuts
|
|
32
|
+
* down over about five — so below it a halt is mostly the halting. The ceiling is because a
|
|
33
|
+
* halted deployment looks well to everything watching it, so one that overran would be an
|
|
34
|
+
* outage with nothing reporting one. A deployment that knows better says so in its annotation.
|
|
35
|
+
*/
|
|
36
|
+
export declare const DURATION: Bounds;
|
|
37
|
+
/**
|
|
38
|
+
* How long the deployment may be given to go quiet before the map is read, seconds, where the
|
|
39
|
+
* deployment says nothing.
|
|
40
|
+
*
|
|
41
|
+
* It is what a drain costs and nothing else: nothing is being added to the queues, so what is
|
|
42
|
+
* in them is the backlog of the moment the signal landed. A deployment given less than it
|
|
43
|
+
* needs is not stopped — it is found busy and the halt is called off.
|
|
44
|
+
*/
|
|
45
|
+
export declare const QUIESCENCE: Bounds;
|
|
46
|
+
/** What a halt may ask for: `[min, max]`, seconds. */
|
|
47
|
+
export type Bounds = [number, number];
|
|
48
|
+
/**
|
|
49
|
+
* How long a process that has found the deployment busy waits before it leaves the halt.
|
|
50
|
+
*
|
|
51
|
+
* Someone is always last to catch on. A process about to give up may be a beat behind one that
|
|
52
|
+
* has just seen stillness and called the stop, and if it left on its own timing the deployment
|
|
53
|
+
* would end half down. So it waits this out first, listening, and leaves only if no stop
|
|
54
|
+
* arrived.
|
|
55
|
+
*/
|
|
56
|
+
export declare const GRACE: Bounds;
|
|
57
|
+
export declare const DEFAULT_GRACE = 10;
|
|
58
|
+
/**
|
|
59
|
+
* What a call observed just before the quiesce costs to become a row anyone can read: the
|
|
60
|
+
* flush that carries it, the queue it is published to, and the merge that writes it.
|
|
61
|
+
*/
|
|
62
|
+
export declare const HALT_GAP = 3;
|
|
63
|
+
/** How often a quiesced process flushes what it observed. See `Reporter`. */
|
|
64
|
+
export declare const QUIESCE_INTERVAL = 1;
|
|
65
|
+
/** What a check of the map may take before the process treats it as unanswered. */
|
|
66
|
+
export declare const CHECK_TIMEOUT = 5000;
|
|
@@ -26,10 +26,44 @@ export const ANNOUNCE_INTERVAL = 1_800_000;
|
|
|
26
26
|
* can hold must be bounded regardless of what peers send.
|
|
27
27
|
*/
|
|
28
28
|
export const MAX_EDGES = 4096;
|
|
29
|
-
/**
|
|
30
|
-
export const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
/** The signals component, and the event a process halts on. */
|
|
30
|
+
export const SIGNALS = 'signals';
|
|
31
|
+
export const SIGNAL = `${NAMESPACE}.${SIGNALS}.created`;
|
|
32
|
+
/**
|
|
33
|
+
* How long a halt may be asked to stay down for, seconds, where the deployment says nothing.
|
|
34
|
+
*
|
|
35
|
+
* The floor is what a teardown costs — a gateway drains for ten seconds and the broker shuts
|
|
36
|
+
* down over about five — so below it a halt is mostly the halting. The ceiling is because a
|
|
37
|
+
* halted deployment looks well to everything watching it, so one that overran would be an
|
|
38
|
+
* outage with nothing reporting one. A deployment that knows better says so in its annotation.
|
|
39
|
+
*/
|
|
40
|
+
export const DURATION = [30, 3600];
|
|
41
|
+
/**
|
|
42
|
+
* How long the deployment may be given to go quiet before the map is read, seconds, where the
|
|
43
|
+
* deployment says nothing.
|
|
44
|
+
*
|
|
45
|
+
* It is what a drain costs and nothing else: nothing is being added to the queues, so what is
|
|
46
|
+
* in them is the backlog of the moment the signal landed. A deployment given less than it
|
|
47
|
+
* needs is not stopped — it is found busy and the halt is called off.
|
|
48
|
+
*/
|
|
49
|
+
export const QUIESCENCE = [30, 1800];
|
|
50
|
+
/**
|
|
51
|
+
* How long a process that has found the deployment busy waits before it leaves the halt.
|
|
52
|
+
*
|
|
53
|
+
* Someone is always last to catch on. A process about to give up may be a beat behind one that
|
|
54
|
+
* has just seen stillness and called the stop, and if it left on its own timing the deployment
|
|
55
|
+
* would end half down. So it waits this out first, listening, and leaves only if no stop
|
|
56
|
+
* arrived.
|
|
57
|
+
*/
|
|
58
|
+
export const GRACE = [2, 120];
|
|
59
|
+
export const DEFAULT_GRACE = 10;
|
|
60
|
+
/**
|
|
61
|
+
* What a call observed just before the quiesce costs to become a row anyone can read: the
|
|
62
|
+
* flush that carries it, the queue it is published to, and the merge that writes it.
|
|
63
|
+
*/
|
|
64
|
+
export const HALT_GAP = 3;
|
|
65
|
+
/** How often a quiesced process flushes what it observed. See `Reporter`. */
|
|
66
|
+
export const QUIESCE_INTERVAL = 1;
|
|
67
|
+
/** What a check of the map may take before the process treats it as unanswered. */
|
|
68
|
+
export const CHECK_TIMEOUT = 5000;
|
|
35
69
|
//# sourceMappingURL=const.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../source/extensions.introspection/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7C,MAAM,CAAC,MAAM,EAAE,GAAG,eAAe,CAAA;AACjC,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAA;AAExC,MAAM,CAAC,MAAM,GAAG,GAAG,mBAAmB,CAAA;AAEtC,MAAM,CAAC,MAAM,KAAK,GAAG,OAAO,CAAA;AAC5B,MAAM,CAAC,MAAM,KAAK,GAAG,OAAO,CAAA;AAE5B,sFAAsF;AACtF,MAAM,CAAC,MAAM,OAAO,GAAG,iBAAiB,CAAA;AACxC,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAA;AAE3B;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,2BAA2B,CAAA;AACtD,MAAM,UAAU,MAAM;IACpB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IAE1C,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACtD,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAA;AACnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAA;AAErC,+FAA+F;AAC/F,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAA;AAE1C;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAA;AAE7B,
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../source/extensions.introspection/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7C,MAAM,CAAC,MAAM,EAAE,GAAG,eAAe,CAAA;AACjC,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAA;AAExC,MAAM,CAAC,MAAM,GAAG,GAAG,mBAAmB,CAAA;AAEtC,MAAM,CAAC,MAAM,KAAK,GAAG,OAAO,CAAA;AAC5B,MAAM,CAAC,MAAM,KAAK,GAAG,OAAO,CAAA;AAE5B,sFAAsF;AACtF,MAAM,CAAC,MAAM,OAAO,GAAG,iBAAiB,CAAA;AACxC,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAA;AAE3B;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,2BAA2B,CAAA;AACtD,MAAM,UAAU,MAAM;IACpB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IAE1C,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACtD,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAA;AACnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAA;AAErC,+FAA+F;AAC/F,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAA;AAE1C;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAA;AAE7B,+DAA+D;AAC/D,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAA;AAChC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,SAAS,IAAI,OAAO,UAAU,CAAA;AAEvD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;AAE1C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;AAK5C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,KAAK,GAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AACrC,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAA;AAE/B;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAA;AAEzB,6EAA6E;AAC7E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAA;AAEjC,mFAAmF;AACnF,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Annotation } from './annotation.ts';
|
|
1
|
+
import type { Annotation, Declaration } from './annotation.ts';
|
|
2
2
|
import type { Dependency, Instances } from '@toa.io/operations';
|
|
3
3
|
/** Where Toa's release publishes this service's image. An application takes it
|
|
4
4
|
* instead of building one when its context says `registry.services: published`. */
|
|
@@ -11,4 +11,4 @@ export declare const standalone = true;
|
|
|
11
11
|
* with the service — never on its own, or tasks would pile up in a queue
|
|
12
12
|
* nothing consumes.
|
|
13
13
|
*/
|
|
14
|
-
export declare function deployment(
|
|
14
|
+
export declare function deployment(instances: Instances<Declaration>, annotation?: Annotation): Dependency;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { options } from './annotation.js';
|
|
2
2
|
import { components } from './components.js';
|
|
3
3
|
import { version } from '../version.js';
|
|
4
|
-
import { ENV, UI_PATH, UI_PORT } from './const.js';
|
|
4
|
+
import { ENV, NAMESPACE, UI_PATH, UI_PORT } from './const.js';
|
|
5
5
|
import * as schemas from './schemas.js';
|
|
6
6
|
/** Where Toa's release publishes this service's image. An application takes it
|
|
7
7
|
* instead of building one when its context says `registry.services: published`. */
|
|
@@ -14,18 +14,20 @@ export const standalone = true;
|
|
|
14
14
|
* with the service — never on its own, or tasks would pile up in a queue
|
|
15
15
|
* nothing consumes.
|
|
16
16
|
*/
|
|
17
|
-
export function deployment(
|
|
17
|
+
export function deployment(instances, annotation) {
|
|
18
18
|
if (annotation === false)
|
|
19
19
|
return {};
|
|
20
20
|
if (annotation !== undefined)
|
|
21
21
|
schemas.annotation.validate(annotation);
|
|
22
22
|
const opts = options(annotation);
|
|
23
|
+
if (opts.halt)
|
|
24
|
+
described(instances);
|
|
23
25
|
const service = {
|
|
24
26
|
group: 'introspection',
|
|
25
27
|
name: 'explorer',
|
|
26
28
|
image,
|
|
27
29
|
version,
|
|
28
|
-
components: components().labels,
|
|
30
|
+
components: components(annotation).labels,
|
|
29
31
|
resources: annotation?.resources,
|
|
30
32
|
variables: []
|
|
31
33
|
};
|
|
@@ -38,4 +40,19 @@ export function deployment(_, annotation) {
|
|
|
38
40
|
variables: { global: [{ name: ENV, value: JSON.stringify(opts) }] }
|
|
39
41
|
};
|
|
40
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* A halt is decided by reading the map, so a component the map does not describe could be
|
|
45
|
+
* called while the deployment is being declared still. With halts on, a component may be in
|
|
46
|
+
* the map or opted out of it, and not both — it is told to choose rather than left with a
|
|
47
|
+
* guarantee that quietly does not hold.
|
|
48
|
+
*/
|
|
49
|
+
function described(instances) {
|
|
50
|
+
const opted = instances
|
|
51
|
+
.filter(({ locator, manifest }) => manifest === false && locator.namespace !== NAMESPACE)
|
|
52
|
+
.map(({ locator }) => locator.id);
|
|
53
|
+
if (opted.length === 0)
|
|
54
|
+
return;
|
|
55
|
+
throw new Error(`Components declaring 'introspection: false' cannot be deployed with ` +
|
|
56
|
+
`'introspection.halt': ${opted.join(', ')}`);
|
|
57
|
+
}
|
|
41
58
|
//# sourceMappingURL=deployment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../source/extensions.introspection/deployment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../source/extensions.introspection/deployment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAC7D,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAIvC;oFACoF;AACpF,MAAM,CAAC,MAAM,KAAK,GAAG,iDAAiD,CAAA;AAEtE,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAA;AAE9B;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CACxB,SAAiC,EACjC,UAAuB;IAEvB,IAAI,UAAU,KAAK,KAAK;QAAE,OAAO,EAAE,CAAA;IAEnC,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;IAErE,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAEhC,IAAI,IAAI,CAAC,IAAI;QAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAEnC,MAAM,OAAO,GAAY;QACvB,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,UAAU;QAChB,KAAK;QACL,OAAO;QACP,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,MAAM;QACzC,SAAS,EAAE,UAAU,EAAE,SAAS;QAChC,SAAS,EAAE,EAAE;KACd,CAAA;IAED,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,GAAG,OAAO,CAAA;QACtB,OAAO,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;IACrC,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,CAAC,OAAO,CAAC;QACnB,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;KACpE,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAC,SAAiC;IAClD,MAAM,KAAK,GAAG,SAAS;SACpB,MAAM,CACL,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,KAAK,KAAK,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,CACjF;SACA,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAEnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAM;IAE9B,MAAM,IAAI,KAAK,CACb,sEAAsE;QACpE,yBAAyB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9C,CAAA;AACH,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Declaration } from './annotation.ts';
|
|
2
2
|
/**
|
|
3
|
-
* The component level of the annotation.
|
|
3
|
+
* The component level of the annotation. A component is on the map, or it says
|
|
4
|
+
* `introspection: false`, and there is nothing else for it to declare.
|
|
4
5
|
*
|
|
5
6
|
* The extension is predefined, so most components say nothing and the
|
|
6
7
|
* declaration arrives as `null` — which still has to produce a value,
|
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
import { component } from './annotation.js';
|
|
2
|
-
import * as schemas from './schemas.js';
|
|
3
1
|
/**
|
|
4
|
-
* The component level of the annotation.
|
|
2
|
+
* The component level of the annotation. A component is on the map, or it says
|
|
3
|
+
* `introspection: false`, and there is nothing else for it to declare.
|
|
5
4
|
*
|
|
6
5
|
* The extension is predefined, so most components say nothing and the
|
|
7
6
|
* declaration arrives as `null` — which still has to produce a value,
|
|
8
7
|
* or norm rejects the extension.
|
|
9
8
|
*/
|
|
10
9
|
export function manifest(declaration) {
|
|
11
|
-
|
|
12
|
-
if (normalized !== false)
|
|
13
|
-
schemas.declaration.validate(normalized);
|
|
14
|
-
return normalized;
|
|
10
|
+
return declaration === false ? false : {};
|
|
15
11
|
}
|
|
16
12
|
//# sourceMappingURL=manifest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../source/extensions.introspection/manifest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../source/extensions.introspection/manifest.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CAAC,WAA2C;IAClE,OAAO,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;AAC3C,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { Schema } from '@toa.io/schemas';
|
|
2
|
-
import type { Annotation
|
|
2
|
+
import type { Annotation } from './annotation.ts';
|
|
3
3
|
export declare const annotation: Schema<Exclude<Annotation, false>>;
|
|
4
|
-
export declare const declaration: Schema<Exclude<Declaration, false>>;
|
|
@@ -3,5 +3,4 @@ import * as schemas from '@toa.io/schemas';
|
|
|
3
3
|
const path = resolve(import.meta.dirname, '../../schemas/extensions.introspection');
|
|
4
4
|
const namespace = schemas.namespace(path);
|
|
5
5
|
export const annotation = namespace.schema('annotation');
|
|
6
|
-
export const declaration = namespace.schema('declaration');
|
|
7
6
|
//# sourceMappingURL=schemas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../source/extensions.introspection/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAI1C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,wCAAwC,CAAC,CAAA;AACnF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;AAEzC,MAAM,CAAC,MAAM,UAAU,GACrB,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../source/extensions.introspection/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAI1C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,wCAAwC,CAAC,CAAA;AACnF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;AAEzC,MAAM,CAAC,MAAM,UAAU,GACrB,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA"}
|
package/transpiled/index.d.ts
CHANGED
package/transpiled/index.js
CHANGED
package/transpiled/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA"}
|